RL ポリシーと Tron1

Tron1 を使用した異なる RL ポリシーのテスト

デモはこちら。注:登録が必要です

概要

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つのパラメータセットがあります:
    1. rl_type: 2つのパラメータ:“isaacgym” と “isaaclab”
    2. 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 から以下のヘルパーを使用しました:

最終更新 05.12.2025: Tron1 demo (#77) (35ce97f)