flwave 发表于 2013-12-19 22:34:53

mpu6050互补滤波精确度问题

我用了mpu6050互补滤波
output=(1-b)*(output+a*gyro)+b*acc;
(gyro是角速度,acc是通过加速度算的角度)
大概还是行,移动的时候也没什么偏移,但是感觉精确度不够,
首先偏一个角度看见一下子加了很多角度,再慢慢回到真正的角度,
并且当我从一个角度回0的时候一下子就是0了(实际上还有一段角度才到0度),是我a,b参数的问题吗?还是其他的什么问题呢?
我的四轴以这种角度来运行的时候各种不稳……有没有人知道是怎么回事啊?谢谢了

flwave 发表于 2013-12-20 00:23:19

我自己解决了这个问题了,因为我用的整形变量并且把gyro和acc都除了一个倍数减小了导致很多微小量给直接略去了,所以才在很多该有变化的时候没变化

镖叔 发表于 2013-12-20 23:20:55

可以请教lz一个问题吗。我也刚刚买了MPU6050 用的互补滤波得到x轴的角度,但是我模块平放时不是0是268左右,而且转动某个角度时,变化好慢才回到与加速度计得到的角度差不多。

flwave 发表于 2013-12-23 17:51:49

镖叔 发表于 2013-12-20 23:20
可以请教lz一个问题吗。我也刚刚买了MPU6050 用的互补滤波得到x轴的角度,但是我模块平放时不是0是268左右 ...

太慢了应该是参数a太大了吧,把a减小点试试,还有,mpu6050即使你没动也会有角速度,因为模块本身的偏差,所以要把这些误差减去,你可以先直接读读寄存器,看看静止平放的时候角速度是多少然后减去,当然用加速度算出来的静止角度也有偏差。

LZ19992005 发表于 2014-1-7 22:47:37

我也刚刚买了MPU6050

老蔡6198 发表于 2014-1-7 23:30:26

我用是DMP,但也感觉很慢
页: [1]
查看完整版本: mpu6050互补滤波精确度问题