Realistic robot simulation and RL training before real-world deployment
Confirm that GCC/G++ 11 is the default compiler before building:
sudo apt update && sudo apt install -y gcc-11 g++-11
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 200
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 200
sudo apt install git-lfs
gcc --version
g++ --version
Expected output should show GCC/G++ version 11.x.
Clone Isaac Sim from the NVIDIA GitHub repository and set up Git LFS to pull large files.
This playbook pins Isaac Sim v6.2.0 and Isaac Lab 3.0. Step 6 pins a specific revision of Isaac Lab's release/3.0.0 branch that targets Isaac Sim 6.2. Use these refs instead of the default develop branches so the installation and training commands below match the checked-out code.
git clone --depth=1 --recursive --branch=v6.2.0 https://github.com/isaac-sim/IsaacSim
cd IsaacSim
git lfs install
git lfs pull
Build Isaac Sim and accept the license agreement.
./build.sh
When the build succeeds, you should see a message similar to: BUILD (RELEASE) SUCCEEDED (Took 674.39 seconds)
Stay inside the Isaac Sim directory when running the following commands. The release path uses the linux-aarch64 build layout for this hardware platform:
export ISAACSIM_PATH="${PWD}/_build/linux-aarch64/release"
export ISAACSIM_PYTHON_EXE="${ISAACSIM_PATH}/python.sh"
Launch Isaac Sim using the provided Python executable. Preload libgomp so the runtime finds the OpenMP library on this hardware platform:
export LD_PRELOAD="$LD_PRELOAD:/lib/aarch64-linux-gnu/libgomp.so.1"
${ISAACSIM_PATH}/isaac-sim.sh
Isaac Sim should start. Close it when you are ready to continue with Isaac Lab.
Clone Isaac Lab from the NVIDIA GitHub repository. Complete Steps 1–5 first so ISAACSIM_PATH points at a built Isaac Sim release.
Return to the parent directory of IsaacSim before cloning so IsaacLab is created alongside it. This layout allows Step 10 to remove both repositories.
Isaac Lab 3.0 does not yet have a final v3.0.0 tag. Pin commit 4b081ff69eee56bb65137b762f2d265eb92ec36e from release/3.0.0, which targets Isaac Sim 6.2. The earlier v3.0.0-EA tag targets Isaac Sim 6.1. This pinned revision supports the ./isaaclab.sh launcher for source-built Isaac Sim and the train subcommand used in Step 9.
cd ..
git clone --branch=release/3.0.0 https://github.com/isaac-sim/IsaacLab
cd IsaacLab
git checkout --detach 4b081ff69eee56bb65137b762f2d265eb92ec36e
git submodule update --init --recursive
Confirm ISAACSIM_PATH is set, then create a symbolic link to the Isaac Sim installation directory:
echo "ISAACSIM_PATH=$ISAACSIM_PATH"
ln -sfn "${ISAACSIM_PATH}" "${PWD}/_isaac_sim"
ls -l "${PWD}/_isaac_sim/python.sh"
Expected output should show a valid symlink to python.sh under _isaac_sim.
Install the build tools, Python 3.12 headers, and X11 development libraries required by Isaac Lab on aarch64, then install Isaac Lab:
sudo apt update
sudo apt install -y cmake build-essential python3.12-dev libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libgl1-mesa-dev
./isaaclab.sh --install
Launch training with Isaac Lab 3.0's train subcommand and select isaacsim_physx to use the Isaac Sim build from Step 3. The task name is Isaac-Velocity-Rough-H1 (without the older -v0 suffix). You can run the training in one of the following modes:
Option 1: Headless mode (recommended for faster training)
Runs without visualization and outputs logs directly to the terminal.
export LD_PRELOAD="$LD_PRELOAD:/lib/aarch64-linux-gnu/libgomp.so.1"
./isaaclab.sh train --rl_library rsl_rl --task Isaac-Velocity-Rough-H1 physics=isaacsim_physx --viz none
Option 2: Visualization enabled
Runs with real-time visualization in Isaac Sim, allowing you to monitor the training process interactively.
export LD_PRELOAD="$LD_PRELOAD:/lib/aarch64-linux-gnu/libgomp.so.1"
./isaaclab.sh train --rl_library rsl_rl --task Isaac-Velocity-Rough-H1 physics=isaacsim_physx --viz kit
Training should start and print progress logs for the Isaac-Velocity-Rough-H1 task.
Cleanup is optional rollback — not required to finish the playbook.
WARNING
This removes the cloned Isaac Sim and Isaac Lab repositories and their build artifacts. Copy any custom work elsewhere first if you want to keep it.
cd ..
rm -rf IsaacSim IsaacLab