2012-07-19 100 views
1

我有一組沿X,Y,Z方向(傳感器主體框架)的加速度值。操作過程中傳感器多次傾斜並改變方向。使用陀螺儀,磁力計和加速度計,我能夠融合並提取所有四元數形式的滾動,俯仰和偏航角(稱爲Q)。使用四元數去旋轉矢量

現在,將加速度值轉換爲全局X,Y,Z位置。我只是簡單地通過 1.通過將標量部分設置爲0(稱之爲Acc)將加速度值轉換爲四元數 2.將加速度四元數乘以如下:Qtranspose * Acc * Q ??

或者是我的結論錯了?我們如何去扭轉價值?

感謝

+2

您的方法看起來不錯,但確保最好的方法是使用模擬值進行測試,並確保獲得預期結果。 – Isaac 2012-07-20 03:16:36

回答

0

如果你已經有了一個準確的四元數方向q,則加速度的 '非旋轉' 矢量是如你所說:

Ag = q* A q 

Ag = q A q* 

取決於您使用四元數乘法的約定。 (試試看看哪一個能給你正確的重力矢量)。

請注意,A和Ag是「純四元數」 - 這是一個四元數,標量分量爲0,軸分量爲加速度向量。 換句話說,如果你的四元數是q = [w x y z],那麼A = [0 ax yy az]。然後,您可以放棄Ag的標量組件以獲取未旋轉的向量。 確保加速度矢量的順序與您的四元數矢量順序一致。