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.
 
 

2.5 KiB

Unitree RL Lab

Source: https://github.com/unitreerobotics/unitree_rl_lab Fetched: 2026-02-13 Type: GitHub Repository README


Unitree RL Lab: Comprehensive Overview

Project Description

The Unitree RL Lab is a reinforcement learning framework designed specifically for Unitree humanoid robots. It provides "a set of reinforcement learning environments for Unitree robots, built on top of IsaacLab." The repository currently supports three robot models: Go2, H1, and G1-29dof variants.

Core Technology Stack

The project integrates with NVIDIA's IsaacLab (version 2.3.0) and IsaacSim (5.1.0) for simulation and training. It leverages the Mujoco physics engine for sim2sim validation before real-world deployment. The codebase is predominantly Python (65.1%) with C++ components (31.3%) for the deployment controllers.

Installation Pipeline

Users must first install Isaac Lab following NVIDIA's official documentation, then clone the Unitree RL Lab repository separately. The installation utilizes a shell script (unitree_rl_lab.sh) for streamlined setup and environment configuration.

Two methods exist for obtaining robot models:

  1. USD files from HuggingFace's unitree_model repository
  2. URDF files from the unitree_ros GitHub repository (recommended for IsaacSim 5.0+)

Both require configuration of directory paths in the robot assets module.

Training and Inference

The framework provides command-line tools for rapid task iteration:

  • Task listing with ./unitree_rl_lab.sh -l
  • Model training via python scripts/rsl_rl/train.py
  • Policy inference using python scripts/rsl_rl/play.py

The shell wrapper supports task name autocomplete functionality.

Deployment Architecture

The deployment pipeline follows three stages:

Setup Phase: Requires installation of unitree_sdk2, dependencies (yaml, boost, eigen3, spdlog), and compilation of robot-specific controllers.

Sim2Sim Validation: Uses the unitree_mujoco simulator for policy testing before hardware deployment. Controllers communicate via domain IDs and network interfaces.

Sim2Real Transfer: Deploys compiled controllers directly to physical robots via network interfaces, with safety measures requiring manual verification of robot standing and elastic band configuration.

Attribution

The project explicitly acknowledges foundational support from "IsaacLab: The foundation for training and running codes" and references implementations from robot_lab and whole_body_tracking projects for structural guidance.