1、组合导航概述:自动驾驶对定位的需求、组合导航的定义与优势、GNSS/INS组合方式分类
1.1 自动驾驶对定位的需求——到底要多准才算够?
做自动驾驶这些年,我经常被问到:「定位精度到厘米级,真的有必要吗?」
嗯,这个问题其实得分场景看。
你想想看,如果只是跑高速,车道级定位(米级)基本够用。但到了城市道路,尤其是复杂路口、高架桥下、隧道里,定位一旦漂移个一两米,车可能就「骑」到马路牙子上去了。
我个人习惯把自动驾驶的定位需求拆成三个维度:
- 精度:横向误差 < 0.2m,纵向误差 < 0.5m。这是L3级以上系统的硬门槛。
- 可用性:99.9%以上的时间都能提供稳定定位。不能到了隧道就「失联」。
- 完整性:系统能知道自己什么时候定位不准,并给出告警。这一点其实最容易被忽视。
核心观点:单一传感器无法同时满足这三个需求。GPS在开阔场景精度够,但城市峡谷里多径效应严重;IMU短时精度高,但长时间会漂移。所以,组合导航不是「锦上添花」,而是「刚需」。
我在项目中遇到过最典型的案例:某园区无人配送车,单靠GPS,在楼宇间定位误差直接飙到5米以上,车经常「迷路」到草坪上。后来加了IMU和轮速计做组合,误差直接压到0.3米以内。说白了,这就是组合导航的价值。
1.2 组合导航的定义与优势——1+1 > 2
组合导航,说白了就是「取长补短」。
GNSS(全球导航卫星系统)提供绝对位置,但更新频率低(10Hz左右),且容易受遮挡影响。INS(惯性导航系统)提供高频相对运动信息(100Hz以上),但误差随时间累积。
把两者融合起来,就得到了一个既稳定又精确的定位结果。
我习惯用一个比喻来理解:GNSS是「地图」,告诉你现在在哪条街上;INS是「脚步」,告诉你走了几步、拐了几个弯。两者结合,你既不会迷路,也不会数错步子。
组合导航的核心优势,我总结为三点:
| 优势 | 说明 | 我的经验 |
|---|---|---|
| 连续性 | GNSS信号丢失时,INS可维持短时高精度定位 | 隧道场景下,纯INS能撑30秒左右,误差控制在1米内 |
| 抗干扰 | 多径、遮挡等场景下,INS提供运动约束 | 高架桥下,我曾用IMU+车速约束把定位误差从5米降到0.5米 |
| 高频输出 | INS提供100Hz以上的位姿更新,满足控制需求 | 控制模块需要至少50Hz的反馈,纯GNSS根本跟不上 |
避坑指南:我曾经在项目里过度依赖INS的短时精度,结果在长隧道(超过2公里)里定位漂移到了对向车道。后来加了车速脉冲和方向盘转角约束,才把这个问题解决。记住:INS只能「撑一会儿」,不能「一直撑」。
1.3 GNSS/INS组合方式分类——松耦合、紧耦合、深耦合
组合导航的实现方式,业内主要分三种。我按从简单到复杂的顺序来讲。
1.3.1 松耦合(Loosely Coupled)
这是最经典、也最容易上手的方式。
思路很简单:GNSS先自己算出一个位置解(比如经纬度+高度),INS也自己算出一个位置。然后拿这两个结果做融合,通常是卡尔曼滤波。
优点:实现简单,GNSS和INS模块可以独立工作,互不干扰。
缺点:GNSS至少需要4颗卫星才能解算,卫星数不够时,整个系统就「罢工」了。
我刚开始做组合导航时,用的就是松耦合。说实话,在开阔道路上效果还不错。但一到城市峡谷,卫星被遮挡,定位就断断续续的。
1.3.2 紧耦合(Tightly Coupled)
紧耦合就不一样了。它不直接用GNSS的位置解,而是用原始的伪距、载波相位观测值。
换句话说,哪怕只有1颗卫星可见,系统也能用这个观测值去修正INS的误差。
优点:在卫星数不足时依然能工作,精度和鲁棒性都更高。
缺点:实现复杂,需要处理GNSS的原始数据,计算量也更大。
我的建议:如果你的项目跑在城区,或者经常有遮挡,直接上紧耦合。别在松耦合上浪费时间。我见过太多团队在松耦合上折腾半年,最后发现紧耦合才是正解。
1.3.3 深耦合(Deeply Coupled)
深耦合是最高级的玩法。它把GNSS的跟踪环路和INS的导航解算融合在一起。
说白了,INS不仅帮GNSS做位置预测,还直接参与GNSS信号的跟踪过程。比如,INS可以预测卫星信号的多普勒频移,帮助接收机更快锁定信号。
优点:抗干扰能力极强,在高动态、弱信号场景下表现优异。
缺点:实现极其复杂,目前只有少数几家公司在做(如NovAtel、Trimble)。
嗯,深耦合我目前只在军工项目里接触过。民用自动驾驶里,紧耦合已经足够用了。
1.4 三种组合方式的对比
我整理了一张表,方便你对比:
| 特性 | 松耦合 | 紧耦合 | 深耦合 |
|---|---|---|---|
| 实现难度 | 低 | 中 | 高 |
| 精度 | 中等 | 高 | 极高 |
| 抗遮挡能力 | 弱 | 强 | 极强 |
| 计算量 | 低 | 中 | 高 |
| 适用场景 | 开阔道路 | 城市道路 | 军事/特殊场景 |
注意:不要盲目追求「深耦合」。我见过一些团队,明明做的是园区低速车,非要上深耦合,结果开发周期拖了一年,最后发现紧耦合完全够用。选型时,先搞清楚你的场景需求。
1.5 本章知识体系图
下面这张图,帮你理清本章的核心逻辑:
这张图其实就概括了本章的核心逻辑:先搞清楚自动驾驶对定位的需求,再理解组合导航为什么能解决这些需求,最后根据场景选择松耦合、紧耦合还是深耦合。
我个人建议,初学者先从松耦合入手,理解卡尔曼滤波的基本原理。等跑通了,再升级到紧耦合。别一上来就啃深耦合,容易劝退。
一个小技巧:做组合导航调试时,先把GNSS和INS的数据分别录下来,离线跑一遍融合算法。这样出了问题,你能快速定位是传感器的问题,还是算法的问题。我在项目里一直用这个套路,省了不少时间。
公众号:蓝海资料掘金营,微信deep3321