• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

MPU6050陀螺仪的问题

大老张1 2017-02-27 浏览量:1415

        把陀螺仪静止不动,先读出偏移值。然后每10ms读一次X轴的(角速度值 - 偏移值)并一直累加。几分钟下来,偏了几十度。

请问:这个不准确的结果,是什么原因造成的?
    

1 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • MPU6050本身的精度误差,所以后来才会引入各种花式的姿态融合算法。

    我们把这个姿态解算系统叫做AHRS

    常用的有5种

    对于计算能力有限的stm32F103和105,一般是使用下面两种:

     

    int型的互补四元数
    Complementary Quaternion (fixed point)

     

    int型的互补欧拉
    Complementary Euler (fixed point)
    因为是欧拉角度方法,所以当传感器与机身有夹角时候的数据不好,我们一般是使用互补四元数

     
    对于m4内核,并且支持fpu的stm32f4,

    因为性能还不错,所以一般使用下面3种算法:

    float型的互补四元数/旋转矩阵
    Complementary Quaternion/Rotation Matrix (floating point)

     

    方向余弦矩阵
    DCM (floating point)
    Direction Cosine Matrix

     

    四元数卡尔曼滤波(基于浮点)
    Kalman Filter Quaternion
    Multiplicative Linearized Kalman Filter in quaternion formulation
    这个是目前最流行的

     

    我们常用的也是四元数卡尔曼滤波的AHRS

    • 发布于 2017-02-27
    • 举报
    • 评论 1
    • 2
    • 0
大老张1 回复了 xukejing:这些算法我都不太懂,也不知道一些变量如何调用额?? 回复

其他答案 数量:6
  • 为什么要累加。。。。有误差很正常,累加只会增大,去平均或者去掉最小位数就行啦
    • 发布于2017-02-27
    • 举报
    • 评论 1
    • 1
    • 0
大老张1 回复了 oceancjc :求平均数,然后把这个平均数来作为变量在使用么? 回复

  • 一般要用到积分运算与卡尔曼滤波算法

    http://blog.csdn.net/a752109494/article/details/52387786

    • 发布于2017-02-27
    • 举报
    • 评论 0
    • 1
    • 0

  • 误差累加就会造成更高的误差,由于陀螺仪自身硬件的情况造成的,这里面包含随机误差和系统误差两部分

    建议

    1、每隔一段时间读一次数,然后将偏移值清零,重新再计数一次

    2、如果你非要用这种方法,那就只能校准陀螺仪了

    • 发布于2017-02-28
    • 举报
    • 评论 0
    • 1
    • 0

  • 您好,MPU6050的設計本來就是Low cost的裝置使用,不過您仍然可以用軟體方式去修正精準一點

    就算靜止也是有誤差,所以您加總起來誤差會越來越多

    您可以先在一段時間內紀錄讀值最大值和讀值最小值,再用來計算軟體端的Offset,然後代入整體運算

    這樣結果誤差會較小,比較可靠

    另外也可以使用較高精準度的IC

    以上供參考

    • 发布于2017-02-27
    • 举报
    • 评论 1
    • 0
    • 0
大老张1 回复了 MOP :不知道如何修正精准呢??????? 回复

  • MPU6050本身的误差就比较大!所以你描述的这种情况是正常的!需要通过算法来进行滤波!然后才能得到一个个稳定的值,当然过程中就可以把他融合成四元数或者欧拉角了。推荐卡尔曼滤波算法!效果很不错!


    当然,如果觉得算法太难搞!或者不想搞!那么可以使用BNO055,这个效果不错。

    我现在就在做BNO055的开发板和模块。

    • 发布于2017-02-28
    • 举报
    • 评论 1
    • 0
    • 0
大老张1 回复了 东方青 :BNO055这个如何使用啊?硬件如何的接呢??? 回复

相关问题

问题达人换一批

MPU6050陀螺仪的问题