二次开发帮助文档•帮助文档 / 02 · 深度相机与激光雷达接入

02 · 深度相机与激光雷达接入

更新于:2026年9月20日

1 系统与恢复

1.1 连不上运控计算单元(192.168.0.163),怎么排查?

  • 测试从本机电脑能否直接ping通
  • 在开发电脑端检查机器人网段对应的网卡与路由:Linux 使用 ip addr、ip route;Windows 使用 ipconfig、route print。避免有线、无线或 VPN 对同一机器人网段产生冲突路由,不要求整台电脑只能有一个 IP。
  • 如果调试电脑同时连接外网和机器人,请确保外网IP网段与机器人网络的192.168.0.0/24不同,避免路由冲突
  • 重启机器人
  • 联系售后处理,调试排查或返厂维修

2 传感器开发

2.1 怎么接入 Intel RealSense D435i 深度相机?

PM01 内置 Intel RealSense D435i 深度相机,官方基于 ROS2 生态提供接入示例。

第一步:查看深度相机设备

Bash
rs-enumerate-devices -s

输出示例:

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

第二步:启动深度相机节点

开源仓库 engineai_ros2_workspace 内置了深度相机示例程序 rs_launch.py:

Bash
# 序列号仅为示例,必须替换为本机枚举结果
ros2 launch realsense2_camera rs_launch.py \
  serial_no:="'243322074409'" \
  camera_name:=cam_head

执行前确认已安装驱动并加载 ROS2/工作空间环境。可用 ros2 launch realsense2_camera rs_launch.py --show-args 查看该版本支持的参数;不要将未经确认的 tf_prefix 参数直接复制到所有驱动版本。启动后应看到对应相机节点,且实际 image_raw 话题能持续收到数据。

参数说明:

参数作用说明
serial_no绑定具体相机多相机选择时使用实际枚举出的序列号;本示例采用外层双引号、内层单引号以传递字符串。参数行为以所安装的驱动版本为准。
camera_nameTopic 命名空间避免多相机 topic 冲突,如 cam_head 生成 /camera/cam_head/xxx
tf_prefixTF 前缀相关配置(版本相关)实际 frame 名称以当前驱动发布的 TF 为准;camera_name 与前缀参数的作用不能跨版本假定。

可获取的 Topic:

Text
/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

2.2 怎么接入激光雷达?

本条针对使用 Odin2 激光雷达相机的 T800 配置。文中设备默认 IP 为 192.168.100.251,Orin 管理地址为 192.168.0.162;二者处于不同网段,需确认 Orin 连接传感器的接口地址及路由可达。不要仅修改管理网口 IP 来尝试连接雷达。

连接 Orin 主板:

Bash
ssh -X username@192.168.0.162

编译与运行(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/msg/PointCloud2原始点云(256×192)
cloud/slamsensor_msgs/msg/PointCloud2SLAM 点云
camera0/compressedsensor_msgs/msg/CompressedImage左相机 JPEG 压缩图像
camera1/compressedsensor_msgs/msg/CompressedImage右相机 JPEG 压缩图像
imusensor_msgs/msg/ImuIMU 数据(加速度、角速度)
odometrynav_msgs/msg/Odometry里程计数据

常用 Launch 参数:

参数默认值说明
start_rviztrue是否启动 RViz
topic_prefixmanifold话题前缀根
image_width / image_height / image_fps00 = 使用设备默认
image_formatmjpeg图像格式:mjpeg / yuyv / nv12 / nv21 / rgb24
sensor_mode0dToF 传感器模式:0=HDR / 1=High Peak / 2=Low Peak / 3=Adaptive
confidence_threshold7点云置信度阈值(0~255)