Skip to content

[ROS2]よく使うコマンド集

Tishichi edited this page Aug 4, 2023 · 6 revisions

注意!よく使うコマンドなのですべてを網羅しているわけではありません.

随時追記よろしくお願いします.

colcon

ビルド時に使用するのがcolconコマンドです.

基本的にワークスペースディレクトリの中で実行することになります.

パッケージのビルド

colcon build

ディレクトリ配下のすべてのパッケージをビルドします.

特定パッケージのビルド

ディレクトリ配下の特定のパッケージだけをビルドしたい場合は--packages-selectを使用します.

pkgパッケージのみをビルドしたい場合は次のようになります.

colcon build --packages-select pkg

残っているキャッシュを削除しビルド

一度ビルドに失敗すると変にキャッシュが残ってしまい再度ビルドに失敗する場合があります..その場合は--cmake-clean-cacheを使用します. それにより残っているキャッシュを一度削除し,その後ビルドを行います.

colcon build --cmake-clean-cache

ros2

ノードの立ち上げ,トピックやサービスの一覧取得など,さまざまな用途で使用します.

.bashrcに以下を追記することで開いた端末のどこからでも使用できます.

source /opt/ros/foxy/setup.bash

ノード関連

ノードの実行

ros2 run pkg node

実行ファイル名を指定しノードを立ち上げます.上の例ではpkgがパッケージ名,nodeがノードを起動するための実行ファイル名になります.

一覧取得

ros2 node list

現在起動しているノードの一覧を取得します.

トピック関連

一覧取得

ros2 topic list

現在発行されているトピックの一覧を取得します.

[ros2 topic list でトピック通信の一覧が返ってこない場合]
問題のPC上でros2 multicast receiveを実行してから正常動作するPCでros2 multicast sendを実行し,何も返ってこない場合はubuntuのファイアウォールの設定が変更された可能性があるので,以下を実行する.(sourceはこちら)

sudo ufw allow in proto udp from 192.168.0.0/4

閲覧

ros2 topic echo /sample_msg

指定したトピックのメッセージを閲覧します.上の例ではトピック名/sample_msgの中身を見ます.

サービス関連

一覧取得

ros2 service list

現在利用可能なサービスの一覧を取得します.

インターフェイス関連

一覧取得

ros2 interface list

使用できるインターフェイスの一覧を取得します.独自インターフェイスについても適切に登録されたならここで出力されるはず.

データ型の閲覧

ros2 interface show std_msgs/msg/String

インターフェイスを構成するデータ型を閲覧します.上の例ではメッセージstd_msgs/msg/Stringの中身を見ます.