關於MPU9250的MPL庫旋轉矩陣初始值的問題
阿新 • • 發佈:2018-11-22
想要徹底弄懂矩陣知識,需要很多數學知識的支撐,大學線代復變沒學好,我也不怎麼懂,但並不影響我們玩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軸反面。
如果是其他方向也可以根據此方法推到出來。