拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

组合导航、惯导、GNSS、INS、IMU区别详解:原理、应用与选型指南

组合导航、惯导、GNSS、INS、IMU区别详解:原理、应用与选型指南

做了这么多年定位导航相关的项目,被问得最多的就是“组合导航、惯导、GNSS、INS、IMU这几个东西到底啥区别”。每次开会或者带新人,都要把这一堆缩写在白板上画一遍,今天干脆整理成一篇长文,把它们的定义、原理、优缺点、应用场景、选型建议全讲清楚。不管你是刚接触无人机的飞手、做自动驾驶的工程师,还是搞机器人和测绘的朋友,看完这篇基本就能摸清这套定位体系的脉络。我从实际项目出发,尽量用大白话和真实场景来拆解,也会给一些芯片和模组选型上的参考意见,算是这几年踩坑总结出来的经验。

1. 先给这些概念排个辈分:从传感器到系统的四个层次

很多朋友一开始接触这几个词,就容易被缩写搞晕,其实它们不是同一维度上的东西。有的指硬件,有的指算法,有的指系统,还有的是整个技术路线的总称。我习惯用一套“俄罗斯套娃”的方式来理解它们。

1.1 IMU:最底层的姿态和加速度传感器

IMU(Inertial Measurement Unit)是惯性测量单元,说白了就是“测量物体运动状态”的硬件盒子。一个典型的IMU内部包含三个正交的加速度计和三个正交的陀螺仪。加速度计测量的是物体在三个轴向上的加速度,陀螺仪测量的是绕三个轴的角速度。

这里有个很容易忽略的点:IMU测量的是“加速度”和“角速度”,不是直接输出位置和速度。相当于它只负责感受“身体怎么动”,至于动完之后到了哪里,需要靠后续的积分运算去推算。我打过一个比方,IMU就是一个蒙着眼睛的人在走路,它能感觉到自己迈了多大步、拐了多少弯,但不知道自己现在走到哪儿了。

1.2 惯导(INS):在IMU之上叠加解算算法

惯导的全称是惯性导航系统(Inertial Navigation System,INS),它是在IMU的基础上,增加了解算处理器和导航算法。INS拿IMU输出的原始数据,通过积分运算得到速度、位置和姿态信息。

一个完整的INS通常包含三部分:惯性测量单元、导航算法处理器、初始对准模块。初始对准是惯导启动时一个极其关键的环节,因为它要进行姿态初始化,确定“机头朝哪边、水平面在哪”。过惯导有致命的硬伤,就是误差会随时间累积,陀螺仪的微小零偏经过积分之后会变成越来越大的位置漂移。这就是为什么纯惯导不能长时间独立工作的原因,你拿着手机走十分钟,纯靠那种廉价IMU做的惯导,位置可能已经偏出几百米了。

1.3 GNSS:绝对定位的“卫星尺子”

GNSS是全球导航卫星系统的总称,包括了GPS、北斗、格洛纳斯、伽利略等卫星系统。它解决的是“我现在在哪儿”的问题,通过接收多颗卫星的信号,计算出接收机在地球上的三维位置、速度和时间信息。

GNSS的优势很明显:误差不随时间累积,长期精度稳定。只要视野开阔、卫星信号良好,民用单频GNSS的定位精度可以做到1到3米,用了RTK(实时动态差分)技术以后可以做到厘米级。但它也有天生的弱点:怕遮挡、怕多路径效应、数据更新频率低(一般是10到20赫兹)。在城市峡谷、隧道、林荫道的场景下,GNSS信号会丢失或者剧烈跳动。

1.4 组合导航:把多源信息揉成一个更准的姿态

组合导航指的是用软件算法把GNSS、IMU以及其他传感器(比如里程计、视觉、激光雷达)的信息融合在一起,输出一套连续、平滑、高可靠的定位结果。现在大多数量产级的惯导产品,本质都是“组合导航系统”,也就是惯组加卫导的组合方案。

组合导航系统的核心思路是“取长补短”:用GNSS的绝对位置信息去消除INS的积累漂移,用INS的高频、短时高精度数据去填补GNSS丢失或跳变时的空缺。最新出来的一些消费级和工业级产品,还会在组合导航里加入视觉或激光雷达的观测,形成了“GNSS+INS+视觉”或者“GNSS+INS+激光”的多源融合导航方案。

我觉得用一句话来总结这组概念的关系:IMU是硬件传感器,INS是建立在IMU之上的导航系统,GNSS是提供绝对定位的另一类系统,组合导航则是把INS和GNSS捏在一起做融合的最终形态。这四者不是并列关系,而是层层递进、互相补充的关系。

2. 核心原理拆解:为什么惯导会漂移,卫星会丢失,而组合导航OK

既然是讲区别,那光有定义还不够,要把每个方案背后的原理、误差模型和适用边界说清楚,才能在实际项目中做出正确的技术选型。

2.1 IMU的数据特性与误差模型:别把积分想得太天真

IMU输出的原始数据,看起来只是三轴加速度和三轴角速度,但用起来才知道里面全是坑。芯片层级的数据包含好几类误差源:零偏(Bias)、标度因数误差(Scale Factor Error)、交叉轴耦合、随机游走噪声、温度漂移,等等。

其中对导航精度影响最大的是零偏和角度随机游走。零偏是加速度计或陀螺仪在没有输入的情况下仍然输出的一个“假信号”。当你对加速度做一次积分得到速度时,零偏就变成了一条线性增长的速度误差;再做一次积分得到位置时,就变成了抛物线增长的位置误差。陀螺仪的零偏会直接导致姿态估计错误,而姿态一旦错,重力补偿就会出问题,水平方向的加速度误差又一个接一个冒出来了。

这里我想给新手一个直观的参数认知:一个消费级的IMU,比如InvenSense的MPU6050系列,陀螺仪零偏稳定性大概在5到20度每小时左右,加速度计零偏稳定性在几十毫克(mg)量级。这种性能级别的IMU,纯积分导航的话,几秒钟还能勉强看,几十秒就开始没法看了。工业级的IMU,比如ADI的ADIS16470,陀螺零偏稳定性能做到几度每小时以内。而战术级的光纤陀螺或激光陀螺,能到0.1度每小时甚至更低,但那价格也是成指数往上翻的。

3. GNSS与INS的博弈:互补效应是怎么实现的

3.1 GNSS的定位原理与误差源

GNSS定位的基本原理是测距交会,接收机测量自身到至少四颗卫星的距离,通过解方程得出三维坐标和时间。民用信号受到电离层、对流层、卫星轨道误差、卫星钟差、多路径效应等多重误差源的影响,所以单点定位的精度一般就在米级。

实际工程里用得最多的是RTK技术,它靠基准站和流动站之间的差分,把大部分公共误差抵消掉,精度能到厘米级。但RTK要求流动站和基准站之间有足够的共视卫星,而且初始化需要一些时间,遇到遮挡严重时固定解会掉成浮点解甚至单点解。

3.2 INS与GNSS融合的具体实现方式

INS与GNSS的融合,工程上最常见的是松耦合和紧耦合两种方式。松耦合把GNSS输出的位置、速度当作量测值,输入到卡尔曼滤波器里,去估计INS的误差状态;紧耦合则直接利用GNSS的伪距、载波相位等原始观测量,与INS解算的预测值做差,更新滤波器。

从工程实现的复杂度看,松耦合简单直观、发热量小、调试方便,大多数组合导航模组都是这个方案;紧耦合在有遮挡、卫星数不够多的时候表现更好,但对接收机的底层协议开放度和代码功底要求很高。

3.3 为什么组合导航能提供“连续、平滑、高可靠”的输出

我用一个常见场景来说明问题:车辆从露天车库驶入地下隧道。在进入隧道前,GNSS信号良好,RTK差分固定解,组合导航系统利用GNSS的位置观测持续修正INS的漂移,此时卡尔曼滤波器的状态估计非常收敛。进入隧道后,GNSS信号瞬间丢失,滤波器自动切断GNSS观测量,系统纯靠INS继续推算位置。因为刚才的估计已经收敛到了一个良好的状态,惯导的短期精度又比较高,所以车辆在隧道里行驶几十秒,位置误差依然能维持在很小范围内。驶出隧道后,GNSS信号恢复,滤波器重新把GNSS观测加进来,把这段时间累积的漂移迅速“拉”回真实位置,这就是组合导航的完整工作链路。

整个过程在用户无感知的情况下完成,输出的位置轨迹连续平滑,没有跳跃,这就是为什么自动驾驶和无人机系统必须用组合导航而不是单一传感器去定位的底层原因。

4. 惯导和组合导航工程实现里的那些“坑”:从选型到装车再到调参

纯理论讲完了,还是得落到实际项目。我把这几年在设备选型、安装、配置和排错上遇到的问题集中梳理一下,希望能帮你省掉一些弯路。

4.1 关键指标解析:零偏稳定性、角度随机游走、数据频率选型

挑选IMU或者组合导航产品,首先看的就是指标书。核心精度指标一般包括陀螺仪零偏稳定性、陀螺仪角度随机游走、加速度计零偏稳定性、加速度计噪声密度。这里我不建议只看零偏这一个参数,角度随机游走同样重要,它代表的是噪声的白噪声级别,决定了解算姿态的平滑度。

实际项目里,低速机器人或者室内移动设备,如果只是辅助定位,消费级IMU基本够用;做无人机飞控,工业级IMU是标配;做高精度地图采集车或者自动驾驶主定位系统,那就得至少对标战术级的MEMS方案,比如ADIS系列或者国产同档次的产品。再往上追求更高的精度,就要上光纤陀螺方案了,不过那个成本和体积,普通项目是真扛不住。

一个容易踩的坑是只看“零偏稳定性”而忽略“温度范围”和“温漂系数”。某些便宜模组在室温下参数好看,到了北方冬天的户外,零偏能翻几倍,姿态直接跑飞。

4.2 安装位置与轴向对齐:IMU能不能“乱摆”?

IMU的安装很讲究。首先安装位置应该尽量靠近载体的几何中心和动力学中心,离得太偏会造成大的杆臂效应,急加速和转弯时加速度计会测到额外的向心加速度和切向加速度,GNSS位置和IMU位置之间也有一个杆臂误差,需要在系统里补偿。

另外一个我很想强调的问题是轴向对齐。很多用户买回组合导航模组,直接双面胶一贴,完全没有考虑模组的X轴和载体的前进方向是否一致。这样装上去,输出的航向角一开始就带了一个固定偏差。正规做法是安装后用转台或者场地上画直线跑几圈来标定初始航向安装角,或者在软件里做航向安装角补偿。

4.3 时间同步问题:IMU数据和其他传感器之间的“同一时刻”陷阱

组合导航要融合多源数据,数据来到了不同传感器,时间戳必须统一到同一时间基准上。很多开发者在调试“里程计和IMU融合定位”时发现速度一快数据就开始乱跳,十有八九是时间同步没做好。

GNSS接收机给出的PPS(每秒脉冲)信号是时间同步的关键,硬件上把PPS和IMU的数据线接到同一个处理器,用PPS上升沿标记IMU数据的时间戳,这样IMU数据的采样时刻就能被精确对齐到UTC时间。如果只用纯软件层面去凑时间,在高动态场景下很容易引入几毫秒到几十毫秒的延迟,这在高速运动中就是好几米的偏差。

做激光雷达或视觉与IMU融合的时候,时间同步更是头等大事,不做好联合标定和时间戳对齐,整个建图定位系统基本没法用。

4.4 协议对接和调试:GNSS模组的配置、串口解析、数据格式心法

GNSS模组通常通过串口或者SPI接口输出NMEA协议,组合导航系统要解析GGA、RMC、GST等语句。NMEA看起来简单,实际上字符集、校验位、字段顺序都容易踩坑,尤其是生产环境下的数据断帧和串口波特率不匹配,会引出各种稀奇古怪的bug。

我建议项目初期就把协议解析模块做成独立的工具库,充分测试边界情况,比如空字段、校验失败、超时、重复帧等。GNSS模组的配置一般也有专用命令去配置输出频率和语句格式,很多模组默认只输出1Hz数据,而组合导航系统往往需要10Hz甚至20Hz的位置更新,这个一定要记得改。

5. 常见问题与排查技巧

5.1 定位漂移、航向慢漂和速度跳变:怎么一步步定位故障源

实际调试中最常见的现象就是定位漂移、航向慢漂、速度跳变。这几种问题对应的原因大不相同,我一般按顺序排查:

遇到位置漂移,先看GNSS原始输出有没有正常。如果GNSS本身就在跳,那就是卫星环境问题,跟IMU没太大关系;如果GNSS正常但融合后的位置还漂,再判断是IMU数据异常还是融合参数有问题。

航向慢漂这种问题,最典型的场景就是“基于IMU的位姿解算,yaw仍会慢漂”,这在纯IMU模式下根本躲不掉,因为MEMS陀螺本身存在零偏,积分之后航向必然缓慢漂移。要解决只能引入外部航向观测,比如GNSS双天线测向、磁力计、视觉观测,或者定期进行静止零速修正。

速度跳变大概率是GNSS多路径或者RTK固定解切换造成的,比如车辆在高架桥下方行驶时,多路径效应会让GNSS速度突然跳动几十厘米甚至几米。处理手段通常是调整滤波器里的量测噪声模型,让GNSS速度更新的权重在高动态环境下自动压低,多相信IMU的短时预测。

5.2 组合导航安装和测试的几点经验心得

在实际测试过程中,有些细节特别重要,比如车辆跑“8字”轨迹来标定IMU安装角和杆臂参数,这个环节不能省。很多车辆在跑“直线”时一切正常,一到急弯和加减速就偏,就是因为安装角和杆臂没有得到充分激励和辨识。

新装的组合导航,建议一上车先原地静止3到5分钟,让滤波器充分收敛,再进行运动测试。很多新手一上电就猛踩油门,得到的初始姿态和零偏估计都不准,后面再花好几倍的时间都未必能拉回来。

另外室内环境下,纯GNSS信号很弱或者根本没有,组合导航很多时候退化成纯惯导状态,这时候必须要靠外部的里程计、雷达或视觉辅助,否则跑不了多久就飞了。如果你要做的是室内移动机器人,建议一开始就把轮式里程计或激光雷达纳入融合框架。

5.3 新手入坑指南:从哪些产品开始学比较合适

刚接触这套体系的新手,想快速上手又不想被复杂的标定流程劝退,可以先用市面上的集成式组合导航模组,比如华测、司南、导远、戴世等厂商的产品。这些产品出厂前都做了标定,输出已经是最优姿态、位置、速度,拿来直接解析串口数据就能做上层开发,先感受一下整套系统的行为模式。

等有了一定基础,再尝试把GNSS接收机和IMU单独买回来自己写融合算法,这时候你才会真正理解卡尔曼滤波的状态量、量测方程、噪声矩阵到底该怎么调。这种由简入繁的路线,学习效率最高。

6. 未来方向:多传感器融合与“GNSS+INS+视觉/雷达”的落地场景

随着自动驾驶和机器人技术的推进,单一GNSS+INS的组合方式已经很难满足城市复杂环境下的高精度定位需求。最近几年的技术演进很明显,都朝着“GNSS+INS+视觉+激光雷达+高精地图”的紧耦合紧融合方向走。

视觉和IMU的紧耦合,也就是VINS(Visual-Inertial Navigation System),在室内和GNSS拒止环境下的定位能力很强。激光雷达和IMU配合进行SLAM,也是目前无人车、扫地机器人、AGV仓储机器人常用的方案。这里需要特别提醒的是,把视觉传感器和IMU做融合之前,必须先完成相机与IMU的联合标定,很多小白直接用默认外参,结果系统一跑就发散,问题其实不在算法,而在外参给错了。

雷达与IMU的标定同理,雷达外参标定不准会导致点云投影错位、地图叠加重影,整个决策算法全被打乱。做这类项目时,联合标定这个环节一定要留足时间,并且要有好的标定工具和场地。

未来整个趋势肯定是传感器越加越多、融合深度越来越紧,单靠某一个数据的时代已经过去了,多源融合才是可靠定位的主流路线。

这是我做了这么多年项目最直接的体会:想真正掌握这套技术,光把缩写背熟没用,一定要上手去处理真实的传感器数据流,亲自盯着那些曲线看漂移、看跳变、看收敛,慢慢才会建立起对这套系统的工程直觉。希望这篇文章能帮你在入门和选型的路上少踩几个坑。

返回列表