前馈补偿模拟器 返回
控制工程模拟器

前馈补偿模拟器 — 外乱抑制

可视化单独PID和PID+前馈补偿的阶跃外乱响应。改变工艺增益、外乱路径增益、PI增益,学习为什么事先补偿已知外乱能大幅降低峰值偏差。

参数设置
工艺增益 K_p
外乱路径增益 K_d
PI 比例增益 K_c
外乱阶跃大小 d_step

T_p = T_d = 5 s、T_i = 5 s、dt = 0.05 s、T_sim = 30 s 固定。t = 5 s 时施加外乱阶跃。FF 仅含增益补偿 G_ff = -K_d / K_p。

暂停时,拖动滑块即可即时更新结果。

计算结果
FB单独 峰值偏差 |y_max|
FF+FB 峰值偏差 |y_max|
削减率
FF 增益 G_ff = −K_d/K_p
框图(突出前馈通道)

外乱 d → Gff(紫)在 d → Gd 扰动输出之前先期叠加到操作量上。外乱施加后,紫色脉冲沿补偿通道流动。

阶跃外乱响应 y(t) 和控制输入 u(t)(实时扫描)

上图:输出y(t)(红=FB单独,青=FF+FB,灰虚线=目标r=0)/下图:控制输入u(t)(橙=u_fb,紫=u_ff,绿=合计)/竖线:外乱施加t=5s。播放头从左向右扫描,外乱到来时FF+FB(青)几乎不动,而FB单独(红)大幅下陷。

理论与主要公式

对于从外乱路径进入一阶过程的阶跃外乱,本工具对比反馈单独和前馈补偿并用的阶跃响应。

过程(控制路径)和外乱路径的传递函数:

$$G_p(s) = \frac{K_p}{T_p s + 1},\qquad G_d(s) = \frac{K_d}{T_d s + 1}$$

输出为两路叠加:

$$y(s) = G_p(s)\,u(s) + G_d(s)\,d(s)$$

PI 反馈(偏差 e = r - y):

$$u_{fb}(t) = K_c\,e(t) + \frac{K_c}{T_i}\int_0^t e(\tau)\,d\tau$$

理想前馈补偿器与本工具的简化版(仅增益):

$$G_{ff}(s) = -\frac{G_d(s)}{G_p(s)},\qquad G_{ff} \approx -\frac{K_d}{K_p}$$

u = u_fb + u_ff。当T_p = T_d时,仅增益补偿可实现完全相消,峰值偏差大幅降低。

前馈补偿模拟器简介

🙋
我了解反馈控制,但前馈到底是什么,与反馈有什么不同?
🎓
简单说,反馈是"看到结果后动作",前馈是"识别原因就立即先发制人"。比如室温控制,打开窗户会进冷气——这就是外乱。只用反馈的话,室温下降了才"哎呀,冷了",然后加强加热。但如果有窗户传感器,就能在打开窗户的瞬间提前加强加热。这就是前馈。
🙋
我看上面模拟器有红线和蓝线。默认值下蓝线几乎是平的,红线在摇晃…
🎓
对,这就是关键差异。t=5秒时外乱进来,红线(仅FB)会先振荡,然后通过PI控制才平复。蓝线(FF+FB)因为知道外乱路径增益K_d这个模型,在外乱到来的瞬间就加上-K_d/K_p的操作量来先期抵消。下面的图能看到紫线u_ff,它在外乱时刻同时跳起,这就是前馈在工作。统计卡片的削减率会告诉你峰值偏差下降了多少。
🙋
那不就能完美消除了吗?那还要反馈干什么?
🎓
现实没那么完美。完美消除只在模型精确且T_p=T_d这样的特殊情况下才行。实际上K_d和时间常数你不可能完全知道。试试把K_d滑块偏离实际值的±50%——蓝线的偏差会升高吧?剩下的误差就靠反馈来拾取。所以是"FF粗略先发制人,FB精密补正"的分工,这才是二自由度控制的核心思想。
🙋
那如果我把PI增益K_c升高,反馈不也能追上吗?
🎓
可以试试把K_c调到3到4——红线确实会改善。但峰值虽然下来了,反应会变得振荡,整定时间反而拉长。而且实机里噪声多,这样高增益会让操作量疯狂抖动,甚至造成不稳定。用低增益反馈加上前馈知识基础,能安全地达到同样的偏差低减——这就是反馈能力的限制,前馈优势所在。懂控制的工程师会在两种工具间灵活选择。

常见问答

增益误差±20%仍能获得50%以上的偏差低减,工程上已足够有用。时间常数不匹配(T_p≠T_d)主要影响整定时间而非峰值。残余偏差由反馈处理,所以前馈即使有模型误差也不会造成毁灭性后果。但补偿器反向就会适得其反,所以增益极性检查是必须的。
本工具讲的是"外乱前馈",测量外乱信号并在操作量中抵消其影响。"目标值前馈"则从目标值r(t)反推稳态控制量加入操作量,以跳过PID的响应延迟,实现快速追踪。组合二者就是二自由度控制,能独立优化追踪性和抑制性。
这个手法要求外乱可测或可预测。测不到的外乱只能靠反馈。另一个办法是用外乱观测器(DOB),从模型输出和实际输出之差反推外乱估计,用估计值去抵消,内部上也是一种前馈补偿。
二自由度控制将"目标值追踪"和"外乱抑制"独立设计优化。单纯反馈存在权衡(快速响应就容易超调等)。加入前馈(目标值FF和外乱FF)后,反馈专注稳定和残差补正,追踪由FF承担,实现分工。这是过程控制、伺服、汽车巡航控制等现代应用的标准框架。

现实应用

过程控制(化工厂):蒸馏塔、反应器温度控制中,进料流量、进料温度变化都是大外乱。这些有流量计、温度计可测,加入外乱前馈能让温度波动远少于纯PID反馈。特别在大死时间工艺中,有没有FF效果天差地别,直接影响产品收率。

伺服控制(机床、机器人):位置伺服标准做法是从目标轨迹的加速度、速度反推所需力矩,作为目标值前馈加入。这样追踪误差大幅降低,反馈PID可轻松处理扰动和负载变化。高精密切削和工业机器人高速轨迹跟踪的基础。

电力系统与汽车:发电机的负荷频率控制用需求预测作外乱FF来抑制频率波动。汽车定速巡航中,斜坡传感器提前预知坡度,在爬坡前就预增驱动力——这就是外乱前馈,比等速度下降了才加速更平顺省油。

HVAC(空调):将室外温度、日射量作外乱前馈补偿,能应对纯室温反馈跟不上的快速变化。商业楼、精密恒温厂房、数据中心用FF+FB实现室温稳定和节能双赢。

常见误解与注意

最大误解是"加了前馈就不需要反馈"。前馈只能抵消已知模型的外乱,对模型误差、未知外乱、传感器噪声、初值偏差无能为力。实机中这些总是存在的,反馈的稳定化和零偏差保证角色不可或缺。模拟器中改K_d值可看到,偏离真实值后蓝线出现残留,这残留就由FB的积分项来拾取——这就是FF+FB的精妙之处。

第二个常见错误是前馈符号反了。理想式G_ff=-G_d/G_p的负号是"抵消"外乱的意思,符号写反了会放大外乱,比不用FF还糟。调试第一步是验证d_step正负方向改变时,蓝线偏差都保持小值。若一侧爆炸就说明符号反了。

第三点留意理想式G_ff=-G_d/G_p并非总能物理实现。若G_p的极点比G_d的慢(外乱响应更快),理想补偿器分子次数大于分母,需要微分操作,微分放大噪声难以实现。G_p有右半面零点(非最小相位)时,逆函数会有不稳定极点导致补偿器发散。现在多用简化版仅含增益K_ff=-K_d/K_p,这是对实现约束的现实妥协。

使用指南

  1. 用滑块设置PID增益(Kp=0.5~3.0、Kd=0.1~1.0),观察仅反馈的响应
  2. 调整前馈补偿增益(Kc=0.8~1.2),改变对外乱路径增益的抵消程度
  3. 输入阶跃外乱振幅(0.5~5.0),对比FB单独和FF+FB的峰值偏差、整定时间(2%带状)表现

具体计算例

气缸位置控制系统(τ=0.15s)发生阶跃外乱d=2.0时:仅FB(Kp=1.5、Kd=0.3)的峰值偏差|y_max|=1.28mm、整定时间=0.85s;基于外乱路径增益估值0.95,用Kc=0.94进行FF补偿后,峰值偏差降至0.18mm(约86%削减),整定时间缩短至0.42s

实务注意事项

  1. 外乱路径增益估值误差±5%时需要Kc调整±0.05左右,应配合在线同定或鲁棒设计(预留Kc上下限裕度)
  2. 时间滞后实现(死时间>20ms)时FF增益会衰减,补偿效果下降,需考虑预测补偿或Smith预测器
  3. 外乱含多频分量(泵纹波+振动)时,单一FF仅相消特定频率,需自适应FF或多FF结构