Skip to content

isaac-sim/IsaacLab-Arena

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

673 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Isaac Lab-Arena

Composable Environment Creation and Policy Evaluation for Robotics Simulation

Alpha Version IsaacSim IsaacLab Python Linux License

Documentation · NVIDIA Blog Post · Report a Bug · Discussions


Warning

Alpha Software — Not an Early Access or General Availability Release. Isaac Lab-Arena v0.2.x is an early code release intended to give the community a practical starting point to experiment, provide feedback, and influence future design direction. APIs are unstable and will change. Features are incomplete. Documentation is evolving. Do not use this in production. See Project Status for details.

Note

Changes on main contains an in development version based on v0.2.0, based on Isaac Lab 3.0.


Overview

Isaac Lab-Arena is an open-source extension to NVIDIA Isaac Lab for simplified task curation and robotic policy evaluation at scale. It provides a composable architecture where environments are assembled on-the-fly from independent, reusable building blocks — eliminating the redundant boilerplate that plagues traditional task library development.

Instead of hand-writing and maintaining a separate configuration for every combination of robot, object, and scenario, Arena lets you compose environments from three independent primitives:

Primitive Description
Scene The physical environment layout — a collection of objects, furniture, fixtures
Embodiment The robot and its observations, actions, sensors, and controllers
Task The objective — what the robot should accomplish (pick-and-place, open door, etc.)

The ArenaEnvBuilder composes these primitives into a standard ManagerBasedRLEnvCfg that runs natively in Isaac Lab.

Why Isaac Lab-Arena?

With the rise of generalist robot policies (e.g., GR00T N, pi0, SmolVLA), there is an urgent need to evaluate these policies across many diverse tasks and environments. Traditional approaches suffer from:

  • Code duplication — each task variation (different object, different robot) requires a near-copy of the same configuration
  • Maintenance burden — N robots × M objects × K scenes = an explosion of configs to keep in sync
  • Slow iteration — researchers spend more time wrangling configs than running experiments

Arena solves this by making environment variation a first-class concept. Swap an object, change a robot, or modify a scene — all without duplicating a single line of task logic.

Key Features

  • LEGO-like Composable Environments — Mix and match scenes, embodiments, and tasks independently
  • On-the-fly Assembly — Environments are built at runtime; no duplicate config files to maintain.
  • New Sequential Task Chaining — Chain atomic skills (e.g. Pick + Walk + Place + …) to create complex long-horizon tasks.
  • New Natural Language Object Placement — Define scene layouts using semantic relationships like "on" or "next to", instead of manually specified coordinates.
  • Integrated Evaluation — Extensible metrics and evaluation pipelines for policy benchmarking
  • New Large-scale Parallel Evaluations with Heterogeneous Objects — Evaluate policy on multiple parallel environments, each with different objects, to maximize evaluation throughput.
  • New RL Workflow Support and Seamless Interoperation with Isaac Lab: Plug Isaac Lab - Arena environments into Isaac Lab workflows for Reinforcement learning and Data generation for imitation learning.

Quick Start

Prerequisites

Installation

Isaac Lab-Arena currently supports installation from source inside a Docker container.

# 1. Clone the repository
git clone git@github.com:isaac-sim/IsaacLab-Arena.git
cd IsaacLab-Arena
git submodule update --init --recursive

# 2. Launch the Docker container
#    Base container (recommended for development):
./docker/run_docker.sh

#    Or with GR00T dependencies (for policy training/evaluation):
./docker/run_docker.sh -g

# 3. Verify the installation
/isaac-sim/python.sh -m pytest -sv -m "not with_cameras" isaaclab_arena/tests/

Note: The Docker script automatically mounts $HOME/datasets, $HOME/models, and $HOME/eval from your host into the container.

For detailed setup instructions (including server-client mode for GR00T), see the Installation Guide.

Usage Example

Compose a Franka arm in a kitchen scene with a couple of objects:

from isaaclab_arena.assets.asset_registry import AssetRegistry
from isaaclab_arena.cli.isaaclab_arena_cli import get_isaaclab_arena_cli_parser
from isaaclab_arena.environments.arena_env_builder import ArenaEnvBuilder
from isaaclab_arena.environments.isaaclab_arena_environment import IsaacLabArenaEnvironment
from isaaclab_arena.scene.scene import Scene

asset_registry = AssetRegistry()

# Select building blocks
background = asset_registry.get_asset_by_name("kitchen")()
embodiment = asset_registry.get_asset_by_name("franka_ik")()
cracker_box = asset_registry.get_asset_by_name("cracker_box")()
tomato_soup_can = asset_registry.get_asset_by_name("tomato_soup_can")()

# Compose the environment
scene = Scene(assets=[background, cracker_box, tomato_soup_can])
env_cfg = IsaacLabArenaEnvironment(
    name="franka_kitchen_example",
    embodiment=embodiment,
    scene=scene,
)

args_cli = get_isaaclab_arena_cli_parser().parse_args([])
env_builder = ArenaEnvBuilder(env_cfg, args_cli)
env = env_builder.make_registered()
env.reset()

Explore more examples in the documentation, including:

Example Description
Imitation Learning
G1 Loco-Manipulation Pick & Place G1 humanoid navigates, picks up a box, and places it in a bin
GR1 Open Microwave Door GR1 upper-body manipulation of an articulated microwave door
GR1 Sequential Pick & Place and Close Door GR1 picks an object, places it in a fridge, and closes the door
Reinforcement Learning
Franka Lift Object Franka Panda grasps and lifts objects to target positions (PhysX)
Dexsuite Kuka Allegro Lift (Newton) Dexterous object lifting with Kuka Allegro hand (Newton physics, experimental)

Project Structure

IsaacLab-Arena/
├── isaaclab_arena/                    # Core framework (environments, tasks, scenes, embodiments)
├── isaaclab_arena_environments/       # Concrete environment definitions
├── isaaclab_arena_examples/           # Policy and relation examples
├── isaaclab_arena_g1/                 # Unitree G1 humanoid embodiment + examples
├── isaaclab_arena_gr00t/              # GR00T policy integration
├── docker/                            # Docker configurations and launch scripts
├── docs/                      # Sphinx documentation source
├── osmo/                      # Cloud deployment configs (OSMO)
├── submodules/                # Git submodules (Isaac Lab, etc.)
├── setup.py                   # Package installation
├── CONTRIBUTING.md            # Contribution guidelines
└── LICENSE.md                 # Apache 2.0 license

Version Compatibility

Isaac Lab-Arena Isaac Lab Isaac Sim Python
main 3.0.0 6.0.0 ≥ 3.12
release/0.2.0 3.0.0 6.0.0 ≥ 3.12
feature/arena_v0.2_on_lab_2.3 2.3.0 5.1.0 ≥ 3.10
release/0.1.1 2.3.0 5.0.0 ≥ 3.10

⚠️ Project Status

Isaac Lab-Arena is in alpha (v0.2.x). This is important to understand:

What This Means Details
Not EA / GA This is not an Early Access or General Availability release. It is a very early community code drop.
APIs will break Public interfaces are under active development and will change without deprecation warnings.
Features are incomplete Core capabilities like agentic task generation, non-sequential long horizon tasks, easy-to-configure sensitivity analysis, enhanced heterogeneity across parallel evaluations and pip install support are planned but not yet implemented.
Docker-only install Source installation in a Docker container is the only supported method.
Limited testing The main branch contains the latest code but may not be fully tested. Use release/0.2.0 for the most stable experience.

Ecosystem

Isaac Lab-Arena is part of a growing ecosystem of tools and benchmarks. NVIDIA and partners are building industrial and academic benchmarks on the unified Isaac Lab-Arena core, so you can reuse building blocks (tasks, scenes, metrics, and datasets) for your custom evaluations.

Published Benchmarks

NIST Board 1, NVIDIA Isaac GR00T Industrial Benchmarks, NVIDIA DexBench, NVIDIA RoboLab, and more benchmarks are coming soon.

Publishing Your Own Benchmark

We encourage the community to build and publish benchmarks on Isaac Lab-Arena. The recommended workflow:

  1. Maintain your benchmark in your own repository. Create a branch or package that integrates with Isaac Lab-Arena (e.g. an IsaacLab-Arena branch). See RoboTwin for a reference example. For detailed setup instructions — including repository layout, Dockerfile setup, and how to register custom environments/robots/tasks — see the Arena in Your Repository guide.
  2. Reference your benchmark and Isaac Lab-Arena in publications. When publishing on ArXiv or elsewhere, cite both your benchmark (by name, with a link to your repository) and Isaac Lab-Arena as the underlying evaluation framework.
  3. List it here. Open a PR to add your benchmark to the Published Benchmarks list above. This README serves as the single source of truth for the Arena benchmark ecosystem so that community can discover and reuse.

Contributing

We welcome contributions — bug reports, feature suggestions, and code. This is a pre-alpha project, so community input directly shapes the framework's direction.

  1. Read the Contribution Guidelines
  2. Sign off your commits (DCO required — see CONTRIBUTING.md)
  3. Open a Pull Request

Areas where contributions are especially valuable:

  • New task definitions and benchmark suites
  • Additional robot embodiments and scene assets
  • Sim-to-real validated evaluation methods
  • Documentation improvements and tutorials

Support

License

Isaac Lab-Arena is released under the Apache 2.0 License.

Note that Isaac Lab-Arena requires Isaac Sim, which includes components under proprietary licensing terms. See the Isaac Sim license for details.

Citation

If you use Isaac Lab-Arena in your research, please cite:

@misc{isaaclab-arena2025,
    title   = {Isaac Lab-Arena: Composable Environment Creation and Policy Evaluation for Robotics},
    author  = {{NVIDIA Isaac Lab-Arena Contributors}},
    year    = {2025},
    url     = {https://github.com/isaac-sim/IsaacLab-Arena}
}

If you use Isaac Lab (the underlying framework), please also cite the Isaac Lab paper.

Acknowledgements

Isaac Lab-Arena builds on NVIDIA Isaac Lab, with the evaluation and task layers designed in close collaboration with Lightwheel. We thank the Isaac Lab team and the broader robotics community for their foundational work.


Isaac Lab-Arena · Alpha · Documentation · GitHub

Made with ❤️ by the NVIDIA Robotics Team

About

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.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors