LoginSignup
6
7

More than 3 years have passed since last update.

ROS2 コマンド

Last updated at Posted at 2020-04-30

ROS2を勉強する中で知ったコマンドのメモです.

action

ROSグラフのすべてのactionを表示

ros2 action list
  • -tオプションは,actionのタイプも表示する.

actionのclient/server情報を表示

ros2 action info <action_name>

actionの実行

ros2 action send_goal <action_name> <action_type> <values>
  • <values>はYAML形式.
  • 例) ros2 action send_goal /turtle1/rotate_absolute turtlesim/action/RotateAbsolute {'theta: 1.57'}
  • --feedbackオプションをコマンドの最後に追加すると,目標完了まで現在の状態をフィードバックとして受け取り続ける.

interface

topicのインターフェイスの表示

ros2 interface show <topic type>.msg

topic typeは,ros2 topic list -tで分かる.

serviceのインターフェイスの表示

ros2 interface show <type_name>.srv

service nameおよび,それらのtype_nameは,ros2 service list -tで分かる.

actionのインターフェイスの表示

ros2 interface show <action_type>.action

action_nameおよび,それらaction_typeは,ros action list -tで分かる.

launch

launchの方法

ros2 launch <launchファイル>

ここで,launchファイルはpython形式で書かれた〜.launch.pyファイル.

node

node名の検索

ros2 node list

そのノードと対話するsubscriber,publisher,service、およびaction(ROS graph接続)のリストを返します.

nodeの詳細情報の検索

ros2 node info <node_name>

pkg

packageの作成

ros2 pkg create

param

nodeに属するparameterを表示

ros2 param list

parameterの現在値を取得

ros2 param get <node_name> <parameter_name>

実行時にparameterの値を変更

ros2 param set <node_name> <parameter_name> <value>

nodeの現在のパラメータ値をダンプする

ros2 param dump <node_name>

nodeの現在のparameter値をすべてファイルに「ダンプ」して後で保存する.

rqt

ROS2 graphの表示

rqt_graph

rqtを開き,[ プラグイン] > [ イントロスペクション] > [ ノードグラフ]を選択して,rqt_graphを開くこともできます.

run

packageから実行可能ファイルの実行

ros2 run <package_name> <executable_name>

parameterをファイルからロードする.

ros2 run <package_name> <executable_name> --ros-args --params-file <file_name>

フラグ--ros-argsが追加され,--params-fileオプションの後にロードするファイルが続く.

service

システムで現在アクティブなすべてのserviceのリストを表示

ros2 service list
  • service名がリスト表示される.
  • -tオプションは,すべてのアクティブなサービスのタイプを確認する.

serviceのタイプを表示

ros2 service type <service_name>
  • サービスの要求と応答の2つのデータがどのように構造化されているかを記述するタイプがある.
  • Emptyタイプは,サービスコールが要求を行う際にデータを送信していないし,応答を受信した場合にはデータを受信しないことを意味する.

特定のタイプのすべてのserviceを検索

ros2 service find <type_name>
  • 例) ros2 service find std_srvs/srv/Empty
    • /clear, /reset

serviceの呼び出し

ros2 service call <service_name> <service_type> <arguments>
  • 例1) ros2 service call /clear std_srvs/srv/Empty
  • 例2) ros2 service call /spawn turtlesim/srv/Spawn "{x: 2, y: 2, theta: 0.2, name: ''}"

source

ROS2環境の調達

source /opt/ros/<distro>/setup.bash

ROS2コマンドにアクセスするには,新しいシェルを開くたびにこのコマンドを実行する必要がある.

topic

システムで現在アクティブなすべてのtopicのリストを表示

ros2 topic list

ros2 topic list -tは同じくtopicのリストが返されますが,今回はtopicタイプが括弧の後に追加される.

topicが公開しているデータを表示

ros2 topic echo <topic_name>

topicが送受信されている数を表示

ros2 topic info <topic_name>

コマンドラインから直接topicにデータをpubする.

ros2 topic pub <topic_name> <msg_type> '<args>'
  • この引数argsは,YAML構文で入力する必要があることに注意してください.
  • --rate 1オプションは,コマンドを1 Hzの安定したストリームで発行するように指示します.
  • --onceオプションは,「1つのメッセージをパブリッシュしてから終了する」ことを意味する.

topicがpublishされる周期を表示

ros2 topic hz <topic name>

参考サイト

更新履歴

2020.4.30 Init.

6
7
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
6
7