2. 飞行器动力学基础:坐标系定义与运动方程

各位同学,今天我们来啃一块硬骨头——飞行器的动力学基础。说实话,这部分内容看着有点枯燥,但它是后面所有辨识算法的根基。我自己做项目时,有八成以上的bug都出在坐标系搞混上。所以,咱们先把地基打牢。

2.1 坐标系定义:三个轴系的故事

飞行器在空中飞,我们需要一个“参照系”来描述它的位置和姿态。常用的有三个轴系,我习惯叫它们“三兄弟”。

2.1.1 地轴系(地球坐标系)

地轴系,说白了就是站在地面上看飞机。原点通常取在地面某点(比如起飞点),X轴指向北Y轴指向东Z轴指向地心(也就是向下)。

这个坐标系最直观,导航定位全靠它。但要注意,地轴系不是惯性系——地球在自转。不过对于大多数飞行器控制问题,我们忽略地球自转,把它当成惯性系用。嗯,这里要记住:地轴系是“绝对”参考

2.1.2 体轴系(机体坐标系)

体轴系是固定在飞机上的。原点在飞机重心,X轴沿机身纵轴指向机头Y轴指向右翼Z轴指向机身下方(满足右手定则)。

我个人习惯把体轴系叫做“飞行员视角”。你坐在驾驶舱里,往前看就是X轴,往右看就是Y轴。所有舵面偏转、发动机推力,都是在体轴系下描述的。

避坑指南: 我曾经在项目中遇到过,有人把体轴系的Z轴方向搞反了。记住:航空标准里Z轴向下为正,不是向上!搞反了,你的气动导数符号全得翻过来。

2.1.3 速度轴系(气流坐标系)

速度轴系,也叫风轴系。它的X轴始终指向飞行速度方向(也就是来流方向),Z轴在对称面内垂直于X轴指向下Y轴由右手定则确定

为什么需要这个坐标系?因为气动力(升力、阻力)直接跟气流方向相关。你想想看,飞机迎角变了,升力方向也跟着变。用速度轴系来描述气动力,公式会简洁很多。

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

有了坐标系,我们还得描述飞机相对于地轴系的姿态。常用的有两种方法:欧拉角和四元数。

2.2.1 欧拉角

欧拉角就是三个角度:滚转角φ俯仰角θ偏航角ψ。从地轴系转到体轴系,需要经过三次旋转:

  1. 绕Z轴转ψ(偏航)
  2. 绕新的Y轴转θ(俯仰)
  3. 绕新的X轴转φ(滚转)

这个顺序很重要。我刚开始学的时候,总觉得先转哪个都一样。后来做仿真时发现,顺序搞错了,姿态解算全乱套。记住:偏航→俯仰→滚转,这是航空界的标准顺序。

欧拉角的致命缺陷: 当俯仰角θ = ±90°时,会出现“万向锁”现象——滚转和偏航无法区分。所以在大机动飞行或航天器控制中,我建议用四元数。

2.2.2 四元数

四元数是一个超复数,形式为 q = q₀ + q₁i + q₂j + q₃k,其中q₀是标量部分,q₁,q₂,q₃是矢量部分。它用一个旋转轴和一个旋转角来描述姿态,没有奇异性。

四元数跟欧拉角的转换关系如下:

// 欧拉角 → 四元数
q₀ = cos(φ/2)cos(θ/2)cos(ψ/2) + sin(φ/2)sin(θ/2)sin(ψ/2)
q₁ = sin(φ/2)cos(θ/2)cos(ψ/2) - cos(φ/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)
我的经验: 在嵌入式飞控里,我通常用四元数做姿态解算,只在输出给地面站显示时,才转成欧拉角。这样既避免了万向锁,又方便人眼理解。

2.3 刚体六自由度运动方程

好了,坐标系和姿态都有了,现在该描述飞机怎么动了。刚体有六个自由度:三个平动(沿X、Y、Z轴移动)和三个转动(绕X、Y、Z轴旋转)。

2.3.1 力方程(平动)

在体轴系下,牛顿第二定律写成:

m * (dV/dt + ω × V) = F

展开成分量形式:

方向方程
X轴m(du/dt + qw - rv) = -mg sinθ + Fx
Y轴m(dv/dt + ru - pw) = mg cosθ sinφ + Fy
Z轴m(dw/dt + pv - qu) = mg cosθ cosφ + Fz

其中u、v、w是体轴系下的速度分量,p、q、r是角速度分量。Fx、Fy、Fz包括气动力和推力。

2.3.2 力矩方程(转动)

转动方程稍微复杂点,涉及惯性张量:

I * dω/dt + ω × (I * ω) = M

假设飞机关于XZ平面对称(大多数飞机都满足),展开后:

方向方程
滚转Ix * dp/dt - Ixz * dr/dt + qr(Iz - Iy) - Ixz * pq = L
俯仰Iy * dq/dt + rp(Ix - Iz) + Ixz(p² - r²) = M
偏航Iz * dr/dt - Ixz * dp/dt + pq(Iy - Ix) + Ixz * qr = N
关键点: 注意惯性积Ixz!很多初学者会忽略它。我做过一个项目,飞机横航向动态总是不对,查了三天才发现是Ixz没加。对于非对称布局的飞机(比如带侧挂武器的),Ixz绝对不能省。

2.3.3 运动学方程

最后,我们还需要把角速度跟姿态角联系起来:

dφ/dt = p + q sinφ tanθ + r cosφ tanθ
dθ/dt = q cosφ - r sinφ
dψ/dt = (q sinφ + r cosφ) / cosθ

看到没?当θ接近90°时,tanθ趋于无穷,dφ/dt和dψ/dt会爆炸——这就是万向锁的数学本质。

2.4 知识体系总览

下面这张图,是我自己梳理的本章知识结构。建议你保存下来,每次做仿真前看一眼,避免坐标系搞混。

飞行器动力学基础:知识体系 坐标系定义 地轴系(惯性参考) 体轴系(机体固定) 速度轴系(气流方向) 姿态描述方法 欧拉角(φ, θ, ψ) 四元数(q₀, q₁, q₂, q₃) 转换关系 六自由度运动方程 力方程(平动) 力矩方程(转动) 运动学方程 核心应用:气动参数辨识 气动导数估计 从飞行数据中提取 升力/阻力/力矩系数 模型验证 对比风洞数据与 实际飞行数据 控制律设计 基于辨识模型 设计控制器参数 一句话总结 坐标系是“语言”,姿态是“状态”,运动方程是“规则”——三者缺一不可

好了,这一章的内容就到这里。坐标系、欧拉角与四元数、六自由度方程,这三块是后续所有辨识算法的基础。我建议你动手推导一遍力方程和力矩方程,光看是记不住的。下一章,我们会进入气动参数辨识的核心——最小二乘法。


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