4. 陀螺仪测量模型与误差分析

陀螺仪是姿态估计系统中最核心的角速度敏感器件,它直接决定了姿态递推的短期精度。然而,真实陀螺仪的输出并不是理想角速度,而是叠加了多种误差的观测量。如果把这些误差简单当作噪声处理,滤波器会逐渐发散;只有把它们显式建模,才能在后续的卡尔曼滤波中通过状态增广进行在线估计与补偿。本节围绕陀螺仪测量模型展开,重点分析标度因数误差、零偏、随机游走和安装误差四类主要误差源,并给出可用于状态增广的建模形式。

一、理想测量与真实测量的差距

设载体真实角速度为 ω(在陀螺仪敏感轴坐标系下表示),理想陀螺仪输出应为 ω 本身。但实际输出 ω̃ 通常写成如下形式:

ω̃ = (I + S + M) · ω + b + n

其中 S 为标度因数误差矩阵,M 为安装误差(非正交)矩阵,b 为零偏,n 为白噪声。这个式子把静态误差(S、M、b)与动态随机误差(n 及 b 的随机游走)统一在一个模型中。理解每一项的物理来源和量级,是后续标定与滤波设计的前提。

二、标度因数误差

标度因数描述输入角速度到输出数字量的比例关系。理想情况下该比例是常数,但受温度、非线性、制造公差影响,实际比例会偏离标称值。定义标度因数误差为:

s = (K_actual - K_nominal) / K_nominal

例如某 MEMS 陀螺标称灵敏度为 16.4 LSB/(°/s),实测在 100 °/s 输入下输出对应 16.7 LSB/(°/s),则 s ≈ 0.018,即 1.8%。对于三轴陀螺,标度因数误差构成对角矩阵 S = diag(s_x, s_y, s_z)。在滤波中,若把 s 作为状态量增广,可在线估计并修正,尤其适合温度变化明显的场景。

三、零偏与随机游走

零偏是输入为零时陀螺仪的非零输出,通常用 b 表示,单位与角速度相同(°/s 或 rad/s)。零偏由两部分组成:

  • 常值零偏:上电后基本不变,可通过静态标定一次性扣除;
  • 零偏随机游走:零偏本身随时间缓慢变化,建模为随机游走过程。

随机游走的离散形式为:

b_k = b_{k-1} + w_b,  w_b ~ N(0, Q_b)

其中 Q_b 是零偏过程噪声协方差,由 Allan 方差分析中的零偏不稳定性系数 B 确定。若采样周期为 Δt,则 Q_b ≈ B² · Δt。零偏随机游走是姿态误差随时间累积的主要来源之一,因此在滤波中几乎总要把 b 作为状态量增广,而不是当作已知常量。

四、安装误差

三轴陀螺的三个敏感轴理论上应两两正交,并与载体坐标系对齐。但实际装配中会存在小角度失准,包括轴间非正交和整体安装偏角。安装误差矩阵 M 通常写成小角度反对称形式:

M = [ 0    -m_z   m_y
      m_z   0    -m_x
     -m_y  m_x    0  ]

其中 m_x, m_y, m_z 为小角度失准参数,量级一般在 0.1°~1°。安装误差与标度因数误差在数学上可以合并为 (I + S + M),但在标定时分开处理更便于物理解释:标度因数通过转台多速率点拟合,安装误差通过多位置静态实验解算。

在实际工程中,常把 (I + S + M) 合并为一个 3×3 的标定矩阵 K,通过最小二乘一次性辨识。这样在滤波中只需增广 9 个参数(或利用结构约束减少到 6 个),比分别增广 S 和 M 更简洁。

五、误差对姿态估计的影响与状态增广

把上述误差代入姿态递推,可以得到误差传播的直观认识:零偏 b 直接以常值速率积分成姿态漂移,标度因数误差在高速机动时产生与角速度成正比的误差,安装误差则在多轴同时转动时引入交叉耦合。为了在滤波中估计这些量,典型做法是把它们增广进状态向量:

x = [ q, b_g, s_g, m_g ]ᵀ

其中 q 为姿态四元数,b_g 为零偏,s_g 为标度因数误差,m_g 为安装误差参数。状态转移中,b_g 按随机游走演化,s_g 和 m_g 通常建模为常值或极慢变化。观测方程则利用加速度计、磁强计或星敏感器提供的姿态参考,构造对 q 的观测,从而间接约束这些误差参数。

下面这张图给出了从真实角速度到陀螺输出、再到误差分解与状态增广的完整信号链,帮助建立“误差源—测量模型—滤波状态”的对应关系。

真实角速度 ω (三轴) 误差叠加 标度因数 S 安装误差 M 零偏 b 白噪声 n ω̃ = (I+S+M)ω + b + n 陀螺输出 ω̃ (含误差) 状态增广 q 姿态 b_g 零偏 s_g 标度因数 m_g 安装误差 → 在线估计与补偿 误差特性与滤波处理 标度因数 S 常值/温度相关,可标定 零偏 b 常值+随机游走,需增广 安装误差 M 小角度失准,多位置标定 白噪声 n 高频随机,滤波抑制

六、标定与滤波的衔接

实际工程中,标度因数和安装误差通常先通过转台标定获得粗略值,再在滤波中作为状态量进行微调;零偏则几乎完全依赖滤波在线估计。一个典型的处理流程是:

  1. 静态采集 5~10 分钟陀螺数据,用均值估计常值零偏,用 Allan 方差提取随机游走系数 Q_b;
  2. 转台以 ±50、±100、±200 °/s 等多速率点正反旋转,最小二乘拟合标度因数;
  3. 多位置静态实验(如六面法)解算安装误差矩阵;
  4. 将标定结果作为滤波初值和初始协方差,把 b_g、s_g、m_g 增广进状态向量,在运行中持续估计。