isaac-sim/IsaacLab-Arena

Isaac Lab - Arena is a robotics simulation framework that enhances NVIDIA Isaac Lab by providing a composable, scalable system for creating diverse simulation environments and evaluating robot learning policies. The framework enables developers to rapidly prototype and test robotic tasks with various robot embodiments, objects, and environments.

Isaac Lab‑Arena – Quick Overview

What it is – An open‑source framework that sits on top of NVIDIA Isaac Lab/Isaac Sim. It lets you compose robot simulation environments from three building blocks (scene, robot + sensors, task) and then run massive policy‑evaluation experiments on a GPU or across multiple nodes.

Why it matters – Building a benchmark for a robot usually means hand‑crafting a lot of configuration (world layout, object placement, robot definition, reward). Arena makes those pieces reusable and composable, so you can generate many variations automatically, evaluate a single policy in thousands of environments in parallel, and collect fine‑grained metrics (sub‑task predicates, sensitivity analysis) to understand where the policy fails.


Core Concepts

Concept Role
Scene Physical layout – walls, furniture, objects (USD assets).
Embodiment Robot definition – model, sensors, action/observation spaces, controllers.
Task Goal for the robot (e.g., pick‑and‑place, navigation).
ArenaEnvBuilder Takes a scene, embodiment, and task and builds a standard ManagerBasedRLEnvCfg that runs inside Isaac Lab.

Main Features

1. Author Scalable Benchmarks

  • Composable environments – Mix‑and‑match scenes, robots, and tasks without rewriting code.
  • Relational placement – Specify “on the table” or “next to the fridge” instead of exact coordinates.
  • Sequential task chaining – Combine atomic skills (pick, walk, place) into long‑horizon missions.
  • Agentic generation (experimental) – Describe a task in natural language; an internal agent creates a spec, finds assets, and builds a family of environments.
  • Controlled variations – Sweep lighting, camera, object mass, etc., to test robustness.

2. Execute Evaluations at Scale

  • GPU‑accelerated parallel roll‑outs – One policy can be evaluated in thousands of heterogeneous environments simultaneously.
  • Multi‑node orchestration – Experiments can be distributed with OSMO or run locally.
  • Policy client‑server API – Plug in any policy (GR00T, π0.5, custom) via a common observation‑action contract.

3. Analyze Policy Robustness

  • Sub‑task predicates – Track milestones like grasp, lift, place to pinpoint failure points.
  • Sensitivity analysis – Perturb environment parameters and see how performance changes.

Getting Started (TL;DR)

# Clone with submodules
git clone --recurse-submodules git@github.com:isaac-sim/IsaacLab-Arena.git
cd IsaacLab-Arena

# Create a locked Python env (uv is the recommended installer)
uv sync
source .venv/bin/activate
export OMNI_KIT_ACCEPT_EULA=YES

# Quick sanity‑check: zero‑action policy for 20 steps
python isaaclab_arena/evaluation/policy_runner.py \
    --policy_type zero_action --num_steps 20 cube_goal_pose

Optional: add --viz kit to watch the rollout in the GUI.

Docker users can run the provided run_docker.sh script, which mounts your $HOME/datasets, $HOME/models, and $HOME/eval directories.


Example: Build a Franka‑Arm Kitchen Scene

from isaaclab_arena.assets.asset_registry import AssetRegistry
from isaaclab_arena.environments.arena_env_builder import ArenaEnvBuilder, ArenaEnvBuilderCfg
from isaaclab_arena.environments.isaaclab_arena_environment import IsaacLabArenaEnvironment
from isaaclab_arena.scene.scene import Scene

registry = AssetRegistry()
scene = Scene(assets=[
    registry.get_asset_by_name('kitchen')(),
    registry.get_asset_by_name('cracker_box')(),
    registry.get_asset_by_name('tomato_soup_can')(),
])
embodiment = registry.get_asset_by_name('franka_ik')()

env_cfg = IsaacLabArenaEnvironment(
    name='franka_kitchen_example',
    embodiment=embodiment,
    scene=scene,
)

builder = ArenaEnvBuilder(env_cfg, ArenaEnvBuilderCfg())
env = builder.make_registered()
env.reset()

The builder translates the high‑level spec into a fully‑registered Isaac Lab environment ready for RL training or policy evaluation.


Project Structure (high‑level)

  • isaaclab_arena/ – Core library (env builder, scene, task, embodiment classes).
  • isaaclab_arena_environments/ – Ready‑made benchmark definitions.
  • docker/ – Dockerfiles and launch scripts.
  • osmo/ – Configs for cloud‑scale orchestration.
  • submodules/ – Isaac Lab and other required repos.

Status & Compatibility

  • Alpha (v0.3) – APIs may change; not for production use.
  • Supported Isaac Lab – 3.0.0 EA (or matching release branches).
  • Supported Isaac Sim – 6.1.0.
  • Python – ≥ 3.12, Linux 64‑bit (Ubuntu 22.04 recommended).

Who Might Use This?

  • Robotics researchers building new benchmarks or needing large‑scale evaluation of learned policies.
  • ML engineers who want to stress‑test a policy across many visual/physical variations.
  • Benchmark authors looking for a reusable, composable way to publish tasks that others can run on the same simulation stack.

Community & Contribution

  • Open issues & discussions on GitHub.
  • Contributions welcome via pull‑requests (see CONTRIBUTING.md).
  • License: Apache 2.0 (Isaac Sim itself remains under NVIDIA’s proprietary terms).

Bottom line – Isaac Lab‑Arena gives you a modular, high‑performance pipeline to create, run, and analyze robot simulation benchmarks at scale, all built on NVIDIA’s Isaac Sim ecosystem.

Related

  • Project
  • Project
  • Dispatch
  • Dispatch
  • Project