2、火箭姿态动力学基础:刚体转动方程、欧拉角、四元数、姿态表示与转换

火箭姿态控制的核心任务是让箭体在飞行过程中按照预定程序转动并保持稳定。要完成这一任务,首先需要建立描述箭体转动的数学语言。本章从刚体转动方程出发,系统讲解欧拉角、四元数两种姿态表示方法及其相互转换关系,并给出工程实践中姿态解算与误差判别的实用准则。理解这些基础概念,是后续进行PID控制器设计、参数整定和半实物仿真的前提。

火箭姿态表示与转换关系图 刚体转动方程 M = I·ω̇ + ω×(I·ω) 惯性张量 I (3×3) 角速度 ω (p, q, r) 外力矩 M (L, M, N) 箭体系下建立 欧拉角 (3-1-2 旋转) ψ 偏航 → φ 滚转 → θ 俯仰 旋转矩阵 R(ψ,φ,θ) 直观、物理意义明确 奇异点:θ = ±90° 工程判读常用 四元数 q = [q₀,q₁,q₂,q₃] 无奇异、计算高效 范数约束:‖q‖ = 1 乘法复合旋转 适合实时积分 飞控计算机内部运算 角速度积分 避免奇异 姿态表示转换 欧拉角 → 四元数 四元数 → 欧拉角 atan2/asin 工程应用 姿态解算 PID误差计算 指令生成 可视化监控

2.1 刚体转动方程与箭体坐标系

火箭在飞行中可近似视为刚体,其转动动力学由欧拉方程描述。在箭体坐标系(原点位于质心,X轴指向头部,Y轴指向俯仰方向,Z轴按右手定则确定)下,转动方程可写为:

M = I·ω̇ + ω × (I·ω)

其中,M 为外力矩矢量(滚转力矩L、俯仰力矩M、偏航力矩N),I 为惯性张量(3×3矩阵),ω 为角速度矢量(滚转角速度p、俯仰角速度q、偏航角速度r)。对于轴对称火箭,惯性张量可简化为对角阵 diag(Ix, Iy, Iz),此时方程可展开为三个标量方程:

  • 滚转通道:L = Ix·ṗ + (Iz - Iy)·q·r
  • 俯仰通道:M = Iy·q̇ + (Ix - Iz)·r·p
  • 偏航通道:N = Iz·ṙ + (Iy - Ix)·p·q

在PID控制器设计中,通常将三个通道解耦处理,忽略交叉耦合项(或将其视为扰动)。但需注意,当火箭存在较大滚转角速度或惯性积时,耦合效应不可忽略,此时需引入前馈补偿或采用多变量控制策略。

工程经验:在调参初期,建议将交叉耦合项视为外部扰动,先进行单通道独立整定。待各通道基本稳定后,再通过仿真或试车数据评估耦合影响,必要时增加解耦补偿网络。

2.2 欧拉角:直观的姿态描述

欧拉角通过三次绕坐标轴的旋转来描述箭体相对参考坐标系的姿态。工程上常用3-1-2旋转序列(先偏航ψ,再滚转φ,最后俯仰θ),其旋转矩阵为:

R = Rz(ψ) · Rx(φ) · Ry(θ)

欧拉角的优势在于物理意义直观,便于地面测控人员判读和指令生成。例如,当遥测数据显示俯仰角θ=30°时,可直接理解为箭体头部相对水平面抬高30°。然而,欧拉角存在万向锁问题:当俯仰角接近±90°时,偏航与滚转运动退化到同一自由度,导致姿态解算奇异。

特性 欧拉角 四元数
参数数量 3个(ψ, φ, θ) 4个(q₀, q₁, q₂, q₃)
奇异问题 存在(θ=±90°) 无奇异
计算效率 涉及大量三角函数 仅需乘加运算
物理直观性 高 低
插值平滑性 可能产生跳变 平滑(球面线性插值)
工程应用 地面显示、指令生成 飞控计算机内部解算

2.3 四元数:适合实时计算的姿态表示

四元数是一种超复数,由一个实部q₀和三个虚部(q₁, q₂, q₃)组成,满足范数约束‖q‖=1。其核心优势在于:

  1. 无奇异问题:可全姿态工作,适合运载火箭垂直起飞后的大角度机动。
  2. 计算高效:姿态更新仅需四元数乘法,避免三角函数运算,适合飞控计算机实时处理。
  3. 复合旋转简便:连续旋转可通过四元数乘法直接实现,无需矩阵连乘。

四元数姿态更新方程为:

q̇ = 0.5 · q ⊗ ω

其中⊗表示四元数乘法,ω为角速度四元数(实部为0)。在实际工程中,需对四元数进行周期性归一化处理,防止积分漂移导致范数偏离1。

关键风险:四元数虽然避免了奇异,但其物理意义不直观。当飞控计算机输出四元数时,地面系统必须将其转换为欧拉角才能供指挥员判读。转换公式为:
θ = asin(2(q₀q₂ - q₁q₃))
ψ = atan2(2(q₀q₁ + q₂q₃), 1 - 2(q₁² + q₂²))
φ = atan2(2(q₀q₃ + q₁q₂), 1 - 2(q₂² + q₃²))

2.4 姿态表示转换与工程实现

在火箭姿态控制系统中,不同模块对姿态表示的需求不同:

  • 惯性测量单元(IMU):直接输出角速度,经积分得到四元数。
  • 飞控计算机:内部统一使用四元数进行姿态解算和PID误差计算。
  • 地面测控:需要欧拉角进行可视化显示和指令注入。
  • 姿态控制指令:通常以欧拉角形式给出(如程序俯仰角),需转换为四元数后参与控制。

转换过程中需注意旋转顺序一致性。例如,从欧拉角(ψ, φ, θ)构造四元数时,必须严格按照3-1-2序列:

q₀ = cos(ψ/2)cos(φ/2)cos(θ/2) + sin(ψ/2)sin(φ/2)sin(θ/2)
q₁ = cos(ψ/2)sin(φ/2)cos(θ/2) + sin(ψ/2)cos(φ/2)sin(θ/2)
q₂ = cos(ψ/2)cos(φ/2)sin(θ/2) - sin(ψ/2)sin(φ/2)cos(θ/2)
q₃ = sin(ψ/2)cos(φ/2)cos(θ/2) - cos(ψ/2)sin(φ/2)sin(θ/2)

2.5 案例拆解:某型火箭姿态解算模块的表示选择

背景与约束:某型固体运载火箭飞行时间约600秒,最大俯仰角变化范围-10°~+85°,偏航角变化范围±5°,滚转角全程小于±3°。飞控计算机采用双冗余IMU,采样率200Hz,CPU主频100MHz。

初始现象:在方案设计阶段,姿态解算模块最初采用欧拉角直接积分。仿真发现,当俯仰角接近85°时,偏航通道出现明显振荡,且解算结果对噪声敏感。

分析判断:经排查,确认是欧拉角奇异问题所致。虽然85°未达到90°奇异点,但atan2计算中分母趋近于零,导致数值稳定性下降。同时,欧拉角积分涉及大量三角函数运算,200Hz采样率下CPU占用率高达45%,影响其他控制任务。

实际操作:将姿态解算核心切换为四元数,具体步骤如下:

  1. IMU原始角速度经标定补偿后,采用四元数运动学方程进行积分更新。
  2. 每100个周期(0.5秒)执行一次四元数归一化,防止范数漂移。
  3. 仅在遥测数据打包和地面指令接收时,将四元数转换为欧拉角。
  4. 在飞控计算机中增加四元数误差计算模块,直接以四元数差值作为PID控制器输入。

结果对比:切换后,CPU占用率降至18%,偏航通道振荡消失,全飞行过程姿态解算稳定。地面判读系统通过转换后的欧拉角数据,与理论弹道比对误差小于0.05°。

风险与代价:四元数调试初期,曾出现因初始四元数设置错误导致姿态翻转180°的故障。后增加上电自检和地面注入校验流程,确保初始姿态正确。

复盘经验:对于大俯仰角飞行器,应优先选择四元数作为内部姿态表示;欧拉角仅作为人机交互接口。同时,四元数初值必须通过地面标定或星敏感器/陀螺罗盘确定,不可随意置零。

调参要点:在PID控制器中,若直接使用欧拉角误差,需注意角度跳变问题(如从+179°到-179°)。建议将误差映射到[-π, π]区间,或改用四元数误差的矢量部分作为控制输入。对于滚转通道,由于火箭滚转范围通常较小,可直接使用欧拉角误差。

2.6 常见误区与总结复盘

在姿态表示与转换的实际应用中,以下误区值得警惕:

  • 误区一:认为四元数可以完全替代欧拉角。实际上,四元数不直观,无法直接用于指令生成和故障判读。
  • 误区二:忽略旋转顺序。不同旋转序列(如3-2-1与3-1-2)得到的欧拉角含义不同,转换公式也不同。
  • 误区三:四元数未归一化。长时间积分后范数漂移会导致姿态误差累积,必须周期性归一化。
  • 误区四:在PID控制器中直接使用四元数全量误差。四元数误差的实部包含旋转角度信息,但直接使用四个分量作为误差会导致控制耦合,应提取矢量部分或转换为旋转矢量。

总结而言,火箭姿态表示的选择应遵循"内部用四元数,外部用欧拉角"的原则。在PID控制器设计时,建议采用四元数误差的矢量部分作为比例项输入,同时结合角速度反馈构成PD控制。下一阶段将在此基础上,进一步讨论PID控制器在姿态通道中的具体实现与参数整定方法。