Overview
The Unitree G1 is designed for:- Whole-body manipulation
- Bipedal locomotion
- Research and development
- Simulation and real-world deployment
- Vision-based control with remote cameras
Key Features
- 29 DOF: Full-body articulation
- Dual Arms: 7-DOF arms with IK support
- Legs: Bipedal locomotion with balance control
- Waist: 3-DOF torso articulation
- Wrists: 3-DOF dexterous wrists
- Simulation: MuJoCo simulation support
- Locomotion: Optional GROOT or Holosoma controllers
- Cameras: ZMQ-based remote camera streaming
Hardware Specifications
Joint Configuration (29 DOF)
Left Leg (6 DOF):- Hip: pitch, roll, yaw
- Knee: pitch
- Ankle: pitch, roll
- Hip: pitch, roll, yaw
- Knee: pitch
- Ankle: pitch, roll
- Yaw, roll, pitch
- Shoulder: pitch, roll, yaw
- Elbow: pitch
- Shoulder: pitch, roll, yaw
- Elbow: pitch
- Roll, pitch, yaw
- Roll, pitch, yaw
Control Gains
Default PID gains are configured per body part:Installation
Simulation Mode
For MuJoCo simulation:Real Hardware
For real Unitree G1 robot:192.168.123.164).
Configuration
Simulation Configuration
Real Robot Configuration
With Locomotion Controller
Configuration Parameters
bool
default:"true"
Whether to use MuJoCo simulation or real hardware
str
default:"192.168.123.164"
IP address of the Unitree G1 robot (for real hardware)
float
default:"1.0/250.0"
Control loop timestep in seconds (250 Hz default)
list[float]
Position gains for all 29 joints (auto-configured from body parts)
list[float]
Velocity gains for all 29 joints (auto-configured from body parts)
list[float]
Default joint positions (29 values, all zeros by default)
bool
default:"false"
Enable gravity compensation for arms using IK solver
str | None
default:"None"
Locomotion controller class name:
"GrootLocomotionController", "HolosomaLocomotionController", or Nonedict[str, CameraConfig]
ZMQ-based remote camera configurations
Usage
Basic Usage (Simulation)
Real Hardware Usage
Observation Format
Simulation
Real Hardware
Includes additional IMU data:Action Format
Advanced Features
Gravity Compensation
Automatically compensate for arm weight:Inverse Kinematics
The G1 includes an arm IK solver:Locomotion Controllers
GROOT Controller
Holosoma Controller
Remote Cameras
For ZMQ-based camera streaming:Simulation vs Real Hardware
Simulation (MuJoCo)
- Runs locally without hardware
- No SDK required
- Faster than real-time possible
- No IMU data
- No motor temperature/torque feedback
- Ideal for development and testing
Real Hardware
- Requires Unitree SDK2
- Network connection to robot
- Real-time control (250 Hz)
- Full sensor feedback (IMU, motor states)
- Safety considerations required
Safety Considerations
Control Rate
Joint Limits
The robot enforces hardware joint limits automatically. Ensure your actions respect these limits.Emergency Stop
For real hardware, implement an emergency stop:Troubleshooting
SDK Not Found (Real Hardware)
Network Connection Failed
Control Rate Too Slow
Simulation Not Starting
Implementation Details
- SDK: Unitree SDK2 (for real hardware)
- Simulation: MuJoCo
- Control: PD control with configurable gains
- IK: Custom G1_29_ArmIK solver
- Source: /home/daytona/workspace/source/src/lerobot/robots/unitree_g1/unitree_g1.py
- Config: /home/daytona/workspace/source/src/lerobot/robots/unitree_g1/config_unitree_g1.py
Related Documentation
Robot Overview
See all supported robots
Environments
MuJoCo simulation environments
Recording Data
Record whole-body demonstrations
ZMQ Cameras
Remote camera setup