What Is Isaac Lab?

Isaac Lab is NVIDIA's GPU-accelerated robot simulation and learning framework, built on Isaac Sim 4.0 (Omniverse-based). It supports up to 4,000+ parallel environments on a single A100, enabling RL policy training that would take weeks on CPU-based simulators to complete in hours. It's MIT licensed, which means no restrictions on commercial use — a significant advantage over some competing platforms.

Isaac Lab is not primarily a physics simulator — it delegates simulation to Isaac Sim's PhysX backend. It's a training framework: it manages environment vectorization, observation/action space definitions, reward computation, and the training loop interface with standard RL libraries (RSL-RL, RL-Games, Stable Baselines3).

Installation

Prerequisites: Ubuntu 22.04, CUDA 12.1+, NVIDIA driver ≥530. Minimum GPU: RTX 3090 (24GB VRAM) for small-scale experiments; A100 80GB for production training runs.

  • Step 1: Install Isaac Sim 4.0 via pip: pip install isaacsim==4.0.0 --extra-index-url https://pypi.nvidia.com. This pulls approximately 15GB of packages. Expect 20–30 minutes on a fast connection.
  • Step 2: Clone Isaac Lab and run the installer: git clone https://github.com/isaac-sim/IsaacLab && cd IsaacLab && ./isaaclab.sh --install. This creates a virtual environment with all dependencies and runs a verification test.
  • Step 3: Verify with a headless test: ./isaaclab.sh -p source/standalone/tutorials/00_sim/create_empty.py --headless. Total setup time: approximately 30–45 minutes on a fresh machine with fast internet.

Built-In Environments Overview

CategoryEnvironmentRobotTask
ManipulationIsaac-Reach-Franka-v0Franka Research 3End-effector reach to target pose
ManipulationIsaac-Lift-Cube-Franka-v0Franka Research 3Grasp and lift cube
ManipulationIsaac-Open-Drawer-Franka-v0Franka Research 3Pull drawer open to target position
LocomotionIsaac-Velocity-Rough-Anymal-C-v0ANYmal CVelocity tracking on rough terrain
LocomotionIsaac-Walk-Unitree-G1-v0Unitree G1Forward walking velocity tracking
NavigationIsaac-Navigation-Flat-v0Generic diff-driveGoal-conditioned navigation

RL Training Walkthrough

Training a lift-cube policy from scratch with PPO on 2,048 parallel environments:

  • Command: ./isaaclab.sh -p source/standalone/workflows/rsl_rl/train.py --task Isaac-Lift-Cube-Franka-v0 --num_envs 2048 --headless
  • Expected runtime: Approximately 8 hours on a single A100 80GB to reach 80% success rate. On RTX 4090 (24GB), reduce num_envs to 512 and expect 20–30 hours.
  • What to watch: Monitor episode_rew_mean (should increase monotonically after 500K steps), success_rate (target >70% before exporting), and value_loss (should stabilize; if diverging, reduce learning rate).

Key Hyperparameters

ParameterDefault ValueEffect of Increasing
num_envs2048Better gradient estimates, higher GPU memory use
learning_rate1e-3Faster early learning, instability risk
gamma (discount)0.99Longer horizon planning, slower propagation
clip_param (PPO)0.2Less conservative updates, instability risk
num_mini_batches4Smaller batches, noisier gradients

Sim-to-Real Export

Isaac Lab supports ONNX export for trained policies: ./isaaclab.sh -p source/standalone/workflows/rsl_rl/export.py --task Isaac-Lift-Cube-Franka-v0 --checkpoint path/to/model.pth. The exported ONNX model can be converted to TensorRT for deployment on Jetson AGX Orin using TensorRT's trtexec tool.

Typical inference latency on Jetson AGX Orin after TensorRT conversion: 5–15ms for policies up to 10M parameters — well within real-time control requirements. For policies with image observations (ResNet encoder + MLP policy), expect 30–80ms depending on image resolution.

Performance Comparison

SimulatorMax Parallel Envs (A100 80GB)Physics AccuracyRL Training Speed
Isaac Lab (PhysX)4,000+Medium-highFastest
MuJoCo (CPU)50–100High (contact)Slowest
PyBullet10–20MediumSlow
IsaacGym (legacy)8,192MediumFast (deprecated)

SVRC provides pre-configured Isaac Lab environments for custom manipulation tasks as part of our simulation services. See the RL environment documentation for available configurations.