一、组合导航概述:什么是组合导航、为什么需要组合导航、组合导航的典型架构
各位同学好,我是老张。在车载定位这个行当摸爬滚打了十几年,今天咱们来聊聊组合导航最基础的东西。说实话,很多新手一上来就盯着卡尔曼滤波、IMU预积分这些细节,反而把最核心的“为什么”给忽略了。这就像盖楼不打地基,后面越学越懵。
1.1 什么是组合导航?
组合导航,说白了就是“抱大腿”。
单一传感器都有短板。GPS在城市峡谷里信号会飘,IMU长时间跑会累积误差,轮速计遇到打滑就瞎报。组合导航的思路很简单:把多个传感器的数据融合在一起,取长补短。
我习惯用一个比喻来解释:
- GPS/RTK 就像你每隔10秒看一眼地图,知道自己在哪,但中间这段路怎么走的,不知道。
- IMU 就像你闭着眼睛走路,每一步都算得很准,但走久了方向就偏了。
- 轮速计/视觉 就像你摸着墙走,虽然不精确,但至少不会撞墙。
组合导航就是让它们互相纠正。GPS告诉IMU“你偏了”,IMU告诉GPS“你信号丢了,我来顶一会儿”。
核心定义:组合导航是利用多源传感器信息,通过数据融合算法(通常是卡尔曼滤波及其变种),获得比任何单一传感器都更稳定、更精确的导航状态估计。
1.2 为什么需要组合导航?
这个问题我当年面试新人时必问。答案其实就三个字:可靠性。
你想想看,自动驾驶的车在高速上跑,突然GPS信号被隧道遮挡了,如果只用GPS,定位瞬间就崩了。但如果有IMU撑着,至少还能再撑几十秒,等车开出隧道再重新收敛。
我在项目中遇到过最典型的场景:某主机厂要求定位系统在GPS丢失后,纯惯性导航的定位误差在60秒内不超过5米。单一IMU根本做不到,必须靠轮速计+IMU+车辆运动学模型一起上。
具体来说,组合导航解决了三个核心痛点:
- 连续性:单一传感器失效时,其他传感器能无缝接管。
- 精度:融合后的定位精度通常优于最差的传感器,接近最好的传感器。
- 鲁棒性:对抗干扰(多径、电磁干扰、恶劣天气)的能力大幅提升。
避坑指南:我曾经犯过一个错误——以为传感器越多越好。结果在某个项目中,同时用了GPS+IMU+轮速计+视觉+激光雷达,数据量爆炸,融合算法反而因为信息冗余导致状态估计发散。后来我学乖了:不是所有传感器都要融合,关键看它们是否“正交”(即误差特性不相关)。
1.3 组合导航的典型架构
组合导航的架构,业内一般分三种:松耦合、紧耦合、深耦合。嗯,这里要注意,深耦合在车载领域其实用得不多,但面试时经常被问到,咱们也得了解。
1.3.1 松耦合(Loosely Coupled)
这是最经典、最成熟的架构。说白了就是“各干各的,最后汇总”。
- GPS/RTK 自己解算出位置、速度(PVT解算)。
- IMU 自己做惯性导航解算(捷联惯导算法)。
- 然后把两者的结果扔进卡尔曼滤波器,让滤波器去估计IMU的误差,并修正。
优点很明显:实现简单,模块化好,GPS和IMU可以独立开发。缺点也很致命:如果GPS信号差,它自己解算出来的位置就已经不准了,你再怎么融合也没用。
我个人的经验:松耦合适合L2级辅助驾驶,或者对成本敏感的项目。我在2018年做过一个商用车项目,用的就是松耦合,RTK+工业级IMU,效果还不错,成本控制在2000元以内。
1.3.2 紧耦合(Tightly Coupled)
紧耦合就不一样了。它不再等GPS解算出完整的位置,而是直接拿GPS的原始观测值——伪距、载波相位、多普勒频移——和IMU的数据一起融合。
这样做的好处是:即使GPS卫星少于4颗(无法独立定位),只要还有1颗卫星的信号,紧耦合系统就能利用IMU的预测来辅助跟踪,继续输出定位结果。
我建议所有做L3级以上自动驾驶的团队,至少上紧耦合。因为城市峡谷、高架桥下这些场景,松耦合基本就废了。
| 对比项 | 松耦合 | 紧耦合 |
|---|---|---|
| 输入数据 | GPS PVT解算结果 | GPS原始观测值 |
| 卫星数要求 | ≥4颗 | ≥1颗 |
| 抗干扰能力 | 弱 | 强 |
| 实现复杂度 | 低 | 高 |
| 典型应用 | L2辅助驾驶 | L3+自动驾驶 |
1.3.3 深耦合(Deeply Coupled)
深耦合就更“狠”了。它把IMU的信息直接注入到GPS接收机的跟踪环路里,帮助接收机在弱信号环境下锁定卫星信号。
举个例子:当车辆进入隧道,GPS信号瞬间衰减到-160dBm以下,普通接收机早就失锁了。但深耦合系统利用IMU预测的多普勒频移,可以“告诉”接收机:信号频率大概会怎么变化,你往这个方向去追。这样即使信号很弱,也能维持锁定。
不过说实话,深耦合在车载领域应用极少。原因有三:
- 需要定制GPS接收机硬件,成本高。
- 算法极其复杂,调试周期长。
- 对于大多数车载场景,紧耦合已经够用了。
注意:深耦合目前主要用在军事、航空航天领域。如果你在面试中被问到,可以说“了解原理,但实际项目中未采用”,这比不懂装懂要好得多。
1.4 三种架构的对比与选择
为了让你更直观地理解,我画了一张架构对比图。这张图我当年给团队培训时用过,大家反馈说“一看就懂”。
从这张图可以看得很清楚:从左到右,耦合程度越来越高,系统复杂度也越来越高,但抗干扰能力是递增的。
我个人建议的选型策略:
- L2及以下:松耦合就够了,省钱省力。
- L3及以上:至少上紧耦合,别拿安全开玩笑。
- 特殊场景(矿山、隧道):考虑深耦合,但要做好预算翻倍的准备。
一个小技巧:如果你刚开始做组合导航,先从松耦合入手。把卡尔曼滤波调通、调稳,再往紧耦合迁移。我见过太多人一上来就想搞紧耦合,结果被伪距残差、周跳检测这些细节搞得焦头烂额。饭要一口一口吃。
好了,这一章的内容就到这里。组合导航的“是什么、为什么、怎么搭”已经讲清楚了。下一章我们会深入卡尔曼滤波的数学原理,到时候我会用实际代码带着你一步步实现一个简单的松耦合滤波器。