当前,我正在使用以下代码在 NED 框架和 ENU 框架之间转换四元数:
Python:
def Quaternion_NED_To_ENU(q):
"""
The incoming quaternion is in NED frame
Quaternion ENU <-> NED:
Swap X and Y [1] [2]
Invert Z [3]
Do not touch W [0]
Rotate 90 degrees about z axis (yaw)
"""
q_ENU = Quaternion(q.q[0], q.q[2], q.q[1], -q.q[3])
q_90 = Quaternion(axis=[0, 0, 1], degrees=90)
q_ENU = q_ENU * q_90
return q_ENU
这似乎是正确的,对于 ENU 到 NED ,我只需在 ENU 中输入四元数,结果在 NED 。
现在我有另一个框架, EUN ,我要将 NED 四元数转换为该框架。最后,我希望能够在所有3个帧之间进行转换。
任何帮助将不胜感激!