2、火箭动力学模型:刚体转动模型、欧拉角与四元数、简化俯仰通道模型

各位同学好,我是你们的老朋友。今天咱们聊聊火箭动力学模型。说实话,这部分内容在飞控里属于「地基」——地基没打牢,后面调PID就是瞎忙活。

我个人习惯,讲模型之前先问一个问题:火箭到底怎么转的?你想想看,一个几十米高的圆柱体,要在空中保持姿态,它受的力可不是简单的「推一下它就转一下」。这里面涉及刚体转动、坐标变换,还有各种让人头疼的数学工具。

2.1 刚体转动模型:火箭不是质点

火箭在空中飞行,我们得把它当成一个刚体来处理。刚体意味着什么?意味着它内部各点的相对位置不变,但整体可以绕质心旋转。

描述刚体转动,最经典的就是欧拉动力学方程

J * ω̇ + ω × (J * ω) = M

这里:

  • J 是惯性张量(3x3矩阵),描述质量分布
  • ω 是角速度向量 [p, q, r]ᵀ
  • M 是外力矩向量 [L, M, N]ᵀ
  • ω̇ 是角加速度

这个方程看着简单,但实际用起来坑不少。我在项目中遇到过一个问题:惯性张量J的对角线元素(Ixx, Iyy, Izz)如果算不准,仿真出来的姿态响应跟实际飞行差得离谱。有一次我们在地面仿真里调好的参数,上天后火箭直接翻了个跟头——后来发现是Iyy算错了10%。

⚠️ 注意: 惯性张量的非对角线元素(惯性积)在对称火箭上通常很小,可以忽略。但如果你做的是非对称构型(比如带侧挂载荷),千万别省这一步。

2.2 欧拉角与四元数:姿态的两种「语言」

有了转动方程,我们还得知道火箭当前朝哪。这就涉及到姿态描述了。

2.2.1 欧拉角:直观但容易「锁死」

欧拉角用三个角度描述姿态:

  • 滚转角 φ:绕纵轴旋转
  • 俯仰角 θ:绕横轴旋转
  • 偏航角 ψ:绕竖轴旋转

欧拉角的好处是直观——你一看就知道火箭是抬头了还是歪了。但坏处也很致命:万向锁。当俯仰角接近±90°时,滚转和偏航会耦合在一起,你分不清哪个是哪个。

我曾经在调试一个垂直发射的火箭时,俯仰角跑到88°,结果欧拉角微分方程直接炸了——数值发散。从那以后,我对欧拉角就多了一份敬畏。

2.2.2 四元数:数学优雅,工程实用

四元数用四个数描述姿态:

q = [q0, q1, q2, q3]ᵀ

其中 q0 是标量部分,[q1, q2, q3] 是矢量部分。它没有奇点,计算效率高,是工程界的首选。

四元数更新方程:

q̇ = 0.5 * q ⊗ ω

这里的 ⊗ 是四元数乘法。嗯,这里要注意:四元数乘法不满足交换律,顺序搞反了结果就错了。我刚开始学的时候,在这个坑里摔了三次。

特性 欧拉角 四元数
直观性 ⭐⭐⭐⭐⭐ ⭐⭐
无奇点
计算效率 ⭐⭐⭐ ⭐⭐⭐⭐
插值平滑 ⭐⭐ ⭐⭐⭐⭐⭐
💡 我的建议: 仿真调试时用欧拉角看数据(直观),实际飞控代码里用四元数做运算(稳定)。两者之间可以互相转换,公式网上都有,但记得验证边界条件。

2.3 简化俯仰通道模型:抓住主要矛盾

完整的六自由度模型太复杂了,调PID时我们往往先做通道解耦。说白了,就是把俯仰、滚转、偏航三个通道分开看。

对于俯仰通道,我们关心的是火箭绕横轴的转动。简化后的二阶模型长这样:

θ̈ + 2ζω_n θ̇ + ω_n² θ = K * δ_e

其中:

  • θ 是俯仰角
  • ζ 是阻尼比(一般0.6~0.8比较舒服)
  • ω_n 是自然频率
  • δ_e 是舵面偏角(控制输入)
  • K 是控制增益

这个模型忽略了气动耦合、弹性振动、推进剂晃动等因素。你可能会问:「这么简化靠谱吗?」

说实话,不完美,但够用。我在实际项目中,先用这个简化模型调出初步的PID参数,然后放到六自由度仿真里验证,最后再上硬件在环测试。三步走,稳得很。

🔑 关键参数:
  • ω_n 决定了响应速度——太大容易震荡,太小反应慢
  • ζ 决定了超调量——0.7左右是黄金比例
  • K 决定了稳态精度——但太大可能引发舵面饱和

2.4 知识体系总览

下面这张图是我自己画的,把本章的核心逻辑串起来了。你仔细看,会发现所有东西都围绕着「如何描述火箭转动」这个核心问题展开。

火箭动力学模型知识体系 火箭动力学模型 刚体转动模型 姿态描述方法 简化俯仰通道 欧拉动力学方程 惯性张量 J 欧拉角 (φ,θ,ψ) 四元数 (q0,q1,q2,q3) 二阶系统模型 参数 (ζ, ω_n, K) 核心目标:建立可用的数学模型 用于PID控制器设计与参数调优

这张图里,左边是刚体转动模型——它告诉你「力矩怎么产生角加速度」;中间是姿态描述——它告诉你「怎么知道火箭朝哪」;右边是简化模型——它告诉你「怎么抓住主要矛盾来调PID」。

三者缺一不可。我见过不少新手,上来就调PID参数,结果模型都没搞清楚,调了三天发现是坐标系定义反了。嗯,这种坑,踩过一次就记住了。

💡 实操建议: 如果你刚开始做火箭飞控,建议先搭一个简化俯仰通道的仿真模型。用二阶系统模拟火箭响应,加上PID控制器,看看阶跃响应。等这个通了,再往里面加刚体转动和四元数更新。一步一步来,别想一口吃成胖子。

公众号:蓝海资料掘金营,微信deep3321