When does feedforward control do more harm than good? Are there smart techniques to deal with these situations so feedforward is not permanently disabled in a PID controller?
If the feedforward correction arrives too soon, there can be an inverse response where the initial reaction seen in the controlled variable is in the opposite direction of the effect of the disturbance. This causes the feedback controller to make a move in the wrong direction. The solution is to add a delay to the feedforward signal so its correction arrives at the same time or a little bit later than the disturbance at a common point in the process. If the feedforward arrives way too late (after the feedback controller has returned the controlled variable back to set point), the feedforward creates a second disturbance. If the lateness is due to a lag in the feedforward path, a lead-lag can be added to the feedforward signal for dynamic compensation. If the lateness is due to a transportation delay or dead time in the feedforward path, the delay or dead time must be reduced by making changes to the process or the feedforward measurement choice or location.
Excessive feedforward measurement noise can show up as an increase in variability of the controlled variable. A simple fix is to add a filter to the feedforward signal with the filter time set to keep the fluctuations from the feedforward noise in the controller output within the resolution limit of the control valve. If the feedforward measurement is below its low rangeability limit, its signal can become bizarre. This is a common problem with flow measurements. The best solution is to use a better sensor and transmitter technology and scale range, but given you are stuck with the situation, the feedforward action can be programmatically turned off when too erratic. Sometimes flow controller set points instead of flow measurements are used to get around flow measurement noise and erratic behavior.
A more interesting problem is when unmeasured disturbances have caused a deviation in controlled variable that is in the same direction as the feedforward correction. Here a smarter technique would programmatically turn off the feedforward when its correction would make the existing control error worse. Next week I will propose some ways to predict this scenario.
It is important that the turning “off and on” of the feedforward action be bumpless, automatic, and tested. A dead band in the trigger for “off and on” is advisable. Finally, model predictive control inherently deals with many of these issues through its use of disturbance variables.