加速度计和陀螺仪互补滤波(转载)

简单易懂的理解:这么说吧,加速度计计算出来的角度干扰比较大,波形比较杂乱,陀螺仪融合出来的波形比较平稳但是存在积分漂移,所以二者结合。陀螺仪测量角速度积分的基础上利用加速度计测量的角度对其进行实时校准
互补滤波公式

angle=k1*(angle+(w-zw)*dt)+k2*(acc-zacc)

式中k1,k2为参数,通常开始调试时选 k1=0.98,k2=0.02,调试中保持k1+k2=1;

其中w为角速度,dt为积分时间(就是中断采集陀螺仪数据的时间),acc为加速度计算的角度,zw为角速度零偏,zacc为加速度角度零偏。

如果角度波形震荡严重可适当增大k1,如果有角度漂移可适当减小k1,角度滤波的精确性直接影响控制效果。


void Yijielvbo(float angle_m, float gyro_m)
{
angle = K1 * angle_m+ (1-K1) * (angle + gyro_m * 0.005);//0.005
}

滤波参数经验:k1过大会导致mpu6050在不动的时候融合出来的波形抖动也很大,因为这个时候加速度计计算出来的角度占的比重变动大,而加速度计计算出来的角度波形就比较杂乱,,,,同时dt采样时间(定时器中断采集xyz轴数据的时候)过大会导致滞后严重,因为dt变大 gyro占的比重增大,出现积分漂移

下面是我的滤波过程概述:
1.k=0.02 dt=50ms 这时候采样时间太大,陀螺仪占的比重增大,波形之后。

加速度计和陀螺仪互补滤波(转载)

2.k=0.4 dt=5ms 这时候k占的比重增大,加速度计计算出来的角度站的比重增大,波形变得杂乱

加速度计和陀螺仪互补滤波(转载)

3.此时k=0.02 dt=5ms 波形正好

加速度计和陀螺仪互补滤波(转载)

--------------------- 
作者:假如明天没有太阳 
来源:CSDN 
原文:https://blog.csdn.net/zhaoyuaiweide/article/details/54572385 
版权声明:本文为博主原创文章,转载请附上博文链接!

上一篇:Python基本图形绘制


下一篇:Canvas动画