# GR00T-WholeBodyControl **Source:** https://github.com/NVlabs/GR00T-WholeBodyControl **Fetched:** 2026-02-13 **Type:** GitHub Repository --- ## Description GR00T-WholeBodyControl is NVIDIA's open-source software stack for loco-manipulation experiments across multiple humanoid platforms, with primary support for the Unitree G1. The repository provides whole-body control policies, a teleoperation stack, and a data exporter. It is part of the broader NVIDIA Isaac GR00T ecosystem for humanoid robot foundation models. ## Key Features / Contents - **Whole-Body Control Policies**: Coordinated control enabling simultaneous locomotion and manipulation across all degrees of freedom - **Teleoperation Stack**: Interfaces with Pico VR controllers for synchronized hand and body command generation; also supports LeapMotion, HTC Vive, and Nintendo Switch controllers - **Data Exporter**: Facilitates collection and logging of trajectory data during teleoperated demonstrations for downstream learning - **Docker-based Deployment**: Containerized environment with all dependencies pre-packaged from the nvgear Docker registry - **Simulation and Real Robot Support**: Can run in simulation or on real hardware with a single flag change - **Deployment Helper**: `deploy_g1.py` script orchestrates the full stack (control, teleoperation, camera streaming) across coordinated tmux sessions ## G1 Relevance This is one of the most important repositories for G1 whole-body control. Key G1-specific details: - **Primary platform**: The G1 is the primary supported humanoid robot - **Pre-trained models**: Ships with models already trained on in-the-wild Unitree G1 datasets using the `UNITREE_G1` embodiment tag - **Real robot deployment**: Requires static IP configuration (192.168.123.222) per Unitree developer guidelines - **LeRobot integration**: The GR00T locomotion controller can be launched through LeRobot using `nepyope/GR00T-WholeBodyControl_g1` ## Installation / Usage ### System Requirements - Ubuntu 22.04 - NVIDIA GPU with current drivers - Docker with NVIDIA Container Toolkit for GPU access ### Setup ```bash git clone https://github.com/NVlabs/GR00T-WholeBodyControl.git # Install Git LFS ./docker/run_docker.sh --install --root ``` ### Running in Simulation ```bash python gr00t_wbc/control/main/teleop/run_g1_control_loop.py ``` ### Running on Real Robot ```bash # Configure static IP: 192.168.123.222 python gr00t_wbc/control/main/teleop/run_g1_control_loop.py --interface real ``` ### Teleoperation (runs alongside control loop) ```bash python gr00t_wbc/control/main/teleop/run_teleop_policy_loop.py ``` ### Full Stack Deployment ```bash python scripts/deploy_g1.py ``` ## Codebase Structure - `gr00t_wbc/` - Core control logic - `docker/` - Containerization and deployment - `scripts/` - Deployment and utility scripts - External Unitree SDK bindings included - Languages: Python (84.9%), C++ (6.7%), C (6.1%) ## Related Resources - [NVIDIA Isaac GR00T](https://github.com/NVIDIA/Isaac-GR00T) - Parent project and foundation model - [WBC-AGILE](https://github.com/nvidia-isaac/WBC-AGILE) - NVIDIA's agile whole-body control variant - [LeRobot G1 Integration](https://huggingface.co/docs/lerobot/unitree_g1) - Uses GR00T-WBC as locomotion backend