2017-03-14 33 views
1

我有一個IMU傳感器,可以根據四元數給出方向,我想將其更改爲可讀的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)) 

我明白在RPY表示當可以有萬向節鎖定問題。如何在球場接近+/- 90度時避免這種情況

P.S.我在LabVIEW中編寫代碼

+0

這不是RPY角度的基本屬性?見http://www.chrobotics.com/library/understanding-euler-angles – nekomatic

回答

2

Nekomatic是正確的,萬向節鎖是歐拉角的一個有趣的問題。或者堅持Quaternions(我會建議),免費下載的LabView庫可以在這裏找到:https://www.winemantech.com/blog/quaternions-for-rotations-in-native-labview,labview機器人工具箱也支持四元數,但支付。

否則請記住何時接近奇點(萬向節鎖定)。在奇點角度可能瞬間從90度翻轉到-90度,因爲在現實世界中,你知道這是不可能發生的,你可以在它周圍編碼。示例如何做到這一點可以在這裏找到:http://www.euclideanspace.com/maths/geometry/rotations/conversions/quaternionToEuler/

相關問題