第一章:惯性导航基础——IMU原理、加速度计与陀螺仪、比力方程与姿态更新
各位同学,欢迎来到《卡尔曼滤波在INS中的融合实战》课程。
我是你们的老朋友,一个在组合导航领域摸爬滚打了十几年的工程师。今天咱们开始第一讲,聊聊惯性导航最底层的那些事儿。说白了,就是搞清楚我们手里的IMU(惯性测量单元)到底是个什么玩意儿,它怎么感知运动,我们又怎么用它来算姿态。
嗯,这部分内容虽然基础,但非常重要。我见过不少新手,一上来就调卡尔曼滤波参数,结果IMU的原始数据都没搞明白,最后定位飘到天上去都不知道为什么。所以,咱们把地基打牢。
1.1 IMU原理:它到底在测什么?
IMU,全称Inertial Measurement Unit,中文叫惯性测量单元。它就像一个黑盒子,里面装着两个核心传感器:加速度计和陀螺仪。
你想想看,我们人类怎么感知运动?靠眼睛看,靠耳朵里的前庭系统感受加速度和旋转。IMU就是模仿这个功能。它不依赖任何外部信号,完全靠自己内部感知,这就是“惯性”二字的由来。
我个人习惯把IMU比作一个“盲人”。它看不见GPS卫星,也看不见路标,但它能感受到自己被推了一下(加速度),或者被转了一下(角速度)。然后,它根据这些感受,推算出自己走了多远、转了多少角度。
1.2 加速度计:感受“比力”的传感器
加速度计,顾名思义,是测加速度的。但这里有个坑,我刚开始学的时候也栽过跟头。
加速度计测的并不是我们通常理解的“运动加速度”,而是“比力”(Specific Force)。比力是什么?是物体受到的除了重力以外的合力,除以质量。
公式很简单:f = a - g,其中f是比力,a是绝对加速度,g是重力加速度。
举个例子:你把加速度计平放在桌子上,它读数是多少?是0吗?不是!它读数是g,方向向上。因为它在抵抗重力,支撑力给了它一个向上的比力。如果它自由落体,读数反而是0,因为它和重力一起往下掉,没有支撑力了。
在实际项目中,加速度计的输出模型可以写成:
f_meas = f_true + b_a + s_a * f_true + n_a
其中:
f_meas:测量值f_true:真实比力b_a:零偏(Bias),一个缓慢变化的误差s_a:比例因子误差n_a:随机噪声
嗯,这里要注意,零偏是卡尔曼滤波里要估计的关键状态量之一。
1.3 陀螺仪:测量角速度的“旋转感知器”
陀螺仪测的是角速度,单位通常是度/秒(°/s)或弧度/秒(rad/s)。
早期的陀螺仪是机械式的,靠高速旋转的转子来保持方向。现在的MEMS陀螺仪,用的是科里奥利效应。简单说,就是一个质量块在振动,当它被旋转时,会受到一个垂直于振动方向的力,测出这个力就能算出角速度。
陀螺仪的输出模型和加速度计类似:
ω_meas = ω_true + b_g + s_g * ω_true + n_g
这里b_g是陀螺零偏,是卡尔曼滤波里另一个要估计的关键状态。
1.4 比力方程:连接IMU和导航的桥梁
比力方程,是惯性导航里最核心的公式之一。它描述了载体加速度、比力和重力之间的关系。
在导航坐标系(比如北东地坐标系)下,比力方程长这样:
v̇^n = C_b^n * f^b - (2ω_ie^n + ω_en^n) × v^n + g^n
别被这个公式吓到,咱们拆开看:
v̇^n:导航系下的速度变化率(加速度)C_b^n:姿态矩阵,把载体系下的比力转换到导航系f^b:载体系下的比力(加速度计输出)2ω_ie^n × v^n:地球自转引起的哥氏加速度ω_en^n × v^n:载体在地球表面运动引起的向心加速度g^n:重力加速度
说白了,这个公式告诉我们:你测到的比力,一部分用来克服重力,一部分用来产生运动加速度,还有一部分被地球自转和运动本身“吃掉”了。
我记得在做一个车载导航项目时,车速到了120km/h,哥氏加速度项已经不能忽略了。如果不补偿,位置误差会以每小时几百米的速度累积。所以,高精度导航里,这些项一个都不能省。
1.5 姿态更新:从角速度到姿态矩阵
有了陀螺仪的角速度,我们怎么更新姿态?常用的方法有三种:欧拉角法、方向余弦矩阵法、四元数法。
我个人最推荐四元数法,因为它没有万向节死锁,计算量也小。姿态更新公式如下:
q̇ = 0.5 * q ⊗ ω
其中q是四元数,ω是角速度向量,⊗表示四元数乘法。
离散化后,我们通常用一阶龙格-库塔法来更新:
q_{k+1} = q_k + Δt * q̇_k
或者用更精确的毕卡算法(Bortz算法),考虑圆锥运动补偿。嗯,这里要注意,在高动态环境下(比如无人机剧烈震动),圆锥误差会很大,必须用高阶补偿算法。
1.6 本章知识体系总览
为了让大家更直观地理解本章的知识结构,我画了一张图:
这张图把本章的核心逻辑串起来了:IMU输出原始比力和角速度,经过误差补偿后,通过比力方程和姿态更新算法,最终解算出位置、速度和姿态。而卡尔曼滤波,就是在这个链条上,用外部观测(比如GPS)来修正IMU的累积误差。
好了,第一章的内容就到这里。记住,理解IMU的原理和误差特性,是做好组合导航的第一步。下一章,我们会深入讨论姿态的表示方法——欧拉角、四元数和方向余弦矩阵,以及它们之间的转换关系。
公众号:蓝海资料掘金营,微信deep3321