2. 开发环境准备:安装NVIDIA Isaac Sim 2023.1,配置ROS2 Humble环境,验证GPU驱动与CUDA版本兼容性
说实话,环境配置这一步,往往是整个项目里最磨人的环节。我记得第一次搭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
任何一个环节版本不匹配,后面全白搭。
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驱动
如果你还没装驱动,或者版本太老,按下面步骤来:
- 卸载旧驱动(如果有的话)
sudo apt purge nvidia-* -y
sudo apt autoremove -y
- 添加官方驱动PPA
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
- 安装推荐驱动
# 查看推荐版本
ubuntu-drivers devices
# 安装推荐驱动(一般是535或525)
sudo apt install nvidia-driver-535 -y
- 重启并验证
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
- 打开Omniverse Launcher,切换到 Exchange 标签页。
- 搜索 Isaac Sim,选择版本 2023.1.0。
- 点击 Install,选择安装路径(建议放在空间充足的磁盘,至少50GB)。
- 等待下载完成(大概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不支持断点续传,断了就得重来。