1、漂移的本质:为什么GPS/IMU会飘?

做定位的人,最怕听到两个字——「漂移」。

我记得刚入行那会儿,在园区里测试一个组合导航系统。明明车子停在原地,地图上的小蓝点却像喝醉了酒一样,慢慢滑到了隔壁楼里。当时我盯着屏幕看了半天,心想:这玩意儿到底是怎么飘起来的?

后来踩的坑多了,才慢慢明白——漂移不是bug,是物理规律。说白了,你用的传感器本身就不完美。

1.1 误差从哪来?先看GPS

GPS的定位原理,说白了就是三边测量。卫星告诉你「我在这儿」,你根据信号飞了多久算出距离。但问题是——信号在路上会「变形」。

多路径效应

信号从卫星发出来,本来走直线。但城市里高楼多,信号撞到玻璃幕墙反弹一下,再绕到你接收机上。你算出来的距离就变长了。

我在上海陆家嘴做过一次测试,同一颗卫星的信号,直射路径和反射路径差了将近15米。你想想看,定位能准吗?

钟差

卫星上的原子钟很准,但也不是绝对准。地面接收机的石英钟就更别提了,一天能漂几微秒。光速是3×10⁸ m/s,1微秒的钟差就是300米。

嗯,这里要注意:GPS系统会用差分技术去修正钟差,但残差依然存在。尤其是单点定位的时候,钟差是最大的误差源之一。

电离层与对流层延迟

信号穿过大气层,速度会变慢。电离层里的自由电子会「拖住」信号,对流层的水汽也会折射。这些延迟随天气、时间、纬度变化,很难精确建模。

GPS典型误差量级(单点定位,无差分):
误差源典型量级
多路径1-15米
钟差1-5米(经修正后)
电离层延迟2-10米
对流层延迟0.5-2米
轨道误差0.5-2米

1.2 再看IMU:惯性导航的「慢性毒药」

IMU不依赖外部信号,它自己测加速度和角速度。听起来很独立,对吧?但它的误差是「累积」的。

零偏(Bias)

IMU静止时,理论上输出应该是0。但实际不是。陀螺仪会有微小的角速度输出,加速度计也会有微小的加速度输出。这个偏移量就是零偏。

我做过一个实验:把IMU放在桌上不动,积分10分钟后,位置漂了200多米。为什么?因为零偏被积分了一次变成速度误差,再积分一次变成位置误差——二次积分,误差爆炸。

我的经验: 零偏是IMU误差里最「要命」的。选IMU时,我第一个看的就是零偏稳定性。消费级IMU的零偏稳定性通常在10-100°/h,工业级能做到1°/h以下,光纤陀螺可以到0.01°/h。价格差两个数量级,性能也差两个数量级。

随机游走(Random Walk)

零偏不是固定的。它会随着温度、时间慢慢变化。这种变化是随机的,建模成「随机游走」过程。你没法完全补偿它,只能靠滤波去估计。

刻度因子与交轴耦合

IMU输出的数值和真实物理量之间,不是完美的线性关系。刻度因子误差会让你的加速度读数偏大或偏小。交轴耦合更隐蔽——X轴的加速度会串到Y轴的输出里。

我曾经在一个项目里,IMU的刻度因子误差标定差了0.1%,结果积分10分钟后位置误差超过了50米。嗯,从那以后我再也不敢跳过标定了。

1.3 漂移的数学模型

理解了误差源,我们来看漂移到底怎么「算」出来的。

IMU的测量模型可以写成:

ω_m = ω_true + b_g + n_g
a_m = a_true + b_a + n_a + g

其中:

  • ω_m, a_m 是测量值
  • ω_true, a_true 是真实值
  • b_g, b_a 是零偏
  • n_g, n_a 是白噪声
  • g 是重力加速度(需要扣除)

位置和姿态的更新方程:

p_k+1 = p_k + v_k * Δt + 0.5 * a_k * Δt²
v_k+1 = v_k + a_k * Δt
q_k+1 = q_k ⊗ exp(0.5 * ω_k * Δt)

你看,位置误差是加速度误差的二次积分。零偏b_a哪怕只有0.01 m/s²,积分10秒后位置误差就是0.5米。积分100秒呢?50米。

避坑指南: 我曾经在无人机项目里,IMU的零偏标定没做温度补偿。夏天中午飞,IMU温度从25°C升到60°C,零偏漂了3倍。飞机在空中直接「画龙」。后来我学乖了——IMU标定一定要做全温段标定,至少-20°C到+70°C。

1.4 核心逻辑:为什么GPS+IMU能互补?

现在你该明白了:

  • GPS误差是「有界」的——不会越飘越远,但容易受环境干扰
  • IMU误差是「无界」的——短期准,长期飘

一个没有长期漂移,一个没有短期噪声。说白了,这就是组合导航的底层逻辑——用GPS的长期稳定性去约束IMU的累积误差,用IMU的高频输出去填补GPS的更新间隙。

漂移的本质:误差传播与互补逻辑 GPS误差源 多路径效应 钟差 电离层/对流层延迟 IMU误差源 零偏 (Bias) 随机游走 刻度因子误差 误差特性:有界 长期稳定,短期有噪声 误差特性:无界 短期精准,长期累积漂移 卡尔曼滤波融合 互补:长期约束 + 短期精度 输出:稳定、低漂移的位置与姿态

这张图把本章的核心逻辑串起来了。左边是GPS的误差源,右边是IMU的误差源。它们各自有各自的「死穴」,但恰好互补。卡尔曼滤波就是那个「和事佬」——用GPS的长期稳定性去拉回IMU的漂移,用IMU的高频更新去填补GPS的空白。

说白了,组合导航不是让传感器变完美,而是让它们互相兜底。

可可精品资料库