增益调度控制模拟器 返回
控制工程

增益调度控制模拟器

用于控制在不同运行点处增益变化的非线性系统的工具。可切换固定增益控制和增益调度控制进行对比,实时计算闭环增益、与设计值的偏差、推估超调量等指标,直观体现为什么需要增益调度。

参数设置
运行点(调度变量)
%
对气速度、液位、吞吐量等可直接测量的量
低运行点处系统增益
运行点 0% 处的过程增益
高运行点处系统增益
运行点 100% 处的过程增益
设计(名义)比例增益 Kdesign
在名义运行点 50% 处调整的控制器增益
控制器方式
固定增益或随运行点调度的增益调度控制
计算结果
当前运行点处的系统增益
控制器增益 Kc
实际闭环增益
与设计值的增益偏差 (%)
推估超调量 (%)
性能一致性
运行包络线 — 系统增益、控制器增益、闭环增益

横轴为调度变量 0~100%。系统增益(蓝色)沿着右上方向线性增加。在固定模式下,控制器增益(橙色)保持水平,而在调度模式下,控制器增益沿着能抵消系统增益的曲线变化,使得其乘积即闭环增益(绿色)保持水平。

闭环增益 vs 运行点
推估超调量 vs 运行点
理论与主要公式

$$K_{plant}(s)=K_{low}+(K_{high}-K_{low})\,\frac{s}{100}$$

系统增益随调度变量 s [%] 线性变化。Klow、Khigh 分别为运行点 0%、100% 处的过程增益。

$$K_c=K_{design}\cdot\frac{K_{plant,nominal}}{K_{plant}}\ \Rightarrow\ K_c\,K_{plant}=\text{const}$$

调度控制的控制器增益 Kc 与名义运行点 50% 处的系统增益 Kplant,nominal 成正比,与当前系统增益成反比。这样可保持闭环增益 Kc·Kplant 恒定。

$$\zeta=\zeta_{nom}\sqrt{\frac{K_{design}\,K_{plant,nominal}}{K_c\,K_{plant}}},\qquad M_p=e^{-\pi\zeta/\sqrt{1-\zeta^{2}}}$$

将闭环系统视为二阶系统,阻尼比 ζ 与闭环增益的平方根成反比(名义阻尼比 ζnom=0.6)。超调量 Mp 由 ζ 计算得出。增益调度通过保持闭环增益恒定,确保响应在整个运行范围内一致。

什么是增益调度

🙋
我在控制工程的书籍中经常看到"增益调度"这个词,能通俗地解释一下它是做什么的吗?
🎓
简单来说,增益调度就是根据运行点来切换控制器的增益。很多实际的系统都是非线性的,随着运行点的变化,系统的过程增益也会变化。比如,飞行器的空气动力学特性会随速度和高度变化,液位系统的增益会随液位高度变化,化学反应器的增益会随温度变化。如果用一个单一的控制器在某个运行点调好,拿到另一个运行点去,性能马上就下降了。所以我们要根据运行点改变控制器的增益,这就是增益调度。
🙋
那么,为什么不能就用一个固定的增益呢?比如用平均值?
🎓
这就是问题所在。试试点击左边的"固定增益控制",然后移动运行点滑块。你会看到,当系统增益低的时候,闭环增益变小,响应变慢;当系统增益高的时候,闭环增益变大,超调增多。用本工具的默认值(gainLow=1, gainHigh=4),在100%运行点处,闭环增益会比设计值高出+60%。即使用平均值也不行,因为你在两个端点处的表现都会很差。增益调度通过让控制器增益与系统增益成反比,能够保持闭环增益恒定。
🙋
那选择"增益调度控制"后会发生什么?
🎓
切换到"增益调度控制",然后再动运行点滑块。你会看到控制器增益 Kc 随系统增益的反向变化——系统增益增加2倍,Kc 就减半。这样它们的乘积,即闭环增益,就始终保持不变。闭环增益一旦不变,阻尼比和超调量在整个运行范围内就基本相同了。你会看到"闭环增益 vs 运行点"的图表是一条水平线,这就是增益调度起效了。
🙋
但是,控制器增益 Kc 怎样才能自动适应"当前的运行点"呢?需要直接测量系统增益吗?
🎓
很好的问题。直接测量系统增益很困难。所以我们用"调度变量"来代替。调度变量必须充分代表非线性特性,而且能直接、快速、准确地测量。在飞行控制中,调度变量通常是对气速度或动压,在液位控制中是液位本身,在发动机控制中是转速或负荷。实现上,我们会为多个运行点预先计算好相应的控制器增益,然后根据测量到的调度变量去表中查找并插值。这就是"调度"这个名字的由来——就像一个预先制定的时间表。
🙋
那它和自适应控制有什么区别呢?两者好像都是自动调节增益。
🎓
这是两个完全不同的思路。自适应控制是在运行过程中不断"观测"系统的响应,推估系统参数,然后在线调整增益。增益调度则是提前在设计阶段就为每个运行点算好增益,运行时只需根据调度变量查表获取增益,不需要观测或推估。所以增益调度的行为是完全可预测的,容易验证和认证。这也是为什么飞行器的飞行控制几乎都采用增益调度——可预测性和可认证性对安全至关重要。在工业界,增益调度是采用最广泛、最可靠的方法。

常见问题

增益调度是控制系统增益随运行点变化的非线性系统的一种常用方法。在这种方法中,为多个运行点预先调整并存储一套控制器增益,然后根据可直接测量的"调度变量"(如飞行器的对气速度、液位或流量),连续切换和插值这些增益。这样可以在整个运行范围内保持闭环增益恒定,从而确保闭环响应一致。
当系统增益随运行点变化时,固定增益控制器只能在一个运行点处达到最佳调整。在系统增益低的区域,响应会变得迟缓,而在系统增益高的区域,闭环增益会变得过大,导致振荡甚至不稳定。在本工具的默认值(gainLow=1, gainHigh=4)中,固定增益控制在100%运行点处的闭环增益会比设计值高出+60%。增益调度通过使控制器增益与系统增益成反比例关系,可以保持闭环增益恒定。
调度变量应满足以下条件:(1) 充分代表系统的非线性特性,(2) 直接、快速、可靠地测量,(3) 不易受控制输入影响,是外生变量。飞行控制中典型的调度变量包括对气速度、动压和高度;液位控制中是液位本身;化学反应器中是反应温度;发动机控制中是转速或负荷。错误的调度变量选择会导致增益无法正确跟踪运行点,降低调度的效果。
主要注意事项包括:(1) 如果运行点间隔太粗,点与点之间的闭环增益会偏离设计值;(2) 当调度变量快速变化时,基于固定运行点的线性设计假设会被破坏,导致"快速变化"问题;(3) 各个运行点的稳定性得到保证不代表整个运行过程的稳定性。实际应用中应选择足够密集的运行点,限制调度变量的变化速度,并进行整个包络线范围的仿真验证。

实际应用

飞行器飞行控制:这是增益调度最古老、最经典的应用。飞行器的空气动力特性会随对气速度、动压、高度和机体重量发生显著变化,因此飞行控制律的增益通常以这些参数为索引,存储在查找表中。在低速高空和高速低空时,舵面效能差异很大。通过增益调度,可以在从起飞到巡航再到着陆的整个飞行包络线范围内保证一致的操纵感和稳定余裕。由于这种方法的可预测性和易认证性,几乎所有民用和军用飞行器都标准采用了这一方法。

工业过程控制(液位、流量):在液位控制系统中,如果液位罐的截面不均匀或出口阀门特性非线性,液位本身可作为调度变量,PID增益随之切换。在化学反应器的温度控制中,由于反应速率随温度呈指数变化,通常需要按温度区间调节控制增益。对于pH控制等高度非线性系统,增益调度几乎是必需的。

发动机与动力系统控制:汽车发动机或燃气轮机的响应特性随转速、负荷和进气量大幅变化。从怠速到高转速,必须保证一致的控制,通常通过以转速或负荷为调度变量来切换致动器控制增益实现。电动汽车电机控制中,电机响应也随转速区域变化,采用类似的调度机制。

风力发电和机器人学:风力涡轮机的叶片空气动力特性随风速变化,因此桨距控制增益以风速为调度变量进行调节。机器人手臂各关节的有效惯性和重力负荷随姿态变化,因此需要以关节角度为调度变量调节各关节的增益。当运行范围宽、非线性强时,增益调度的价值更加突出。

常见误区与注意事项

最常见的误区是认为"各运行点稳定就代表整个过程稳定"。增益调度是基于在固定运行点处进行线性设计,然后对这些设计进行补间的方法。但运行点移动过程中的系统不再是冻结的线性系统。只有当调度变量变化足够缓慢(满足"缓慢变化"假设)时,各点的设计才是有效的。如果调度变量变化太快,即使各点都是稳定的,整个过程也可能不稳定。实际应用中必须对调度变量的变化速度设置上限,并进行完整的时域仿真验证。

另一个常见错误是"运行点数量少就够了"。本工具采用简化模型,系统增益线性变化,但实际非线性系统的增益曲线往往更加复杂。如果运行点间隔太大,调整点之间的闭环增益会偏离设计值,该区间的响应性能会下降。非线性程度越强,需要的运行点就越多。此外,插值方式(线性插值或分段常数)的选择也会影响闭环增益的平滑性,需要在设计时予以重视。

最后,"增益调度和自适应控制是一回事"也是常见混淆。自适应控制在运行中持续观测并推估系统参数后在线更新,而增益调度则完全依赖事先完成的设计和查表,运行中不做推估。因此自适应控制对未知的特性变化(如老化或故障)能自动应对,但增益调度无法。反过来,增益调度的动作完全可预测,易于验证认证。在要求最高安全性的航空航天领域,增益调度被优先采用正是出于这一原因。两者不是竞争关系,而应按应用需求灵活选择。

使用指南

  1. 将运行点数(opNum)设置在1~10范围内,通过比例增益范围(opRange)指定操作点变动幅度
  2. 输入低增益限制(glNum)和高增益限制(ghNum),定义系统增益变动范围,然后通过glRange/ghRange设置允许偏差
  3. 设置初始比例增益(kpNum),通过kpRange为固定增益控制时确定允许范围,点击仿真执行按钮,计算当前运行点处的系统增益、控制器增益Kc、实际闭环增益、与设计值的增益偏差、推估超调量等指标

具体计算示例

对于液压伺服系统,如果操作点在P=50bar~200bar范围内变动,系统增益在0.8~1.5rad/(s·V)范围内变化。设运行点10点,glNum=0.8,ghNum=1.5,opRange=±75bar,kpNum=2.5[V/rad]。在中间运行点P=125bar处,实际闭环增益=1.875rad/s,与设计值的增益偏差±18%,推估超调量12.3%。而采用固定增益控制(kpRange±0.3)时,在最坏运行点处增益偏差高达+35%,超调量达24%。相比之下,增益调度控制在全运行域内的偏差可控制在±8%以内。

实际应用注意事项

  1. 对于飞行器颤振控制等高速响应系统,为应对运行点的急剧变化(opRange>100%),需确保增益调度更新频率≧20Hz,然后才能投入实现
  2. 如果系统增益测量呈非线性(glNum≠1.0时),应进行多点标定,并在glRange计测不确定度基础上至少预留±3%的裕度
  3. 当推估超调量超过20%时,应逐步降低kpNum值(每步0.2V/rad)并重新计算,验证控制律的稳定裕度
  4. 若性能一致性指标低于75%,建议将运行域划分为多个较小的子区间,分别重新制作增益映射