第4章:惯性导航系统(INS):IMU工作原理与组合优势

各位同学,今天我们来聊聊惯性导航。说实话,这是我在城市峡谷场景里最依赖的传感器之一。GNSS信号一丢,INS就是你的救命稻草。

4.1 IMU工作原理:加速度计与陀螺仪

IMU,全称Inertial Measurement Unit,惯性测量单元。它内部有两个核心器件:加速度计和陀螺仪。

加速度计测量的是比力,也就是物体受到的惯性力与重力的合力。你把它放在桌上,它测到的是1g向上的加速度。你把它自由落体,它输出接近0。我刚开始做项目时,总以为加速度计测的是运动加速度,其实不是——它测的是“支撑力”。

陀螺仪测量的是角速度,单位是°/s。它告诉你载体转得有多快。MEMS陀螺仪便宜但噪声大,光纤陀螺精度高但贵。在城市峡谷里,我一般用MEMS,因为成本敏感。

核心公式(简化版):

加速度计输出: f = a - g
陀螺仪输出: ω = Ω + b + n

其中a是运动加速度,g是重力,Ω是真实角速度,b是零偏,n是噪声。

我的经验:选IMU时别只看参数表。我曾经被一个标称零偏稳定性0.1°/h的MEMS坑过,实际跑起来漂移大得离谱。一定要做Allan方差分析,看实际表现。

4.2 捷联惯导解算

捷联惯导,说白了就是把IMU固定在载体上,用数学代替物理平台。解算分三步:

  1. 姿态更新:用陀螺仪角速度积分,更新四元数或旋转矩阵
  2. 速度更新:用加速度计比力,扣除重力,积分得到速度
  3. 位置更新:对速度积分,得到位置

我习惯用四元数法,避免欧拉角的万向锁问题。代码大概长这样:

// 姿态更新(四元数法)
void updateAttitude(gyro_data, dt) {
    // 计算角增量
    delta_theta = gyro_data * dt;
    // 构造四元数增量
    dq = [cos(|delta_theta|/2), 
          (delta_theta/|delta_theta|)*sin(|delta_theta|/2)];
    // 更新四元数
    q_new = q_old * dq;
    // 归一化
    q_new = q_new / norm(q_new);
}

注意:四元数一定要归一化!我见过有人忘了这步,解算出来的姿态越偏越远,最后直接翻车。归一化是小事,不归一化是大事。

4.3 INS误差特性:漂移

INS最大的问题是什么?漂移。说白了就是误差随时间累积。

为什么会这样?因为INS是积分系统。陀螺仪有零偏,积分一次变成角度误差,再积分一次变成速度误差,再积分一次变成位置误差。误差以时间的三次方增长!

误差源 对位置的影响 时间特性
陀螺零偏 ∝ t³ 三次方增长
加速度计零偏 ∝ t² 二次方增长
初始对准误差 ∝ t² 二次方增长

我曾经做过一个纯INS实验,10分钟后位置误差已经超过1公里。嗯,这就是为什么INS不能单独用太久。

关键结论:INS短时精度极高(毫秒级),长时精度极差(分钟级)。GNSS正好相反。所以——组合才是王道。

4.4 INS/GNSS组合优势

INS和GNSS组合,说白了就是取长补短。GNSS提供绝对位置,抑制INS漂移;INS提供高频姿态和短时定位,填补GNSS中断。

组合方式主要有三种:

  • 松组合:GNSS输出位置/速度,INS输出位置/速度,卡尔曼滤波融合。简单,但GNSS中断时INS自己漂。
  • 紧组合:GNSS输出伪距/伪距率,INS辅助捕获跟踪。抗干扰强,但实现复杂。
  • 深组合:INS反馈到GNSS接收机基带。我目前只在论文里见过,实际项目还没用过。

我个人最常用的是紧组合。为什么?因为城市峡谷里GNSS信号经常被遮挡,紧组合能在信号弱时依然保持定位。我曾经在上海陆家嘴做过测试,紧组合在楼宇间能保持2米精度,松组合直接飘到10米开外。

避坑指南:我曾经在组合导航里忘了处理时间同步。INS数据是100Hz,GNSS是10Hz,时间戳没对齐,结果卡尔曼滤波发散得一塌糊涂。后来我加了一个时间戳对齐模块,问题才解决。时间同步是组合导航的命门,千万别忽视。

4.5 本章知识体系

下面这张图是我自己画的,把INS的核心逻辑串起来了:

INS/GNSS组合导航知识体系 IMU 加速度计 + 陀螺仪 捷联惯导解算 姿态 → 速度 → 位置 误差特性 漂移 ∝ t³ GNSS 绝对位置/速度 组合导航 松/紧/深组合 输出:位置/姿态 INS提供高频短时精度,GNSS提供低频绝对基准 组合导航 = 取长补短

这张图把INS/GNSS组合的流程讲清楚了。IMU数据进捷联解算,解算结果和GNSS数据一起进组合导航,最后输出稳定的位置和姿态。误差特性是INS的短板,但组合导航正好补上了。

一句话总结:INS短时准、长时漂;GNSS长时稳、短时跳。两者组合,才是城市峡谷定位的最优解。


公众号:蓝海资料掘金营,微信deep3321