1、课程导论:为什么需要多传感器融合?
各位同学好,我是你们这门课的主讲。在自动驾驶行业摸爬滚打了七八年,我见过太多「单传感器翻车」的案例了。今天咱们就来聊聊,为什么非得把激光雷达、相机、IMU、GPS 这些传感器凑到一起干活。
说白了,没有任何一个传感器是万能的。你想想看,如果只用相机,晚上或者隧道里怎么办?只用激光雷达,那怎么识别红绿灯颜色?每个传感器都有自己的「舒适区」,也有自己的「死穴」。多传感器融合,就是让它们互相补台,而不是互相拆台。
1.1 四大传感器的「人设」与「短板」
我先给各位画个像,看看这四位主角各自是什么性格。
| 传感器 | 强项 | 致命短板 | 我踩过的坑 |
|---|---|---|---|
| 激光雷达 (LiDAR) | 测距精准,直接输出 3D 点云,不受光照影响 | 怕雨雪雾,分辨率低,无法识别纹理/颜色 | 有一次大雨天测试,点云全是噪点,地面都找不到了 |
| 相机 (Camera) | 分辨率高,能识别颜色、文字、语义信息 | 严重依赖光照,没有深度信息(单目),怕逆光 | 隧道出口的强光,直接让视觉算法「失明」了 |
| IMU (惯性测量单元) | 高频输出(100-1000Hz),短时间精度极高 | 有漂移,长时间积分会飞掉,无法消除零偏 | 纯 IMU 积分 10 秒,位置能偏出去几十米 |
| GPS (全球定位系统) | 定位,无累积误差,长期稳定 | 更新率低(10Hz),高楼/隧道会丢星,精度米级 | 在高架桥下,GPS 信号跳变,车「瞬移」了 |
1.2 为什么融合是「刚需」?
咱们用几个实际场景来说明。你想想看,如果只用一种传感器,会发生什么?
- 场景一:夜间高速行驶 —— 相机基本废了,但激光雷达依然能正常工作。反过来,如果只用激光雷达,你没法识别前方的「施工牌」上写的什么字。
- 场景二:城市峡谷(高楼之间) —— GPS 信号被遮挡,定位飘忽不定。这时候就需要 IMU 做短时间推算,激光雷达做点云匹配来修正位置。
- 场景三:地下停车场 —— GPS 完全失效,纯视觉在昏暗灯光下也容易丢。这时候激光雷达 + IMU 的组合就是救命稻草。
我个人习惯把传感器融合比作「盲人摸象」的升级版。每个传感器都只摸到了一部分,但通过融合,我们能拼出完整的大象。嗯,这里要注意,融合不是简单的「取平均」,而是要用概率论和状态估计的方法,找到最可信的那个结果。
1.3 融合的核心挑战:坐标变换
好,既然决定要融合,第一个问题就来了:这些传感器的数据,怎么对齐到同一个坐标系下?
激光雷达输出的是 3D 点云,在 LiDAR 坐标系下。相机输出的是 2D 像素,在图像坐标系下。IMU 输出的是加速度和角速度,在 IMU 本体坐标系下。GPS 输出的是经纬度,在 WGS-84 地理坐标系下。
这些坐标系之间,存在一个固定的旋转和平移关系。这个关系,就是 外参。我们这门课的核心,就是教你如何精确地标定这些外参,以及如何在不同的坐标系之间进行变换。
举个例子,激光雷达检测到一个障碍物,坐标是 (x_l, y_l, z_l)。相机也检测到同一个障碍物,坐标是 (u, v) 像素。怎么知道它们是同一个东西?
答案就是:通过坐标变换,把激光雷达的点投影到图像上。如果投影点正好落在 (u, v) 附近,那它们就是同一个目标。这个过程,就是 激光雷达与相机的联合标定,也是我们后面几章的重点。
// 伪代码:将激光雷达点投影到图像平面
// 1. 将 LiDAR 坐标系下的点变换到相机坐标系
P_camera = R * P_lidar + T
// 2. 将相机坐标系下的点投影到图像平面(针孔相机模型)
u = f_x * (X_c / Z_c) + c_x
v = f_y * (Y_c / Z_c) + c_y
// 其中 R, T 就是激光雷达到相机的外参
// f_x, f_y, c_x, c_y 是相机的内参
这段代码看着简单,但实际工程中,R 和 T 的精度直接决定了融合效果。我曾经因为外参标定差了 1 厘米,导致融合后的障碍物位置在 50 米外偏差了 0.5 米,差点撞上护栏。
1.4 本章知识体系总览
下面这张图,是我们这门课 30 章的核心逻辑。你可以把它当作一张「地图」,随时回来看看自己走到哪了。
1.5 这门课能帮你解决什么问题?
学完这门课,你至少能搞定以下几件事:
- 坐标系建模 —— 给每个传感器建立精确的数学模型,知道它的数据从哪来、到哪去。
- 外参标定 —— 手写代码完成 LiDAR-Camera、LiDAR-IMU 的联合标定,精度达到厘米级。
- 时间同步 —— 解决不同传感器时间戳不一致的问题,实现微秒级的数据对齐。
- 融合定位 —— 用卡尔曼滤波或因子图,把 GPS、IMU、激光雷达的数据融合在一起,输出稳定可靠的位姿。