本記事はAIを利用して作成した技術解説・実装例です。掲載するコードや手順は一次情報を基に構成していますが、筆者による実機での動作確認は行っていません。環境やバージョンによって動作が異なる場合があります。
公式情報から読み解くクロスエンボディメントロボットナビゲーションポリシーの訓練とCOMPASSフレームワーク
ロボットのナビゲーション機能は、周囲の状況を把握して経路を選択し、障害物を回避しながら目標地点へ安全に到達するために不可欠です。しかし、異なるロボットや環境へこの機能を移行するたびに、新しいデータ、シミュレーションアセット、ロボットインターフェース、訓練、診断、評価を繰り返す必要があり、その労力は大きな課題となります。
NVIDIA Technical Blogで公開された一次情報では、AIエージェントと人間による承認ゲートを組み合わせたワークフローを用いて、事前訓練済みの「NVIDIA X-Mobility」ポリシーを特定のロボットおよび環境向けの残差スペシャリストへと適応させるフレームワーク「COMPASS」について解説されています。本記事では、公式情報に基づきその構成要素や手順を整理します。
COMPASSとは
COMPASS(Cross-Embodiment Mobility Policy via Residual RL and Skill Synthesis)は、単一のエンボディメントからのエキスパートデモンストレーションを活用し、スケーラブルなクロスエンボディメントモビリティを実現する統合フレームワークです。
ナビゲーションの動作を一から学習し直すのではなく、事前訓練済みの「NVIDIA X-Mobility」ポリシーの動作を再利用し、選択したロボットや環境に合わせてベースの行動を補正する強化学習(RL)ポリシーである「残差スペシャリスト」を訓練します。その後、複数のスペシャリストからのデータを共有クロスエンボディメントポリシーに蒸留することが可能です。
flowchart TD
A["NVIDIA X-Mobility Base Policy"] --> B["COMPASS Framework"]
B --> C["Embodiment Specialists via Residual RL"]
C --> D["Shared Cross-Embodiment Policy"]
エージェント駆動型ワークフローの概要
開発者はロボット、シーンソース、ナビゲーション目標を定義し、コーディングエージェントがリポジトリのスキルを用いて依存関係の検証、アセットの準備、スモークテストの実行、訓練の起動、障害診断、チェックポイントの比較を行います。シーンの受け入れ、1つの環境でのスモークテスト、チェックポイントの昇格といった重要な節目では、人間の承認ゲートが制御を行います。
リファレンス実装では、四足歩行ロボットのBoston Dynamics Spotを採用し、組み込みのウェアハウス(倉庫)、生成されたSAGE-10K屋内シーン、NVIDIA Omniverse NuRecで再構築された環境の3つのパスが用意されています。
また、ロボット側で互換性のあるオドメトリやトランスフォームが提供されていない場合には、CUDA加速型視覚オドメトリおよびSLAMライブラリである「NVIDIA cuVSLAM」を展開時オドメトリとして利用できます。
開発環境の要件
一次情報では、COMPASSソフトウェアスタックを利用するためのハードウェアおよびソフトウェア要件として以下が挙げられています。
Ubuntu 22.04または24.04システム
32 GB以上のRAM
16 GB以上のVRAMを搭載したRTX対応NVIDIA GPU(Isaac Sim 6.0の最小リファレンスGPUはGeForce RTX 4080、テスト済みLinuxドライバは580.95.05)
NVIDIA Container Toolkitを備えたDocker Engine 24以降
ゲート付きの nvidia/COMPASS および nvidia/X-Mobility Hugging Faceリポジトリへのアクセス権を持つHugging Faceアカウントと読み取りトークン
テスト済みスタック: NVIDIA Isaac Lab 3.0 と NVIDIA Isaac Sim 6.0
ステップ1: COMPASSエージェントワークフローのセットアップ
リポジトリを準備し、シーン作業を始める前にコーディングエージェントへワークフローの契約を指示します。ゲート付きアセットのダウンロード、COMPASSスキルのCodexへの有効化、スタックの検証を行い、1つの環境での承認ゲートで停止させます。
例として、CodexやClaude Code環境でスキルを公開し、検証プロンプトを渡すことで、ソフトウェアやアセットのインベントリ、環境レポート、スモークテストのログといったレビュー可能な証拠を各段階で生成します。トークンなどの機密情報は安全に扱い、シェル上でのみ設定することが求められます。
ステップ2: ナビゲーションシーンの選択と準備
シーンソースとしては、以下の3つのパスから選択できます。
組み込みウェアハウス(combined_multi_rack): 最も高速に再現可能なベースライン。ロボット、シーン、オキュパンシーマップがすでに登録されており、導入時のインストール確認に最適です。
SAGE-10Kシーン: 50の部屋タイプにわたる1萬の生成済み屋内シーンを含み、ジオメトリ、マテリアル、レイアウトメタデータ、プレビューを提供します。Isaac SimでのUSDの確認やオキュパンシーマップの検証などの承認ゲートを通過して使用します。
NuRecによるキャプチャ環境: ステレオRGBキャプチャをIsaac Sim対応の再構築へ変換し、配置環境のシミュレーション評価や微調整を行うためのオプションパスです。
ステップ3: ロボットとシーンの統合検証
選択したシーンがCOMPASSで利用可能になったら、訓練の規模を拡大する前に1つの環境でのプレビューを実行します。Isaac Simが起動し、シーンが読み込まれ、ロボットが有効な位置に出現し、カメラ観測が取得でき、クリッピングや転倒、未解決のシミュレーションエラーを起こさずにポリシーコマンドへ応答するかを確認します。
ステップ4: 残差スペシャリストの訓練
プレビューの承認後、標準的な残差RLワークフローを起動します。
【Windows環境で確認予定】
python run.py \ -c configs/train_config.gin \ -o ./outputs/spot_combined_multi_rack \ -b ./assets/x_mobility.ckpt \ --enable_cameras \ --embodiment spot \ --environment combined_multi_rack
訓練中は、GPUメモリに応じて環境数を設定し、報酬コンポーネント、目標の進捗、接触や転倒、エピソードの終了、スループット、GPUメモリを監視します。最終イテレーションが最適であると仮定せず、定期的にチェックポイントを保存して一致した条件下で評価を行います。失敗が発生した場合は、環境や設定を変更する前に診断ワークフローを用いて調査します。
まとめ
COMPASSフレームワークを活用することで、事前訓練済みのNVIDIA X-Mobilityポリシーをベースにしつつ、AIエージェントの支援と人間による承認ゲートを組み合わせて効率的な残差学習やシーンの検証を進めることができます。公式のリポジトリやガイドを参照し、適切な環境下で手順を確認しながら導入を進めることが重要です。


コメント