NVIDIA Isaac GR00T でヒューマノイドロボットのポリシーをエンドツーエンドに開発
NVIDIA は、ヒューマノイドロボットの動作ポリシーを設計から実装まで一貫して開発可能な「Isaac GR00T」プラットフォームを発表し、業界標準の確立を目指す。
キーポイント
エンドツーエンドの開発環境の提供
NVIDIA は Isaac GR00T を通じて、ロボットの動作ポリシーを設計から実装まで一貫して行える統合開発環境を提供すると発表した。
ヒューマノイドロボットへの特化
このプラットフォームは特に複雑な二足歩行や人間とのインタラクションが求められるヒューマノイドロボットの制御に最適化されている。
開発効率と標準化の促進
従来バラバラだった開発プロセスを統合することで、研究から実装までの時間を短縮し、業界全体の開発スピード向上を図る。
影響分析・編集コメントを表示
影響分析
この発表は、ヒューマノイドロボット開発の断片化されたプロセスを統合し、業界全体の開発効率を劇的に向上させる可能性を秘めています。特に NVIDIA の強みである GPU アクセラレーションと AI ツールチェーンとの親和性により、実社会への導入スピードが加速すると予想されます。
編集コメント
プレスリリース色が強い内容ですが、ヒューマノイドロボット開発のボトルネック解消という点で業界にとって実質的なインパクトは大きいです。NVIDIA がロボティクス分野でのプラットフォーム覇権を確立する重要な一手と言えます。
より多くのチームが ヒューマノイドロボット の立ち上げからタスク固有のスキル開発へと移行するにつれ、反復可能な開発ワークフローの必要性が高まっています。ヒューマノイドロボットの構築は依然として複雑であり、現在の開発パイプラインもまだ断片的です。その結果、開発者はロボット機能の開発に集中する前に、多大な時間をロボットインフラストラクチャの設定に費やしています。
ロボットコミュニティはパイプラインの各段階において有能なツールを開発してきましたが、ソフトウェアエコシステムの分断、互換性のないデータ形式、およびツール間の手動統合により、これらをシームレスなワークフローに接続することは依然として課題となっています。これを解決するため、NVIDIA Isaac GR00T Development Platform を紹介します。これは開発を加速させるためにパイプラインのすべての段階を統一するオープンソースのヒューマノイドロボットプラットフォームです。
本記事では、データ収集からモデルトレーニング、大規模評価、そして展開準備に至るまでの GR00T プラットフォーム全体を取り上げ、完全に統合されたプラットフォームがどのようにしてヒューマノイド開発を効率化できるかを示します。
包括的なヒューマノイド開発の加速
image*図 1. Isaac GR00T プラットフォームを用いたヒューマノイドロボットの開発、トレーニング、評価、展開のための包括的なワークフロー*
Isaac GR00T プラットフォームは、ロボット開発者が人間型ロボットのデータ収集とシミュレーションベースのトレーニングをスケーリングし、実機上でポリシーの開発、検証、展開を行うことを支援します。そのエンドツーエンドのプラットフォームは完全にオープンでモジュール化されており、チームは個々のコンポーネントまたは完全なパイプラインを使用したり、独自のツールチェーンを統合したり、検証済みの NVIDIA ソフトウェアスタックを使用して構築したりすることが可能です。
ステージNVIDIA テクノロジー機能
シミュレーション環境のセットアップ NVIDIA Isaac Lab-Arena データ生成、ポリシートレーニング、テスト用のシミュレーション環境を作成します。
データ作成 NVIDIA Isaac Teleop ポリシーのトレーニングと開発のための高品質なロボットのデモンストレーションデータを取得します。
ポリシートレーニング NVIDIA Isaac GR00T 1.7 + トレーニングスクリプト シミュレーションおよび実機でのデモンストレーションデータを使用して、人間型の推論とマルチタスク行動のためのロボットポリシーをトレーニングします。
ポリシー評価 NVIDIA Isaac Lab-Arena 実世界への展開前にシミュレーション内でロボットポリシーをテストおよび評価します。
ポリシー展開 NVIDIA Isaac ROS + Jetson Thor モデルを展開可能な LEAPP バンドルとしてエクスポートし、トレーニング後のポリシーを実機に展開して、リアルタイムのオンデバイス推論と制御を実現します。
*表 1. シミュレーション設定からデプロイメントに至るロボットポリシー開発ワークフロー全体にわたる NVIDIA ソフトウェアスタック*
GR00T ワークフローの重要な構成要素は、強固な事前学習済みファウンデーションを通じて開発を効率化するオープンソースの Isaac GR00T 1.7 ビジョン・言語・アクション(VLA: Vision-Language-Action)モデルです。多様なデータでトレーニングされているため、新しいタスクや環境に対して効率的に一般化できると同時に、より自然で人間らしい動作を生み出すことができます。
GR00T 1.7 の始め方
image*図 2. イメージ、言語、ロボット状態の入力をビジョン・ランゲージモデルと拡散トランスフォーマー(Diffusion Transformer)が処理し、ヒューマノイドロボットの動作を生成する GR00T 1.7 アーキテクチャ*
GR00T 1.7 は、寛容な Apache 2.0 ライセンスの下でリリースされた、汎用的なヒューマノイドロボットスキル向けの最初のオープンかつ商用利用可能な VLA モデルです。これは多様な環境にわたるタスクを実行するために必要な動作を生成する、言語や画像を含むマルチモーダル入力を受け取るクロス・エンボディメント(Cross-embodiment)モデルです。ゼロからポリシーをトレーニングする必要はなく、開発者は広範な操作の事前知識(Priors: 事前知識)が既に組み込まれたモデルを開始点として選び、ポストトレーニングを通じて特定のロボット、タスク、環境に適応させることができます。
GR00T 1.7 の新機能
- ロバストな人間動画事前学習:1.7 は、BEHAVIOR、RoboCasa、Simulated GR-1 から得られた約 8K 時間のシミュレーションロールアウトとデモンストレーションに加え、実際のデモおよび人間の主観視点データ約 32K 時間で事前トレーニングされています。これにより、より人間らしい動作が可能になります。
- 新しい VLM ベースモデル:GR00T N1.6 で使用されていた Eagle ベースモデルに代わり、Cosmos-Reason2-2B (Qwen3-VL アーキテクチャ) が採用されました。これにより、柔軟な解像度への対応が可能となり、パディングなしで画像をネイティブのアスペクト比のままエンコードできます。
- 展開サポートの拡大:ONNX および TensorRT へのフルパイプラインエクスポートが追加され、エクスポートの信頼性が向上するとともに、より高頻度での更新が可能になりました。
- パフォーマンスの強化:タスクおよびサブタスクレベルでの分解を通じて長期ホライズンのタスク推論が改善され、信頼性、モーション品質、および異なる身体構造間での汎化能力が高まりました。
- ベンチマークの向上:N1.6 と比較して DROID および SimplerEnv 全体で一貫した改善が見られ、DROID-F0 で +10%、DROID-F6 で +61% の向上に加え、SimplerEnv Bridge で +5%、Fractal で +2% の改善が確認され、より強力な汎化能力を示しています。
GR00T 1.7 は GitHub および Hugging Face を通じてアクセス可能で、モデル重みは公開されており、ベースチェックポイントは 30 億パラメータです。
GR00T 1.7 モデルをエンドツーエンドの GR00T ワークフローで使用することで、ポストトレーニングやポリシー評価が簡素化され、ファウンデーションモデルから展開されたロボットの動作への移行がスムーズになります。以下のセクションでは、シミュレーションワークフローで GR00T 1.7 を使用する手順を詳しく説明します。
GR00T プラットフォームと 1.7 モデルを用いた器用な操作タスクの実行
image*図 3. ポストトレーニング後のリンゴの把持・配置タスクを実行する GR00T 1.7 ヒューマノイドロボット*
このセクションでは、環境設定から展開準備完了までを含む、GR00T プラットフォームと GR00T 1.7 モデルを用いた単純な把持・配置タスクを構築するためのシミュレーションワークフローを追跡します。これは、より詳細に全プロセスをカバーする エンドツーエンドの GR00T 開発ガイド の抜粋です。
このチュートリアルでは以下の内容を含みます:
- シミュレーション内での環境設定
- テレオペレーションによるロボットデータの収集
- 収集したデータを LeRobot フォーマットへの変換
- 変換されたデータセットを用いた GR00T 1.7 のポストトレーニング
- ポストトレーニング後のポリシー評価
このセクションはシミュレーションに焦点を当てていますが、同じ手順は物理ロボットにも適用可能であり、異なる身体構造やタスクに適応させることができます。
環境の設定
トレーニングデータを収集する前に、まず環境を設定する必要があります。オブジェクトとロボットの資産を用いてシーンを構成し、タスクを定義し、テレオペレーションデバイスを選択してください。
この例(上記の図 3 を参照)では、ロボットは棚の前に立ち、腕を使ってリンゴを同じ棚の上にあるお皿に移動させます。Whole Body Controller (WBC) がロボットのバランスを保ちます。このタスク中ロボットは歩行しないため、AGILE WBC を使用します。これは単一のエンドツーエンドポリシーであり、立ったり歩いたりするコントローラーよりも静的なタスクに適しています。
WBC は事前に慎重に選択してください。テレオペレーション中は、AGILE WBC と PinkIK がジョイント空間のターゲットを生成し、これがポリシーのトレーニング信号となります。異なるコントローラーを使用すると、同じ動作であっても異なるトレーニング分布が得られます。
高レベルの実装は以下のコードスニペットのようになります。これらのスニペットでは Isaac Lab-Arena API を使用してシーンを構成し、資産を登録し、テレオペレーションデバイスを接続します。これらはあくまでスニペットです。環境設定全体については GitLab Pages を参照してください。
background = self.asset_registry.get_asset_by_name("galileo_locomanip")()
pick_up_object = self.asset_registry.get_asset_by_name(args_cli.object)()
destination = self.asset_registry.get_asset_by_name(args_cli.destination)()
embodiment = self.asset_registry.get_asset_by_name(args_cli.embodiment)(
enable_cameras=args_cli.enable_cameras
)
teleop_device = (
self.device_registry.get_device_by_name(args_cli.teleop_device)()
if args_cli.teleop_device is not None else None
)
scene = Scene(assets=[background, pick_up_object, destination])
task = PickAndPlaceTask(
pick_up_object=pick_up_object,
destination_location=destination,
background_scene=background,
)
return IsaacLabArenaEnvironment(
name=self.name,
embodiment=embodiment,
scene=scene,
task=task,
teleop_device=teleop_device,
)
デモデータの収集
image*図 4. VR ヘッドセットと CloudXR ストリーミングを使用して Isaac Teleop でロボットの実演データを収集する様子*
環境のセットアップが完了したら、Isaac Teleop を使用して実演データをキャプチャできます。この際、AGILE WBC(Whole-Body Control: 全身制御)が収集プロセス全体で制御を担当します。実演データは、サポートされている VR ヘッドセットを CloudXR クライアント経由で使用して収集されます。CloudXR ランタイムを開始し、CloudXR 環境をソース(読み込み)した後、以下のコマンドで実演を記録します:
python isaaclab_arena/scripts/imitation_learning/record_demos.py \
--viz kit \
--device cpu \
--enable_cameras \
--dataset_file $DATASET_DIR/arena_g1_static_apple_dataset_recorded.hdf5 \
--num_demos 400 \
--num_success_steps 10 \
--disable_full_sim_buffer_reset \
galileo_g1_static_pick_and_place
--object apple_01_objaverse_robolab \
--destination clay_plates_hot3d_robolab \
--teleop_device openxr
ここでは品質も量と同様に重要です。ノイズの多いデータや一貫性のないデータはポリシーがどれだけよく学習できるかを制限するため、滑らかな動作、安定した把持、多様なアプローチ方向を持つクリーンなデモを心がけてください。このタスクでは、400 本の軌道データを一度に収集するのではなく、複数のセッションで収集したデータをつなぎ合わせて作成しました。完全なセットのデモに着手する前に、まずは小さなバッチのデータから始めて、各部分がどのように組み合わさるかを理解することから始めることも十分に可能です。
成功したデモは HDF5 ファイルに保存され、これが次の段階への生入力となります。ここでは GR00T 1.7 がポストトレーニングで消費する LeRobot フォーマットに変換されます。
データ形式の変換
GR00T 1.7 は LeRobot フォーマットのデータセットを消費するため、記録された HDF5 ファイルはトレーニング前に Arena コンテナ内で変換されます。この変換は、記録されたフィールドを GR00T が期待する内容にマッピングする設定ファイル g1_static_apple_config.yaml によって実行されます:
data_root: /datasets/isaaclab_arena/static_apple_tutorial
hdf5_name: "arena_g1_static_apple_dataset_recorded.hdf5"
language_instruction: "move the apple to the plate"
task_index: 3
state_name_sim: "robot_joint_pos"
action_name_sim: "processed_actions"
pov_cam_name_sim: "robot_head_cam_rgb"
fps: 50
chunks_size: 1000
変換を実行するには、以下を実行してください:
python isaaclab_arena_gr00t/lerobot/convert_hdf5_to_lerobot.py \
--yaml_file isaaclab_arena_gr00t/lerobot/config/g1_static_apple_config.yaml
これにより、状態とアクションを含む parquet ファイル、MP4 カメラ録画、およびデータセットメタデータを格納した lerobot フォルダが生成されます。変換されたデータセットが完成したら、GR00T 1.7 モデルのポストトレーニング(後方学習)を実行できます。
GR00T 1.7 のポストトレーニング
ポストトレーニングは、Arena コンテナ外で、Isaac-GR00T リポジトリのスタンドアロンチェックアウト上で実行されます。ファインチューニングコマンドは、視覚バックボーン、プロジェクター、拡散モデルを調整しつつ、言語モデルは凍結(固定)したままにします:
uv run python -m torch.distributed.run --nproc_per_node=1 --standalone \
gr00t/experiment/launch_finetune.py \
--base-model-path nvidia/GR00T-N1.7-3B \
--dataset-path $DATASET_DIR/arena_g1_static_apple_dataset_recorded/lerobot \
--output-dir $MODELS_DIR/static_apple_n17_finetune \
--modality-config-path /path/to/IsaacLab-Arena/isaaclab_arena_gr00t/embodiments/g1/g1_sim_wbc_data_gr00t_n_1_7_config.py \
--embodiment-tag new_embodiment \
--global-batch-size 12 \
--max-steps 20000 \
--num-gpus 1 \
--save-steps 5000 \
--save-total-limit 5 \
--no-tune-llm \
--tune-visual \
--tune-projector \
--tune-diffusion-model \
--dataloader-num-workers 8 \
--color-jitter-params brightness 0.3 contrast 0.4 saturation 0.5 hue 0.08
ポリシーの評価
ポストトレーニング後、評価はたったの 2 ステップです。まずチェックポイントを GR00T サーバーに読み込み、次にクローズドループでポリシーを実行します。Arena はサーバー - クライアント構成を採用しており、サーバーが微調整済みのモデルをホストし、Arena クライアントがシミュレーションを実行してサーバーからモデルへの照会を行います。
Arena コンテナからクライアントを起動してポリシーを実行します:
/isaac-sim/python.sh isaaclab_arena/evaluation/policy_runner.py \
--viz kit \
--policy_type isaaclab_arena_gr00t.policy.gr00t_remote_closedloop_policy.Gr00tRemoteClosedloopPolicy \
--policy_config_yaml_path isaaclab_arena_gr00t/policy/config/g1_static_apple_gr00t_closedloop_config.yaml \
--remote_host <SERVER_HOST> --remote_port 5555 \
--num_steps 600 \
--enable_cameras \
galileo_g1_static_pick_and_place \
--object apple_01_objaverse_robolab \
--destination clay_plates_hot3d_robolab \
--embodiment g1_wbc_agile_joint
評価が進行中である間は、メトリクスがコンソールに出力され続け、最終的にポストトレーニングされたポリシーのパフォーマンスを示す結果が表示されます。
[Rank 0/1] メトリクス: {'success_rate': 1.0, 'object_moved_rate': 1.0, 'num_episodes': 1}
評価する量を調整するには、いくつかのフラグを変更します。--num_steps はロールアウト長を設定し、600 はこのタスクでは約 1 エピソードに相当する迅速なスモークテストです。代表的な成功率を評価するには、--num_episodes 100(より強力な推定値には 1000)を使用して完全なエピソードで評価し、--num_envs 5 を追加して並列環境を実行し、試行全体にわたるランダム化を強化します。その他はすべて同じままであり、ロールアウトの平均化数をのみ変更しています。
シームレスな開発プロセス
これで Isaac GR00T 開発プラットフォームを通じた一連の流れが完了しました。各ステージではクリーンな成果物が生成され、それが直接次のステージへと引き継がれるため、完全に統合されたシームレスな開発プロセスを実現します。このウォークスルーでは特定の具体例を挙げていますが、同じプロセスは独自のロボットセットアップに適応させ、ユースケースに合わせたタスクを定義し、自システム上でデモンストレーションデータを収集し、データ変換・トレーニング後処理・評価のワークフローを再利用することが可能です。
拡大する GR00T エコシステム
GR00T プラットフォームとリファレンスワークフローは、すでに人間型ロボティクスパートナー間で拡大しつつあるエコシステム全体で採用され始めています。
- Humanoid メーカーおよび AI プロバイダーである 1X、Agility、ANYBotics、Bellboy Robotics、FieldAI、Lightwheel AI、NEURA Robotics、Nexuni、Noble Machines、Schaeffler、Skild AI、Techman Robot は、開発パイプラインの加速と AI 搭載ロボットの実用的な産業利用への迅速な導入を実現するため、Isaac Teleop、Sim、Lab、ROS など GR00T プラットフォームの一部を統合しています。
- スタンフォード大学、CMU(カーネギーメロン大学)、UCSD(カリフォルニア大学サンディエゴ校)、ETH ギュリッヒ、AI2 などの研究機関は、統合の複雑さを低減し、ロボットの起動からスキル開発、そして実世界での検証へと迅速に進めるため、統一された GR00T のエンドツーエンドワークフローを実験します。
- Haptikos、Manus、Noitom、OpenGraph Labs、PICO、Sensing、HTC Vive、Wuji、Xsens を含む主要なウェアラブルおよび XR デバイスメーカーは、NVIDIA Isaac Teleop へのネイティブサポートを備えたデバイスを提供しており、高品質なデモの収集が容易になっています。
Getting started(はじめに)
GR00T プラットフォームおよび GR00T 1.7 モデルは、現在あらゆる開発者が利用可能です。シミュレーションから始めるか、物理ロボット上で開始するかにかかわらず、ワークフローは同じです。エントリーポイントを選択し、範囲を限定されたタスクを定義して、最初のエンドツーエンドポリシーを構築してください。
開始は難しい場合もあるため、学習コンテンツ「NVIDIA Isaac GR00T を用いたヒューマノイドロボットの開発とデプロイをエンドツーエンドで行う方法」How to Develop and Deploy Humanoid Robots End-to-End with NVIDIA Isaac GR00T および「GR00T プラットフォーム紹介動画」GR00T Platform Introduction Video にて、完全なエンドツーエンドの参照ワークフローを構築しました。
追加リソース:
- NVIDIA Isaac GR00T 開発プラットフォーム
- Isaac Teleop & GR00T 1.7 LeRobot 統合ブログ
- Isaac GR00T 1.7 Brev Launchable
- LeRobot Brev Launchable
- GitHub 上の NVIDIA Isaac GR00T 1.7
- Hugging Face 上の NVIDIA Isaac GR00T 1.7
原文を表示
As more teams move from humanoid robot bring-up to task-specific skill development, the need for repeatable development workflows is growing. Building humanoids remains complex, and today’s development pipelines are still highly fragmented. As a result, developers spend significant time configuring robotics infrastructure before they can focus on building robot capabilities.
While the robotics community has developed capable tools across individual stages of the pipeline, connecting them into a seamless workflow remains a challenge due to siloed software ecosystems, incompatible data formats, and manual integrations between tools. To address this, we introduce the NVIDIA Isaac GR00T Development Platform: an open source humanoid robot platform that unifies every stage of the pipeline for faster development.
This post covers the end-to-end GR00T platform, from data collection and model training to large-scale evaluation and deployment readiness, showcasing how a fully integrated platform can streamline humanoid development.
Accelerate end-to-end humanoid development

The Isaac GR00T platform helps robotics developers scale humanoid data collection and simulation-based training to develop, validate, and deploy policies on real robots. Its end-to-end platform is fully open and modular, enabling teams to use individual components or the complete pipeline, integrate their own tooling, and build using the validated NVIDIA software stack.
A key component of the GR00T workflow is the open Isaac GR00T 1.7 vision-language-action (VLA) model, which streamlines development through a strong pretrained foundation. Trained on diverse data, it can efficiently generalize to new tasks and environments while producing more natural, human-like motion.
Get started with GR00T 1.7

GR00T 1.7 is the first open, commercially usable VLA model for generalized humanoid robot skills, released under the permissive Apache 2.0 license. It’s a cross-embodiment model that takes multimodal input, including language and images, and produces the actions needed to perform tasks across diverse environments. Instead of training a policy from scratch, developers can start from a model that already encodes broad manipulation priors and adapt it to specific robots, tasks, and environments through post-training.
What’s new in GR00T 1.7
- Robust Human Video Pretraining: 1.7 is pretrained on ~32K hours of real demonstration and human ego-centric data as well as ~8K hours of simulated rollouts and demonstrations from BEHAVIOR, RoboCasa, and Simulated GR-1 for more human-like action.
- New VLM backbone: Cosmos-Reason2-2B (Qwen3-VL architecture) replaces the Eagle backbone used in GR00T N1.6. This helps support flexible resolution and encodes images in their native aspect ratio without padding.
- Expanded deployment support: Adds full pipeline export to ONNX and TensorRT, with improved export reliability and higher-frequency updates.
- Enhanced performance: Improved long-horizon task reasoning through task- and subtask-level decomposition, increasing reliability, motion quality, and cross-embodiment generalization.
- Improved benchmarks: Consistent improvements across DROID and SimplerEnv compared to N1.6, including DROID-F0 (+10%) and DROID-F6 (+61%), as well as SimplerEnv Bridge (+5%) and Fractal (+2%), demonstrating stronger generalization.
GR00T 1.7 is accessible via GitHub and Hugging Face, with model weights publicly available and a base checkpoint of 3 billion parameters.
Using the GR00T 1.7 model in the end-to-end GR00T workflow streamlines post-training and policy evaluation, simplifying the transition from foundation model to deployed robot behavior. The following section details the steps for using GR00T 1.7 in the simulation workflow.
Using GR00T platform and 1.7 model for a dexterous manipulation task

This section walks through a simulation workflow for building a simple pick-and-place task using the GR00T platform and the GR00T 1.7 model, from environment setup to deployment readiness. This is an excerpt from our end-to-end GR00T development guide, which covers the full process in more detail.
The walkthrough includes:
- Setting up an environment in simulation
- Collecting robot data through teleoperation
- Converting collected data into LeRobot format
- Post-training GR00T 1.7 with the converted dataset
- Evaluating the post-trained policy
Although this section focuses on simulation, the same steps can be applied to physical robots and adapted across different embodiments and tasks.
Set up an environment
Before collecting any training data, you must first set up the environment. Compose the scene with object and robot assets, define the task, and choose the teleoperation device.
In this example (see Figure 3, above) , the robot stands in front of a shelf and uses its arms to move an apple onto a plate on the same shelf. A Whole Body Controller (WBC) keeps the robot balanced; since the robot doesn’t walk during this task, use AGILE WBC, a single end-to-end policy that fits a static task better than a stand/walk controller.
Choose the WBC deliberately up front: during teleoperation, the AGILE WBC and PinkIK produce the joint-space targets that become the policy’s training signal, so a different controller yields a different training distribution for the same motion.
At a high level the implementation looks like the following code snippet. These snippets use the Isaac Lab-Arena APIs to compose the scene, register assets, and wire up the teleoperation device. These are just snippets; for the entire environment set-up, go to GitLab Pages.
background = self.asset_registry.get_asset_by_name("galileo_locomanip")()
pick_up_object = self.asset_registry.get_asset_by_name(args_cli.object)()
destination = self.asset_registry.get_asset_by_name(args_cli.destination)()
embodiment = self.asset_registry.get_asset_by_name(args_cli.embodiment)(
enable_cameras=args_cli.enable_cameras
)
teleop_device = (
self.device_registry.get_device_by_name(args_cli.teleop_device)()
if args_cli.teleop_device is not None else None
)
scene = Scene(assets=[background, pick_up_object, destination])
task = PickAndPlaceTask(
pick_up_object=pick_up_object,
destination_location=destination,
background_scene=background,
)
return IsaacLabArenaEnvironment(
name=self.name,
embodiment=embodiment,
scene=scene,
task=task,
teleop_device=teleop_device,
)
Collect demonstrations

Once you’ve set up your environment, you can use Isaac Teleop to capture demonstration data, with AGILE WBC handling whole-body control during collection. Demonstrations are collected using a supported VR headset over a CloudXR client. After starting the CloudXR runtime and sourcing the CloudXR environment, record demonstrations with:
python isaaclab_arena/scripts/imitation_learning/record_demos.py \
--viz kit \
--device cpu \
--enable_cameras \
--dataset_file $DATASET_DIR/arena_g1_static_apple_dataset_recorded.hdf5 \
--num_demos 400 \
--num_success_steps 10 \
--disable_full_sim_buffer_reset \
galileo_g1_static_pick_and_place \
--object apple_01_objaverse_robolab \
--destination clay_plates_hot3d_robolab \
--teleop_device openxr
Quality matters as much as quantity here. Aim for clean demonstrations with smooth motions, stable grasps, and diverse approach directions, since noisy or inconsistent data limits how well the policy can learn. For this task, we collected 400 trajectories not all at once but stitched together through multiple sessions of data collection. You can definitely start with a smaller batch of data to understand how the pieces fit together before committing to a full set of demonstrations.
Successful demonstrations are saved to an HDF5 file, which becomes the raw input for the next stage, where it’s converted to the LeRobot format that GR00T 1.7 consumes for post-training.
Convert data format
GR00T 1.7 consumes datasets in LeRobot format, so the recorded HDF5 is converted inside the Arena container before training. The conversion is driven by a config file, g1_static_apple_config.yaml, which maps the recorded fields to what GR00T expects:
data_root: /datasets/isaaclab_arena/static_apple_tutorial
hdf5_name: "arena_g1_static_apple_dataset_recorded.hdf5"
language_instruction: "move the apple to the plate"
task_index: 3
state_name_sim: "robot_joint_pos"
action_name_sim: "processed_actions"
pov_cam_name_sim: "robot_head_cam_rgb"
fps: 50
chunks_size: 1000
Run the conversion with:
python isaaclab_arena_gr00t/lerobot/convert_hdf5_to_lerobot.py \
--yaml_file isaaclab_arena_gr00t/lerobot/config/g1_static_apple_config.yaml
This produces a lerobot folder containing parquet files with states and actions, MP4 camera recordings, and dataset metadata. Now with a converted dataset you can post-train GR00T 1.7 model.
Post-train GR00T 1.7
Post-training runs outside the Arena container, in a standalone checkout of the Isaac-GR00T repo. The fine-tuning command tunes the visual backbone, projector, and diffusion model while keeping the language model frozen:
uv run python -m torch.distributed.run --nproc_per_node=1 --standalone \
gr00t/experiment/launch_finetune.py \
--base-model-path nvidia/GR00T-N1.7-3B \
--dataset-path $DATASET_DIR/arena_g1_static_apple_dataset_recorded/lerobot \
--output-dir $MODELS_DIR/static_apple_n17_finetune \
--modality-config-path /path/to/IsaacLab-Arena/isaaclab_arena_gr00t/embodiments/g1/g1_sim_wbc_data_gr00t_n_1_7_config.py \
--embodiment-tag new_embodiment \
--global-batch-size 12 \
--max-steps 20000 \
--num-gpus 1 \
--save-steps 5000 \
--save-total-limit 5 \
--no-tune-llm \
--tune-visual \
--tune-projector \
--tune-diffusion-model \
--dataloader-num-workers 8 \
--color-jitter-params brightness 0.3 contrast 0.4 saturation 0.5 hue 0.08
Evaluate the policy
After post-training, evaluation is just two steps: load your checkpoint into a GR00T server, then run the policy in a closed loop. Arena uses a server-client setup, where the server hosts your fine-tuned model and the Arena client runs the simulation and queries the model from the server.
Run the policy by launching the client from the Arena container:
/isaac-sim/python.sh isaaclab_arena/evaluation/policy_runner.py \
--viz kit \
--policy_type isaaclab_arena_gr00t.policy.gr00t_remote_closedloop_policy.Gr00tRemoteClosedloopPolicy \
--policy_config_yaml_path isaaclab_arena_gr00t/policy/config/g1_static_apple_gr00t_closedloop_config.yaml \
--remote_host <SERVER_HOST> --remote_port 5555 \
--num_steps 600 \
--enable_cameras \
galileo_g1_static_pick_and_place \
--object apple_01_objaverse_robolab \
--destination clay_plates_hot3d_robolab \
--embodiment g1_wbc_agile_joint
Metrics print to the console as evaluation is in progress until you get a final output that tells you the performance of your post-trained policy.
[Rank 0/1] Metrics: {'success_rate': 1.0, 'object_moved_rate': 1.0, 'num_episodes': 1}
To change how much you evaluate, adjust a few flags. --num_steps sets the rollout length; 600 is a quick smoke test corresponding to about one episode for this task. For a representative success rate, evaluate complete episodes instead with --num_episodes 100 (or 1000 for a stronger estimate), and add --num_envs 5 to run environments in parallel for more randomization across trials. Everything else stays the same; you’re only changing how many rollouts you average over.
Streamlined development process
That completes a full pass through the Isaac GR00T Development Platform. Each stage produces a clean artifact that feeds directly into the next for a fully integrated, streamlined development process. While this walkthrough uses a specific embodiment as an example, the same process can be adapted to your own robot setup, define a task for your use case, collect demonstrations on your system, and reuse the same data conversion, post-training, and evaluation workflow.
A growing GR00T ecosystem
The GR00T platform and reference workflow are already being adopted across a growing ecosystem of humanoid robotics partners.
- Humanoid makers and AI providers including 1X, Agility, ANYBotics, Bellboy Robotics, FieldAI, Lightwheel AI, NEURA Robotics, Nexuni, Noble Machines, Schaeffler, Skild AI, and Techman Robot are integrating components of the GR00T platform such as Isaac Teleop, Sim, Lab, and ROS to accelerate their development pipeline and bring AI-enabled robots into real industrial use faster.
- Research institutions including Stanford, CMU, UCSD, ETH Zurich, and AI2 will be experimenting with the unified GR00T end-to-end workflow to reduce integration complexity and move faster from robot bring-up to skill development and real-world validation.
- Leading wearable and XR device makers including Haptikos, Manus, Noitom, OpenGraph Labs, PICO, Sensing, HTC Vive, Wuji, and Xsens offer devices with native support for NVIDIA Isaac Teleop, making it easier to capture high-quality demonstrations.
Getting started
The GR00T platform and GR00T 1.7 model are available today for any developer to use. Whether starting in simulation or on a physical robot, the workflow remains the same. Select an entry point, define a bounded task, and build your first end-to-end policy.
Getting started can be challenging, so we have built a complete end-to-end reference workflow, which is provided in the learning content How to Develop and Deploy Humanoid Robots End-to-End with NVIDIA Isaac GR00T, along with the GR00T Platform Introduction Video.
Additional resources:
- NVIDIA Isaac GR00T Development Platform
- Isaac Teleop & GR00T 1.7 LeRobot Integration Blog
- Isaac GR00T 1.7 Brev Launchable
- LeRobot Brev Launchable
- NVIDIA Isaac GR00T 1.7 on GitHub
- NVIDIA Isaac GR00T 1.7 on Hugging Face
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み