RL ポリシーと Tron1
デモはこちら。注:登録が必要です
概要
Tron1 ロボットは、ヒューマノイド RL 研究に使用できるマルチモーダル二足歩行ロボットです。ソフトウェアの多くはオープンソースであり、こちら で見つけることができます。
ここでは、2つの異なる RL ポリシーを使用してロボットの移動テストを実行します。1つは isaaclab を使用し、もう1つは isaacgym を使用します。
テスト自体は比較的シンプルです。ロボットに前方に5メートル移動し、開始位置から150度回転するよう指示します。
テストのパラメータ化
artefacts.yaml ファイルを使用して、次のようにテストを設定します:
policy_test:
type: test
runtime:
framework: ros2:jazzy
simulator: gazebo:harmonic
scenarios:
defaults:
pytest_file: test/art_test_move.py
output_dirs: ["test_report/latest/", "output"]
settings:
- name: move_face_with_different_policies
params:
rl_type: ["isaacgym", "isaaclab"]
move_face:
- {name: "dyaw_150+fw_5m", forward_m: 5.0, dyaw_deg: 150, hold: false, timeout_s: 35}
上記の重要なポイント:
- テストは
pytestを使用して実行されます(そのためpytest_fileはテストファイルを指しています)。 - Artefacts は
output_dirsで指定された2つのフォルダからダッシュボードへのアップロードを探します - 2つのパラメータセットがあります:
rl_type: 2つのパラメータ:“isaacgym” と “isaaclab”move_face: 前進距離(5m)、回転角度(150度)、タイムアウト(35秒)を指定する1つのパラメータセット
テストは2回実行されます。1回目は isaacgym ポリシーを使用し、2回目は isaaclab ポリシーを使用します。両方のテストは move_face パラメータを使用して、どれだけ前進し、どれだけ回転するかを決定します。
簡易分析
isaacgym
isaacgym ポリシーを使用すると、(バードアイ録画から)ロボットが正常に回転し、その後前進することがわかります:

ダッシュボードはテストを成功としてマークしています:

また、テスト中に作成したグラウンドトゥルースの移動をプロットした csv は、ダッシュボードによって自動的に読みやすいチャートに変換されます。

isaaclab
isaaclab ポリシーでは、まだ改善の余地があることがわかります。ダッシュボードはテストを失敗としてマークし(失敗したアサーションを表示)、バードアイビデオはロボットが目標を達成できなかったことを示しています。


推定軌跡(つまり、ロボットが 自分が行った と考えていること)の csv(自動的にチャートに変換)があり、グラウンドトゥルースと大きく異なっていることがわかります:
テスト後に利用可能なデータ
- ROSbag
- Gazebo でのアクティブなロボットのビデオ(バードアイと一人称の両方)
- stdout と stderr
- デバッグログ
- ダッシュボードでグラフとして自動的に表示される軌跡(推定)の csv
- ダッシュボードでグラフとして自動的に表示される軌跡(グラウンドトゥルース)の csv
Artefacts Toolkit ヘルパー
このプロジェクトでは、Artefacts Toolkit から以下のヘルパーを使用しました:
get_artefacts_params: 使用するポリシーと軌跡(移動、回転)を決定するためextract_video: 記録された rosbag からビデオを作成