# LeRobot + GR00T-WBC Integration for Unitree G1 **Source:** https://huggingface.co/docs/lerobot/unitree_g1 **Fetched:** 2026-02-13 **Type:** GitHub Repository / Documentation --- ## Description LeRobot (by HuggingFace) provides first-class support for the Unitree G1 humanoid robot, integrating NVIDIA's GR00T-WholeBodyControl as a locomotion backend. The integration enables end-to-end workflows from robot connection to running whole-body control policies, data collection, and imitation learning. Unitree also maintains a separate `unitree_IL_lerobot` fork that extends LeRobot with G1-specific data collection and training pipelines. ## Key Features / Contents ### LeRobot G1 Integration (HuggingFace Official) - **G1 Robot Class**: Handles low-level read/write operations to/from the humanoid - **ZMQ Socket Bridge**: Remote communication and camera streaming over WLAN, Ethernet, or directly on-robot - **Locomotion Policies**: Supports NVIDIA GR00T and Amazon FAR Holosoma controllers - **MuJoCo Simulation Mode**: Test policies without physical robot by setting `is_simulation=True` - **Dual DOF Support**: Both 29-DOF and 23-DOF G1 EDU versions supported ### Unitree IL LeRobot (Unitree Official Fork) - **Multiple End-Effectors**: Dex1, Dex3, Brainco, and Inspire1 dexterous hands - **Data Conversion**: Transforms Unitree native JSON format into LeRobot v3.0 dataset structure - **Policy Architectures**: ACT, Diffusion, Pi0, Pi05, and GR00T policies - **Real-world Evaluation Pipeline**: Scripts for testing trained policies on physical robots - **IsaacLab Simulation**: Integration with unitree_sim_isaaclab for virtual validation ## G1 Relevance This is the primary imitation learning framework for G1 manipulation and locomotion tasks. ### Connection Setup - G1 Ethernet IP fixed at `192.168.123.164` - SSH credentials: `unitree@192.168.123.164` (password: `123`) - WiFi can be enabled on the G1's Orin for wireless operation ### Architecture 1. **Robot Server** runs on the G1's Jetson Orin (`run_g1_server.py`) 2. **Remote Client** runs on workstation, sends control commands via ZMQ 3. **Locomotion Controller** wraps GR00T-WBC or Holosoma policies ## Installation / Usage ### On the G1 Robot (Orin) ```bash ssh unitree@192.168.123.164 conda create -y -n lerobot python=3.10 conda activate lerobot git clone https://github.com/huggingface/lerobot.git cd lerobot pip install -e '.[unitree_g1]' git clone https://github.com/unitreerobotics/unitree_sdk2_python.git cd unitree_sdk2_python && pip install -e . # Start robot server (keep running) python src/lerobot/robots/unitree_g1/run_g1_server.py ``` ### On Workstation ```bash conda create -y -n lerobot python=3.10 conda activate lerobot git clone https://github.com/huggingface/lerobot.git cd lerobot pip install -e '.[unitree_g1]' git clone https://github.com/unitreerobotics/unitree_sdk2_python.git cd unitree_sdk2_python && pip install -e . # Update robot IP in config # Edit src/lerobot/robots/unitree_g1/config_unitree_g1.py # Set robot_ip to your robot's WiFi IP # Run GR00T locomotion python examples/unitree_g1/gr00t_locomotion.py --repo-id "nepyope/GR00T-WholeBodyControl_g1" # Run Holosoma locomotion python examples/unitree_g1/holosoma_locomotion.py ``` ### Unitree IL LeRobot Data Pipeline 1. **Collection**: Use `avp_teleoperate` tool for teleoperated data gathering 2. **Organization**: Sort and rename episodes sequentially (episode_0, episode_1, ...) 3. **Conversion**: Transform JSON to LeRobot v3.0 format with robot-specific configs 4. **Training**: Train policies (ACT, Diffusion, Pi0, GR00T) on standardized datasets 5. **Evaluation**: Test on real robots or IsaacLab simulation ### Dependencies - Python 3.10 - Unitree SDK2 Python (requires CycloneDDS v0.10.2) - FFmpeg 7.1.1 (for video processing) - Pinocchio (for kinematics) ## Related Resources - [LeRobot G1 Docs](https://huggingface.co/docs/lerobot/unitree_g1) - [unitree_IL_lerobot](https://github.com/unitreerobotics/unitree_IL_lerobot) - Unitree's official LeRobot fork - [GR00T-WholeBodyControl](https://github.com/NVlabs/GR00T-WholeBodyControl) - Locomotion backend - [Amazon FAR Holosoma](https://github.com/amazon-far/holosoma) - Alternative locomotion controller - [lerobot/unitree-g1-mujoco](https://huggingface.co/lerobot/unitree-g1-mujoco) - MuJoCo model on HuggingFace - [Unitree SDK2 Python](https://github.com/unitreerobotics/unitree_sdk2_python) - Low-level robot communication *Last updated in source documentation: December 2025*