一、组合导航概述
各位同学好,我是老张。搞了十几年组合导航,今天咱们聊聊这个领域最基础的东西——组合导航到底是什么,怎么来的,现在主流的玩法有哪些。
说实话,我刚入行那会儿,组合导航还是个挺小众的方向。那时候做项目,大家更习惯用单一的传感器,觉得多传感器融合太复杂、太麻烦。但现在不一样了,你随便找个无人机、自动驾驶车,里面基本都跑着组合导航算法。
1.1 组合导航的定义
组合导航,说白了就是把多个导航传感器的数据融合在一起,得到比单个传感器更准确、更可靠的导航结果。
为什么需要组合?因为没有任何一个传感器是完美的。GPS在隧道里没信号,惯性导航长时间会漂,视觉在光照差的时候容易失效。但把它们放在一起,取长补短,效果就好多了。
核心思想:利用不同传感器的互补特性,通过滤波算法(主要是卡尔曼滤波及其变种)实现最优状态估计。
我习惯把组合导航比作一个团队:GPS负责提供绝对位置(但更新慢、易受干扰),IMU负责短时间内的精确推算(但会累积误差),视觉/激光雷达提供环境约束(但计算量大)。团队协作,才能打好仗。
1.2 发展历程
组合导航的发展,其实跟传感器技术和计算能力的进步是分不开的。我简单梳理了几个关键节点:
| 时期 | 标志性事件 | 我的感受 |
|---|---|---|
| 1960s-1970s | 惯性导航系统(INS)成熟,开始与无线电导航组合 | 那时候的INS体积大、价格贵,只有军用飞机用得起 |
| 1980s-1990s | GPS投入使用,GPS/INS组合成为研究热点 | 我记得第一次看到GPS/INS紧组合的论文,觉得太巧妙了 |
| 2000s-2010s | MEMS惯性传感器普及,组合导航进入消费电子领域 | 手机里的导航就是典型例子,精度虽然不高,但够用 |
| 2010s至今 | 视觉SLAM、激光雷达、多传感器融合成为主流 | 自动驾驶的爆发,把组合导航推到了新高度 |
嗯,这里有个有意思的事。我当年做第一个组合导航项目时,用的还是486电脑,跑一次卡尔曼滤波要等半天。现在随便一个嵌入式芯片,都能实时跑多传感器融合。技术进步真的快。
1.3 主流组合方式
目前工程上最常见的组合方式,我归纳为以下几类。每种都有它的适用场景和坑。
1.3.1 GNSS/INS 组合
这是最经典、最成熟的组合方式。GNSS提供绝对位置和速度,INS提供高频的姿态、速度和位置增量。
- 松组合:GNSS和INS各自独立解算,然后用滤波融合。实现简单,但GNSS信号差时容易出问题。
- 紧组合:直接用GNSS的原始观测值(伪距、载波相位)和INS数据融合。精度更高,抗干扰能力更强。
- 深组合:把INS信息反馈到GNSS接收机的跟踪环路里。这个我做过,效果确实好,但实现难度也大。
避坑指南:我曾经在紧组合项目里吃过亏——GNSS的伪距观测值有粗差没剔除,结果滤波直接发散。后来我养成了习惯:不管什么组合方式,数据质量检查必须放在第一步。
1.3.2 视觉/INS 组合
视觉传感器便宜、信息丰富,但计算量大、对光照敏感。和INS组合后,可以在视觉失效时靠INS顶一阵,INS漂移时靠视觉修正。
我个人习惯把视觉/INS组合分成两类:
- 基于特征的视觉/INS:提取图像中的特征点(如ORB、SIFT),和INS数据一起优化。适合纹理丰富的场景。
- 直接法的视觉/INS:直接利用图像像素亮度信息,不提取特征。在弱纹理场景下表现更好。
你想想看,为什么现在很多AR眼镜都用视觉/INS组合?因为INS能提供高频的姿态更新,让虚拟物体稳定地叠加在现实画面上。视觉则负责修正INS的漂移。
1.3.3 其他组合方式
除了上面两种,还有一些特定场景下的组合:
- 激光雷达/INS:精度高、不受光照影响,但成本也高。自动驾驶领域用得比较多。
- 里程计/INS:轮式机器人常用,简单可靠。
- 地磁/INS:航向修正的好帮手,但容易受环境磁场干扰。
注意:不要盲目追求多传感器融合。传感器越多,系统越复杂,出问题的概率也越大。我见过一个项目,用了6个传感器,结果调试了半年还没稳定。有时候,2-3个精心选择的传感器,效果反而更好。
1.4 组合导航的核心逻辑
说了这么多,组合导航到底是怎么工作的?我画了一张图,帮你理解整个流程。
这张图展示了我做组合导航时最常用的流程。从传感器数据进来,到预处理、滤波融合、最终输出,每一步都有讲究。
举个例子,时间同步这块。我遇到过GNSS和IMU的时间戳差了50毫秒,结果滤波出来的位置误差直接大了好几米。后来我加了一个硬件时间同步模块,问题才解决。
1.5 为什么需要抗差自适应滤波?
好,问题来了。既然组合导航这么好用,为什么还要专门讲抗差自适应滤波?
原因很简单:现实世界是不完美的。
- GNSS可能被遮挡、多路径效应干扰
- IMU可能有温漂、零偏不稳定
- 视觉特征可能匹配错误
这些异常情况,如果滤波算法不做特殊处理,结果就会出问题。我见过最夸张的一次,GNSS信号被高楼反射,位置误差达到了几百米,滤波直接发散。
抗差自适应滤波,就是专门对付这些「脏数据」的。它能自动识别异常观测值,降低它们的权重,甚至在极端情况下直接剔除。同时,它还能根据实际情况调整滤波参数,让算法始终工作在最佳状态。
一句话总结:组合导航是骨架,抗差自适应滤波是灵魂。没有抗差能力的组合导航,在真实环境中很难稳定运行。
好了,这一章的内容就到这里。组合导航的基本概念、发展历程、主流方式,以及为什么需要抗差自适应滤波,我都讲清楚了。下一章,我们会深入讨论惯性导航的基本原理,那是组合导航的基础。