fan-ziqi/robot_lab

RL Extension Library for Robots, Based on IsaacLab.

robot_lab – Reinforcement‑Learning Environments for Real‑World Robots

What it is

  • An extension library built on top of NVIDIA’s Isaac Lab that bundles a large collection of ready‑to‑run reinforcement‑learning (RL) environments for many commercial robot platforms (quadrupeds, wheeled bases, humanoids, etc.).
  • It lives outside the core Isaac Lab repo so you can install it independently and keep your own experiments separate.

Key capabilities

  • Hundreds of pre‑configured tasks – each environment follows the OpenAI‑Gym API (gym.Env) and is identified by a name like RobotLab-Isaac-Velocity-Rough-Unitree-A1-v0. The name encodes the task (e.g., Velocity), terrain style (Rough vs Flat), robot model, and version.
  • Broad robot coverage – includes popular platforms such as Anymal D, Unitree Go2/​B2/​A1, Deeprobotics Lite3, MagicDog, Unitree G1/H1, Booster T1, and many more. Both legged and wheeled robots are supported.
  • Multiple RL back‑ends – you can train with the bundled RSL‑RL or the experimental CusRL algorithms, and there are examples using skrl as well. The scripts let you switch algorithms, agents, and hyper‑parameters via command‑line flags.
  • Scalable training – supports single‑GPU, multi‑GPU (via torch.distributed.run), and multi‑node setups. You can also run many parallel environments (--num_envs) to speed up data collection.
  • Convenient utilities – dummy zero or random agents for sanity checks, video recording, keyboard tele‑operation for a single robot, and tools for converting motion‑capture datasets (BeyondMimic) into training data.
  • Docker support – provides a Dockerfile and docker‑compose setup that builds on an Isaac‑Lab base image, letting you run the whole stack in containers.
  • Extensible – the repo shows how to add a new robot by defining its assets and registering a new Gym environment; the configuration can be expressed in Python classes or YAML files.

Typical workflow

  1. Install Isaac Lab (follow NVIDIA’s guide, preferably via Conda).
  2. Clone robot_lab and install it in editable mode: python -m pip install -e source/robot_lab.
  3. List available environments with python scripts/tools/list_envs.py.
  4. Train a policy:
    python scripts/reinforcement_learning/rsl_rl/train.py --task=RobotLab-Isaac-Velocity-Rough-Unitree-A1-v0 --headless
    
  5. Play / evaluate the trained policy:
    python scripts/reinforcement_learning/rsl_rl/play.py --task=RobotLab-Isaac-Velocity-Rough-Unitree-A1-v0
    
    Add --keyboard for manual control, --video to record, or --num_envs to run many instances.

Who it’s for

  • Researchers and engineers working on robot locomotion, manipulation, or whole‑body control who want a high‑fidelity simulation backed by NVIDIA Isaac Sim.
  • Teams that need to prototype policies on a variety of real robot models before transferring to hardware (the README points to a companion repo rl_sar for Gazebo/real‑robot deployment).

Installation highlights

  • Requires Isaac Sim 4.5‑5.1 and Isaac Lab 2.3.2 (or matching branches).
  • Works on Linux and Windows (64‑bit).
  • Optional VS Code task for auto‑configuring the Python environment and an Omniverse UI extension for loading the library from the Sim UI.

Community

  • Discussions happen on GitHub Discussions and a Discord server (link provided).
  • The project follows the Apache 2.0 license.

Bottom line: robot_lab is a genuine, production‑grade RL extension that lets you train and evaluate policies for many commercial robots inside NVIDIA’s Isaac Sim ecosystem, with full support for scalable training, Docker deployment, and easy addition of new robot models.

Related

  • Project
  • Project
  • Project
  • Project