IMU校准(1)-误差源

引言

IMU(Inertial Measurement Unit)是一种广泛应用于导航、机器人、飞行器和虚拟现实等领域的传感器装置,它可以测量并记录物体的加速度和角速度。但是其测量结果具有噪声和不精确性,这些误差源可能会导致导航或测量的不准确性。为了解决IMU的误差问题,校准是必不可少的步骤。校准是一个复杂的过程,旨在减少系统误差、随机误差和温度效应等因素的影响。在本博客中,我们将深入探讨IMU校准的误差源,以及如何通过校准方法来提高IMU的精度和性能。本系列博客为IMU校准相关工作的总结和记录,包含原理和MATLAB代码。

IMU误差

常见的IMU器件按照其组成模块分为6轴IMU、9轴IMU。9轴传感器包括:三轴加速度计(Tri-Axial Accelerometer)、三轴陀螺仪(Tri-Axial Gyroscope)和三轴磁力计(Tri-Axial Magnetometer )。9轴IMU的能测量载体线性加速度、角速度和方向(包括方向相对于地磁场)。6轴传感器包括:三轴加速度计(Tri-Axial Accelerometer)、三轴陀螺仪(Tri-Axial Gyroscope),它们用于测量物体的线性加速度和角速度。本文所使用的传感器为ICM20948模组ICM-20948 Tracking Device - InvenSense | DigiKey。且暂时只对加速度计和陀螺仪进行校准,两者的误差源基本一致。

InvenSense ICM-20948 9-Axis Motion-Tracking Device

按照误差特性,其误差分为确定性误差(deterministic errors)、随机误差(stochastic errors)两部分并进行研究讨论。

误差源分类

确定性误差

零偏

零偏误差(Offset ),也称为偏置误差或静态误差,是传感器测量结果与实际值之间的差异。零偏误差表示了传感器在零输入条件下的输出值与零点(或标定点)之间的差异。

具体来说,如果一个传感器在没有外部刺激或输入信号的情况下,输出值不为零,那么这个输出值与零点之间的差异就是零偏误差。零偏误差可能由多种因素引起,包括传感器本身的制造偏差、环境条件的变化、温度变化以及电子噪声等。

零偏误差通常以传感器输出值的百分比或固定数值来表示。例如,如果一个温度传感器在零摄氏度时输出值为1摄氏度,那么它的零偏误差就是1度。如果在零摄氏度时输出值为0.5摄氏度,那么零偏误差通常以百分比表示,例如零偏误差为±0.5%。陀螺仪/加速度计的零偏是在与输入加速度或旋转无关的特定操作条件下测量的一段时间内的平均值。陀螺仪的零偏单位为(°/h)或者(rad/s),加速度的零偏单位为(m²/s)或(g)(重力加速值)。

零偏误差包括固定项、温度引起的变化、开关变化和运行中的变化。零篇中的固定项和温度引起的变化可以通过实验室校准测试来估计。

标度(比例)因子

标定因子(Scale ratio)指的是将传感器的数字输出转换为实际物理量的比例。标定因子对于相同传感器的不同情况是不同的,而制造商仅提供默认的标称标定因子。标定因子的大小用百万分之一( ppm )或百分数表示。标度因子误差包括固定项、温度引起的变化、不对称性和非线性误差部分。标度因子误差的主要部分是固定项和温度引起的变化。与零偏类似,可以通过实验室校准测试来估计标度因子误差,并且估计的误差参数构成误差补偿或校准算法的输入。

轴未对准

理想情况下,三轴传感器各轴严格正交,即任何一轴均不会感应到另外两个轴的分量。由于传感器设备装配精度等原因,实际情况存在的三轴非正交误差,即任何轴上的任何运动都会导致其他轴发生变化,具体取决于未对准的大小。并且这种非正交性会对测量产生尺度因子效应。其单位是毫弧(mili-radian)。非正交性会对测量产生缩放因子影响。任何轴上的任何移动都会导致其他轴上的变化,这取决于未对准的大小。

下图为三种确定性误差项示意图,来源[1]。

确定性误差示意图

[1] A method of low-cost IMU calibration and alignment | Semantic Scholar

随机误差

随机误差是由于偏差或标度因子随时间的随机变化和传感器噪声。零偏和标度因子的随机变化是随机误差的低频分量。传感器噪声是随机误差的高频分量。随机误差最重要的特征是输入和输出之间可能没有任何直接关系。随机误差的来源是电子器件中的闪烁噪声和对信号的干扰效应。其中零偏和标度因子随着时间随机变化的过程分别定义为零偏不稳定性(漂移)和尺度因子不稳定性(漂移)。

零偏不稳定性

零偏不稳定性(Bias Instability (Bias Drift))是指,零偏并不是一个固定值,运行过程中零偏会随时间变换。换句话说,零偏不稳定性表示零偏随时间变化。零偏不稳定性可以通过Allan方差和自相关分析来表征,并使用这些测试和分析的结果来建模。随机误差建模采用随机游动模型、高斯-马尔可夫模型、随机常数模型和自回归模型等多种方法(随机过程)。一阶高斯-马尔可夫模型是针对零偏不稳定性的最合适的随机过程。

比例因子不稳定性

比例因子不稳定性(Scale Factor Instability (Scale Factor Drift))表示比例因子随时间变化的量。比例因子不稳定性表征试验不同于偏置不稳定性表征测试方法。尺度因子不稳定性的表征需要长期的动态速率测试,尺度因子不稳定的影响不是很明显,而且可以忽略不计。

传感器噪声

传感器噪声是随机误差的高频分量。通过滤波可以减少传感器噪声的影响。根据传感器的噪声带宽和噪声功率设计了低通滤波器。随机传感器噪声在IMU误差模型中被建模为零均值白化噪声。随机传感器噪声密度的单位为 $deg/h / \sqrt{Hz}$ 或 $deg/s / \sqrt{Hz}$,随机噪声密度用1δ值表示。

上述的确定性误差和随机误差项针对加速度计和陀螺仪误差分析皆适用。IMU噪声中,确定性误差可以通过补偿消除,随机误差只能减小不能完全消除。

IMU误差模型

IMU系统需要在xyz三个方向上测量加速度和角速率,以计算姿态、位置和速度。因此,IMU包含三个加速度计和三个陀螺仪。根据前面对IMU误差源的分析,现在分别建立三轴加速度计和陀螺仪的误差模型。

加速度计误差模型

单轴加速度计误差模型:
$$
\tilde{a_x}=(1+S_x+\delta S_x)a_x+B_x+\delta B_x+n_x
$$
其中:

  • $ \tilde{a_x} $ :加速计测量值;
  • $ {a_x} $ :真实加速度值;
  • $S_x$ :比例因子误差;
  • $\delta S_x$:比例因子不稳定性误差;
  • $B_x$:零偏误差值;
  • $\delta B_x$ :零偏误差不稳定性值;
  • $n_x$:传感器噪声;

三轴加速度计误差模型用矩阵形式表示为:

$$
\begin{aligned}
\begin{bmatrix}
\tilde{a_x} \\
\tilde{a_y} \\
\tilde{a_z}
\end{bmatrix}=
\begin{bmatrix}
1+S_x+\delta S_x & M_{xy}&M_{xz} \\
M_{yx}&1+S_y+\delta S_y&M_{yz}\\
M_{zx}&M_{zy}&1+\mathrm{S}_y+\delta\mathrm{S}_y
\end{bmatrix}
\begin{bmatrix}
a_x \\
a_y \\
a_z
\end{bmatrix}+
\begin{bmatrix}B_x+\delta B_x \\
B_y+\delta B_y \\
B_z+\delta B_z
\end{bmatrix}+
\begin{bmatrix}
n_x \\
n_y \\
n_z
\end{bmatrix}
\end{aligned}
$$

其中:

$M_{xy},M_{xz},M_{yx},M_{yz},M_{zx},M_{zy}$ 表示轴为对准,$M_{xy}$ 表示三轴加速度计坐标x轴绕正交坐标系y轴旋转的角度。

旋转角度示意图

陀螺仪计误差模型

类似于加速度计误差模型,陀螺仪受加速度计的影响,还存在一个与加速度相关的误差项。

陀螺仪单轴误差模型表示为:
$$
\tilde{w_x}=(1+S_x+\delta S_x)w_x+B_x+\delta B_x+B_{Gx}a_x+n_x
$$
其中:

  • $\tilde{w_x}$ :陀螺仪输出值;
  • ${w_x}$:真实角速度;
  • $S_x$ :比例因子误差;
  • $\delta S_x$:比例因子不稳定性误差;
  • $B_x$:零偏误差值;
  • $\delta B_x$ :零偏误差不稳定性值;
  • $B_{Gx}$:与加速度有关误差项系数;
  • $n_x$:传感器噪声;

三轴陀螺仪误差模型用矩阵表示如下:
$$
\begin{bmatrix}
\tilde{w_{x}} \\
\tilde{w_{y}} \\
\tilde{w_{z}}
\end{bmatrix}=
\begin{bmatrix}
1+S_{x}+\delta S_{x}&M_{xy}&M_{xz}\\
M_{yx}&1+S_{y}+\delta S_{y}&M_{yz}\\
M_{zx}&M_{zy}&1+S_{y}+\delta S_{y}
\end{bmatrix}
\begin{bmatrix}
w_{x}\\
w_{y}\\
w_{z}
\end{bmatrix}+
\begin{bmatrix}B_{x}+\delta B_{x}
\\B_{y}+\delta B_{y} \\
B_{z}+\delta B_{z}\end{bmatrix}+\begin{bmatrix}B_{gx}&0&0\\
0&B_{gy}&0\\
0&0&B_{gz}\end{bmatrix}
\begin{bmatrix}a_{x}\\
a_{y}\\
a_{z}\end{bmatrix}+\begin{bmatrix}n_{x}
\\n_{y}\\
n_{z}\end{bmatrix}
$$
[2] Estimation of deterministic and stochastic IMU error parameters | IEEE Conference Publication | IEEE Xplore

简化IMU误差模型

由于轴未对准和三轴非正交导致加速度计坐标系(AF accelerometer frame)和陀螺仪坐标系(GF gyroscopes frame)是非正交的,需要分别定义加速度计和陀螺仪的理想坐标系,AOF,GOF。

①AOF的x轴和AF的x轴重合;AOF 的 y 轴位于 AF 的 x 和 y 轴所组成的平面内。陀螺仪的坐标系定义也如此。

坐标系定义示意图

传感器(加速度计、陀螺仪)坐标系非正交三轴$(F_x,F_y,F_z)$ 和理想坐标系三轴$(OF_x,OF_y,OF_z)$示意图。

②忽略零偏不稳定性和比例因子不稳定性(将其作为传感器噪声的一部分考虑);

③陀螺仪忽略与重力相关的误差项;

由①②③则三轴加速度计和三轴陀螺仪误差模型可表示为:
$$
a^O = T^aK^a(a^S + b^a + v^a )
$$
上式中$a^O$,$a^S$, $v^a$ 分表为三轴加速度计测量值,三轴加速度真实值,传感器噪声。
$$
K^a = \begin{bmatrix}
s_{a}^{x} & 0 & 0 \\
0 & s_{a}^{y} & 0 \\
0 & 0 & s_{a}^{z}
\end{bmatrix}
T^a = \begin{bmatrix}
1 & -\beta_{yz} & \beta_{zy} \\
0 & 1 & -\beta_{zx} \\
0 & 0 & 1
\end{bmatrix}
b^a = \begin{bmatrix}
b_{a}^{x}\\
b_{a}^{y}\\
b_{a}^{z}
\end{bmatrix}
$$
$K^a ,T^a,b^a$ 分别表示比例因子误差矩阵、轴未对准误差矩阵、零偏矩阵。

其中$\beta_{ij}$ 具体表示为:

坐标系示意图

同理三轴陀螺仪表示为:
$$
g^O = T^gK^g(g^S + b^g + v^g )
$$

[3] A Robust and Easy to Implement Method for IMU Calibration withoutExternal Equipments

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2020-2023 Wh
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信