0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ROS2】ノードの作成~実行の手順

Last updated at Posted at 2024-08-17

概要

ROS2でノードを作成、実行する際のノウハウを記載する。

ノード作成~実行 手順

手順1: パッケージの作成

下記のコマンドを実行して、パッケージを作成することができる。

ros2 pkg create [パッケージ名]

追加できる主要なオプションには以下のものがある。

build-type

--build-type [ビルドタイプ] を追加することで、ビルドタイプを指定することができる。

--build-type ament_python でPython, --build-type ament_cmake でcmakeを指定できる。

dependencies

--dependencies [パッケージ名] を追加することで、依存するパッケージを指定することができる。

node-name

--node-name [ノード名] を追加することで、ノードも作成することができる。

手順2: ビルド

下記のコマンドを実行して、パッケージをビルドすることができる。

colcon build --symlink-install

--symlink-install オプションを追加することで、パッケージ内のPythonのソースコードを変更した場合に再ビルドが不要になる。
パッケージを指定してビルドしたい場合は --package-select [パッケージ名] を追加する。
また、再ビルドする際は、ビルド実行前に下記コマンドを実行してキャッシュを削除しておくことが好ましい。

rm -rf build install

手順3: 設定ファイルの反映

下記のコマンドを実行して、ROS2システムの設定を反映することができる。

source /opt/ros/humble/setup.bash

なおARCで使用しているDocker環境では、コンテナ起動時に上記コマンドが実行されるようになっているため、手動での実行は不要である。

次に、下記のコマンドを実行して、オーバーレイの設定を反映することができる。

source install/setup.bash

手順4: ノードの実行

下記のコマンドを実行して、ノードを実行することができる。

ros2 run [パッケージ名] [ノード名]

ハンズオン

ros2 pkg create --build-type ament_python --node-name sample_node sample_package

上記コマンドを実行し、sample_packageパッケージを作成する。
オプションで設定した項目は以下の通りである:

  • ビルドタイプをPythonに設定
  • sample_nodeノードを作成

パッケージ内のファイル構成は次のようになる:

sample_package
│ package.xml
│ setup.cfg
│ setup.py

├─resource
│   sample_package

├─sample_package
│   sample_node.py
│   __init__.py

└─test
     test_copyright.py
     test_flake8.py
     test_pep257.py

sample_node.pyの中身は次のようになっている:

def main():
    print('Hi from sample_package.')

if __name__ == '__main__':
    main()

本来はここにノードを実装していくが、今回はこのままとする。

以下のコマンドを実行し、ビルド~ノードの起動を行う。

colcon build --symlink-install
source install/setup.bash
ros2 run sample_package sample_node

以下の標準出力が行われていることから、正常にノードが起動できていることがわかる。

Hi from sample_package.
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?