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 likeRobotLab-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‑composesetup 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
- Install Isaac Lab (follow NVIDIA’s guide, preferably via Conda).
- Clone robot_lab and install it in editable mode:
python -m pip install -e source/robot_lab. - List available environments with
python scripts/tools/list_envs.py. - Train a policy:
python scripts/reinforcement_learning/rsl_rl/train.py --task=RobotLab-Isaac-Velocity-Rough-Unitree-A1-v0 --headless - Play / evaluate the trained policy:
Addpython scripts/reinforcement_learning/rsl_rl/play.py --task=RobotLab-Isaac-Velocity-Rough-Unitree-A1-v0--keyboardfor manual control,--videoto record, or--num_envsto 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_sarfor 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