Getting Started with NVIDIA Isaac Lab on Ubuntu 22.04 / 24.04
Installation
The official instruction is pretty straight forward: https://isaac-sim.github.io/IsaacLab/source/setup/installation/pip_installation.html
Prepare build tools
sudo apt install cmake build-essential
Clone repository
git clone git@github.com:isaac-sim/IsaacLab.git
cd ./IsaacLab/
Create conda environment
conda create -yn isaaclab python=3.10
# alternatively,
# conda create -yp ./.conda-env/ python=3.10
conda activate isaaclab
Install Python packages
pip install isaacsim[all,extscache]==4.5.0 --extra-index-url https://pypi.nvidia.com
Install rsl_rl component
./isaaclab.sh --install rsl_rl
Verify installation
./isaaclab.sh -p source/standalone/tutorials/00_sim/create_empty.py
List Environments
./isaaclab.sh -p source/standalone/environments/list_envs.py
Example Train and Play script
python scripts/reinforcement_learning/rsl_rl/train.py --task Isaac-Velocity-Flat-G1-v0 --run_name example_run
Train headless and record video
python scripts/reinforcement_learning/rsl_rl/train.py --task Isaac-Velocity-Flat-G1-v0 --video --video_length 100 --video_interval 2000 --headless
python scripts/reinforcement_learning/rsl_rl/play.py --task Isaac-Velocity-Flat-G1-v0 --num_envs 4
./isaaclab.sh -p source/standalone/workflows/rsl_rl/train.py --task Isaac-Reach-Franka-v0 --headless
# run script for playing with 32 environments
./isaaclab.sh -p source/standalone/workflows/rsl_rl/play.py --task Isaac-Reach-Franka-v0 --num_envs 32 --load_run run_folder_name --checkpoint model.pt
# run script for recording video of a trained agent (requires installing `ffmpeg`)
./isaaclab.sh -p source/standalone/workflows/rsl_rl/play.py --task Isaac-Reach-Franka-v0 --headless --video --video_length 200
Errata
If encounter this error
.isaac.core/omni/isaac/core/robots`: errno=28/No space left on device
2024-08-20 07:19:57 [9,094ms] [Error] [carb] Failed to create change watch for `/home/tk/Desktop/IsaacLab/.conda-env/lib/python3.10/site-packages/isaacsim/exts/omni.isaac.core/omni/isaac/core/simulation_context`: errno=28/No space left on device
2024-08-20 07:19:57 [9,094ms] [Error] [carb] Failed to create change watch for `/home/tk/Desktop/IsaacLab/.conda-env/lib/python3.10/site-packages/isaacsim/exts/omni.isaac.core/omni/isaac/core/objects`: errno=28/No space left on device
2024-08-20 07:19:57 [9,094ms] [Error] [carb] Failed to create change watch for `/home/tk/Desktop/IsaacLab/.conda-env/lib/python3.10/site-packages/isaacsim/exts/omni.isaac.core/omni/isaac/core/scenes`: errno=28/No space left on device
2024-08-20 07:19:57 [9,094ms] [Error] [carb] Failed to create change watch for `/home/tk/Desktop/IsaacLab/.conda-env/lib/python3.10/site-packages/isaacsim/exts/omni.isaac.core/omni/isaac/core/world`: errno=28/No space left on device
solution:
Set up in Headless Mode
rm _isaac_sim
(base) chiyufeng@a27:/rscratch/tk/Desktop/G1Workspace/IsaacLab$ ln -s /rscratch/tk/Documents/isaac-sim-4.1.0 _isaac_sim
(base) chiyufeng@a27:/rscratch/tk/Desktop/G1Workspace/IsaacLab$ export ISAACSIM_PATH="/rscratch/tk/Documents/isaac-sim-4.1.0"
(base) chiyufeng@a27:/rscratch/tk/Desktop/G1Workspace/IsaacLab$ export ISAACSIM_PYTHON_EXE="${ISAACSIM_PATH}/python.sh"
(base) chiyufeng@a27:/rscratch/tk/Desktop/G1Workspace/IsaacLab$ ${ISAACSIM_PYTHON_EXE} -c "print('Isaac Sim configuration is now complete.')"
Helpful Tips
Logging Directory
A bunch of omni Python module uses the omni.log.info()
method to log data.
The logging directory is at
$CONDA_PREFIX/lib/python3.10/site-packages/omni/logs/Kit/Isaac-Sim/4.2/
Robot Joint Order
The joint are searched BFS, and joints at the same depth level are ordered alphabetically.
For example, this is the G1 robot joint order

File Watch Limit
If running into file watch limit error like the one below:
[carb] Failed to create change watch for `xxxxx`: errno=28/No space left on device
Can increase the system file watch limit by running
echo fs.inotify.max_user_watches=1048576 | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
and examine the change:
cat /proc/sys/fs/inotify/max_user_watches
Last updated
Was this helpful?