1. 课程导入
MEMS IMU(微机电惯性测量单元)是无人机、机器人、自动驾驶、可穿戴设备与工业稳定平台的核心传感器。它通常由三轴MEMS陀螺仪与三轴MEMS加速度计组成,输出角速度与比力信息,通过积分与姿态解算获得姿态、速度与位置。然而,MEMS器件存在零偏、标度因数误差、非正交误差、随机游走、温度漂移与振动耦合等系统性缺陷,若直接使用原始数据,姿态会在数秒内发散。因此,本课程围绕“建模—标定—状态估计”三条主线,建立从原始数据到可用导航状态的完整工程链路。
学习目标
- 理解MEMS IMU的误差来源与物理机理,能区分确定性误差与随机误差。
- 掌握IMU误差模型(零偏、标度因数、非正交、随机游走)的数学表达与参数辨识方法。
- 能够设计并执行多位置标定、转台标定与温度标定实验,完成参数估计与补偿。
- 掌握姿态表示(欧拉角、四元数、旋转矩阵)与惯性导航微分方程。
- 能够实现基于扩展卡尔曼滤波(EKF)或误差状态卡尔曼滤波(ESKF)的姿态与速度估计。
- 具备使用Allan方差、卡尔曼滤波、融合磁力计/气压计/GNSS进行组合导航的工程能力。
核心概念与知识框架
本课程的知识框架可概括为“一个对象、两类误差、三层处理、四种融合”。一个对象即MEMS IMU六轴传感器;两类误差指确定性误差(零偏、标度因数、非正交、安装误差)与随机误差(角度随机游走、速度随机游走、零偏不稳定性);三层处理指标定补偿、姿态解算、状态估计;四种融合指陀螺+加速度计、加磁力计、加气压计、加GNSS。下图给出整体知识框架与数据流关系。
方法流程:从原始数据到可用状态
工程上,IMU数据处理遵循一条清晰的流水线。第一步是数据采集与时间同步,确保陀螺、加速度计、温度与外部观测在同一时间基准;第二步是确定性误差补偿,利用标定参数对原始测量进行修正;第三步是随机误差建模,通过Allan方差分析确定噪声参数;第四步是姿态解算与状态估计,将补偿后的数据送入滤波器;第五步是融合外部观测,抑制积分漂移。以下伪代码给出典型处理顺序。
# IMU 数据处理流水线(伪代码)
raw = read_imu() # 读取原始陀螺/加速度计
raw = temperature_compensate(raw) # 温度补偿
raw = apply_calibration(raw) # 零偏、标度因数、非正交补偿
gyro, accel = separate(raw) # 分离六轴数据
q = attitude_update(q, gyro, dt) # 四元数姿态更新
v, p = ins_update(v, p, q, accel, dt) # 速度与位置积分
x = eskf_predict(x, gyro, accel, dt) # 误差状态预测
x = eskf_update(x, mag, baro, gnss) # 多源观测更新
output(q, v, p, x) # 输出姿态、速度、位置
典型应用场景
| 应用场景 | 核心需求 | 关键IMU指标 | 典型融合方案 |
|---|---|---|---|
| 无人机飞控 | 姿态稳定、抗振动 | 零偏稳定性、带宽 | 陀螺+加速度计+磁力计+气压计 |
| 自动驾驶定位 | 航位推算、GNSS失锁续推 | 随机游走、标度因数 | IMU+GNSS+轮速 |
| 机器人SLAM | 短时高精度姿态 | 零偏、非正交 | IMU+视觉+轮式里程计 |
| 可穿戴设备 | 低功耗、人体运动跟踪 | 功耗、量程 | IMU+磁力计 |
| 工业稳定平台 | 高精度指向、抗冲击 | 零偏稳定性、温度漂移 | IMU+编码器+GNSS |
常见误区与复盘
误区一:只做零偏补偿就认为标定完成。标度因数误差与非正交误差在大角速度或大动态场景下会显著放大,必须一并辨识。
误区二:忽略温度对零偏的影响。MEMS零偏随温度变化可达数十度每小时,未做温度补偿的IMU在户外场景中会快速漂移。
误区三:用单一Allan方差曲线直接外推长期性能。Allan方差只能反映特定时间尺度的噪声特性,长期零偏不稳定性需结合多组实验与温度循环验证。
误区四:滤波器调参只关注观测噪声。过程噪声Q与观测噪声R需联合整定,Q过小会导致滤波器对模型误差不敏感,Q过大则姿态抖动明显。
建议学习路径:先理解误差模型,再动手做多位置标定实验,随后实现EKF/ESKF,最后用真实数据验证。每完成一个环节,都用Allan方差或残差分析检查效果,形成“建模—标定—验证”的闭环。
本课程后续将围绕上述框架逐层展开:从MEMS误差机理与数学模型出发,进入标定实验设计与参数辨识,再深入姿态表示、惯性导航方程与卡尔曼滤波,最终完成多源融合与工程实现。掌握这条链路,才能真正把MEMS IMU从“能出数”变成“能用、可信、可交付”的导航传感器。