Isaac Lab
Introduction
An Isaac Lab (Isaac Sim) based training environment for RBQ10 quadruped locomotion.
It provides a high-fidelity simulation that enables training, replaying, and exporting policies for real-robot deployment.
System requirements
| Item | Requirement |
|---|---|
| OS | Ubuntu 22.04 (x86_64) |
| GPU | CUDA-capable NVIDIA GPU |
| Disk | Minimum 80 GB, recommended 120 GB+ (includes Isaac Sim / Isaac Lab / Conda / cache) |
| Network | Required for initial setup (large downloads: wget, git clone, pip) |
NOTE — Version pins
Check dependencies.yaml and scripts/setup.bash for the exact version requirements before installing.
Workflow
Setup → Train → Play → Deploy
| Step | Description |
|---|---|
| Setup | Install Isaac Sim, Isaac Lab, Conda, and dependencies via setup.bash |
| Train | Train the rbq10 task |
| Play | Replay and verify the policy with rbq10_play |
| Deploy | Export artifacts (policy.onnx, info.json) and run on the robot |
| Isaac Sim | MuJoCo |
|---|---|
![]() | ![]() |
Setup
Navigate to the rbq_lab directory inside the RBQ repository:
cd <workspace>/rbq_simulator/rbq_labRun the setup script:
bash scripts/setup.bashThis installs Isaac Sim, Isaac Lab, Conda, and all Python dependencies.
Train
bash scripts/train.bashDefault task: rbq10. Training logs are stored under logs/rsl_rl/<experiment_name>/.
Key options (pass via train.py, or edit inside scripts/train.bash):
| Option | Description |
|---|---|
--task | Task name (default: rbq10) |
--num_envs | Number of parallel environments |
--headless | Disable GUI |
--resume | Resume from checkpoint |
--checkpoint | Specific checkpoint path |
--max_iterations | Training iteration limit |
Full option list: bash scripts/python.bash rbq_lab/train.py --help
| Train RBQ-Lab |
|---|
![]() |
Play
Replay and verify the trained policy:
bash scripts/play.bashDefault task: rbq10_play. Specify the model checkpoint explicitly for reproducibility:
# Edit scripts/play.bash to add --checkpoint <path/to/model_*.pt>Key options:
| Option | Description |
|---|---|
--checkpoint | Path to .pt checkpoint |
--use_pretrained_checkpoint | Use bundled pre-trained policy |
--real-time | Run at real-time speed |
--video | Record video |
Full option list: bash scripts/python.bash rbq_lab/play.py --help
| Play RBQ-Lab |
|---|
Deploy
After Play, the export artifacts are generated under logs/<experiment_name>/exported/:
logs/<experiment_name>/exported/
├── policy.jit
├── policy.onnx
└── info.jsonPre-trained policies are also available at:
rbq_simulator/rbq_lab/policy/rbq10/
├── info.json
└── policy.onnxTo evaluate and deploy to the real robot, see Low Level (RL Policy).
Directory structure
rbq_simulator/rbq_lab/
├── rbq_lab/
│ ├── envs/
│ │ ├── base/
│ │ │ ├── base_task.py
│ │ │ └── base_task_cfg.py
│ │ └── rbq10/
│ │ ├── env.py, env_cfg.py, env_mdp.py
│ │ ├── rbq10.py
│ │ └── rsl_rl_ppo_cfg.py
│ ├── play.py
│ ├── train.py
│ └── utils/
│ ├── camera.py, cli_args.py, keyboard.py
│ ├── marker.py, math.py, rough.py
├── policy/
│ └── rbq10/
│ ├── info.json
│ └── policy.onnx
├── scripts/
│ ├── setup.bash, train.bash, play.bash
│ ├── activate.bash, clear.bash, configure.bash
│ ├── isaacsim.bash, python.bash
├── dependencies.yaml
└── setup.pyNotes:
- USD and other assets: place under
resources/(referenced viaLAB_ASSET_DIR). - Training logs:
logs/rsl_rl/<experiment_name>/ - Cleanup:
bash scripts/clear.bash(removes*.egg-info,__pycache__, and optionallylogs/)
Adding a new environment
- Add a new environment folder under
rbq_lab/envs/. - Create
env.py,env_cfg.py,env_mdp.py, andrsl_rl_ppo_cfg.pyfor the new task. - Add robot/environment assets (USD, etc.) under
resources/and reference viaLAB_ASSET_DIR. - Register the environment in
rbq_lab/envs/__init__.py. - Run training with a small
num_envsfirst to validate asset paths, observation/action sizes, and reward definitions.
See also
- Isaac Gym — Isaac Gym training environment
- Low Level (RL Policy) — deploy trained policy
- Simulator overview



