1. IMU基础与坐标系:惯性导航系统概述
各位同学好,我是你们的传感器融合讲师。今天咱们聊聊IMU——这个在自动驾驶里不可或缺的小东西。
说实话,我刚入行那会儿,觉得IMU就是个测加速度和角速度的传感器,没啥了不起。直到有一次做车辆定位,GPS信号丢失,全靠IMU撑着,我才真正意识到它的重要性。嗯,那感觉就像你闭着眼睛走路,全靠身体感知方向——IMU就是那个帮你感知的“身体”。
1.1 惯性导航系统概述
惯性导航系统,说白了就是“自己给自己导航”。它不依赖任何外部信号,完全靠内部的加速度计和陀螺仪来推算位置和姿态。
你想想看,飞机在隧道里、潜艇在水下、汽车在地下车库——这些地方GPS根本用不了。这时候,惯导系统就是最后的救命稻草。
我个人习惯把惯导系统分成两类:
- 平台式惯导:物理上有个稳定平台,传感器固定在平台上。精度高,但体积大、成本高。我在军工项目里见过,一个平台比我的行李箱还大。
- 捷联式惯导:传感器直接绑在载体上,靠数学计算来“虚拟”一个平台。现在自动驾驶用的基本都是这种。便宜、小巧,但算法复杂。
捷联式惯导的核心思想,就是“用数学代替物理”。你载体怎么转,我就怎么算。这听起来简单,做起来可不容易——我后面会详细讲。
核心要点:惯导系统是自主导航的基石。它不依赖外部信号,但误差会随时间累积。这就是为什么我们需要融合GPS、视觉等其他传感器来修正它。
1.2 IMU工作原理
IMU里有两个核心器件:加速度计和陀螺仪。咱们一个一个说。
加速度计
加速度计测量的是比力,不是单纯的加速度。什么叫比力?就是物体受到的合力减去重力。举个例子:你站在地面上,加速度计测到的是向上的支持力,数值是1g。如果你自由落体,加速度计测到的是0——因为你失重了。
我在项目中遇到过一个问题:有人直接用加速度计的数据积分求速度,结果越积越离谱。为什么?因为加速度计测的是比力,你得先把重力分量去掉才行。这个坑,我踩过。
小技巧:静止状态下,加速度计的三个轴输出平方和开根号,应该等于当地重力加速度。如果偏差太大,说明传感器需要校准。
陀螺仪
陀螺仪测量角速度,单位是rad/s或deg/s。它告诉你载体转得有多快,但不直接告诉你转了多少角度——角度需要积分得到。
陀螺仪有个天生的毛病:零偏稳定性。什么意思?就是静止时它输出不是0,而是有个小偏移。这个偏移还会随温度变化。我曾经在冬天做实验,早上校准好的陀螺仪,到中午就漂了——温度变了。
所以,使用陀螺仪前一定要做零偏校准。方法很简单:静止采集几秒钟数据,取平均值,后面每次测量都减去这个值。
1.3 常用坐标系
坐标系是IMU融合的基础。坐标系搞不清楚,后面全白搭。我见过太多人因为坐标系搞混,调试了好几天才发现问题。
常用的坐标系有三个:
| 坐标系 | 英文缩写 | 说明 |
|---|---|---|
| 地心地固系 | ECEF | 原点在地心,Z轴指向北极,X轴指向本初子午线与赤道交点。用于GPS定位。 |
| 导航系 | NED/ENU | 原点在载体位置,NED是北东地,ENU是东北天。自动驾驶常用ENU。 |
| 载体系 | BODY | 原点在载体质心,X轴向前,Y轴向右,Z轴向下(右手系)。IMU直接测量的是这个坐标系下的数据。 |
我个人习惯用ENU导航系,因为“东北天”比较直观。但有些项目用NED,这取决于你的应用场景。记住一点:坐标系之间可以互相转换,但转换矩阵一定要算对。
注意:不同坐标系下的数据不能直接加减。比如,IMU测的是载体系下的加速度,GPS给的是导航系下的位置。融合前必须先统一坐标系。我曾经见过有人直接把IMU的加速度积分,然后和GPS位置做差——结果可想而知。
1.4 欧拉角与四元数基础
描述姿态,最直观的方式是欧拉角:横滚角、俯仰角、航向角。但欧拉角有个致命问题——万向锁。当俯仰角接近±90度时,横滚和航向会耦合,导致自由度丢失。
我在做无人机项目时就遇到过这个问题。飞机垂直爬升时,俯仰角接近90度,姿态解算直接崩了。从那以后,我坚决用四元数。
四元数是个数学工具,用四个数表示旋转。它没有万向锁问题,而且计算效率高。四元数的形式是:
q = [w, x, y, z]
其中:
w = cos(θ/2)
x = sin(θ/2) * cos(α)
y = sin(θ/2) * cos(β)
z = sin(θ/2) * cos(γ)
θ是旋转角度,(α, β, γ)是旋转轴的方向余弦。
四元数乘法可以组合旋转,而且不会出现欧拉角的奇异性。嗯,这里要注意:四元数乘法不满足交换律,顺序很重要。
我的建议:在IMU融合算法中,内部计算全部用四元数。只在需要可视化或与外部系统交互时,才把四元数转成欧拉角。这样可以避免很多麻烦。
下面我用一张图来总结本章的知识体系:
这张图把本章的核心内容串起来了。从惯导系统出发,到IMU工作原理,再到坐标系和姿态表示,最后指向传感器融合。你想想看,每一步都是环环相扣的。
好了,第一章的内容就到这里。记住我说的:坐标系搞不清楚,后面全白搭。下一章我们会深入IMU的误差模型和校准方法,到时候我会分享更多实战中的踩坑经验。
课后练习:找一个静止的IMU数据,计算加速度计三个轴的平方和开根号,看看是否等于当地重力加速度。如果不等于,思考一下可能的原因。