三元欧拉角存在万向锁问题,不适用于所有情况下确定pose。因此利用四元数四个变量来代替δθ\delta\thetaδθ的三个分量,可以在所有环境下确定姿态。
下面推导绕三个正交轴的角速度函数的四元数变化率微分方程。基于此能以t时刻的四元数计算t+δ\deltaδt时刻的四元数值。假定cosαr,cosαp,cosαy\cos\alpha_{r}, \cos\alpha_{p},\cos\alpha_{y}cosαr,cosαp,cosαy为相对于roll轴,pitch轴,yaw轴的实际方向余弦,经过小角度旋转δθb\delta\theta_{b}δθb,对应四元数q′q'q′如下:
q1′=cosαrsin(δθb/2)q2′=cosαpsin(δθb/2)q3′=cosαysin(δθb/2)q4′=cos(δθb/2)\begin{aligned} q'_1 &= \cos\alpha_r\sin(\delta\theta_b/2)\\ q'_2 &= \cos\alpha_p\sin(\delta\theta_b/2)\\ q'_3 &= \cos\alpha_y\sin(\delta\theta_b/2)\\ q'_4 &= \cos(\delta\theta_b/2) \end{aligned}q1′q2′q3′q4′=cosαrsin(δθb/2)=cosαpsin(δθb/2)=cosαysin(δθb/2)=cos(δθb/2)
其中旋转轴n⇀=(cosαr,cosαp,cosαy)\overrightharpoon{n}=(\cos\alpha_{r}, \cos\alpha_{p}, \cos\alpha_{y})n=(cosαr,cosαp,cosαy),旋转角为δθb\delta\theta_{b}δθb
且该四元数为单位四元数。
q(t+δt)=q′q(t)q(t+\delta t)=q'q(t)q(t+δt)=q′q(t)
将四元数q′q'q′记为q1′i^+q2′j^+q3′k^+q4′q'_{1}\hat{i}+q'_{2}\hat{j}+q'_{3}\hat{k}+q'_{4}q1′i^+q2′j^+q3′k^+q4′,四元数q(t)记为q1i^+q2j^+q3k^+q4q_{1}\hat{i}+q_{2}\hat{j}+q_{3}\hat{k}+q_{4}q1i^+q2j^+q3k^+q4,二者相乘结果如下:
q(t+δt)=(q1′i^+q2′j^+q3′k^+q4′)(q1i^+q2j^+q3k^+q4)=(q4′q1+q3′q2−q2′q3+q1′q4)i^+(−q3′q1+q4′q2+q1′q3+q2′q4)j^+(q2′q1−q1′q2+q4′q3+q3′q4)k^+(−q1′q1−q2′q2−q3′q3+q4′q4)\begin{aligned} q(t+\delta t) = &(q'_{1}\hat{i}+q'_{2}\hat{j}+q'_{3}\hat{k}+q'_{4})(q_{1}\hat{i}+q_{2}\hat{j}+q_{3}\hat{k}+q_{4})\\ =&(q'_{4}q_{1}+q'_{3}q_{2}-q'_{2}q_{3}+q'_{1}q_{4})\hat{i}+\\ &(-q'_{3}q_{1}+q'_{4}q_{2}+q'_{1}q_{3}+q'_{2}q_{4})\hat{j}+\\ &(q'_{2}q_{1}-q'_{1}q_{2}+q'_{4}q_{3}+q'_{3}q_{4})\hat{k}+\\ &(-q'_{1}q_{1}-q'_{2}q_{2}-q'_{3}q_{3}+q'_{4}q_{4}) \end{aligned}q(t+δt)==(q1′i^+q2′j^+q3′k^+q4′)(q1i^+q2j^+q3