资讯详情

SLAM基础——IMU传感器(IMU误差模型、IMU离散积分)

IMU传感器(IMU误差模型、IMU离散积分)

  • 1. IMU测量模型和运动模型
    • 1.1 加速度计的工作原理
    • 1.2 加速度测量模型
    • 1.3 MEMS陀螺仪工作原理
  • 2. **IMU误差模型
    • 2.1 确定性误差
    • 2.2 确定性误差的校准
    • 2.3 随机误差
  • 3. **IMU数学模型
    • 3.1 加速度计误差模型
    • 3.2 陀螺仪误差模型
    • 3.3 VIO中的IMU模型
  • 4. 运动模型的离散点
    • 4.1 连续时间IMU运动模型
    • 4.2.离散时间IMU运动模型
      • 4.2.1 欧拉法
      • 4.2.2 中值法
    • **4.3 离散积分代码
      • 4.3.1 欧拉积分
      • 4.3.2 中值积分代码

1. IMU测量模型及运动模型

1.1 加速度计的工作原理

??一个简单的质量块可以用于测量原理 弹簧 指示表示。 ??加速度计测量值 a m a_m am 弹簧的拉力是质量块的加速度 f f f。有: a m = f m = a ? g a_m=\frac{f}{m}=a-g am=mf=a?g    f f f 弹簧拉力, a a a 物体在惯性系下的加速度, g g g 重力加速度。   MEMS 加速度计利用电容或者电阻桥来等原理来测量 a m a_m am​。 在这里插入图片描述

1.2 加速度测量模型

  由于地球重力的作用,加速度计有一个以地球坐标为基准的固定的坐标系,成为东北天(ENU,East North Up)坐标系。如下图所示:   该坐标系上有地球重力加速度: g = ( 0 , 0 , − 9.81 ) T g=(0,0,-9.81)^T g=(0,0,−9.81)T   假设IMU的本体坐标系和 ENU坐标系重合,则有旋转矩阵 R i b = I R_ib=I Ri​b=I,静止时有: 传感器本身的加速度 a = 0 a=0 a=0,其测量加速度 a m = − g a_m=-g am​=−g 。自由落体时有: a = g , a m = 0 a=g,a_m=0 a=g,am​=0 。

1.3 MEMS陀螺仪工作原理

  陀螺仪主要用来测量物体的旋转角速度,按测量原理分有振动陀 螺,光纤陀螺等。   低端 MEMS 陀螺上一般采用振动陀螺原理,通过测量科氏力( Coriolis force )来间接得到角速度。

2. **IMU误差模型

2.1 确定性误差

  理论上,当没有外部作用时,IMU传感器的输出应该为 0。但是实际数据中存在一个零偏 b,这个偏置在三个轴上都存在,是一个三维的偏置。加速度计bias对位姿估计的影响为: v e r r = b a t ,   p e r r = 1 2 b a t 2 v_{err} = b^at, \ p_{err} = \frac{1}{2}b^at^2 verr​=bat, perr​=21​bat2   该偏置对时间的一阶积分为速度,二阶积分为位移,随着时间的增加,该   scale是实际数值和传感器输出值之间的比值。   由于传感器的特性,从传感器测量到输出数据,要经过ADC,数据转换中   多轴IMU传感器制作的时候,由于制作工艺的问题,会使 x y z xyz xyz轴可能不垂直,这种不垂直导致该轴的量会对其他两个轴都有影响。如下图所示,z轴不与x,y轴垂直,其测量会在x,y轴上有分量。   这样,每一个轴的加速度实际值 l a l_a la​ 与测量值 a a a 之间具有如下关系: { l a x = a x s x x + a y m x y + a z m x z l a y = a x m y x + a y s y y + a z m y z l a x = a x m z x + a y m z y + a z s z z 即 [ l a x l a x l a x ] = [ s x x m x y m x z m y x s y y m y z m z x m z y s z z ] [ a x a y a z ] \begin{cases} l_{ax}=a_x s_{xx}+a_y m_{xy}+a_z m_{xz} \\ l_{ay}=a_x m_{yx}+a_y s_{yy}+a_z m_{yz} \\ l_{ax}=a_x m_{zx}+a_y m_{zy}+a_z s_{zz} \end{cases} 即 \begin{bmatrix} l_{ax} \\ l_{ax} \\l_{ax} \end{bmatrix} = \begin{bmatrix} s_{xx} &m_{xy} &m_{xz} \\ m_{yx} &s_{yy} &m_{yz} \\ m_{zx} &m_{zy} &s_{zz} \end{bmatrix} \begin{bmatrix} a_x \\ a_y \\ a_z \end{bmatrix} ⎩⎪⎨⎪⎧​lax​=ax​sxx​+ay​mxy​+az​mxz​lay​=ax​myx​+ay​syy​+az​myz​lax​=ax​mzx​+ay​mzy​+az​szz​​即⎣⎡​lax​lax​lax​​⎦⎤​=⎣⎡​sxx​myx​mzx​​mxy​syy​mzy​​mxz​myz​szz​​⎦⎤​⎣⎡​ax​ay​az​​⎦⎤​   其中 s s s 为 scale, m m m为Misalignment Error

  1. Run-to-Run Bias/Scale Factor
  2. In Run (Stablity)Bias/Scale Factor
  3. Temperature-Depended Bias/Scale Factor

2.2 确定性误差的标定

2.3 随机误差

  IMU数据连续时间上受到一个均值为 0,方差为 σ \sigma σ,各个时刻之间独立的高斯过程 n ( t ) n(t) n(t): E [ n ( t ) ] = 0 E [ n ( t 1 ) n ( t 2 ) ] = σ 2 δ ( t 1 − t 2 ) E[n(t)] = 0 \\ E[n(t_1)n(t_2)]=\sigma^2 \delta (t_1-t_2) E[n(t)]=0E[n(t1​)n(t2​)]=σ2δ(t1​−t 标签: yx3600电阻仪振动速度传感器yz力传感器bk77tg光纤传感器1振动速度传感器sg1k角位移传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台