3、传感器基础:GPS/IMU组合导航原理、激光雷达点云原理、相机视觉原理、毫米波雷达特性
各位同学,欢迎来到第三讲。这一章我们聊聊高精地图的「眼睛」——传感器。
说实话,做高精地图这么多年,我最大的感触就是:地图质量的上限,取决于传感器数据的下限。你算法再牛,传感器数据一塌糊涂,那也是白搭。今天我就把几个核心传感器的原理和实战经验,掰开了揉碎了讲给你听。
3.1 GPS/IMU组合导航原理
先说说定位。高精地图里,车到底在哪儿?这个问题看似简单,其实坑特别多。
GPS(全球定位系统)大家都熟。它靠卫星信号算位置,精度大概在米级。但有个致命问题——信号容易丢。进隧道、过立交桥下、甚至高楼密集区,GPS信号就飘了。我在项目里遇到过,车明明在桥上,GPS显示在桥下河里,那叫一个尴尬。
IMU(惯性测量单元)就不一样了。它靠加速度计和陀螺仪,测量车自身的加速度和角速度。说白了,就是「我走了多远,拐了多大弯」。这玩意儿不受外界信号干扰,但有个毛病——误差会累积。走一公里还行,走十公里,位置能偏出几十米。
所以,聪明的做法是把两者组合起来。
核心思路:GPS提供绝对位置,用来修正IMU的累积误差;IMU提供高频的相对运动,填补GPS信号丢失时的空白。
具体怎么组合?最常用的是卡尔曼滤波。嗯,这里要注意,不是简单的加权平均。卡尔曼滤波会建立一个状态模型,预测下一时刻的位置和姿态,然后用GPS观测值去更新这个预测。我习惯用松耦合和紧耦合两种方式:
- 松耦合:GPS和IMU各自独立解算,然后融合结果。简单,但精度一般。
- 紧耦合:直接用GPS的原始观测值(伪距、载波相位)和IMU数据一起解算。精度高,但计算量大。
我个人建议,做高精地图采集车,至少要用紧耦合。否则,在城区环境下,定位精度很难保证。
实战小技巧:我曾经在一条林荫道上测试,GPS多路径效应严重。后来发现,把IMU的采样率从100Hz提到200Hz,定位平滑度明显改善。有时候,硬件参数调一调,比改算法管用。
3.2 激光雷达点云原理
激光雷达,高精地图的「主力军」。它发射激光束,打到物体上反射回来,通过飞行时间算出距离。每个点包含(x, y, z)坐标和反射强度。
你想想看,一秒钟发射几十万甚至上百万个激光点,就形成了点云。点云里有什么?有路面、有路沿、有栏杆、有建筑物轮廓。高精地图的矢量要素,就是从这些点云里提取出来的。
但点云不是完美的。我遇到过几个常见问题:
- 噪点:雨雪天气,激光打到雨滴上,会产生大量杂散点。处理不好,地图里全是「鬼影」。
- 遮挡:大车旁边的小车,激光打不到,就漏掉了。所以采集时,同一路段要跑好几遍。
- 运动畸变:车在运动,激光扫描一圈需要时间。这期间车走了几米,点云就变形了。需要用IMU数据去矫正。
说到矫正,我分享一个经验。早期做点云拼接时,我直接用GPS时间戳对齐,结果发现点云边缘总有错位。后来改成用IMU插值,把每个激光点的精确时刻算出来,再补偿运动。效果立竿见影。
注意:不同激光雷达的扫描方式不同。机械旋转式的,点云是环状分布;固态式的,是视场角内的矩形分布。处理算法不能一概而论。我见过有人把固态雷达当机械雷达处理,结果点云畸变严重。
3.3 相机视觉原理
相机嘛,大家都熟悉。但高精地图用的相机,和手机拍照不太一样。
核心原理是:光线通过镜头,在CMOS传感器上成像。每个像素记录了红绿蓝三通道的亮度值。通过多个相机的立体匹配,可以算出深度信息。但单目相机本身没有尺度信息,需要借助其他传感器。
在高精地图里,相机主要干三件事:
- 车道线识别:这是最基础的。通过图像分割,提取出车道线的像素位置,再投影到世界坐标系。
- 交通标志检测:限速牌、指示牌,相机一看就认出来了。但要注意光照变化,逆光时容易漏检。
- 纹理辅助定位:点云是稀疏的,但图像是稠密的。用图像纹理做视觉SLAM,可以弥补激光雷达的不足。
我记得有一次,在隧道里做地图更新。激光雷达在隧道里基本废了,因为隧道壁太平整,没有特征点。但相机能看到隧道壁上的瓷砖纹理,靠视觉里程计硬是撑过了几百米。所以说,多传感器融合不是锦上添花,是雪中送炭。
关键参数:帧率(一般30fps以上)、分辨率(至少200万像素)、动态范围(HDR很重要,避免过曝和欠曝)。
3.4 毫米波雷达特性
毫米波雷达,很多人觉得它「低端」,其实不然。在高精地图里,它有自己的独特价值。
毫米波雷达发射毫米波段的电磁波,通过多普勒效应测量目标的速度和距离。它的优势很明显:
- 全天候:雨雪雾天,激光雷达和相机都受影响,但毫米波雷达基本不受影响。
- 直接测速:不需要像视觉那样算帧间位移,直接给出相对速度。
- 探测距离远:长距雷达可以到200米以上。
但缺点也很突出:
- 角度分辨率低:只能大致知道目标在哪个方向,精确位置不行。
- 点云稀疏:一帧只有几十到几百个点,和激光雷达没法比。
- 多径反射:护栏、隧道壁会造成虚假目标。
在高精地图里,毫米波雷达主要用来做动态目标检测。比如,前方有车突然减速,毫米波雷达能第一时间感知到。我建议把它作为「安全冗余」传感器,和激光雷达、相机互补。
避坑指南:我曾经在高速上测试,毫米波雷达把路边的金属护栏识别成了静止车辆。后来发现,是雷达的静态杂波滤除参数没调好。嗯,这种问题,经验比理论更重要。
3.5 多传感器融合的实战思考
讲完单个传感器,咱们聊聊融合。说白了,就是让各个传感器「取长补短」。
我常用的融合策略是:
| 传感器 | 优势 | 劣势 | 融合角色 |
|---|---|---|---|
| GPS/IMU | 全局定位、高频姿态 | 漂移、信号丢失 | 定位骨架 |
| 激光雷达 | 高精度三维结构 | 受天气影响、稀疏 | 地图构建主力 |
| 相机 | 纹理丰富、语义理解 | 光照敏感、无深度 | 语义识别、辅助定位 |
| 毫米波雷达 | 全天候、直接测速 | 角度分辨率低 | 动态目标检测、安全冗余 |
你想想看,如果只用激光雷达,下雨天就歇菜了。如果只用相机,晚上就抓瞎了。如果只用GPS,进隧道就迷路了。所以,高精地图采集车,标配就是「GPS/IMU + 激光雷达 + 相机 + 毫米波雷达」四件套。
最后说一句,传感器标定是基础中的基础。外参没标好,融合就是空中楼阁。我见过太多项目,算法调得天花乱坠,最后发现是传感器没对齐。嗯,这个坑,希望你别踩。
好,这一章就到这里。下一章我们讲点云处理的具体算法,到时候见。