Technology

ロボット開発基盤ROS 2、サービス呼び出しの記録・再生に対応

この記事のポイント

  1. 実現したこと

    ROS 2の新リリースJazzy Jaliscoでは、ロボットへのサービス呼び出しをBagに記録し、再生できる。

  2. 実現の仕組み

    記録対象のトピックをメッセージ型で選び、不要な型を除外できる。

  3. 得られた結果

    可視化ツールRViz2は、全トピックの周波数をステータスバーにヘルツ単位で表示する。

  4. 従来との違い

    従来のBagでは記録できなかったサービス呼び出しが、記録対象に加わった。

ロボットのサービス動作が記録ファイルに保存され、同じ動作を再生する概念図
AI生成画像

ロボット開発基盤ROS 2の新リリースJazzy Jaliscoでは、サービス呼び出しを記録ファイルのBagに保存し、再生できるようになった。従来のBagでは残せなかった呼び出しの履歴を、不具合の調査に利用できる。

サービス呼び出しをBagに残す

Open Roboticsが公開したROS 2 Jazzy Jaliscoでは、サービス呼び出しをBagに記録できる。従来のリリースではサービス呼び出しを記録できず、不具合に至るまでにどの呼び出しが行われたかを追いにくかった。

Bagはロボットの動作に関わるデータを保存する記録手段だ。サービス呼び出しも保存対象に入ることで、トピックのデータとともに呼び出しの履歴を調べる材料が得られる。

記録の再生とメッセージ型による選別

Jazzy Jaliscoでは、Bagに保存したサービス呼び出しを再生できる。記録した呼び出しを読み出せるため、保存だけで終わらず、呼び出しの流れを確かめられる。

トピックの記録対象はメッセージ型で指定でき、特定の型を除外することもできる。たとえば画像の型を指定すれば、個々の画像トピックを一つずつ列挙せずに記録対象を選べる。

RViz2が通信頻度と座標変換を見分けやすくする

ROS 2の可視化ツールRViz2は、全トピックの周波数をステータスバーにヘルツ単位で表示する。トピックごとの更新頻度を画面上で確認できる。

座標変換を扱うtfには、名前に対する正規表現を使った表示フィルターも加わった。該当する変換を表示または非表示にして、画面に出す情報を選べる。

Gazeboとの組み合わせをリリース単位で示す

ロボット向けシミュレーターGazeboとの組み合わせでは、Open RoboticsはJazzy JaliscoにGazebo Harmonicを推奨する。ROS 2のリリースごとに推奨するGazeboのリリースを示す方式を採った。

推奨するGazebo向けには、導入に使うvendor packageを配布する方針だ。利用者は推奨される組み合わせと、その導入用パッケージを参照できる。