2. 常用传感器介绍:相机、激光雷达、IMU、GPS/RTK

做多传感器融合,说白了就是跟各种传感器打交道。你得摸清它们的脾气,知道什么时候该信谁,什么时候得留个心眼。我刚开始接触融合时,总想着把所有数据一股脑塞进去,结果系统反而崩了。后来才明白——不了解传感器,就别谈融合。

这一节,我把最常用的四种传感器给你捋一遍。相机、激光雷达、IMU、GPS/RTK,每个我都会讲它的原理、输出什么数据、有什么坑,以及我实际用过的一些经验。

2.1 相机:最像人眼的传感器

相机这东西,大家都不陌生。但在融合系统里,它跟手机拍照完全是两码事。

工作原理:光线通过镜头,打到CMOS或CCD感光元件上,转换成电信号。说白了就是「光→电」的转换过程。每个像素记录的是光强,如果是彩色相机,还得通过拜耳阵列猜出颜色。

输出数据

  • 图像帧:通常是灰度图或RGB图,分辨率从VGA到4K都有
  • 时间戳:每帧图像拍摄的时刻,这个太重要了,后面讲时间同步时会细说
  • 内参:焦距、主点、畸变系数,这些是出厂标定好的,但温度变化会漂

我踩过的坑

有一次做视觉SLAM,发现定位老是跳变。查了两天,最后发现是相机曝光时间设成了自动模式。光线一变,曝光时间从5ms跳到30ms,图像模糊了,特征点全跟丢了。所以我的建议是——做融合时,相机一定要固定曝光和增益

关键参数

  • 帧率:常用30fps或60fps,但注意不是越高越好,帧率高意味着每帧曝光时间短,暗光下噪声大
  • 快门类型:全局快门优于卷帘快门,尤其是做运动场景时
  • 同步接口:最好选带硬件触发或PPS输入的相机,不然时间同步很麻烦

我的小技巧:选相机时,别只看分辨率。信噪比和动态范围往往更重要。我习惯用「暗处拍一张、亮处拍一张」来快速判断相机底子好不好。

2.2 激光雷达:精度高,但别太迷信

激光雷达这几年火得不行。很多人觉得它「完美」,其实不然。

工作原理:发射激光束,打到物体上反射回来,通过飞行时间算出距离。多线激光雷达(比如16线、32线、64线)就是同时转好几圈,扫出周围一圈的点云。

输出数据

  • 点云:每个点包含(x, y, z)坐标和反射强度(intensity)
  • 时间戳:每帧点云的起始时间和结束时间,注意是「时间段」不是「时间点」
  • 扫描模式:机械旋转式、固态式、MEMS式,不同模式的数据特性差异很大

为什么说别太迷信?

你想想看,激光雷达在雨雾天、扬尘环境下,点云会变得稀碎。我做过一个测试,在工地扬尘环境下,32线激光雷达的有效点云直接掉了40%。还有,激光雷达对玻璃、镜面、黑色物体基本是「瞎子」——光直接穿透或吸收了。

注意:激光雷达的「帧」和相机的「帧」不是一回事。相机是全局曝光,一帧就是一个瞬间。激光雷达是逐点扫描,一帧里第一个点和最后一个点可能差了100ms。做时间同步时,这个差异必须处理。

我常用的做法:把激光雷达的每个点都打上时间戳,而不是整帧用一个时间。这样在融合时,可以按时间插值到相机或IMU的时间轴上。

2.3 IMU:又爱又恨的惯性测量单元

IMU这东西,我真是又爱又恨。爱它是因为它高频、不受外界干扰;恨它是因为它漂移得厉害。

工作原理:IMU内部有加速度计和陀螺仪。加速度计测的是「比力」——说白了就是物体受到的加速度(包括重力)。陀螺仪测的是角速度。两者结合,理论上可以推算出位置和姿态。

输出数据

  • 三轴加速度:单位m/s²,包含重力分量
  • 三轴角速度:单位rad/s或°/s
  • 时间戳:每个采样点的时间,通常频率在100Hz~1000Hz

IMU的三大痛点

  1. 零偏:静止时输出不为零,会随时间缓慢变化
  2. 噪声:白噪声+随机游走,积分后误差会随时间平方增长
  3. 温漂:温度一变,零偏也跟着变

我曾经在一个项目里,IMU没做温补,结果车子在太阳底下晒了半小时,IMU的零偏漂了0.5°/s。你想想看,积分10秒就是5°的航向误差,这还怎么定位?

IMU选型建议

  • 消费级(MPU6050之类):适合做辅助,别指望它单独定位
  • 工业级(ADIS系列):零偏稳定性在10°/h以内,可以做短时导航
  • 战术级(iMAR、Honeywell):零偏0.1°/h以下,但价格感人

避坑指南:IMU的安装位置很重要。别装在振动源附近(比如发动机、电机旁边)。我见过有人把IMU贴在电池包上,结果电池发热导致温漂,整个系统都崩了。

2.4 GPS/RTK:室外定位的基石

GPS(全球定位系统)大家都很熟悉了。但在融合系统里,我们通常用的是RTK(实时动态差分定位),精度能到厘米级。

工作原理:GPS卫星发射信号,接收机通过测量信号传播时间算出距离。但大气延迟、卫星钟差、多径效应都会引入误差。RTK的做法是——在地面放一个基准站,把误差算出来,然后发给移动站做修正。

输出数据

  • 经纬高:WGS84坐标系下的位置
  • 速度:通常由多普勒频移算出,精度比位置差分更好
  • 航向角:双天线RTK可以输出真北航向
  • 时间戳:GPS时间,通常与UTC对齐
  • 定位状态:单点定位、伪距差分、RTK浮点解、RTK固定解——固定解才是厘米级

RTK的局限性

说白了,RTK最怕两件事:一是遮挡(高楼、隧道、树荫),二是多径(城市峡谷、反射面多)。我做过一个测试,在高架桥下,RTK直接从固定解掉到了浮点解,定位误差从2cm跳到了50cm。这时候如果不做融合,车子就「飞」出去了。

重要提醒:千万别把GPS/RTK当成「绝对真值」。它的输出有延迟(通常50~200ms),而且更新频率低(5Hz~20Hz)。做融合时,必须用IMU或其它传感器做高频插值。

我个人的习惯:在融合系统中,我会给GPS/RTK加一个「置信度」字段。固定解时权重给高,浮点解时权重降低,单点定位时基本不用。这样系统就不会因为GPS突然变差而崩溃。

2.5 四种传感器的对比总结

好了,四种传感器都讲完了。我最后用一张表给你做个对比,方便你快速查阅:

传感器 输出数据 典型频率 优点 缺点 融合中的角色
相机 图像帧、时间戳 10~60Hz 信息丰富、成本低 受光照影响大、无深度 视觉特征、语义信息
激光雷达 点云、强度 5~20Hz 精度高、不受光照 雨雾天差、无纹理 深度测量、建图
IMU 加速度、角速度 100~1000Hz 高频、不受外界干扰 漂移严重 短时积分、状态预测
GPS/RTK 位置、速度、航向 5~20Hz 绝对定位、无累积误差 易受遮挡、更新慢 全局约束、漂移修正

嗯,到这里你应该对四种传感器有了比较全面的认识。下一节,我会带你看看这些传感器在时间上怎么对齐——说白了,就是怎么让它们「说同一句话」。这步做不好,后面融合全是白搭。