跳转至

闭环控制与比例积分微分控制器

多旋翼本身不会在受到扰动后自动恢复到目标姿态。飞控必须持续测量实际运动,把它与操作者或导航系统给出的目标比较,再调整各电机输出。

这种“测量、比较、修正、再次测量”的结构称为闭环控制(Closed-loop Control)。

小型多旋翼常使用比例积分微分控制器(PID,Proportional Integral Derivative Controller)完成快速姿态控制。它不是唯一的控制方法,但适合用来理解反馈控制如何把误差转化为电机修正量。

飞控闭环与PID控制

闭环中有哪些量

以滚转角速度控制为例:

  • 期望值:操作者希望机体以多快的角速度滚转;
  • 测量值:陀螺仪测得的实际滚转角速度;
  • 误差:期望角速度减去实际角速度;
  • 控制量:控制器计算的滚转修正;
  • 执行结果:混控器改变左右电机推力,机体产生滚转角加速度。

控制器计算完成后,新的机体运动又会被陀螺仪测得并反馈回来。这个过程以固定周期不断重复。

开环控制为什么不够

如果飞控只根据摇杆位置给电机固定输出,而不读取传感器反馈,它无法知道:

  • 电机和螺旋桨是否存在差异;
  • 电池电压是否下降;
  • 机体是否受到阵风;
  • 载荷和重心是否变化;
  • 上一次修正是否已经过量。

开环命令只能告诉执行器“输出多少”,不能保证机体“实际运动多少”。闭环反馈使系统能够对这些变化作出修正。

比例、积分和微分三项

比例积分微分控制器由三项控制作用组成。

PID三项作用

比例项处理当前误差

比例项(P,Proportional)与当前误差成比例。误差越大,立即施加的修正越强。

比例作用过弱时,系统对目标变化和扰动响应迟缓;过强时,系统可能反复越过目标并产生振荡。

积分项处理持续误差

积分项(I,Integral)累积一段时间内的误差,用于消除不能被比例项完全抵消的持续偏差。

例如,重心偏移、持续侧风或者动力差异可能让系统长期偏离目标。积分项会逐渐增加修正,直到平均误差减小。

积分作用过弱时,飞行器可能无法保持目标;过强或者没有合理限制时,累计控制量可能造成缓慢摆动和恢复延迟。

微分项抑制快速变化

经典微分项(D,Derivative)根据误差变化速度产生阻尼作用,帮助减少过冲和快速振荡。

实际飞控实现常会对陀螺仪测量变化进行微分或使用等效结构,以减少期望值突变造成的冲击。微分运算会放大高频噪声,因此微分项通常需要专门滤波。

微分作用不足时,快速动作后的过冲可能更明显;微分作用过强或信号噪声过大时,电机可能发热并产生高频振荡。

角度环和角速度环

自稳飞行通常使用串级控制:

  1. 外层角度控制器比较期望倾角和估计倾角;
  2. 外层输出期望角速度;
  3. 内层角速度控制器比较期望角速度和陀螺仪角速度;
  4. 内层输出滚转、俯仰和偏航修正;
  5. 混控器把修正分配给电机。

角速度模式下,摇杆可以直接生成期望角速度,因此不需要自稳角度环持续把机体拉回水平。无论采用哪种模式,内层角速度控制仍然负责快速稳定机体运动。

前馈不是PID三项之一

前馈(FF,Feedforward)根据期望值变化直接生成控制作用,不必等待误差出现后再修正。

在人工操控场景中,前馈可以让飞行器更快跟随摇杆变化;但前馈本身不能纠正外部扰动和模型误差,仍需要反馈控制。

因此:

  • PID根据实际误差修正;
  • 前馈根据目标变化提前作用;
  • 两者可以共同存在,但概念不同。

混控器如何分配控制量

PID控制器分别给出滚转、俯仰和偏航修正,油门通道给出总推力目标。混控器根据机架布局和电机位置,把这些控制量转换为每个电机的输出。

以四旋翼为例,单个电机输出同时受到以下因素影响:

  • 总推力;
  • 滚转修正;
  • 俯仰修正;
  • 偏航修正。

电机输出存在最小值和最大值。当某个电机达到上限或下限后,混控器无法继续完整实现所有控制目标,这称为输出饱和。

在输出饱和时,飞控可能需要在保持总推力和保持姿态之间作出取舍。不同固件和混控策略的处理方式并不相同。

输出饱和为什么会引起积分饱和

如果执行器已经达到上限,控制器即使继续增大命令也无法产生更多力矩。此时误差可能持续存在,积分项仍不断累积,这称为积分饱和(Integrator Windup)。当执行器退出饱和后,过大的积分量会造成明显过冲和较慢恢复。

常见抗饱和方法包括:

  • 对积分项设置上下限;
  • 只在执行器仍有调节余量时继续积分;
  • 在饱和时停止或衰减推动饱和方向的积分;
  • 根据实际可实现输出反算并修正积分状态;
  • 在控制分配中为关键姿态轴保留优先级和余量。

具体实现取决于固件,不能只看到“设置了积分上限”就认为所有饱和问题已经解决。

滤波、延迟和控制增益互相影响

陀螺仪信号包含机架共振、电机谐波和其他噪声。滤波可以抑制这些成分,但任何滤波都可能引入相位延迟。这里的相位延迟可以直观理解为“控制器看到的反馈比真实运动更晚到达”。

控制增益表示相同误差能够产生多强的控制修正。增益过低会使响应迟缓,增益过高则可能在延迟和结构共振作用下形成振荡。

控制系统需要在以下目标之间平衡:

  • 抑制噪声;
  • 减少延迟;
  • 保持足够控制增益;
  • 避免电机过热和高频振荡。

不能脱离滤波讨论PID,也不能只追求更高循环频率。采样、计算、通信和执行器响应共同决定闭环性能。

参数变化如何影响系统

下面的现象只用于帮助理解,不能代替日志和实测:

现象 可能相关因素
跟随目标迟缓 比例作用不足、滤波延迟、动力响应慢
快速高频振荡 控制增益过高、结构共振、传感器噪声
动作停止后反复摆动 阻尼不足、积分释放、结构柔性
持续偏离目标 积分作用不足、输出饱和、动力不对称
电机异常发热 高频振荡、微分噪声、机械故障、螺旋桨问题

同一个现象可能由多种原因造成。仅凭视频画面或者手感修改单个参数,容易掩盖机械故障。

调整参数前的顺序

  1. 检查机架、螺钉、电机轴承和螺旋桨是否完好;
  2. 核对飞控方向、电机顺序和螺旋桨旋向;
  3. 使用适合当前硬件和固件版本的默认值或厂商配置;
  4. 记录当前配置;
  5. 检查黑匣子日志、陀螺仪噪声和电机温度;
  6. 每次只改变少量相关参数;
  7. 在可控环境中短时间验证;
  8. 出现高频振荡或电机异常发热时立即停止。

在工作台测试电机前必须拆除螺旋桨。不要通过手持已安装螺旋桨的飞行器来判断PID响应。

检查理解

  1. 开环控制和闭环控制的根本区别是什么?
  2. 比例项、积分项和微分项分别关注什么?
  3. 为什么微分项容易受到高频噪声影响?
  4. 前馈和PID反馈有什么不同?
  5. 什么是电机输出饱和?

主要参考