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

前馈补偿模拟器 — 扰动抑制

可视化 PI 与 PI 加前馈控制的阶跃扰动响应。改变过程增益、扰动通道增益与 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+FB 整定时间 t_s
阶跃扰动响应 y(t) 与控制量 u(t)

上:输出 y(t)(红 = 仅 FB,蓝 = FF+FB,灰虚线 = 设定值 r=0)/下:控制量 u(t)(橙 = u_fb,紫 = u_ff,绿 = 总和)/竖线:t=5 s 施加扰动

理论与主要公式

对于通过扰动通道进入一阶过程的阶跃扰动,本工具对比仅使用反馈与反馈加前馈补偿的阶跃响应。

过程(控制通道)与扰动通道的传递函数:

$$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=5s 扰动到来时,红线(仅 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)」,从模型输出与实际输出之差估计扰动,再抵消估计值。DOB 内部其实就是用对象的逆模型构造了一个前馈补偿器。
二自由度控制是把「设定值跟踪」与「扰动抑制」独立优化的框架。仅反馈设计时二者必然折衷(追求快响应就会过冲变大)。引入前馈(设定值前馈、扰动前馈)后,反馈专注于抑制与稳定化,跟踪由前馈承担。现代过程控制、伺服控制、汽车巡航控制等都广泛采用。

实际应用

过程控制(化工厂):蒸馏塔与反应器的温度控制中,原料流量与原料温度的变化是主要扰动。两者均可测量,加入扰动前馈后,温度波动可以远低于仅靠 PID 反馈所能达成的水平。对于有较大死时间的过程,前馈的有无可能直接影响产品的合格率。

伺服控制(机床与机器人):位置伺服几乎都采用设定值前馈,由轨迹的目标加速度与速度反算所需扭矩并直接下发。这显著降低了跟踪误差,使 PID 反馈可以专注于抑制振动与负载变动。高精度切削与工业机器人的高速轨迹跟踪都依赖这一技术。

电网与汽车:发电机的负荷频率控制中,将负荷预测作为扰动前馈,可以抑制频率波动。汽车巡航控制里,由路面坡度传感器提前感知坡道并调节驱动力的坡度补偿,就是典型的扰动前馈。在看见上坡时就加速,比上坡后才发现速度下降再补救更平顺、更省油。

空调(HVAC):把室外温度与日照量作为前馈信号引入,可以比仅靠室温反馈更快地响应变化。在商业建筑以及对温度精度要求高的工厂、数据中心中,是兼顾温度稳定性与节能的关键技术。

常见误解与注意事项

最常见的误解是认为「只要加入前馈,反馈就不需要了」。前馈只能抵消模型已知的扰动,对模型误差、未知扰动、传感器噪声、初始偏差都无能为力。实机中这些都必然存在,因此必须由反馈来保证稳定性与最终零稳态误差。在模拟器里把 K_d 滑块从真值偏离,蓝色响应会出现残余误差,那就是反馈(PI 的积分项)正在回收的部分。

其次常见的错误是把前馈的符号搞反,反而造成反效果。理想式 G_ff = -G_d/G_p 中的负号正是「抵消」扰动的关键。如果实现中把符号搞反,扰动会被放大,结果比不加前馈还差得多。调试的第一步是把 d_step 滑块往正负两个方向都拉一下:如果蓝色响应在两个方向都保持很小,没问题;如果其中一侧爆炸,那就是符号错误。

最后要注意不要以为理想式 G_ff = -G_d/G_p 总能物理实现。如果扰动通道比过程通道更慢(G_d 的极点比 G_p 慢),理想补偿器就会变成非真有理形式,要求微分动作,而微分会放大噪声。如果 G_p 有右半平面零点(非最小相位),其逆将形成不稳定极点,补偿器自身会发散。仅取增益的简化形式之所以广泛使用,正是对这些实现约束的务实回应。