从MPU-9150原始数据获取Roll,Pitch和Yaw值的公式

时间:2015-11-09 12:13:23

标签: arduino sensor gyroscope

我是MPU9150 9轴IMU传感器的新手,正在开展一个项目,其中Roll,pitch和Yaw值将在GUI中显示。我使用过这里的代码:https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU9150 问题是,如在GUI中我将显示滚动,俯仰和偏航的3D表示。原始数据中的具体转换公式是什么?

我的WHO_AM_I电阻值:0x68,

配置加速度计:2g,

配置陀螺仪:250 dps,

任何帮助都会很棒。提前谢谢!

1 个答案:

答案 0 :(得分:0)

在java中,

    float alpha=(float) 0.5;
    double fXg=0.0,fYg=0.0,fZg=0.0;
    fXg = xx * alpha + (fXg * (1.0 - alpha));
    fYg = yy * alpha + (fYg * (1.0 - alpha));
    fZg = zz * alpha + (fZg * (1.0 - alpha));

    //Roll,Pitch & Yaw Equations
   double roll  = (Math.atan2(-fYg, fZg)*180.0)/3.14;
   double pitch =( Math.atan2(fXg, Math.sqrt(fYg*fYg + fZg*fZg))*180.0)/3.14;
   double yaw = 180 * Math.atan (fZg/Math.sqrt(fXg*fXg + fZg*fZg))/3.14;