ros2 从零开始zed双目相机在rviz显示出图像和深度信息

一、系统与驱动层

参考:https://blog.csdn.net/2302_80099075/article/details/146069677

1. 显卡驱动 + CUDA

  • NVIDIA 驱动 ≥ 570(5060 要求)

  • CUDA 12.8(系统nvcc --version显示 12.8)

  • nvidia-smi正常

  • 切独显渲染(防 rviz/Explorer 闪):

sudo prime-select nvidia reboot

2. 装 ZED SDK 5.4(CUDA 12 版)

cd ~/Downloads chmod +x ZED_SDK_Ubuntu22_cuda12.8_tensorrt10.9_v5.4.1.zstd.run ./ZED_SDK_Ubuntu22_cuda12.8_tensorrt10.9_v5.4.1.zstd.run -- silent skip_od_module

4. 插相机确认 USB

lsusb -t | grep -i 2b03

看到5000M+Driver=uvcvideo才继续;若是 480M 换口/翻 Type-C 重插。


二、ROS 2 Humble 工作空间(核心编译)

5. 建空间 + 拉源码

mkdir -p ~/zed_ws/src cd ~/zed_ws/src git clone https://github.com/stereolabs/zed-ros2-wrapper.git cd ~/zed_ww

6. 初始化 rosdep(首次)

sudo rosdep init rosdep update

7. 关 conda + 清环境

conda deactivate conda config --set auto_activate_base false cd ~/zed_ws rm -rf build install log

8. 装依赖

rosdep install --from-paths src --ignore-src -r -y

9. colcon 编译(跳过 zed_debug)

colcon build --symlink-install \ --packages-skip zed_debug \ --cmake-args "-DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3"

10. 写 bashrc

echo "source ~/zed_ws/install/local_setup.bash" >> ~/.bashrc source ~/.bashrc

三、启动相机 + rviz2 看画面(每次用相机都这样)

11. 终端 A:启动 ZED Mini 节点

ros2 launch zed_wrapper zed_camera.launch.py camera_model:=zedm

成功标志:终端打印Camera opened successfully,无红色 ERROR。

12. 终端 B:看话题

ros2 topic list ros2 topic hz /zed/zed_node/rgb/color/rect/image

应有/zed/zed_node/rgb/color/rect/image等,hz 稳定 30(或配置值)。

13. 终端 C:开 rviz2

rviz2

在rviz进行配置:

  • Global Options → Fixed Frame:odom

  • Add → Image → Topic:/zed/zed_node/rgb/color/rect/image

  • Add → PointCloud2 → Topic:/zed/zed_node/point_cloud/cloud_registered

  • Add → Imu → Topic:/zed/zed_node/imu/data

看到稳定彩色图 + 点云随相机移动,就通了

四、最简化:

# 每次开机 sudo prime-select nvidia # 第一次设过就不用 source ~/zed_ws/install/local_setup.bash ros2 launch zed_wrapper zed_camera.launch.py camera_model:=zedm # 新终端 rviz2