第一章:IMU基础与误差来源
大家好,我是老张。在惯性导航这行摸爬滚打了十几年,今天咱们来聊聊IMU数据预处理的第一步——搞清楚你的传感器到底是怎么工作的,以及它都会犯哪些“错误”。
说实话,很多新手拿到IMU数据就直接开干,结果发现姿态解算出来飘得离谱。嗯,这其实很正常。你不了解误差来源,就没办法对症下药。我个人习惯是,拿到一个新IMU,先花半天时间把它的“脾气”摸透。
1.1 IMU工作原理:它到底在测什么?
IMU,全称惯性测量单元。说白了,就是加速度计加陀螺仪的组合体。
- 加速度计:测量物体的比力。注意,不是重力,是比力。静止时它测的是重力加速度g,运动时测的是运动加速度和重力的合成。
- 陀螺仪:测量物体的角速度。也就是你转得有多快。
我遇到过不少工程师,把加速度计当成“水平仪”用。其实它只能告诉你当前加速度的方向,不是绝对的水平参考。你想想看,如果IMU在自由落体,加速度计输出是0,但物体并不是水平的。
核心公式(简化版):
加速度计输出 = 真实加速度 + 重力加速度 + 误差项
陀螺仪输出 = 真实角速度 + 误差项
1.2 误差模型:IMU的“坏习惯”
每个IMU都有自己的“坏习惯”。我习惯把这些误差分成两类:确定性误差和随机误差。
确定性误差,说白了就是可以标定补偿的。随机误差,嗯,那是真随机,只能靠滤波。
1.2.1 零偏(Bias)
零偏是最常见的误差。IMU静止时,输出应该为0,但它偏不。比如陀螺仪静止时输出0.01°/s,这就是零偏。
零偏又分两种:
- 零偏稳定性(Bias Instability):长时间内零偏的缓慢漂移。我见过最差的MEMS IMU,开机一小时零偏能漂移0.5°/s。
- 零偏重复性(Bias Repeatability):每次开机时零偏的差异。今天开机是0.01°/s,明天开机可能是0.015°/s。
我的经验: 零偏稳定性决定了你能做多长时间的纯惯性导航。如果你需要10分钟以上的导航精度,零偏稳定性必须优于0.01°/h。我曾经在一个无人机项目里,因为没注意零偏稳定性,导致悬停5分钟后位置漂移了200米。
1.2.2 刻度因子(Scale Factor)
刻度因子,就是输入和输出之间的比例关系不准确。比如你转了100°/s,陀螺仪输出却是99.5°/s,差了0.5%。
为什么会这样?说白了,制造工艺的误差。每个IMU的刻度因子都不一样,而且还会随温度变化。
| 误差类型 | 典型值(消费级) | 典型值(工业级) | 典型值(战术级) |
|---|---|---|---|
| 零偏稳定性 | 0.1 - 1 °/s | 0.01 - 0.1 °/s | < 0.01 °/h |
| 刻度因子误差 | 1% - 5% | 0.1% - 1% | < 0.01% |
| 交轴耦合 | 1% - 3% | 0.1% - 1% | < 0.01% |
1.2.3 交轴耦合(Cross-Axis Sensitivity)
交轴耦合,这个比较隐蔽。理想情况下,X轴加速度计只测X方向的加速度。但实际上,Y轴和Z轴的加速度也会串扰到X轴输出上。
我曾经在一个高精度导航项目里,发现姿态解算总是有周期性误差。排查了三天,最后发现是交轴耦合导致的。当时那个IMU的交轴耦合系数是2%,在剧烈振动环境下,这个误差被放大了好几倍。
避坑指南: 交轴耦合在低端IMU中尤其严重。如果你做的是高动态应用(比如无人机、机器人),一定要做六位置标定法来补偿交轴耦合。我曾经因为偷懒没做,结果在急转弯时姿态解算直接发散。
1.3 误差模型数学表达
好了,咱们用数学语言总结一下。一个完整的IMU误差模型长这样:
加速度计输出 = S_a * (真实加速度 + 重力 + 零偏) + 交轴耦合项 + 噪声
陀螺仪输出 = S_g * (真实角速度 + 零偏) + 交轴耦合项 + 噪声
其中S_a和S_g就是刻度因子矩阵。交轴耦合项是一个3x3的矩阵,非对角线元素就是耦合系数。
你想想看,如果不做标定,这些误差项会直接进入你的姿态解算和导航计算。零偏会导致角度漂移,刻度因子会导致速度误差,交轴耦合会导致姿态耦合误差。
1.4 知识体系框架
下面这张图,是我自己总结的IMU误差知识体系。每次带新人,我都会先让他们看这张图。
1.5 小结
这一章咱们把IMU的底细摸清楚了。记住三点:
- 零偏是最大的敌人,尤其是零偏稳定性
- 刻度因子和交轴耦合,在高动态下会要命
- 误差模型是标定和滤波的基础,别跳过
我个人习惯,每次拿到新IMU,先做一次完整的标定实验。把零偏、刻度因子、交轴耦合都标定出来,然后才敢用。你想想看,如果连传感器的误差都不清楚,后面的滤波和融合做得再好,也是白搭。
一句话总结: IMU误差预处理,说白了就是“知己知彼”。知道传感器会犯什么错,才能提前做好补偿。
公众号:蓝海资料掘金营,微信deep3321