This repository is a fork of the original NVIDIA Isaac GR00T repository, modified to support LEAPP export workflows.
The two main workflows in this fork are:
- Export a GR00T policy with LEAPP.
- Posttrain GR00T on custom robot data before export or deployment.
For the full upstream model documentation, architecture details, datasets, and benchmark notes, see the original Isaac GR00T README.
Inference and export require a CUDA-capable GPU. Posttraining is more demanding; use one or more GPUs with at least 40 GB VRAM when possible.
This repo follows the upstream GR00T platform split:
- dGPU: CUDA 12.8 with Python 3.10.
- Jetson Orin: CUDA 12.6 with Python 3.10.
- Jetson Thor and DGX Spark: CUDA 13.0 with Python 3.12.
Platform-specific setup scripts and Dockerfiles live under scripts/deployment/.
GR00T uses git submodules. Clone with submodules enabled:
git clone --recurse-submodules https://github.com/nvidia-isaac/gr00t-leapp-export
cd gr00t-leapp-exportIf you already cloned without submodules, initialize them with:
git submodule update --init --recursivegit-lfs is required for demo data files:
sudo apt install git-lfs
git lfs installInstall uv:
curl -LsSf https://astral.sh/uv/install.sh | shFor the default dGPU setup:
sudo apt-get update && sudo apt-get install -y ffmpeg
uv sync --python 3.10
uv run python -c "import gr00t; print('GR00T installed successfully')"For Jetson Thor, Jetson Orin, DGX Spark, or Docker-based setup, use the platform guides under scripts/deployment/ and docker/.
Use export/export_with_leapp.py to export a GR00T policy into a LEAPP-generated ONNX package.
uv run python export/export_with_leapp.py \
--model_path nvidia/GR00T-N1.7-3B \
--dataset_path demo_data/droid_sample \
--embodiment_tag OXE_DROID_RELATIVE_EEF_RELATIVE_JOINT \
--output_name exported_gr00tFor a custom fine-tuned G1 or NEW_EMBODIMENT policy, pass a joint-name config so the exported YAML contains real ROS joint names:
uv run python export/export_with_leapp.py \
--model_path <path-to-finetuned-checkpoint> \
--dataset_path <path-to-lerobot-dataset> \
--embodiment_tag new_embodiment \
--joint_config <path-to-joint-config.json>\
--output_name exported_gr00tValidate an export by comparing the original PyTorch policy against the exported policy:
uv run python export/policy_comparison.py \
--model_yaml_path exported_gr00t/exported_gr00t.yaml \
--max_steps 100 \
--show_plots TrueSee export/README.md for more export options and task-specific examples.
Use posttraining to adapt GR00T to your robot, embodiment tag, and dataset before export or deployment.
Your dataset should follow the GR00T LeRobot format and include a meta/modality.json file describing state, action, and video fields. See getting_started/data_preparation.md and getting_started/finetune_new_embodiment.md for full details.
Single-GPU example:
CUDA_VISIBLE_DEVICES=0 uv run python \
gr00t/experiment/launch_finetune.py \
--base-model-path nvidia/GR00T-N1.7-3B \
--dataset-path demo_data/cube_to_bowl_5 \
--embodiment-tag NEW_EMBODIMENT \
--modality-config-path examples/SO100/so100_config.py \
--num-gpus 1 \
--output-dir /tmp/gr00t_posttrain \
--max-steps 2000 \
--global-batch-size 32 \
--dataloader-num-workers 4Wrapper script example:
bash examples/finetune.sh \
--base-model-path nvidia/GR00T-N1.7-3B \
--dataset-path demo_data/cube_to_bowl_5 \
--embodiment-tag NEW_EMBODIMENT \
--modality-config-path examples/SO100/so100_config.py \
--output-dir /tmp/gr00t_posttrainAfter posttraining, pass the resulting checkpoint to the LEAPP export command above.
- Code: Apache 2.0, see
LICENSE. - Model weights: NVIDIA Open Model License.
If you use GR00T in research, cite the upstream NVIDIA Isaac GR00T work:
@inproceedings{gr00tn1_2025,
archivePrefix = {arxiv},
eprint = {2503.14734},
title = {{GR00T} {N1}: An Open Foundation Model for Generalist Humanoid Robots},
author = {NVIDIA and Johan Bjorck and Fernando Castaneda, Nikita Cherniadev and Xingye Da and Runyu Ding and Linxi "Jim" Fan and Yu Fang and Dieter Fox and Fengyuan Hu and Spencer Huang and Joel Jang and Zhenyu Jiang and Jan Kautz and Kaushil Kundalia and Lawrence Lao and Zhiqi Li and Zongyu Lin and Kevin Lin and Guilin Liu and Edith Llontop and Loic Magne and Ajay Mandlekar and Avnish Narayan and Soroush Nasiriany and Scott Reed and You Liang Tan and Guanzhi Wang and Zu Wang and Jing Wang and Qi Wang and Jiannan Xiang and Yuqi Xie and Yinzhen Xu and Zhenjia Xu and Seonghyeon Ye and Zhiding Yu and Ao Zhang and Hao Zhang and Yizhou Zhao and Ruijie Zheng and Yuke Zhu},
month = {March},
year = {2025},
booktitle = {ArXiv Preprint},
}