第二节:IMU工作原理——加速度计与陀螺仪的物理原理、测量模型与坐标系定义

各位同学,今天我们来啃一块硬骨头——IMU的工作原理。

说实话,我刚入行那会儿,觉得IMU就是个黑盒子,往板子上一焊,数据就出来了。直到有一次做四旋翼的悬停控制,飞机在天上疯狂漂移,我才意识到——不懂原理,你连问题出在哪都不知道。

好,咱们今天就把这个黑盒子拆开看看。

一、加速度计:你感受到的“重力”其实是加速度

加速度计测量的是什么?很多人会脱口而出:“重力加速度”。

嗯,对了一半。

加速度计测量的其实是比力(Specific Force)——也就是物体受到的惯性力与重力的矢量和。说白了,它测的是“除了重力之外,还有没有别的力在推你”。

核心公式:

a_meas = a_linear + g

其中 a_meas 是加速度计的输出,a_linear 是物体的线性加速度,g 是重力加速度矢量。

注意:当物体静止时,a_linear = 0,所以 a_meas = g。这就是为什么静止时加速度计读数是 1g。

我做过一个有意思的实验:把IMU绑在无人机上,然后自由落体。你猜怎么着?加速度计读数变成了0!因为这时候没有支撑力了,只有重力在作用,而加速度计测的是“支撑力”对应的加速度。

加速度计的物理原理

最常见的MEMS加速度计是电容式的。里面有个微小的质量块,用弹簧悬着。当有加速度时,质量块会移动,改变电容值。测出电容变化,就能反推出加速度。

你可以想象成:你坐在车里,急刹车时身体前倾。质量块就是你的身体,弹簧就是安全带。前倾的幅度越大,说明刹车越猛。

我的经验:选型时别只看量程,还要看噪声密度。我踩过坑——选了个大厂的低噪声加速度计,结果发现它的带宽只有10Hz,做不了振动分析。后来换了宽带宽的型号,问题才解决。

二、陀螺仪:角速度的“旋转感知器”

陀螺仪测量的是角速度,单位是 °/s 或 rad/s。

它的原理比加速度计稍微绕一点。MEMS陀螺仪用的是科里奥利效应——当一个质量块在振动时,如果给它施加一个旋转,它就会产生一个垂直于振动方向的力。

嗯,我知道这听起来有点抽象。我换个说法:

想象你站在旋转木马上,手里拿着一个水盆。你左右晃动水盆(振动),旋转木马一转(旋转),水就会往外甩(科里奥利力)。这个力的大小和旋转速度成正比。

陀螺仪内部就是靠检测这个科里奥利力来推算角速度的。

注意:陀螺仪对振动非常敏感。我在做机器人足部IMU时,发现陀螺仪数据里全是高频噪声。后来查资料才知道,那是电机振动通过结构传递到了IMU。解决办法是加装减震垫,或者做软件滤波。

三、测量模型:从物理量到数字量

无论是加速度计还是陀螺仪,它们的测量模型都可以写成:

y = K * (x + b + n)

其中:

  • y:传感器输出的数字量(通常是ADC值或经过标定的物理量)
  • K:标度因数(Scale Factor),也就是灵敏度
  • x:真实的物理量(加速度或角速度)
  • b:零偏(Bias),也就是传感器静止时的输出偏移
  • n:随机噪声

这个模型看着简单,但实际工程中坑很多。

举个例子:零偏b不是常数。它会随温度变化,随供电电压变化,甚至随使用时间漂移。我做过一个测试——把IMU放在恒温箱里,从-40°C升到85°C,陀螺仪的零偏漂移了将近 0.5°/s。这在导航里是致命的。

标定要解决的核心问题:

  • 确定K(标度因数)
  • 确定b(零偏)
  • 确定轴间对准误差(Cross-axis sensitivity)
  • 确定非线性误差

四、坐标系定义:别让“正负”搞死你

坐标系定义是IMU使用中最容易出问题的地方。我见过太多人因为坐标系搞反,导致姿态解算结果完全错误。

常见的IMU坐标系有两种:

坐标系 X轴 Y轴 Z轴 右手法则
ENU(东-北-天) 东 北 天 是
NED(北-东-地) 北 东 地 是

大多数消费级IMU(比如MPU6050、ICM-20948)用的是右手坐标系,但具体哪个轴朝哪个方向,不同厂家不一样。

我个人的习惯是:拿到一个新IMU,第一件事就是看数据手册里的坐标系定义图。然后做个简单测试——把IMU平放,看Z轴输出是不是接近1g;绕Z轴旋转,看陀螺仪Z轴是不是有响应。

避坑指南:我曾经在一个项目里,把IMU的X轴和Y轴搞反了。结果姿态解算出来的俯仰角和横滚角完全对调。查了两天才发现是坐标系定义的问题。从那以后,我每次都会写一个坐标系验证脚本,跑一遍才放心。

五、知识体系总览

下面这张图是我自己画的,把IMU工作原理的核心逻辑串起来了。你可以把它当作本章的“地图”。

IMU工作原理知识体系 IMU(惯性测量单元) 加速度计 陀螺仪 物理原理 电容式MEMS / 质量块-弹簧系统 物理原理 科里奥利效应 / 振动质量块 测量模型:y = K·(x + b + n) 标度因数 · 零偏 · 噪声 · 轴间对准 坐标系定义:ENU / NED / 右手法则

从这张图你可以看到,IMU的核心就是加速度计和陀螺仪两个传感器。它们各自有物理原理、测量模型,最后统一到坐标系定义下进行数据融合。

嗯,到这里,IMU的工作原理就讲完了。下一节我们会聊怎么把这些原始数据变成有用的姿态信息——那就是姿态解算的事了。

本章要点回顾:

  • 加速度计测的是比力,不是纯线性加速度
  • 陀螺仪利用科里奥利效应测量角速度
  • 测量模型包含标度因数、零偏、噪声三个关键参数
  • 坐标系定义是工程中的常见坑,务必先验证再使用

可可精品资料库