第1章 传感器选型与数据采集基础
做SLAM这么多年,我越来越觉得——传感器选型才是整个系统的基石。你想想看,算法再牛,如果传感器数据本身就有硬伤,后面再怎么优化也是白搭。这一章咱们就聊聊激光雷达、IMU、相机和轮式里程计,它们各自是什么脾气,选型时该盯住哪些参数。
1.1 激光雷达 —— 点云世界的眼睛
激光雷达,说白了就是通过发射激光束并测量往返时间来感知周围物体。机械式、固态、混合固态…… 市面上种类不少。我个人习惯先看两个硬指标:线数和测距精度。
- 线数:16线、32线、64线甚至128线。线数越多,点云越密,但价格也翻着跟头涨。做室内低速机器人,16线其实够用;做自动驾驶,至少32线起步。
- 测距精度:一般标称 ±2cm ~ ±5cm。但注意,这是针对高反射率目标。我在项目中遇到过,黑色车辆在10米外测距误差直接飙到10cm以上。
- 视场角 (FOV):水平360°是机械雷达的标配,垂直视场角则差异很大,从30°到90°都有。
💡 我的经验: 选型时别只看最高参数。我曾经为了追求高线数,选了一款128线雷达,结果点云数据量太大,工控机CPU直接跑满。后来换了64线,配合合适的降采样,效果反而更稳。
1.2 IMU —— 藏在身体里的惯性导航
IMU(惯性测量单元)包含加速度计和陀螺仪。它不依赖外部信号,但有个致命缺点——漂移。你想想看,加速度积分一次得速度,再积分得位移,误差随时间疯狂累积。
选型时我主要关注:
- 零偏稳定性:消费级IMU(如MPU6050)零偏稳定性在 10°/h 左右,工业级(如ADIS16470)能做到 0.1°/h。做SLAM后端优化,IMU预积分对零偏很敏感。
- 输出频率:至少 100Hz 以上,200Hz 更理想。低频IMU在快速旋转时容易丢信息。
- 量程:加速度计 ±8g 够用,陀螺仪 ±500°/s 覆盖大部分场景。
⚠️ 避坑指南: 我曾经用了一款廉价IMU做VIO初始化,静止时零偏变化像过山车。后来换了带温补的工业级IMU,初始化稳定性明显提升。记住,IMU的温漂是隐形杀手。
1.3 相机 —— 视觉SLAM的灵魂
相机分为单目、双目、RGB-D。单目便宜但有尺度不确定性;双目通过基线计算深度,但基线越长,近距离盲区越大;RGB-D直接输出深度图,但容易受环境光干扰。
选型要点:
- 分辨率与帧率:640×480 @ 30fps 是底线。做特征点提取,分辨率太高反而拖慢速度。我一般用 1280×720 @ 30fps 平衡效果和性能。
- 全局快门 vs 卷帘快门:运动场景下,卷帘快门会产生果冻效应。做SLAM,全局快门是首选。
- 同步触发:支持硬件触发(如PPS信号)的相机,能极大简化多传感器时间同步。
🔑 核心观点: 相机和IMU是天生一对。视觉提供纹理,IMU提供快速运动估计。但前提是两者时间戳要对齐。我习惯用硬件同步线把相机和IMU的时钟绑在一起。
1.4 轮式里程计 —— 被低估的定位源
轮式里程计通过编码器测量车轮转速,再结合运动模型推算位移。它不依赖外部信号,但打滑是硬伤。选型时注意:
- 编码器分辨率:每转脉冲数(PPR)越高,角度分辨率越细。一般 500~2000 PPR 比较常见。
- 轮距与车轮直径:这两个参数必须精确标定。我见过一个项目,轮距标定误差1cm,转弯半径偏差导致地图扭曲。
- 采样频率:至少 50Hz,否则高速运动时容易丢步。
轮式里程计在室内平地上表现不错,但遇到地毯、斜坡或光滑地面,误差会迅速增大。这时候就需要融合IMU或激光雷达来修正。
1.5 选型对比速查表
| 传感器 | 优势 | 劣势 | 典型频率 | 成本范围 |
|---|---|---|---|---|
| 激光雷达 | 直接测距,精度高 | 受天气影响,价格高 | 10~20 Hz | ¥2000~¥50000+ |
| IMU | 完全自主,高频 | 漂移严重 | 100~400 Hz | ¥50~¥10000 |
| 相机 | 纹理丰富,成本低 | 光照敏感,尺度模糊 | 30~60 Hz | ¥100~¥5000 |
| 轮式里程计 | 简单可靠,无漂移(短时) | 打滑,依赖地面 | 50~200 Hz | ¥200~¥2000 |
1.6 数据采集的硬性门槛
传感器选好了,采集环节也不能马虎。我总结了几条铁律:
- 时间同步:所有传感器使用同一时钟源(如GPS的PPS或ROS的time)。没有硬件同步,后期软件对齐会非常痛苦。
- 数据记录格式:推荐使用rosbag(ROS环境)或自定义二进制格式。别用文本存点云,文件大得离谱。
- 标定先行:内参、外参、时间延迟,必须在采集前完成粗标定。我曾经因为忘记标定相机-IMU外参,导致整个数据集作废。
📌 小技巧: 采集时多跑几圈“8”字轨迹,这样能充分激励IMU的各个轴,方便后续标定和VIO初始化。
嗯,这一章的内容差不多就是这些。传感器选型没有的最好,只有最适合你的场景。