You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

4.4 KiB

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)

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

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)

Last updated in source documentation: December 2025