EGO-Planner、MINCO、minimum-snap 等规划器都不直接优化四个电机转速,也不直接优化滚转角、俯仰角和力矩,而是优化三维位置轨迹。这样做的依据是:四旋翼是微分平坦系统,它的全部状态和控制输入都能由位置、偏航角及其有限阶导数算出来。
下文先给出判断标准,再用质点、小车和四旋翼三个例子说明它的含义,最后讨论它对轨迹规划的意义和局限。
一、判断标准
考虑一般的动力系统
x˙=f(x,u),
其中 x 是状态(位置、速度、姿态、角速度等),u 是控制输入(推力、力矩或加速度指令等)。
若系统有 m 个独立控制输入,要证明它微分平坦,就要找到 m 个相互独立的输出 y=[y1, y2, ⋯, ym]T,使全部状态和输入都能写成
x=Φ(y,y˙,y¨,⋯,y(r)),u=Ψ(y,y˙,y¨,⋯,y(s)),
其中 r、s 是有限整数。这组 y 称为平坦输出。
判断的关键是能否找到这样一组平坦输出,与系统是否线性、是否完全驱动都无关。
二、“直接恢复”的含义
“由平坦输出直接恢复”指只用有限次代数运算、三角函数运算、求导和代入动力学方程,不需要对未知变量积分、求解新的微分方程,也不依赖系统过去的运动历史。
反例:若选某个变量 y(t) 作为候选平坦输出,恢复状态时却出现
x(t)=x(0)+∫0ty(τ)dτ,
那么仅凭当前时刻的 y,y˙,y¨ 等导数无法确定 x(t),还需要初始值和历史积分。这样的 y 通常不能作为平坦输出。换句话说,微分平坦性要求当前时刻的有限阶导数信息就足以恢复状态和输入。
三、最简单的例子:一维质点
一维质点模型为
x˙=v,v˙=u,
其中 x 是位置,v 是速度,u 是加速度输入。选位置作为平坦输出 y=x,立即得到
x=y,v=y˙,u=y¨.
只要规划一条足够光滑的位置曲线 y(t),速度和控制输入就都确定了,所以这个系统是微分平坦的。这也是轨迹规划常用多项式、B 样条或 MINCO 描述位置轨迹的原因:位置曲线一旦确定,各阶导数都可以直接算出。
四、非完整约束的小车也可能平坦
微分平坦性不要求系统能向任意方向运动。非完整约束小车只能前进、后退和转向,不能横向平移,简化模型为
x˙=vcosθ,y˙=vsinθ,θ˙=ω,
其中 (x,y) 是位置,θ 是车头朝向,v 是前进速度,ω 是转向角速度。
选平面位置 yf=[x, y]T 作为平坦输出,由一阶导数得到朝向和速度,由一、二阶导数得到角速度:
θ=atan2(y˙,x˙),v=x˙2+y˙2,ω=x˙2+y˙2x˙y¨−y˙x¨.
给出平面内的运动轨迹,就能反推出车头方向和控制输入(下图左)。所以有运动约束、甚至欠驱动的系统,也可能是微分平坦的。

五、四旋翼为什么是微分平坦的
理想四旋翼的平坦输出通常取
yf=[x, y, z, ψ]T,
其中 x,y,z 是质心位置,ψ 是偏航角(机头朝向)。
四个电机转速决定了四个独立输入:总推力 f 与滚转、俯仰、偏航三个力矩 τx,τy,τz,即 u=[f, τx, τy, τz]T。而四旋翼在三维空间中有六个自由度 x,y,z,ϕ,θ,ψ,因此是典型的欠驱动系统。平坦性的特殊之处在于,四个平坦输出就能描述它的完整运动。
1. 由加速度恢复推力
假设世界坐标系竖直向上为 e3=[0,0,1]T,重力向下,总推力沿机体 z 轴,暂时忽略空气阻力和电机动态。平移动力学为
mp¨=−mge3+fb3,
其中 p=[x,y,z]T 是位置,m 是质量,b3 是机体 z 轴在世界系下的方向。整理得到全文最关键的关系:
fb3=m(p¨+ge3)
给定位置轨迹 p(t),就能算出总推力大小和机体 z 轴方向:
f=m∥p¨+ge3∥,b3=∥p¨+ge3∥p¨+ge3.
也就是说,位置的二阶导数决定了无人机朝哪里倾斜、需要多大推力(上图右)。悬停时 p¨=0,机体 z 轴竖直向上;向前加速就必须向前倾斜;快速爬升时总推力必须大于重力。
2. 偏航角补全姿态
b3 只确定了机体怎样倾斜,无人机仍可以绕自身 z 轴旋转:同样悬停在原地,机头可以朝东、朝西或缓慢转圈。因此还需要偏航角 ψ(t)。
先由偏航角定义期望水平朝向,再与 b3 构造另外两个机体轴:
b1c=cosψsinψ0,b2=∥b3×b1c∥b3×b1c,b1=b2×b3,
姿态矩阵即为 R=[b1 b2 b3]。加速度决定倾斜,偏航角决定机头朝向,二者合起来得到完整姿态。
3. 更高阶导数恢复角速度和力矩
姿态矩阵与机体角速度 ω 满足
R˙=Rω^,ω^=RTR˙,
其中 ω^ 是 ω 对应的反对称矩阵。R 由 p¨ 和 ψ 构造,对它求导后,角速度由位置三阶导数 p(3)(jerk)和 ψ˙ 决定;再求一次导,角加速度 ω˙ 由位置四阶导数 p(4)(snap)和 ψ¨ 决定。最后由转动动力学
τ=Jω˙+ω×(Jω)
算出控制力矩 τ=[τx, τy, τz]T,其中 J 是转动惯量矩阵。
4. 完整的恢复链条
| 平坦输出及其导数 |
可以恢复的物理量 |
| p |
位置 |
| p˙ |
速度 |
| p¨ |
推力大小、推力方向、滚转和俯仰 |
| ψ |
偏航方向、完整姿态 |
| p(3),ψ˙ |
角速度 |
| p(4),ψ¨ |
角加速度、控制力矩 |
最后,总推力和三个力矩通过混控矩阵 A 与四个旋翼的推力相联系:
fτxτyτz=Af1f2f3f4.
只要 A 可逆,就能算出每个旋翼的推力。
整个过程只涉及有限次求导和代数运算,不需要求解新的微分方程,这正是微分平坦性的定义。
六、为什么常常最小化 snap
经典的 minimum-snap 轨迹最小化位置四阶导数的平方积分:
J=∫0Tp(4)(t)2dt.
由上一节可知,snap 与角加速度和控制力矩直接相关。压低 snap,姿态变化、力矩变化和电机指令都更平缓,轨迹也更容易被真实无人机跟踪。Mellinger 和 Kumar 的经典工作就是利用这一性质,在三维位置和偏航角空间中生成可跟踪的轨迹。具体计算见《Minimum Snap 轨迹》。
七、平坦不等于任意轨迹都能飞
理论上,任何足够光滑的 [x(t),y(t),z(t),ψ(t)] 都能算出对应的状态和输入,但算出的量可能超出硬件能力:总推力超过电机上限、倾角过大、角速度或力矩过大、电机转速变化过快,或者轨迹本身穿过障碍物。
因此轨迹规划仍要加入动力学约束和环境约束,例如
∥p˙∥≤vmax,∥p¨∥≤amax,
以及推力、姿态角、角速度、走廊安全距离等限制。微分平坦性解决的是“怎样从位置轨迹恢复完整的状态和控制指令”,并不保证轨迹满足硬件、控制和避障约束。
八、判断一个系统是否平坦的步骤
-
写出明确的动力学模型。 平坦性是针对特定数学模型而言的。以四旋翼为例,要说明是否考虑空气阻力、电机动态、桨叶模型、负载、机械臂、柔性绳索和执行器饱和;模型复杂程度不同,结论可能不同。
-
选择候选输出。 优先选择直接反映运动目标的变量,数量通常与独立输入数相同:
| 系统 |
常见候选平坦输出 |
| 一维质点 |
位置 |
| 非完整约束小车 |
平面位置 |
| 四旋翼 |
三维位置 + 偏航角 |
| 机械臂 |
末端位姿或部分关节变量 |
-
逐层求导并代入动力学方程,检查能否依次恢复位置、速度、姿态、角速度、推力、力矩和其他状态与输入。
-
检查是否引入积分或额外的微分方程。 全部变量都能由有限次求导和代数运算得到,系统在该模型下就是平坦的;若必须依赖积分、初始条件或历史轨迹,可以换一组候选输出、对输入做动态扩展,或者接受该系统在当前模型下不平坦。
九、注意奇异状态
很多系统只在一定范围内有良好的平坦参数化。
- 小车在 x˙=y˙=0(速度为零)时,θ=atan2(y˙,x˙) 无法确定车头朝向;
- 四旋翼在 p¨+ge3=0 时,推力方向 b3 无定义;b3 与期望水平朝向 b1c 发生退化关系时,姿态构造也会失效。
所以更准确的说法是:系统在避开奇异状态的局部区域内具有微分平坦性。
十、对 EGO-Planner 等规划器的意义
EGO-Planner、Fast-Planner、GCOPTER、MINCO 等框架通常不直接优化电机转速、控制力矩、完整姿态曲线或飞控底层的混控输入,而是优化三维位置曲线 p(t),并约束速度、加速度、光滑性和障碍物距离。
依据正是四旋翼的微分平坦性:规划器只需生成一条足够光滑、满足约束的位置轨迹,跟踪控制器就能根据期望的位置、速度和加速度计算期望推力与姿态。性能更高的控制器还会用 jerk 和 snap 构造前馈项,改善高速飞行时的跟踪效果。推力与姿态的具体算例见《从轨迹到推力与姿态》。
小结
- 系统微分平坦的条件:存在一组平坦输出,使全部状态和控制输入都能由这些输出及其有限阶导数直接恢复,不需要积分或求解额外的微分方程。
- 四旋翼的常用平坦输出是 [x, y, z, ψ]T,核心关系是 fb3=m(p¨+ge3):加速度决定推力方向和大小,偏航角补全机头朝向,更高阶导数恢复角速度和力矩。
- 四旋翼虽然欠驱动,但在常用模型下仍是微分平坦系统,这是无人机轨迹规划主要围绕位置曲线展开的理论基础。