2017-03-14 52 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/

相关问题