NVIDIA、AI エージェントを用いたクロスエンボディメントロボットナビゲーション学習手法を公開
本文の状態
日本語全文を表示中
詳細モードで約27分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
NVIDIA Developer Blog
NVIDIA は、異なるロボットや環境への移植に要するコスト削減のため、AI エージェントを活用したクロスエンボディメントのロボットナビゲーションポリシー学習手法を公開した。
AI深層分析を開く2026年8月27日 05:58
AI深層分析
キーポイント
エージェント駆動ワークフローによる効率化
開発者がロボット、シーンソース、目標を定義すると、コーディングエージェントが依存関係の検証からトレーニング、診断までを自動化し、人間の承認ゲートで品質を担保する。
COMPASS フレームワークの仕組み
COMPASS は単一のエンボディメントからのexpertデモを活用してスケーラブルなクロスエンボディメント移動を実現し、既存の NVIDIA X-Mobility ポリシーをベースにリサidual RL で修正する。
Spot を用いた実証と統合
本手法は Spot ロボットを基準として Built-in シーンおよび SAGE-10K シーンで適用され、スモークテストからランタイム統合までのポリシーワークフローが示される。
COMPASSの開発ワークフローと実行環境
COMPSSは開発時にCodexなどのコーディングエージェントを使用してリポジトリスキルとしてパッケージ化されるが、学習済みポリシーとロボットコントローラーは実行時にはコードなしでナビゲーションを実行する。
参照ワークフローのハードウェアと環境構成
参照ワークフローではBoston Dynamics Spot四足歩行ロボットを使用し、ビルトイン倉庫を主要な再現経路とし、SAGE-10Kで生成シーンへ拡張する。
重要な引用
Navigation enables a robot to turn perception and motion into purposeful autonomy.
COMPASS (Cross-Embodiment Mobility Policy via Residual RL and Skill Synthesis) is a unified framework that enables scalable cross-embodiment mobility using expert demonstrations from a single embodiment.
It trains a residual specialist, a reinforcement learning (RL) policy that corrects the base action for a selected robot and environment instead of relearning navigation from the beginning.
COMPASS packages this development workflow as repository skills. This tutorial uses Codex during development. The trained policy and robot controller execute navigation at runtime without the coding agent.
編集コメントを表示
編集コメント
ロボティクス分野における「ゼロから学習」の負担を軽減するアプローチとして、既存モデルを活用して環境適応させるリサidual RL の実装事例は非常に示唆に富む。NVIDIA が提供するツールチェーンと AI エージェントを組み合わせることで、開発プロセス自体が自動化される未来像が明確になった。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
ナビゲーションとは、ロボットが知覚と運動を意味のある自律行動へと変換する能力です。安定した移動を生み出す歩行(locomotion)とは異なり、ナビゲーションはロボットの位置を継続的に特定し、変化する周囲環境を解釈し、経路を選択し、障害物を回避しながら安全に目的地へ到達させるために用いられます。
この機能を新しいロボットやシーンに移行させるには、新たなデータ、シミュレーションアセット、ロボットインターフェース、トレーニング、診断、評価が必要になります。すべてのロボットとシーンの組み合わせに対してこれらの作業を繰り返すのはコストが高く、再現も困難です。
エージェント駆動型のワークフローはこの負担を軽減します。開発者はロボット、シーンソース、ナビゲーションの目標を定義します。コーディングエージェントはリポジトリのスキルを活用して依存関係を検証し、アセットを準備し、スモークテストを実行し、トレーニングを開始し、失敗の原因を診断し、チェックポイントを比較します。人間の承認ゲートが、シーンの受け入れ、単一環境でのスモークテスト、およびチェックポイントのプロモーションを制御します。
参照ロボットとして Spot を用い、本チュートリアルではエージェント駆動型の COMPASS ワークフローを組み込みシーンと SAGE-10K シーンに適用し、NVIDIA Omniverse NuRec がキャプチャされた環境をどのようにサポートするかを示します。スモークテスト、残差トレーニング、チェックポイントの評価、ランタイム統合(オドメトリのオプション機能を含む)を通じたポリシーワークフローを追跡します。
COMPASS とは?
「COMPASS(Cross-Embodiment Mobility Policy via Residual RL and Skill Synthesis)」は、単一のロボット環境から得た専門家のデモデータを活用し、スケーラブルなクロスエンボディメント移動を実現する統合フレームワークです。この手法では、事前学習済みの NVIDIA X-Mobility ポリシーのナビゲーション行動を流用します。そして、ゼロからナビゲーションを学び直すのではなく、特定のロボットと環境に合わせて基本動作を補正する「残差専門モデル(residual specialist)」として、強化学習 (RL) ポリシーを訓練します。複数の専門モデルから得たデータは、後に共有のクロスエンボディメントポリシーへと凝縮(ディストillation)されます。
このエージェント駆動型ワークフローで訓練・評価される COMPASS のポリシーアーキテクチャを図 1 に示します。

COMPASS では、この開発ワークフローをリポジトリ内のスキルとしてパッケージ化しています。本チュートリアルでは開発段階に Codex を使用しますが、訓練されたポリシーとロボットコントローラーは実行時にコード生成エージェントなしでナビゲーションを実行できます。
レファレンス・ワークフローの概要
参考となるワークフローでは、Boston Dynamics の四足歩行ロボット「Spot」を使用します。組み込みの倉庫が主要な再現可能な経路となり、SAGE-10K はこれを生成されたシーンに拡張し、NVIDIA Omniverse NuRec は再構築した対象環境のためのオプション経路を提供します。
ロボット側で互換性のあるオドメトリと変換情報が提供されていない場合、CUDA 加速型の視覚オドメトリおよび同時位置特定・地図作成ライブラリである NVIDIA cuVSLAM を使用して、展開時のオドメトリを取得できます。
別の環境を利用する場合は、リポジトリに固定された COMPASS ソフトウェアスタックと、以下のハードウェアガイドラインに従ってください:
- Ubuntu 22.04 または 24.04 システム。RAM は少なくとも 32 GB、VRAM が 16 GB 以上の RTX 対応 NVIDIA GPU を搭載し、Linux ドライバ 580.95.05(Isaac Sim 6.0 のテスト済みバージョン)をインストールしてください。Isaac Sim 6.0 の最小推奨 GPU は GeForce RTX 4080 です。インストール前に Isaac Sim 互換性チェッカー を実行してください。
- Docker Engine 24 以降と、NVIDIA Container Toolkit のセットアップが必要です。
- Hugging Face アカウントと、ゲートドされた nvidia/COMPASS および nvidia/X-Mobility リポジトリへのアクセス権限を持つ読み取りトークンが必要です。
テスト対象のチュートリアルスタックは、NVIDIA Isaac Lab 3.0 と NVIDIA Isaac Sim 6.0 です。
ステップ 1: COMPASS エージェントワークフローの設定
まず、リポジトリを準備し、シーンの作業を開始する前にコーディングエージェントに対して明確なワークフロー契約を与えてください。ゲート付きアセットのダウンロード、Codex に対する COMPASS スキルの検索性確保、スタックチェックの実行を行い、単一環境での承認ゲートを通過するまで進めます。
すべての $compass ブロックは、COMPASS リポジトリのルートディレクトリで Codex チャットにコピーして使用できるプロンプトであり、シェルコマンドではありません。Claude Code を使用する場合は、同じワークフローのために /compass コマンドを利用してください。
Codex では、まず .agents/skills 配下にリポジトリスキルを公開し、その後 /skills コマンドで COMPASS を選択するか、プロンプト内で $compass に言及してください。
Codex はシンボリックリンク付きのスキルディレクトリをサポートしているため、現在のリポジトリにあるスキルは維持されている場所のままにしておくことができます。Claude Code の場合は、同じワークフローを /compass コマンドで呼び出してください。
まず、以下のコマンドでスキル用ディレクトリを作成します。
mkdir -p .agents/skills次に、コンパス機能へのシンボリックリンクを設定します。
ln -s ../../.claude/skills/compass .agents/skills/compass同様に、ドクター機能用のコンパスもリンクします。
ln -s ../../.claude/skills/compass-doctor .agents/skills/compass-doctor
``` (原文の技術表記: `mkdir -p .agents/skills`、`ln -s ../../.claude/skills/compass .agents/skills/compass`、`ln -s ../../.claude/skills/compass-doctor .agents/skills/compass-doctor`)
`ln -s ../../.claude/skills/compass-newembodiment .agents/skills/compass-newembodiment`
コーディングエージェントは、クローン作成、ビルド、非機密アセットのダウンロード、スタックの検証が可能です。開発者は、ゲート付きリポジトリの利用規約に同意し、チャット外で Hugging Face のトークンを手動入力する必要があります。エージェントがトークンの要求、表示、またはログへの保存を行うことは絶対にあってはなりません。
## COMPASS のインストールとアセットのダウンロード
「COMPASS」リポジトリをクローンし、リポジトリに固定されたコンテナを使用して「COMPAS Handbook quick start」の手順に従ってください。初回実行前に、ゲート付きの Hugging Face リポジトリである [nvidia/COMPASS](https://huggingface.co/nvidia/COMPASS) と [nvidia/X-Mobility](https://huggingface.co/nvidia/X-Mobility) へのアクセス権限を承認し、[Hugging Face の読み取りトークン](https://huggingface.co/settings/tokens) を作成してください。
トークン(https://huggingface.co/settings/tokens)を確認し、アカウントでアクセス可能な公開ゲート付きリポジトリを読み取れることを確認してください。トークンは現在のシェルでのみ使用するように暴露してください。
エージェントのプロンプトやソース管理に直接貼り付けないでください。
`export HF_TOKEN=hf_xxx`
`./docker/run.sh assets`
`./docker/run.sh build`
`source ./docker/activate`
assets ステップでは、登録されたシミュレーション資産が `./assets/usd/` に、事前学習済み [X-Mobility チェックポイント](https://huggingface.co/nvidia/X-Mobility) が `./assets/x_mobility.ckpt` にダウンロードされます。401 または 403 の応答は、リポジトリへのアクセスが不完全かトークンのスコープに問題があることを示しています。Isaac Lab のデバッグを行う前に、必ず認証を解決してください。
各フェーズでは、次のフェーズを開始する前に検証可能な証拠を生成します:
- **Validate**: ソフトウェアと資産のインベントリ、環境レポート、スモークテストログ
- **Prepare scene**: 登録されたシーン設定、オキュパンシーマップ、視覚検査の証拠
- **Train**: ピン留めされたコマンドと設定、ログ、テレメトリ、定期的なチェックポイント
評価:プロトコルの適合性、標準的な COMPASS メトリクス、動画、および推奨事項の確認
パッケージ化:承認されたチェックポイント、設定ファイル、評価記録、アーティファクトマニフェストの整備
承認基準はプロジェクトごとに異なりますが、各ゲートで問われるべき本質的な問いは共通しています。「必要な入力は揃っているか」「期待通りの出力が得られたか」「未解決のエラーはないか」「継続するための十分な根拠があるか」です。
COMPASS スキルの呼び出し
コンテナを起動した後、リポジトリのルートからコーディングエージェントを開き、ロボットやシーン、ナビゲーションの結果、承認ゲートについて記述してください。ベースラインのワークフローでは、以下のプロンプトをエージェントのチャットにコピーして入力します。
`$compass Validate the COMPASS environment for Spot. Confirm the pinned `
リポジトリのバージョン、コンテナ、GPU、Isaac Lab および Isaac Sim のバージョン、シミュレーションアセット、事前学習済み X-Mobility チェックポイントを確認してください。1 つの環境でスモークテストを実行し、検証レポートを保存して承認待ちとします。 (原文の技術表記: `repository revision, container, GPU, Isaac Lab and Isaac Sim versions, `、`simulation assets, and pretrained X-Mobility checkpoint. Run a one-environment `、`smoke test, save the validation report, and stop for approval.`)
`$compass` スキルは、要求されたワークフローをリポジトリと照合し、関連する検証ステップを実行します。実行に失敗した場合、`$compass-doctor` は読み取り専用の健康診断を行い、環境を黙って変更することなく、考えられる原因を報告します。

図 2. コーディングエージェントが COMPASS スキルを呼び出し、環境の検証、シーンの準備、スモークテストの実行を行い、人間の承認ゲートで停止する様子
## ステップ 2: ナビゲーション用のシーンを選択・準備する
ここでは、3 つのシーンソースからいずれかを選んで準備する方法を解説します。選択肢は、COMPASS に標準搭載された倉庫、生成された [SAGE-10K](https://huggingface.co/datasets/nvidia/SAGE-10k) シーン、または [Omniverse NuRec](https://isaac-sim.github.io/IsaacLab/develop/source/policy_deployment/03_compass_with_NuRec/compass_navigation_policy_with_NuRec.html) を用いてキャプチャした環境です。各パスの目的と、トレーニング前に完了させる必要がある登録情報、占有マップ、承認チェックの内容について学びます。
## パス 1: 標準搭載の倉庫を使用する
最も再現性が高く高速なベースラインとして、登録済みの `combined_multi_rack` 倉庫から始めましょう。ロボット、シーン、占有マップはすでに登録済みであるため、新しいシーンを導入する前にインストールが正常に動作しているか検証するには最適な方法です。
以下のプロンプトをコーディングエージェントにコピーして実行し、スモークテスト後に一時停止してください:
`$compass Train and evaluate Spot in the built-in combined_multi_rack warehouse. `
`Stop after the one-environment smoke test for approval.`

図 3. Spot 四足ロボットが登録された COMPASS `combinedmultirack` ウェアハウスを移動する様子
## パス 2:SAGE-10K シーンを活用する
[SAGE-10K](https://huggingface.co/datasets/nvidia/SAGE-10k) データセットには、50 の部屋タイプにわたる 10,000 件の生成された屋内シーンが含まれています。これはポリシーやシミュレータではなく、シーンデータセットです。各シーンには幾何形状、素材、レイアウトのメタデータ、プレビューが用意されています。リビングルームとウェアハウスのシーンは同じ準備手順に従うため、データセット全体をダウンロードするのではなく、用途に合った候補を 1 つ選べば十分です。

図 4. COMPASS の検証用に調整された SAGE-10K 屋内シーン内の Spot 四足ロボット
SAGE-10K を利用するパスでは、人間による承認のゲートが 2 つ設けられています。まず、[NVIDIA Isaac Sim](https://github.com/isaac-sim/IsaacSim) で変換された USD ファイルを確認し、登録前に幾何形状、素材、スケール、衝突メッシュが正しいか検証します。その後、登録とオキュパンシーマップの生成が行われ、完全なトレーニングを開始する前に 1 つの環境プレビューを承認する必要があります。オキュパンシーマップは、ロボットが安全に開始位置から移動できる自由空間と障害物を特定し、有効なナビゲーション目標を設定するために使用されます。
以下のプロンプトをコーディングエージェントにコピーして、シーンを選別し、両方のゲートで一時停止してください:
「$compass」コマンドを使用して、Spot 用として適切な SAGE-10K のリビングルームまたは倉庫のシーンを探し、候補を提示します。
私がシーンを承認した後、変換と登録を行い、占有マップ(occupancy map)の生成と検証を実行して、検査のために一時停止します。
シーンとマップの両方を承認したら、単一環境でのスモークテストを実行し、本格的なトレーニングを開始する前に再度一時停止します。

図 5:Codex が互換性のある SAGE-10K シーンをリストアップし、開発者の承認を待って一時停止する様子
## パス 3:NuRec を使用してキャプチャした環境を導入する
意図する展開環境の再現版で COMPASS の微調整と評価を行う場合は、[Omniverse NuRec](https://isaac-sim.github.io/IsaacLab/develop/source/policy_deployment/03_compass_with_NuRec/compass_navigation_policy_with_NuRec.html) を使用します。NuRec はステレオ RGB キャプチャを Isaac Sim 対応の再現モデルに変換し、視覚幾何学と衝突メッシュを整合させ、必要に応じてシーンの拡張を行います。
文書化された COMPASS のパスでは、レンダリングされたシーンを登録し、提供される占有マップと原点の基準を確認し、ロボットのクリアランスを検査した上で、トレーニング前に単一環境でのスモークテストを実行します。 (原文の技術表記: `$compass Find suitable SAGE-10K living-room or warehouse scenes for Spot and show the best candidates. `、`After I approve a scene, convert and register it, generate and verify its occupancy map, and stop for inspection. `、`After I approve the scene and map, run a one-environment smoke test and stop again before full training.`)

*Figure 6. The NuRec Real2Sim policy (right) navigates around the table toward the goal, compared with the synthetic policy (left)*
NuRec は本記事の目的上、オプションの手順です。実習フローは SAGE-10K を通じて続き、チュートリアルでは準備から評価までの一連のシーンを追います。キャプチャ済みの環境に対しては、[COMPASS NuRec ワークフロー](https://github.com/NVlabs/COMPASS/blob/real2sim/isaaclab_3.0/docs/handbook/workflows/nurec_real2sim.md) と [NVIDIA Isaac Sim NuRec ガイド](https://isaac-sim.github.io/IsaacLab/develop/source/policy_deployment/03_compass_with_NuRec/compass_navigation_policy_with_NuRec.html) を利用してください。ここではリビングルームの例も含まれており、シーンの準備、トレーニング、評価、エクスポート、ROS 2 デプロイメントまでをカバーしています。
以下のプロンプトをコーディングエージェントにコピーして、登録済みの NuRec シーンを用意し、トレーニング前に一時停止してください:
`$compass Prepare the registered NuRec Real2Sim scene <scene_name> for <supported_robot>. `
`Verify the supplied occupancy map and origin convention, inspect collisions and robot clearance, `
`run a one-environment smoke test, and stop for approval before training.`
## ステップ 3: ロボットとシーンの統合検証
COMPASS で利用可能なシーンが選定されたら、大規模なトレーニングを開始する前に、単一の環境での事前確認(プレビュー)を実行してください。SAGE-10K のシーンを利用する場合、まずは前述の視覚チェックとシーン登録承認ゲートを通過させる必要があります。
Isaac Sim が正常に起動し、シーンが読み込まれ、Spot ロボットが有効な場所にスポーンし、カメラからの観測データが取得可能であること、そしてロボットがポリシーコマンドに対してクリッピングや転倒といった不具合を起こさず、未解決のシミュレーションエラーも発生せずに反応することを確認してください。
コーディングエージェントに、プレビューログと視覚証拠を要約させ、障害となる要因がないか特定させた上で、人間の承認を得るまで処理を一時停止させてください。シーン、ロボット、観測データ、そしてアクションインターフェースが想定通りに連携していることを確認してから、残差学習(residual training)に進んでください。
## ステップ 4: 残差専門家のトレーニング
ここでは、COMPASS が事前学習済みの [X-Mobility](https://github.com/NVlabs/X-MOBILITY) ポリシーを、選定されたロボットとシーンに適応させる方法を解説します。残差強化学習(residual reinforcement learning)を実行し、実行状況を監視しながら候補となるチェックポイントを保存し、評価に必要な証拠も保持してください。
## 残差トレーニングの起動
単一環境でのサモークテストが承認されれば、コーディングエージェントは [標準的な残差 RL ワークフロー](https://nvlabs.github.io/COMPASS/docs/) を開始できます。以下のコマンドでは Spot と組み込みの倉庫環境を使用します。生成されたシーンのパスに従う場合は、環境キーを登録済みの SAGE-10K シーンに置き換えてください。
スモークテストに合格した後、コーディングエージェントは` `[標準的な残差強化学習ワークフロー](https://nvlabs.github.io/COMPASS/docs/workflows/training.html) を起動できます。以下の例では、ビルトインの倉庫ベースラインを実行しています。生成されたシーンのパスを継続する際は、環境キーを登録済みの [SAGE-10K](https://huggingface.co/datasets/nvidia/SAGE-10k) シーンに置き換えてください。
```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 メモリに応じて --num_envs を設定します。スモークテストでは環境を 1 つだけ使用してください。トレーニング中は、報酬の内訳、目標への進捗度、接触状況や転倒の有無、エピソードの終了理由、処理スループット、GPU メモリの使用状況を監視しましょう。 (原文の技術表記: python run.py \)
最終イテレーションが最良であると仮定するのではなく、定期的にチェックポイントを保存し、同等の条件下で評価することが重要です。COMPASS は大規模な実行に対応するため、分散マルチ GPU 学習もサポートしています。学習に要する時間は、ハードウェア性能、シーンの複雑さ、環境の数、および停止条件によって異なります。
失敗の原因を特定し、証拠を保存する
環境やトレーニング設定を変更する前に、COMPASS の診断ワークフローを用いて失敗の原因を調査してください。認証エラーは Hugging Face のアクセス権限を確認し、シーンの読み込みや衝突に関するエラーはシーン準備の段階で、カメラやアクションインターフェースのエラーはスモークテストの段階で、メモリ関連のエラーは環境数やマルチ GPU 設定を見直すことで対応します。
トレーニング設定、実行コマンド、リポジトリのリビジョン、シーンの登録情報、占有マップ、スモークテストの結果、ログ、チェックポイント、およびアーティファクトのマニフェストをすべて保存してください。依存関係、シーンアセット、報酬関数、あるいはトレーニング設定を変更する際は、必ず開発者の承認を得る必要があります。
このセクションでは、残存するチェックポイントがプロモーションに値するかを判断する方法について解説します。事前学習済みベースポリシーとリジデュアル候補を同等の条件下で比較し、標準的な COMPASS メトリクスを読み解き、派生した証拠に適切なラベルを付与し、パッケージ化する前に人間の承認を得る手順を学びます。
タスクのパフォーマンスと安全性を併せてレビューする。標準的な COMPASS 評価レポートでは、ゴール到達率、転倒率、移動時間を報告する。ゴールまでの進捗、接触行動、タイムアウト、コマンドの安定性などの追加証拠は、「派生分析」または「カスタム計測」としてラベル付けする必要がある。プロジェクトが定めるナビゲーションおよび安全性の基準を満たす証拠が揃い、かつ人間による承認を得て初めて、チェックポイントの昇格を許可する。
以下のプロンプトは一例である。ワークフローで必要なロボット、シーン、チェックポイント、証拠に合わせて適宜調整すること:
$compass 事前学習済み X-Mobility ベースポリシーと、選択されたシーンにおける利用可能な Spot の残差チェックポイントを比較してください。比較は一致するシード、ゴール、初期状態、ロールアウト長、およびアクティブな終了条件の下で行います。標準的な COMPASS 評価指標を報告してください。 (原文の技術表記: $compass Compare the pretrained X-Mobility base policy with the available Spot 、residual checkpoints in the selected scene under matched seeds, goals, initial states, 、rollout length, and active terminations. Report the standard COMPASS evaluation metrics, )
一致した動画と正確な評価コマンドを保存し、派生した証拠には明確なラベルを付けます。また、チェックポイントの昇格やパッケージ化を行う前に、必ず人間の承認を得て停止してください。
ステップ 6:ポリシーをロボットランタイムに接続する (原文の技術表記: save matched videos and the exact evaluation command, clearly label any derived evidence, 、and stop for human approval before promoting or packaging a checkpoint.)
このセクションでは、開発完了後に学習済みポリシーがロボットランタイムにどのように接続されるかを解説します。ここでは、参照となるポリシーの入出力や、cuVSLAM がデプロイメント用のオドメトリを提供できるケース、また未登録のロボットに対して 新しいエンボディメントワークフロー が必要となるケースについて学びます。コーディングエージェントは開発と検証を調整する役割を果たしますが、ランタイム中のロボット制御自体を行うわけではありません。
ポリシーの入出力を理解する
COMPASS のアセットステップでは、スモークテストや残差学習に使用される事前学習済みの X-Mobility チェックポイント がダウンロードされます。トレーニングにより、選択されたロボットとシーン用の残差チェックポイントが生成されます。エクスポートとデプロイメントでは、推論用に学習済みポリシーをパッケージ化しますが、開発者が手動で接続する必要がある「ベース」と「残差」の 2 つの ROS 2 コンポーネントとして公開されるわけではありません。
参考となる ROS 2 の統合ガイド(reference ROS 2 integration)では、`compass_inference` がフロントカメラの画像、ナビゲーション目標またはルート、そしてオドメトリから算出されたロボット速度を、エクスポートされたポリシーの入力に変換します。これにより /cmd_vel 上で前方直線速度と角速度のコマンドが公開されます。
再帰的な状態や過去の行動は推論実装内部に保持されるものであり、外部の ROS 統合における入力ではありません。ターゲットとなる展開環境では、座標フレームの整合性、更新レート、正規化処理、コマンド制限、停止動作、そして物理ロボットコントローラーを必ず検証してください。

Add cuVSLAM odometry when needed
GPS が利用できない、または断続的な環境でカメラベースの位置推定が必要であり、かつ互換性のある検証済みのオドメトリや変換が既に提供されていない場合、cuVSLAM ライブラリを使用してください。このライブラリのオドメトリは COMPASS ナビゲーターをサポートしますが、そのマップはナビゲーションポリシーの入力にはなりません。
cuVSLAM は COMPASS ポリシー学習の一部ではなく、エージェントスキルも必要としません。バージョンを一致させた ROS 2 コンポーネントとして別個に実行し、オドメトリ出力を /chassis/odom に接続またはリマップします。また、必要な odom-to-base_link の変換を提供し、キャリブレーション、タイムスタンプ、トピック名、フレーム規約が正しく設定されていることを検証してください。
開発中は、オプションの $cuvslam-onboard および $cuvslam-troubleshoot スキルを使用して、この状態推定コンポーネントの設定や診断を行うことができます。
プロンプトの例:
$cuvslam-onboard Configure cuVSLAM as the odometry source for the COMPASS
ロボットとカメラ装置上のナビゲーターを選択します。互換性のあるリリースと追跡モードを選び、キャリブレーションとタイムスタンプを検証し、オドメトリと TF を期待される COMPASS インターフェースに接続してから、ナビゲーションを有効にする前に承認待ちとして停止してください。
別のロボットにもワークフローを拡張する (原文の技術表記: navigator on <robot and camera rig>. Select a compatible release and tracking mode, 、validate calibration and timestamps, connect odometry and TF to the expected COMPASS 、interfaces, and stop for approval before enabling navigation.)
未登録のロボットに対しては、$compass-newembodiment が開発者向けにロボット設定、環境登録、アクションマッピング、および 1 つの環境における視覚的スモークテストの手順を案内します。新しいエンボディメント(ロボット形態)の導入は、既存ロボット用の専門モデルを訓練する工程とは別タスクですが、検証と承認のパターンは共通しています。
このチュートリアルではチェックポイント評価までを対象としています。ONNX、JIT、TensorRT へのエクスポート、ROS 2 統合、および物理ハードウェアへの展開については、対象となるロボットとランタイムごとに別途検証が必要です。シーンの品質、訓練期間、チェックポイントの性能は、エンボディメントの種類や環境、報酬設計、利用可能な計算リソースによって変動するため、このワークフローが普遍的な成功基準を定義するものではありません。
COMPASS の始め方
まずは参照パスから始め、コンポーネントを 1 つずつ拡張してください:
- 参照環境を設定します。COMPASS リポジトリ をクローンし、COMPASS ハンドブックのクイックスタートガイド に従って、制限付きモデルの利用規約に同意した上で、COMPASS シミュレーションアセット と X-Mobility チェックポイント をダウンロードしてください。
- エージェントワークフローを実行します。Codex で
$compassを呼び出し、対応するロボットと内蔵シーンを使用します。スモークテスト後の承認を保持し、条件を一致させた状態で専門モデルの訓練と評価を行ってください。
意図的に拡張とパッケージ化を行い、未登録のロボットには $compass-newembodiment を使用してください。設定ファイル、チェックポイント、ログ、評価結果(マッチング済み)、および次の工程判断に必要な動画はすべて保存しておきます。
ワークフローの再現や拡張を行う際は、以下のリソースをご参照ください。
- 生成された屋内シーンのデータセット:SAGE-10K dataset
- キャプチャしたシーンからの再構築とナビゲーションポリシーの学習に関する情報:Omniverse NuRec developer page、COMPASS NuRec workflow、および Isaac Lab NuRec guide
- シミュレーションとロボット学習スタックに関するドキュメント:NVIDIA Isaac Sim と NVIDIA Isaac Lab
- オプションの cuVSLAM ベースのデプロイメント用オドメトリに関する情報:Isaac ROS Visual SLAM documentation
関連記事
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み