4. 姿态动力学
姿态确定解决“航天器现在指向哪里”,姿态动力学则回答“它为什么会这样转、下一时刻会转到哪里”。两者在控制系统里通过力矩闭环耦合:执行机构施加力矩,动力学模型把力矩变成角速度与姿态变化,敏感器再测出姿态偏差。若动力学模型失真,即使控制律参数再漂亮,闭环也会出现超调、极限环甚至发散。因此本节从刚体角动量出发,建立欧拉方程,说明惯量矩阵、主轴和陀螺力矩的物理含义,并给出外力矩来源与仿真建模的落地方法。
一、刚体角动量与惯量矩阵
刚体绕质心转动的角动量定义为 H = I·ω,其中 ω 是本体坐标系下的角速度矢量,I 是 3×3 惯量矩阵。惯量矩阵对角元 Ixx、Iyy、Izz 是绕三轴的转动惯量,非对角元 Ixy、Ixz、Iyz 是惯性积,反映质量分布相对坐标轴的不对称。若本体坐标系与惯性主轴重合,惯性积为零,I 变为对角阵,此时 H 与 ω 同向;否则 H 与 ω 方向不同,转动中会出现“交叉耦合”,这正是欧拉方程中陀螺项的来源。
惯量矩阵不是抽象符号,它由质量分布决定。工程上常用“点质量叠加”估算:把太阳翼、天线、推进剂贮箱等部件简化为若干集中质量,按 I = Σ mᵢ(rᵢᵀrᵢ·E − rᵢrᵢᵀ) 累加。例如某对日定向卫星,星体本体约 800 kg,太阳翼各 60 kg、质心距本体中心 3 m,仅太阳翼贡献的绕俯仰轴惯量就约 2×60×3² = 1080 kg·m²,远大于本体自身,说明大型附件会主导整星惯量。推进剂晃动、太阳翼转动还会使惯量随时间变化,仿真中需按工况更新。
二、欧拉方程与主轴、陀螺力矩
在本体坐标系下,角动量定理写为 dH/dt + ω×H = M,M 为外力矩。代入 H = I·ω,得到刚体欧拉方程:
Ixx·ω̇x − (Iyy − Izz)·ωy·ωz = Mx
Iyy·ω̇y − (Izz − Ixx)·ωz·ωx = My
Izz·ω̇z − (Ixx − Iyy)·ωx·ωy = Mz
式中 (Iyy−Izz)ωyωz 等项即陀螺力矩,它不来自外部,而是转动中角动量方向变化产生的耦合。若三轴惯量互不相等,绕某一轴转动会激励另外两轴,这就是“惯量耦合”。当 Ixx、Iyy、Izz 为三个主轴惯量时,方程最简;若存在惯性积,需先做特征值分解求主轴方向,把 I 对角化后再建模,否则耦合项会写错。
陀螺力矩在工程上有两类典型表现。一是自旋稳定航天器:绕最大惯量主轴自旋时,角动量方向稳定,微小横向扰动会产生进动而非翻滚;二是带高速转子(如动量轮、控制力矩陀螺)的航天器,转子角动量 h 与整星角速度耦合,产生 ω×h 项,使姿态运动出现陀螺进动。仿真时必须把转子角动量单独建模,不能只把它当作一个力矩源。
三、外力矩来源与量级判断
姿态动力学仿真中,外力矩必须按“谁在什么工况下起主导”分类建模。环境力矩包括重力梯度力矩、气动力矩、太阳光压力矩和磁力矩,它们随轨道高度、姿态和太阳活动变化;控制力矩来自推力器、动量轮、控制力矩陀螺和磁力矩器;扰动力矩还包括太阳翼驱动反作用、推进剂晃动和柔性附件振动。以 500 km 太阳同步轨道、3 m×2 m 太阳翼的卫星为例,重力梯度力矩约 10⁻⁵ N·m 量级,气动力矩约 10⁻⁶ N·m,而动量轮输出可达 0.1 N·m,控制力矩通常比环境力矩大 3~5 个数量级,因此短时机动可忽略环境力矩,但长期对日定向时环境力矩会累积成角动量,必须由动量轮卸载或磁力矩器抵消。
四、动力学仿真建模的落地做法
工程上常用“状态量 + 导数函数 + 积分器”的结构。状态量取四元数 q(4 维)和角速度 ω(3 维),共 7 维;导数函数依次计算:由 q 和 ω 算运动学导数 q̇,由 ω、惯量矩阵、转子角动量和外力矩算欧拉方程得到 ω̇。积分器可选四阶龙格库塔,步长按最小时间常数取 1/10 以下。下面给出一个可读的伪代码框架,参数为示例值:
# 示例参数(非实测,仅用于说明结构)
I = diag([1200, 1500, 900]) # kg·m^2,主轴惯量
h_rotor = [0, 0, 50] # N·m·s,转子角动量
M_ext = [0.02, -0.01, 0.005] # N·m,外力矩示例
def dynamics(q, w):
# 运动学:q̇ = 0.5 * q ⊗ [0, w]
q_dot = 0.5 * quat_mul(q, [0, w[0], w[1], w[2]])
# 欧拉方程:I·ω̇ = M - ω×(I·ω + h_rotor)
H = I @ w + h_rotor
w_dot = inv(I) @ (M_ext - cross(w, H))
return q_dot, w_dot
# 四阶龙格库塔积分,步长 dt = 0.01 s
for k in range(N):
q, w = rk4_step(dynamics, q, w, dt)
仿真结果要看三件事:一是角速度是否收敛到指令值,稳态误差是否在死区以内;二是姿态四元数是否保持归一化,长时间积分若范数漂移说明积分器或归一化处理有问题;三是角动量是否守恒,无外力矩时 I·ω + h_rotor 应基本不变,若持续漂移则说明陀螺项符号或惯量矩阵写错。对带挠性附件的航天器,还需把太阳翼一阶弯曲模态(示例频率约 0.5~2 Hz、阻尼比 0.005~0.02)作为附加状态加入,否则仿真会过于乐观,掩盖真实系统中的振动耦合。
综上,姿态动力学的核心是“惯量矩阵决定耦合、欧拉方程决定演化、外力矩决定输入”。把这三者按统一坐标系和符号约定组织成仿真模型,再用角速度收敛、四元数归一化和角动量守恒三项指标校验,才能为后续控制律设计和在轨验证提供可信的动力学基础。