You are on page 1of 6

Chapter 8

Feedforward control
8.1 Introduction

We know from Chapter 7 that feedback control or, in other words: error-driven control can bring the process output variable to or close to the setpoint. Feedback control is in most cases a suciently good control method. But improvements can be made, if required. A problem with feedback is that it is no adjustment of the control variable before the control error is dierent from zero, since the control variable is adjusted as a function of the control error. This problem does not exist in feedforward control, which may be used as the only control method, or, more typically, as a supplement to feedback control. In feedforward control there is a coupling from the setpoint and/or from the disturbance directly to the control variable, that is, a coupling from an input signal to the control variable. The control variable adjustment is not error-based. In stead it is based on knowledge about the process in the form of a mathematical model of the process and knowledge about or measurements of the process disturbances. 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 dicult 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 satised, and therefore in practice the control error becomes dierent from zero. We can however assume that the control error becomes 97

98 smaller with imperfect feedforward control than without feedforward control. If feedforward control is used, it is typically used together with feedback control. Figure 8.1 shows the structure of a control system with both feedforward and feedback control. The purpose of feedback control is to

Figure 8.1: Control system with both feedforward and feedback control reduce the control error due to the inevitable imperfect feedforward control. Practical feedforward control can never be perfect, because of model errors and imprecise measurements. In Figure 8.1, the feedforward from disturbance can be interpreted as a technical coupling from the disturbance to the process output variable which is supposed to counteract the natural coupling so that the net eect that the disturbance has on the process output y is zero, which is what we want. The feedforward function Ff , which usually consists of a sum of partial functions Ff SP and Ff d as shown in Figure 8.1, can be developed in several ways: From a dierential equations process model From a transfer functions process model From experimental data. This method is model-free, and should be

99 regarded as an approximative method, which still may give substantial improvement of control system performance. Among these, the rst 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 inuence the stability of the feedback loop because the feedforward does not introduce new dynamics in the loop.

8.2

Designing feedforward control from dierential equation models

The feedforward function Ff can be derived quite easily from a dierential equations model of the process to be controlled. The design method is to solve for the control output variable in the process model with the setpoint substituted for the process output variable (which is the variable to be controlled). The model may be linear or non-linear. One practicual issue: Typically, the feedforward from setpoint, Ff SP , will contain time-derivatives of the setpoint. You should however not implement a pure time-dierentiation because the time-derivative is very sensitive to noise and abrupt changes of the signal to be dierentiated. In stead, you should implement a smoothed derivative by letting the signal pass through a lowpass lter before the dierentiation. This is demonstrated in the following example. Example 8.1 Feedforward control of a liquid tank Figure 8.2 shows a liquid tank with inow and outow. 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: Ah(t) = Fin (t) Fout (t) (8.1) where h [m] is liquid level, Fin [kg/s] is mass inow, Fout [kg/s] is mass outow, 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: Ah(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 : AhSP (t) = u(t) Fout (t) (8.3)

Then we solve (8.3) for the control variable u to get the feedforward control variable uf: uf (t) = AhSP (t) + Fout (t) (8.4)
uf SP uf d

shich is the ideal feedforward controller. uf SP represents feedforward from setpoint and uf d represents feedforward from disturbance. We see that calculation of feedforward control signal uf requires measurement or knowledge of the following three quantities: A, Fout , and hSP . (Figure 8.2 indicates that ow Fout is measured.) Does the feedforward controller (8.4) make sense?

101 The term uf d (t) = Fout (t) (8.5) tells that the inow should be equal to the outow at any instant of time to cancel the impact of the outow in the level. Makes sense?1 The term uf SP (t) = AhSP (t) (8.6)

tells that if the setpoint is changing, the inow should be increased, or decreased depending on the sign of hSP , equal to the specied rate of change of the mass in the tank, which is AhSP . In (8.4) the time-derivate hSP should be implemented as a limited time-derivative: hSPf ilt where hSPf ilt is lowpass ltered setpoint. So, it is the lowpass ltered setpoint that is time-dierentiated. The reason for the lowpass ltering is that the time-derivative is very sensitive to noisy variations of the value to be dierentiated. Any non-smooth variation of the setpoint is noise in this respect. Since the time-derivative is of rst order, the lter can be a rst order lowpass lter in the form of a time-constant lter: hSPf ilt (s) = 1 hSP (s) Tf s + 1 (8.7)

where Tf is the lter time-constant which can be tuned by trial-and-error. 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 rst 1000 seconds, the level setpoint hSP is varied while the outow (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 outow Fout is varied. Without feedforward control (only feedback control): Figure 8.2 shows the responses in the level h as the setpoint is varied and as the disturbance (outow) is varies. The level deviates clearly from the setpoint in both situations. With feedforward control (in addition to feedback control): Figure 8.3 shows the responses in the level with almost the same
1

Yes.

102

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 outow is small. (This was conrmed by a simulation, but the responses are not shown here.)
[End of Example 8.1]

You might also like