深度相机 ROS2 功能包使用(Aurora933)
Hint
本文档用于单独说明 Aurora930 / Aurora933 深度相机 ROS2 功能包的编译、启动、话题查看、RViz 显示和参数配置。
- 机器人端:Ubuntu 22.04 + ROS2 Humble
- 深度相机:Deptrum / 光鉴 Aurora930 系列,小车对应 Aurora933
- ROS2 驱动源码包:
deptrum-ros-driver-aurora930-aarch64-0.2.11-source.tar.gz - 编译选项:
-DSTREAM_SDK_TYPE=AURORA930 - 默认命名空间:
/aurora - 主要输出:RGB 图像、IR 图像、Depth 深度图、PointCloud2 点云
- Aurora930和Aurora933的主要区别是前者没有玻璃防尘盖板,后者有防尘玻璃盖板
功能包/资料包下载链接:(可参考套件资料/资料链接下载)
场景说明
本功能包用于将 Aurora930 系列深度相机接入 ROS2 系统,并发布 RGB、IR、Depth、点云和相机内参话题,供后续目标检测、深度定位、机械臂抓取、障碍物感知、RViz 可视化等功能使用。
启动 ROS2 驱动后,常用输出如下:
/aurora/rgb/image_raw:彩色图像,适合目标检测、二维码识别和画面预览。/aurora/depth/image_raw:深度图像,编码为 16 位深度数据,通常按毫米级深度使用。/aurora/ir/image_raw:红外图像,用于红外成像和调试。/aurora/points2:点云数据,用于 RViz 三维显示和空间定位。/aurora/rgb/camera_info、/aurora/ir/camera_info:相机内参信息。
Attation
ROS2 驱动启动前,建议先完成硬件测试文档中的 USB 枚举、udev 权限和 SDK 示例测试。若 SDK 示例无法打开相机,ROS2 驱动通常也无法正常打开相机。
资料包中 ROS2 相关内容
压缩包中与 ROS2 功能包相关的内容如下:
930_SDK等文件/
└── 930_ROS/
└── ROS2/
└── ros2源码/
└── deptrum-ros-driver-aurora930-aarch64-0.2.11-source.tar.gz
ROS2 源码包解压后的主要结构如下:
deptrum-ros-driver-aurora930-0.2.11/
├── CMakeLists.txt
├── package.xml
├── docs/
│ ├── building.md
│ └── usage_aurora930.md
├── launch_aurora930/
│ └── launch/
│ ├── aurora930_launch.py
│ ├── aurora930_multi_launch.py
│ ├── viewer930_launch.py
│ └── sub_node_ci_aurora930_launch.py
├── rviz/
│ └── aurora930-ros2.rviz
├── src/
├── include/
├── subscribe_node/
└── ext/
常用文件说明如下:
| 文件 / 目录 | 作用 |
|---|---|
aurora930_launch.py |
启动 Aurora930 深度相机驱动节点 |
viewer930_launch.py |
启动 RViz 并加载官方 RViz 配置 |
aurora930_multi_launch.py |
多设备启动参考 |
sub_node_ci_aurora930_launch.py |
启动订阅保存图像示例节点 |
rviz/aurora930-ros2.rviz |
Aurora930 的 RViz 显示配置 |
subscribe_node/ |
图像订阅和保存示例程序 |
第一步:安装 ROS2 基础依赖
在 Ubuntu 22.04 + ROS2 Humble 环境中,建议先安装常用依赖:
sudo apt update
sudo apt install -y \
build-essential \
cmake \
python3-colcon-common-extensions \
libusb-1.0-0-dev \
libudev-dev \
libopencv-dev \
libgoogle-glog-dev \
libgflags-dev \
ros-humble-cv-bridge \
ros-humble-image-transport \
ros-humble-camera-info-manager \
ros-humble-tf2 \
ros-humble-tf2-ros \
ros-humble-tf2-geometry-msgs \
ros-humble-angles \
ros-humble-rviz2 \
ros-humble-rqt-image-view
加载 ROS2 环境:
Attation
如果系统不是 Humble,请将命令中的 humble 替换为当前 ROS2 发行版名称。
第二步:准备 ROS2 工作空间
创建工作空间:
将资料包中的 ROS2 源码压缩包复制到 ~/dev_ws/src 后解压:
解压后目录一般为:
可以改名为更短的目录名:
建议最终结构如下:
~/dev_ws/
└── src/
└── deptrum-ros-driver/
├── CMakeLists.txt
├── package.xml
├── launch_aurora930/
├── rviz/
├── src/
├── include/
├── subscribe_node/
└── ext/
第三步:确认 ROS2 包名
驱动源码中 launch 文件使用的包名为:
如果 package.xml 中包名不是 deptrum-ros-driver-aurora930,需要修改。
进入源码目录:
检查包名:
如果看到的不是下面内容:
可以执行一次替换:
Attation
sed 替换命令只执行一次即可。执行前建议先用 grep "<name>" package.xml 确认包名,避免重复替换导致包名异常。
第四步:编译 ROS2 功能包
回到工作空间根目录:
按 Aurora930 类型编译:
如果切换过 SDK 类型或修改过 CMake 配置,可以强制重新配置:
编译完成后加载工作空间环境:
检查包是否可见:
正常情况下应能看到:
第五步:启动深度相机驱动
在终端中执行:
source /opt/ros/humble/setup.bash
source ~/dev_ws/install/setup.bash
ros2 launch deptrum-ros-driver-aurora930 aurora930_launch.py
驱动 launch 文件中默认设置了命名空间:
所以实际话题名前面会带 /aurora。
启动成功后,另开一个终端查看话题:
常见输出如下:
/aurora/rgb/image_raw
/aurora/rgb/camera_info
/aurora/ir/image_raw
/aurora/ir/camera_info
/aurora/depth/image_raw
/aurora/points2
查看深度图帧率:
查看点云话题信息:
第六步:RViz 可视化显示
方式一:使用官方 RViz 配置启动
驱动包中已经包含 Aurora930 的 RViz 配置文件,可以直接启动:
source /opt/ros/humble/setup.bash
source ~/dev_ws/install/setup.bash
ros2 launch deptrum-ros-driver-aurora930 viewer930_launch.py
该命令会打开 RViz,并加载:
方式二:手动打开 RViz
如果需要手动配置 RViz,可以执行:
在 RViz 中进行如下设置:
- 将
Global Options中的Fixed Frame设置为:
- 点击
Add,选择By topic,添加以下显示项:
Attation
如果在 SSH 终端中直接运行 RViz,可能出现 qt.qpa.xcb: could not connect to display。这是图形显示环境问题,不是相机驱动问题。建议在同一 ROS2 网络下的 PC 端运行 RViz,或者使用远程桌面 / X11 转发。
第七步:rqt_image_view 查看图像
如果只想查看图像,不需要看点云,可以使用 rqt_image_view:
启动后选择需要查看的话题:
其中:
- RGB 图像用于确认彩色相机画面是否正常。
- Depth 图像用于确认深度数据是否正常。
- IR 图像用于确认红外模组是否正常。
第八步:保存图像数据
驱动源码中包含 subscribe_node 示例程序,可订阅驱动发布的话题,并将 RGB、IR、Depth 图像保存到本地。
启动深度相机驱动后,在另一个终端运行:
source /opt/ros/humble/setup.bash
source ~/dev_ws/install/setup.bash
cd ~/dev_ws/install/deptrum-ros-driver-aurora930/lib/deptrum-ros-driver-aurora930
./sub_node
默认保存路径为:
也可以使用 launch 启动订阅节点:
Attation
保存图像前需要先启动深度相机驱动节点,否则订阅节点没有数据来源。
常用启动参数
aurora930_launch.py 中提供了多个可调参数,可以在启动时通过命令行覆盖。
| 参数名 | 默认值 | 作用 |
|---|---|---|
rgb_enable |
true |
是否发布 RGB 彩色图像 |
ir_enable |
true |
是否发布 IR 红外图像 |
depth_enable |
true |
是否发布深度图像 |
rgbd_enable |
false |
是否启用 RGBD 模式 |
point_cloud_enable |
true |
是否发布点云数据,依赖深度图 |
boot_order |
1 |
相机启动顺序配置 |
ir_fps |
15 |
IR 帧率,可选值通常为 5 / 10 / 12 / 15 |
rgb_fps |
15 |
RGB 帧率,应小于或等于 IR 帧率 |
exposure_enable |
false |
是否手动设置曝光 |
exposure_time |
1 |
曝光时间,范围通常为 1 ~ 31 |
gain_enable |
false |
是否手动设置增益 |
gain_value |
20 |
增益值,范围通常为 10 ~ 160 |
usb_port_number |
空 | 指定 USB 端口号,用于多设备区分 |
threshold_size |
110 |
去噪过滤尺寸 |
depth_correction |
true |
是否开启深度修正 |
align_mode |
true |
是否开启 RGBD / IR 对齐模式 |
laser_power |
1.0 |
激光功率模式,常见含义:1 自动、2 室内、3 室外 |
minimum_filter_depth_value |
150 |
最小深度过滤值 |
maximum_filter_depth_value |
4000 |
最大深度过滤值 |
resolution_mode_index |
2 |
分辨率模式索引 |
log_dir |
/tmp/ |
日志输出目录 |
stream_sdk_log_enable |
true |
是否开启 SDK 日志 |
heart_enable |
false |
是否开启心跳检测 |
仅启动 RGB 和深度图,不发布点云:
ros2 launch deptrum-ros-driver-aurora930 aurora930_launch.py \
rgb_enable:=true \
ir_enable:=false \
depth_enable:=true \
point_cloud_enable:=false
将最大有效深度限制为 3 米:
降低负载,只保留深度图:
ros2 launch deptrum-ros-driver-aurora930 aurora930_launch.py \
rgb_enable:=false \
ir_enable:=false \
depth_enable:=true \
point_cloud_enable:=false
ROS2 话题说明
由于 launch 文件中设置了 namespace="aurora",所以完整话题名如下:
| 完整话题名 | 消息类型 | 作用 |
|---|---|---|
/aurora/rgb/image_raw |
sensor_msgs/msg/Image |
RGB 彩色图像,BGR888 / bgr8 格式 |
/aurora/rgb/camera_info |
sensor_msgs/msg/CameraInfo |
RGB 相机内参 |
/aurora/ir/image_raw |
sensor_msgs/msg/Image |
IR 红外图像 |
/aurora/ir/camera_info |
sensor_msgs/msg/CameraInfo |
IR / Depth 相机内参 |
/aurora/depth/image_raw |
sensor_msgs/msg/Image |
深度图像,16 位深度数据 |
/aurora/points2 |
sensor_msgs/msg/PointCloud2 |
深度点云 |
如果其他节点默认订阅 /camera/depth/image_raw 或 /camera/color/image_raw,可以使用 remap 方式接入:
ros2 run your_package your_node --ros-args \
-r /camera/color/image_raw:=/aurora/rgb/image_raw \
-r /camera/depth/image_raw:=/aurora/depth/image_raw \
-r /camera/color/camera_info:=/aurora/rgb/camera_info \
-r /camera/depth/camera_info:=/aurora/ir/camera_info
多设备使用说明
如果同一局域网或同一主机上存在多台 ROS2 设备,为避免 DDS 通信混乱,可以设置不同的 ROS_DOMAIN_ID。
例如:
如果需要长期生效:
对于多台深度相机,还可以通过 usb_port_number 指定设备端口,避免驱动打开错误设备。
日志查看
驱动默认将日志输出到 /tmp/ 目录,可以查看最新日志软链接:
查看日志内容:
也可以查找驱动日志文件:
推荐启动流程
完整使用时建议开启三个终端。
第一终端:启动深度相机驱动
source /opt/ros/humble/setup.bash
source ~/dev_ws/install/setup.bash
ros2 launch deptrum-ros-driver-aurora930 aurora930_launch.py
第二终端:查看话题和帧率
source /opt/ros/humble/setup.bash
source ~/dev_ws/install/setup.bash
ros2 topic list | grep aurora
ros2 topic hz /aurora/depth/image_raw
第三终端:图像或点云可视化
查看图像:
查看点云:
