首页 理论教育四元数及其全局性在无人机姿态中的应用

四元数及其全局性在无人机姿态中的应用

【摘要】:四元数是一种全局的姿态描述方法,在使用四元数进行姿态描述的时候,纵使出现上文中=θ=ψ=π/2的情况,依然是有解的。由于无人机姿态中这种奇异性的情况非常特殊,我们通过直接验证理解四元数的全局性。

四元数是一种全局的姿态描述方法,在使用四元数进行姿态描述的时候,纵使出现上文中ϕ=θ=ψ=π/2的情况,依然是有解的。由于无人机姿态中这种奇异性的情况非常特殊,我们通过直接验证理解四元数的全局性。首先需要获得姿态的四元数表示方程,我们已经有了欧拉角的姿态描述方法,不妨看一看如何从欧拉角获取四元数:

其实四元数本质上也是一组相互正交的向量,如果要用它们来表示一个新的坐标系,还需要对它们进行归一化处理,使其长度为1:

如此一来我们就可以通过欧拉角获取四元数了,其实它们从本质上还是一次坐标变换,只不过通过把空间维度提升1维的方式来满足全局性的需求。

易得从四元数到欧拉角的转换公式:

ϕ=arctan2(2(q2q3+q0q1),(1-2(q21+q22))),

θ=-arcsin(2(q1q3-q0q2)), (6.14)

ψ=arctan2(2(q1q2+q0q3),(1-2(q22+q23))).

当再次出现90°的姿态角时,由于没有出现分母为零的情况,因此依然有解。

从欧拉角到四元数的程序实现非常直接,不需要像一般的控制算法那样进行离散化,因为这里的转换公式并不对应时域函数,而是直接对应变量值,所以只要我们通过传感器获得了可靠的姿态数据值后就可以直接带入公式,程序示例:

quat[0]= chphi0∗chtheta0∗chpsi0+shphi0∗shtheta0∗shpsi0;

quat[1]=-chphi0∗shtheta0∗shpsi0+shphi0∗chtheta0∗chpsi0;

quat[2]= chphi0∗shtheta0∗chpsi0+shphi0∗chtheta0∗shpsi0;

quat[3]= chphi0∗chtheta0∗shpsi0-shphi0∗shtheta0∗chpsi0;