Install & Download
This guide walks through the standard native RoboDojo setup path: check the system requirements, install the codebase and dependencies, download assets, and update local asset paths.
1. System requirements
Section titled “1. System requirements”Supported platforms
Section titled “Supported platforms”RoboDojo is built on Isaac Sim 5.1 and Isaac Lab. We recommend Linux (Ubuntu 22.04 x64) with an NVIDIA GPU.
Most platform constraints come from Isaac Sim and Isaac Lab, so check their official requirements if you are using a different driver, CUDA version, or workstation setup.
Hardware and software
Section titled “Hardware and software”| Item | Requirement |
|---|---|
| OS | Ubuntu 22.04 (Linux x64) recommended |
| RAM | 32 GB or more |
| GPU VRAM | 16 GB or more (extra VRAM may be needed for rendering-heavy workflows) |
| NVIDIA driver | 570 or 580 recommended on Linux |
| CUDA | 12.8 recommended (installed with PyTorch during setup) |
For the latest Isaac Sim hardware notes, see the official system requirements.
2. Install Vulkan
Section titled “2. Install Vulkan”Vulkan is required for Isaac Sim rendering. Skip this step if vulkaninfo already reports a working Vulkan installation.
3. Clone & install RoboDojo natively
Section titled “3. Clone & install RoboDojo natively”3.1 Clone the repository
Section titled “3.1 Clone the repository”3.2 Run the install script
Section titled “3.2 Run the install script”The native install path creates the RoboDojo conda environment and installs Isaac Sim 5.1, Isaac Lab, CuRobo, and the remaining Python dependencies:
When finished, activate the environment:
3.3 Resume from a failed step
Section titled “3.3 Resume from a failed step”If installation stops midway, resume from a named step instead of restarting from scratch:
Available step names:
| Step name | Resumes from |
|---|---|
system | System package setup |
conda | Conda environment creation |
base_deps | Base Python dependencies |
submodules | Git submodule initialization |
isaacsim | Isaac Sim installation |
isaaclab | Isaac Lab installation |
curobo | CuRobo installation |
Example - retry after an Isaac Sim failure:
3.4 Verify optional tools
Section titled “3.4 Verify optional tools”ffmpeg is required for some data-processing workflows. On Ubuntu, the install script tries to install it automatically; you can verify it manually with:
If missing, install from ffmpeg.org or via sudo apt install ffmpeg.
4. Download assets
Section titled “4. Download assets”Simulation assets, including objects, textures, and embodiments, are hosted on ModelScope. Git LFS is required before downloading them.
After download, the assets directory should look like:
5. Update embodiment paths
Section titled “5. Update embodiment paths”After the assets are in place, point robot configs to the local asset directory:
Run this command again if you move the repository or re-download assets to a different location.
6. Optional: Install with Docker
Section titled “6. Optional: Install with Docker”Docker is useful when you want a reproducible simulator/evaluation container. The RoboDojo image contains Isaac Sim 5.1, Isaac Lab, CuRobo, the RoboDojo Python stack, and the lightweight XPolicyLab client used by the eval client.
The image does not include Assets/, policy dependencies, or checkpoints. Download assets on the host, mount them into the container, and run your policy server outside the container over WebSocket.
6.1 Docker prerequisites
Section titled “6.1 Docker prerequisites”| Need | Details |
|---|---|
| NVIDIA GPU + driver | Driver 570 or newer is recommended for CUDA 12.8. Check with nvidia-smi. |
| OS | Linux, tested on Ubuntu 22.04. |
| Disk space | The image is large because it includes Isaac Sim and cached extensions. Keep at least 300 GB free for the image and build cache. |
| Assets | A host-side Assets/ directory downloaded with bash scripts/init_assets.sh. Assets are mounted at runtime, not baked into the image. |
Prepare host-side assets before running container evaluation:
6.2 Install Docker and NVIDIA Container Toolkit
Section titled “6.2 Install Docker and NVIDIA Container Toolkit”If Docker and the NVIDIA Container Toolkit already work with --gpus all, skip to the image build step.
Verify that Docker can see the GPU:
If you are on a restricted China network, the installer can use TUNA/USTC apt mirrors and Docker Hub registry mirrors. It auto-detects this by default; force it with USE_CN_MIRRORS=1 or disable it with USE_CN_MIRRORS=0.
6.3 Build the image
Section titled “6.3 Build the image”From the repository root:
The first build can take a long time because it downloads Isaac Sim extensions and compiles CuRobo kernels. Later builds should reuse Docker layer cache.
6.4 Smoke-test Docker
Section titled “6.4 Smoke-test Docker”Run the end-to-end Docker smoke procedure:
This builds the image if needed, starts the bundled demo_policy server on the host, runs one container evaluation, and checks that a result file is written. The demo policy outputs zero actions, so a success_rate of 0.0 is expected; the smoke test is checking the simulator, rendering, WebSocket connection, and result writing path.
Monitor a running smoke test from another terminal:
The smoke script launches the demo server on the host using the native RoboDojo conda environment. If you do not have the native environment and only want Docker, skip the demo smoke step and connect the container to your own policy server.
6.5 Evaluate an external policy server
Section titled “6.5 Evaluate an external policy server”Start your policy server outside the container and bind it to 0.0.0.0, not only 127.0.0.1, so the container can reach it. Then run the simulator client in Docker:
Required client flags are --task, --policy-name, --policy-host, and --policy-port. Common options include --ckpt, --eval-num, --action-type, --env-cfg, and --env-gpu. Add --dry-run to inspect the resolved simulator command without launching Isaac Sim.
6.6 Required mounts
Section titled “6.6 Required mounts”The two Assets mounts are intentional:
| Mount | Why it is needed |
|---|---|
-v "$PWD/Assets:/workspace/RoboDojo/Assets:ro" | Gives the container access to robot, object, material, and layout assets. |
-v "$PWD/Assets:$PWD/Assets:ro" | Preserves absolute host paths baked into CuRobo configs by utils/update_embodiment_config_path.py. |
-v "$PWD/eval_result:/workspace/RoboDojo/eval_result" | Persists result artifacts on the host. |
Cache mounts under ~/.cache/warp, ~/.local/share/ov, and ~/.cache/ov | Reuse CuRobo kernels and Isaac Sim extension/shader caches between runs. |
The second Assets mount prevents errors such as:
CuRobo robot configs may contain absolute host paths generated by utils/update_embodiment_config_path.py, so the container must be able to access the same absolute path.
6.7 Networking
Section titled “6.7 Networking”Policy server hostnames depend on Docker networking:
| Policy server location | Docker mode | --policy-host |
|---|---|---|
| Same host as the container | --network host | 127.0.0.1 |
| Same host, bridge network | --add-host=host.docker.internal:host-gateway | host.docker.internal |
| Another machine | default networking | The machine’s IP or hostname |
If the client cannot reach the policy server, first check that the server is listening on the expected port and is bound to 0.0.0.0.