关于MPU9250的MPL库旋转矩阵初始值的问题

版权声明: https://blog.csdn.net/tangjienihaoma/article/details/83026274

 想要彻底弄懂矩阵知识,需要很多数学知识的支撑,大学线代复变没学好,我也不怎么懂,但并不影响我们玩MPU9250.

  

以上是MD6.12库工程样例中的对矩阵的初始值,2个问题?

第一个:这个矩阵变量的作用?

第二个:为什么是这些值?

回答:

关于第一个问题已经在注释里面说了,传感器可能以任何方向安装在PCB上,此矩阵告诉MPL怎么旋转来自驱动层的原始数据。

第二个问题,可以在官方文档中找到答案:

从第2张图可以归纳出,参照坐标系为上图中带有红色箭头方向的坐标系。旋转方向都以逆时针方向。

推出:矩阵的第一行,代表X轴的旋转角度,旋转0°=[1 0 0];   90°=[0 -1 0];    180°=[-1 0 0];   270°=[0 1 0].

           矩阵的第二行,代表Y轴的旋转角度, 旋转0°=[0 1 0];    90°=[1 0 0];     180°=[0 -1 0];   270°=[-1 0 0].

           矩阵的第三行,代表Z轴的旋转角度,规定Z轴要么向上,要么向下,所以只有2种。向上=[0 0 1],向下=[0 0 -1]

现在回到第2个问题,为什么是这些值:

加速计和陀螺仪的3个轴方向是一样的,所以上面没有列出加速计的矩阵初始化。

这些值,表X,Y,Z三轴和参考方向一致。

这些值表示和参考方向比较:X轴旋转了270°,Y轴旋转了90°,Z轴反面。

如果是其他方向也可以根据此方法推到出来。

猜你喜欢

转载自blog.csdn.net/tangjienihaoma/article/details/83026274
今日推荐