1. 程式人生 > >關於MPU9250的MPL庫旋轉矩陣初始值的問題

關於MPU9250的MPL庫旋轉矩陣初始值的問題

 想要徹底弄懂矩陣知識,需要很多數學知識的支撐,大學線代復變沒學好,我也不怎麼懂,但並不影響我們玩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軸反面。

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