ROS2 Interface 开发No.7 视觉传感器

ROS2 接口开发

更新于:2026年8月17日

1.1 PM01-D435i 深度相机

本节介绍如何启动 PM01 内置的 Intel RealSense D435i 深度相机节点,并获取相机数据。

查看深度相机设备

Bash
rs-enumerate-devices -s

输出示例:

Bash
Device Name                   Serial Number       Firmware Version
Intel RealSense D435I         243322074409        5.15.1.55
Intel RealSense D435I         347622075631        5.15.1.55

启动深度相机节点:EngineAI 官方基于 ROS2 生态(开源仓库 engineai_ros2_workspace)提供相机与雷达接入示例,本节内置了深度相机的示例程序 rs_launch.py

Bash
ros2 launch realsense2_camera rs_launch.py \
  serial_no:="243322074409" \
  camera_name:=cam_head \
  tf_prefix:=cam_head

参数说明

参数作用说明
serial_no绑定具体相机强制指定,需用外层双引号 + 内层单引号包裹
camera_nameTopic 命名空间避免多相机 topic 冲突,如 cam_head 生成 /camera/cam_head/xxx
tf_prefixTF 坐标系前缀cam_head 生成 cam_head_linkcam_head_depth_frame

可获取的 Topic

PLAIN
/camera/cam_head/color/camera_info
/camera/cam_head/color/image_raw
/camera/cam_head/color/metadata
/camera/cam_head/depth/camera_info
/camera/cam_head/depth/image_rect_raw
/camera/cam_head/depth/metadata
/camera/cam_head/extrinsics/depth_to_color

1.2 T800-Odin2 激光雷达相机

T800 系列搭载 Odin2 激光雷达相机,连接在 Orin 主板上。Odin2 出厂默认 IP 为 192.168.100.251,Orin 主板 IP 为 192.168.0.162

连接 Orin 主板

Bash
ssh -X username@192.168.0.162

系统要求

Ubuntu 版本ROS 版本
20.04ROS1 Noetic, ROS2 Foxy
22.04ROS2 Humble, ROS2 Iron
24.04ROS2 Jazzy

编译与运行(ROS2 Humble):

Bash
source /opt/ros/humble/setup.bash
cd your_ros_workspace
./src/odin_ros_driver/script/build_ros2.sh

# 运行
source install/setup.bash
ros2 launch odin_ros_driver_rev1 driver.launch.py

# 指定分辨率和帧率
ros2 launch odin_ros_driver_rev1 driver.launch.py image_width:=640 image_height:=544 image_fps:=30

# 不启动 RViz
ros2 launch odin_ros_driver_rev1 driver.launch.py start_rviz:=false

功能模块

节点说明
odin_ros_driver_node主驱动节点:连接设备、发布原始数据、提供标定服务
post_process_node后处理节点:图像去畸变、点云着色、立体校正
pointcloud_reprojector_node点云重投影节点:稀疏点云重投影输出叠加可视化图
pointcloud_to_depth_node点云转深度图节点:投影 + 膨胀 + Sobel 边缘抑制 + 最近邻上采样

主驱动发布的主要 Topic(均带有逐设备前缀 /{topic_prefix}/{model}/device{N}/):

Topic 后缀类型说明
cloud/rawsensor_msgs/PointCloud2原始点云(256×192)
cloud/slamsensor_msgs/PointCloud2SLAM 点云
camera0/compressedsensor_msgs/CompressedImage左相机 JPEG 压缩图像
camera1/compressedsensor_msgs/CompressedImage右相机 JPEG 压缩图像
imusensor_msgs/ImuIMU 数据(加速度、角速度)
odometrynav_msgs/Odometry里程计数据

常用 Launch 参数

参数默认值说明
start_rviztrue是否启动 RViz
topic_prefixmanifold话题前缀根
image_width0图像宽度,0 = 使用设备默认
image_height0图像高度,0 = 使用设备默认
image_fps0图像帧率,0 = 使用设备默认
image_formatmjpeg图像格式:mjpeg / yuyv / nv12 / nv21 / rgb24
sensor_mode0dToF 传感器模式:0=HDR / 1=High Peak / 2=Low Peak / 3=Adaptive
confidence_threshold7点云置信度阈值(0~255)
No.7 视觉传感器 | 众擎开源平台