3. 姿态运动学建模

姿态运动学解决的核心问题是:当航天器本体相对惯性空间的角速度已知时,姿态参数如何随时间演化。它不涉及力矩与惯量,只描述几何关系,因此是姿态动力学与控制系统之间的桥梁。本节围绕三条主线展开:欧拉角运动学方程及其奇异点、四元数运动学方程的推导、以及数值积分中必须维持的归一化约束。

3.1 坐标系与角速度约定

先明确全文一致的参照约定。设惯性系为 O-XIYIZI,本体系为 O-XbYbZb,两者原点重合于航天器质心。姿态参数描述的是本体系相对惯性系的转动。角速度 ω = [ωx, ωy, ωz]T 取本体系分量,即本体系相对惯性系的角速度在本体系三轴上的投影。这一约定决定了后续所有微分方程的符号形式,若改用惯性系分量或反向定义,方程中的符号与矩阵转置关系都会改变,因此建模前必须固定。

3.2 欧拉角运动学方程与奇异性

以 3-2-1 转序(偏航 ψ、俯仰 θ、滚转 φ)为例,从角速度到欧拉角变化率的映射为:

φ̇ = ω_x + tanθ (ω_y sinφ + ω_z cosφ)
θ̇ = ω_y cosφ − ω_z sinφ
ψ̇ = (ω_y sinφ + ω_z cosφ) / cosθ

观察该式,φ̇ 与 ψ̇ 的分母分别含 tanθ 与 cosθ。当俯仰角 θ → ±90° 时,cosθ → 0,tanθ → ∞,两个变化率同时发散,方程出现奇异。物理含义是:在 θ = 90° 处,偏航轴与滚转轴重合,两个自由度退化为一个,欧拉角不再能唯一描述姿态,也无法由角速度反解出唯一的变化率。这就是常说的“万向节死锁”。

工程上应对奇异有三类做法:一是限制工作范围,使 θ 远离 ±90°,例如对近地指向卫星把俯仰限制在 ±60° 内;二是切换转序,当接近某组欧拉角的奇异点时改用另一组(如 3-1-3 或 3-2-1 互换),代价是逻辑复杂;三是彻底改用四元数或方向余弦矩阵,从根源上消除奇异。对于大角度机动的航天器,第三种是主流选择。

3.3 四元数运动学方程推导

设姿态四元数 q = [q0, q1, q2, q3]T = [q0, qvT]T,其中 q0 为标量部,qv 为矢量部,表示本体系相对惯性系的转动。四元数乘法的矩阵形式可写为:

q ⊗ p = [ q0·p0 − qv·pv ;  q0·pv + p0·qv + qv × pv ]

姿态运动学关系为 q̇ = ½ q ⊗ [0, ω]T,展开后得到标量形式:

q̇0 = −½ (q1 ωx + q2 ωy + q3 ωz)
q̇1 =  ½ (q0 ωx + q2 ωz − q3 ωy)
q̇2 =  ½ (q0 ωy + q3 ωx − q1 ωz)
q̇3 =  ½ (q0 ωz + q1 ωy − q2 ωx)

写成矩阵形式即 q̇ = ½ Ω(ω) q,其中 Ω(ω) 是由 ω 分量构成的 4×4 反对称矩阵。该方程对任意姿态都无奇异,且是双线性形式,非常适合数值积分。需要注意,若角速度定义改为惯性系分量,则矩阵形式变为 q̇ = ½ q ⊗ [0, ωI]T,符号位置不同,建模时不可混用。

3.4 归一化约束与数值实现

四元数表示姿态时满足单位模约束 q02 + q12 + q22 + q32 = 1。理论上该约束对运动学方程是守恒的,但数值积分会引入截断误差,使模长缓慢漂移。若长期不修正,姿态矩阵将不再正交,姿态解算出现比例失真。因此每步积分后应执行归一化:

norm = sqrt(q0² + q1² + q2² + q3²)
qi = qi / norm   (i = 0,1,2,3)

以四阶龙格-库塔法、步长 0.01 s、角速度 0.1 rad/s 的匀速转动为例,若不做归一化,约数百秒后模长偏差可达 10−4 量级;每步归一化后,偏差可稳定在 10−12 附近。判断积分是否健康,可直接监视模长偏差 |‖q‖−1|,一般要求小于 10−8;同时可用 q0 的符号连续性检查是否发生四元数双覆盖跳变,必要时对 q 取反以保持符号连续。

建模小技巧:四元数微分方程与欧拉角方程可互相校验。用同一组 ω(t) 分别积分,再把四元数转成 3-2-1 欧拉角,与直接积分欧拉角方程的结果对比,在远离奇异区应一致到积分精度量级。
姿态运动学:角速度 → 姿态参数 → 归一化闭环 本体系角速度 ω ωx, ωy, ωz 由陀螺测量或动力学给出 欧拉角运动学 (3-2-1) φ̇ = ωx + tanθ(ωy sinφ + ωz cosφ) θ̇ = ωy cosφ − ωz sinφ ψ̇ = (ωy sinφ + ωz cosφ)/cosθ θ → ±90° 时 tanθ、1/cosθ 发散 四元数运动学 q̇ = ½ q ⊗ [0, ω]ᵀ q̇0 = −½(q1ωx+q2ωy+q3ωz) q̇1 = ½(q0ωx+q2ωz−q3ωy) … 全局无奇异,双线性形式 万向节死锁 θ = ±90°:偏航轴与滚转轴重合 两自由度退化为一,解不唯一 对策:限幅 / 换转序 / 用四元数 归一化约束 q0²+q1²+q2²+q3² = 1 每步积分后:qi ← qi / ‖q‖ 监视 |‖q‖−1| < 1e−8 数值积分器 RK4,步长 h = 0.01 s 每步后归一化并检查符号连续 姿态输出 四元数 q(t) → 方向余弦矩阵 或转欧拉角用于显示 反馈修正

3.5 建模检查要点

完成本节建模后,建议按以下要点自查:角速度分量是否明确为本体系;欧拉角转序是否与方程一致;四元数标量部与矢量部顺序是否与代码一致;积分步长是否满足角速度带宽要求(一般 h·ωmax < 0.05);归一化是否每步执行;是否监视了模长偏差与 q0 符号连续性。这些检查能避免绝大多数姿态解算中的隐性错误。