本文是 Stevens《Aircraft Control and Simulation》读书笔记系列的第三篇,覆盖教材第3-4章中的PID控制与飞控实现部分。阅读本文前需掌握模态概念(短周期、荷兰滚等)以及拉普拉斯变换和传递函数。


第三篇:PID控制与飞控实现——从单环到串级

一、概念引入——从”知道怎么动”到”让它按期望动”

1.1 问题

第一篇我们建立了飞行器的12状态数学模型,第二篇分析了系统的固有力学模态。现在的问题非常直接:这个系统怎么控?

Stevens 教材第3-4章从最简单的单回路PID开始,逐步搭建出完整的飞控架构。这些内容与你已有的《PX4-PID调参原理与方法》文章直接对应——但Stevens提供了更系统的理论视角。

1.2 历史的五分钟

时间 人物 贡献
1922 米诺斯基(Minorsky) 首次提出PID控制概念
1939 齐格勒-尼科尔斯(Ziegler-Nichols) 提出PID参数整定的实用方法
1950s 自动驾驶仪 串级PID在飞控中的首次应用
1970s 自适应控制 现代飞控理论的系统化
2010s PX4 / ArduPilot 开源飞控普及了串级PID结构

二、单回路PID

2.1 经典PID公式

连续形式的PID控制器:

u(t)=Kpe(t)+Ki0te(τ)dτ+Kdde(t)dt u(t) = K_p e(t) + K_i \int_0^t e(\tau) d\tau + K_d \frac{de(t)}{dt}

其中 e(t)=r(t)y(t)e(t) = r(t) - y(t) 是误差(期望值 - 实际值)。

2.2 频率域解释

在拉普拉斯域中,PID控制器(在微分方程第三篇中我们学过传递函数)为:

Gc(s)=Kp+Kis+Kds=Kds2+Kps+Kis G_c(s) = K_p + \frac{K_i}{s} + K_d s = \frac{K_d s^2 + K_p s + K_i}{s}

极点s=0s=0(积分项提供了一型系统的特性——消除稳态误差)

零点:由 Kp,Ki,KdK_p, K_i, K_d 决定,可以配置在期望的位置

2.3 PID的三个环节的作用

环节 时域作用 频域作用 对飞控的意义
P 响应当前误差 提升带宽 让系统响应更快
I 消除累积误差 消除稳态误差 抵抗重力/风等常值干扰
D 预测误差变化趋势 增加阻尼、提高稳定裕度 抑制振荡

2.4 单回路PID的局限性

单纯的位置PID(用一个PID控制器直接输出电机PWM)在飞控中是不够的。原因是:

  1. 不同物理量的时间尺度差异太大:位置(秒级) → 姿态(百毫秒级) → 角速度(十毫秒级)
  2. 单个PID无法同时在多个带宽上表现良好
  3. 缺少内环的快速抗干扰能力

解决方案:串级PID


三、串级PID——飞控的标准架构

3.1 结构

串级PID是目前几乎所有开源飞控(PX4、ArduPilot)的核心控制结构:

1
期望位置 → [位置PID] → 期望速度 → [速度PID] → 期望姿态 → [姿态PID] → 期望角速度 → [速率PID] → 混控器 → 电机

共四层PID,从外到内:

  1. 位置环(最慢,~10 Hz)
  2. 速度环(~20 Hz)
  3. 姿态环(~50-100 Hz)
  4. 速率环(最快,~250-500 Hz)

3.2 每层的物理意义

控制环 控制量 被控对象 物理模态关联 PX4参数名
位置 PN,PE,PDP_N, P_E, P_D 位置运动学 长周期 xyPxy\text{P}/zPz\text{P}
速度 P˙N,P˙E,P˙D\dot{P}_N, \dot{P}_E, \dot{P}_D 平动动力学 xyvelPxy\text{vel}\text{P}
姿态 ϕ,θ\phi, \theta 姿态运动学 短周期/荷兰滚 attP\text{att}\text{P}
速率 p,q,rp, q, r 转动动力学 短周期/滚转收敛 rateP\text{rate}\text{P}, rateD\text{rate}\text{D}

3.3 为什么串级比单环好?

考虑一个风干扰:风推了飞机一下→产生侧滑角→产生滚转力矩→角速度变化→姿态变化→位置变化。

在串级结构中:

  • 速率环在5-10 ms内检测到角速度变化,立刻修正
  • 姿态环在20 ms内注意到姿态偏移
  • 位置环根本不需要做任何大动作——内环已经把干扰消化了

在单环结构中,位置PID必须等位置误差积累到一定程度才能动作——响应滞后几百毫秒。

3.4 PX4中的具体实现

PX4的串级PID具体参数(以多旋翼为例):

速率环(最内层):

1
2
3
MC_ROLLRATE_P: 滚转速率比例增益
MC_ROLLRATE_I: 滚转速率积分增益
MC_ROLLRATE_D: 滚转速率微分增益

姿态环(中间层):

1
MC_ROLL_P: 滚转姿态比例增益

速度/位置环(外层):

1
MC_POS_RESP: 位置响应时间(统一了速度和位置的参数化)

实际的混控器将PID输出映射到4个电机:

[T1T2T3T4]=Mmix[Ttotalτϕτθτψ] \begin{bmatrix} T_1 \\ T_2 \\ T_3 \\ T_4 \end{bmatrix} = \mathbf{M}_{\text{mix}} \begin{bmatrix} T_{\text{total}} \\ \tau_\phi \\ \tau_\theta \\ \tau_\psi \end{bmatrix}

其中 Mmix\mathbf{M}_{\text{mix}} 是4×4的混控矩阵,取决于无人机的几何配置(X型、+型、Hexa等)。


四、PID参数整定的系统化方法

4.1 从内到外的整定顺序

  1. 先调速率环(最内层):

    • 给飞机一个角速度阶跃指令
    • KpK_p 使响应”足够快但不振荡”
    • KdK_d 增加阻尼(抑制超调)
    • KiK_i 消除稳态误差
    • 目标:ζ0.7\zeta \approx 0.7(临界阻尼附近,快速无超调)
  2. 再调姿态环(中间层):

    • 在速率环已调好的前提下,给一个角度阶跃
    • 姿态环的输出就是速率环的期望——所以姿态环 KpK_p 越大,期望的角速度越大
    • 目标:ωattωrate/3\omega_{att} \le \omega_{rate}/3(保证带宽分离)
  3. 最后调速度/位置环(外层):

    • 姿态环已调好,给位置阶跃
    • 每层带宽分离因子 3-5 倍

4.2 带宽分离原则

串级PID最重要的原则:内环带宽 ≥ 3× 中环带宽 ≥ 3× 外环带宽

典型带宽 周期
速率环 30-80 rad/s ~5 Hz
姿态环 10-20 rad/s ~1 Hz
位置环 1-3 rad/s ~0.2 Hz

如果违反这个原则——例如姿态环和速率环的带宽太接近——两环会互相干涉,产生不明振荡。

4.3 与模态分析的关系

第二篇中我们学了短周期模态ωsp2040\omega_{sp} \approx 20-40 rad/s 对于四旋翼)。

速率环的目标就是把短周期模态的阻尼从自然值(可能ζ=0.3\zeta=0.3)提升到ζ=0.7\zeta=0.7左右——这就是为什么 DrateD_{\text{rate}} 参数在你的PID调参文章中如此重要。


五、米诺斯基PID vs 现代飞控

5.1 经典PID的局限

尽管串级PID是当前开源飞控的标准,它在以下场景有明显的局限:

  1. 耦合效应:滚转和偏航之间的耦合(荷兰滚)需要专用解耦器
  2. 饱和:PID输出饱和后的积分饱和(integrator windup)问题
  3. 变参数:无人机参数随姿态和速度变化(如大迎角时气动导数变化)

5.2 从PID到现代控制理论

第四篇中我们将学习状态空间控制器设计——它直接处理耦合和变参数问题。


六、核心公式速查卡

公式 含义
u(t)=Kpe(t)+Kiedt+Kde˙u(t) = K_p e(t) + K_i \int e\,dt + K_d \dot{e} 连续PID
Gc(s)=Kp+Ki/s+KdsG_c(s) = K_p + K_i/s + K_d s PID传递函数
ωoutωmid/3ωin/9\omega_{out} \le \omega_{mid}/3 \le \omega_{in}/9 带宽分离原则
ζ0.7\zeta \approx 0.7 目标阻尼 临界阻尼,最优响应

参考文献

  1. Stevens, B. L., Lewis, F. L., & Johnson, E. N. (2015). Aircraft Control and Simulation (3rd ed., Chapter 3-4). Wiley.
  2. Åström, K. J., & Hägglund, T. (2006). Advanced PID Control. ISA.
  3. Minorsky, N. (1922). “Directional Stability of Automatically Steered Bodies”. Journal of the American Society for Naval Engineers, 34(2), 280-309.
  4. Ziegler, J. G., & Nichols, N. B. (1942). “Optimum Settings for Automatic Controllers”. Transactions of the ASME, 64, 759-768.

下一节:状态空间控制器设计

从PID走向状态反馈:全状态观测器、LQR控制器——用现代控制理论处理多变量耦合问题,并介绍Stevens教材中的特征结构配置方法。