工作小笔记——机器人底盘上里程计和惯导的融合

前言

本文针对双轮差动模型的底盘,简单描述里程计和IMU融合的方案。

1. 融合的输入信息

1.1 里程计信息

里程计得到的是原始的轮速信息,之后通过双轮差速模型转换得到车体线速度和角速度,假设:

  • 车轮半径为: r r r,单位为m;
  • 两轮之间的距离为: L L L,单位为m;
  • 左车轮的轮速为: ω L \omega_L ωL,单位为rad/s;
  • 右车轮的轮速为: ω R \omega_R ωR,单位为rad/s;
  • 车体的运动线速度为 v v v,单位为m/s;
  • 车体的运动角速度为 ω \omega ω,单位为rad/s。

下面给出一个简单的记住轮速和车速之间转换关系的方法:

  • 考虑车体直行时,有:
    v = ( ω L − ω R ) r 2 v=\frac{(\omega_L-\omega_R)r}{2} v=2(ωLωR)r
  • 考虑车体原地转圈时,有:
    ω = ( ω L + ω R ) r L \omega = \frac{(\omega_L+\omega_R)r}{L} ω=L(ωL+ωR)r

1.2 IMU信息

  • 陀螺仪三个轴的角速度: ω x , ω y , ω z \omega_x, \omega_y, \omega_z ωx,ωy,ωz
  • 加速度计三个轴的加速度: a x , a y , a z a_x, a_y, a_z ax,ay,az
    工作小笔记——机器人底盘上里程计和惯导的融合_第1张图片

2. 融合的过程

由于里程计是通过测量轮子的转速从而得出运动线速度和角速度,因此其精度会收到轮子打滑的影响,即当车轮的运动是滑动和滚动结合的时候,通过车轮的转速计算得到的运动速度会有较大偏差,特别是在地砖、水泥地、地板、地毯等不同材质的地面上运动时,里程计给出的速度会有很大不同。为此,需要通过从IMU处获得的角速度和加速度信息对里程计速度进行修正。

由双轮差速模型中轮速和车速之间的转换关系可知,由于车轮的滑动带来的影响,会对车体的角速度测量造成较大影响,线速度的影响相对较小。

另一方面,IMU的加速度计需要积分才能得到速度测量值,其误差要比车体里程计测量得到的线速度测量值大得多。

因此一般采用如下原则进行两者的融合:

  • 使用IMU的加速度计输出信息和轮速信息一起进行车体静态检测,在车体静态时估计陀螺仪的静态偏差;
  • 直接使用陀螺仪的z轴角速度作为车体的旋转角速度;
  • 使用里程计计算得到的线速度作为车体的运动线速度。

另外,如果车体平台有摄像头,可以使用视觉里程计(Visual Odometer)对车体运动进行检测。
工作小笔记——机器人底盘上里程计和惯导的融合_第2张图片

你可能感兴趣的:(机器人,算法)