MPU6050是根据三轴陀螺仪和三轴加速度计数据通过DMP运算的出欧拉角。系统默认为水平放置,
但是实际使用过程中并不都是水平放置,有些特殊的场合,要求芯片竖直放置,这时候就不得
不修改MPU6050的坐标矩阵了。
系统默认的芯片XYZ三轴如上图,首先要确认系统默认的XYZ三轴分别对应的欧拉角。
把系统默认的参数写入DMP,参数为:{ 1, 0, 0,
0, 1, 0,
0, 0, 1};
默认芯片水平放置,以芯片标注的点为Y轴正方向,测试得到旋俯仰角为XZ平面的旋转。
翻滚角为YZ平面的旋转。偏航角为XY平面的旋转。
根据要求芯片竖直放置如下图。
Y轴,Z轴与地面平行,X轴与地面垂直。此时俯仰角为XY平面的旋转。翻滚角为XZ平面的旋转。
偏航角为YZ平面的旋转。在矩阵中填入0度参考的坐标轴。
即:{ 0, 1, 0,
0, 0, 1,
1, 0, 0};
经过测试发现可行。但是俯角显示正数,仰角显示负数。修改矩阵为:
{ 0, -1, 0,
0, 0, 1,
1, 0, 0};