General
What is Isaac GR00T?
What is Isaac GR00T?
Who is Isaac GR00T designed for?
Who is Isaac GR00T designed for?
- Leverage a pre-trained foundation model for robot control
- Fine-tune on small, custom datasets
- Adapt the model to specific robotics tasks with minimal data
- Deploy the model for inference
What's the difference between GR00T N1.5 and N1.6?
What's the difference between GR00T N1.5 and N1.6?
- Uses NVIDIA Cosmos-Reason-2B VLM variant with flexible resolution support
- 2x larger DiT (32 layers vs 16 layers)
- Simplified architecture removing the post-VLM transformer adapter
- Predicts state-relative action chunks instead of absolute positions
- Bimanual YAM arms
- AGIBot Genie1
- Simulated Galaxea R1 Pro on BEHAVIOR suite
- Unitree G1 whole-body locomanipulation
- Faster dataloader with sharded support
- Simplified data processing pipeline
- Flexible training configuration
Can I use the older GR00T N1.5 model?
Can I use the older GR00T N1.5 model?
Installation and setup
What are the system requirements?
What are the system requirements?
- NVIDIA GPU with CUDA support (CUDA 12.4 recommended, 11.8 also works)
- Python 3.10
- uv v0.8.4+ for dependency management
- 1 H100 node or L40 node for optimal performance
- RTX PRO 6000 Blackwell Server Edition or DGX B300 for production use
- Jetson AGX Thor Developer Kit for edge deployment
Do I need to install submodules?
Do I need to install submodules?
Should I use Docker or local installation?
Should I use Docker or local installation?
- You want to avoid system-level dependency conflicts
- You need a reproducible environment
- You’re deploying to multiple machines
- You need direct access to GPU drivers
- You’re developing and iterating quickly
- You prefer managing dependencies with uv
Which CUDA version should I use?
Which CUDA version should I use?
- For CUDA 11.8: Install
flash-attn==2.8.2 - For CUDA 12.8 (RTX 5090): Use
flash-attn==2.8.0.post2withpytorch-cu128
Training and finetuning
How much data do I need to finetune GR00T?
How much data do I need to finetune GR00T?
- Task complexity
- Similarity to pre-training data
- Desired performance level
What batch size should I use for finetuning?
What batch size should I use for finetuning?
- H100: Batch size 32-64
- L40: Batch size 16-32
- RTX 4090: Batch size 8-16
--global-batch-size--dataloader-num-workers--num-shards-per-epoch--shard-size
Why do I see variance in training results?
Why do I see variance in training results?
- Non-deterministic operations in image augmentations
- Stochastic components in the training pipeline
- Hardware differences
- Run multiple training runs and select the best checkpoint
- Use validation metrics to track performance
- Keep this variance in mind when comparing to reported benchmarks
Can I finetune on my own robot?
Can I finetune on my own robot?
- Demonstration data in GR00T-flavored LeRobot v2 format
- Modality configuration file specifying cameras, states, and actions
- Convert your data to LeRobot format
- Create a modality config JSON
- Run the finetuning script with
--embodiment-tag NEW_EMBODIMENT
What are the pre-registered embodiment tags?
What are the pre-registered embodiment tags?
Inference and deployment
What inference speed can I expect?
What inference speed can I expect?
Should I use server-client architecture or local policy?
Should I use server-client architecture or local policy?
- Running policy on a separate GPU server from robot controller
- Need to isolate dependencies between policy and robot code
- Deploying to multiple robots with centralized inference
- Policy and robot controller run on the same machine
- Need lowest possible latency
- Simple single-robot setup
How do I debug my environment integration?
How do I debug my environment integration?
ReplayPolicy to replay ground-truth actions from your dataset:- Environment reset state mismatch
- Observation preprocessing issues
- Action space mismatches
Can I run GR00T on Jetson AGX Thor?
Can I run GR00T on Jetson AGX Thor?
- Blackwell GPU with 2560 CUDA cores
- 14-core Arm Neoverse-V3AE CPU
- 128GB LP5 memory
What observation format does the policy expect?
What observation format does the policy expect?
policy.get_modality_config() to query expected camera names, state keys, and temporal horizons.Data and datasets
What data format does GR00T use?
What data format does GR00T use?
- Parquet files for episode metadata and timesteps
- MP4 videos for camera observations
- Numpy arrays for states and actions
How do I convert my existing dataset?
How do I convert my existing dataset?
scripts/lerobot_conversion/:What pre-training data was used for GR00T N1.6?
What pre-training data was used for GR00T N1.6?
- Bimanual manipulation datasets
- Semi-humanoid robot demonstrations
- Humanoid whole-body control data
- Bimanual YAM arms
- AGIBot Genie1
- Simulated Galaxea R1 Pro on BEHAVIOR suite
- Unitree G1 whole-body locomanipulation
Evaluation
What's the difference between open-loop and closed-loop evaluation?
What's the difference between open-loop and closed-loop evaluation?
- Offline assessment comparing predicted actions to ground truth
- Fast, doesn’t require simulation environment
- Good for quick validation of model training
- Generates MSE plots and visualizations
- Online assessment in simulation or real environment
- Tests actual policy performance with visual feedback
- Required for measuring task success rates
- More realistic but slower
Which simulation benchmarks are supported?
Which simulation benchmarks are supported?
- RoboCasa
- RoboCasa GR1 Tabletop Tasks
- LIBERO
- SimplerEnv (Bridge, Fractal)
- BEHAVIOR-1K
- G1 LocoManipulation
- PointNav
- SO-100
- DROID
examples/ directory.How do I add a new simulation benchmark?
How do I add a new simulation benchmark?
-
Register environment prefix in
gr00t/eval/sim/env_utils.py: -
Add test cases in
tests/gr00t/eval/sim/test_env_utils.py - Create environment wrapper that implements the Policy API observation/action format
- Test with ReplayPolicy before running with trained models
Contributing
How can I contribute to Isaac GR00T?
How can I contribute to Isaac GR00T?
- Reporting bugs
- Suggesting features
- Making pull requests
- Code style guidelines
- Testing requirements
How do I report a bug?
How do I report a bug?
- Search existing issues to see if it’s already reported
- If not, open a new issue with:
- Clear title and description
- Steps to reproduce
- Expected vs actual behavior
- Error messages and stack traces
- Environment information (CUDA version, GPU, OS, etc.)
What code style should I follow?
What code style should I follow?
ruff for code formatting and linting: