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工具。
三、时间同步:硬件触发与软件对齐
时间同步分为硬同步与软同步。硬同步通过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零偏未收敛时,去畸变和预积分都会引入误差。
综上,RGB-D、激光雷达与IMU的融合并非简单叠加,而是通过标定建立统一空间基准,通过时间同步建立统一时间基准,最终输出时空对齐的多模态数据。只有把这两步做扎实,后续的SLAM、语义分割与3D场景图构建才能稳定可靠。