2. 无人机动力学基础

无人机在空中的运动,本质上是一个刚体在三维空间中的受力和力矩作用结果。要建立可用于仿真并与实飞数据对标的动力学模型,必须回答三个问题:用什么坐标描述运动、受哪些力和力矩、如何把力与运动联系起来。本节围绕刚体动力学、六自由度运动方程、坐标系定义与转换、牛顿-欧拉方法四条主线展开,为后续气动力建模、控制律设计和实飞对标打下基础。

一、核心原理:从质点动力学到刚体动力学

质点动力学只关心质心平动,而无人机的姿态变化、旋翼反扭矩、机臂惯性都会显著影响飞行品质,因此必须按刚体处理。刚体动力学的基本假设是:机体内部各点相对距离不变,质量分布用惯性张量描述,运动可分解为质心平动与绕质心转动。

牛顿第二定律给出平动方程,欧拉方程给出转动方程,两者合称牛顿-欧拉方法。其核心思想是:先在外界坐标系中描述质心运动,再在机体系或惯性系中描述角运动,通过坐标系转换把气动力、重力、推力统一到同一参考系中求解。

牛顿-欧拉方法的本质:
平动:外力 = 质量 × 质心加速度
转动:外力矩 = 惯性张量 × 角加速度 + 角速度 × (惯性张量 × 角速度)

二、坐标系定义与转换

无人机动力学中常用的坐标系有三类:

  • 惯性系(地面系):原点固定于地面,常用于描述位置、速度和航向。通常取东北天或北东地,需在仿真开始前明确约定。
  • 机体系:原点位于无人机质心,x 轴指向机头,y 轴指向右侧,z 轴指向下方或上方,取决于右手系约定。机体系用于描述气动力、推力和力矩。
  • 气流系/速度系:x 轴沿空速方向,用于定义迎角、侧滑角和气动力系数。

坐标系之间的转换通常用旋转矩阵或四元数完成。以欧拉角为例,从机体系到惯性系的旋转可分解为偏航、俯仰、滚转三次旋转。旋转矩阵的每一列对应机体轴在惯性系中的方向余弦。

% 欧拉角转旋转矩阵(Z-Y-X 顺序,单位:弧度)
phi   = roll;    % 滚转
theta = pitch;   % 俯仰
psi   = yaw;     % 偏航

Rz = [cos(psi) -sin(psi) 0;
      sin(psi)  cos(psi) 0;
      0         0        1];

Ry = [ cos(theta) 0 sin(theta);
       0          1 0;
      -sin(theta) 0 cos(theta)];

Rx = [1 0        0;
      0 cos(phi) -sin(phi);
      0 sin(phi)  cos(phi)];

R_b2i = Rz * Ry * Rx;   % 机体系 -> 惯性系
R_i2b = R_b2i';         % 惯性系 -> 机体系

需要特别注意的是,欧拉角在俯仰角接近 ±90° 时会出现万向节死锁,因此高机动仿真中更推荐使用四元数或旋转矩阵直接积分。

三、六自由度运动方程

六自由度指三个平动自由度(位置 x、y、z)和三个转动自由度(姿态 φ、θ、ψ)。完整的六自由度方程由十二个一阶微分方程组成:

状态量 物理含义 方程来源
u, v, w 机体系线速度 牛顿第二定律(机体系)
p, q, r 机体系角速度 欧拉方程
x, y, z 惯性系位置 速度转换积分
φ, θ, ψ 欧拉角姿态 角速度运动学关系

平动方程在机体系中可写为:

m*(u_dot + q*w - r*v) = Fx
m*(v_dot + r*u - p*w) = Fy
m*(w_dot + p*v - q*u) = Fz

转动方程在机体系中可写为:

Ixx*p_dot + (Izz - Iyy)*q*r = L
Iyy*q_dot + (Ixx - Izz)*r*p = M
Izz*r_dot + (Iyy - Ixx)*p*q = N

其中 Fx、Fy、Fz 是合外力在机体系的分量,L、M、N 是合外力矩。对于多旋翼,合外力主要包括重力、旋翼推力和气动阻力;合外力矩主要包括旋翼推力差、反扭矩和陀螺效应。

四、方法流程:从受力到状态更新

在仿真中,六自由度模型的求解通常按以下流程进行:

  1. 读取当前状态:位置、速度、姿态、角速度。
  2. 根据当前状态计算气动力、推力和力矩。
  3. 把重力和外力统一到机体系或惯性系。
  4. 代入牛顿-欧拉方程,求线加速度和角加速度。
  5. 用数值积分方法更新速度和角速度。
  6. 通过运动学关系更新位置和姿态。
  7. 进入下一时间步,重复上述过程。
仿真步长建议不大于 1 ms,尤其是旋翼转速较高时。步长过大不仅会降低精度,还可能使积分发散,导致实飞对标时出现“仿真飞得稳、实飞抖得厉害”的假象。

五、案例场景:悬停与俯仰前飞

以四旋翼悬停为例,四个旋翼总推力等于重力,合外力矩为零,因此线加速度和角加速度均为零,无人机保持位置和姿态不变。当需要前飞时,飞控通过降低前侧旋翼转速、提高后侧旋翼转速,产生俯仰力矩,使机体前倾。前倾后,推力在水平方向产生分量,推动无人机向前加速。

这一过程在六自由度方程中体现为:俯仰角 θ 变化 → 机体系推力方向变化 → 惯性系水平力分量出现 → 水平速度增加。若只建立质点模型,就无法解释“先低头、再前飞”的动态过程,也无法与实飞中的姿态响应对标。

六、常见误区与复盘

  • 坐标系约定不统一:仿真用北东地,实飞日志用东北天,直接对标会出现符号相反。建议在项目开始前固定一套约定,并在代码注释中写明。
  • 忽略惯性张量非对角项:多数小型无人机可近似为对角阵,但大轴距或挂载不对称时,非对角项会引入耦合,导致滚转和偏航响应异常。
  • 把欧拉角当小角度处理:大机动飞行时,小角度近似会带来显著误差,应使用完整旋转矩阵或四元数。
  • 只对位置不对姿态:实飞对标时,位置曲线吻合不代表姿态和角速度吻合。应同时对比滚转、俯仰、偏航角及三轴角速度。
  • 忽略陀螺效应:高速旋转的旋翼在机体转动时会产生陀螺力矩,尤其在快速滚转时不可忽略。
六自由度模型是无人机仿真的骨架,但骨架不等于全部。气动系数、电机响应、桨叶挥舞、电池电压下降都会影响最终精度。建议先保证六自由度方程和坐标系转换正确,再逐步加入执行机构模型和气动模型。
无人机六自由度动力学求解链路 坐标系定义 惯性系 / 机体系 气流系 坐标转换 旋转矩阵 / 四元数 欧拉角 Z-Y-X 合外力与力矩 重力 / 推力 / 气动力 反扭矩 / 陀螺力矩 牛顿-欧拉方程 平动:m·(V̇ + ω×V) = F 转动:I·ω̇ + ω×(I·ω) = M 数值积分与状态更新 位置 / 速度 / 姿态 / 角速度 状态反馈 关键输出 u,v,w,p,q,r x,y,z,φ,θ,ψ 用于实飞对标