4. 传感器与数据采集
AMR 的自主导航能力,本质上建立在“对环境的观测”和“对自身运动的估计”之上。传感器与数据采集层负责把物理世界转换为可计算的数据流:激光雷达提供二维/三维几何轮廓,深度相机补充稠密深度与纹理,IMU 捕捉角速度与线加速度,轮式里程计给出短时相对位移,GNSS 提供全局绝对位置,超声波则用于近距避障补盲。多源数据只有经过标定与时间同步,才能在同一坐标系、同一时间基准下融合,否则再好的 SLAM 与规划算法也会被“错位的数据”拖垮。
一、核心原理:各传感器在导航中的角色
激光雷达(LiDAR)通过飞行时间测距获得高精度距离信息,2D 雷达常用于建图与定位,3D 雷达用于三维环境建模与障碍物检测。其优点是测距准、不受光照影响,缺点是受雨雾、玻璃、镜面影响,且点云稀疏时对纹理缺失区域不敏感。
深度相机(RGB-D 或双目)输出对齐的彩色图与深度图,适合近距离三维感知、障碍物分类与视觉里程计。它依赖纹理与光照,室外强光下易失效,因此常与 LiDAR 互补。
IMU 输出三轴角速度与加速度,积分可得姿态与短时位移,频率高、响应快,但存在零偏与随机游走,长时间单独积分会漂移。轮式里程计通过编码器计算轮速与航向变化,短时精度高、成本低,但打滑、轮胎磨损、地面松软会造成尺度与方向误差。
GNSS 提供全局绝对位置,RTK 差分可到厘米级,但城市峡谷、树荫、室内会失锁。超声波传感器成本低、近距探测可靠,常用于低矮障碍与透明物体补盲,但波束角大、易受多径干扰。
二、方法流程:从采集到可用数据
数据采集不是“接上就能用”,而是一条完整链路:驱动配置 → 时间戳对齐 → 外参标定 → 内参标定 → 数据质检 → 进入融合模块。下面给出典型流程与关键参数。
- 驱动与接口配置:确认 LiDAR 的 IP、端口、扫描频率;相机分辨率与帧率;IMU 的串口波特率与量程;轮式里程计的编码器线数与轮径;GNSS 的串口与差分源。
- 时间同步:优先使用 PTP 或 GPS 秒脉冲(PPS)统一时钟;若传感器不支持硬件同步,则用 ROS 的 message_filters 做近似时间同步,并记录各传感器时间戳偏差。
- 外参标定:确定 LiDAR 到 IMU、相机到 LiDAR、IMU 到车体中心的旋转与平移。常用方法:手眼标定、棋盘格+LiDAR 平面约束、基于运动激励的联合标定。
- 内参标定:相机焦距、畸变系数;IMU 零偏、噪声密度、随机游走;轮式里程计的轮径与轮距修正。
- 数据质检:检查点云是否有拖影、深度图是否有空洞、IMU 静止时零偏是否漂移、轮速与真实位移是否一致。
# 典型 ROS 时间同步配置(近似同步)
sync = message_filters.ApproximateTimeSynchronizer(
[lidar_sub, imu_sub, odom_sub],
queue_size=10,
slop=0.05 # 允许 50ms 时间偏差
)
sync.registerCallback(callback)
# 检查时间戳偏差
rostopic delay /lidar/points
rostopic hz /imu/data
三、传感器标定与时间同步的实操要点
标定质量直接决定融合精度。外参标定建议在开阔、特征丰富的场地进行,先粗标后精标:粗标用卷尺测量安装位置,精标用优化算法最小化重投影误差或点云配准误差。IMU 标定需静置采集 2~4 小时数据,估计零偏与噪声模型;轮式里程计标定可让机器人直线行驶 10 米,比较编码器推算距离与实际距离,修正轮径系数。
时间同步方面,若 LiDAR 与相机时间戳偏差超过 20ms,运动中的点云与图像会出现明显错位,导致视觉-激光融合失败。建议优先采用硬件触发:相机外触发由 LiDAR 或 PPS 提供,IMU 使用同一时钟源。若只能软件同步,需在融合前做时间戳插值,并监控偏差是否随时间漂移。
四、案例与场景:仓储 AMR 的多传感器配置
以典型仓储 AMR 为例:车体前部安装 2D 激光雷达用于建图与定位,顶部安装 3D 雷达或深度相机用于低矮障碍检测,车体中心安装 IMU,后轮安装编码器,室外区域加装 RTK GNSS,车体四周布置超声波传感器。运行中,LiDAR 与 IMU、轮速做紧耦合里程计,GNSS 在室外提供全局修正,深度相机与超声波在近距触发急停。
| 传感器 | 主要作用 | 典型频率 | 常见问题 | 应对措施 |
|---|---|---|---|---|
| 2D LiDAR | 建图、定位、障碍检测 | 10~50 Hz | 玻璃、镜面漏检 | 多雷达互补、超声波补盲 |
| 深度相机 | 近距三维感知、分类 | 15~30 Hz | 强光失效、深度空洞 | 与 LiDAR 融合、滤波补洞 |
| IMU | 姿态、角速度、短时位移 | 100~1000 Hz | 零偏漂移 | 静置标定、在线估计 |
| 轮式里程计 | 短时相对位移 | 50~100 Hz | 打滑、轮径误差 | 轮径标定、与 IMU 融合 |
| GNSS/RTK | 全局绝对位置 | 1~10 Hz | 遮挡失锁、多径 | 与 LiDAR 融合、失锁降级 |
| 超声波 | 近距避障、透明物检测 | 20~50 Hz | 波束角大、多径 | 多探头投票、限速策略 |
五、误区与复盘
误区一:只标外参不标时间。很多团队花大量时间调外参,却忽略时间戳偏差,导致高速运动时点云与图像错位。复盘时应先检查时间同步,再优化外参。
误区二:IMU 不标定直接使用。未标定的 IMU 零偏可能达到 0.1 rad/s,积分 10 秒就产生 1 rad 姿态误差。必须静置标定并在线估计零偏。
误区三:轮式里程计当绝对真值。轮式里程计在打滑时误差迅速累积,只能作为短时先验,不能作为长期定位依据。
误区四:GNSS 失锁后不做降级。应设计状态机:GNSS 有效时用全局修正,失锁时切换为 LiDAR-IMU 里程计模式,并降低速度、增加安全距离。
综上,传感器与数据采集是 AMR 导航的“地基”。理解每类传感器的物理特性与局限,建立规范的标定与时间同步流程,并在运行中持续监控数据质量,才能让后续的 SLAM、定位与规划模块稳定工作。实际部署中,建议把标定参数、时间戳偏差、各传感器健康状态纳入统一监控面板,做到问题可发现、可回溯、可降级。