Installation#
This page describes how to install Isaac Lab Arena, either natively with uv
or from source inside a Docker container.
Installation method |
Evaluation |
Imitation learning |
Reinforcement learning |
Agentic environment generation |
|---|---|---|---|---|
Docker |
✓ |
✓ |
✓ |
✓ |
uv (Isaac Lab from source) |
✓ |
✓ |
✓ |
✓ |
uv (Isaac Lab from wheel) |
✓ |
✗ |
✗ |
✓ |
Supported Systems#
Isaac Lab Arena runs on Isaac Sim 6.0.0 and Isaac Lab 3.0.0.
The dependencies are installed automatically by either workflow below.
Hardware requirements for Isaac Lab Arena are shared with Isaac Sim, and are detailed in
Isaac Sim Requirements.
Native uv developer setup#
Isaac Lab Arena can be installed natively with uv; the committed lockfile pins the complete environment. Two flavors are available, differing only in where Isaac Lab comes from:
Source flavor (recommended): Isaac Lab is installed editable from the
submodules/IsaacLabcheckout.Wheel flavor: Isaac Lab is installed from the published wheel, which does not include Isaac Lab’s RL/IL scripts.
Both flavors follow the same workflow — clone, sync, activate, run; only the
uv sync line differs.
Clone the repository:
git clone --branch main --recurse-submodules git@github.com:isaac-sim/IsaacLab-Arena.git
cd IsaacLab-Arena
Sync the environment and activate it, picking the flavor that matches your workflow:
uv sync --extra dev
source .venv/bin/activate
uv sync --no-default-groups --group isaaclab-from-wheel --extra dev
source .venv/bin/activate
Note
The wheel flavor does not support the imitation learning and reinforcement learning workflows: the published Isaac Lab wheel does not include the scripts they rely on. Use the source flavor for those workflows.
uv sync creates a Python virtual environment in .venv/ (pinned by
.python-version), installs Isaac Lab Arena and Isaac Lab (editable from
submodules/IsaacLab in the source flavor, or from the published wheel),
and pulls the matching Isaac Sim, PyTorch, and Newton wheels at the versions
pinned by the committed lockfile. The dev extra installs the Streamlit and
SimReady search dependencies used by the
agentic environment generation workflow.
Note
The two flavors are mutually exclusive within the single .venv: syncing
one replaces the other. In the wheel flavor, run python/pytest in
the activated environment rather than through uv run — a bare
uv run re-syncs the environment back to the source flavor.
Note
Native uv installs do not include the optional isaaclab_arena_curobo
package, so cuRobo-based reachability validation (the ik_reachable check)
is not available. Use the Docker workflow with ./docker/run_docker.sh -c
instead.
Accept the Isaac Sim EULA so the first launch is non-interactive:
export OMNI_KIT_ACCEPT_EULA=YES ACCEPT_EULA=Y
Launch a short zero-action rollout as a visual validation that things are running:
python isaaclab_arena/evaluation/policy_runner.py \
--policy_type zero_action --num_steps 20 cube_goal_pose
Optionally, watch the rollout in the GUI visualizer by adding --viz kit (and
a few more steps so there is time to see it):
python isaaclab_arena/evaluation/policy_runner.py \
--viz kit --policy_type zero_action --num_steps 200 cube_goal_pose
With the source installation, optionally verify the installation by running the test phases:
pytest -sv -m "not with_cameras and not with_subprocess" isaaclab_arena/tests/
pytest -sv -m "with_cameras and not with_subprocess" isaaclab_arena/tests/
pytest -sv -m with_subprocess isaaclab_arena/tests/
The full test suite is not supported by the wheel flavor because it includes tests for Isaac Lab’s imitation-learning and reinforcement-learning interoperability. Use the zero-action rollout above to verify a wheel-based installation.
With isaaclab_arena installed you’re ready to build your first environment;
see First Arena Environment.
Installation via Docker#
Isaac Lab Arena supports installation from source inside a Docker container. Future versions of Isaac Lab Arena, we will support a larger range of installation options.
Clone the repository and initialize submodules:
git clone --branch main --recurse-submodules git@github.com:isaac-sim/IsaacLab-Arena.git
cd IsaacLab-Arena
Launch the docker container:
./docker/run_docker.sh
The container will build (if needed) and drop you into an interactive shell.
For cuRobo-based reachability validation, launch with the -c flag
instead (native uv installs do not support this check):
./docker/run_docker.sh -c
Note
The run docker script mounts the following directories from the host machine if they exist:
Datasets:
$HOME/datasets→/datasetsModels:
$HOME/models→/modelsEvaluation:
$HOME/eval→/eval
When mounted a user avoids re-downloading datasets and models between container restarts,
so our suggestion is to create these directories on the host machine before running the container.
Note that the path of the mounted directories are configurable — see docker/run_docker.sh
for the full list of arguments.
Optionally verify installation by running tests:
pytest -sv -m "with_cameras and not with_subprocess" isaaclab_arena/tests/
pytest -sv -m "not with_cameras and not with_subprocess" isaaclab_arena/tests/
pytest -sv -m with_subprocess isaaclab_arena/tests/
With isaaclab_arena installed and the docker running, you’re ready to build your
first IsaacLab-Arena Environment. See First Arena Environment to get started.