4. 传感器与数据采集

在机器人3D场景图建模中,传感器是系统感知物理世界的“入口”。RGB-D相机提供稠密彩色与深度信息,激光雷达提供高精度稀疏几何点云,IMU提供高频姿态与运动先验。三者单独使用都存在明显短板:RGB-D受光照和纹理影响大、测距范围有限;激光雷达缺乏颜色语义且点云稀疏;IMU存在零偏与积分漂移。因此,工程上通常采用多传感器融合,而融合的前提是完成空间标定与时间同步。

一、核心传感器特性与数据形式

RGB-D相机(如RealSense D435i、Azure Kinect)输出对齐后的RGB图像与深度图,深度图可反投影为彩色点云。其优点是帧率高、纹理丰富,适合语义分割与稠密重建;缺点是红外干扰、透明/反光表面失效、室外强光下深度缺失。

激光雷达分为机械旋转式(如Velodyne、禾赛)与固态式(如Livox)。它输出三维点云,每个点包含x、y、z、intensity、ring、timestamp等字段。激光雷达不受光照影响,测距远、精度高,但点云稀疏、无颜色,且运动畸变需要补偿。

IMU输出三轴线加速度与三轴角速度,频率通常为100~1000Hz。它响应快、短期精度高,但零偏随机游走导致积分姿态随时间漂移,因此常作为高频运动先验,用于点云去畸变和帧间位姿预测。

二、多传感器标定:把数据放到同一坐标系

标定分为内参标定与外参标定。内参标定解决单个传感器自身模型参数,例如相机焦距、畸变系数,激光雷达的每束激光垂直角与距离修正,IMU的零偏与尺度因子。外参标定解决传感器之间的刚体变换,即旋转矩阵R与平移向量t。

相机-激光雷达外参标定常用方法包括:基于标定板(棋盘格或ArUco)的方法,同时提取相机角点与激光雷达平面点,通过最小化重投影误差求解;基于边缘对齐的方法,利用图像边缘与点云深度不连续边缘匹配;基于运动的方法,通过手眼标定求解AX=XB。相机-IMU标定则需估计时间偏移td与空间外参,常用Kalibr工具。

标定质量直接决定融合精度。建议在标定后计算重投影误差,相机-激光雷达平均误差应小于2像素,相机-IMU时间偏移应小于1ms。

三、时间同步:硬件触发与软件对齐

时间同步分为硬同步与软同步。硬同步通过PPS脉冲或触发线让所有传感器在同一时刻曝光或采样,精度可达微秒级,但需要硬件支持。软同步通过时间戳对齐,常见策略有:最近邻匹配、线性插值、以及基于运动补偿的插值。

对于激光雷达与IMU,通常采用IMU积分进行点云去畸变:将一帧点云内每个点按时间戳投影到帧起始时刻,利用IMU预积分得到相对旋转。对于RGB-D与IMU,则通过时间偏移估计与插值实现对齐。

# 典型多传感器时间同步配置(YAML)
sensors:
  camera:
    topic: /camera/color/image_raw
    rate: 30
    timestamp_source: header.stamp
  lidar:
    topic: /velodyne_points
    rate: 10
    timestamp_source: header.stamp
  imu:
    topic: /imu/data
    rate: 200
    timestamp_source: header.stamp
sync:
  policy: approximate_time
  queue_size: 20
  max_interval: 0.02   # 20ms
  interpolate: true

四、数据采集流程与工程实践

一个完整的数据采集流程通常包括:传感器驱动启动、时间同步配置、标定参数加载、数据录制与质量监控。在ROS中,常用rosbag record录制多话题,用message_filters做近似时间同步,用rviz实时检查点云与图像对齐效果。

采集时需注意:避免剧烈运动导致运动畸变过大;避免强光直射相机;确保IMU静止初始化;记录标定文件与采集配置,便于复现。对于大场景建模,建议采用闭环采集路径,保证回环检测有足够重叠。

传感器 典型频率 主要输出 优势 局限
RGB-D相机 30 Hz RGB图、深度图、点云 稠密、有颜色、语义丰富 受光照影响、测距短
激光雷达 10~20 Hz 三维点云、强度 精度高、不受光照影响 稀疏、无颜色、运动畸变
IMU 100~1000 Hz 加速度、角速度 高频、短期精度高 零偏漂移、需标定

五、常见误区与复盘

  • 只做外参标定,忽略时间偏移。相机与IMU之间若存在10ms以上时间偏移,在快速运动时会导致明显重影。
  • 用同一时间戳强行对齐。不同传感器频率不同,应使用近似时间同步或插值,而非简单取整。
  • 标定后不验证。应通过重投影误差、点云边缘对齐、轨迹一致性等指标验证标定质量。
  • 忽略IMU初始化。IMU零偏未收敛时,去畸变和预积分都会引入误差。
多传感器标定与同步是3D场景图建模的“地基”。若标定误差超过阈值,后续SLAM与语义建图的精度都会受到不可逆影响。建议每次更换传感器安装位置后重新标定,并在采集前做一次快速验证。
多传感器标定与时间同步数据流 RGB-D相机 RGB + 深度图 30 Hz 激光雷达 三维点云 + 强度 10~20 Hz IMU 加速度 + 角速度 100~1000 Hz 多传感器标定 内参标定(焦距/畸变/零偏) + 外参标定(R, t) + 时间偏移 td 时间同步 硬件触发 / 近似时间同步 / 插值对齐 / IMU去畸变 对齐后的多模态数据 彩色点云 / 去畸变点云 / 高频姿态 标定误差 < 2px 时间偏移 < 1ms 验证:重投影误差 点云边缘对齐

综上,RGB-D、激光雷达与IMU的融合并非简单叠加,而是通过标定建立统一空间基准,通过时间同步建立统一时间基准,最终输出时空对齐的多模态数据。只有把这两步做扎实,后续的SLAM、语义分割与3D场景图构建才能稳定可靠。