MEMS加速度计,磁力计和定向角



在开发必须评估方向角的设备时,可能会出现问题-选择哪种MEMS传感器。传感器制造商提供许多参数,我们需要从这些参数中获取有关传感器质量的有用信息。

要了解我们可以依靠哪种角度精度,您需要付出一定的努力。

TL; DR:描述了一个用于Octave / MATLAB的小脚本,该脚本允许根据加速度计和磁力计的MEMS测量值估算取向角时的误差。在脚本输入处-数据表中的传感器参数(和/或校准错误)。该文章对那些开始在设备中使用惯性传感器的人可能有用。包含有关传感器的小型教育程序。也链接到github

我们立即接受以下条件:

  • 我们要评估固定设备的定向角。

    为什么?
    根本无法使用公式来计算移动设备的方向;您需要使用棘手的算法。
  • 为了估算角度,我们将使用加速度计和磁力计的MEMS测量。

1.简短的教育计划


定向角




我们将把物体的定向角理解为欧拉角-滚动角,俯仰角和偏航角,它们将物体自身的坐标系XYZ与本地的东西向北-顶坐标系统(ENU-东北向上)连接起来。横摆角,俯仰角和偏航角表示XYZ轴必须旋转才能在ENU轴上移动。因此,零角度表示对象的X轴面向东方,对象的Y轴朝北,Z轴朝上。

轴的旋转顺序从最后一个角度开始:首先在偏航(绕Z轴)上,然后在俯仰(绕Y轴)上,然后在横滚(绕X轴)上。

加速度计


这是一种传感器,用于测量视在加速度在灵敏度轴上的投影。似乎-因为它也测量重力,即使加速度计静止不动也是如此。最容易将加速度计想象为弹簧上的重量;其发布的测量值与弹簧的张力程度成正比。如果加速度计处于静止状态,则弹簧仅在重力作用下拉伸。如果它加速,则将产生合力:重量的惯性(F=ma)和重力(Fg=mg)

我们接受以下正交(互相垂直)加速度计三重测量的模型:

aXYZ=maAXYZ+ba+na,

哪里 在SSC(自身坐标系)XYZ中测得的加速度,aXYZ -加速度计的轴和比例因子的偏斜矩阵,ma -SSK XYZ中的真实加速度矢量,AXYZ是加速度计的零位移矢量,ba是测量噪声。 轴和比例因子的偏斜矩阵如下:na



ma=[1+ma,1,1ma,1,2ma,1,3ma,2,11+ma,2,2ma,2,3ma,3,1ma,3,21+ma,3,3],

元素位于主对角线上的位置()是比例因子和他们的错误沿加速度计的三个轴,和所述矩阵的其余元件是加速度计的轴的经纱。1+ma,1,1,1+ma,2,2,1+ma,3,3

从数据表中选择加速度计

MPU-9250


  • — Zero-G Initial Calibration Tolerance (±60mg X,Y, ±80mgZ) — g103;
  • — Initial Tolerance (±3%) — . , 102;
  • — Cross Axis Sensitivity (±2%) — 102;
  • — Noise Power Spectral Density (300μgHz)g106;
  • — Low Pass Filter Response (5260Hz)— , . . ;

:

σnoise=G0Πnoise;


ADIS16488A:


  • — Bias Repeatability (±16mg) — g103;
  • — (Sensitivity) Repeatability (±0.5%) — ;
  • — Misalignment Axis to frame (±1) — , (, );
  • — Noise Density (0.063mgHzrms)g;
  • (3dBBandwidth)— , MPU-9250;


磁力计


一种传感器,用于测量磁场感应在灵敏度轴上的投影。磁力计的特征在于硬铁和软铁的变形。当将恒定分量添加到测量场中时,铁铁变形是一种加性效应。原因可能是例如永磁体的作用或传感器的自零偏移。软铁变形是一种乘数效应,反映了磁感应矢量的方向变化和/或衰减。这种影响可能是由于磁力仪附近存在金属物体或传感器自身的变形(比例因子误差或灵敏度轴变形)引起的。
我们接受三强磁力计的测量模型:

mXYZ=SmMXYZ+bm+nm,

哪里 mXYZ-CCK XYZ中的磁力计测量值,Sm斜轴和比例因子的对角矩阵(描述软铁的影响),MXYZ是SSK中真实磁感应的矢量,bm是磁力计零点的位移(描述了硬铁作用),nm是测量噪声。
斜轴矩阵和磁力计的比例因子:

Sm=[1+Sm,1,1Sm,1,2Sm,1,3Sm,2,11+Sm,2,2Sm,2,3Sm,3,1Sm,3,21+Sm,3,3],

位于主对角线上的元素()是比例因子和其沿着所述磁力计的三个轴的误差,所述矩阵的其余元件的磁力计的轴的扭曲。所有基体元素还考虑了软铁的作用。Sm,1,1,Sm,2,2,Sm,3,3

从数据表中选择磁力计参数

MPU-9250


, , :

  • (1μT);
  • (5%);
  • — , , — (±2%);
  • (0.6μT);

ADIS16488A


  • — Initial Bias Error (±15mgauss=1.5μT)— , (0.5μT);
  • — Initial Sensitivity Tolerance (2%);
  • — Misalignment Axis to axis (0.35)— , (, );
  • — Noise Density (0.042mgaussHz)(TeslaHz);
  • 260Hz;


取向角的计算


由于地球上存在重力,所以加速度计“感知”向下的方向。它们的测量值用于计算侧倾角和俯仰角。计算公式可以在这里找到第三个是偏航角(在这种情况下为磁方位角),可以通过存在地球磁场来确定。磁场感应矢量由磁力计测量,并且它们的测量都涉及偏航角的计算。应该注意的是,在计算磁方位角时,使用了在平面中计算出的磁力计测量值。在这里您可以找到计算磁方位角的公式。

roll=atan(aYaZ),

pitch=atan(aXaY2+aZ2),

yaw=atan2(mEmN),

哪里 atan2全圆弧切线函数,aXaYaZ -沿着CCK三轴加速度计的测量结果,mE磁力计沿X',Y'轴的测量值(磁力计的测量值在平面中计数)。mN

2.取向角估计中的误差


算法说明




  • 我们形成随机的欧拉角阵列,包括滚动,俯仰和偏航。他们将为模型中对象的真实方向指定选项集。
    为什么有很多角度?
    , — .
  • 从随机的横摇,俯仰,偏航角,形成从SSK XYZ到LSK ENU的转换矩阵:

    CXYZENU=|cycpcrsy+srcyspsrsy+crcyspsycpcrcy+srsyspsrcy+crsyspspsrcpcrcp|,

    哪里 cr=cos(roll)sr=sin(roll)cp=cos(pitch)sp=sin(pitch)cy=cos(yaw)sy=sin(yaw)
  • :

    AXYZ=(CXYZENU)T|001|,


    |001|— , , g, (CXYZENU)T— ( ).
  • :

    aXYZ=(I+ma)AXYZ+ba+na,
  • () :

    roll=atan(aYaZ),

    pitch=atan(aXaY2+aZ2).
  • «» , rpy2mat:

    CXYZXYZ=rpy2mat([rollpitch0]T),

    roll' pitch' — , , — .
  • ENU XYZ:

    MXYZ=(CXYZENU)TMENU.
  • :

    mXYZ=SmMXYZ+bm+nm.
  • 仍然需要重新计算从SSK到“地平线”的磁力计测量值:

    mXYZ=CXYZXYZmXYZ.
  • 根据磁力计的“水平”测量,计算出磁方位角:

    yaw=atan2(mYmX).
  • 估计方位角时的误差计算为真实的侧倾角,俯仰角和偏航角之差,并根据传感器的测量值计算得出-侧倾',俯仰角,偏航'。

3.结果-角度估计误差的计算


我们以两个传感器为例-ADIS16488A和MPU-9250,在加速度计和磁力计误差的综合影响下获得了估计方位角的边际误差。

下表显示了收到的错误的最大值:
角度MPU-9250ADIS16488A

30

8
沥青

10

2
磁方位角

30

20

加速度计和磁力计的误差对方位角估计误差的综合影响:

  • :

  • :

  • :

  • :

  • :


- . ?
.



Z (z1z2) , (gg"). ( ). (Δ1Δ2). , .

( ) :









( ) :









  • , . . .
  • 估计方位角时的误差同时是所有方位角的函数。在这种情况下,在角度测量范围的边界处观察到误差的最大值。

剧透-免责声明:
  • ( ).
  • , , .. — .

文献



s

  • 伊利亚·纳金(Ilya Nagin)- 雷暴风云
  • 达里亚(Daria Malafeeva)

莫斯科电力工程学院无线电工程系统系

All Articles