从 MPU-9150 原始数据中获取 Roll、Pitch 和 Yaw 值的公式
Formula for getting Roll, Pitch and Yaw values from MPU-9150 raw data
我是 MPU9150 9 轴 IMU 传感器的新手,正在从事一个将在 GUI 中显示 Roll、pitch 和 Yaw 值的项目。我使用了这里的代码:https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU9150
问题是,在 GUI 中,我将显示滚动、俯仰和偏航的 3D 表示。原始数据的具体换算公式是什么?
我的WHO_AM_I电阻值:0x68,
加速度计配置:2g,
配置的陀螺仪:250 dps,
任何帮助都会很棒。提前致谢!
在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;
我是 MPU9150 9 轴 IMU 传感器的新手,正在从事一个将在 GUI 中显示 Roll、pitch 和 Yaw 值的项目。我使用了这里的代码:https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU9150 问题是,在 GUI 中,我将显示滚动、俯仰和偏航的 3D 表示。原始数据的具体换算公式是什么?
我的WHO_AM_I电阻值:0x68,
加速度计配置:2g,
配置的陀螺仪:250 dps,
任何帮助都会很棒。提前致谢!
在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;