姿态动力学Vol.3 四元数(Quaternion)代数与姿态微分方程

航天器姿态动力学理论

引言

为了克服欧拉角的奇点问题,同时避免 DCM 的参数冗余(9个参数,6个约束),数学家们一直在寻找一种更优的姿态描述方法。1843年,爱尔兰数学家威廉·哈密顿 (William Hamilton) 在都柏林的一座桥上散步时,灵光一闪,发明了四元数 (Quaternion)

四元数用 4 个参数描述 3 维旋转,它不仅无奇点,而且计算效率极高(只需 4 次乘法即可更新姿态,而 DCM 需要 27 次)。如今,四元数已成为现代航天控制软件、计算机图形学(如Unity引擎)和机器人学的标准工具。本章将带你深入理解四元数的代数性质及其在姿态动力学中的应用。


1. 从轴-角到四元数

1.1 欧拉旋转定理

欧拉旋转定理 (Euler’s Rotation Theorem) 指出:刚体绕定点的任意位移,都可以等效为绕过该点某一轴 $\mathbf{e}$ 旋转一个角度 $\Phi$。 这就是轴-角 (Axis-Angle) 描述。虽然直观,但直接使用轴和角进行计算(如连续旋转的合成)非常复杂。

1.2 四元数的定义

四元数 $\mathbf{q}$ 正是基于轴-角概念定义的。它由一个标量部分 $q_0$ 和一个矢量部分 $\mathbf{q}_{vec} = [q_1, q_2, q_3]^T$ 组成:

或者写成:

注意:

  1. 归一化约束:由于 $\mathbf{e}$ 是单位矢量,容易证明 $|\mathbf{q}|^2 = q_0^2 + q_1^2 + q_2^2 + q_3^2 = \cos^2(\Phi/2) + \sin^2(\Phi/2) = 1$。因此,描述姿态的必须是单位四元数
  2. 半角:定义中使用了 $\Phi/2$ 而不是 $\Phi$,这是四元数代数性质的关键,也是它能避免奇点的原因。

2. 四元数代数

四元数是复数的推广。复数有一个虚部 $i$,而四元数有三个虚部 $i, j, k$,满足哈密顿著名的公式:

2.1 乘法运算 (Quaternion Product)

四元数乘法(记为 $\otimes$)是不满足交换律的($\mathbf{p} \otimes \mathbf{q} \neq \mathbf{q} \otimes \mathbf{p}$)。 设 $\mathbf{p} = p_0 + \mathbf{p}_{vec}, \mathbf{q} = q_0 + \mathbf{q}_{vec}$,利用虚部乘法规则,可以推导出:

这个公式涵盖了点乘和叉乘,非常优美。

2.2 旋转算子

若要将三维矢量 $\mathbf{v}$ 旋转,首先将其扩充为纯四元数(标量部为0):$\mathbf{v}’ = 0 + \mathbf{v}$。 旋转后的矢量 $\mathbf{w}$ 对应的四元数 $\mathbf{w}’$ 由以下“三明治”积给出:

其中 $\mathbf{q}^* = q_0 - \mathbf{q}_{vec}$ 是共轭四元数(类似于复共轭)。 这一操作等价于 $\mathbf{w} = \mathbf{C}(\mathbf{q}) \mathbf{v}$,其中 $\mathbf{C}(\mathbf{q})$ 是由四元数导出的 DCM。

2.3 四元数与 DCM 的转换

这是一个二次型映射。


3. 姿态运动学微分方程

这是姿态动力学中最重要的方程之一。它描述了四元数随时间的变化率 $\dot{\mathbf{q}}$ 与角速度 $\boldsymbol{\omega}$ 的关系。

3.1 推导思路

利用旋转算子 $\mathbf{v}_B = \mathbf{q}^* \otimes \mathbf{v}_N \otimes \mathbf{q}$ 对时间求导,并结合传输定理,经过一系列复杂的代数运算(此处略去过程,直接给出结果),可以得到:

其中 $\boldsymbol{\omega}’ = 0 + \boldsymbol{\omega}$ 是角速度的纯四元数形式。

3.2 矩阵形式

为了便于计算机编程,通常写成矩阵向量乘积形式:

其中 $\boldsymbol{\Omega}(\boldsymbol{\omega})$ 是一个反对称矩阵:

3.3 优缺点分析

优点

  1. 线性:方程右边是 $\mathbf{q}$ 的线性函数,非常适合数值积分。
  2. 无奇点:无论姿态如何,该方程始终有效,没有除零风险。
  3. 效率:计算量远小于 DCM 的泊松方程。

缺点

  1. 双倍覆盖 (Double Cover):由于 $\cos((\Phi+2\pi)/2) = -\cos(\Phi/2)$,四元数 $\mathbf{q}$ 和 $-\mathbf{q}$ 代表同一个物理姿态。这在控制律设计时需要注意(通常选择距离当前 $\mathbf{q}$ 最近的那个符号)。
  2. 归一化:在数值积分过程中,由于截断误差,$\mathbf{q}$ 的模长会逐渐偏离 1。非单位四元数不再代表纯旋转(包含缩放)。因此,必须在每一步积分后进行强制归一化:

结语

四元数以其优雅的代数性质和高效的计算性能,成为了姿态描述的王者。然而,对于某些特定的分析任务(如稳定性分析),四元数的物理意义不如罗德里格斯参数 (Rodrigues Parameters) 直观。下一章,我们将探讨这组有趣的参数及其修正形式,它们在处理大角度机动时有着独特的优势。

```