跳到主要内容

欧拉角和四元数

向量的旋转一共有三种表示方法:旋转矩阵、欧拉角和四元数,本文将介绍每种旋转方法的原理以及相互转换方式。

旋转矩阵

旋转矩阵(Rotation matrix)是在乘以一个向量的时候有改变向量的方向但不改变大小的效果并保持了手性的矩阵。旋转矩阵不包括点反演,点反演可以改变手性,也就是把右手坐标系改变成左手坐标系或反之。所有旋转加上反演形成了正交矩阵的集合。旋转可分为主动旋转与被动旋转。主动旋转是指将向量逆时针围绕旋转轴所做出的旋转。被动旋转是对坐标轴本身进行的逆时针旋转,它相当于主动旋转的逆操作。

欧拉角

欧拉角是用来唯一地确定定点转动刚体位置的三个一组独立角参量,由章动角θ、进动角ψ和自转角φ组成,为L.欧拉首先提出,故得名。

欧拉角广泛地被应用于经典力学中的刚体研究,与量子力学中的角动量研究。

四元数

四元数(Quaternions),是由爱尔兰数学家哈密顿(William Rowan Hamilton,1805-1865)在1843年发明的数学概念,四元数的乘法不符合交换律(commutative law)。

有两种方法能以矩阵表示四元数,并以矩阵之加法、乘法应用于四元数之加法、乘法。

  • 第一种是以二阶复数矩阵表示。
  • 第二种则是以四阶实数矩阵表示。

欧拉角和四元数的限制

欧拉角与四元数姿态表示方法是目前工程上最常用的两种方法。

欧拉角表示法具有简便、几何意义明显等优点,同时姿态敏感器可以直接测出这些参数,能较方便地求解用这些姿态参数描述的姿态动力学方程。但采用欧拉角的姿态描述方法存在奇点问题,且需多次三角运算。

而采用四元数表示方法则可以避免这些问题,因此目前工程上开始采用四元数来描述飞行器运动及动力学方程中的姿态,而在设计控制规律时,由于欧拉角的直观性和几何意义,仍然采用欧拉角描述。

但这里存在一个转换的问题,对于欧拉角转换为四元数是一对一的关系,很容易运算,而四元数转换为欧拉角时并非一对一关系,常规的方法只能完成以内的四元数转欧拉角 ±90°, 因此无法实现大姿态机动时的欧拉角表示。