Professional Documents
Culture Documents
Model Predictive Control of A Gas Turbine PDF
Model Predictive Control of A Gas Turbine PDF
Turbine Installation
Bas Vroemen
WFW report 97.002
B.G. VROEMEN
Faculty of Mechanical Engineering
Eindhoven University of Technology
January 1997
I would like to thank all people who helped m e fulfill this
project, but Harm van Essen in particular, whose pleasant
support I couldn’t have managed without
B. G. Vroemen
Faculty of Mechanical Engineering
Eindhoven University of Technology
Final project
Summary 9
1 Introduction 11
1.4 Projectsetup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2 Theory: MPC 15
2
2.3.4 Input- and output weightings . . . . . . . . . . . . . . . . . . . . . . . 20
4.4 Linearization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5 M P C applied on the gas turbine: simulations 57
5.2.3 Simulation 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.2.4 Simulation 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.2.5 Simulation 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.2.7 Simulation 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.2.8 Simulation 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.2.9 Simulation 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.2.11 Simulation 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.2.12 Unfortunately . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.3 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Bibliography 81
A MPC 83
MPC
IM Internal Model
IOM Internal Optimization Model
IP M Internal Prediction Model
QP Quadratic Program
k sample counter
U inputs (or: manipulated variables)
X states
X state estimates
Y outputs
Y@ +W ) +
output estimate at k 1, based on measurement information up to k
Ym output measurements
-
Y outputs before the addition of measurement noise
r output references
d unmeasured disturbances
20 measured disturbances
z measurement noise
4 offset between process and model
AU manipulated variable moves
P prediction horizon
m control horizon
n number of samples after which the system settles
KMPC MPC controller gain
K p first-order filter gain
JcKalman Kalman filter gain
EP projected error vector (zT - y for zero future inputs)
ry, r u output- and input weights
S U ,Sd step response matrices accounting for effects of U and d, respectively
6
corrected vector of future outputs, defined by (A.8)
state-space realization
+
discrete matrix connecting z ( k ) to z ( k 1)
+
discrete matrix connecting u ( k ) t o z ( k i),not t o be confused with
input weightings r"
discrete matrix connecting d ( k ) to z ( k -t 1)
+
discrete matrix connecting w ( k ) to z ( k 1)
discrete matrix connecting u ( k ) to y(k)
discrete matrix connecting d ( k ) t o y(k)
discrete matrix connecting w ( k ) to y(k)
+
output prediction vector, truncated at k p
+
output reference vector, truncated at k p
matrix connecting Y with Y
manipulated variable moves vector, truncated at k p+
low and high constraint on u, similar definitions for y
unitary matrix and matrix with unitary matrices on the lower triangular
Gas turbine
P pressure [Pa]
m mass-flow [kg/s]
T temperature [KI
V (plenum) volume [m3]
A (duct) area [m']
L (duct) length [m]
N rotational speed [rev/s]
rl efficiency [-I
subscripts
ss steady state
comp compressor
bl blow-off
t hr throttle
tb turbine
in at inlet
out at outlet
rPm revolutions per second
T at high temperature
fuel fuel property
bar pressure in [bar]
max maximum value
Pl plenum
cc combustion chamber
amplitude amplitude of signal
offset offset of signal
S valve position E [O, 11 [-I
SB blow-off valve (position)
ST throttle valve (position)
sv fuel valve (position)
DEVSurge deviation from the surge line [kg/s]
c, s steady state compressor pressure rise [Pa]
F pressure drop over valve [Pa]
C p , Cv specific heat capacities at constant pressure and temperature, respec-
tively [J/kg K]
Y CP/CU [-I
R gas constant [N m/kg KI
P(n) (normalized) air density [kg/m3]
a speed of sound [m/s]
U impeller tip speed [m/s]
WH Helmholtz resonance frequency [Hz]
4 A/AComp : duct area relative t o compressor duct area [-I
G L/LcOmp: duct length relative t o compressor duct length [-I
n p ,A P pressure drops [Pa]
7- time lag [SI
I inertia [kg m2]
B Greitzer B parameter [-I
e n in-going power [W]
WP requested power [W]
e (overall) friction factor [-I
Scale scaling factor, defined in Appendix B
Acomp, Beonp,Ceonpcoefficients of compressor characteristic
ei, cy,%,e u , i scaling factors for state i , output i and input i
-
2 scaled x
x
2 dimensionless x
Summary
In this project, we investigated the use of Model Predictive Control (MPC) on a gas turbine
laboratory installation. This is part of the research into modeling and control of compressor
and turbine systems, done by the sections Energy Technology and Systems & Control from
Mechanical Engineering (TUE), in co-operation with TNO-TPD (TNO’s ‘Technisch Physische
Dienst’) at Delft.
In a gas turbine, a compressor pressurizes gas, which after being heated in a combustion
chamber, enters a turbine where pressure ratio is converted t o rotational speed of the shaft
that turbine and compressor share. This way, the turbine drives the compressor by providing
shaft power, and the compressor in its turn drives the turbine by delivering gas under pressure.
The addition of heat in the combustion chamber enables the gas turbine to supply power to
some external load. However, the system under consideration, which is a scale model of a gas
turbine, serves as a test-stand for research purposes-not as a power supply.
The gas turbine is limited in its operation by several undesirable effects, imposed by the
(combination of) components it comprises. The two most important limitations are swge, and
the maximum turbine inlet temperature. Surge denotes the flow-instability associated with a
sudden drop in compressor delivery pressure and with violent dynamic pulsation which is
transmitted throughout the whole machine. It is t o be prevented at all times, since it can
be most destructive. Next, the turbine inlet temperature is not allowed to exceed a certain
maximum, beyond which the stress exerted on the turbine rotor-blades becomes undesirably
high. These limitations are generally referred to as constraints.
Other than these restrictions, actuators impose constraints as well. For instance, valves cannot
be opened beyond fully opened, or-just as obviously-close beyond fully closed. Furthermore,
they can not move at arbitrarily high speed. This is why move constraints will have t o be
specified as well.
It is especially these constraints, which have resulted in choosing MPC for a control strat-
egy. Unlike most other control algorithms, MPC can explicitly incorporate constraints in its
computations. Shortly put, MPC computes its controller moves by minimizing the difference
between desired and predicted output response, while satisfying all constraints. Outputs are
predicted by using a linear model of the process.
In this project we first obtained a model of the gas turbine installation. This model has t o be
9
reasonably accurate on the one hand, since it largely determines the performance of MPC.
On the other hand, computational demands require it t o be relatively simple. Not without
reason has MPC so far been applied on comparatively ‘slow’ (e.g. chemical) systems, mostly.
Controller execution time will therefore be of crucial importance.
Next, we simulated this model using Matlab’s MPC Toolbox, but especially TNO’s PRI-
MACS. Eventualiy, we sought t o apply MPC in a real-time implementation, which unfor-
tunately wasn’t really accomplished, since time did not permit to implement MPC in a
closed-loop situation. However, we did get a chance t o use MPC open-loop, which means
that we applied inputs, obtained from a certain simulation, to the laboratory installation and
compared the process response to the model response.
The results of this seem t o be rather promising, as will be seen in Chapter 6, although the
model we used might still be improved. Furthermore, it is difficult t o say what will happen if
MPC is eventually used in closed-loop, since especially measurement noise is something which
must not be underestimated. Still, based on the results thus far, we believe that computational
demands will not render real-time implementation impossible.
Chapter 1
Introduction
In co-operation with TNO-TPD (TNO’s ‘Technisch Physische Dienst’) at Delft, the sections
Energy Technology and Systems & Control from Mechanical Engineering (TUE) are research-
ing the modeling and control of compressor and turbine systems.
In a gas turbine, a turbine expands pressurized gas, basically converting pressure ratio t o
rotational speed. The shaft power so obtained then drives a compressor, which in its turn
provides the pressure ratio needed for the turbine. If the installation were without losses of
any kind, it would be able to drive itself, but of course no more than that. In practice, the
losses that are always present have t o be overcome which is why energy has t o be added one
way or another.
In our case, this is accomplished by the incorporation of a combustion chamber, which heats
the pressurized gas coming out of the compressor before it enters the turbine (see Figure 1.1).
If more energy is added than necessary t o overcome losses, the gas turbine can drive some
external load, for instance, a generator. In the system under consideration, we do not make
use of this possibility. Instead, the installation we investigate, which is a scale model of a gas
turbine, primarily serves as a test-stand for research into dynamic behaviour of compressors
11
12 C H A P T E R i. INTRODUCTION
and turbines and their interaction-not as a power plant. This laboratory installation uses
air for working fluid and natural gas for fuel.
Next to surge and choke, gas turbine operation is limited by the turbine inlet temperature not
being allowed t o exceed a certain maximum, beyond which the stress exerted on the turbine
rotor- blades becomes undesirably high.
Apart from these output constraints, limits on actuator operation form input constraints.
For instance, valves cannot open beyond fully opened or, just as obviously, close beyond
fully closed. Since we wish to control gas turbine operation, for instance, operate at constant
rotational speed for varying loads without exceeding any of these constraints, the choice of
a control strategy will very much be determined by the strategy's capability in handling
constraints.
It is these constraints which have resulted in choosing Model Fredictive Control (MPC) Îor
a control strategy. MPC is a control methodology, which explicitly includes constraints in
its optimization. The vast majority of widely used control algorithms does not exhibit this
important feature, and is therefore hardly equipped to handle constraints1. MPC uses a model
of the process which is to be controlled, to predict system response over a future (prediction)
horizon. Through minimizing the difference between desired and predicted output response,
the inputs (or manipulated variables) can be determined. The use of a prediction horizon also
has the benefit that future setpoint (desired output) changes or known disturbances can be
'Most control algorithms can only indirectly influence-not guarantee-variables to meet their constraints,
by using ad hoc methods, mostly. To some extend (problem must be feasible N solvable), MPC can in fact
guarantee variables not to violate their limits.
1.3. GOALS OF THIS PROJECT 13
anticipated for. Apart from this MPC can control multivariable systems, which may exhibit
nonlinear behaviour, interaction as well as dead-times.
All in all, MPC seems t o offer benefits especially useful to the control of the gas turbine, which
indeed exhibits highly interactive and nonlinear behaviour. So far, though, MPC has been
applied mostly on comparatively slow systems, such as chemical processes-and not without
reason. Mechanical systems, such as the gas turbine, are characterized by much smaller time-
constafits, causing computing-time related problems that must not be underestimated. MPC
is a control algorithm, which requires relatively large execution times, especially if many
constraints are present. Furthermore, it remains t o be seen if linear MPC can cope with the
highly nonlinear behaviour we know is present.
This constitutes the main goal of this project. We attempt t o assess the feasibility of MPC
on the gas turbine installation. We do expect problems concerning execution times and non-
linearity and therefore, the problem statement can be posed more specifically as: Find out
what can be achieved with MPC, using a model as simple as needed to allow for real-time
implementation, and, to what extend must we compromise in order to do so? Having done
this, do the advantages we claimed MPC t o possess over other control strategies (for this
specific case, that is), still hold? The final question will be if the resulting closed-loop’ be-
haviour is acceptable, and furthermore, if it can compete with other, more common, control
strategies3. Most probably, MPC will have to give in somewhat on performance, in exchange
of the desired constraint handling.
Secondary t o this main problem, we will concentrate on testing (and possibly improving)
TNO’s MPC-implementation PRIMACS, which still is subject of constant development.
In order t o arrive at these goals, we first developed a simulation model as a compromise be-
tween simplicity (minimizing computing-time) and accuracy (maximizing usefulness of predic-
tion). Next, control-goals and -strategy were specified after which the MPC-setup could be de-
veloped and implemented in standard packages being Matlab’s MPC-Toolbox (by Morari and
Ricker) and TNO’s PRIMACS. The following step was to tune MPC- and filter-parameters.
Before the final experiments could take place, further development of the simulation-model
was carried out t o approximate reality as good as practically possible (use only measured
outputs for feedback, introduce measurement noise, deliberately create differences between
simulation-model and prediction-model to test for robustness, etc.). Finally, open-loop ex-
2This is the system which combines process and controller.
3The comparison with other control strategies actually is not part of the present assignment, but definitely
of the total project.
14 C H A P T E R 1. INTRODUCTION
periments took place using PRIMACS and LabVIEW, where inputs were computed from
simulations off-line. Unfortunately, time did not permit for the real-time closed-loop experi-
ments t o be carried out. This, and the comparison with other control algorithms will have to
be carried out by a successor.
Next, some related previous research using PRIMACS should be mentioned. First of all, we
mention the application of MPC under PRIMACS on the FCC (Fluidized Catalytic Cracker)
process by Peeters [Peeters 951. This was the first project to take place within the co-operation
of TNO-TPD and TUE. Secondly, an application of MPC using PRIMACS on a Thermal Hy-
draulic Process was examined by Frits van der Meulen [Van der Meulen 951, whose report
we will refer t o more than once. More closely related to this project is the research into an
MPC-application on a compressor-station of two radial compressors in parallel by Inge Sat-
ter [Satter 961. Such a configuration serves to increase capacity, whereas a serial construction
would allow for larger pressure ratios. Combinations of these configurations can be imagined
as well (see, e.g. [Van Essen 95bl). An additional reason for employing multiple compressors
may be t o improve reliability. Further attention to the parallel configuration is paid by Gert
Leenheers [Leenheers 971 in an ongoing project which should be finished somewhere in March
1997. The latter two projects, and the present project as well, all arose from the PhD-project
by Harm van Essen, who is researching the modeling and control of compressor related sys-
tems, primarily making use of model based control strategies.
The report is organized as follows: In Chapter 2 the theory behind MPC will (to some extend)
be explained, along with a (brief) description of two practical implementations being Mat-
lab’s MPC-Toolbox and TNO’s PRIMACS. Chapter 3 describes the gas turbine installation,
whereas in Chapter 4 a lumped-parameter model is developed. Then, in Chapter 5, simula-
tions in PRIMACS are presented followed by a discussion of the results thus far. Results of
real-time experiments on the laboratory installation are the subject of Chapter 6 and, finally,
Chapter 7 closes with overall conclusions and some recommendations for future work in this
area.
Finally, we should mention the fact that in the gas turbine installation, we used two different
compressor/turbine combinations, i.e. Garrett and BBC, respectively. The reason for this is
that, although originally the installation was designed for the BBC configuration, at some
time it was used as a test-stand for a turbo charger which can be found in trucks. During this
project, the installation was reconfigured t o its original shape. Although some attention will
be paid t o the different characteristics, this will not be vital t o our problem statement.
Chapter 2
Theory: MPC
We will start with describing MPC in its simplest form which is linear unconstrained MPC.
Only in Section 2.4.2 we will slightly go into nonlinear MPC algorithms, since our interest
lies in linear MPC, being the least time-consuming method of the two, and execution time
will be of crucial importance.
Model Predictive Control (MPC) utilizes a model of the process which is to be controlled
to predict the outputs up to a certain time-instant, based on the inputs t o the system and
the most recent feedback values. It uses this model prediction t o compute the moves in the
manipulated variables that will make the system perform in some desirable manner over a
future time horizon. The model used by MPC for predicting output response and computing
manipulated variable moves will be referred t o as Internal Model (IM).
For example, consider Figure 2.1. At the present time k , the response of the output y(k) t o
changes in the manipulated variables a ( k ) is predicted over the prediction horizon p using the
IM. The manipulated variables are allowed t o vary over the control horizon 'M. and can be
computed such that future deviations of the controlled variables from a desired target r ( k )
(setpoint) are minimized.
Of the computed optimal control moves, only the values for the first sample are actually
implemented. This way the most recent feedback values can be used t o calculate a new
sequence of control moves of which again only the values corresponding to the first sample
are used. This mechanism is also known as a moving (or receding) horizon.
Normally, MPC uses the IM both for predicting outputs and computing inputs. However,
in some cases, these models may differ. For instance, linear MPC always uses a linear(ized)
model for computation of moves, but the model used for prediction is sometimes seen t o be
nonlinear. We will pay more attention t o this particular approach in Section 2.4.2. In such a
15
16 CHAPTER 2. THEORY: MPC
case, we will refer to the model used for prediction as Internal Prediction Model (IPM) and
the model used for optimization as Internal Optimization Model (IOM).
The wish to minimize future deviations of the controlled variables from their setpoints must
now be expressed in mathematical terms so that a control law can be obtained in algorithmic
form. A commonly used criterion in MPC is the quadratic objective, which, when combined
with the wish t o prevent the inputs from becoming inadmissibly large, can be stated as
where weights are included to express the relative importance of outputs following their refer-
ence trajectory on the one hand and trading this off with reducing the action of manipulated
variables on the other. In this notation :'I and I'? represent the output- and input-weightings,
+
respectively. Furthermore, y(k -k 1 I K ) denotes the estimate of y(7 I) obtained at k , taking
into account all measurement information up to 7. Au are the manipulated variable moves.
The solution to this optimization is obtained in Appendix A and will only be stated here as
the resulting control law
Au(-) = K M P C E P ( k + 117)
+
where Ep(7 117) is the measurement corrected vector of future output deviations from the
reference trajectory (or projected error vector), assuming all future moves are zero. Simply
Put,
EP = reference T - output y (for zero future moves).
2.2. CONSTRAINED MODEL PREDICTIVE CONTROL 17
+
K M p c can be computed off-line when EP(- i l k ) is the only time varying element, which
normally is the case. Only when weights (I?, r.) or model (SU, see Appendix A) need t o
be updated, K M p C must be recomputed. The latter is the case, for instance, when repeated
linearization is used, which will be discussed in Section 2.4.1.
Constraints are always present in any real life process control situation. To include these
in the optimization problem of MPC, the control formulation is expanded, to arrive at an
algorithm which finds the best solution satisfying all constraints. There are three types of
process constraints:
o Manipulated variable constraints: hard limits on the inputs u ( k ) t o account for, e.g.
valve saturation constraints.
e Manipulated variable rate constraints: hard limits on the size of manipulated variable
moves A u ( k ) to directly influence the rate of change of the manipulated variables.
o Output variable constraints: hard or soft' constraints on system outputs that may not
exceed some minimum or maximum value; these outputs can, but needn't be, controlled
variables with setpoint t r aject ories .
In this section the effects of tuning parameter settings are discussed. These tuning parameters
are:
7. a constraint window
8. control blocks
Probably the first tuning parameter that must be chosen is the sample time. The sample
time is defined as the time interval between two successive moments at which MPC computes
manipulated variable moves. Since the same sample intervals are used for discretization and
computation, the sample time can not be chosen too large, since doing so would result in a
highly inaccurate (if not unstable) model response. On the other hand, choosing the sample
time too small greatly increases execution time, while the discretization may not get con-
siderably more accurate. Therefore, we have t o choose a compromise between accuracy and
execution time.
If fast system dynamics force the discretization sample time to be rather small, real-time
implementation may become an impossibility. When this is the case, one might decide t o only
consider slower system dynamics, if this is indeed acceptable. As will be seen in Chapter 4,
we will in fact choose t o ignore faster system dynamics, being mass-flow response, by using
static instead of differential equations to compute mass-flows. Apart from the sampling time,
execution time is also determined by some of the tuning parameters that will follow.
The prediction horizon is defined as the number of samples into the future for which output
variables are predicted. When choosing this parameter, several issues must be taken into
consideration. Roughly taken, the following rules of thumb exist:
o the prediction horizon must exceed the inverse response period, when this type of be-
havior is indeed present [Satter 961;
o the prediction horizon must exceed any dead-time periods present [Satter 961;
o the prediction horizon must be at least as large as the largest time-constant correspond-
ing to quantities t o be controlled;
o the prediction horizon would ideally be chosen as large as possible, thus being more
likely t o yield nominal stability of the closed-loop system;
o the prediction horizon should on the other hand be chosen as small as necessary for
real-time implementation.
Some of these points need further explanation. The first of these is rather obvious: if p is
smaller than the inverse response period, this inverse response is all MPC will ever see in its
prediction. So the moves MPC computes will always be the inverse of what eventually would
make the system respond in the desired way.
Next, choosing p smaller than the dead-time period will result in MPC having absolutely
no idea of what t o do. It will simply see no response whatsoever (in the extreme case of all
outputs exhibiting dead-times) and might therefore conclude not to do anything, since the
deviation of outputs from their references can not be reduced within one prediction horizon2.
Similarly, it can be imagined that p must exceed the largest time-constant that is associated
with outputs we wish t o control. Choosing p much smaller than this will cause MPC t o
overlook ‘long-term’ effects of its moves.
Since choosing p smaller results in MPC to become rather ‘short-sighted’, it will behave
more aggressive; it just doesn’t see the long-term effects of its actions. This will then cause
the system t o respond faster, although the effects of model mismatch and disturbances will
become ever more evident-in other words the closed-loop behaviour is less robust.
For open-loop stable processes, nominal stability of the closed-loop system only depends
on KM,, (for the unconstrained case) which in turn is affected by p , m, îy and rp. No
precise conditions on p , m, îy and ï;l exist which guarantee closed-loop stability. Increasing
p relative t o m tends t o stabilize the system, apart from making the controller less aggressive.
For p = co closed-loop nominal stability is guaranteed for any finite m and time-invariant
input- and output weights [Van der Meulen 951.
Since the control scheme will have t o be implemented real-time eventually, computing-time
becomes an important issue. Therefore, it might be necessary t o take p equal to the largest
time-constant present, if in fact (and this is usually the case) it is the time-constant which
imposes the minimum value on p . When acceptable, it might even be necessary t o only
consider the system behavior related to smaller time-constants, if the main interest lies here.
Alternatively, if slower system dynamics are considered more important, one can decide t o
take a larger sampling period. Of course, this has its limits as well, since the discretized linear
model of the process (which is used as Internal Model) might become highly inaccurate or
even unstable for too large a discretization sampling period, as was discussed in the previous
Subsection.
The control horizon is the number of samples into the future for which optimal control moves
are computed. As for the prediction horizon, this tuning parameter can be chosen using some
basic rules:
o the control horizon must be at least one sampling period and can never exceed the
prediction horizon, or 1 I: m 5 p ;
o the control horizon should preferably be chosen as small as possible in order to reduce
computing time.
The first of these points is rather trivial: of course, choosing m = O cancels out the controller
and, just as obvious, taking m > p is useless, since MPC can’t see beyond the prediction
horizon.
Varying the size of m has effects inverse to those of varying p . If we choose m quite small, say
m = 2, MPC will become rather tame since it cannot afford t o ‘mess up’ with only 2 input
moments per prediction horizon available. However, if m is much larger, the first input moves
can be rather big, since the inputs that follow can take care of slowing the system down again.
Again, one should weigh these recommendations for each specific case. If, for instance, faster
system response is desirable, enough computation-time must be available or otherwise the
control horizon can no longer be enlarged. It is, in fact, especially the control horizon that
influences execution time because with it the number of degrees of freedom in the Quadratic
Program (which has to be solved each controller execution time) increases proportionally.
We treat both weightings in one subsection, since it is only the ratio between the two that
actually matters. Once output weightings are determined such that relative importance of the
several outputs is reflected, input weightings can be chosen freely in order to effect whatever
closed-loop system behaviour is desired. Decreasing input weightings basically has the same
2.3. TUNING PARAMETERS 21
effects as increasing the control horizon, with the notable difference that input weightings
do not affect execution time. :'I is most commonly used as tuning parameter. Furthermore,
when ;'I increases, the influence of m on closed-loop system behaviour decreases.
A filter is used t o correct model information for process information. Model and process differ
because of model mismatch on the one hand and system- and measurement noise on the other.
System noise denotes disturbances (noise) that directly influence the process, i.e. actuator
signals and states. Measurement noise is the noise that is present on the output measurements.
To correct for these undesirable effects, we use a filter. Depending on the fact if the filter is
model-based or not, we can divide filters into two groups, starting with the non-model-based
type-
1. Non-model-based filtering
This type of filter only uses model outputs and process output measurements-not the
model itself. An example is the first-order filter K F , used as the general filter in standard
linear MPC as described in [Morari and Ricker 931, and stated here in its simplest form
where y,(k) is the measurement at time k and y ( k l k - 1) denotes the estimate of y(L)
obtained at k - 1, taking into account all measurement information up t o k - 1.
For more information of the filter as used in [Morari and Ricker 931, the reader is referred
t o Appendix A.3.
Choosing the filter gain relatively large would in theory best compensate for the differ-
ences between model and measurements. In fact, if we choose the filter constants equal
t o 1, we have a zero-order filter, where the corrected model output exactly equals the
process output measurement. This also means that any noise present in the process
measurements directly enters the model, which is why filter settings should not be too
tight.
Furthermore, if the r e d system only j n s t exceeded some constraint, filter related ac-
tions can, so t o speak, 'pull' the Internal Model over the constraint, beyond which the
QP problem might become infeasible, whereas the uncorrected model most probably
wouldn't have experienced any severe problems. For example, if in case of the gas tur-
bine, the turbine inlet temperature would exceed its maximum when already near surge,
filter corrections can cause the model temperature to exceed its constraint as well, after
which the QP problem may become infeasible if the controller has no options (inputs)
left t o immediately return t o a feasible situation. Situations like this have been seen to
occur more than once.
If filter gains, on the other hand, become too small, the control algorithm barely makes
use of measurements and open-loop control is almost what we get.
22 CHAPTER 2. THEORY: MPC
2. Model-based filtering
This type of filtering uses process measurements, model outputs and the model itself
to determine corrective actions. An example of such a filter is the Kalman filter. This
filter can be applied only if the IM is linear and secondly, if noise can be assumed to be
zero mean white noise '.
Let's consider a (discrete) state-space representation of the process (in its simplest form)
where z ( k ) denotes the model states and u ( k ) and y(k) the inputs and outputs. Assum-
ing that system noise s ( k ) and measurement noise z ( k ) are present4, and furthermore
that D = O, which is rather common, the observed system can be represented by
Reconstructing the states can then be done using the optimal Kalman filter
3This is white noise with a mean value of zero. White noise is a mathematical fiction, which denotes a
signal that is totally unpredictable, i.e. one could never predict a future value based on information up to the
present time sample. Also see [Kok 901.
41n [Kok 901 system noise is denoted by w ( k ) , whereas u ( k ) is the measurement noise. Since we will use
these symbols in other places, we have chosen t o use the definitions stated in the above.
2.3. TUNING PARAMETERS 23
The first case of these denotes the situation where the states are augmented with step-
wise disturbances q ( z in [Van der Meulen 95]), which are then simply added to the
output y. This way we get
[ x(k +
* ( k + 1)
1)] = [ Ao G
I ] [ ;[:i]+[ ::]u@)+[
The constraint window denotes a time interval within the prediction horizon, for which output
constraints are included in the optimization. Outside of this window, output constraints are
simply ignored. Figure 2.2 depicts this situation.
In Matlab, one can simply specify constraints t o be valid for each sample independently. For
instance, if p = 15, one might decide to specify constraints for samples 3 , 4, 5, 11 and 15, or
any other combination. Not all combinations seem useful though, which is why PRIMACS
assumes the constraint window t o be continuous. Still, it might be useful t o leave outputs
unconstrained for some samples in between of starting and ending point of the constraint
window in order t o reduce computation effort, which highly depends on the total number of
inequality constraints. Of course, this can only be done if the system can be assumed not t o
oscillate violently within this unconstrained time interval.
51n the following we will use PRIMACS’s definition of a constraint window.
24 CHAPTER 2. THEORY: MPC
p e d i c(e2
out p u t
I
k k+ P
Figure 2.2: The constraint window. Here a situation is depicted, where the predicted outputs
do in fact exceed their limits outside of the constraint window. Still, the prediction at sample
k , which can be assumed to be reasonably accurate, does not exceed the constraint
Especially for processes exhibiting dead time behaviour, the use of constraint windows is very
much recommended, if not obligatory. The starting point of the constraint window should
correspond to a number of intervals larger than the dead time. But also in other cases a
constraint window can be very useful, as will be seen in Chapter 5. Without a constraint
window, the QP problem becomes infeasible if during operation outputs temporarily exceed
their constraints. Depending on the implementation in question, constraints are either released
or, even worse, the controller stops altogether because of infeasibility. If, however, a constraint
window is used, MPC is allowed to ignore constraints during the first few samples of the
prediction horizon. Although this can lead t o some overshoot, it is preferable t o the two
situations mentioned earlier, being constraint-release and controller-stop. Too big a constraint
window might still leave the modified QP problem infeasible with the same consequences as
before. Decreasing the size of the constraint window can then ‘solve’ the problem, although
eventually this might lead to a situation where constraints are never (guaranteed to be)
satisfied, which is no better than releasing the constraints altogether.
Still, when the situation occurs that constraints are about to be released, but wouldn’t be with
a slightly smaller constraint window, it might be recommendable to decrease the constraint
window. Releasing constraints is in fact almost the same as using a constraint window of
zero size. Frits van der Meulen recommends that this procediire is automated, so that the
maximum is done to keep a constraint from being released. More on this subject will be seen
in Chapter 5 and also can be found in [Van der Meulen 951.
Finally, control blocks can be used, meaning that the manipulated variables can no longer vary
from one sample to another, but only from one control block to the other. For this purpose,
the control horizon is divided into blocks of possibly unequal size, the size varying from 1
2.4. ALTERNATIVE MPC METHODS 25
t o m samples6. Thus, during one block, the manipulated variable moves Au are taken t o be
zero during the optimization, thereby greatly reducing execution times. Actually intended to
prevent the controller from ringing (or oscillating)) control blocking is often more effective in
doing so than the alternative of choosing the prediction horizon significantly larger than the
control horizon. This of course at the expense of a more sluggish system response. Control
blocking is certainly not the same as choosing a larger sampling period for MPC, since doing
so would also lead t o a far less accurate (if not unstable7) output prediction.
Another reason for incorporating control blocks might be t o improve anticipation abilities)
without increasing aggressiveness of the controller. For example, if the same number of blocks
is used but with blocks twice as large, the controller can (directly) influence the process twice
as far into the future without becoming more aggressive and without increasing controller
execution time.
Summarizing) the size of control blocks should be chosen as a compromise between sluggish-
ness and aggressiveness, in conjunction with possible anticipation demands.
In this section we summarize some approaches other than standard linear MPC, which was
discussed so far. We will conclude with a brief discussion of nonlinear methods, but first
describe approaches which lie somewhere between linear and nonlinear MPC, where nonlinear
MPC denotes the form that uses nonlinear models both for prediction and optimization.
We will start with the intermediate form that still uses a linear model both for prediction and
optimization, but this time obtained at more than one sample’, which normally is the case
(linearizing only once, that is). This means that a nonlinear model is linearized once every
few samples, or ultimately) every sample-but still not within the prediction horizon.
Repeated linearization can be very useful, especially if the actual process exhibits strong
nonlinearities-which indeed the gas turbine does-since process and linear model will deviate
more and more as we move away from the original linearization point. Therefore) it seems
worthwhile t o repeat linearization every time the difference between process (which is thus
far still represented by a nonlinear model) and linear model exceeds some prespecified bound.
This already describes the first and most ‘clever) one of the four linearization criteria that
~
‘Not using control blocking in this sense is equivalent to using m blocks one sample wide. When speaking
of control blocks, at least one block should be two samples in size.
7See the remark on sampling periods in Subsection 2.3.2.
81f we linearize only once, we will do this around the starting conditions. Of course, one could just as
well choose to do this around the desired ending position (if such a position can be distinguished at all), or
somewhere between beginning and end, even.
26 CHAPTER 2. THEORY: MPC
will follow.
But before that, it must be mentioned that repeated linearization also takes its time t o be
executed. Linearizing the model means that K M p C has t o be recomputed, since the entire
system has changed. Without repeated linearization, K M p c had to be computed only once
(unless weightings were changed) which could take place off-line, so laborious computations
were not really a problem. When repeated linearization is used, it becomes eminently clear that
recomputation of K i ~ P Cforms the major part of computation efforts. However, we wonldn’t
use it if we didn’t expect it to offer great improvements in closed-loop performance.
1. Linearize whenever ‘the deviation’ between process and linear model reaches some pre-
specified bound S. We measure the deviation by taking the maximum absolute difference
between model output (or, actually, state) and measurement. Of course, when not all
states are measured, some will have to be reconstructed from those states which are
measured.
2. Linearize every sample: this is the most time-consuming option of all. On the other
hand, this is also the simplest option t o implement [Haarsma 951.
3. Linearize every 2 samples: the second simplest option, where execution time can be
reduced (compared to option 2, that is) by choosing 2 > 1.
4. Linearize whenever new setpoints are specified [Haarsma 951. This option may result in
only one linearization if setpoints are given at the beginning of the movement only, for
instance, in a point-to-point trajectory.
If repeated linearization is used within the prediction horizon, one can still distinguish between
using this newly obtained model both as IPM and IOM, or just one of the two. It is not known
whether such approaches exist, or are even possible at all, since optimization with a ‘changing’
(different for each sample) model can be expected to pose considerable problems.
2.5. MPC IMPLEMENTATIONS: M A T L A B A N D PRIMACS 27
In this subsection we mention methods which use nonlinear models, whether this occurs during
prediction, optimization or both.
The first t o be mentioned is the approach that uses a nonlinear IFM combined with a linear
IOM. The underlying premise is that the superposition theorem-which is valid for linear
systems-still holds to a reasonable extend. Thus reasoning, nonlinearly predicted effects of
initial conditions can be added t o the effects of manipulated variable moves obtained from
the optimization, much like is done in Appendix A.l, albeit in this appendix both effects are
computed with the same linear model, of course.
For instance, [Satter 961 uses this intermediate approach and does so with what appear t o be
rather promising results. It must however be investigated if this method can be guaranteed
not to cause any unforeseeable problems. It would be better still if the method somehow could
be guaranteed t o improve controller performance at all times, since on the other hand it will
increase controller execution time at all times.
In this section we will take a closer look at two MPC implementations, being Matlab’s MPC-
Tools [Morari and Ricker 931 and TNO’s PRIMACS. That is, no exhaustive description of
these implementations is pursued, but typical features and striking differences will be dis-
cussed.
First of all, it should be mentioned that PRIMACS was developed t o improve real-time imple-
mentation on practical applications, over other implementations such as Matlab’s MPC Tool-
box. PRIMACS can receive measurement data from, and send input signals to any process,
whether this is a linear model, nonlinear model or real-life process. This is right away one of
the most significant differences with Matlab: Matlab uses linear models both for the Internal
Model and for the Simulation Model. These two linear models can, by the way, still be dif-
ferent t o simulate plant/controller model mismatch. However, if nonlinear simulation models
28 C H A P T E R 2. THEORY: MPC
Matlab requires that neither the manipulated variables u nor the measured disturbances d
have an immediate effect on the outputs, in other words, the model is restricted t o be strictly
causal. In terms of the above representation, this means that both D, and Dd must consist
of nothing but zeros.
In PRIMACS, on the other hand, an Internal Model is utilized where at time k the inputs
obtained at k - 1 are used, thus creating a strictly causal model. Appendix A.4 takes a closer
look at this.
Next, PRIMACS offers the possibility to specify output constraints as soft or hard. This is
done using priorities which can vary from 1t o 100. Priority 100 indicates the output constraint
is hard, meaning that under no circumstance is the hard constrained output allowed to exceed
its limits. All other priorities indicate the relative importance'" of soft constrained outputs
not t o exceed their bounds. The constraint handling strategy in PRIMACS is now such
that whenever outputs exceed their limits, soft constraints are released in order of increasing
priority. When, after this, the QP problem remains infeasible, the whole control problem is
infeasible, since any hard constraints that might be present, are never released. This directly
constitutes the problem that may arise when too many (or worse, all) output constraints are
specified as hard, often rendering the QP problem infeasible leading t o a complete controller
stop. In fact, Matlab doesn't use any type other than hard constraints, with all consequences
of which.
With respect t o releasing constraints, it should be mentioned that once certain constraints are
released, the algorithm doesn't 'care' how big the violation is. The QP problem could not be
solved with this particular constraint, so the controller acts as if the constraint is nonexistent
until the QP problem with constraint is feasible again. Therefore, it could be useful to penalize
the violation in some suitably weighted criterion, for instance as an extra quadratic term in
the optimization. This way, while the constraint is being released, the controller will be forced,
for example, t o under-perform somewhat in the setpoint tracking in order to reduce constraint
violations. The question remains whether this can be realized without the algorithm becoming
overly complex and, consequently, computationally demanding.
'This would involve programming new algorithms, which in fact is known to have been done.
"The actual values of the priorities are irrelevant, as long as they reflect the order in which constraints can
be released. So, priorities serve as 'tags' rather than weights.
2.5. M P C IMPLEMENTATIONS: M A T L A B A N D PRIMACS 29
Finally, a minute feature of PRIMACS is the possibility t o disable anticipation. The advantage
of MPC t o anticipate for future setpoint changes as well as known future disturbances, can
now be disabled t o imitate the effect that nothing is known about future changes. Actually,
this possibility was added, more than anything else, to visualize the value of anticipation in
comparison with no anticipation (which is characteristic for most other control strategies).
Chapter 3
In this chapter a general description of the gas turbine installation will be given. Construction
and operation of the complete gas turbine and the several elements it comprises will be
discussed. Modeling of the gas turbine will be treated in Chapter 4.
Fuel
Combustion chamber
Compressor Turbine
cycle.
30
3.2. THE COMPRESSOR 31
I I
P T
1 4 1
V- s-
In practice, part of the energy added is used to overcome losses which occur both in compressor
and turbine. These days, gas turbine engines are getting more and more competitive thanks
to increased component efficiencies, to name one factor. The second factor determining the
performance of gas turbines is the turbine working temperature. The higher this temperature
is, the better the turbine efficiency. Naturally, this temperature can not rise unlimitedly, since
at some point material-dependent physical bounds are exceeded. Development of ever better
turbine materials have increased critical stress levels, thus allowing higher gas temperatures. In
the following, we will describe the gas turbine component-wise, starting with the compressor.
Compressors can be divided into centrifugal compressors on the one hand and axial compres-
sors on the other, both having their specific advantages'. Their concepts of operation, though,
are basically the same. Therefore, we will confine ourselves t o describing the centrifugal com-
pressor only, partly because the laboratory installation uses this type of compressor.
only; the remainder of the pressure rise is produced in the impeller itself, by centrifugal
effects. Figure 3.3 is a diagrammatic sketch of the centrifugal compressor.
Resultant
V?ioatY
lesvina mt0r
Outward Tangential
velocity
Volute -Outlet
Figure 3.3: The basic construction of a centrifugal compressor. For explanation of the termi-
nology, the reader is referred t o [Cohen et al. 871
More of interest to us are the inherent restrictions which compressors display. To explain
the compressor’s operation, we consider Figure 3.4. The characteristic depicted here, can be
described by the standard cubic characteristic representation
where +c denotes the compressor pressure rise, and 4 the (mass)flow through the compressor.
+co, W and H are parameters determining the shape of the characteristic, as is depicted.
Departing from point A, if we move to the left along the Characteristic, it is seen that the
compressor can deliver a higher pressure ratio only at the expense of mass-flow. When moving
past the top of the characteristic, we meet one of the compressor’s restrictions. Being the
most severe restriction of all, surge denotes the phenomenon associated with a sudden drop
in delivery pressure, and with violent dynamic pulsation which is transmitted throughout the
whole machine.
Surge is likely2 to happen when the mass-flow through the compressor decreases enough to
enter the part of the compressor characteristic where slopes are positive. A positive slope
2The transition from stable to unstable operation may not happen immediately after the surge point (ex-
tremum of characteristic) is trespassed, because the pressure downstream may drop at a higher rate than the
delivery pressure, to name one factor. So, the compressor might still operate at a mass-flow @ in Figure 3.4,
without entering surge.
3.2. THE COMPRESSOR 33
Î "i
?r
%
t -
T -W 1
I
1 -@-
3
means that a decrease in mass-flow will be accompanied by a fall of delivery pressure. If the
pressure downstream does not fall fast enough, the air tends to reverse its direction and flow
back in the direction of the resulting pressure gradient. When this happens, the pressure ratio
over the compressor drops dramatically, only to rise again when the pressure downstream of
the compressor has fallen also. Unless the compressor is somehow forced to operate in the
stable zone again (i.e. where slopes are negative), the surge instability is bound to persist,
repeating the cycle of events at high frequency. Eventually, this can get highly destructive,
which is why it is to be prevented at all times. The most effective way to get back into the
stable zone, is to immediately open a recycle- or blow-off valve (see Figures 3.5 and 3.6).
Without a turbine present, this simply causes the mass-flow through the compressor to
:r
Blow-off
Compressor
instantly rise, which could also be accomplished by opening the throttle-valve. With a turbine
present, as is the case in the gas turbine installation, opening the blow-off valve results in a
34 C H A P T E R 3. T H E G A S TURBINE INSTALLATION
Figure 6: Preventing surge by opening the blow-off valve. Here mcomp- ti,, denotes the
dimensionless mass-flow through the compressor and Delta- P- tilde the dimensionless pressure
rise delivered by it
rapid pressure drop, again causing the compressor t o enter ‘safety zone’ (this will be seen in
Subsection 3.6.1).
Another important cause of instability and poor performance is rotating staZZ. Although it
can exist in the nominal operating range, it is known t o potentially contribute t o surge. When
there is any non-uniformity in the flow or geometry of the channels between vanes or blades,
breakdown in the flow in one channel, say B in Figure 3.7, causes the air to be deflected
in such a way that C receives fluid at a reduced angle of incidence and channel A at an
increased incidence. Channel A then stalls, resulting in a reduction of incidence t o channel B
enabling the flow in that channel to recover. Thus the stall passes from channel to channel:
at the impeller eye it would rotate in a direction opposite t o the direction of rotation of the
impeller. Although ways exist to model rotating stall (see e.g. [Greitzer 761 and references
therein), this will not be pursued in the present report.
The final limitation to the operating range is known as choke. When ‘moving to the right’
in the compressor characteristic, mass-flow rises simultaneously with pressure drop. In short,
the compressor moves out of the working area it was designed for, thus causing losses which
grow considerably with increasing velocities. At some point the position is reached where no
further increase in mass-flow can be obtained, and choking is said to have occurred.
Other factors restricting the compressor in its operation are imposed by other components
in the installation and their limitations, the next of which to be treated is the combustion
chamber.
3.3. THE COMBUSTION CHAMBER 35
But before we do so, a little more can be said about the compressor characteristics we will
actually use. Throughout this project, we first used a Garrett and then a BBC compressor.
The Garrett compressor characteristic is essentially similar to that of the BBC, and is depicted
in Figure D.l, which can (rather inconveniently) be found in the back of this report. As can be
seen, several lines are drawn which correspond to different rotational speeds. The extrema of
the various characteristics are connected by the surge line. Also depicted are lines of constant
compressor efficiency (which in fact we will not use in our model-we will assume the efficiency
to be constant and equal to 70 % , in case of the Garrett).
In the laboratory installation, a choice has been made for a tubular combustion chamber,
with natural gas for fuel. For the gas to be injected into the combustion chamber, it must be
under sufficient pressure. For this purpose, an mxiliary (constant speed, electrical) compres-
sor is installed, with (intercooled) by-pass control and overflow valve. The tubular combustion
chamber, which is fairly standard for conventional gas turbine configurations, basically con-
sists of two concentrically mounted cylinders. These are the liner and the casing, as depicted
in Figure 3.8. The combustion process takes place in, consecutively, the primary zone, the
secondary or intermediate zone and the tertiary or dilution zone. In the primary zone air and
fuel are mixed, by swirling mostly. This is achieved by flat vanes in between concentrical rings
(also known as the air swirler) through which the air flow passes. The secondary zone mainly
serves as a place for the flow to reside and be cooled to an intermediate temperature by means
of the secondary liner holes, thus allowing the combustion to proceed t o completion3. Finally,
in the tertiary zone the remaining air entering through the tertiary liner holes, mixes with
the combustion gases and further reduces gas temperature, which is necessary in order to
reach a turbine inlet temperature that doesn’t exceed the maximally allowed. This basically
3At extreme temperatures (ca 2200 [KI), dissociation of the main combustion products prevents the com-
bustion from reaching completion. However, at somewhat reduced temperatures, say 1800 [KI, combustion can
pretty much proceed ‘as normal’.
36 C H A P T E R 3. THE G A S TURBINE INSTALLATION
describes the operation of the tubular combustion chamber. For detailed design specifications,
the reader is referred t o [Van Essen 95al.
It is important t o realize that fuel flow cannot increase arbitrarily quickly, since lack of air
will cause excessive fuel to leave the combustion chamber unburnt . Alternatively, opening
the throttle-valve all too quickly will result in very lean burn and possibly even flame-out.
Furthermore, as was mentioned earlier, the maximum fuel/air ratio that may be used is gov-
erned by the working temperature of the highly stressed turbine blades. Moreover, opening the
fuel valve rather quickly results in high temperature peaks, which may exceed the maximum
turbine inlet temperature. This is due to the inertia which characterizes the gas turbine in-
stallation. Opening the fuel valve will result in almost immediate (turbine inlet) temperature
rise, followed by an acceleration of the turbine axle which in its turn drives the compressor.
This causes the mass-flow to increase, finally resulting in a temperature drop that renders the
turbine inlet temperature to have increased only slightly compared t o its starting point. This
effect will be seen in Figure 4.7 (where actually, the fuel valve is closed, with inverse effects).
Although much can be said about turbines, we will restrict ourselves t o a few remarks only,
since basically turbines are the inverse of compressors: ‘expanders’. While compressors need
shaft power t o deliver a pressure ratio, turbines produce shaft power through expanding
a pressurized mass-flow. Like compressors, turbines either are of the axial or radial type.
The vast majority of gas turbines employs the axial flow turbine, usually having the highest
efficiency of the two. However, when mounted back-to-back with a centrifugal compressor,
the radial turbine offers the benefit of a very short and rigid rotor, which can be seen, for
instance, in the Garrett configuration.
Contrary to the compressor characteristic, for the turbine no dependency on rotational speed
is present, see Figure 3.9. This is due to the fact that in a turbine the flow is effectively forced
3.5. T H E O V E R A L L SETUP 37
t o converge, whereas in a compressor it has to diverge. Figure 3.10 shows this mechanism,
where it can be seen that in the compressor the flow tends t o break-away while in the turbine
flow separation will never occur. Instead, the flow at the smallest area will always be near
to, or in a choking situation. The result of this is that, contrary to the compressor situation,
losses in the turbine are very much independent of rotational speed.
In principle, the outgoing flow of the turbine can be recycled) in which case it must be pre-
cooled before re-entering the compressor. In the system under consideration) though, the
combustion products are exhausted into the atmosphere, and heat is not re-used4. Further-
more, we do not use this installation for producing external shaft power.
*In a cogeneration plant, the gas turbine drives a generator and the exhaust gases are used as a source
of low-grade heat. Heat at a relatively low temperature is required for heating buildings and operating air-
conditioning systems, for instance. Other conceivable applications are paper drying and chemical processes.
38 C H A P T E R 3. THE GAS TURBINE INSTALLATION
Figure 3.10: The conceptual difference between compressor (a) and turbine (b)
Figure 3.11 schematically depicts the complete gas turbine as employed in the laboratory
installation. In this schematic view the three elements mentioned earlier can be recognized,
viz. compressor, combustion chamber and turbine. Furthermore a buifer-tank (or plenum) is
positioned in the section between compressor and combustion chamber. Its main function is
t o decouple the flows out of the compressor and into the turbine.
Other components worth mentioning are the blow-off valve, the return valve, the compressed
air valve, the throttle valve and the fuel valve. The blow-off valve mainly serves as an ‘anti-
surge’ valve, as was explained earlier. Apart from this, the blow-off valve can also be used
to reach certain points in the compressor characteristic (setpoints) even more quickly than
already possible with the other control valves. More about control goals will be seen in Sec-
tion 3.6.
The return-valve (between blow-off and buffer tank) and the compressed air valve both are
incorporated for start-up purposes. A start-up facility must be present to provide sufficient
rotational speed of the turbine axle for the compressor to compress enough air to drive the
turbine. This can be accomplished either by connecting an external (electrical) motor to the
turbine axle-which is elegant but very expensive-or by injecting (heated) compressed air
3.6. OPERATION A N D CONTROL 39
from an external compressor. This last option has been selected for various practical reasons
(see [Van Essen 95al). During start-up the return-valve prevents instigation of the compressor.
The function of the throttle valve (between buffer tank and combustion chamber) is t o control
air flow through the gas turbine. Apart from delivering some desired mass-flow, it can also
serve as a means t o quickly decrease turbine inlet temperature, by opening the throttle valve.
Finally, the fuel valve controls the fuel flow into the conbustion chamber and thereby the
power supplied t o the gas turbine.
We conclude this chapter with a discussion of control related issues. We will not yet go into
model specific details which will be done in the following chapter.
We will start with specifying in- and outputs for the gas turbine installation. For inputs we
have the blow-off valve, the throttle valve and the fuel valve. More inputs than this seem
unnecessary for our control purposes, since we don't seek t o control start-up and shut-down
of the gas turbine. These procedures should still be carried out by hand. Any inputs less than
this is hardly preferable, which we will explain by describing the valves' functions.
An important valve for mass-flow control mostly, is the throttle valve ( S T ) ,which can be
seen from Figure 3.12, where we used our (Garrett) model t o simulate the response t o closing
the throttle valve from 30 % to 20 %. Apart from decreasing the mass-flow through the
compressor meomp, the pressure pcomp drops somewhat as well. The same thing is seen in
rotational speed N and mass-flow through the throttle vaive mthr.Most interesting is the
turbine inlet temperature Ttbin, which rises due t o smaller mass-flows.
The fuel valve mainly serves to control compressor pressure ratio, although not without influ-
encing mass-flow through the gas turbine. This can be seen in Figure 3.13, where we opened
the fuel valve (SV) from 23.7 % to 30.0 %. The effect described in Section 3.3 can already be
seen here: when opening SV, the turbine inlet temperature quickly rises from 760 [KI t o 830
[KI, after which it drops again t o 790 [KI, which is only 30 [KI higher than the starting point.
Still, trajectories exist for which the turbine inlet temperature at beginning and end do not
differ at all. This is because of the fact that, when we vary SV only, turbine inlet temperature
reaches a minimum value somewhere in the center of the compressor characteristic.
Surge avoidance is the primary function of the blow-off valve. Apart from this, the blow-off
valve can also be used t o reach certain setpoints faster, but only if these setpoints lie in a
direction which can be reached by opening the valve, since this valve should preferably be
entirely closed in a stationary situation. The response t o opening the blow-off valve is depicted
40
1 lo5. PcomP
9 ~ 0
0.34
.1 3 mcomp
6 r i 1;.
C H A P T E R 3. THE GAS TURBINE INSTALLATION
x io4 N
1.85
0.32
0
Q
E2 .. .. .: . ... .:. . . . . .i. . ..
O
o
Q
1 . . . . .:. . . . .: . ... '.. .. .
Figure 3.12: The response to closing the throttle valve ST from 30 % t o 20 % ( S B = 0.00;
SV = 0.237)
in Figure 3.14. It is clear that the blow-off valve is highly effective in reducing the pressure
delivered by the compressor, since we opened S B by 5 % only. Other than that, turbine inlet
temperature increases considerably, which is why using this valve must be done with caution.
All in all, we conclude that these three inputs are the minimum number we should have if
we want t o reach more or less every point within the compressor characteristic. Still, some
points just cannot be reached, simply because certain combinations of (low) mass-flow and
(high) rotational speed cause temperatures t o reach excessively high values.
The outputs we (may) wish t o control are formed by the three variables which determine the
position in the compressor characteristic. These are the pressure ratio over the compressor,
the mass-flow through the compressor and the rotational speed. Of course, we will never seek
to control all these three variables at the same time, because this would result in a n inherently
over-determined problem: two out of these three variables fully determine the position in the
compressor charact eristic.
Apart from this, we may wish to define some variables as outputs in order t o specify constraints
in MPC. These will be seen in the next subsection.
3.6.2 Constraints
We already mentioned the most important reason for choosing MPC as a control strategy,
which was the possibility of explicitly incorporating constraints on in- and outputs in the
optimization algorithm.
3.6. OPERATION A N D CONTROL 41
1.8 0.35
O 5OTtbin00 150 O 100 150 O 50 100 150
50 mthr
-
;a3
0
oE2
Q
1
750A 50 100 150
0.3’
O 50 100
I
150 O 0.2 0.4 0.6
compressor flow [kg/s]
Figure 3.13: The response t o opening the fuel valve SV from 23.7 % t o 30 % ( S B = 0.00;
ST = 0.30)
First of all, valves should be constrained not to operate beyond fully opened and fully closed
(saturations). This can be easily realized in MPC, whereas other control strategies do not offer
a solution as straightforward as this. Just as importantly, maximum moving rates should be
specified, since real-life actuators cannot simply move with arbitrarily high speed. In MPC
this is realized by specifying the maximum move size per sample period. For instance, the
throttle valve ST requires 120 [SI to move from completely opened t o completely closed. When
using a sample time of 1 [SI, this means that the move per sample may not exceed &.
Furthermore, some outputs may not exceed certain (physical) limits. In our case, the turbine
inlet temperature is not allowed t o (continuously) exceed the bound of 950 [KI. Beyond this
temperature, the stress exerted on the turbine blades becomes unacceptably large. Actually,
this temperature is measured at some distance before the turbine, which is why in our model
(where we did take the turbine inlet temperature t o be measured at the actual turbine inlet)
this temperature is always somewhat lower than that actually measured. Therefore, we must
lower the constraint proportionally. The actual bounds differ for the two configurations used
(Garrett and BBC) and will be stated in Appendix B.
The second output constraint stems from the need to avoid surge. For this purpose we will
define a dummy output ‘DEVSurge’ which measures the distance from the surge-line (in
terms of mass-flow). Keeping this distance greater than zero then is the same as staying out
of the zone left of the surge-line, which is exactly what we want. In principle, such a dummy
variable could also be used t o detect choke. In practice, choke is not really a problem, not
being an instability like surge. Still, we may want t o confine the area of operation by defining
something of a choke-line, which the model is not allowed t o pass, since the real process will
not either. Similarly, minimum and maximum rotational speeds may be specified, although
especially the maximum rotational speed will probably never be reached before the turbine
~ i
42
1.8
;:3q C H A P T E R 3. T H E GAS TURBINE INSTALLATION
mcomp
1.6 0.32
o ~ ~ ~
1.4 0.3
O i00 150 O 50 m b l O O 150 O 50 i00 150
50Ttbin
800
750
~~~~
I
O
O 50 100 150 O 50 100 150 O 0.2 0.4 0.6
compressor flow [kg/s]
Figure 3.14: The response to opening the blow-off valve S B from O % t o 5 % ( S T = 0.30;
SV = 0.237)
In a practical gas turbine application, objectives one can think of are operating at constant
rotational speed (for generator purposes), or, if the gas turbine is t o be used as a power supply
for some external load (for instance in a jet engine) it might be important t o deliver constant
power. Such demands are generally referred t o as peak-shaving, which basically means keeping
either one of these quantities constant under various circumstances and when exposed t o all
kinds of disturbances.
However, in this project, we will not primarily seek t o meet these real-life control objectives.
Instead we will mostly pay attention to what we will call setpoint and it trajectory control.
This means that we will specify objectives that are interesting from the control-oriented point
of view, mostly.
3.6. OPERATION A N D CONTROL 43
For instance, we could try t o reach different operating points while keeping constant one of
the following quantities:
Furthermore, we might specify trajectories in which anticipation abilities are shown, or alter-
natively, interaction or nonlinearities are investigated.
In Chapter 5 we will mostly pay attention to trajectories which in way or another ‘challenge’
the controller. That is, we will try to reach setpoints where one or more constraints are bound
t o be exceeded. If the controller can keep these constraints from being exceeded, probably
through ignoring the desired setpoint, it is said to perform acceptably.
Chapter 4
Most of the system equations that are presented here, will be stated without explanation. For
information on how t o obtain these equations, the reader is referred to [Van Essen 961.
First a model of the compressor and plenum' will be obtained. This model is similar to
the one proposed by Greitzer in [Greitzer 761, which is a lumped parameter model where the
compressor itself is modeled as an actuator disc. Figure 4.1 depicts this setup where the
following definitions were used
'In general, a plenum is a chamber in which air (gas) pressure is greater than that in the outside atmosphere.
It can be a (fictitious) representation of 'volumes' from all over the system (i.e. a lumped p a r a m e t e r ) , or it can
be a real physical chamber such as a buffer tank. In our models, it will usually be a combination of both.
44
4.1. T E E COMPRESSOR MODEL 45
Pin = Pout
where
'Mostly for ease of comparison; different compressors with varying dimensions can be characterized in terms
of a few dimensionless parameters.
46 CHAPTER 4. MODELING THE GAS TURBINE
G
The dimensionless parameters B and influence the dynamic behaviour of the compressor
system. The first of these is by far the most important parameter in determining the system
dynamics. Apparently, the bigger B , the more likely the compressor system is t o enter surge
once the surge line is passed. This corresponds to running the compressor at relatively high
speed or with a large volume behind it or some combination of the two. The second parameter3
only has minor effect on compressor operation and therefore usually is kept constant in ‘pa-
rameter analysis’ types of experiments. qthr and qbl effectively serve as measuring-rods for the
valve positions.
Figure 4.2 shows the response of this simple dimensionless model to changes in q t h r , which is
basically the same as the response to changes in qbl, apart from the fact that the mass-flow
out of the compressor is divided differently over blow-off and throttle duct. Furthermore,
mcomp-tilde [-I
Before moving on to modeling the complete gas turbine installation, some extensions to
the thus far obtained most simple form of compressor model should be mentioned. When
rotating stall needs to be described, a quasi-steady approximation of the compressor response
will not be adequate, since there is a definite time lag between the onset of the instability
and the establishment of the fully developed rotating stall pattern. In this case, a simple,
31n literature, is usually denoted by just G, and equal to ~~~~~~t~~ since no blow-off is present there,
see e.g. [Greitzer 761.
4.2. EXTENSIONS T O T H E BASIC COMPRESSOR MODEL 47
i..... .........................................................
..............................................................
......................
-
0.3 ......................
-
0.2 ..........................
-0.5 O 0.5 i
rncornp-tilde [-I
first order transient response is adopted to simulate this time lag in compressor response. In
dimensionless form this can be written as
Note that, for a given compressor (R, N and Leompare constant), 7 is proportional to $.
Furthermore, the model can be augmented with differential equations for rotational speed N
and plenum temperature Tpl.Especially the first extension seems very useful since our aim is
t o model a gas turbine, which is hardly characterized by a constant rotational speed. Only the
use of a constant speed (electrical) motor would result in such behaviour. Including rotational
speed yields the following (dimension-full) equations
dN
IN- = Pi, - Wp
dt
with
where I is inertia, Pi, the in-going power and W p the power requested by the compressor.
The incorporation of dynamic temperatures improves realism, but can be argued, since this
type of low-frequency dynamics could also be chosen to be ignored, just as slow varying ambi-
ent conditions will not be accounted for. In dimension-full form the corresponding differential
equations take the following shape
48 C H A P T E R 4. MODELING THE GAS TURBINE
Finally, one can choose to replace the differential equations for the mass-flows by static rela-
tions) simply because the dynamics involved here are generally so fast that mass flows change
instantly with other system variables. By doing so, computing times for the model can be
somewhat reduced. On the other hand, defining mass-flows as outputs instead of states can
cause major practical problems when trying to implement the model in the Matlab MPC
Toolbox, i.e. MPC-Tools does not accept any models other than strictly causal, so outputs
cannot be explicit functions of inputs (as was discussed in Section 2.5 and Appendix A.4).
To obtain a model that combines compressor) plenum, combustion chamber and turbine) first
some things need to be said about the latter two components.
The combustion chamber can be modeled in various ways. We wiU present three methods,
based on the following scheme:
1. N o plenum for the combustion chamber: in this case the temperature at the combustion
chamber Te,will have to be determined statically.
Other variations can be imagined, depending on how much detail is needed for in the descrip-
tion. For instance, temperatures can be obtained in a physical way, but just as well through
a 'black-box' function of the fiJel-valve position SV.
Power
Cpcomp
TCc= -T p l
CPT
+ mthrcpT
4.3. MODELING T H E COMPLETE GAS TURBINE 49
&bin = P p l - AP
where C p T denotes the specific heat corresponding t o the (heated) air/€uel mixture (T
indicates temperature) and Ap the pressure drop caused by pipe lines and throttle-valve,
mostly. T t b i n and Tpl are temperatures at turbine inlet and buffer tank. ‘Power’ serves
as the input used t o obtain some desired Tec.If so desired, Power can be a function of
the fuel-valve position SV.
The temperature rise can be obtained in a more detailed way, by actually determining
the fuel flow into the combustion chamber from the fuel valve position and the pressure
ratio over this valve. Next , the temperature is computed using specific heat capacities
and combustion energy. This method-which assumes pressure and temperature of the
natural gas t o be fixed-yields the following equations
=
mfuel3.85 l o 7 f mfuelCpfuel313 + mthrCpcompTpl
Tcc
CpT(ljZfue1 + %thr)
- Ptbin
Pccbar - - (this is p t b i n in [bar])
105
where mfuelis the fuel flow, e p f u e the
l specific heat for ‘fuel’ (usually natural gas), and
ICvfuerthe (momentary4) fuel valve capacity [m3/hr]. The factor 3.85. lo7 is the heat of
combustion for natural gas.
where Veeis the (combustion chamber) plenum volume, m t h r the mass-flow through the
throttle valve and l j Z t b the mass-flow through the turbine.
e ad 2b: In our final model, the combustion chamber is represented, not by its tempera-
ture, but by a Power term added t o the differential equations of &bin and T t b i n , which
corresponds t o the power actually being supplied at the combustion chamber plenum,
instead of somewhere between buffer tank and combustion chamber (in the form of a
* K W f u eisi determined from some valve characteristic which describes the relationship between hvfuei
and the fuel valve position, SV. This characteristic can be proportional or, just as common, exponential
(Kvfuel= Kvfueimaz . where SV = 1.0 corresponds to a fully opened valve). More about valve
characteristics can be found in Appendix B.
5This also causes these variables to become states instead of outputs, which can be especially useful if too
many variables (outputs) are algebraically interconnected, which causes (symbolic) linearization to get overly
complex, and, eventually, the nonlinear model will have to be linearized in order to produce a model which
(linear) MPC can use. We will pay more attention to this in Section 4.4.
I
50 C H A P T E R 4. MODELING THE GAS TURBINE
temperature rise). This power can either be determined in a ‘physical’ way, or alterna-
tively, simply as a fitted (‘black box’) function of the fuel valve position SV. The latter
option will be used in our model.
To model the turbine, we use its characteristic, which was depicted in Figure 3.9. As was
mentioned before, we can either determine the mass-flow dynamically or statically, i.e.
or
where Psstbis the steady state turbine inlet pressure needed for a certain turbine mass-ñow,
and fzurbine the inverse of Psstb6.
We will now state our model of the complete gas turbine installation, where we have chosen
to use static equations for all mass-flows. Furthermore, yet another plenum-this time be-
tween compressor and buffer tank-is added, t o reflect the fact that in reality the blow-off
is positioned near the compressor and not at the buffer tank. Apart from this, it enables an
overall pressure drop t o be modeled apart from the throttle valve pressure drop. This setup
is depicted in Figure 4.4.
4 Power( SV)
xmthr
Ptbin
Ttbin
N ,I qt b
S B ST SVJ
52 C H A P T E R 4. MODELING THE GAS TURBINE
The various fits (f...) in this model can be found in Appendix B, both for the Garrett- and
the BBC-configuration. The static equation for m,, is simply obtained from the pressure drop
over a duct with area A, inlet pressure and -temperature pl and T I ,outlet pressure p,, flow
speed ‘u and friction factor [, which is given by
where determines the size of the overall pressure drop, which-in our model-is (fictitiously)
located between plenum Vcomp and the buffer tank (Vpt).
- - -Beomp ( N )
- mcomp
2AcO,,(N)Scale
where ‘Scale’ mainly scales the mass-flow obtained from the characteristic t o the right dimen-
sions (see Appendix B).
DEVSurge can (and will) also be used t o (try and) prevent choke. Although in real-life choke
doesn’t constitute much of a problem, it is important with regard t o modeling the gas turbine.
The fit is simply not equipped t o describe the actual process (far) beyond this line, where
the mass-flow should-but in the fit doesn’t really-‘automatically’ reach the point which it
cannot pass (see Figure 4.5, the most of which will be explained in the following).
The ‘choke line’ is sometimes? considered t o be similar t o the surge line, only t o be shifted t o
the right (towards higher mass-flows). In reality, this is certainly not exactly true, but it seems
useful as a first approximation. However, it should be noted that in our case, even the just
mentioned approximation is ‘violated’ in some way. If we define the choke-line t o lie at, say,
DEVSurge=0.2, this is not the same as shifting the surge-line over a distance of 0.2, because
the ‘choke-point’ is determined from the ‘surge-point’ ( f 0 . 2 ) at the same rotational speed and,
more importantly, for higher N , the curves in the characteristic fall off faster for increasing
mass-flows. The effect of this is best shown in Figure 4.5, where ‘our’ choke-line is plotted
together with the earlier suggested approximation and the real choke-line. As can be seen,
the choke-he is really riot very wel! described by either of the suggested approhirr,atior,s.
However, this will not be of crucial importance.
7See e.g. [Satter 961.
4.3. MODELING THE COMPLETE GAS TURBINE 53
t
O 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
compressor flow [ks/s]
Figure 4.5: Choke-lines in the (Garrett) compressor characteristic; -: ‘real’, --: ‘ours9,
- . - : ‘suggested’
Also stated were 2,y and g-the states, outputs and inputs of the model, respectively. Note
that in our final mo(ie1 that was presented here, some of the outputs, for instance m,,, are
explicit functions of the inputs, in this case S B . We mentioned earlier that this is not allowed
in Matlab’s MPC-Tools. The model presented here is the model used in PRIMACS, whereas
for Matlab simulation models, dynamic mass-flows were used, but since these models can be
obtained rather easily from what was discussed so far and since the PRIMACS results are
much more valuable to us, the Matlab models are omitted here.
In Figures 4.6 and 4.7 we compared our (Garrett) model to measurements of the real instal-
lation. Figure 4.6 shows stationary points in the compressor characteristic for different valve
positions. The left line corresponds to ST = 0.3, while the right line depicts points for which
ST = 1.0. As can be seen the model quite well describes stationary behavior, both for several
fuel valve positions and for different throttle valve positions.
In Figure 4.7, where the model responses are pointed to by arrows, we compared model-
and actual response to a ramp-wise change in the fuel valve position from 35.3 % t o 8.4 %.
Actually, in the simulation, SV was closed until 11.3 % only, since the fit of the compressor
characteristic is no longer valid for stationary points below the point we stopped at. This will
cause the model to reach a point somewhat higher up in the characteristic, which is indeed the
case, judging from Figure 4.7. Most model responses quite well simulate the actual response,
although the turbine inlet temperature drops somewhat further than it should have. Still, it
is hard t o tell how big the error really is, since turbine inlet temperature was already said
to reach a minimum somewhere in the center of the compressor characteristic, t o rise again
when moving away in either direction along the line of constant ST and S B (only SV is
varied). This means that indeed this temperature would be expected t o be somewhat smaller
54 C H A P T E R 4 . MODELING T H E G A S TURBINE
Figure 4.6: Stationary points in the (Garrett) compressor characteristic; experimental (*) and
simulated (o)
for SV = 11.3 % than for SV = 8.4 %. Other than this, rotational speed seems t o be a
little too slow in its response. This could not be counteracted by decreasing inertia I, since
the time-constant displayed in the transient response of the (model) rotational speed is fully
determined by the slower system dynamics, being the plenum response.
4.4 Linearization
In order t o obtain a linear model which (linear) MPC can use for its computations, we must
linearize the nonlinear differential equations. With the states i,the outputs y and the inputs
-
u as defined in the previous section, we can represent the (nonlinear) system-equations by
where 2= x.
dx
%EJ
Substituting the point (states and inputs) around which is linearized (this is usually the initial
condition) yields the (quantified) matrices A , B , C and D.
4.4. LINEARIZATION 55
"PI-!
Figure 4.7: Comparison of model and reality: transient response to change in S V from 35.3 %
to 8.4 % /11.3 %, where (a): S V (lower 2 lines); (b): N (lower 2 lines); (c): h t h r ; (d): Tcomp;
(e): Ttbin(upper 2 lines and 'arrow-line'); (f): peomp(upper 2 lines)
If the outputs contain mutually coupled (algebraic) expressions, linearization can get rather
complex. For instance, if we have two outputs
yi = g,(-,U,y,)
Y
-2 = g2(-,u,y,)
it might be impossible t o explicitly express both the outputs in terms of g and U, only. In
that case it may be possible to obtain the partial derivatives by solving a set of algebraic
equations. If, however, the number of mutually coupled outputs gets considerably larger, the
linearization gets rather complex'. To avoid this, certain outputs can be defined as states
either by using some physically justifiable differential equation or by introducing a first-order
time lag approximation. For this very reason it was convenient t o decouple ptbin and ppï by
introducing a third plenum, which was described in the previous section.
As was seen in Subsection 2.4.1, the linearization can be obtained analytically or numerically.
We chose the first option and used Maple to obtain the symbolic expressions for the partial
derivatives.
This linear model next was evaluated at the initial conditions, the result of which is shown in
Figure 4.8, where we compared linear and nonlinear model (Garrett) for a step in S V from
23.7 % to 28.0 %. For this (not too big a) step, the deviations between the two models seem
rather small, maximally about 15 %. Of course, the linear model will be accurate only within
the proximity of the original linearization point. Repeated linearization (evaluation of the
linear matrices at multiple points) is expected to improve accuracy.
More about the implementation of the model in MPC will be seen in the following chapter.
'For q algebraically coupled outputs, this would involve the symbolic inversion of a matrix with dimensions
4 x Q.
56 C H A P T E R 4. MODELING T H E G A S TURBINE
0.38 0.38
0.35
0.36 0.36
0.34
2
O 50
PP1
100 150
0.3
*F
O
l
:::f-q
50ptbi,,100 150
0.34
1200
O 50 100 150
i.a 1150
O 50 TDllOO 150 O 50Ttbi,100 150 O 50 100 150
400 I a20i 1
390
380
n
-i7
f
Figure 4.8: Linear and nonlinear model compared; -: nonlinear, --: linear
Chapter 5
In this chapter we will state results of MPC applied on the gas turbine, obtained with PRI-
MACS. Although we did run numerous simulations in Matlab, we will pay no attention t o
them, since these simulations-not incorporating a nonlinear model-seem t o be of little value
compared t o those run in PRIMACS.
We will discuss these results and draw some conclusions. Furthermore, we will ‘design’ an
experiment which is t o be carried out on the real laboratory installation’. Out of safety
considerations, this will be a reasonably ‘mild’ trajectory.
But before we do so, we must say some things about the implementation. Specifics can be
found in Appendix C.
Most of what will be treated in this section, stems from handling numerical problems. After
that, we will state and motivate the constraints that were implemented, and our final MPC
parameter settings.
5.1.1 Scaling
The first of these issues is the need for scaling. Basically, this is a rather trivial problem, but
nevertheless it is essential t o solving the control problem.
57
58 C H A P T E R 5. MPC APPLIED ON THE GAS TURBINE: SIMULATIONS
Systems that are characterized by widely varying time-constants, yield ‘stiff’ differential equa-
tions that cause optimizations (but even simulations) to become ilZ-conditioned2. Proper scal-
ing can3 alleviate these problems.
The concept of scaling is quite simple. For example, let’s consider mcomp
and its scaled version
- mcomp
mcomp - where cl = 0.5 ( w order of magnitude of hcomp).
states xi j % = 2
outputs yi *= 5
inputs ui =+- = 2
With this we get % = -2cC- U Ä ( i , j )= $A(i,j)
C. yielding
-
B(i,j) =
This basically describes the scaling procedure. In PRIMACS the same procedure is used,
but next t o that PRIMACS sometimes (internally) uses scaled signals as well. The definition
of these scaled signals is slightly different from the earlier described scaling method. By
subtracting an estimated mean of the signal, we get a signal with (approximately) zero mean.
Next, this signal is scaled like before. This yields the following expression for e.g. x i
2Definitions of these terms can be found in various works on mathematics, such as [Borowski and Borwein
891.
3For ‘very stiff’ systems, scaling may not be sufficient t o prevent numerical problems.
5.1. THE MPC ILMPLEMENTATION 59
5.1.2 Discretization
Another important issue is the discretization of the matrices A , B , C and D.We obtained
the discrete matrices by using
cd I CeA(At-8)
Dd = c [iAt-e+ eATdr]B D
where At is the sampling interval and û the 'data procession' time (see [Kok 90, Section 6.11).
In our case 6 = At, since computed moves (based on data from sample k ) are implemented
+
at the following sample ( k i), so Cd and Dd take the following form
c d = c
Dd D
Ad and B d are often seen t o be referred t o as Q> and I', respectively.
We implemented this by including the Matlab function c2d (converted t o C++) in the PRI-
MACS source-code. This function computes the exponential functions by using either Taylor
or Padé approximations, preceded by scaling of the matrices A and B and followed by repeated
squaring t o undo the scaling (see [Matlab 921). The corresponding PRIMACS source-code can
be found in Appendix C.
5.1.3 Reconstruction
If repeated linearization is to be used, all model states will have t o be known reasonably
accurate (see Subsection 2.4.1). This means that states that aren't available as measurements
will have t o be reconstructed one way or another. Section 2.3.5 proposed the use of a Kalman
filter for this purpose, possibly even combined with a disturbance-model. However, in the end
we did not apply this filter, because time did not permit t o get the implementation t o work
properly. Instead, we 'reconstructed' unmeasured states in a somewhat 'ad hoc' way. With
the following measurements available
we can compute p p l and T,l, if we assume that Tplevolves exactly like Teomp (thus differing only
in their initial conditions4), by using the pressure drop over the throttle valve (for subcritical
flow, see Appendix B)
- -
4 S 0 we assume that T,l = Tcomp.
60 CHAPTER 5. MPC APPLIED ON THE GAS TURBINE: SIMULATIONS
2
mthr 7.0
(STKuT,,,)
1
* Ppl = ?:2pt:r 4-
and Tplfrom Tcomp
by using equation (5.1), but modified such that we get
5.1.4 Constraints
The three values for the maximum temperature constraint correspond t o different models or
different safety margins. At first, when we were still using the Garrett model, we took this
constraint to be 950 [KI. After a while, we felt that-out of safety precautions (since the
constraint was slightly exceeded)-the constraint would best be lowered t o 900 [KI. When
finally, we switched to the BBC model, we changed the constraint t o 750 [KI, because this
model continuously resulted in a far lower Ttbin.
Next, we used the following input constraints and input move constraints:
Most of these constraints are rather obvious. We specified low constraints on ST and SV
slightly larger than zero, since it seems rather useless (and maybe dangerous) to completely
close these valves. The move constraints were taken from [Van Essen 95a]. For instance, S B
needs 72 [s] to move from fully closed to fully opened. In the laboratory installation, these
valves always move at maximum rate, but can of course be made t o move during part of a
sampling interval only.
Other than this, we did not specify any constraints, mainly t o keep computational efforts
(which grow considerably with increasing numbers of constraints) within practical limits.
5.i. THE M P C IMPLEMENTATION 61
In the simulations, we used the following MPC parameter settings (unless stated otherwise):
Consecutively, we will motivate all of these choices. In Subsection 2.3.1, we mentioned the
fact that the (MPC) sampling period can not be chosen arbitrarily large, since it is also
used as discretization sample time. This is why we chose the first two sampling intervals t o
be equal to 1 [SI. From Matlab simulations, it was concluded that such a sample time still
allowed for reasonably accurate modeling, while on the other hand it caused no considerable
computing-time related problems5.
In PRIMACS, this sampling period proved t o be rather large, although with the use of
somewhat faster computing hardware, this problem is expected not to be insuperable. Other
than that, the integration routine used in PRIMACS t o simulate the nonlinear model, might
quite easily be improved. At the moment, this still is an Euler forward integration scheme. Of
course, the execution time also largely depends on the tuning parameters that are t o follow.
The integration sample time again was chosen as large as practically possible. Choosing a
period larger than this, resulted in highly inaccurate (or even unstable) model response.
Next, we chose the control horizon m = 4, in accordance with the recommendation t o choose
5Actually, in Matlab, we did not check if MPC’s execution time never exceeded the limit of 1 [s] per sample.
We merely found that for a simulation run of 150 [SI, MPC needed about 20 [SI (depending on the number of
constraints that were ‘active’). This might s t 2 mean that, say, for the first sample, MPC needed (say) 3 [s],
which of course is unacceptable for real-time implementation.
‘The mass-flow through the compressor is sometimes seen to display an inverse response typically lasting
for about 1 [SI so this is of RO importance to us.
62 C H A P T E R 5. MPC APPLIED ON T H E GAS TURBINE: SIMULATIONS
it somewhere between 1/6 and 1 / 3 of the prediction horizon, which in our case corresponds
t o 2 t o 5 samples. This control horizon was found t o result in acceptable controller behaviour.
We decided t o use a constraint window starting from the 5th sample, because in several
simulations we ran with the Garrett model, not using a constraint window resulted in early
release of constraints, after which (due to the effects of, for instance, turbine inlet temperatures
of almost 2000 [KI), the controller could not manage t o get back to the desired situation. In
case of the BBC mode!, we did aot yet experience these problems, which is why simdation 9
(see Section 5.2), where we didn’t use a constraint window, does not show any of these
problems.
Finally, we defined filter constants # O for the outputs that are in fact measured. Further-
more, mcOmp and DEVSurge are filtered as well, where we assumed that these outputs can
be reconstructed from peomp and N via the compressor characteristic and the definition of
DEVSurge, respectively. In order not t o take filter settings too tight on the one hand, but
still make use of process measurements on the other, we chose the filter constants equal t o
0.1.
These parameter settings were used in all simulations, unless explicitly stated otherwise.
Parameter variations will be stated and motivated in the next section. All other parameter
settings can be found in Appendix D which should accompany the simulations treated in the
next section.
This section contains results obtained with the Garrett model (the first two simulations),
followed by those obtained with the BBC model (all other simulations). In all figures, we used
the following convention:
5.2.1 Simulation 1
We start with an example of setpoint control, depicted in Figure 5.1 and referred t o as
Simulation 1 (Garrett). Here we specified setpoints for mcOmp from 0.35232 t o 0.2 [kg/s]
simultaneously with a compressor pressure (pcomp)drop from 187899 to 150000 [Pa].It is seen
that the turbine inlet temperature reaches its constraint, but doesn’t exceed it (not even the
linear model does), which is exactly what we expected from MPC.
Furthermore, if one compares the valve positions t o the temperature response, it becomes
clear that at 10 t o 15 seconds before the temperature constraint is about t o be exceeded,
MPC decides t o open the fuel valve less quickly in combination with closing the throttle valve
5.2. SIMULATION RESULTS 63
rncomp N
-
O 100
Ttbin
200
O
O 1O0
DEVsurge
a 2
200
Ï
O 1O0 200
pcornp vs. mcornp
S5 ST SV
0.2
0.2
0.15
0.15
o. 1
O 100 200 O 1O0 200 O 1O0 200
slower, both actions of which can be easily seen (see e.g. Figures 3.12 and 3.13) to slow down
temperature rise.
Next to these two valves, in the beginning the blow-off valve is opened at maximum rate for
about 5 seconds and then closed at a slower rate for another 15 seconds. This is especially
useful to decrease pcompquickly (see Figure 3.14), after which the blow-off must be closed again
to prevent this pressure from becoming too low again. It can also be noted that DEVSurge is
especially sensitive to differences between linear and nonlinear model. If DEVSurge is close
to a constraint this may cause the controller to become overcautious (which isn’t such a bad
thing), since the linear model has the tendency of (always) responding more violently than
the nonlinear model.
In this simulation, we linearized on each sample, which is basically why this rather difficult
setpoint change (since a constraint is reached) is performed reasonably well. Without repeated
linearization, the linear model might have become too inaccurate to keep this control problem
from getting infeasible.
64 C H A P T E R 5. MPC APPLIED ON T H E GAS TURBINE: SIMULATIONS
5.2.2 Simulation 2
This is definitely true in Simulation 2, where we tried to reach a point where the turbine inlet
temperature would exceed its maximum7. This was done by specifying a setpoint change in
?-hcomp from 0.35232 t o 0.2 [kg/s], while maintaining a constant pcomp.Figure 5.2 shows that
the gas turbine displays highly interactive behaviour, because when we try to decrease ?-hcomp,
pcomp drops as well, whereas it was supposed to be kept constant.
mcomp N
1200 7
1000. i.,
-0 800 I
o 100 200 o 100 200 o 100 200
500'
o 100 200
1
~ : ~ ~
O
o
DEVsurge
!,--.-------
100 200
ST SV
- 0
o 100 200 o 100 200 o 100 200
Figure 5.2 shows that in order to keep the temperature from violating its constraint, MPC
decides to (more or less) ignore the setpoint on pcomps.
At first, MPC still tries to get this pressure back t o its initial value (by opening S V ) , but
pretty soon comes t o the conclusion that Tibin will exceed its maximum, if no counteraction
~~
71n this simulation (which actually preceeded Simulation i) we still used a high constraint of 950 [KI for
the tempeiaiwe, wheïeas in the sübsecperit Gaiïett simdations this consträint was lowered to 900 [KI out of
safety reasons.
8 0 f course, this 'choice' heavily depends on the weights used for hcomp
and pcomp. With different weightings,
MPC might just as well decide to let go of the other setpoint, or-for that matter-meet both setpoints halfway.
5.2. SIMULATION RESULTS 65
Apart from all this, (linear) DEVSurge reaches its constraint as well, but is kept from violating
it by the very actions that cause Ttbinto stay beneath its maximum. It is also seen that in
this simulation, where we did not (yet) filter DEVSurge, linear and nonlinear version display
a huge diEerence. This causes the c o n t ï d e r to Secorne wedy caiitiüm, were it m t fm the
fact that control actions were undertaken anyway, since Ttbin was nearing its constraint.
When looking at what actually happens, it is not surprising that MPC more or less releases the
setpoint on peomp,since the number of setpoints (2) added to the number of active constraints
(ior 2) exceeds the number of effectiveginputs (2). With effectively 1setpoint and 1 constraint
active, the problem becomes feasible again.
This especially hard control problem could not be 'solved' if we linearized only once, which
is shown in Figure 5.3. Soon the model becomes too inaccurate to keep the problem from
mcomp
0.1
O 20 40 O 20 40
Ttbin
, DEVsurge
~izl
1000 .............
0
O
.
- 20
4
ST
'~'..."'.
,
40
7 1
4.1'
0.41
20
sv
40
I
I
O'
O 20 40
Figure 5.3: Same simulation as Simulation 2, only now we linearized only once
becoming infeasible.
Still, we must mention the fact that in the repeated linearization we used in Simulation 2,
the model was (incorrectly) not updated for new inputs-only for the outputs. The more
surprising it is, that this faulty repeated linearization still yielded better results than the
simii!ation where we Enearized only once.
5.2.3 Simulation 3
In this simulation (BBC) we tried to do something similar t o what was done in Simulation 1,
but unfortunately stumbled upon some inconvenient effects. Here we wanted t o decrease pcomp
from 164171 t o 135000 [Pa] together with rheompdecreasing from 0.4919 t o 0.33 [kgls].
The results (Figure 5.4) show that for octpxt weightings 5 fm pcompand 1 for meompi the
desired pressure is reached, but not the desired mass-flow. Although this seemed unexplainable
at first, eventually it was found to be caused by the rather inconvenient character of the
throttle valve.
mcomp Ttbin
- - .- . . . . - - -
,_
0.4
O O
0.35 m
~ ~ ~
4. . _ _ - a
.. 1-O0 ~
600
0-05
O 1O0 O 1O0
oiFi
SB ST SV
O 0.95
O 1O0 O 1O0 O 1O0
This valve has such a large capacity, that when it is operated somewhere near fully opened,
it is almost without effect. The pressure drop over this valve is just too small to be of any
contribution to the process. Only when the valve is closed beyond 50 % the effect becomes
noticeable. Since we chose an initial condition where ST = 1.0 (fully opened), this behaviour
is something we will have to live with, unless of course we choose to take a different initial
condition. This is something we recommend for future simulations, but didn't do ourselves,
again out of lack of time.
The effects on the optimization in MPC can be explained as follows. Consider the optimization
criterion, which was represented in Chapter 2
5.2. SIMULATION RESULTS 67
When minimizing this criterion, MPC will find that-for the input weighting we used for
S T , which is 2-(large) changes in ST (Au) add more t o the optimization criterion, than
they contribute t o reducing this cost by reduction of (weighted) output deviations from their
setpoints (‘y - T ’ ) . This is why MPC will not generate any changes in ST other than very
small.
1.4
.
pcow
6 j o;;.‘%]
0.35 ......................
..............................
SB ST sv
O
O0.6 . E I
0.2r5t-l- l
0.3
0.2
o i000 2000 o 1000 2000 O 1000 2000
And indeed, Simulation 4 (Figure 5.5) shows that if we wait long enough, the throttle valve
very slowly reaches the ‘zone’ where it becomes effective again, and it is seen that in the end
both pressure ratio and mass-flow reach their desired setpoint-it just takes about 10 times
as long as it normally would have!
The easiest solution t o this problem is to lower the weight on ST considerably, such that the
throttle valve can move at maximum rate in order to reach ‘effectiveness’ as soon as possible.
The only danger in this is the fact that when setpoints are (almost) reached, the controller
can become rather nervous (as will be seen in Simulation 6), since changes in ST are barely
penalized.
5.2.5 Simulation 5
This simulation shows (Figure 5.6) that if we lower the weight on S T , the desired setpoint
from the previous two simulations is reached within an acceptable time interval. We eventually
chose such a weight on S T , that the throttle valve is not too restricted in its moves on the
one hand, and will not act too nervous on the other (see Simulation 6). This resulted in a
weight of 0.3, whereas other weights were unchanged.
Apart from the fact that, thanks to a far more active S T , mcompdoes reach its setpoint,
nothing else has changed. The turbine inlet temperature still doesn’t exceed its maximum.
This simulation was actually ‘designed’ for use in the next chapter, where it will serve as the
example which the laboratory installation should follow, being actuated with the inputs we
68 CHAPTER 5. MPC APPLIED ON THE GAS TURBINE: SIMULATIONS
mcomp Ttbin
SB ST SV
0.35I
0 OO . 100
0 5
200 ~
0 100 200 O 1O0 200
computed here.
Next, we will show the disadvantage of choosing an input weight as small as the one we chose
for ST.
5.2.6 Simulation 6
In this simulation, we tried to decrease m,,p from 0.4919 to 0.33 [kg/s], while maintaining
a constant pcomp.As in Simulation 2 this describes a point for which Tbin by far exceeds its
maximum. Therefore, it is not surprising that neither of the setpoints are met (see Figure 5.Q
since the (linear) Ttain
pretty soon reaches its constraint, once the throttle valve gets effective.
At about 80 [SI, the linear Ttbinalmost exceeds its maximum, after which it suddenly drops
again, corresponding to the point where S B stops closing, since by then it is completely
closed. Next, the throttle valve starts to oscillate with a rather small amplitude, which still
results in quite severe oscillations in the linear turbine inlet temperature. This is caused by
the small weight on ST. The weights on S B and SV in this simulation were chosen to be 10
and 100 respectively, in order t o prevent these valves (especially S V ) from oscillating as well,
since this was seen (not shown here) to happen in earlier simulations.
The problem depicted here, forced us to (from here on) choose setpoints which can be reached
by varying the fuel valve, mostly. Therefore, in the following 4 simulations, where we wish to
depict the effects of the various tuning parameters, we leave off from a simulation where the
throttle valve is hardly used.
5.2. SIMULATION RESULTS 69
SB
O
ST
100 200
o::
0.3
O
sv
1O0 200
5.2.7 Simulation 7
In this simulation, we specified new setpoints for mcompand pcomp.The mass-flow had to
increase from 0.4919 to 0.64 [kg/s], the pressure from 164171 to 200000 [Pa]. Figure 5.8 shows
that the controller manages t o reach the desired setpoints quickly, although Ttbin
momentarily
(but rather severely) exceeds its constraint. This is again caused by the use of a constraint
window.
As was expected, the controller mainly uses SV to reach the setpoints, but next t o that-at
about 10 [SI-it opens the blow-off somewhat, in order t o stop the increase of pcomp,mainly.
As was seen in Figure 3.14, the blow-off is highly effective in doing so.
Next, we vary the various tuning parameters. We compared the results from that to Simula-
tion 7, but unfortunately didn't use different line types for the two responses. However, the
accompanying descriptions should be able to make clear which is which.
5.2.8 Simulation 8
rncornp Ttbin
PCO~P
’
i ‘tj
I .6
.8
O 50 O 50 O 50
SB ST SV
1 I
O 50 O 50 O 50
5.2.9 Simulation 9
Next, we depict the effect of not using a constraint window (Figure 5.10). In this simulation,
at sample 6, Ttbinwas about to exceed its maximum, after which constraints were being
released from sample 7 t o 12. In this interval, Ttbinis seen to immediately rise, until (luckily)
the setpoints are reached, which causes the fuel valve to close again. If it wasn’t for this
‘fortunate’ situation, Ttai,
would most probably have exceeded its maximum for a much longer
period of time. Because of all this, the three valves display something of a delay compared to
Simulation 7, which causes setpoints to be reached slightly slower.
As we mentioned in Subsection 5.1.5, while running the Garrett model, several times we expe-
rienced big problems to occur when a constraint window wasn’t used. Introducing a constraint
window was then often t o be found to solve the problem. When constraints are released, it
can simply not be guaranteed that the controller will manage to meet the constraints again.
It should be investigated, exactly how using a constraint window changes this situation.
5.2.10 Simulation 10
Instead of a control horizon of 4 samples, we now use 2 control blocks, each measuring 2
samples (see 5.11). Although the differences are rather small, it can be seen that indeed when
we use these control blocks, all controller actions are less severe, resulting in a somewhat
slower response in Ij2comp, especially.
5.2. SIMULATION RESULTS 71
rncornp Ttbin
O 50 o 50 O 50
SB ST SV
0.45 R 1
0.4
0.95 0.35
O 50 0 50
5.2.11 Simulation 11
Finally, we wish to show the effect of choosing a prediction horizon of 30 samples instead of
15. When we did this starting from Simulation 7, no differences were to be seen. Therefore, we
chose to use the situation from Simulation 5, and depicted the response of Ttbinin Figure 5.12.
Differences are still rather small, but it can be seen that when we take p = 30, the controller
manages to keep both the linear and the nonlinear Ttbin from exceeding the maximum, whereas
for p = 15 the Linear Ttbin did in fact slightly exceed its constraint.
When p = 30 the controller can in fact ‘see’ the point where Ttbin
will reach its constraint
right from the very start, since this happens at 19 [SI.
We expected Ttai, to severely exceed its maximum because Simulation 5 was already close
t o doing this. Quite to the contrary, the controller performed better than in Simulation 5,
keeping Ttbin at a safe distance from its maximum, while reaching the setpoints even faster.
72 C H A P T E R 5. MPC APPLIED ON T H E G A S TURBINE: SIMULATIONS
mcomp Ttbln
O 50
Of= l
0.5
O 50 O 50
Si3 ST sv
O SO O 50
This is something we are still trying to explain. Although we might be dealing with just
an unfortunate example of a case in which repeated linearization doesn't work too well, it
suggests that something is wrong in the repeated linearization procedure, especially since
linear and nonlinear model display smuller differences here than in Simulation 5.
Lack of time kept us from finding out what exactly went wrong here, but we definitely
recommend to look into this until the problem is solved.
Still, in the Garrett model we experienced repeated linearization t o do nothing but good,
which is why we feel that it should be able t o improve performance at (practically) all times.
5.3 Conclusions
Looking back at the simulations we presented in the foregoing, we can conclude that
o Under normal circumstances, MPC is well capable of reaching setpoints, without ex-
ceeding constraints, which is probably the most important feature of MPC.
o Although MPC uses a linear model, it can still handle highly nonlinear processes, such
as the gas turbine, especially if repeated linearization is used. This must of course partly
be attributed t o the filter actions. However, repeated linearization was shown not always
to improve performance. Since we do not (yet) really know what caused this, it doesn't
seem appropriate t o draw too specific a conclusion out of this.
5.3. CONCL USIONS 73
mcomp SB
0.005
0.5
O
o O - 50 6 *.O1 ~O 50
ST SV
O 50 O 50
o If setpoints are specified that simply cannot be reached, without violating one or more
constraints, MPC partly ignores the setpoints but keeps the constrained outputs from
(permanently) violating their limits.
o Inputs that are hardly effective cause MPC to
- either become very slow in reaching the setpoints, if the corresponding input weight
is comparatively large
- become rather nervous when setpoints are almost reached, if the corresponding
input weight is relatively small.
Such situations should therefore be avoided.
o The rules of thumb for choosing tuning parameters provide a useful basis t o start from.
However, the tuning process still involves trial and error procedures. Apart from that,
we found the basic effects of the various tuning parameters to apply to the gas turbine
as well (although not always as evident).
o A constraint window can be very useful, t o keep constraints from being permanently
released. Our experience is that, with a constraint window, constraints are violated
sometimes as well, but (almost) never for long periods of time.
o Finally, we mention that while running these simulations, MPC neeaed about 5 Es] to
execute its computations (on a 486DX66 machine), if repeated linearization was used.
Without repeated linearization, it could do with about 1.3 [SI, which is almost within
the limit required for real-time implementation. However, execution time does not seem
t o be much of a problem, since faster computers are quite commonly available.
74 C H A P T E R 5. M P C APPLIED ON T H E G A S TURBINE: SIMULATIONS
UV"
O 10 20 30 40 50 60 70 80 90 100
Figure 5.12: Simulation 11; - .-: p = 15, nonlinear; - e : p = 15, linear; -: p = 30, nonlinear;
--: p = 30, linear
mcomp Ttbin
SB ST SV
0.26
0.24
0.22
O 1O0 200 O 100 200 O 1O0 200
In this chapter we state the results of applying the inputs, obtained in Simulation 5, on
the laboratory gas turbine installation. Out of safety reasons we chose a reasonably ‘mild’
trajectory for the controller to perform.
To actually apply off-line computed inputs t o the installation, it was necessary t o design a pro-
gram which, via the data acquisition package LabVIEW, could drive the valves. These valves
normally operate at maximum moving rate only, which is why moves have t o be translated
to operating-time intervals. Through the manipulated variable move constraints, it is guar-
anteed that the valves will not have to move for any time longer than one sampling interval
(which is approximately1 1 second). Still, when moves are smaller than some minimal value
(determined by the resolution of the ‘driving unit’), they will have t o be accumulated until
their total at least equals the minimum move size. All of this (and more) was implemented
by Twan Althuizen, whose report should appear somewhere in February 1997 [Althuizen 971.
The resulting response is depicted in Figures 6.2, 6.3 and 6.4. In these plots, we ‘filtered’ out
the spikes, by simply not connecting these points.
First of all, it can be seen that, a fair amount of noise is present. The measurement from
which mass-flow somewhere near the throttle valve should be obtained (this is a pressure
drop measurement), in fact still seems t o be too unreliable t o use. Instead, we reconstructed
the mass-flow through the compressor by using the compressor characteristic. The result of
this is depicted in (the left figure of) Figure 6.2. Furthermore, we mention that the turbine
inlet temperature is measured by two thermo-couples. The smallest thermo-couple exhibits
more noise, but responds much faster than the thicker one (Figure 6.4). Also depicted is the
temperature response our model predicted, compensated with the 200 [KI we subtracted from
‘In the actual application of the inputs, the sample interval might have been somewhat longer than 1
second, due to (small) practical problems, which we will not describe.
75
76 C H A P T E R 6. EXPERIMENTS W I T H PRIMACS
Figure 6.1: Computed (- .-) and actually implemented (-) input signals
i
2Ri.
Figure 6.2: meomp(left) and N (right); - .-: simulated; -: measured (. in case of heomp)
the constraint (see Subsection 3.6.2 and Appendix B.2). The model reasonably well simulates
the temperature response, apart from a much larger peak at about 20 seconds. Of course, it
would have been worse if it were the other way around, since in our case, the controller just
becomes somewhat too cautious. Finally, it is seen that, although the system responds almost
the way we wanted, peompand meomp do not drop far enough, which seems to indicate that in
reality, the throttle valve becomes effective even later than the one we used in our model.
77
8ao -
..
720 v,
700
O 50 1O0 150
Figure 6.4: Turbine inlet temperature: - .-: simulated; -: measured, where the ‘upper’ signal
is generated by the smallest thermo-couple
Chapter ?
7.1 Conclusions
We have tried t o assess the feasibility of MPC as a control strategy for the gas turbine
installation.
Next, we expected nonlinearities t o cause problems, since MPC uses linearized models for
its computations. Even when we didn’t linearize repeatedly, MPC performed rather well
under most circumstances. On one occasion though, the model which was linearized only
once performed even better than the model obtined by repeated linearization. We could not
(yet) figure out why this happened, since we definitely expected the inverse t o have happened.
However, we did experience the repeatedly linearized model t o improve performance in the
simulations we did with the Garrett model. This causes us t o believe still should be worth its
while. Still, this is something which needs t o be further investigated.
We derived a lumped parameter model of the gas turbine which reasonably well described
the real installation. Still, this model (for the BBC configuration) should be improved t o
better describe the response t o variations in the throttle valve. This same valve caused some
problems, due t o the fact that it is hardly effective when operated somewhere near completely
opened.
The model which described the Garrett configuration on the other hand described the cor-
responding process surprisingly well. The reason for the difference in model match between
78
7.2. RECOMMENDATIONS 79
the two still isn’t clear. Looking back at what was caused by all this, we feel that the recon-
figuration ‘from Garrett t o BBC’ was (unwillingly) perhaps a little more significant than it
was initially expected t o be. All in all, the models we obtained seem t o be a fine compromise
between accuracy and simplicity, which was needed for our purposes.
The specific advantages MPC claims t o possess over other control strategies can be said
t o hold up t o some extend. In most cases, MPC manages t o reach certain setpoints while
keeping coristrairits from Seir,g violated. Howeveï, sometimes when constraints are aibmt t o be
exceeded the problem may become infeasible, if hard constraints are present. These constraints
may never be released, whereas soft constraints can in fact be (temporarily) released, t o
prevent the optimization problem from becoming infeasible. It can still not be guaranteed
that this release of constraints will in fact be temporary. The use of a constraint window may
cause constraints t o be exceeded as well, but our experience is that these violations more
often than not last for only a short period of time. One of our recommendations stems from
this problem.
Secondary t o this, we implemented the model in PRIMACS, which in itself was rather labo-
rious. A new discretization routine had to be programmed in order t o yield a stable model.
Apart from that, we had t o reconstruct the states that weren’t available as measurements.
Understanding the source-code used in PRIMACS seems rather important, if the various
operations are t o be carried out properly.
9.2 Recommendations
Finally, we wish t o recommend a few things for future work in this area. Most of these
recommendations leave off from the conclusions we stated in the above.
Starting with the first (and probably most trivial), we recommend the use of computing
hardware which is about five times as fast. Since we used a 486DX66, this does not seem t o
be much of a problem.
Secondly, the model we used for the BBC configuration should be improved (if possible), t o
better describe throttle valve response. This seems to be easier said than done, since all sorts
of things have already been tried t o achieve this.
Our third recommendation actually was done by Frits van der Meulen in his re-
port [Van der Meulen 951 and regards the use of an automated process which decreases the
80 C H A P T E R 7. CONCLUSIONS & RECOMMENDATIONS
size of a constraint window, if constraints are in fact about t o be released. However, if our
fourth recommendation is complied with, the third one may no longer be necessary at all.
This recommendation, which is in fact already taken into consideration (having been stated
earlier in [Satter 96]), regards the penalization of constraint violations. If violations are some-
how incorporated into the quadratic optimization criterion (2.1),the controller will be forced
t o reduce them, by under-performing in trying t o reach the setpoints.
The fifth recommendation we wish t o make, suggests the use of more efficient integration
routines in the PRIMACS source-code. At the time of writing, an Euler forward integration
scheme is made use of.
We finish with mentioning some of the work that should preferably be carried out by a
successor. Apart from the recommendations stated here, a successor should look into the
implementation of a(n extended) Kalman filter, once more. If noise is t o be coped with,
a real-time implementation can probably hardly do without something like it. First of all
though, attention should be paid to the problem we encountered in Chapter 5, which indicated
that the procedure of repeated linearization as it is currently implemented, is certainly not
without faults. Next, it would be very interesting t o compare the performance of MPC-in
simulations as well as in experiments-with other control strategies. Meanwhile, it will be
useful t o stay in touch with other work done in this area, especially if this also involves the
use of PRIMACS. The soonest publication in this context will most probably be the work
done by Gert Leenheers [Leenheers 971.
Bibliography
[Van Essen 961 H. A. van Essen, “Compressor modeling and control,” Technical Report, 1996
[Greitzer 761 E. M. Greitzer, “Surge and rotating stall in axial flow compressors-Part I: The-
oretical compression system model,” Journal of Engineering for Power, vol. 98, pp. 190-
198, 1976
[Haarsma 951 H .Haarsma, “Robust model predictive oxygen control: The development of
a robust model predictive dissolved oxygen controller for an activated sludge process,”
Final Project, Vakgroep Meet-, Regel- en Systeemtechniek, Landbouw Universiteit Wa-
geningen, 1995
[Lahoye 961 M. Lahoye, “Experimentele verificatie van de karakteristieken van een radiale
uitlaatgasturbine, ” Technical Report WOC-WET 96.028, Eindhoven University of Tech-
nology, 1996
81
82 BIBLIOGRAPHY
[Van der Meulen 951 F. van der Meulen, “Toepassing van lineaire model predictive control op
een thermisch hydraulisch proefproces,” Technical Report NR-1928 (1995-11-6), Eind-
hoven University of Technology, 1995
[Muske and Rawlings 931 E(. R. Muske and J. B. Rawlings, “Model predictive control with
linear models,” AIChE Journal, vol. 39, no. 2, pp. 262-287, 1993
[Matlab 921 Matlab Reference Guide, The Math Works, inc., 1992
[Morari and Ricker 931 M. Morari and N.L. Ricker, “Model predictive control toolbox (MPC-
Tools)-Matlab functions for the analysis and design of model predictive control sys-
t e m ~ , 1993
~’
[Morari et al. 911 M. Morari, C. E. Garcia, J. H. Lee and D. M. Prett, “Model predictive
control,” Preniice-Ball, 1991 (still to appear)
[Peeters 951 J. J. F. A. Peeters, “The behavior of a MPC controller and the the implementa-
tion in PRIMACS,” Technical Report, Eindhoven University of Technology, 1995
MPC
The control problem can now be expressed as the following optimization problem
AU(k)
+
min { 11 rY[y(k 1Ik) - ~ ( + k111 112 + II ruAu(k)It'} (A4
Y(k + lp) =
R ( k f 1) =
83
84 APPENDIX A. MPC
AU(k
n 1
1
M=
0
9
..
a
1
6
.
o ...... o
..
.
0
I
............ 0
C .........
I o
. .
I I/
... O
'I
In equation (A.2) the first two' terms are completely defined by past control actions and
present measurements and the last term describes the effect of future manipulated variable
moves. This equation originates from the superposition theorem stating that
To solve the optimization problem (A.l)-(A.2), the following set of linear matrix equations
is formed
(A.3)
or
with
+
E p ( k l [ k ) = R(k t 1) - MY(k1k) - S d A d ( k )
The solution that solves the optimization problem equals the least squares solution to matrix
equation (A.4) and is given by
+ r u T r u ) - i s u T r y T r y q kt i l k )
au(k)= (suTryTrysu
and the resulting control law becomes
where only the first move (at time k ) is computed. Normally spoken, K M p c can be computed
+
off-line, since the only time-varying element is the projected error vector Ep(k I l k ) . Only
when ï y , I'" and/or SU need to be updated, K M p C must be recomputed. SU would have to
be updated, for instance, if repeated linearization was used, as will be done in Chapter 5.
The three types of process constraints will have to be formulated as linear inequalities in order
to solve the constrained control problem as a Quadratic Program (QP) which can generally
be stated as
min x T H x - gTx
X
such that Cz 2 c
where
Ulow(k + Z) 5 j=O
AU(k +j ) t U(k - 1) 5 uhigh(k +I ) I = o, 1,.. . ,m - 1
can-when augmented with all other projections-be expressed in matrix inequality form as
u@ - 1) - % h i g h ( k )
+
u(k - 1) - u h i g h ( k m - i)
urow(k)- u(k. - 1)
UlOW(k tm - 1) - u ( k - 1)
where
1
I o ... O 7
I i ... O
I, = ... ... ... ..
I I * * ' I -
5 Au,,,
Rather similarly, manipulated variable rate constraints of the form /Au/ can be
expressed in matrix inequality form as
-Au,,,(k + m - 1)
where Au,,, > O is the bound on the magnitude of the moves.
Finally, when using equation (A.2), output variable constraints can be formulated as
where
Ylow(k + 1) =
A.2. CONSTRAINED MODEL PREDICTIVE CONTROL 87
and
+
utow(k m - 1)- u(k - 1)
C(k + llk) = -A&iXX(k)
In [Morari and Ricker 931, the first-order filter gain K F is used t o determine the corrected
vector of future outputs Y ( k I k ) as
[ ~ ( k ) ' y(-
, + +
,')I . . . , y(k n -,')2 y(k +n i)']'
{
-
Y ( k ) :=
+
for Av(k i ) = O ; i 2 O
= [ ~ ( k ) ' ,y(k +,')I . . . , y ( k + n - ,')L y(k + n ']')2
-
since all outputs after k + n - 2 are assumed to be constant (after n time intervals the system
settles).
The result is that y(k) only depends on inputs up to, and including, sample ( k - 1)-apart
from w(k) and z ( k ) , of course-yielding a strictly causal model.
In PRIMACS, the same result is obtained, but in a different way. This time, the D-matrix
does not have t o consist of zeros, but the discrete-time representation is defined differently
instead:
x(q = az(s - 1) + r u ( k - 1)
y(k) = C.(k) + Du(k - 1)
A.4. MATLAB VERSUS PRIMACS 89
In this representation, where we left out2 d, w and z , it’s clear that y(k) does not depend on
inputs from sample k but only on inputs older than that. Still, one can specify a D-matrix
containing elements other than zero, which can be very useful.
In [Van der Meulen 95, Appendix A], more on this subject can be found. In that appendix,
Van der Meulen also pays attention to implementation related differences in disturbance-
modeling, as well as in state-estimation. Apart from this, Matlab and PRIMACS also slightly
differ in their definitions of weighting factors. We will not $0 into any of this any Farther.
2This is done in analogy with the description in [Satter 961, from which this was taken. This does not mean
that d , w and z aren’t present in the PRIMACS model.
Appendix B
In this appendix all fits that were used for both the Garrett and the BBC configuration are
listed, starting with the Garrett.
Starting with the compressor characteristic, we used the following second order fit for the
compressor pressure ratio as a function of mass-flow mcGmp(and rotational speed N ) :
9.490669
BcGmp= ((6.263607. 10-'6N,pm - 7.269489 * l0-")Nrpm +
2.654884 * 10-6)Nrpm-
0.0229777141
+
Ccomp = (( -2.310107. 10-14NTpm 3.663545 * 10-9)N,pm - 1.723704 10-4)NTp, +
3.7372517755
with Nrpmin [rev/min]. N as used in our model is defined in [rev/s], which is why we have
bothered to use the subscript here-so, Nrpm= 60.N. The resulting compressor characteristic
is depicted in Figure B.1. More specifics about this fit can be found in [Lahoye 961. The real
compressor characteristic (Figure B.7) displays lines of constant compressor efficiency. We did
not pursue t o fit this efficiency, but assumed it to be constant and equal t o 0.70.
*Scale corrects for deviations from the standard conditions as well as converts from [kg/s] to pbs/min]. The
latter (non-metric) dimension is used in the Garrett compressor characteristic.
90
B.I. T H E G A R R E T T CONFIGURATION 91
O 10 20 30 40 5û 60 70
niascallw [l&min]
Figure B.l: The (Garrett) compressor characteristic fit (from [Lahoye 96]), unfortunately
accompanied by Dutch captions
If mcomp
is to be obtained from the static equation
m c o m p - fcompressor(N,Peomp,Pin, Tin)
fcompressor will have the following form (where N is omitted for clarity)
..
..
fcompressor =
2AcOmp
Scale
which simply is one of the two2 solutions to quadratic equation (BA).
where Tiand pi are temperature and pressure before the valve and p2 the pressure after,
A p the pressure difference ( p i - p 2 ) , ICv is the valve capacity [m3/hr] and pn the normalized
density (at 1.013 [bar] and 273 [KI). Pressures should be entered in [bar] and temperatures
in [KI to get k in [kg/s].
The valve capacity ICv is the momentary value which means that it varies depending on the
valve position S. This dependency can, for instance, be proportional
with S E [O, i]and ICvma, the maximum valve capacity. Also rather common is an exponential
valve charact eristic
ICv = ICvm,, -
but other functions can be imagined as well. Figure B.2 depicts the two characteristics sug-
gested here.
In our model we only used proportional valve characteristics, both for the blow-off and the
throttle valve, where for the Garrett we have
Kvblmaz
= 160 [m3/hr] and ICvthrmaz
= 400 [m3/hr].
For the turbine, we have the characteristic depicted in Figure 3.9. We used the following fits
for mass-flow through and efficiency of the turbine -
ktb = ((((((-8.345-
\ \ \ \ litbout
+ 110.542)1 Ptbout
- 604.202) -+ 1748.819)
Ptbout
Ptbin-
1 Ptbout
2840.761) -
’tbin +
2475.591) -
Ptbin - 870.560) -/88.30.00756
ptbin
Ptbout Ptbout 101321 Ttbin
B.2. THE BBC CONFIGURATION 93
and
qtb == ((o.0414- Ptbin
&bout
- 0.3260) Ptbin + 0.7500)
Ptbout
*
Ptbout
f 0.1658
Next, we fitted Power t o the fuel valve position S V . We did this by determining the power
needed t o approximate a measured stationary point (for each point separately) as good as
practically possible, fdowed by 5tting these v2lues GE the corresponding (measured) fuel valve
positions S V . Of course, this fit largely depends on the choices made for the overall friction
factor (=1.0), the valve capacities K v b l m a s (=160) and K v t h r m a z (=400), and the efficiencies
vcomp(=0.70) and v t b (fit). Anyway, after some iterations, we arrived at the following fit
Power = e13,421718-0.756721
where SV E [O, i]and Power has the dimension of [W]. As could be seen in Figures 4.6 and 4.7,
this fit works rather well. Based on simulations, we decided t o take a maximum turbine inlet
temperature (for the Garrett) of 900 [KI (see Subsection 3.6.2 for motivation).
All other parameter choices will be stated together with those used for the BBC configuration
in the table at the end of this appendix.
Here, we state the fits used for the BBC model, where we will stay with the order used in the
previous section.
So, we start with the compressor fit, which is similar t o the previous one, apart from the fact
that coefficients are different:
pressure ratio =
Peomp
-= Aeomp(N)(meompSCale)’ + Beomp(N)&mpScale + Ccomp(N)
Pin (€3.4)
94 APPENDIX B. GAS TURBINE MODEL SPECIFICS
speed
This fits of these coefficients are depicted in Figure B.3. The resulting characteristic is com-
pared to the experimentally determined compressor characteristic3 in Figure B.4. The com-
pressor efficiency is again assumed t o be constant: qcomp= 0.77.
If meomp
is to be determined statically, equation (B.2) should be used.
3The real BBC characteristic is SO depicted in Figure B.5 at the end of this appendix.
B.2. T E E BBC CONFIGURATION 95
I t
1’
O 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
Figure B.4: The (BBC) compressor characteristic fit; experimental measurements are denoted
by ‘+’
Next , we still used proportional valve characteristics both for blow-off and throttle valve,
3
where l<&[mac = 160 [m /hr] and IiiJthrmax = 550 [m3/hr].
The turbine characteristic is depicted in Figure B.6 at the end of this appendix. We used the
following fits for mass-flow through and efficiency of the turbine
Ptbout
Ptbin Ptbout
0.082815)21.1--
Ptbout lo5 TinRT
and
Furthermore, we have
Other parameters used in this (BBC) model can be found in the following table, together
with the parameters from the Garrett model.
We conclude this appendix with remarking that the Garrett model approximates reality far
better than the BBC model. For the BBC model we did not really succeed in fitting the
stationary points where the throttle valve was partly closed, although we most certainly
tried. We investigated the separate influences of Kuthrmaz, E , qcOmp, q t b and Power(SV), but
found that neither combination yielded the desired results. It still isn’t clear why this was so
hard compared to the Garrett situation. It is therefore recommended that future extensions
to this project look into that once more.
B.2. T H E BBC CONFIGURATION 97
1.35
i3 0
:.25
1.21
L.IS
:.Lo
ai:
I. m
:.ia
NT = NX + NU;
AB.init(PDIM(NT,NT>>;
for (i=l;i<=NX;i++)
for (j=í;j<=NX;j++>
AB(i,j) = msample*AL(i,j);
for (i=l;i<=NX;i++)
for (j=NX+I ;j<=NT;j++)
AB(i,j) = msample*BL(i,j-NX);
infnorm=O;
sum = o;
for (i=l;i<=NT;i++)
c
sumold = infnorm;
for (j=í,sum=O;j<=IT;j++)
sum += fabs(AB(i,j));
infnorm = --max ( sumold,sum) ;
>
100
101
E.init(PDIM(NT, NT) ) ;
F = eye(NT);
k = I;
RES = (E + F) - E;
onenorm = O;
sum = o;
for (-j=i; j<=NT;j++)
c
sumold = onenorm;
for (i=l,sum=O;i<=NT;i++)
sum += fabs(RES(i,j));
onenorm = --max(sumold,sum);
1
k = k + l ;
RES = (E + F) - E;
onenorm=O;
sum = o;
for (j=l;j<=NT;j++)
c
sumold = onenorm;
for (i=i,sum=O;i<=NT;i++)
sum += fabs(RES(i, j));
onenorm = --max(sumold,sum);
3
for (k=i;kc=s;k++)
E = E*E;
S = E;
f o r (i=i;i<=NX;i++)
f o r (j=i;j<=NX;j++>
AL(i,j) = S(i,j);
f o r (i=i;i<=NX;i++)
for (j=NX+i;j<=NT;j++)
BL(i,(j-WX)) = S(i,j);
DL &= DL;
Next, we state the procedure which reconstructs the states, needed for linearization.
In this appendix, we represent a table with the parameters as they were used in Chapter 5. The
simulation numbers we used here, can also be found in that chapter. Unless stated otherwise
in the colilma ‘Remarks’, we linearized on each sample. Other ‘standard’ settings were stated
in Chapter 5.
103