ROS(ROS2)- ノード - パッケージ


クラウディア 


1. 概要
2. ワークスペース作成
3. パッケージ作成
4. 備考

1. 概要

 ワークスペース・パッケージを作成します。  以下、「Ubuntu 24.04」の環境で。

2. ワークスペース作成

 ワークスペース名を、「workspace」として、まずワークスペースのエリアを確保します。

mkdir -pv ~/workspace/src

3. パッケージ作成

 メッセージを定義するパッケージを「my_message」として、パッケージを作成します。

cd ~/workspace/src

ros2 pkg create my_message --build-type ament_cmake
 下記のようなメッセージが表示されます。

package format: 3
version: 0.0.0
description: TODO: Package description
maintainer: ['hogehoge <hogehoge@todo.todo>']
licenses: ['TODO: License declaration']
build type: ament_cmake
dependencies: []
creating folder ./my_message
creating ./my_message/package.xml
creating source and include folder
creating folder ./my_message/src
creating folder ./my_message/include/my_message
creating ./my_message/CMakeLists.txt

[WARNING]: Unknown license 'TODO: License declaration'.  This has been set in the package.xml, but no LICENSE file has been created.
It is recommended to use one of the ament license identifiers:
Apache-2.0
BSL-1.0
BSD-2.0
BSD-2-Clause
BSD-3-Clause
GPL-3.0-only
LGPL-3.0-only
MIT
MIT-0
 プログラムを定義するパッケージを「my_node」として、パッケージを作成します。

ros2 pkg create --build-type ament_python my_node --dependencies rclcpp my_message
 下記のようなメッセージが表示されます。

going to create a new package
package name: my_node
destination directory: /home/hogehoge/workspace/src
package format: 3
version: 0.0.0
description: TODO: Package description
maintainer: ['hogehoge <hogehoge@todo.todo>']
licenses: ['TODO: License declaration']
build type: ament_python
dependencies: ['rclcpp', 'my_message']
creating folder ./my_node
creating ./my_node/package.xml
creating source folder
creating folder ./my_node/my_node
creating ./my_node/setup.py
creating ./my_node/setup.cfg
creating folder ./my_node/resource
creating ./my_node/resource/my_node
creating ./my_node/my_node/__init__.py
creating folder ./my_node/test
creating ./my_node/test/test_copyright.py
creating ./my_node/test/test_flake8.py
creating ./my_node/test/test_pep257.py

[WARNING]: Unknown license 'TODO: License declaration'.  This has been set in the package.xml, but no LICENSE file has been created.
It is recommended to use one of the ament license identifiers:
Apache-2.0
BSL-1.0
BSD-2.0
BSD-2-Clause
BSD-3-Clause
GPL-3.0-only
LGPL-3.0-only
MIT
MIT-0

4. 備考

 本ページは、下記のサイトを参考にさせていただきました。
ROS2 でメッセージを自作する #ROS2

AbemaTV 無料体験