Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Feedforward control
8.1 Introduction
Perfect or ideal feedforward control gives zero control error for all types of
signals (e.g. a sinusoid and a ramp) in the setpoint and in the disturbance.
This sounds good, but feedforward control may be difficult to implement
since it assumes or is based on a mathematical process model and that all
variables of the model at any instant of time must have known values
through measurements or in some other way. These requirements are never
completely satisfied, and therefore in practice the control error becomes
different from zero. We can however assume that the control error becomes
97
98
Figure 8.1: Control system with both feedforward and feedback control
Among these, the first and the third method are described in the following
sections as they are assumed to be the most useful in practical cases.
Using feedforward together with feedback does not influence the stability
of the feedback loop because the feedforward does not introduce new
dynamics in the loop.
Figure 8.2 shows a liquid tank with inflow and outflow. The level h is to be
controlled using feedback with PID controller in combination with
feedforward control. (The responses are explained later in this example.)
From a mass balance of the liquid in the tank we get the following process
model:
ρAḣ(t) = Fin (t) − Fout (t) (8.1)
where h [m] is liquid level, Fin [kg/s] is mass inflow, Fout [kg/s] is mass
outflow, A [m2 ] is cross sectional area of the tank, ρ [kg/m3 ] is the liquid
density. Fin is assumed to be equal in value to the applied control signal u.
By using Fin = u the model becomes:
ρAḣ(t) = u(t) − Fout (t) (8.2)
100
Figure 8.2: Example 8.1: Liquid tank where the level h is controlled with
feedback control. Here, feedforward control is not applied.
Now, let us derive the feedforward control function from the process model
(8.2). First, we substitute the level h by its setpoint hSP :
Then we solve (8.3) for the control variable u to get the feedforward
control variable uf:
uf (t) = ρAḣSP (t) + Fout (t) (8.4)
uf SP uf d
• The term
uf d (t) = Fout (t) (8.5)
tells that the inflow should be equal to the outflow at any instant of
time to cancel the impact of the outflow in the level. Makes sense?1
• The term
uf SP (t) = ρAḣSP (t) (8.6)
tells that if the setpoint is changing, the inflow should be increased,
or decreased — depending on the sign of ḣSP , equal to the specified
rate of change of the mass in the tank, which is ρAḣSP .
Since the time-derivative is of first order, the filter can be a first order
lowpass filter in the form of a ”time-constant” filter:
1
hSPf ilt (s) = hSP (s) (8.7)
Tf s + 1
Two cases are simulated: Level control without and with feedforward
control. In both cases there is feedback control with PI controller with
parameters Kp = 10 and Ti = 100 s. In the frist part of the simulation
which is the first 1000 seconds, the level setpoint hSP is varied while the
outflow (disturbance) is constant, while in the last part of the simulation
which is the last 1000 seconds, the level setpoint is kept constant while the
outflow Fout is varied.
Figure 8.3: Example 8.1: Liquid tank where the level h is controlled with
feedback control. Here, feedforward control is applied.
variations of the setpoint and the disturbance. We see that the level
now deviates very little from the setpoint. The control performance
is substantially improved.
Note: Without feedforward control the control signal range of the PID
controller is [0, 5] (in unit of m3 /s). With feedforward the output signal
range of the PID controller was set to [−5, +5] so that the contribution,
uP ID , from the PID controller can be negative. If uP ID can not become
negative, the total control signal, which is
u = uP ID + uf (8.8)
may not get small enough value to give proper control when the outflow is
small. (This was confirmed by a simulation, but the responses are not
shown here.)