2. 开发环境准备

说实话,环境配置这一步,往往是整个项目里最磨人的环节。我记得第一次搭Isaac Sim的时候,光驱动就折腾了两天。后来我学乖了——先把所有依赖的版本号写在墙上,再动手。这一章,我就带你走一遍我验证过的流程。

2.1 整体环境依赖关系

先搞清楚我们要装什么,以及它们之间的依赖关系。说白了,Isaac Sim就是个重度依赖GPU的仿真引擎,ROS2 Humble是它的“通信大脑”。两者之间靠一个叫isaac_ros_bridge的中间件连接。

核心依赖链:

GPU驱动 → CUDA 11.8 → Isaac Sim 2023.1 ↔ ROS2 Humble ↔ isaac_ros_bridge

任何一个环节版本不匹配,后面全白搭。

Isaac Sim + ROS2 Humble 环境依赖结构图 NVIDIA GPU (RTX 30/40系列) NVIDIA 驱动 ≥ 525.60.13 CUDA 11.8 Isaac Sim 2023.1 (基于Omniverse Kit) ROS2 Humble (Ubuntu 22.04) isaac_ros_bridge (通信桥梁) 说明:箭头表示依赖方向,虚线表示间接依赖。所有组件版本必须严格对齐。

2.2 验证GPU驱动与CUDA版本

别急着装Isaac Sim。先看看你的显卡能不能干活。我在项目里见过太多人装到一半才发现驱动不对,那叫一个崩溃。

2.2.1 检查GPU型号

# 查看GPU信息
lspci | grep -i nvidia

# 或者用nvidia-smi(如果已经装了驱动)
nvidia-smi --query-gpu=name --format=csv,noheader

Isaac Sim 2023.1 官方要求至少是NVIDIA RTX 系列显卡。GTX 系列也能跑,但性能会打折扣。我个人建议用RTX 3060以上,显存至少8GB。

2.2.2 安装/更新NVIDIA驱动

如果你还没装驱动,或者版本太老,按下面步骤来:

  1. 卸载旧驱动(如果有的话)
sudo apt purge nvidia-* -y
sudo apt autoremove -y
  1. 添加官方驱动PPA
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
  1. 安装推荐驱动
# 查看推荐版本
ubuntu-drivers devices

# 安装推荐驱动(一般是535或525)
sudo apt install nvidia-driver-535 -y
  1. 重启并验证
sudo reboot
# 重启后运行
nvidia-smi

注意:Isaac Sim 2023.1 要求驱动版本 ≥ 525.60.13。如果你装了535,没问题。但别装545以上的测试版,我踩过坑——CUDA 11.8不兼容。

2.2.3 安装CUDA 11.8

Isaac Sim 2023.1 绑定的是CUDA 11.8。别自作主张装12.x,否则桥接会报错。我曾经试过CUDA 12.0,结果Isaac Sim直接打不开。

# 下载CUDA 11.8 runfile
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run

# 运行安装(注意不要装驱动,只装CUDA Toolkit)
sudo sh cuda_11.8.0_520.61.05_linux.run --toolkit --silent --override

装完后配置环境变量:

# 添加到 ~/.bashrc
echo 'export PATH=/usr/local/cuda-11.8/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

验证CUDA版本:

nvcc --version

# 输出应该包含 Cuda compilation tools, release 11.8, V11.8.89

2.3 安装ROS2 Humble

ROS2 Humble 是Ubuntu 22.04的原配版本。如果你用的是20.04,那得装Galactic或者Foxy。但我建议直接上22.04 + Humble,省心。

2.3.1 设置软件源

# 设置locale
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

# 添加ROS2源
sudo apt install software-properties-common
sudo add-apt-repository universe

# 添加ROS2 GPG key
sudo apt update && sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

# 添加仓库
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

2.3.2 安装ROS2 Humble桌面版

sudo apt update
sudo apt install ros-humble-desktop -y

桌面版包含了常用的工具和库,比如rviz2、gazebo等。如果你硬盘空间紧张,可以装ros-humble-ros-base,但我不建议——后面调试的时候缺这缺那,更麻烦。

2.3.3 配置环境变量

echo 'source /opt/ros/humble/setup.bash' >> ~/.bashrc
source ~/.bashrc

验证安装:

ros2 --version

# 输出类似:ros2 humble 2023xx

小技巧:我习惯在 ~/.bashrc 里加一个别名,方便切换ROS版本:

alias ros2h='source /opt/ros/humble/setup.bash'

这样每次打开终端,输入 ros2h 就能激活Humble环境,不影响其他ROS版本。

2.4 安装Isaac Sim 2023.1

Isaac Sim的安装方式有两种:通过Omniverse Launcher,或者直接下载压缩包。我推荐用Launcher,因为后续更新和组件管理更方便。

2.4.1 安装Omniverse Launcher

# 下载Launcher
wget https://install.launcher.omniverse.nvidia.com/installers/omniverse-launcher-linux.AppImage

# 赋予执行权限
chmod +x omniverse-launcher-linux.AppImage

# 运行(会弹出图形界面)
./omniverse-launcher-linux.AppImage

嗯,这里要注意——Launcher需要登录NVIDIA账号。如果你没有,先去官网注册一个。免费的。

2.4.2 通过Launcher安装Isaac Sim

  1. 打开Omniverse Launcher,切换到 Exchange 标签页。
  2. 搜索 Isaac Sim,选择版本 2023.1.0。
  3. 点击 Install,选择安装路径(建议放在空间充足的磁盘,至少50GB)。
  4. 等待下载完成(大概10-20分钟,取决于网速)。

安装完成后:

默认安装路径:~/.local/share/ov/pkg/isaac_sim-2023.1.0/

启动命令:./isaac_sim.sh

2.4.3 验证Isaac Sim启动

cd ~/.local/share/ov/pkg/isaac_sim-2023.1.0/
./isaac_sim.sh

第一次启动会加载一些缓存,稍等片刻。如果看到Isaac Sim的界面,恭喜你,环境搭好了。

常见问题:如果启动时报错 libcuda.so.1: cannot open shared object file,说明CUDA路径没配好。检查一下 LD_LIBRARY_PATH 是否包含 /usr/local/cuda-11.8/lib64。

2.5 安装isaac_ros_bridge

桥接包是连接Isaac Sim和ROS2的关键。我建议用源码编译,因为apt源里的版本可能滞后。

2.5.1 创建工作空间

mkdir -p ~/isaac_ros_ws/src
cd ~/isaac_ros_ws/src

2.5.2 克隆桥接包

git clone https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_common.git
git clone https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_bridge.git

2.5.3 编译

cd ~/isaac_ros_ws
colcon build --symlink-install

编译时间取决于你的机器性能,大概5-15分钟。如果报错缺少依赖,用 rosdep 安装:

sudo apt install python3-rosdep -y
sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src -r -y

2.6 环境验证清单

所有东西装完后,我建议你按这个表格逐项检查。别偷懒,我曾经跳过一步,结果调试时花了三小时找问题。

检查项 验证命令 预期结果
GPU驱动版本 nvidia-smi 驱动 ≥ 525.60.13
CUDA版本 nvcc --version release 11.8
ROS2版本 ros2 --version ros2 humble
Isaac Sim启动 ./isaac_sim.sh 图形界面正常打开
桥接编译 colcon build 无报错,所有包编译成功

我的习惯:每次装完环境,我会写一个简单的测试脚本,把上面五个检查项一次性跑完。这样下次换机器或者重装系统时,直接跑脚本就知道哪里有问题。

2.7 避坑总结

最后,分享几个我踩过的坑:

  • 驱动版本别追新:Isaac Sim 2023.1 对驱动版本有硬性要求,不是越新越好。我试过545驱动,结果CUDA 11.8不认。
  • Python版本别乱动:Ubuntu 22.04 自带Python 3.10。别手痒升级到3.11,ROS2 Humble依赖3.10。
  • 磁盘空间留够:Isaac Sim本体加上ROS2和桥接包,轻松吃掉30GB。建议留50GB以上。
  • 网络问题:如果下载Isaac Sim慢,可以试试换源或者用代理。Launcher不支持断点续传,断了就得重来。