Software Setup Guide
This guide walks you through installing all required software for the Physical AI Humanoid Robotics course. Follow these steps in order for a smooth setup experience.
Prerequisites
- Ubuntu 22.04 LTS installed (native or dual-boot recommended)
- At least 100GB free disk space
- Stable internet connection
- NVIDIA GPU with latest drivers installed
1. System Preparation
Update System Packages
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential git curl wget python3-pip
Install NVIDIA Drivers
For RTX 30-series and newer:
# Add NVIDIA PPA
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
# Install recommended driver (typically 535 or newer)
sudo ubuntu-drivers autoinstall
# Reboot to apply changes
sudo reboot
Verify installation:
nvidia-smi
You should see your GPU listed with driver version and CUDA version.
2. Install ROS 2 Humble
Set Locale
locale # Check current settings
sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
Add ROS 2 Repository
# Enable Ubuntu Universe repository
sudo apt install software-properties-common
sudo add-apt-repository universe
# Add ROS 2 GPG key
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
# Add repository to sources list
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
Install ROS 2 Packages
sudo apt update
sudo apt install -y ros-humble-desktop
sudo apt install -y ros-dev-tools
sudo apt install -y python3-colcon-common-extensions
Environment Setup
Add to your ~/.bashrc:
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc
Verify Installation
ros2 --help
3. Install Gazebo Classic
sudo apt install -y ros-humble-gazebo-ros-pkgs
sudo apt install -y gazebo
Verify installation:
gazebo --version
4. Install NVIDIA Isaac Sim
Install Omniverse Launcher
- Download from NVIDIA Omniverse
- Extract and run the AppImage:
chmod +x omniverse-launcher-linux.AppImage
./omniverse-launcher-linux.AppImage
Install Isaac Sim via Omniverse
- Open Omniverse Launcher
- Go to "Exchange" tab
- Search for "Isaac Sim"
- Click "Install" (version 2023.1.1 or newer)
- Wait for installation to complete (~20GB download)
Verify Isaac Sim Installation
Launch Isaac Sim from Omniverse Launcher and check that it opens without errors.
5. Install Isaac ROS
Install Docker (Required for Isaac ROS)
# Remove old versions
sudo apt-get remove docker docker-engine docker.io containerd runc
# Install prerequisites
sudo apt-get install -y \
ca-certificates \
curl \
gnupg \
lsb-release
# Add Docker GPG key
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# Add Docker repository
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Install Docker
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
# Add user to docker group
sudo usermod -aG docker $USER
newgrp docker
Install NVIDIA Container Toolkit
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker
Clone Isaac ROS Repositories
mkdir -p ~/workspaces/isaac_ros-dev/src
cd ~/workspaces/isaac_ros-dev/src
git clone https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_common.git
6. Install Unity (Optional)
Install Unity Hub
# Download Unity Hub
wget https://public-cdn.cloud.unity3d.com/hub/prod/UnityHub.AppImage
# Make executable
chmod +x UnityHub.AppImage
# Run Unity Hub
./UnityHub.AppImage
Install Unity Editor
- Open Unity Hub
- Go to "Installs" → "Install Editor"
- Choose Unity 2022.3 LTS or newer
- Add "Linux Build Support" module
Install Unity Robotics Hub
In Unity, install via Package Manager:
- Window → Package Manager
- Add package from git URL:
https://github.com/Unity-Technologies/ROS-TCP-Connector.git?path=/com.unity.robotics.ros-tcp-connector
7. Additional Development Tools
Install Visual Studio Code
sudo snap install --classic code
Install Useful ROS 2 Tools
sudo apt install -y \
ros-humble-rviz2 \
ros-humble-rqt \
ros-humble-robot-state-publisher \
ros-humble-joint-state-publisher-gui \
ros-humble-xacro
Install Python Packages
pip3 install --upgrade pip
pip3 install numpy opencv-python matplotlib torch torchvision
8. Verify Complete Setup
Test ROS 2
# Terminal 1: Start talker
ros2 run demo_nodes_cpp talker
# Terminal 2: Start listener
ros2 run demo_nodes_py listener
Test Gazebo with ROS 2
ros2 launch gazebo_ros gazebo.launch.py
Test Isaac Sim
Launch Isaac Sim from Omniverse Launcher and load a sample robot scene.
Troubleshooting
Common Issues
Issue: ROS 2 commands not found
- Solution: Ensure you've sourced the setup file:
source /opt/ros/humble/setup.bash
Issue: Gazebo crashes on startup
- Solution: Check NVIDIA drivers with
nvidia-smiand ensure OpenGL is working
Issue: Isaac Sim won't launch
- Solution: Verify GPU has at least 8GB VRAM and drivers are up to date
Issue: Docker permission denied
- Solution: Run
sudo usermod -aG docker $USERand log out/in again
Next Steps
- Review Hardware Requirements to ensure your system meets specifications
- Explore Lab Infrastructure for deployment options
- Check the Student Kit Guide for Jetson setup