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 |
|---|---|---|---|
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 --recurse-submodules https://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
source .venv/bin/activate
uv sync --no-default-groups --group isaaclab-from-wheel
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.
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.
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
Optionally verify the installation by running the test phases (the same phases the Docker workflow runs below):
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/
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 git@github.com:isaac-sim/IsaacLab-Arena.git
git submodule update --init --recursive
Launch the docker container:
./docker/run_docker.sh
The container will build (if needed) and drop you into an interactive shell.
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.