1. 无人机动力学概述:从牛顿力学到多旋翼飞行原理

大家好,我是老张。做无人机飞控这行十几年了,每次带新人时,第一个问题总是:「飞机到底是怎么飞起来的?」

这个问题看似简单,但背后藏着整个动力学体系的根基。今天我们就从最基础的牛顿力学说起,一步步拆解多旋翼的飞行原理。

1.1 牛顿力学:飞行的底层逻辑

说白了,无人机能飞,靠的就是牛顿第三定律——作用力与反作用力。你给空气一个向下的力,空气就给你一个向上的反作用力。这就是升力的来源。

但光有力还不够,还得有力矩。牛顿第二定律 F=ma 告诉我们,力产生加速度;而力矩则产生角加速度。无人机在空中既要平动,又要转动,这两者缺一不可。

核心公式:

  • 平动:F = m · a(力 = 质量 × 加速度)
  • 转动:M = I · α(力矩 = 转动惯量 × 角加速度)

我在项目中遇到过不少新手,一上来就盯着 PID 参数调,结果飞机抖得像筛子。为什么?因为连基本的力和力矩关系都没搞清楚。你想想看,连飞机为什么偏航都不知道,调 PID 不是瞎蒙吗?

1.2 多旋翼的升力产生机制

多旋翼的升力来自螺旋桨旋转时切割空气产生的推力。这个推力的大小,和桨叶的转速、桨距、直径都有关系。

嗯,这里要注意:升力并不是线性的。它和转速的平方成正比。也就是说,转速翻倍,升力变成四倍。这个非线性特性,是飞控设计里第一个要面对的坑。

个人经验: 我习惯在仿真时先做一次「升力-转速」标定实验。拿一个拉力计,把电机固定好,测出不同油门值对应的实际升力。你会发现,理论曲线和实测曲线总有偏差——这就是桨叶效率、电机响应延迟等因素造成的。

1.3 四旋翼的飞行原理:六个自由度

四旋翼有四个电机,却要控制六个自由度(三个平动 + 三个转动)。这是怎么做到的?

答案在于「差速控制」。四个电机两两一组,正反装。通过调整不同电机的转速,就能产生不同的力和力矩组合。

飞行模式 电机变化 物理原理
悬停 四个电机转速相等 总升力 = 重力,力矩平衡
垂直上升 四个电机同时加速 总升力 > 重力,产生向上加速度
俯仰/横滚 一侧电机加速,另一侧减速 产生绕机体轴的力矩
偏航 对角电机同时加速/减速 利用反扭矩差产生偏航力矩

我曾经调试一架四旋翼时,发现偏航响应特别慢。查了半天,原来是两个对角电机的响应时间不一致。你看,硬件上的微小差异,在动力学上就会被放大。

1.4 坐标系与姿态表示

搞动力学,坐标系是绕不开的。我们通常用两个坐标系:

  • 地面坐标系(NED):北-东-地,固定在地面上
  • 机体坐标系(Body):固定在飞机上,原点在重心

从机体坐标系到地面坐标系的转换,靠的是姿态角。常用的表示方法有三种:欧拉角、旋转矩阵、四元数。

避坑指南: 我曾经在项目中吃过欧拉角的亏——万向锁。当俯仰角接近 ±90° 时,横滚和偏航会耦合在一起,姿态解算直接崩掉。从那以后,我所有飞控代码里都用四元数做姿态表示,只在最后输出给用户时才转成欧拉角。

1.5 动力学方程:从理论到代码

完整的四旋翼动力学方程长这样:

// 平动方程(地面坐标系)
m * d²r/dt² = R * T + m * g

// 转动方程(机体坐标系)
I * dω/dt = τ - ω × (I * ω)

其中:
r  = 位置向量
R  = 旋转矩阵
T  = 推力向量
g  = 重力加速度
I  = 转动惯量矩阵
ω  = 角速度向量
τ  = 力矩向量

这个方程看着复杂,但拆开来看其实就两件事:力怎么让飞机移动,力矩怎么让飞机转动。我在实际项目中,会把这两个方程分别写成两个函数,方便调试。

我的习惯: 写动力学仿真时,先验证平动部分。把飞机固定在一个点上(不让它转动),只给垂直方向的力,看位置响应是否正确。然后再放开转动,逐步验证。这样出问题了,能快速定位是平动还是转动的问题。

1.6 为什么多旋翼天生不稳定?

你可能会问:既然原理这么清楚,为什么无人机不能像石头一样稳稳悬停?

原因在于多旋翼是「静不稳定」系统。什么意思?你想想看,如果飞机受到一阵侧风,机身倾斜了,升力方向也跟着偏了。这时候如果没有主动控制,飞机会越偏越厉害,最后翻掉。

这就是为什么飞控里必须有姿态控制器。它就像一个虚拟的「弹簧」,时刻把飞机拉回水平状态。我刚开始做飞控时,觉得姿态环的 P 增益越大越好,结果飞机高频振荡,差点炸机。后来才明白,增益不是越大越好,要和系统的自然频率匹配。

小技巧: 判断你的飞控参数是否合理,可以做一个简单的「阶跃响应」测试。给一个小的姿态指令,看飞机的响应曲线。如果超调量超过 20%,说明增益偏大;如果响应时间超过 0.5 秒,说明增益偏小。

1.7 本章小结

好了,我们把无人机动力学的基础捋了一遍:

  • 牛顿力学是飞行的根基,力和力矩是核心
  • 多旋翼靠差速控制实现六个自由度的运动
  • 坐标系和姿态表示是动力学建模的数学工具
  • 动力学方程是飞控设计的理论基础
  • 多旋翼天生不稳定,需要主动控制

这些概念,说白了就是飞控工程师的「内功」。内功练好了,后面调 PID、写代码、做仿真,才能得心应手。

我个人觉得,理解动力学最好的方式就是动手。拿一个简单的四旋翼仿真模型,改改参数,看看响应变化。比看一百页理论书都管用。


专注资料整理