2017-03-14 2 views
1

私はQuaternionに関して私に方向を与えるIMUセンサーを持っています。私はそれを読み取り可能なRPYアングルに変更したいと思います。QuaternionからRoll Pitch Yawに変換するときジンバルロックを避ける方法

私はRPYで表すとき、ジンバルロックの問題が存在することができる理解式はクォータニオンQ = QR +チー+のQJ + QK

roll=atan2(2(qr*qi+qj*qk),1-2(qi^2+qj^2)) 
pitch=arcsin(2(qr*qj-qk*qi)) 
yaw=atan2(2(qr*qk+qi*qj),1-2(qj^2+qk^2)) 

ためウィキ

から本質的にそれらを変換することがわかりました。ピッチが+/- 90度に近づくとき、どうすればこの問題を回避できますか?

P.S.私はLabVIEWでコーディングしています

+0

これはRPYアングルの基本的な特性ではありませんか? http://www.chrobotics.com/library/understanding-euler-anglesを参照してください。 – nekomatic

答えて

2

Nekomaticが正しいです、ジンバルロックは、オイラー角の基礎問題です。無料のLabViewライブラリ(https://www.winemantech.com/blog/quaternions-for-rotations-in-native-labview)は、クォータニオンをサポートしていますが、支払われています。

そうでなければ、特異点に近づくタイミングを把握してください(ジンバルロック)。特異点では、90度から-90度まで瞬時に反転することがあります。実世界では、これが起こり得ないことを知っているので、周囲をコードすることができます。これを行う方法の例はここにあります:http://www.euclideanspace.com/maths/geometry/rotations/conversions/quaternionToEuler/

関連する問題