概述

  • 建议先了解从陀螺仪获知角度基本原理
  • 由于陀螺仪传感器中的各个组件各自都存在其优势和局限性,依靠单一的组件来获取角度是不可靠的
  • 因此,需要一种方法将各个组件反馈回来的原始数据做相应的处理
  • 彼此结合后就可以得到期望的理想的角度信息
  • 这种方法就是陀螺仪的数据融合(六轴数据融合,九轴数据融合)
  • MPU6050或MPU9250都由DMP运动处理组件可以实现数据融合,这里避开DMP研究融合原理
  • 数据融合的过程也可以理解为用一种互补滤波器处理数据的过程
  • 这个过程中滤波器发挥两个作用:抑制噪声,数据信任

数据融合

一阶互补滤波

  • 利用加速度计和速度计相结合测量角度
  • 通过一个公式处理数据,期望达到以下的效果
    • 在平稳状态下,信任加速度计,消除累计误差
    • 在运动过程中,信任速度计,消除抖动
  • 通过以上描述,该公式发挥的作用类似于一种互补滤波器
    • 低通滤波的目的,保留长期变化,滤掉短暂变化。
    • 让信号一点一点的起作用而不是一下子猛烈作用,即在时间范围上取平均。
    • 高通滤波与低通刚好相反,除去长期变化,保留短暂变化。
    • 高通滤波器加于陀螺仪可以滤掉温漂。
  • 滤波器本体:

【全局定位】陀螺仪数据融合 - 图1
【全局定位】陀螺仪数据融合 - 图2

  • 时间常数【全局定位】陀螺仪数据融合 - 图3:用来定义滤波器对信号的作用。

    • 对于低通滤波器,信号长度比时间常数持久的,可以通过滤波器;
    • 对于高通滤波器,信号长度比时间常数短的,可以通过滤波器
    • 时间常数的具体含义:
      • 时间常数确定了速度计和加速度计的信任边界。
      • 信号周期低于时间常数时(运动时),速度计占主导地位,除掉了加速度计的噪声
      • 信号周期大于时间常数时(静止时),加速度计占主导地位,除掉速度计的温漂噪声
  • 时间常数【全局定位】陀螺仪数据融合 - 图4【全局定位】陀螺仪数据融合 - 图5之间存在关系

【全局定位】陀螺仪数据融合 - 图6

  • 互补的含义:

    • 互补意味着滤波器的两个部分的和总为1,以确保得到的结果是准确的,也使得线性估算变得可行
  • 实际使用:

    1. 选一个合适的时间常数,计算对应的滤波器系数
    2. 检查计算后的角度与实际角度
    3. 如果与实际角度总是存在固定数值的偏差,说明温漂影响较大
    4. 降低时间常数,保证加速度计尽快矫正速度计的温漂值
    5. 时间常数不能过短,否则加速度计的噪声更容易通过
    6. 时间常数需要实验调整
    7. 可以考虑的初始值(【全局定位】陀螺仪数据融合 - 图7

      二阶互补滤波

      【全局定位】陀螺仪数据融合 - 图8
      【全局定位】陀螺仪数据融合 - 图9
  • 实际使用:

    1. 滤波器系数常用0.2
    2. 在实测中比一阶互补滤波抗瞬时变化能力更强,应该是更信任地磁计数据

      全局定位

  • 全局定位主要希望通过陀螺仪计算当前的航向角

  • 因为航向角的独特性,无法使用加速度计,而仅能通过Z轴的速度计积分计算
  • 从上述可以看到,如果仅依靠速度计,无法完成互补滤波,避免不了带来积累误差
  • 通俗的讲就是因为没有绝对角度(加速度计)做参考
  • 因此六轴陀螺仪(MPU6050)实现全局定位的效果会较差
  • 必须依靠九轴陀螺仪(MPU9250)的磁力计
  • 九轴陀螺仪中磁力计的作用就可以代替互补滤波器中由加速度计计算的角度值

参考资料

https://blog.csdn.net/zhaojun1204/article/details/52790697