Stevens《飞行器控制与仿真》读书笔记(三):PID控制与飞控实现——从单环到串级
本文是 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控制器:
其中 是误差(期望值 - 实际值)。
2.2 频率域解释
在拉普拉斯域中,PID控制器(在微分方程第三篇中我们学过传递函数)为:
极点:(积分项提供了一型系统的特性——消除稳态误差)
零点:由 决定,可以配置在期望的位置
2.3 PID的三个环节的作用
| 环节 | 时域作用 | 频域作用 | 对飞控的意义 |
|---|---|---|---|
| P | 响应当前误差 | 提升带宽 | 让系统响应更快 |
| I | 消除累积误差 | 消除稳态误差 | 抵抗重力/风等常值干扰 |
| D | 预测误差变化趋势 | 增加阻尼、提高稳定裕度 | 抑制振荡 |
2.4 单回路PID的局限性
单纯的位置PID(用一个PID控制器直接输出电机PWM)在飞控中是不够的。原因是:
- 不同物理量的时间尺度差异太大:位置(秒级) → 姿态(百毫秒级) → 角速度(十毫秒级)
- 单个PID无法同时在多个带宽上表现良好
- 缺少内环的快速抗干扰能力
解决方案:串级PID。
三、串级PID——飞控的标准架构
3.1 结构
串级PID是目前几乎所有开源飞控(PX4、ArduPilot)的核心控制结构:
1 | 期望位置 → [位置PID] → 期望速度 → [速度PID] → 期望姿态 → [姿态PID] → 期望角速度 → [速率PID] → 混控器 → 电机 |
共四层PID,从外到内:
- 位置环(最慢,~10 Hz)
- 速度环(~20 Hz)
- 姿态环(~50-100 Hz)
- 速率环(最快,~250-500 Hz)
3.2 每层的物理意义
| 控制环 | 控制量 | 被控对象 | 物理模态关联 | PX4参数名 |
|---|---|---|---|---|
| 位置 | 位置运动学 | 长周期 | / | |
| 速度 | 平动动力学 | — | ||
| 姿态 | 姿态运动学 | 短周期/荷兰滚 | ||
| 速率 | 转动动力学 | 短周期/滚转收敛 | , |
3.3 为什么串级比单环好?
考虑一个风干扰:风推了飞机一下→产生侧滑角→产生滚转力矩→角速度变化→姿态变化→位置变化。
在串级结构中:
- 速率环在5-10 ms内检测到角速度变化,立刻修正
- 姿态环在20 ms内注意到姿态偏移
- 位置环根本不需要做任何大动作——内环已经把干扰消化了
在单环结构中,位置PID必须等位置误差积累到一定程度才能动作——响应滞后几百毫秒。
3.4 PX4中的具体实现
PX4的串级PID具体参数(以多旋翼为例):
速率环(最内层):
1 | MC_ROLLRATE_P: 滚转速率比例增益 |
姿态环(中间层):
1 | MC_ROLL_P: 滚转姿态比例增益 |
速度/位置环(外层):
1 | MC_POS_RESP: 位置响应时间(统一了速度和位置的参数化) |
实际的混控器将PID输出映射到4个电机:
其中 是4×4的混控矩阵,取决于无人机的几何配置(X型、+型、Hexa等)。
四、PID参数整定的系统化方法
4.1 从内到外的整定顺序
先调速率环(最内层):
- 给飞机一个角速度阶跃指令
- 调 使响应”足够快但不振荡”
- 加 增加阻尼(抑制超调)
- 加 消除稳态误差
- 目标:(临界阻尼附近,快速无超调)
再调姿态环(中间层):
- 在速率环已调好的前提下,给一个角度阶跃
- 姿态环的输出就是速率环的期望——所以姿态环 越大,期望的角速度越大
- 目标:(保证带宽分离)
最后调速度/位置环(外层):
- 姿态环已调好,给位置阶跃
- 每层带宽分离因子 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 与模态分析的关系
第二篇中我们学了短周期模态( rad/s 对于四旋翼)。
速率环的目标就是把短周期模态的阻尼从自然值(可能)提升到左右——这就是为什么 参数在你的PID调参文章中如此重要。
五、米诺斯基PID vs 现代飞控
5.1 经典PID的局限
尽管串级PID是当前开源飞控的标准,它在以下场景有明显的局限:
- 耦合效应:滚转和偏航之间的耦合(荷兰滚)需要专用解耦器
- 饱和:PID输出饱和后的积分饱和(integrator windup)问题
- 变参数:无人机参数随姿态和速度变化(如大迎角时气动导数变化)
5.2 从PID到现代控制理论
第四篇中我们将学习状态空间控制器设计——它直接处理耦合和变参数问题。
六、核心公式速查卡
| 公式 | 含义 |
|---|---|
| 连续PID | |
| PID传递函数 | |
| 带宽分离原则 | |
| 目标阻尼 | 临界阻尼,最优响应 |
参考文献
- Stevens, B. L., Lewis, F. L., & Johnson, E. N. (2015). Aircraft Control and Simulation (3rd ed., Chapter 3-4). Wiley.
- Åström, K. J., & Hägglund, T. (2006). Advanced PID Control. ISA.
- Minorsky, N. (1922). “Directional Stability of Automatically Steered Bodies”. Journal of the American Society for Naval Engineers, 34(2), 280-309.
- Ziegler, J. G., & Nichols, N. B. (1942). “Optimum Settings for Automatic Controllers”. Transactions of the ASME, 64, 759-768.
下一节:状态空间控制器设计
从PID走向状态反馈:全状态观测器、LQR控制器——用现代控制理论处理多变量耦合问题,并介绍Stevens教材中的特征结构配置方法。