Software: NVIDIA Isaac Sim Installation
Overview
NVIDIA Isaac Sim is a high-fidelity robotics simulation platform built on Om
niverse, providing GPU-accelerated physics, ray-traced rendering, and synthetic data generation for training perception models.
Requirements:
- GPU: NVIDIA RTX 3060 or better (12GB+ VRAM)
- Storage: 50GB free space
- OS: Ubuntu 22.04 or Windows 11
⚠️ Jetson Compatibility: Isaac Sim is NOT supported on Jetson Orin Nano due to insufficient VRAM. Use cloud or workstation for Module 3.
Installation Steps (Ubuntu 22.04)
Step 1: Install Omniverse Launcher
# Download Omniverse Launcher
cd ~/Downloads
wget https://install.launcher.omniverse.nvidia.com/installers/omniverse-launcher-linux.AppImage
# Make executable
chmod +x omniverse-launcher-linux.AppImage
# Run launcher
./omniverse-launcher-linux.AppImage
Step 2: Sign In and Install Isaac Sim
- Create NVIDIA Account (if you don't have one)
- Sign in to Omniverse Launcher
- Click Exchange tab → Search for "Isaac Sim"
- Select Isaac Sim 2023.1.1 (recommended for ROS 2 Humble)
- Click Install (downloads ~15GB, takes 30-45 minutes)
Installation Path: ~/.local/share/ov/pkg/isaac_sim-2023.1.1/
Step 3: Verify Installation
# Launch Isaac Sim
~/.local/share/ov/pkg/isaac_sim-2023.1.1/isaac-sim.sh
# Expected: Isaac Sim GUI opens with sample scene
# First launch takes 2-3 minutes (shader compilation)
Step 4: Install ROS 2 Bridge
# Navigate to Isaac Sim directory
cd ~/.local/share/ov/pkg/isaac_sim-2023.1.1
# Install ROS 2 dependencies
./python.sh -m pip install --upgrade pip
./python.sh -m pip install rospy-message-converter
# Source ROS 2 environment
source /opt/ros/humble/setup.bash
# Verify bridge
./python.sh standalone_examples/api/omni.isaac.ros2_bridge/ros2_sample.py
Cloud Installation (Docker Method)
For cloud instances without GUI, use Isaac Sim container:
# Install NVIDIA Container Toolkit
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
# Pull Isaac Sim container
docker pull nvcr.io/nvidia/isaac-sim:2023.1.1
# Run headless
docker run --name=isaac-sim --entrypoint bash -it --gpus all -e "ACCEPT_EULA=Y" --rm --network=host \
-v ~/docker/isaac-sim/cache/kit:/isaac-sim/kit/cache:rw \
-v ~/docker/isaac-sim/cache/ov:/root/.cache/ov:rw \
-v ~/docker/isaac-sim/cache/pip:/root/.cache/pip:rw \
-v ~/docker/isaac-sim/cache/glcache:/root/.cache/nvidia/GLCache:rw \
-v ~/docker/isaac-sim/cache/computecache:/root/.nv/ComputeCache:rw \
-v ~/docker/isaac-sim/logs:/root/.nvidia-omniverse/logs:rw \
-v ~/docker/isaac-sim/data:/root/.local/share/ov/data:rw \
-v ~/docker/isaac-sim/documents:/root/Documents:rw \
nvcr.io/nvidia/isaac-sim:2023.1.1
Verification Tests
Test 1: GPU Detection
# Inside Isaac Sim Python environment
~/.local/share/ov/pkg/isaac_sim-2023.1.1/python.sh
>>> from pxr import Usd, UsdGeom
>>> import carb
>>> carb.get_framework().get_renderer_info()
# Should show NVIDIA GPU model
Test 2: Run Sample Scene
# Launch Carter robot navigation demo
~/.local/share/ov/pkg/isaac_sim-2023.1.1/isaac-sim.sh standalone_examples/api/omni.isaac.wheeled_robots/carter_lidar.py
Expected: Carter robot appears in 3D viewport, lidar rays visible, FPS >20.
Test 3: ROS 2 Bridge Test
Terminal 1: Start Isaac Sim with ROS bridge
source /opt/ros/humble/setup.bash
~/.local/share/ov/pkg/isaac_sim-2023.1.1/isaac-sim.sh standalone_examples/api/omni.isaac.ros2_bridge/clock.py
Terminal 2: Check ROS topics
source /opt/ros/humble/setup.bash
ros2 topic list
# Expected output includes:
# /clock
# /rosout
✅ Success: If /clock topic is publishing, ROS 2 bridge is working!
Performance Optimization
1. Enable RTX Mode (for RTX GPUs)
# In Isaac Sim scripts
import omni.replicator.core as rep
rep.settings.carb_settings("/rtx/pathtracing/spp", 16) # Samples per pixel
rep.settings.carb_settings("/rtx/pathtracing/maxBounces", 4)
2. Adjust Physics Timestep
# For faster-than-realtime simulation
from omni.isaac.core.utils.physics import simulate_async
simulate_async(1/240.0) # 240 Hz physics (vs default 60 Hz)
3. Reduce Shadow Quality (for FPS boost)
In Isaac Sim GUI:
- Edit → Preferences → Rendering
- Set "Shadow Map Size" to 1024 (from 2048)
- Disable "Ambient Occlusion" if not needed
Troubleshooting
Issue: "vulkan: error getting physical device properties"
Cause: NVIDIA driver or Vulkan not properly installed.
Solution:
# Install Vulkan support
sudo apt install mesa-vulkan-drivers vulkan-tools
vulkaninfo | grep "deviceName"
# Update NVIDIA driver if needed
sudo ubuntu-drivers autoinstall
sudo reboot
Issue: Isaac Sim crashes on launch
Cause: Insufficient VRAM or GPU not supported.
Solution:
# Check GPU VRAM
nvidia-smi --query-gpu=name,memory.total --format=csv
# Minimum: 12GB VRAM
# If less, reduce scene complexity or use cloud GPU
Issue: ROS 2 topics not visible
Cause: ROS 2 environment not sourced before launching Isaac Sim.
Solution:
# ALWAYS source ROS 2 first
source /opt/ros/humble/setup.bash
~/.local/share/ov/pkg/isaac_sim-2023.1.1/isaac-sim.sh
Next Steps
✅ Isaac Sim installed!
Module 3 (Weeks 8-10):
- Week 8: Isaac Sim Setup (coming soon)
- Week 9: Perception Pipeline (coming soon)
- Week 10: Advanced Perception (coming soon)
Additional Resources
Installation Complete! Ready for Module 3 perception work.