Anda di halaman 1dari 172

Iseries 03:

Control and Simulation 05

Predictive Control
A Lecture Course Given in the Aerospace
Engineering Faculty TU Delft
J. M. Maciejowski

Delft University Press

Predictive Control
A Lecture Course Given in the
Aerospace Engineering Faculty TU Delft

Bibliotheek TU Delft

111111111111
C 3021888

2392
337
4

Series 03: Control and Simulation 05

':

-: ~ ' .

'

....

.:

Predictive Control
A Lecture Course Given in the
Aerospace Engineering Faculty TU Delft

J.M. Maciejowski

Delft University Press / 1 998

Published and distributed by:


Delft University Press
Mekelweg 4
2628 CD Delft
The Netherlands
Telephone +31 (0)152783254
Fax +31 (0)152781661
e-mail: DUP@DUP.TUDelft.NL
by order of:
Faculty of Aerospace Engineering
Delft University of Technology
Kluyverweg 1
P.O. Box 5058
2600 GB Delft
The Netherlands
Telephone +31 (0)152781455
Fax +31 (0)152781822
e-mail: Secretariaat@LR.TUDelft.NL
website: http://www.lr.tudelft.nl/

Cover: Aerospace Design Studio, 66.5 x 45.5 cm, by:


Fer Hakkaart, Dullenbakkersteeg 3, 2312 HP Leiden, The Netherlands
Tel. + 31 (0)71 51267 25

90-407-1714-1
Copyright

1 998 by Faculty of Aerospace Engineering

All rights reserved.


No part of the material protected by this copyright notice may be
reproduced or utilized in any farm or by any means, electronic or
mechanical, including photocopying, recording or by any information storage
and retrieval system, without written permission from the publisher: Delft
University Press.
Printed in The Netherlands

Preface
These notes were written for a course of 14 two-hour lectures on Model Predictive
Control given to students at the Technical University of Delft in November and
December 1997.
I would like to thank Bob Mulder and Hans van der Vaart for inviting me to spend
a sabbatical term at the Faculty of Aerospace Engineering in Delft, for making all
the arrangements, and for making my stay at Delft both pleasant and interesting.
I would also like to thank Ton van den Boom for giving me feedback on the first few
chapters, and Rob de Vries for some valuable help with chapter 4.
Any errors remain my own responsibility, of course.

PREFACE

Contents

Preface
1 Introduction to Predictive Control
... . ... . . ... .

1.1

Motivation

1.2

General Optimal Control Formulation

1.3

The 'Receding Horizon' Idea . . . . . .

1.4

Terminal Constraints Ensure Stability

1.5

Problems . . . . . . . . . . . . . . ..

12

2 A Standard Formulation of Predictive Control

13

2.1

General Features of Constrained Predictive Control .

13

2.2

A Standard Formulation

15

2.3

Prediction . . . . . . . .

20

2.3.1

No disturbances, FUll state measurement .

20

2.3.2

Constant output disturbance

23

2.3.3

Using an observer

24

2.4

Problems .. . . . . . . .

3 Solving Predictive Control Problems


3.1

The MPC Tooibox . . . . . . . . . .

28
31

31

CONTENTS
3.2

3.3

3.4

Unconstrained Problems . . . . . . . . ..

34

3.2.1

Measured State, No Disturbances .

34

3.2.2

Formulation as a Least-Squares Problem .

36

3.2.3

Structure of the Unconstrained Controller

38

3.2.4

Estimated State

40

Constrained Problems
3.3.1

Formulation as a QP Problem .

42

3.3.2

Controller Structure

44

Problems .. . . . . . . . .

48

4 Step Response and Transfer Function Formulations


4.1

4.2

4.3

42

51

Step and Pulse Response Models

51

4.1.1

Step and Pulse Responses

51

4.1.2

Relations to State-Space Models

54

4.1.3

Prediction Using Step Response Model .

56

4.1.4

State-Space Models From Step Responses

58

Transfer Function Models

65

. . ..

65

4.2.1

The Basics

4.2.2

Prediction Using Transfer Functions

68

4.2.3

Prediction with a Disturbance Model .

71

4.2.4

The GPC Model .. . . . .

77

4.2.5

State-Space Interpretation .

78

4.2.6

MultivariabIe Systems

81

Problems ... . . .. . .. .

82

5 Tuning

85

CONTENTS
5.1

What Are We Trying To Do?

85

5.2

Some Special Cases . . . . . .

89

5.2.1

Effect of Control Weighting

89

5.2.2

Mean-Level Control

89

5.2.3

Dead-Beat Control

90

5.2.4

'Perfect' Control

91

5.3

Frequency-Response Analysis

94

5.4

Disturbance Models and Observer Dynamics .

96

...

5.4.1

Disturbance models

5.4.2

An implementation issue.

5.4.3

Observer dynamics

5.5

Set-point Pre-filtering

5.6

Problems

96

. . . . . . .

. . ....

101
103
104

... ....

108

111

6 Stability
6.1 Terminal Constraints .

111

6.2

Infinite Horizons .. .

112

6.2.1

Infinite horizons give stability .

112

6.2.2

Feasibility . . . . . . . . . . . .

114

6.2.3

Constraints and infinite horizons - stable plant

114

6.2.4

Constraints and infinite horizons -

116

unstable plant

6.3

Fake Algebraic Riccati Equations

118

6.4

Using the Youla Parametrization

122

6.5

Constraints and Feasibility

124

6.6 Problems . . . . . . . . . .

126

CONTENTS
7 Robust Predictive Control
7.1

Formulations of Robust Control .

127
127

7.1.1

Norm-bounded uncertainty

127

7.1.2

Polytope uncertainty .

128

7.2

LQG /LTR Approach .

128

7.3

LMI Approach

129

7.4

7.3.1

Overview

129

7.3.2

Robustness without constraints

130

7.3.3

Robustness with constraints .

134

. .... ... .. .. .. .

137

Problems

8 Perspectives

139

8.1

Parametrising the Control Input

139

8.2

Zones, Funnels and Coincidence Points .

139

8.3

Spare Degrees of Freedom .

140

8.3.1

Ideal resting values .

140

8.3.2

Multiobjective formulations

141

8.3.3

Fault tolerance .

142

8.4

Constraint Management

144

8.5

Nonlinear Internal Models

146

8.6

Non-quadratic Costs

146

8.7

Concluding Remarks

146

References

148

List of Figures
1.1

Receding Horizon Predictive Control. Parts band d show the situation at time t, while parts a and c show it at time t+TI, with TI = 1.
(Taken from the book by Soeterboek. [46]) .. . . .. . . .. . . . .

2.1 Paper machine with headbox

18

2.2

Output disturbance.

23

2.3

A State Observer ..

25

3.1

Structure of controller with no constraints and full state measurement. 39

3.2

Structure of controller with no constraints and state observer.

41

3.3

Structure of controller with constraints and state observer.. .

46

4.1

Step response of 3-input, 2-output distillation column. Solid curves:


original responses. Dotted curves: responses of 8-state model.

63

4.2

The first 15 singular values of 11.250 for the example. . . . . .

64

4.3

Spectral density of crew disturbance, modelled by (4.108) with p = 0.98. 72

4.4

Generation of v(klk) - one interpretation.

74

5.1

Two degree of freedom feedback system. . .

87

5.2

Mean-level control: set-point change on rl .

93

5.3

Mean-level control: set-point change on r3.

94

5.4

Default (DMC) observer: response to step disturbance ..

95

5.5

Deadbeat observer: response to step disturbance . .. . .

96

LIST OF FIGURES
5.6

Deadbeat set-point response. Step demand on rl . . . . . . .

97

5.7

'Perfect' controller: Set-point response. Step demand on rl.

98

5.8

'Perfect' controller: Set-point response. Step demand on r3 .

99

5.9 Singular values of S(z) (solid line) and T(z) (broken line) for meanlevel control of the headbox. . . . . . .
5.10 A 'proportional

+ integral' controller.

101

102

5.11 Predictive controller, unconstrained case.

104

5.12 Predictive controller, simplified. . . . .

105

5.13 Predictive controller, simplified again.

106

6.1 Youla parametrization of all stabie feedback systems (if the plant is
stabie). . . . . .. . . . . . . . .. . . . . . . . . . . . . . . . . . . . 123
8.1 Execution of a step change in yaw angle with a jammed rudder. . .. 143

Chapter 1

Introduction to Predictive
Control
1.1

Motivation

Most courses on Control Engineering deal with contral of linear systems. But most
systems to be controlled are nonlinear - even if the dynamics can be approximated
by linear equations, they have actuators which saturate, or can move at limited rates,
and their outputs cannot reach values outside limited ranges. Also, most courses on
Control deal with Single-Input, Single-Output (SISO) systems. But most systems to
be controlled have several inputs and outputs. Control design techniques for linear
systems have been extended to multivariable systems [26, 52], but most of these do
not say what to do about nonlinear phenomena - the designer has to deal with
them in some unsystematic method.
Predictive Control is a method of controlling systems which deals with nonlinearities
which arise from constraints, and also deals naturally with multivariable systems.
It has become very widely and successfully used in certain sectors of the process
industries, particularly the petrochemical sector. In these industries, maximum
profit is usually obtained from a process by running it as close as possible to some
constraints: pressures or flow rates as high as possible, for example. Predictive
control operates by performing optimization subject to constraints, and as aresult
allows operators to run their processes much closer to constraints than would be
possible with conventional linear controllers (such as 'proportional and integral'
controllers, for example). Increasing efficiency or profitablity by 1% or 2% can be
worth millions of dollars per year on a single plant in the petrochemicals sector,
and remarkably short pay-back periods have been reported for predictive control
installations.
Another use for Predictive Control is as a basis for Adaptive Control. Since pre-

CHAPTER 1. INTRODUCTION TO PREDICTIVE CONTROL

dictive control uses an explicit 'internal model' of the plant being controlled, it is
natural to think of updating the model if the plant changes, and in this way obtain
adaptive contro!. This mode of using adaptive control has been particularly popular
with academic researchers, and it has also been applied to some extent in industry.
As we shall see, Predictive Control involves solving optimization problems on-line. It
does not appear suitable, therefore, for aerospace applications. There is the problem
of computation time, which can be considerable (but not a problem in many process
industries, where control update times of several minutes are acceptable), and there
is the problem of certification, since it is difficult to say exactly what a predictive
controller is going to do in a given situation. The problem of computation time
will gradually disappear as computer speeds continue to increase. But even now,
there are aerospace applications for which today's computers would be fast enough
to use predictive contro!. Large flexible spacecraft, for example, with very large
solar panel arrays (such as the projected International Space Station) have very
slow dynamics and do not require fast update rates. Even in aircraft flight control,
it is possible to think of using predictive control for 'higher-level' functions such as
flight management, in which the constraints due to safety and comfort are combined
with air traffic control requirements to find trajectories which are 'efficient' in some
sense [39].
Terminology:

Various names have been used for Predictive Contro!. 'Model Predictive Contro!'
or 'MPC', 'Model Based Predictive Control' or 'MBPC', 'Constrained Predictive
Control' , 'Receding Horizon Control' , 'Generalized Predictive Control' or 'GPC', all
mean the same thing. There are also trade names of proprietary predictive control
products, such as 'Dynamic Matrix Control' or 'DMC', and 'Model Algorithmic
Control' or 'MAC'.

1.2

General Optimal Control Formulation

The idea of posing control problems as .problems of constrained optimization is not


new. In fact all the 'classical' theory of Optimal Control, as developed between, say,
1955 and 1970, was diven by problems of constrained optimization arising out of the
needs of the aerospace industry, particularly by military needs in flight and missile
control, and by the problems of launching, guiding and landing space vehicles.
In some ways this theory solved an extremely wide range of problems. Suppose that
the 'plant' being controlled has an input vector u and a state vector x, and has
nonlinear behaviour governed by the vector differential equation

dx

dt = !(x, u).

Also suppose that the control obejctive is to minimise a 'cost function' (or 'value

1.2. GENERAL OPTIMAL CONTROL FORMULATION

function') which has the form


V(x, u, t) =

foT f(x(t), u(t), t)dt + F(x(T))

where f(x(t), u(t), t) is some function which is never negative, and that the control
input is constrained to be in some set u(t) E U.
This is a very general formulation, and just about every sensible problem can be
represented in this form by using suitable functions j, F and f.

Example 1.1 Suppose the plant is a rocket which is to be transjerred from the
launch site - state Xo - to a low-earth orbit - state x I - using as little fuel as
possible, and the vector of inputs inc/udes the juel flow rate as the first element, Ul.
This problem can be represented by setting
f(x(t) , u(t), t) = IU1(t)1
and
F(x(T))

{ooo

if x(T)
ij x(T)

# xI

= xI

The vector junction f depends on the dynamics of the rocket. The optimization will
be subject to the constraint 0 ::; Ul(t) ::; u max , where U max is the maximum possible
fuel flow rate.

In principle, the solution to such general problems is known: you have to solve the
so-called Hamilton-Jacobi-Bellman equation [5J:

-a v (x,t) =

. (

mmH x,u'-a V o( x,t))


uEU
x

where H(x, u, ) = f(x, u) +f(x, u), with the boundary condition VO(x, T) = F(x) .
Once you have solved this, you choose the control input signal as the one which
minimises H:
uO(x , t) =

arg minH(x, u, /Ja Vo(x, t)) .


uEU

Note that this is a feedback controllaw, because it depends, at time t, on x(t), which
itself depends on what has happened over the whole interval from the initial time to
the current time. (Note: You do not have to know where all this comes from . The
point is to see that it is nasty.)
Unfortunately, it is virtually
most cases! A few particular
(or time) needed to get from
some more specific problems

impossible to solve this partial differential equation in


problems have been solved (of the type: 'Minimse fuel
A to B'), but that is all. 80 it is necessary to consider
in order to get solutions in practice.

CHAPTER 1. INTRODUCTION TO PREDICTIVE CONTROL

One way to go is to assume that the plant is linear, so that the function
takes the special form:
:i;

A(t)x(t)

f (x, u)

+ B(t)u(t)

and that the functions f. and F are quadratic functions:

f.(x(t), u(t), t)
F(x(T))

X(t)T Q(t)x(t)
x(T)TSx(T)

+ u(t)T R(t)u(t)

where Q(t), R(t) and S are square, symmetric, positive-definite matrices. In that
case the Hamilton-Jacobi-Bellman equation simplifies to an ordinary differential
equation (the Riccati equation) which can be solved, and which leads to a linear
(but time-varying) feedback law:

u(t) = F(t)x(t)
where F(t) is a matrix (the 'state feedback' matrix) which depends on the solution of
the Riccati equation [5, 22]. Probably more than 95% of the development of optimal
control has been devoted to going in this direction. It leads to a very complete and
powerful theory, which has been applied very widely - particularly in its 'dual'
form, for the filtering problem, in which case it leads to the theory of Kalman filters.
But it has nothing to say about constraints or other nonlinearities.
The other way to go is down the road of Predictive Control.

1.3

The 'Receding Horizon' Idea

The difficulty of the general optimal control problem arises because it is a function
optimization problem. Instead of ordinary calculus, it needs the Calculus of Variations, to find the optimal input function among all possible ones. (For a very nice
account of how this theory developed see [47].)
The main idea of Predictive Control is to avoid this difficulty by restricting the set
of possible inputs to such an extent that the optimization is performed only over a
finite set of parameters or 'decision variables', rather than over a set of functions .
Most commonly this is done by cutting up time into discrete intervals, optimising
over a finite horizon (T), and hence over a finite number of intervals, and assuming
that the input signal is held constant during each interval.
Imagine we are at time t, and we have measurements from the plant, so we know
where we are starting from. For the time being, let us assume that we can measure
the state x, so we know everything ab out the plant. Formulate an optimal control
problem over some future horizon {t + T : 0 T T}:

:s :s

V(x(t), u) = foT f.(x(t

+ Tlt), (t + T))dT + F(x(t + T)

1.3. THE 'RECEDING HORJZON' IDEA

Mini-Tutorial: Quadratic Forms


Expressions like x(t)TQ(t)x(t) and u(t)TR(t)u(t), where x(t), u(t) are vectors and Q(t),
R(t) are symmetric matrices, are called Quadratic Forms. They are just compact representations of certain quadratic functions in several variables. This is best illustrated by an
example.

Example 1.2 Suppose that

[ :~ ]

x
and
Q

[104 4]
3.

Then
x(tfQ(t)x(t)

[Xl

10xr

X2

1[

~O ~][:~]

+ 8X1X2 + 3x~ .

Notice that we do not use any special notation for vectors and matrices. You will have to
teil from the context whether a symbol represents a number, vector, or matrix. (But we
will usually use upper-case letters for matrices.)
If x T Qx > 0 for every x except x = 0, then this quadratic form is called positive-definite.
It can be shown that aquadratic form is positive definite if and only if all the eigenvalues
of the matrix involved in it are positive, in which case we write Q > o.
The matrix Q in the example has both eigenvalues positive. So the quadratic form is
positive-definite. You can try substituting any values for Xl and x2 (even negative ones),
and you will see that the value is always positive. Note that this happens even if Xl = 0 or
X2 = 0, provided that they are not both zero.
If Q = I then xTQx = x T X = Ilx11 2 , the squared 'length' of the vector, or squared Euclidean

norm. Even if Q =I- I, it is possible to think of aquadratic form as the square of a 'weighted
norm' (if Q > 0), and the notation xTQx = Ilxll~ is often used.
The only other thing we will need to know ab out aquadratic form is how to find its
gradient . Let V = xTQx , but now consider the general case where X has n elements,
x = [Xl, X2, . .. ,xnf , and Q is an n x n matrix. Then the gradient of V is given by:

\7V

8V 8V

8V

["-,,,-,
... ,.,,--1
UXl UX2
UX
n

2xT Q
(We are not going to prove this here.) Note that we have defined the gradient to be a row
vector. Sometimes it is defined to be a column vector, in which case it is given by 2Qx .

CHAPTER 1. INTRODUCTION TO PREDICTIVE CONTROL

where T is now fixed, and we have simplified things by assuming that f. depends
only on the predicted state, x(t+rlt) and on the input (t+r) , which we think now
(at time t) we will apply later (at time t + r) . These predicted values will probably
be different from the actual state x(t + r) and the actual input u(t + r) which will
occur at time t + r . Note that we have simplified things by assuming that f. does
not dep end explicitly on t.
Minimising V(x(t),u) over the set of admissible input signals {u(t + r) : 0 ::; r ::;
T, u(t + r) E U} gives us a proposed optimal input signal {u(t + rit) : 0 ::; r ::; T}.
The next key idea is that we only apply an initial portion of this input signal, say
for a time interval TI, and then we throw away the rest of the optimal input signal
{u(t +rlt) : TI :S r :S T}, measure the current state X(t+TI) again, and re-solve the
optimization problem by minimising V (x( t + TI), u), getting a new optimal input
signal {uO(t + TI + rit + TI) : 0 ::; r ::; T} . This process is repeated indefinitely.
Figure 1.1 shows the basic idea. This figure shows the set-up we are going to adopt
in this course, namely dividing up time into regular intervals, and keeping the input
signal constant during these intervals. Notice how the prediction horizon (Hp 'time
steps' long in the figure) slides forward as time goes on, or 'recedes'. Hence the term
Receding Horizon.

Figure 1.1 should be examined closely, because it contains a number of important


features . Firstly, time has been discretised, as has already been said. Secondly,
notice the distinction between 'real time', measured by t, and 'time now' , measured
by k, which slides along in real time. Thirdly, the control signal u changes only a
finite number of times, and is assumed to remain constant after that. This is crucial
in practice, because it means that the optimization problem we will have to solve will
involve only afinite number of'decision variables' {(k+ilk) : i = 0, 1, ... ,Hu -I},
with Hu::; Hp .
Although at each step an open-loop problem is solved, it is always based on the latest
measurement of the state, so that overall a feedback control policy is implemented.
So any unexpected disturbances which occur, or modelling errors, are taken account
of.
Since we will work with discrete time, we move from a differential equation model
of the plant to a difference equation model:
x(k

+ 1)

f(x(k),u(k))

and we make a corresponding change to the cost function:


Hp

V(x(k) , u) =

L f.(x(k + ilk), (k + i i =1

11k)) + F(x(k + Hplk))

1.3. THE 'RECEDING HORIZON' IDEA

k-l k+l

k-l k+l

k~lkk~l
past - I

I k I
k-l k+1
past - - - future

k+Hp

- - future

t-l t+l

time

t-l t+l

-time

Figure 1.1: Receding Horizon Predictive Control. Parts band d show the situation
at time t, while parts a and c show it at time t + TI, with TI = 1. (Taken from the
book by Soeterboek. [46])

(and usually we will not use the penalty on the predicted terminal state F(x(k +
Hplk)) . Note that the function e depends on the predicted state at time k + i and
the input one step earlier, at time k + i - 1, since u(k + i) has no effect on x(k + i)
according to the model.
The receding horizon idea requires V (x (k ), u) to be optimized on-line in real time,
with the model (1.3) acting as a constraint, and other constraints due to equipment
and safety limitations. (1.3) and (1.3) are still much too genera! for this to be
feasible, and we will focus on some very specific choices in the rest of the course.

1.4

CHAPTER 1. INTRODUCTION TO PREDICTIVE CONTROL

Terminal Constraints Ensure Stability

Predictive Control, using the receding horizon idea, is a feedback control policy.
There is therefore a risk that the resulting closed loop might be unstable. Even
though the performance of the plant is being optimised over the prediction horizon,
and even though the optimization keeps being repeated, each optimization 'does not
care' about what happens beyond the prediction horizon, and so could be putting
the plant into such a state that it will eventually be impossible to stabilise. This
is particularly likely to occur when there are constraints on the possible control
input signais. It is easy to construct an example where this happens, even without
constraints:
Example 1.3 Consider a discrete-time system consisting of two delays in series:

xl(k
x2(k

+ 1)
+ 1)

u(k)
xl(k)

or, using vector-matrix notation:


x(k)

[~ ~] x(k) + [~] u(k)

Suppose the prediction horizon is Hp = 1, and the cost to be minimised is


V(x(k),u(k))

xl(k

x(k

+ 11k)2 + 6X2(k + 11k)2 +4Xl(k + 1Ik)x2(k + 11k)

+ 11kf [~

~] x(k + 11k)

(which is positive-definite). The predictive control problem is to find u(k) which will
minimise V(x(k),u(k)).
Using the model, the predictions are xl(k + 11k)
Substituting these into V (x( k), u( k)) gives
V(x(k),u(k)) = u(k)2

= u(k)

6Xl(k)

and x2(k

+ 11k) = xl(k) .

4u(k)Xl(k).

Ta find the minimum of this, dijJerentiate and set the derivative to zero:
8V
8u(k)

2u(k)

o ifu(k)

4Xl(k)
=

- 2Xl(k) .

Substituting this back into the model gives the closed-loop equations:

1.4. TERMINAL CONSTRAINTS ENSURE STABILITY

or
x(k +

1)

[~2 ~] x(k) .

Clearly this is unstable, since the closed-Ioop transition matrix has an eigenvalue at
-2, outside the unit circle.

You might guess that this problem arises in the Exarnple because the prediction
horizon is too short, so that the control is too 'short-sighted'. This is correct, and
it turns out that stability can usually be ensured by making the prediction horizon
long enough, or even infinite. We will see that later in the course.
Another way of ensuring stability is to have any length of horizon, but to add a
'terminal constraint' which forces the state to take a particular value at the end
of the prediction horizon. And it is surprisingly easy to prove this, even in a very
general case, by using a Lyapunov function. For the purpose of proving stability
it is enough to consider the case when the state is to be driven to the origin, from
some initial condition.
Theorem 1.1 Suppose that Predictive Control is obtained for the plant
x(k

+ 1)

f(x(k) , u(k))

by minimising the cost function


Hp

V(x(k), u) =

L l(x(k + ilk), (k + i -

11k))

i =1

where l(x, u) 2 0 and l(x, u) = 0 only if x


subject to the terminal constraint

= 0 and u = 0, and l is 'decrescent',

The minimisation is over the input signals {(k + ilk) : i = 0,1, . .. , Hu - I}, with
Hu = Hp (for simplicity), subject to the constraints (k+ilk) E U and x(k+ilk) EX,
where U and X are some sets. We assume that x = 0, u = 0 is an equilibrium
condition for the plant: 0 = f(O,O). The receding horizon method is applied, with
only uO(klk) being used from the optimal solution {uO(k + ilk) : i = 0, ... ,Hu -I}.
Then the equilibrium point x = 0, u = 0 is stable, providing that the optimization
problem is feasible and is solved at each step.

Proof 1.1 Let VO(t) = V(x(t), ua) be the optimal value of V which corresponds to
the optimal input signal uO , as evaluated at time t. Clearly VO(t) 20, and VO(t) = 0
only if x(t) = 0 - because if x(t) = 0 then the optimal thing to do is to set u(Hi) = 0

CHAPTER 1. INTRODUCTION TO PREDICTNE CONTROL

10

for each i. We are going to show that V(t + 1) ~ VO(t), and hence that VO(t) is a
Lyapunov function for the closed-Ioop system.
As usu al in stability proofs, we will assume that the plant model is perfect, 50 that the
predicted and real state trajectories coincide: x(t+i) = ::(t+ilt) ifu(t+i) = (t+ilt) .
With this assumption we have
Hp

VO(t

+ 1)

mJn

L l(x(t + 1 + i), u(t + i))


i=l

~ {~I(X(t + ;), u(t ~

1 + ;))

I(x(t +1),.(t))+

l(x(t + 1 + Hp), u(t + Hp))}


-l(x(t + 1), uO(t)) + VO(t) +
min {l(x(t + 1 + Hp), u(t + Hp))}
u

since the optimum is certainly no worse than keeping the optimal solution found at
time t, which will take us up to time t + Hp, then doing the best we can for the final
step. But we have assumed that the constraint x(t + Hp) = is satisfied, since the
optimization problem was assumed to be feasible, 50 we can make u(t + Hp) = and
stay at x = 0, which gives

min{l(x(t+1+Hp),u(t+Hp))} = 0.
u

Since l(x(t),uO(t)) ~ 0, we can conclude that VO(t + 1) ~ VO(t). So VO(t) is a


Lyapunov function, and we conclude by Lyapunov 's theorem that the equilibrium
x = 0, u = is stabIe.

This sounds too good to be true. It seems too easy to guarantee stability. The
problem is with the assumption that the optimization problem has a solution at
eaeh step, and that it ean be solved at eaeh step. General eonstrained optimization
problems ean be extremely diffieult to solve, and just adding a terminal constraint
may not be feasible. But we will use the idea of this proof several times later, in
more realist ie situations.

Example 1.4 If we look again at Example 1.3 and try to get stability by adding the
terminal constraint x(k + 1) = 0, we get an infeasible problem, because that could
only be aehieved if x1(k) = 0, which will not be troe in general. (In general you need
at least 2 steps to drive a 2-state linear system to the origin.) Problem 5 shows that
for this example stability is obtained by increasing the prediction horizon to Hp = 2,
even without a terminal constraint.

1.4. TERMINAL CONSTRAINTS ENSURE STABILITY

11

Mini-Tutorial: Stability and Lyapunov Functions


Equilibrium: The equation x(k + 1) = f(x(k), u(k)) has an equilibrium (or 'fixed point')
at state Xo and input Uo if Xo = f(xo, uo) .
Note that we can always introduce a change of coordinates z(k) = x(k) - xo, v(k)
u(k) - uo , so that the equilibrium is at (0,0) in the new coordinates:

z(k + 1)

= x(k + 1) -

f(z(k) + xo,v(k)
g(z(k), v(k))
g(O,O)

Xo

+ uo) - f(xo,uo)

So we can always assume that an equilibrium is at (0,0).


Stability: For nonlinear systems one has to consider the stability of a particular equilibrium
point, rather than the system. (Some equilibria may be stable, others unstable.)
An equilibrium point (0,0) is stabIe (in the sense of Lyapunov) if a small perturbation of
the state or input results in a 'continuous' perturbation of the subsequent state and input
trajectories. More precisely, given any > 0, there is a > 0 (which depends on > 0 and
the system) such that if II[x(Of,u(0)T111 < then II[x(kf,u(k)TlIl < for all k > O.
It is asymptotically stabIe ifin addition II[x(k)T,u(k)Tlll-t 0 as k -t

00 .

For closed-loop systems u(k) itself depends on x(k), so we could have written x(k
f(x(k)) , where f now represents the closed-loop state equation.

+ 1) =

Lyapunov's Theorem: If there is a function V(x , u) which is positive-definite, namely


such that V(x, u) 2 0 and V(x, u) = 0 only if (x, u) = (0, 0), and has the ('decrescent')
property that

and if, along any trajectory of the system x(k + 1)


of (0,0) the property

V(x(t + 1),u(t + 1))

= f(x(k), u(k))

in some neighbourhood

:s: V(x(t),u(t))

holds, then (0,0) is a stabie equilibrium point.

If, in addition, V(x(t),u(t)) -t 0 as t -t

00

then it is asymptotically stable.

Such a function V is called a Lyapunov function.

CHAPTER 1. INTRODUCTION TO PREDICTIVE CONTROL

12

1.5

Problems

The first 3 problems can be skipped by those familiar with quadratic forms, Y'V,
etc.
1. Use Matlab to find the eigenvalues of the matrix Q which appears in Example
1.2. Check that they are both positive.
2.

= 9xi + 25x~ + 16x~ . Find Q such that V(x) = xTQx.


Suppose V(x , u) = (5xi + 2x~ + x~) + (100ui + 4u~) . Find Q and R such
that V(x) = xTQx + uTRu.

(a) Suppose V(x)


(b)

(c) Are the functions V which appear in this problem positive-definite?


3. Check that the formula (1.1) for the gradient is correct for Example 1.2, by
working out the partial derivatives in the elementary way, and comparing the
results.
4. Simulate the model and controllaw from Example 1.3 using Matlab, and check
that the closed loop is unstable.
Recommended procedure: Create the state-space matrices a, b, c ,d corresponding to the closed-loop system, then create a Matlab object representing
this closed-Ioop system using:
c1sys=ss(a,b,c,d,l);
(Use help ss to see what this does.) Then get the response from initial condition xO= [1; 0] - or some other initial condition - by typing
initial(c1sys,xO);
Note that these recommendations are suitable for use with Matlab version 5
only.
5. Consider the plant given in Example 1.3 again. But now suppose that the
prediction horizon is Hp = 2, with the cost being

V(x(k), u(k))

x(k

+ 1jkf [~ ~]

x(k

+ Ijk) + x(k + 2jk)T [~ ~]

x(k

+ 2jk)

(a) Keep Hu = I, so that only u(k) is to be optimised, with the assumption


that u(k + 1) = u(k) . Show that the predictive controllaw is uO(k) =
-~xl(k), and hence that the closed loop is stabie.
(b) Now let Hu = 2, so that u(k) and u(k+1) have to be optimised. By setting
both derivatives (8V/8u(k)) and (8V/8u(k + 1)) to zero (or Y'uV = 0 if
you are happy with that notation) show that the predictive control law
is uO(k) = -~xl(k), and hence that the closed loop is stabie.
(c) Simulate the closed-Ioop behaviours for these two cases, using Matlab.

Chapter 2

A Standard Formulation of
Predictive Control
2.1

General Features of Constrained Predictive Control

Since predictive control problems usually include constraints, the resulting control
law is usually nonlinear. It is easy to understand why this is so. Suppose we have a
gas-turbine engine with a 'hard' state constraint of the form xi(t) < Xi - such as
'Turbine temperature lower than 1000 C'. If the turbine is running at 995C and a
disturbance d occurs which has the effect of moving xi away from Xi - the cooling
oil flow rate increases for some reason, say - then the control system will react
in a fairly 'relaxed' way, and will coordinate bringing xi back to its set-point with
maintaining other objectives - correct turbine speed, power output, fuel economy,
etc. Now if a disturbance -d occurs instead, then by definition a linear controller
would react in a similarly relaxed way, replacing a control signal u(t) by -u(t) .
In contrast, a controller which is aware of the constraint will react in 'panic mode'.
It 'knows' that there is no point in worrying about other objectives, becauseif the
constraint is exceeded catastrophic failure is likely to result. It therefore reacts in
a very different way to the disturbance -d than it would to disturbance +d - in
our example, perhaps it will cut the fuel flow rate sharply and change the inlet vane
angle to get maximum air flow. In a multi-engine aircraft it might even shut the
engine down. Such behaviour is of course nonlinear.

We will see later that 'standard' predictive controllers in fact behave linearly so
long as the plant is operating safely away from constraints, but nonlinearly when
constraints are approached too closely. On the other hand, a standard predictive
controller would not go so far as to shut down an engine, and it does not have the
authority to do so. That kind of decision is usually handled by a separate higher-level
'supervisor', which may be a human operator or pilot.

13

14CHAPTER 2. A STANDARD FORMULATION OF PREDICTIVE CONTROL

Although constrained predictive controllers are nonlinear, they are usually timeinvariant. This means that there is a function h, such that the control signal can
be expressed as u = h(x), namely it depends only on the current state, and not
explicitlyon time (that is, it is not necessary to write u = h(x, t)) . Of course this
function 'exists' only in a mathematical sensej it would be impossibly difficult to
write it down in 'closed-form' (as a formula). In order to see what u is, you have to
feed x into an optimization algorithm and see what comes out. This time-invariance
occurs so long as there is nothing in the problem formulation that depends explicitly
on time: the model of the plant, the cost function and the constraints must all be
independent of time.
We have to be rather careful about what this means exactly. First of all, our model
x(k

+ 1) = f(x(k), u(k))

(2.1)

does not dep end on k except through x and u . Secondly in the cost function
Hp

V(x(k), u)

= L e(x(k + ilk), (k + i -11k), i) + F(x(k + Hplk))

(2.2)

i=l

we can have explicit dependence of on i but not on k. 80 you can attach a different
weight to an error predicted to be 3 steps in the future than to an error predicted
1 step ahead. But when you solve the problem at the next k value, you must have
the same pattern of weights. In a sense, i is a kind of 'dummy variabie' which only
appears inside the control al!}}rithm, but is not seen from outside - in fact you can
see this, because the sum Ei;l e( ... ) does not dep end on i. As time moves on, so
k increases to k + 1, but exactly the same problem i solved as was solved at time k .
80 the cost function does not dep end on time.
Thirdly, we have to be careful ab out constraints. Again we can have constraints
depending on i but not on k. 80 IXj(k+ilk)1 < Xj(i) is ok, but IXj(k+ilk)l < Xj(k)
is not. More generally,

x(k + ilk) E X(i)


(k + ilk) E U(i)

(2.4)

x(k + ilk) E X(k)


(k + ilk) E U(k)

(2.5)
(2.6)

(2.3)

is ok, whereas

is not. This can be arestriction if we want a time-invariant controller. For instance,


if you are landing an aircraft, you may want constraints to become tighter as the
aircraft approaches the runway. If you assume a certain speed profile, you can
'schedule' the constraint tightening as a function of time. Then you will have a
time-varying predictive controllaw. However it may make more sense to schedule
the constraint tightening as a function of distance from the runway, and make this

2.2. A STANDARD FORMULATION

15

one of the states. In this case the control law will be time-invariant (though not
necessarily simpier!).
There is no necessary advantage to having a time-invariant controllaw. But we will
see that having one may make analysis of its behaviour easier in some cases.

2.2

A Standard Formulation

Even though we have already simplified the general formulation of an optimal control
problem to the constrained predictive control problem defined by (2.1)- (2.4), it is
still too general and difficult to solve in real time. Further specialisation of the
formulation is required.
From now on, we shall assume that the plant model is linear, that the cost function
is quadratic, and that the constraints are in the form of linear inequalities. We shall
also assume that that everything is time-invariant. Furthermore, we shall assume
that the cost function does not penalise particular values of the input vector u(k),
but only changes of the input vector, ..u(k) , which are defined by

..u(k) = u(k) - u(k - 1)

(2.7)

To make the formulation useful in the real world, we shall drop the assumption
that all the state variables can be measured, and that we only care about what
the state variables are doing. Finally, up to now we have assumed that we always
want to drive the plant to x = 0; it is more realistic to assume that we want some
linear combination ofthe states, say z(k) = Czx(k), to follow a 'reference' trajectory
{rek)} . These assumptions coincide (almost) with those made in the great majority
of the predictive controlliterature.
Let us formulate all this more precisely. We take the real input to the plant at time
k to be u(k) , the real plant state to be x(k), and the real measured output to be
y(k). We use x(k + ilk) to denote our estimate, made at time k, of what the state
will be at time k + i (and use similar notation for other variables ).

Plant Model:
States:

x(k + 11k) = Ax(klk) + Bu(k)


y(klk) = Cyx(klk) + Dyu(k)
i (klk) = Czx(klk) + Dzu(k)

Measured outputs:
Controlled outputs:

(2.8)
(2.9)
(2.10)

We will usually assume that the real plant is governed by the same equations as the
model, although this is not really true.

Cost function:
Hu-l

Hp

V(x,u,r) =

lI i (k+ilk)-r(k+i)II~(;)+

;=0

lI..(k+ilk)II~(;)

(2.11)

16CHAPTER 2. A STANDARD FORMULATION OF PREDICTNE CONTROL


Note that we do not necessarily start penalising deviations of z from r immediately,
because there may be some delay between applying an input and seeing any effect.
Note also that we assume that we know future rvalues exactly. This is reasonable in
manyapplications. We will always assume that Hu S Hp, and that ~(k + ilk) = 0
for i 2: Hu, so that (k + ilk) = (k + Hu - 11k) for all i 2: Hu. (Recall Figure 1.1.)
Most commonly we will assume that the controlled variables are the same as the
measured outputs, so that C z = C y and Dz = Dy , and z(klk) = Y(klk) .
In the following we use vec(O) to denote a vector, each element of which is O. We
also use vec(a, b, c) to denote the vector [a, b, cjT, etc.
Constraints:
E vec(~(klk), ... ,~(k + Hu - 11k), 1) S vec(O)

(2.12)
(2.13)
(2.14)

F vec((klk), ... ,(k + Hu - 11k), 1) S vec(O)


G vec(.i(k

+ Hwlk), . . .

,z(k

+ Hplk) , 1) S vec(O)

Here E, F and G are matrices of suitable dimensions. We can use constraints of


this form to represent possible actuator slew rates (2.12), actuator ranges (2.13),
and constraints on the controlled variables (2.14).
Example 2.1 Suppose we have a plant with 2 input variables and 2 controlled variables. The control horizon is Hu = 1 and the prediction horizon is Hp = 2 (with
Hw = IJ . We have the following constraints, which are to hold at each time:

-2 S ~Ul S 2
OS U2 S 3
Zl 2: 0
Z2 2: 0
3z1 + 5Z2 S 15
To put these into our standard form, we rewrite the

-2 S

(2.15)
(2.16)
(2.17)
(2.18)
(2.19)
~Ul

constraints as follows .

au, .. -au, s 2 .. -~au, - 1 S 0 .. [-1/2,0, -I[ [


Ju,

s 2 .. ~au, -1 s 0 .. [I/2,0,-I[ [

Now we write these two inequalities together, and replace

~;: 1s 0

~~: 1s 0
~u

by

~:

- - - - - --

- --

2.2. A STANDARD FORMULATION

17

so that we have

= [-1/2 0 -1]
1/2 0 -1

We leave finding the matrix F for this example to the reader (Problem 1), and go
on to find G. We proceed in the same way, the main difference being that we have
to express the inequalities across the prediction horizon, which is greater than 1.

3Z1

Z1

0 {} - Z1 :S 0

Z2

0 {} - z2 :S 0

+ 5Z2 :S 15 {} SZ1
1 + "3Z2
1 -

71:So

1 :S 0 {} [1/5,1/3, -1] [ "

from which we get

-1
0
0
0
0
0
0 -1
0
0
0 -1
1/5 1/3 0
-1
0
0
0
0
-1 0
0
0
0
0
0 1/5 1/3 -1

[ , ,(H 11k)
z2(k
z1(k
z2(k

+ 11k)
+ 21k)
+ 21k)
1

:S

0
0
0
0
0
0

It will be seen that the dimensions of the matrices E, F and G can become very
large very quickly (Hp may be 10 or 20 or more). However, assembling them from
the given constraints is simpie, and this job can be automated. In fact, the software
which we will use - the Model Predictive Control Tooibox for Mat/ab-- does this
for the user.
The important thing about the constraints is that they are all in the form of linear
inequalities. When we come to solve the predictive control optimization problem, all
these inequalities will need to be translated into inequalities concerning ~(k+ilk).
Since we assume a linear model, we will see that these inequalities remain linear,
even after this translation (Problem 2) . This is going to be crucial for being able to
solve the optimization problem.
Notice that in the example there are variables (~U2,U1) which are not constrained.
It is also possible to have the converse situation, of variables which are constrained,
but do not appear in the cost function. This is only likely to occur with the Z
variables, and is represented in our standard formulation by having zero rows in
the weighting matrices Q(i) . We therefore do not insist on Q(i) > 0, but only on
Q(i) ~ O.

18CHAPTER 2. A STANDARD FORMULATION OF PREDICTIVE CONTROL


G

P
Stock
1----

Feed
Tank

Headbox

We
Pap,

White water

Figure 2.1: Paper machine with headbox

Example 2.2 Paper Machine Headbox


This example is based on an example in [30], and some of the software-based problems
will refer to it.
Part of a paper-making machine is shown in Figure 2.1. The following varia bles are
involved:

Inputs (u)

States (x)

Stock ftowrateG p
WW ftowrateG w

Feed tank level


Hl
Headbox level
H2
Feed tank consistencyNI
headbox consistency N 2

Measured
Outputs (y)

Controlled
Variables (z)

H2
NI
N2

H2

N2

A linearised model of this machine has the (continuous-time) state-space matrices

o
o

1.~741
~ 1Be -- [ 1.~74
1.34

-0.63
0.413 -0.426

-0.65

2.2. A STANDARD FORMULATION

19

where time has been measured in minutes. Predictive contral is to be applied to this
plant, with an pdate interval of TB = 2 minutes. Discretising the model with this
sample interval (using the Matlab function c2d for example) gives

[~:~~!~
0.4~66
o
0
0.1012

~ 1

0.2837
0
-0.6688 0.2893 0.4266

[~:~:~~
~:~:~~ 1
1.5237 -0.7391
0.9929

0.1507

Note that the matrices Cv' Dy, C z and Dz remain the same in the discrete-time
model.
The prediction horizon is to be Hp = 10 (that is, 20 minutes) and the control horizon
is to be Hu = 3. Since control oJ consistency is more important than control oJ level,
errors in consistency (N2) are penalised more than errors in level (H2):

Q(i) =

[002

Changes of the two valves are penalised equally, and the same pen alti es are applied
at each step of the prediction and control horizons (that is, for each i):

0 0~6]

R(i) = [0 6

Since there is no delay in the plant (beyond the usuall-step delay - u(k) does not
affect x(k)), errors are penalised /rom the first step, namely Hw = 1.
The valves are scaled so that their range oJ operation is:

(0 is usually the point at which the plant was linearised, so that the range is not
always symmetrie about 0), and their slew rate (maximum rate oJ change) is such
that they can move through 10% of the range in one step (2 minutes):

The headbox level (H2 ) is constrained, so that the headbox never runs dry, or overfills:

-3 :S

Zl

:S 5

Note that if an operating point is represented by u = 0, then with a linear model we


must also have y = 0 at taht point (unless there is integration in the plant) .
Prom these constraints we can assem bIe the matrices E, F and G which appear in
our standard Jormulation of the predictive control problem. These matrices will have
the Jol/owing dimensions:
E :
(You should check this.)

4x 7

F:

4x 7

G:

20 x 21

20CHAPTER 2. A STANDARD FORMULATION OF PREDICTNE CONTROL

2.3

Prediction

In order to solve the predictive control problem, we must have a way of computing
the predicted values of the controlled variables, .(k + ilk), from our best estimate of
the current state, x(klk), and the assumed fut ure inputs, or equivalently, the latest
input, u(k - 1), and the assumed future unput changes, t:.(k + ilk).
It may seem that this is really part of the solution, not of the problem formulation, so

that it belongs in the next chapter. But it turns out that the way the predictions are
made has a great effect on the performance of the closed-loop system running under
predictive control. 80 the choice of prediction strategy is a 'tuning parameter' for
predictive control, just as choices of horizons and cost functions are. Furthermore,
the prediction strategy follows in a rather systematic way from assumptions made
about disturbanees acting on the system and measurement errors sueh as noise. 80
we can say that, rat her than ehoosing aprediction strategy, we are speeifying the
'environment' in whieh the plant is operating. And that properly belongs here, as
part of the problem formulation.
However, prediction can get very complicated. 80 to avoid being too distracted by
it at this stage, we will deal with a few simple cases here - which will already cover
much of industrial practice - and come back to more general cases later in the
course.

2.3.1

No disturbances, Full state measurement

We will start with the simplest situation. Assume that the whole state vector is
measured, so that x(klk) = x(k) = y(k) (so C y = I, Dy = 0) . Also assume that we
know nothing ab out any disturbances or measurement noise. Then all we ean do is
to predict by iterating the model (2.8)-(2.10). 80 we get

+ 11k) = Ax(k) + B(klk)


x(k + 21k) = Ax(k + 11k) + B(k + 11k)
=A 2 x(k) + AB(klk) + B(k + 11k)
x(k

x(k

+ Hplk) = Ax(k + Hp - 11k) + B(k + Hp - 11k)


= AHpx(k) + AHp-l B(klk) + ... + B(k + Hp - 11k)

(2.20)
(2.21 )
(2.22)

(2.23)
(2.24)

In the first line we have used (klk) rather than u(k), because at the time when we
need to compute the predictions we do not yet know what u(k) will beo

Now recall that we have assumed that the input will only change at times k, k +
1, . . . , k + Hu - 1, and will remain constant after that. 80 we have (k + ilk) =
(k + Hu -1) for Hu :S i :S Hp -1. In fact we williater want to have the predictions

~--~~--------_

.........

_ . ..-_.-

_.

- - --

2.3. PREDICTION

21

expressed in terms of !l(k + ilk) rather than (k + ilk), so let us do that now.
Recall that !l(k + ilk) = (k + ilk) - (k + i - 11k), and that at time k we already
know u(k - 1). 80 we have

(klk) = !l(klk) + u(k - 1)


(k + 11k) = !l(k + 11k) + !l(klk)

(k

+ Hu -

11k) = !l(k + Hu - 11k) + ...

+ u(k -

1)

+ !l(klk) + u(k -

1)

and hence we get

x(k + 11k) = Ax(k)


x(k + 21k)

+ B[!l(klk) + u(k - 1)]


= A x(k) + AB[!l(klk) + u(k - 1)]
B J!l(k + 11k) + !l~(klk) + u(k - 1)1,
2

(k+1lk)

= A 2 x(k)

+ (A + I)B!l(klk) + B!l(k + 11k) + (A + I)Bu(k -

1)

x(k + Hulk) = AHux(k) + (AHu- 1 + ... + A + I)B!l(klk)

+
.. . + B!l(k + Hu - 11k) + (AHu-l + .. . + A + I)Bu(k -

1)

Notice the change at this point

x(k + Hu

x(k

+ 11k) = AHu+1 x (k) + (AHu + ... + A + I)B!l(klk) +


... + (A + I)B!l(k + Hu - 11k) + (AHu + .. . + A + I)Bu(k -

+ Hplk)

1)

+ (AHp-l + ... + A + I)B!l(klk) +


... + (AHp-Hu + .. . + A + I)B!l(k + Hu - 11k) + (AHp-l + .. . + A + I)Bu(k -

= AHpx(k)

1)

22CHAPTER 2. A STANDARD FORMULATION OF PREDICTIVE CONTROL


Finally we can write this in matrix-vector form:

x(k

+ 11k)

x(k + Hulk)
x(k + Hu + 11k)

:AHu
AHu+1

x(k)

past

o
o

B
AB+B

t..(klk)

AB+B

t..(k

+ ~u -

(2.25)

11k)

..

future

If we assume that Dz = 0 (which is the most common case) then the predictions of
z are now obtained simply as
i(k
i(k

+ 11k) =
+ 21k) =

Czx(k
Czx(k

+ 11k)
+ 21k)

(2.26)
(2.27)
(2.28)
(2.29)
(2.30)

or

A warning is in order about the prediction equation (2.25) . It involves computing


Ai, possibly for quite large values of i. This can lead to numerical problems. If the
plant is unstable, then some elements in Ai may become extremely large relative
to others, and relative to elements in lower powers of A. Since computers work
with finite-precision arithmetic, this can sometimes lead to wrong results. Similar
problems can occur if the plant is stable; in this case some elements of Ai may
become extremely small relative to others. Again wrong answers may result. (Using
'IEEE Standard' arithmetic, computers cannot distinguish between 1 and 1 + I: if
11:1 < 10- 16 , approximately.)

2.3. PREDICTION

23

dek)

u(k)

~I

PL_A_NT
__

L __

1\

+
:~~~O~

z(k)

1\

y(klk-l) = z(klk-l)
Figure 2.2: Output disturbance
The safest way of computing the predictions is probably to iterate one step at a time.
But this makes it difficult to fit the predictions into the optimization. Another possibility, which certainly reduces the number of flops (= 'fioating-point operations')
is to use 'Horner's method':
m

L Ai = :t(A . .. (A(A + I) + I) ... + I) +~

(2.32)

m times

i=O

=A(~Ai) +I

(2.33)

80 while the form of (2.25) is very convenient, and will be important in the next
chapter, it is not necessarily the form which should be used for implementation.

2.3.2

Constant output disturbanee

Now we will assume that there are disturbances acting on the plant . The simplest
assumption is that the measured and controlled outputs are the same (z = y) , and
that there is an 'output disturbance' - see Figure 2.2:

y(k) = y(klk - 1) + d(klk)

= Cyx(klk -

1) + d(klk)

(2.34)
(2.35)

Another simple assumption is that this disturbance will continue unchanged durign
the prediction horizon. This means that, although we keep (2.9) and (2.10), we
predict y and z using

i (k

+ ilk) = y(k + ilk) = Cyx(k + ilk) + dek + ilk)

(2.36)

where

dek + ilk) = d(klk)


80 at time step k we do the following:

(2.37)

24CHAPTER 2. A STANDARD FORMULATION OF PREDICTIVE CONTROL


1. Measure the actual plant output y(k) .

2. Estimate the disturbance as the difIerence between the actual and the estimated output.
3. Use that estimate to predict outputs over the prediction horizon.
We will always follow this scheme, but Step 2 will become more elaborate when we
make more elaborate assumptions ab out the nature of the disturbance. In Step 3
we need to assume future input movements, in order to use (2.8) or (2.25) to predict
x(k + ilk).
The assumption of a constant output disturbance, and the simplest disturbance
estimation scheme of (2.36)-(2.37) is sometimes called the 'DMC scheme', because
that is what is used in one of the leading prprietary predictive control products,
DMC (= Dynamic Matrix Contraf) [12] .
Notice that, even if Cy = I, we now have fi(k + ilk) 1'= x(k
means that we need an observer to estimate 5;.

2.3.3

+ ilk) .

In general, this

Using an observer

If we cannot measure the full state vector, or if the measured outputs consist of some
linear combinations of the states, so that the states cannot be measured directly,
then an observer can be used to estimate the state vector. It is instructive to see how
the 'constant output disturbance' assumption we made in the previous subsection
can be handled using observer theory. We can do this by 'augmenting' the model of
the plant, so that it also includes a model of the output disturbance. We do this by
defining a new 'state':
e(k) = [ x(k) ]
d(k)

Since we assume that the output disturbance is constant, the new state and output
equations are

1)]

x(k +
[ d(k + 1)

0] [X(k)]
[ B ]
d(k) + 0 u(k)

[A
0 I

y(k) = [Cv

IJ

x(k) ]
[ d(k)

Now if we partition the observer gain matrix L:

(2.38)
(2.39)

25

2.3. PREDICTION

---------------------------1

PLANT

1
1

y(k)

u(k)

1
1
1 ____ - - - - - - - - - - - - - - - - - - - - - - -

OB SERVER
Figure 2.3: A State Observer
then applying the standard observer equation (see the Minitutorial) gives the following estimates:

1k)] [( A 0)
[Ll]
] [ x(klk
-1)] + [B]u(k) + [ LlL2 ]y(k)
I
L2 [Cy IJ
d(klk _

x(k + 1
[ d(k + 11k)

1)

(2.41)
But in the previous subseetion we had

d(klk) = -Cyx(klk - 1) + y(k)


and sinee we assume that d(k

d(k

+ 11k) = d(klk)

+ 11k) =

we have

-Cyx(klk - 1)

+ y(k)

(2.42)

We ean see that the estimate obtained from the observer is the same as this if the
observer gain matrix L is

This gives

0) _[Ll ] [e

[( A
o I

L2

Il]

= [

-Cy

0]
0

The bloek-triangular strueture of this matrix shows that the observer's eigenvalues
are those of the plant (the matrix A) and the remaining ones are zeros. The zeros

26CHAPTER 2. A STANDARD FORMULATION OF PREDICTNE CONTROL

Mini-Tutorial: State Observers


The general structure of a State Observer is shown in Figure 2.3, for a plant described by
the equations

x(k

+ 1) = Ax(k) + Bu(k),

y(k) = Cx(k)

(2.40)

It is a copy of the plant, with feedback from the measured plant output, through the gain
matrix L, to correct the state estimate x.
The equations of the observer are:

x(k

+ 11k)

= Ax(klk - 1)

+ Bu(k) + L[y(k) -

y(klk - 1)]

y(klk - 1) = Cx(klk - 1)
Substituting the second equation into the first we get

x(k

+ 11k)

= (A - LC)x(klk - 1)

+ Bu(k) + Ly(k)

which is a stabie system if the eigenvalues of A - LC lie inside the unit disk. Furthermore
if we define the state estimation error as e(k) = x(k) - x(klk -1), then using (2.8) we have

e(k + 1)

= (A -

LC)e(k)

which shows that the state estimation error converges to zero if the observer is stabie, at a
rate determined by the eigenvalues of A - LC.
If the pair (A, C) is observable, then given an arbitrary set of locations in the complex
plane, a gain matrix L exists which places the observer eigenvalues at these locations. The
problem of finding L is the dual of the state-feedback pole-placement problem, and can
be solved using the same algorithm. (See functions place, acker, or kalman in Mat/ab's
Contro/ System Too/box.)
If the state and output equations of the plant are assumed to be subjected to white noise
disturbances with known covariance matrices, then L can be chosen such that the mean
square state estimation error is the smallest possible. The observer is then known as a
Ka/man Filter.

2.3. PREDICTION

27

indicate that 'deadbeat' estimation of the disturbance is obtained, namely that the
disturbance estimate is exact after a finite number of steps - and we can see from
(2.42) that it is in fact exact after only 1 step (if the real disturbancebehaves exactly
according to our model).
The fact that the observer's eigenvalues include those of A shows that this simple
disturbance estimation scheme can be used only with stable plants - otherwise the
estimate x(k+ 11k) will get worse and worse as k increases. 80 we see that, although
the 'DMC scheme' for estimating disturbances is simple and intuitive, it has some
limitations. We also see that it is easy to overcome these limitations: we can keep
the same disturbanee model, but use a different observer gain matrix L . Even with
unstable plants, it is possible to find L such that all the observer's eigenvalues lie
inside the unit disk (providing that the pair (A, Cy ) is observable).
Note that if an observer is used, then the form of the state prediction equation (2.25)
remains the same, but x(k) has to be replaced by x(klk). We willlook at the details
of this later.

28CHAPTER 2. A STANDARD FORMULATION OF PREDICTNE CONTROL

2.4

Problems

1. Find the matrix F corresponding to the constraints given in Example 2.2.

2. Suppose that we have a I-state, I-input model with 1 controlled variabie:

x(k

+ 11k) = 2x(klk z(klk)

1) + u(k)

= 3x(klk)

and we have the constraint


-1::;z(k)::;2

fora11k

If x(klk) = 3 and u(k - 1) = -1, show that the corresponding constraint on

Llu(k) is
16

13

-< Llu(k) <


-3 3
3. As practice at using Matlab, and a little revision of discrete-time systems, check
the discretisation done in Example 2.2. You can create a state-space system
object by a command of the form: cont_sys=ss(Ac,Bc,Cc,Dc); where Ac
etc are the continuous time state-space matrices. You can discretise it using
disc_sys=c2d(cont...sys, Ts); where Ts is the sample interval. Matrices can
be extracted from these system objects by commands of the form Ad=get (disc...sys, 'a' ) .
(Use help lti for more information.)
Is the system stabie? With the default discretization method used by c2d
each eigenvalue >. of Ac should be mapped to exp(>'T.) . Check this (using the
functions eig and exp) .
4. Suppose that in Example 2.2 the feed tank level Hl is constrained, to ensure
that the feed tank neither runs dry nor overfills (in addition to the other
constraints ).
(a) Explain why the matrices Cz and Dz in the standard formulation must
be changed to represent this. What are the new values of these matrices?
(b) What are the new dimensions of the matrices E, F and G in this case?
(c) Do you anticipate any additional difficulty with this case? (Hint: Compare the matrices Cy and Cz . )
5. Using equations (2.26)- (2.29), or (2.31), write the predictions z(k
matrix-vector form (analogously to (2.25)).

+ ilk)

in

6. Suppose that Dz '" O. How does the computation of z(k + ilk) need to be
modified from (2.26)-(2.29)? Can you find an expression for the vector [z(k +
11k), .. . , z(k + Hplk)jT in matrix-vector form? (Note that the predictions z
remain linear in the x and Ll variables.)

2.4. PROBLEMS

29

7. Show that the pair

is observable if and only if the paur (A, Cy ) is observable.


(The significance is that if this pair is observable then an observer gain matrix
L can always be found which places the eigenvalues of the 'constant output'
observer (2.41) at arbitrary locations.)
8. A plant with 1 input, 1 output and 1 state has the model

x(k + 1)

= 0.9x(k) + 0.5u(k),

y(k)

= x(k)

Predictive control is to be used with Q(i) = 1, R(i) = 0, Hp = 30, and


Hu = 2. A constant step disturbance at the plant input is assumed (that is,
u(k) is replaced by u(k) + d(k)).
(a) Show how the plant model can be augmented to incorporate this disturbance model.
(b) Design a state observer with a 'deadbeat' response for the plant with
this disturbance model. (The easy way to do this is to use the Model
Predictive Control Taalbox function smpcest(imod,Q,R), where Q and R
are ficititious state and output noises, respectively, with R very small.
The observer approaches a deadbeat observer as R approaches 0.)
(c) Simulate the response of the predictive controller to an input step disturbance when your observer is used. Compare the response to that
obtained when the default 'DMC ' observer is used. (Assume there are no
constraints. )
(d) How does the observer design affect the set-point response?
(e) Work out the details of how to use the Control System Taalbox function
place to design observers for use with the Model Predictive Control Toolbox. (You will need to pay attention to the model representations used
by the Model Predictive Control Taalbox.)

30CHAPTER 2. A STANDARD FORMULATION OF PREDICTIVE CONTROL

Chapter 3

Solving Predictive Control


Problems
This chapter explains how the standard predictive control problem can be solved.
It starts by describing some software wich does this, so that you can start solving
predictive control problems immediately. It then explains how the software does it,
treating the unconstrained and constrained cases separately.

3.1

The MPC Tooibox

This section specific to TU Delft


The software which we will use in this course is the Model Predictive Control Toolbox
for Matlab. There is a complete user's Guide for this TooIbox, available by the
computers, and some extracts from the Guide will be circulated along with these
notes.
Historically, predictive control was first developed for step-response models of plants,
and the layout of the User's Guide reflects this:
Chapter 2 of the Tutorial deals with step-response modeIs,
Chapter 3 deals with state-space models. (And with transfer function models,
since the Toolbox includes functions for converting transfer functions to statespace modeIs. )
This is in contrast with this course:

31

GHAPTER 3. SOLVING PREDIGTIVE GONTROL PROBLEMS

32

State-space models first -

previous and this Chapter of notes,

Transfer function models next - next Chapter of notes,


Step-response models - special case of either state-space or transfer function
models - see next Chapter of notes.
Fortunately Chapter 3 of the User's Guide is written in such a way that you can
read it without reading chapter 2 first. (But pages 13 and 22 of Chapter 2 give nice
summaries of the problem formulation.)
Before starting to use the Model Predictive Control Tooibox you should read the
following sections of the user's Guide:
3.1: State-space models
3.1.1: Mod format
3.1.5: Converting state-space to mod format
3.1.8 Converting mod format to other model format
You will see from section 3.1 of the Guide that the model assumed in the MPC
Tooibox is more general than the one we assumed in the previous chapter. The
variabie names are also different:
~,ru

replace our A, B .

d is a measured disturbance on the state.


w is an unmeasured disturbance on the state.

z is an unmeasured disturbance on the output (Measurement noise) we used d instead.


The output y includes both measured and unmeasured outputs. These
are ordered so that the measured ones come first .
G corresponds roughly to our Gy .
Du corresponds roughly to our Dy.
r d, r w, Dd and Dw relate to d and w, so do not appear in our model in
the previous chapter. (But we will introduce some of them later.)
Note that we have an output z of controlled variables, which mayor may not be
measured. So both our y and our z are included in the MPC Toolbox's y.
The core functions which you will need are:
smpccon: Solves unconstrained predictive control problem. In this case the
solution is a constant matrix.
(Reference: User's Guide pages 201-204).

3.1. THE MPC TOOLBOX

33

smpcsim: Simulates solution of unconstrained problem, using result from smpccon.


(Reference: User's Guide pages 213-220).
scmpc: Solves constrained predictive control problem, and simulates solution.
(Reference: User's Guide pages 186-193).
There are many other functions, described in the User's Guide. The Thtorial section
of the Guide shows you how to use the functions. The examples which appear in
the Thtorial are also available as on-line demos:

Section 3.2: Unconstrained.

m-file: mpctutss

Section 3.3: Constrained.

m-file: mpctutss

Section 3.4: Paper machine headbox.

m-file:

pm~in

(The m-files referred to are in directory mpcdemos.)


Work through some of these demos, guided by the Problems at the end of this
chapter. Before you do so, note the following.
Both the functions smpccon and scmpc take the input argument M, which is used to
specify which input moves the optimiser can make. If Mis a scalar (integer) then it
is just the control horizon, namely the same as our Hu . But if it is a row vector then
each element specifies the number of steps over which ..u = 0, or over which the
input u remains unchanged. So M=[mi.m2.m3] means that (klk) = (k + 11k) =
... = (k +m1-1Ik), (k +m1Ik) = (k+m1 + 11k) = ... = (k+m1 +m2 -11k),
etc. The numbers mi, m2, etc are called 'blocking factors' .
There is no parameter corresponding to our Hw. The parameter P specifies the
prediction horizon (our Hp) and implicitly the MPC Tooibox always assumes Hw = l.
However, the parameter which defines weights on output errors, ywt, can represent
weights which vary over the prediction horizon, with each row representing one step.
So we can get the effect of Hw = 3, for example, by making the first 2 rows of ywt
zero. Note that you can have fewer than Hp rows in ywt; the last row specifies the
weights to be used from that value of ionwards.
Most of the arguments can be omitted, and then take sensible default values. However, if you omit P it defaults to 1, which is not usually asensibie prediction horizon.
With all possible arguments set to default values you get what the User's Guide calls
a 'perfect controller'. But in fact there are a lot of problems with such a controller.

CHAPTER 3. SOLVING PREDICTIVE CONTROL PROBLEMS

34

Constraints are represented in function scmpc by the arguments ulim and ylim. Like
the weight parameters, each row of these corresponds to one step in the prediction
or control horizon. The bounds on ~u are always assumed to be symmetrie (-Bi :::;
~ui :::; Bi), and they must be specified to be finite, although they may be very large.

3.2

Unconstrained Problems

3.2.1

Measured State, No Disturbances

Recall that the cost function which we must minimise is


Hu-l

Hp

V( x , u, r ) =

Il i (k

+ ilk)

- rek

+ i)II~(i) +

lI~(k + ilk)II ~(i)

(3 .1)

i=O

We can rewrite this as


V(x , u, r)

= IIZ(k) -

T(k)ll ~

+ II~U(k)ll~

(3.2)

where

~(klk)

~(k) =

~(k

+ Hu -

11k)

and the weighting matrices Q and 1?. are given by

Q ~ [Qr

Q(Hw + 1)

(3.3)

n~[T
Also recall from (2.23) and (2.27) that Z has the form
Z(k)

o
R(I)

o
and from Problems 5 and 6 of Chapter 2 -

= wx(k) + Tu(k -

for suitable matrices W, Tand


E(k)

(3.4)

1) + e~U(k)

(3.5)

e. Define

= T(k) -

wx(k) - Tu(k - 1)

(3.6)

3.2. UNCONSTRAINED PROBLEMS

35

This can be thought of as a 'tracking error', in the sense that it is the difference
between the future target trajectory and the 'free response' of the system, namely
the response that would occur over the prediction horizon if no input changes were
made - that is, if we set t:..U(k) = O. And if E(k) really were 0, then it would
indeed be correct to set t:..U(k) = O. Now we can write
V(x, u, r) = lIet:..U(k) - &(k)lI~ + 11t:..U(k)ll~
(3.7)
T
= [t:..U(k)Te - &(k)T]Q[et:..U(k) - E(k)] + t:..U(k)TRt:..U(k)
(3.8)
= &(k)T QE(k) - 2t:..U(k)TeT QE(k) + t:..U(k)T[eT Qe + R]t:..U(k) (3.9)

But this has the form


V(x,u,r)

= const -

t:..U(k)T(}

+ t:..U(kf1l.t:..U(k)

(3.10)

where

(3.11)
and
(3.12)

and neither () nor 11. depends on t:..U(k).


To find the optimal t:..U(k) we can now find the gradient of V(x,u,r) and set it to
zero. From (3.10) we find
\lIlU(k) V

= -() + 211.t:..U(k)

(3.13)

so the optimal set of future input moves is

t:..U (k )opt

1_1

= '211.

(3.14)

()

Remember that we use only the part of this solution corresponding to the first step,
in accordance with the receding horizon strategy. So if the number of plant inputs
is m then we just use the first m rows of the vector t:..U(k)opt. We can represent this
as
t:..u(k)opt = [Im , Om, .. ,Om ]t:..U(k)opt
'-..-.'
(Hu -1)( times)

where Im is the m

m identity matrix, and Om is the m

(3.15)

m zero matrix.

Note that we can write t:..u(k)opt here, rather than (klk)opt, because we have now
found the solution and this is the input that is really applied to the plant at time k.

36

CHAPTER 3. SOLVING PREDICTIVE CONTROL PROBLEMS

Does llU(k)opt really give a minimum of the cost function V? It certainly gives a
stationary point, but that is not enough to guarantee a minimum. DifIerentiating
the gradient V aU(k) V (3.13) again with respect to llU(k) gives the matrix of second
derivatives, or Hessian, of V :
(3.16)
We have assumed that Q(i) :2: 0 for each i, and this ensures that

eT Qe :2: O.

So if

n > 0 then the Hessian is certainly positive-definite, which is enough to guarantee


that we have a minimum. And this will be the case if R(i) > 0 for each i .

But sometimes we may want to have no penalty on the input moves, which would
lead to n = O. Or we may want to leave the moves of some inputs unpenalised, or
the moves at some points in the control horizon unpenalised. In these cases we will
have n 2: 0, but not n > O. When R = 0 we need eT Qe > 0 in order to have a
minimum - and of course, to ensure that 1i.- 1 exists. In intermediate cases, when
n :2: 0, we need to ensure that eT Qe + R > O.
Let us check the dimensions of the various matrices introduced in this section. e has
as many rows as there are elements in Z . If we have p controlled outputs, and we
predict between steps Hw and Hp, then there are p(Hp - Hw + 1) of these elements.
The number of columns in e is the same as the number of elements in llU(k), which
is mHu . Q(i) has p rows and columns, so Q has p(Hp - Hw + 1) of each. Thus
1i. = eT Qe is square, with mHu rows and columns. This agrees (as it must!) with
the number of rows and columns in R . Similar checks on the remaining matrices
lead to Table 3.1.
Matrix
Q

n
\lf

e
t:
9
1i.

Dimensions
+ 1) x p(Hp - Hw
mHu x mHu
p(Hp - Hw + 1) x n
p(Hp - Hw + 1) x m
p(Hp - Hw + 1) x mHu
p(Hp - Hw + 1) x 1
mHu x 1
mHu x mHu

p(Hp - Hw

+ 1)

Table 3.1: Dimensions of matrices and vectors involved in computing the optimal
input moves. (The plant has minputs, n states, and p controlled outputs.)

3.2.2

Formulation as a Least-Squares Problem

The optima! solution, as expressed in (3 .14), should never be obtained by computing


the inverse of 1i.. The matrix e is often ill-conditioned, which can result in 1i.

3.2. UNCONSTRAINED PROBLEMS

37

being ill-conditioned. It is therefore imperative to pay attent ion to the numerical


algorithms involved in finding the optimal solution.
The best way of computing the solution is by solving it as a 'least-squares' problem.
It is also a way which gives some additional insight.

8ince Q ;:::: 0 and


roots' :

n ;: : 0,

we can find matrices SQ and SR which are their 'square-

If Q and
are diagonal, it is trivial to do this - just take the square-root of each
diagonal element. If they are not diagonal, square-roots can be obtained by using the
'Cholesky' algorithm (function chol in Matlab) for positive-definite matrices, or by
using other algorithms, such as singular value decomposition (svd) for semi-definite
matrices.

Now consider the vector


SQ{e~U(k) - &(k)} ]

SR~U(k)

We shall show that the squared 'length' of this vector, or equivalently, the sum of
squares of its elements, is the same as the cost function V (x, u, r). 80 that ~U (k )opt
is the value of ~U(k) which minimises this length.

11

SQ{e~U(k) -

SR~U(k)

&(k)} ] 11 =

11 [

SdZ(k) - T(k)} ] 11
SR~U(k)

= [Z(k) - T(kW S~SdZ(k) - T(k)]

(3.17)

+ ~U(kf SkSR~U(k)
(3.18)

= IIZ(k) - T(k)ll~
=V(x,u, r)

80

~U(k)opt

+ II~U(k)ll~

(3.19)
(3.20)

is the 'least-squares' solution of the equation

Sde~U(k) - &(k)} ] = 0
SR~U(k)

(3.21)

or, equivalently, of:


(3.22)

Equations of the form AB = b can be solved in a least-squares sense using the 'QR'
algorithm. In Matlab this solution is obtained as Bopt = A\ b. Although formally
this solution is the same as Bopt = (AT A)-l ATb, (which gives (3.14)), this algorithm
avoids 'squaring up' A, and never forms the product AT A, or computes its inverse.
If A is ill-conditioned and/or large this is crucial, since it avoids unnecessary loss of

38

CHAPTER 3. SOLVING PREDICTIVE CONTROL PROBLEMS

preClsIOn. For more details see any book on numerical linear algebra, such as [17],
or Chapter 8 of [26] (or the Matlab documentation) .
Hence we have, using Mat/ab notation:
(3.23)

Equation (3.22) is almost always over-determined: there are not enough degrees of
freedom to get an exact solution. It contains p(Hp -Hw +l)+mHu scalar equations,
but there are only mHu variables to be solved for . Even in the special case ofR = 0,
when there is no penalty on input moves, and the equation simplifies to
(3.24)
there are usually more scalar equations than variables. A unique exact solution exists
only if the matrix sQe is square and non-singular, which requires p(Hp - Hw + 1) =
mHu. However, we usually have p(Hp - Hw + 1) > mHu . Note that in the case of
R = 0 we cannot remove SQ from each side of the equation - doing so would give
a different solution, since it would change the weighting used when minimising the
sum of squares of the error.
Why do we expect ill-conditioning in the predictive control problem? Typically it
arises in the following way. Suppose we had two controlled variables which behaved
exactly the same as each other. Then the corresponding pairs of rows of 'l1 would
be identical. Consequently the rank of e (the number of linearly independent rows)
would be smaller than expected from its dimensions by Hp - Hw + 1 - that is how
many pairs of identical rows there would be. If it were sufliciently smaller, the rank
could become smaller than mHu, at which point eT Qe would become singular.
If we also had R = 0, then 1i would be singular. In practice variables do not
behave exactly the same as each other. But sometimes they behave very similarly.
Consider a distillation column with 40 trays, for example. Adjacent trays do not
behave identically, but obviously if you can manipulate only a few temperatures in
the column, adjacent trays are going to react very similarly. In such cases one can
have many rows of e being 'nearly linearly dependent' on each other, and then 1i
can be nearly singular. Even without this cause, the rows near the bottom of e
are often 'nearly linearly dependent' if Hp - Hw Hu . One remedy for this is to
increase the diagonal elements of R - but that may distort the problem away from
the real one [41] .

3.2.3

Structure of the Unconstrained Controller

Recall from (3.15) and (3.6) that

..u(k)opt = [Im , Om , ... , Om]1i- 1 eT Q&(k)

(3.25)

3.2. UNCONSTRAINED PROBLEMS

39

and

[(kl

= T(k) -

wx(k) - Tu(k - 1).

(3.26)

The only part of this solution which changes from step to step is the 'tracking error'

[(kl . Consequently the predictive controller, for the unconstrained problem and
with full state measurement, can be drawn as in figure 3.1.
,--------------------------- ------ ------ - ----------------z(k)

I!. u(k)
K

MPC

PLANT

z- I
y(k)=x(k)

u(k-I)

-1

z 1

x(k)

CONTROLLER

,_______ ____ _________________ _____ _______ ______ _____ __ ____ J

Figure 3.1: Structure of controller with no constraints and full state measurement.
The bloek labelled

KMPC

is defined by

KMPC

= [Im,Om, ...

,Om11C 1 eT Q

(3.27)

We point out that the 'correct' way of computing KMPC is (again using Matlab
notation, including the ' :' operator to pick out the first m rows of the solution):
Kfull

= [ s~e

] \ [ SoQ ]

KMPC = Kfull(1 :

m,:)

(3.28)
(3 .29)

(This works for the following reason: If we had [(kl = [1, 0, ... , of then we would
effectively have only the first column of SQ on the right hand side of (3.23) . [(kl =
[0, 1, 0, .. . , of would effectively give the second column, etc. Since [(kl enters the
solution linearly, it is only necessary to solve (3.23) with these columns on the right
hand side. The ' \' operator in Matlab is smart enough to solve for all the columns
simultaneously - and this is very effficient, since most of the work involved is in
computing the QR decomposition ofthe left hand side, which needs to be done only
once.)
It is clear from the figure that the controller is a linear time-invariant system in
this case. So it is possible to compute its frequency response, stability margins,

40

CHAPTER 3. SOLVING PREDICTNE CONTROL PROBLEMS

etc. We shall do that kind of analysis in a later chapter. Note that the controller
is, in general, dynamic. It is not just 'state feedback', except under very special
circumstances.
The matrix K. computed by the Model Predictive Control Tooibox function smpccon
is related to KMPc as follows:

(3.30)

so that

..u(k)opt = Ka

3.2.4

T(k)
x(k)
[ u(k -1)

(3.31)

Estimated State

Now we need to address the more realistic case, when we do not have measurements
of the whole state vector, and must use an observer. We will see that the solution
is very similar to the solution in the previous case. In fact, we will see that all
the gain matrices involved are exactly the same as in the previous case. The only
difference is that we need to use an observer, and use the state estimate x(klk) to
replace the measured state x(k). The controller structure in this case is shown in
figure 3.2. This is again a linear time-invariant system, but now with more dynamic
complexity, because its state vector includes the observer state.
Consider the state estimate available from an observer as being obtained in two
steps. Given a prediction x(klk - 1) of x(k), made on the basis of information
available at time k -1, which includes u(k -1), we can improve this prediction once
the output measurement y(k) becomes available. We do this using the observer gain

V:
x(klk) = x(klk - 1) + L'[y(k) - y(klk - 1)]

Corrector

(3.32)

On the other hand, once we have decided what the input u(k) will be, we can use
that to predict the state at time k + 1:

x(k + 11k)

= Ax(klk) + Bu(k)

Predictor

(3.33)

If we eliminate the 'filtered' state x(klk) from these equations, using the fact that
y(klk - 1) = Cyx(klk - 1), we get a recursion for the 'predicted' state x(klk - 1):

x(k

+ 11k) =

Ax(klk - 1) + AL'[y(k) - Cyx(klk - 1)] + Bu(k)

(3.34)

3.2. UNCONSTRAINED PROBLEMS

T(k)

41

z(k)

I
I

E (k)

z
--~-

KMPC

,-

"(kl

PLANT

z-I

f---y(k)

"(k-I)

-I
z 1

1\

x(klk)

'I'

OBSERVER

CONTROLLER

Figure 3.2: Structure of controller with no constraints and state observer.

Comparing this with the observer equation we had in the previous Chapter, where
we used the observer gain L, we see that this is the same equation if
(3.35)
Given L' we can obviously obtain L. Given L, however, we can only obtain L' if A
is non-singular. A is singular if and only if the plant contains delays. So it is better
to obtain L' first . In Kalman filter theory it is standard to obtain both Land L'.
For details see [5] or Chapter 3 of [2].
Now to obtain the vector of predicted controlled outputs, Z(k), it is reasonable
to go back to equation (3.5), and simply replace x(k) by the best estimate of it
available to us, namely x(kjk). We say 'reasonabIe' because it is not self-evident
that this is the 'optimal' thing to do in any sense. The Separation Principle or
Certainty Equivalence Principle says that it is the optimal thing to do if one is
solving a stochastic linear quadratic problem, and one has Gaussian noises acting
on the states and outputs, and L' is obtained using Kalman filtering theory [5, 22, 2] .
But in general it is just a heuristic, albeit one which is very widely used in contral
engineering. After all, no other obvious alternative presents itself.
So now we define
Z(k)

= 'l1x(kjk) + Tu(k -

1) + 8t1U(k)

(3.36)

and we make the corresponding change in the definition of the 'tracking error' &(k)
(compare with equation (3.6)):
(k) = T(k) - 'l1x(kjk) - Tu(k - 1)

(3.37)

42

CHAPTER 3. SOLVING PREDICTIVE CONTROL PROBLEMS

It is now clear that once these changes have heen made, the derivation of the optimal
control ~u(k)opt is exactly the same as in earlier sections. Hence we arrive at the
controller structure shown in figure 3.2.

3.3
3.3.1

Constrained Problems
Formulation as a QP Problem

Now we deal with the case when constraints are present. Recall that these are in
the form:
E [

~~(k)

] :S 0

k
F [ Ui ) ]
k

G [ Zi ) ]

(3.38)

:s 0

(3.39)

:s 0

(3.40)

where U(k) = [(klk))T , ... , (k + Hu - 1Ik))T]T is defined analogously to ~U(k).


We have to express all of these as constraints on ~U(k).
Suppose F has the form

where each Fi is of size q x m, and

f has size q x 1, so that (3.39) can he written as

Hu
LFi(k+i -11k)
i=l

+ f:S O.

Since
i-1
(k

+i -11k) = u(k -1) + L~(k +jlk)


j=O

we can write (3.39) as


Hu

Hu

Hu

L Fj~(klk)
j=l

+ L Fj~(k + 11k) + ... + FHu~(k + Hu -

Now define Fi

= L:1:i Fj

j=2

and F

= [F 1> ... , FHul

11k) + L Fju(k - 1)
j=l

Then (3.39) can he written as

F ~U(k) :S -F 1u(k - 1) -

(3.41)

+ f :S 0

3.3. CONSTRAINED PROBLEMS

43

where the right hand side of the inequality is a vector, which is known at time k.
80 we have converted (3.39) into a linear inequality constraint on t:.U(k) .
Note that if we have simple range constraints on the inputs, of the form
u/mAk

+ i)

S; (k

+ ilk)

S; Uhigh(k

+ i)

(3.42)

then this inequality takes quite a simple form. (See Problem 7.)
Now we have to do a similar thing for (3.40). Fortunately we have already done
most of the work needed in this case. Assuming fuH state measurements, we can use
(3.5) to write (3.40) as
G [ 'l1x(k)

+ TU(k;

I)

+ et:.U(k)

] S; 0

Now letting G = [r , g], where gis the last column of G, this is the same as
r['l1x(k)

+ Tu(k - I)} + ret:.U(k) + 9 S; 0

or
ret:.U(k) S; -r['l1x(k)

+ Tu(k - I)}- 9

(3.43)

which is in the required form.


Ifwe have only state estimates available, then we replace x(k) by x(klk), just as we
did in section 3.2.4.
It only remains to put inequality (3.38) into the form

W t:.U(k) S; w

(3.44)

(see Problem 7). Then we can assemble inequalities (3.41), (3.43), and (3.44) into
the single inequality

r: 1
F

t:.U(k) S;

[-FIU(k-I)-f
-r['l1x(k) + ~u(k - I)}- 9

(3.45)

(Replace x(k) by x(klk) if an observer is used.)


Now the cost function V(x,u,r) which we have to mimimise is still the same as in
the unconstrained case. 80, from (3.10), we see that we have to solve the foHowing
constrained optimization problem:
minimise t:.U(k)T1lt:.U(k) - gT t:.U(k)

(3.46)

subject to the inequality constraint (3.45). But this has the form
min (}T q,() 9

<jJT ()

(3.47)

44

CHAPTER 3. SOLVING PREDICTNE CONTROL PROBLEMS

subject to
(3.48)
which is a standard optimization problem known as the Quadratic Programming (or
QP) problem. There are standard algorithms available for its solution, such as the
function qp in Matlab's Optimization Toolbox.
Similarly to solving the unconstrained problem, it is bet ter to pass the QP problem
to a solution algorithm in 'square root' form, namely in the form
min

~U(k)

11 [

SQ{e~U(k)
- &(k)}
Sn~U(k)

11

subject to (3.45) .

(3.49)

Since 1l 2: 0, the QP problem which we have to solve is convex. This is extremely


good news - see the Minitutorial. Because of the convexity we can guarantee
termination of the optimization problem, and because of the additional structure of
the QP problem, we can estimate how long it will take to solve. This is an extremely
desirabie property for an algorithm which has to be used on-line, and to keep up
with the real-time operation of the plant.
A major problem which can occur with constrained optimization is that the problem may be infeasible. Standard QP solvers just stop in such cases, their only
output being a message such as Problem Infeasible, or perhaps some diagnostics
in certain cases. This is obviously unacceptable as a substitute for a control signal
which must be provided to the plant. So when implementing predictive control it
is essential to take steps either to avoid posing an infeasible problem, or to have a
'back-up' method of computing the control signal. Various approaches to this have
been suggested, including:
Avoid 'hard' constraints on z.
Actively manage the constraint definition at each k.
Actively manage the horizons at each k.
Use non-standard solution algorithms.
We shall examine these more closely later in the course.

3.3.2

Controller Structure

So long as all the constraints are inactive, the solution of the predictive controller
is exactly the same as in the unconstrained case. But if constraints become active
then the controller becomes nonlinear and the structure shown in figures 3.1 and

3.3. CONSTRAINED PROBLEMS

45

Mini-Tutorial: Convex Optimization, QP and LP Problems


In general optimization problems are solved numerically by 'going downhill' - assuming a
minimization problem - until one reaches a minimum. The big problem with this is that
in general problems there are many 'local' minima, and the algorithm is very likely to be
stuck in such a local minimum, unaware that the true 'global' minmum is elsewhere.
A convex optimization problem is one in which this problem does not occur. Because of the
convexity of the objective function, there is only one minimum - or possibly a connected
set of equally good minima, as on a flat valley floor. When solving a convex problem, one is
guaranteed that a global minimum will eventually be reached if one keeps 'going downhill'.
For a 'smooth' problem the property of convexity can be established from the Hessian of
the objective function - it has to be positive semi-definite everywhere. But constrained
problems are usually not smooth, or at least not everywhere. In this case convexity can be
characterised without using derivatives, as follows. A function V(O) is convex if, for every
pair of points 01 and O2 , and any such that 0 :S :S 1, it is always true that

(3.50)
The straight /ine joining any two points on the cost surface is never be/ow the surface.

A Quadratic Program is an optimization problem of the form


subject to
Here the objective function is V(O) = OT~O - r/70 and its Hessian is 2~. If there are
no constraints this is c1early convex if ~ 2: O. (Without this condition there might be
no minimum, since arbitrarily large negative values of V might be attainable.) Since the
constraints are linear inequalities, the surfaces on which they are active are hyperplanes.
So the constrained objective function can be visualised as a convex quadratic surface, parts
of which have been cut of! by a number of flat 'faces'. It is intuitively c1ear that this
constrained surface remains convex, although we shall not give a formal proof of this.
A Linear Program (or LP) is the special case of a QP when ~ = 0, so that the objective
function is linear rat her than quadratic. It is also convex when 0 and <p are such that a
minimum existsj in this case the minimum always occurs at a vertex (or possibly an edge) .
The constrained objective surface can be visualised as a convex object with flat faces. Such
an object is called a simp/ex. There are extremely efficient algorithms for solving huge LP
problems, inc1uding the famous 'simplex method'. QP solvers usually make have an LP
solver inside them.
The literature of convex optimization, LP and QP problems is enormous. Good general
books on optimization which inc1ude relevant material are [13, 16]. A whole book on using
convex optimization for control design (but which does not deal with predictive control) is

[3].

46

CHAPTER 3. SOLVING PREDICTNE CONTROL PROBLEMS

3.2 is lost. Figure 3.3 shows the controller structure in this case. The controller is
nonlinear because the box labelled 'OPTIMIZER' computes a nonlinear function of
its inputs.

z(k)

T (k)

Il u(k)
OPTIMIZER

u(k)

__ -

PLANT

r---I-~

z-I

y(k)

u(k-I)

-I
z

x(klk)
'---

'I'

OB SERVER

CONTROLLER

Figure 3.3: Structure of controller with constraints and state observer.


We can say a little more about the controller structure. Suppose a particular set of
constraints is active. That is, in the QP problem (3.47)-(3.48), suppose that
(3.51)
where na is made up of those rows of n which relate to the active constraints, and Wa
is made up of the corresponding elements of w. 11 we knew before solving the problem
that these would be the active constraints, and were therefore equality rather than
inequality constraints, then we could (only in principle!) pose the optimization
problem
min 9T if!9 -

<iJT 9

subject to

(3.52)

which could, by the theory of Lagrange multipliers, be solved by solving the problem
minL(9, )

(3.53)

9,

where
(3.54)
Now
\19L(9, )
\1 L(9, )

= 2if!9 - <IJ + n~

(3.55)

= na9 -

(3.56)

Wa

3.3. CONSTRAINED PROBLEMS

47

or

(3.57)
Consequently the optimal solution would be obtained, by setting 'l L(B,)..) = 0, as

[ )..B] opt =

[2eI>

na

r]

-1 [

cp ]

(3.58)

Wa

Now recall that

n~ [ ~ 1
and eI> = 1i.. Looking back at the definitions of F, r, e, Wand 1i., it will be
seen that none of these depend on signals at time k. So the matrix which is being
inverted here is fixed, so long as a fixed set of constraints is active. On the other
hand, cp = 9 = 2eT Q&(k) clearly does depend on the signals present at time k, and
so does Wa.
We can therefore conclude that the constrained predictive controllaw is a linear timeinvariant control law, sa long as the set of active constraints is fixed. In practice
the set of active constraints changes, so we have the picture of the control law as
consisting of a number of linear controllers, each with a structure similar to that
shown in figure 3.2, and switching between them. If we could be sure that changes
of active constraint sets occurred rarely enough - and there is no reason to suppose
that this would be the case in general - we might be able to exploit this structure
to perform some analysis of the constrained controller. But this has not been done
successfully to date. Note that the number of possible active constraint sets can be
extremely large. If there are q constraints in the problem formulation (n has q rows)
then there are 2q possible sets of active constraints.

CHAPTER 3. SOLVlNG PREDICTNE CONTROL PROBLEMS

48

3.4

Problems

1. Work through the unconstrained predictive control example described on pages


50-55 of the MPC Tooibox User's Guide. (Don't just run the demo filej type in
the commands from the keyboard.) Don't worry about how the Tooibox does
the conversion from transfer function to state-space form. Also don't worry
about how the observer (= 'estimator') gain is designed (p.55) . The emphasis
for the moment is on the 'mechanical' skills of running the Tooibox.
You should read the detailed description ol the function smpccon belore/while
doing this.
2. Work through the constrained predictive control example described on pages
56-61 of the MPC Tooibox User's Guide.
You should read the detailed description ol the function scmpc belore/while
doing this.
3. Look again at Example 1.3 and Problem 5 of Chapter 1. Solve and simulate
them using the MPC Tooibox. However, the Tooibox only allows diagonal
weighting matrices to be specifiedj so change the weight to diag(1,6) (that
is, just keep the diagonal elements). Unfortunately this will not give the same
results as in the example. But it is a good exercise to see how the results difIer
for the cases
Hp = Hu = 1

Hp

= 2,

Hp

= Hu = 2

Hu

=1

4. If blocking is used, as in the Model Predictive Control Tooibox, how should the
details of equation (2.23) be changed?
5. Suppose that the cost function used in the Predictive Control formulation was
changed to include the penalty term
Hu-1

Il(k + ilk) - uref(k + i)II~(;)

;=0

in addition to the terms penalising tracking errors and control moves, where
uref denotes some prescribed future trajeetory for the plant inputs.
(a) Describe in detail the changes that would need to be made to the computations of predictions and the optimal solution.
(b) Briefly list some reasons for and against making such a modification.
6. Show that the 'filtering' observer gain L' = [O,IjT is correct for the 'DMC
scheme' for estimating output disturbances. (The point is that we previously
showed that this was the correct 'predicting' observer gain L.)

49

3.4. PROBLEMS

7. (a) If inequality (3.39) arises from the simple range constraints (3.42), show
that F takes the simple form

I
-I
I

0
0
I

-I

-I

0
0
0
0

F=
I
I
-I -I
I
I
-I -I

0
0
I
-I

What form does the vector on the right hand side of inequality (3.41)
take in this case? (Note that it is possible to reorder the inequalities so
that F takes the form of two lower-triangular matrices stacked on top of
each other in this case, each one being made up of identity matrices. This
is commonly done in the literature [40].)
(b) Put inequality (3.38) into the form W LlU(k) :S w, where W is a matrix
and w is a vector. If (3.38) arises from simple rate constraints of the form
-B(k + i) :S Ll(k + ijk) :S B(k + i), what form do Wand w take?
8. If you look at the code for function smpccon in the MPC Toolbox (using type
smpccon), you will see how the weights are forced to be diagonal before solving
for the unconstrained gain matrix KMPC. Copy the function to your own
directory, change its name to something like xxxsmpccon, where xxx are your
initials, and edit it so that you can specify arbitrary weights. Then solve
Example 1.3 and Problem 5 of Chapter 1 using your new function, this time
keeping the weights as in the example. Simulate the designs using smpcsim.

This is quite an ambitious exercise, and you may like to do it in groups of 2


or 3. It would be a good idea to make sure that your group inc/udes someone

who has some experienee of Matlab programming.


Note: Any software created or edited in this way should include initial comments such as

%Modified from smpccon by xxx at TU Delft on 20 Nov 97


% for problem 3.7 of Predictive Control course .
'l. This version allovs arbitrary veights.
Also put explanatory comments beside any changes you make. If it works you
will probably want to use it again later in the course (or even later) and you
will not remember then what you did. Do not remove any original notices
about authors, copyright etc.

50

CHAPTER 3. SOLVING PREDICTNE CONTROL PROBLEMS

Chapter 4

Step Response and Transfer


Function Formulations
The original formulations of Predictive Control, such as DMC [12, 40], used step or
impulse response models instead of state-space modeIs. The dominant commercial
produets still use these representations. GPC [11, 46] popularised the use of transfer
function models in Predictive Control; these models are the most widely-used in the
academie literature of Predictive Contro!. This chapter shows the details of using
these models in Predictive Contro!. Wherever possible, everything is related to what
has already been done with state-space models.

4.1
4.1.1

Step and Pulse Response Models


Step and Pulse Responses

The idea behind step-response models is that one can apply a step input to each input
('manipulated variabIe' or actuator) of the plant, and record the open-loop response
of each output variabIe, until all the output variables have settled to constant values.
Because of the assumed linearity of the plant, knowing the (multivariabIe) step
response allows one to deduce the response to any other input signal (vector) . This
is an easy and intuitive concept; however it does have some drawbacks:
It can only be used with asymptotically stabIe plants.

It is frequently impractical to apply step inputs - they can be too disruptive


of normal operations.
Estimating models from step responses gives a lot of emphasis to low frequencies. For feedback control other frequencies are usually more important.

51

52CHAPTER 4. STEP RESPONSE AND TRANSFER FUNCTION FORMULATIONS

In particular, step response tests estimate steady-state gains very weIl. But
steady-state gains are relatively unimportant for feedback design - the feedback changes them anyway. (However, steady-state gains are important for
certain purposes, such as sizing actuators, and steady-state optimization.)
Step response models are only adequate if all the controlled variables are measured outputs. (Otherwise one needs some other kind of model to predict how
the unmeasured outputs will behave.)
Storing multivariabIe step responses is an extremely inefficient form of model
representation, in terms of storage requirements.
There are some myths ab out step-response modeIs, particularly in the process industries, which are simply not true:
Step-response models are necessary to capture comWarning:
plicated patterns in the response.
These are
Step-response models are necessary to represent delays
false myths.
in the plant.
Mathematically, a more fundament al concept than the step response is the pulse
response. Suppose that the plant is at steady-state, with all inputs and outputs
initially at O. We apply a unit pulse at time 0 on input j :
Uj(k)

= 0 for k >

Let the response sequence of output i be

so that the vector of responses of all the outputs at time t is

We ean arrange a matrix whieh shows how each output responds to a unit pulse on
each input:

hn(t) hdt) .. .
h1m(t)
h21(t) hdt) . . . h2m (t)
H(t) =

...
[
hp1(t) hp2(t) ... hpm(t)

1
(4.1)

Now the response y(t) to an arbitrary input signal vector {u(O), u(1), . .. } is because of linearity - given by the eonvolution sum:
t

y(t) = LH(t - k)u(k)

(4.2)

k=O

(This is just the discrete-time equivalent of the convolution integral which occurs in
continuous-time linear systems theory.)

4.1. STEP AND PULSE RESPONSE MODELS

53

In principle, the sequence of pulse response matrices {H(O), H(I), ... , H(N)} can
be obtained from pulse response tests. However it is very rarely practical to perform
such tests, because unacceptably large pulse amplitudes are usually needed in order
to excite the plant sufficiently to get useful results. The sequence must be long
enough so that H(N) ::::: O. If one really performed such a test, the initial steadystate would not be at zero, and the sequence would really provide information about
the difJerences y( t) - y( -1) resulting from pulse inputs on u .
Now let us return to the concept of the step response of the plant. Consider a unit
step on input j: {Uj(t)} = (1,1,1, ... ). Using (4.2) the response of output i is:
t

Yi(t) = L hij(t - k)uj(k)


k=O
t

=Lhij(t-k)
k=O
t

= Lhij(k)
k=O

so that we can define the step response matrix as


t

8(t)

= LH(k)

(4.3)

k=O

This matrix (or perhaps the whole sequence (8(0),8(1), . .. ) - it is not clear) is
sometimes called the Dynamic Matrix of the plant, which gives rise to the name
Dynamic Matrix Control, or DMC. The sequence (8(0) , 8(1), ... , 8(N)) can be
used as a model of the plant, if N is sufficiently large that 8(N + 1) ::::: 8(N) .
Recall that in the standard formulation we use changes of the input Au(t) = u(t) u(t - 1), rat her than the input itself. We can express the output which results from
an arbitrary input sequence by using the step response matrices and the changes of
the input, instead ofpulse response matrices and the actual input as we did in (4.2):
t

(4.4)

y(t) = L H(t - k)u(k)


k=O
t

= LH(t - k) LAu(i)
k=O
t

= L H(k)Au(O)
k=O

(assuming u(O) = 0)

(4.5)

i=O
t-l

+L

H(k)Au(l)

+ ... + H(O)'u(t)

(4.6)

k=O

= L 8(t - k)Au(k)
k=O

(4.7)

54CHAPTER 4. STEP RESPONSE AND TRANSFER FUNCTION FORMULATIONS

Notice the sirnilarity in form of this expression and of (4.2) . Again, in practice we
should replace y(t) by y(t) - y(-1).
It is useful to note that the arguments t - k and k can be interchangedin (4.7) , as
usual in convolutions: let = t - k, then

y(t) =

L S(t -

k)b.u(k)

(4.8)

k=O

L S(e)b.u(t -

e)

(4.9)

k)

(4.10)

l =t
t

L S(k)b.u(t k=O

4.1.2

Relations to State-Space Models

Suppose the plant has the state-space model

x(k + 1) = Ax(k) + Bu(k)


y(k) = Cyx(k) + Dyu(k)

(4.11)
(4.12)

and suppose that x(O) = o. Now apply a pulse input vector, so that u(O) =I 0, but
u(k) = 0 for all k > o. We get the following sequence of states and outputs:

x(O)
x(1)
x(2)

=0
= Buo
= ABu(O)

y(O)
y(1)
y(2)

= Dyu(O)
= CyBu(O)
= CyABu(O)

(4.13)

x(k)

= Ak-l Bu(O)

y(k)

= CyAk-l Bu(O)

(4.16)

(4.14)
(4.15)

It is dear from this sequence that the pulse response matrix sequence is given by

H(O) = Dy
(which is often 0)
H(1) = CyB
H(2) = CyAB

(4.17)

H(k) = CyAk-l B

(4.20)

(4.18)
(4.19)

The matrix CyAk-l B is called the k'th Markov parameter of the state-space model.

4.1. STEP AND PULSE RESPONSE MODELS

55

From this we immediately get the step response sequence, using (4.3), as

S(O) = Dy

(which is often 0)

(4.21)

S(l) = CvB + Dy
S(2) = CyAB + CvB + Dy

(4.22)

(4.23)

k-l

S(k) =

L CyAiB + Dy

(4.24)

i=O
k-l

=Cy ( ~Ai

(4.25)

B+Dy

(4.26)

Now, if you look back at equations (2.23) and (2.27) , and at Problems 5 and 6 of
Chapter 2 - and remembering that here we must assume that y = z - you will see
that most of the expressions appearing in the matrices required for computing the
predictions needed for Predictive Control in fact involve the step response matrices.
In particular, recalling (3.5):
Z(k) = \IIx(k)

+ Tu(k -

and the definitions of the matrices Tand

T=

and

1) + eDU(k)

e, we see that

S(Hw)

S(H~ + 1)

]
(4.27)

S(Hp )

o
o
S(l)
S(2)

8=

S(Hp -1)

S(Hp

Hu

(4.28)

+ 1)

So we can immediately use the results from Chapter 2 for prediction, and those from
Chapter 3 for obtaining a solution, if we have a step response model of the plant.
WeU, not quite immediately, because the predictions in Chapter 2 made use of the
state x(k). With a step response model we do not seem to have a state, so we need
to replace x(k) with something else. The state of a system summarises its 'past

56CHAPTER 4. STEP RESPONSE AND TRANSFER FUNCTION FORMULATIONS


history' - ifyou know x(k) you don't need to know anything that happened before
time k in order to predict its future behaviour. But now we do not have a state
accessible, so it is reasonable to expect that we will have to use 'old' information,
ab out what happened to the system before time k - in principle we needto look
infinitely far back into the past.

4.1.3

Pre di ct ion Using Step Response Model

In order to see what exactly we should do, it is easiest to start from first principles.
Given that the only model that we have of plant behaviour is the step response
(matrix) sequence {S(O), ... , S(N)} (by assumption) - or, equivalently, the impulse
response sequence {H(O), . .. ,H(N)}, and no disturbance model for the time being,
we ean form predietions of future outputs, as:
00

2(k + jlk)

= fj(k + jlk) = LH(i)(k + j

- i)

(4.29)

i=l

where the input sequence {} eonsists ofknown inputs from the past and predicted
inputs in the future:
ifi < k,
if i 2: k.

_.
{U(i)
u(t) = (ilk)
Sinee we assume that H(i)

(4.30)

0 for i > N we approximate this prediction by

2(k + jlk)

=L

H(i)(k + j - i)

(4.31)

i=l

N
=

L H(i)u(k + j - i) + LH(i)(k + j - ilk)


i=j+1
i=1

(4.32)

i~1H(i)U(k+j-i)+ tH(i) [U(k-1)+ ~~(k+j-i-elk)]


(4.33)
N

H(i)u(k + j - i) + L H(i)u(k - 1) +

i=j+1
H(l)~ft(k

i=1

+j

- 11k)

+ [H(l) + H(2)1~(k + j

- 21k)

+ . .. +

[H(l) + H(2) + .. . + HU)l~(klk)

= 2:1=1 HU)

Now, recalling that SU)

(if we assume H(O)

E H(i)uU i=1

(4.34)

= 0), and that

i)

= E S(i)~uU i=1

i)

(4.35)

4.1. STEP AND PULSE RESPONSE MODELS

57

we can write the prediction as


N

2(k

+ jlk) =

S(i)~u(k + j - i) + S(j)u(k - 1) +

L S(i)~(k + j -

ilk)

i=l

i=j+1

(4.36)
Now from equation (2.23) we had (using the relations derived in the previous subsection, and remembering that z = y in this section):
j

2(k

+ jlk)

= CyAjx(k) + S(j)u(k -

1) +

L S(i )~(k + j -

ilk)

(4.37)

i=l

The second and third terms are the same in both cases. So we see that the term

(4.38)

which appears in the prediction when a state-space model is used must be replaced
by the term

S(Hw
S(Hw

+ 1)
+ 2)

S(Hw
S(Hw

+ 2)
+ 3)

S(Hp

+ 1)

S(Hp

+ 2)

S(N -1)
S(N)
S(N)

S(N)

~u(k
~u(k -

S(N) ] [
S(N)

S(~)

1)
2)

~u(k + ~w -

N)
(4.39)

Not surprisingly, one must have N > Hp. In addition, one must store the last N -Hw
input moves (or input values) . This gives a striking illustration of the 'efficiency' of
state-space models at representing the past history of a system.
A matrix such as this, with blocks along 'anti-diagonals' being the same, is called
a block-Hankel matrix. Such matrices appear frequently in systems theory, usually
when relating 'past inputs' to 'future outputs', as here.
The only disturbance model commonly used with step-response models is the 'constant output disturbance' model that was treated in Section 2.3.2, and the disturbance is estimated using the 'DMC scheme' described there. The disturbance is
simply estimated as the difference between the measured and the predicted outputs:

d(klk) = y(k) -y(klk - 1),

(4.40)

it is assumed that it will remain the same over the prediction horizon:

d(k

+ jlk)

= d(klk)

(4.41)

58CHAPTER 4. STEP RESPONSE AND TRANSFER FUNCTION FORMULATIONS

and this estimate is just added on to the prediction obtained previously:


N

2(k

+ jlk)

S(i)~u(k + j - i) + S(j)u(k - 1) +

i =j+l
j

+L

S(i)~(k + j - ilk) + d(k + jlk)

(4.42)

i=1

Since we are now using an input-output model, there is no alternative to assuming


a disturbance which acts directly on the inputs or outputs. But it is not essential to
assume that such a disturbance remains constant . For example, one could assume
an exponentially decaying output disturbance:
d(k

+ jlk)

= aid(klk)

with

< a < 1

(4.43)

The main reason why a constant disturbance is commonly assumed is that this
leads to integral action in the controller, as we shall see later in the course. More
complicated disturbance models can be handled much more systematically when one
uses state-space or transfer function modeIs.

4.1.4

State-Space Models From Step Responses

There is really no good reason for working with step (or pulse) response modeIs. If
you have such a model, you can easily obtain a state-space model which repro duces
the step response exactly, and you will not have lost anything. But this model will
be of large state dimension - N x min(m,p) if the plant has minputs, p outputs,
and you want to match N step response matrices. Usually it is possible to get an
approximate model of much lower state dimension, which matches the step response
matrices very closely. This subsection will describe one way in which this can be
done.
First we start with a very simple method of getting state-space modeIs, best described by an example.
Example 4.1 Consider an example which is simple enough to work through by
hand. Suppose we have a 1-input, 1-output (SISO) system with step responses
S(O) = 0, S(I) = 0, S(~) = -1, S(3) = +2, S(k) = S(3) for k > 3. Note that
S(I) = shows that this system has a delay between the input and output. The
corresponding pulse responses are H(O) = 0, H(I) = 0, H(2) = -1, H(3) = +3,
H(k) = for k > 3. Since the pulse response becomes 0 after 3 steps and we have
only 1 input and output, we need at most 3 stat es. Since we want an 'FIR' model,
we know that all the eigenvalues of the 'A' matrix will be at O. 80 a suitable (but
not the only) choice is

4.1 . STEP AND PULSE RESPONSE MODELS

59

This does not determine Band G uniquely, but try

(This combination of A and B is known as the controller form of a state-space model


[19).) Now G = [Cl, C2, C3] is determined uniquely from the equations:
GB

= C3 = 0

GAB = C2 =-1
GA 2B=Cl=3
namely G = [3, -1,0] . And D = 0 since H(O) = O.
A state-space model for any SISO system can be obtained from step response data
in this way. Even for a multivariable system it is possible to use this method for
one input at a time, and then combine the I-input models. However for large N,
and with more than one input and output, numerical problems begin to arise. And
models obtained in this form (the 'controller form ') tend to have numerical problems.
A better practical algorithm is the following. Recall from subsection 4.1.2 that the
impulse response matrices are related to the state-space matrices by

H(k) _
-

{DGAk - 1B

(k =
(k

0)

> 0)

Hence we have the following relationship:

.....l

[ gB

g:''J.l

[[:, 1IB,AB,A'B,I

(4.44)

(4.45)

That is, the block-Hankel matrix built up from the pulse response matrices factorises
into the product of the (extended) observability and controllability matrices. Since
each of these has rank n for a minimal state-space system of state dimension n, the
block-Hankel matrix must also have rank n.
Given a set of step response matrices 8(0), ... ,8(N), we obtain a corresponding set
of pulse response matrices H(O), ... ,H(N), and assemble them into a block-Hankel
matrix, as shown in (4.44). The rank of this matrix will usually be large. But it is
usually 'close' to a matrix of much lower rank. The idea now is to approximate it by

60CHAPTER 4. STEP RESPONSE AND TRANSFER FUNCTION FORMULATIONS

Mini-Tutorial: The Singular Value Decomposition


Let M be any matrix of dimensions p x m. It can always be factorised as
(4.46)

where UUT = lp, VV T = lm, and ~ is a rectangular matrix of dimensions p x m which has
non-zero entries only on its leading diagonal. For the case p < m it looks like:

~=

[~.

...

172

...

0
0

0
0

I7N

II

and 171 ;::: 172 ;::: .. . ;::: I7N ;::: O. This factorisation is called the Singu/ar Va/ue Decomposition.
The u's are called the Singu/ar Va/ues of M .
The number of positive (non-zero) u's is the rank of the matrix. If one replaces ~ by ~n,
in which I7n+l, I7 n +2, . . . ,I7N are replaced by zeros (where n < N), then the matrix

has rank n. Furthermore the matrix Mn is the best rank-n approximation to M, in the
sense that the error IIM - MnllF = I7n+l is the smallest possible among all rank-n matrices.
(IIXIIF denotes the Probenius norm, which is just the square root of the sum of the squares
of all the elements of X: IIXIIF = Vtrace(XTX) .)
The SVD can be computed extremely reliably, even for very large matrices, although it
does involve some heavy computation. The flop count increases as (min(m,p3. In Mat/ab
it can be obtained by the function svd:
[U,S,V] = svd(M)
The SVD is of great importance in numericallinear algebra [17], and in multivariabie robust
control theory [26, 52).
The Moore-Penrose pseudo-inverse of Mis obtained from its SVD as
(4.47)

where ~t is obtained from ~ by replacing each positive Ui by I/Ui .


The largest singular value,

171,

is an induced norm of M :
(4.48)

This is the origin of the importance of the SVD in robust control theory.

4.1. STEP AND PULSE RESPONSE MODELS

61

a lower-rank matrix, factorise it into two low-rank matrices, and compute A, B, and
C from these. The essential tooI for doing this is the Singular Value Decomposition
or BVD - see the Minitutorial.
Suppose that the available pulse response matrices are assembied into an 'anti-upper
triangular' matrix as follows:
H(l)

H(2)

H(2)
H(3)
(4.49)

?iN =

H(N)

Now obtain an BVD of this matrix:


(4.50)

This has rank N x min(m,p) . But the singular values usually approach zero very
quickly, so that ?iN is usually close to a matrix of lower rank. Somehow choose a
valuen < N x min(m,p). This step is not rigorous, but for example one can choose
n such that Un < Ul/lOO, or some similar (heuristic) criterion. It is sometimes
suggested that one should choose n such that there is a significant 'gap' between U n
and U n +1. but with real data no such gap is usually evident. Let ~n be the result
of replacing U n +1, Un +2, ... in ~ by zeros.
Now we have
(4.51)

as a rank-n approximation to ?iN, and we can factorise it as follows: define

on
= U~I/2
[ In
nO

(4.52)

and
(4.53)

where ~lj2 is the same as ~n, but with each


n columns, r n has n rows, and

Ui

replaced by

,.;ui.

Note that On has


(4.54)

Now the idea is to find the A,B and C matrices of an n-state model, which have On
and r nastheir observability and controllability matrices, respectively.
Finding Band C is easy: just take B as the first m columns of r n, and take C
as the top p rows of On. Finding A is almost as easy. Notice that if an (exact)
observability matrix 0 is 'shifted upwards' by p rows to form the matrix ot, then

62CHAPTER 4. STEP RESPONSE AND TRANSFER FUNCTION FORMULATIONS

nt = nA. 80 if we obtain n~ from nn by shifting it upwards by p rows, then we


ean estimate a suitable A by solving the equation
(4.55)
This equation is usually overdetermined, so there is no exact solution, but it ean be
solved in a least-squares sense. It ean be shown that the least-squares solution is
given by

(4.56)
where

ut is the same as U, but shifted upwards by p rows.

The algorithm described here is due to Kung (21) and to Zeiger and MeEwen (51).
It ean be shown that if n is taken as the largest possible value, namely n = N x
min(m,p), then the state-spaee model obtained reproduces the pulse response (and
henee the step response) exaetly, and all the eigenvalues of A are then at zero, so
that it is a 'deadbeat ' or 'finite impulse response' model.

Example 4.2 Applying this method to the problem of Example 4.1, with n

= N = 3,

gives

A=

-0.7021
0.5117 -0.0405]
-0.5117
0.0023
0.4807
[ -0.0405 -0.4807
0.6998

C = [1.0430,1.2499,0.6887)

B =

1.0430]
-1.2499
[ 0.6887

D=O

The reader can check that it reproduces the original step response exactly.

An interesting property of this algorithm is that, onee one has a model for a given
value of n, it is possible to obtain the model for a smaller value, say q, by 'truncating'
the matrices: Aq = An(1 : q,1 : q), Bq = Bn(1 : q, :), and Cq = C n (:, 1 : q),
using Matlab notation. 80 the heavy eomputation involved in finding the SVD
has to be done only onee, and a range of Approximate linear realization of given
dimension via Ho's algorithm models is then easily obtained. For more details of
this, and the associated topic of approximation by balanced truncation or balanced
model reduction, see [26, 52).

Example 4.3 Figure 4.1 shows the step responses of a high-fidelity nonlinear simulation of a3-input, 2-output distillation column. The solid curves show the original
responses, while the dotted curves show the approximate responses achieved by a
model obtained using the algorithm described above, with only 8 states. Note that
some of the responses have quite intricate shapes; yet a model with such a low number
of states was able to reproduce these quite accurately.
The original step response data was sampled at 10 second intervals, and 250 samples
were available (N = 250). A model of largest possible state dimension was first

4.1. STEP AND PULSE RESPONSE MODELS

63

10

2.45r---~---~------'

0.287r---~---~--~

2.43

0.286

2.42
2.41
2.4
100

200

100

300

1.215

200

300

step response trom u1 to y2

step response trom u1 to y1

10

r=--------=::::::::::::::::::::::::==:-i

1.21

1.2,

100

200

300

100

10

200

300

step response trom u2 to y2

step response trom u2 to y1

1.2r----~---~-----,

1 . 18~
.. . . . . . . . . . ..

1.16

1.44
1.14
1.435

1.12
1.1 0

100

200

step response trom u3 to y1

300

100

200

step response trom u3 to y2

Figure 4.1: Step response of 3-input, 2-output distillation column. Solid curves:
original responses. Dotted curves: responses of 8-state model.

300

64CHAPTER 4. STEP RESPONSE AND TRANSFER FUNCTION FORMULATIONS

obtained, namely one with min(2, 3) x 250


step responses exactly, as expected.

= 500

states. This matched the original

Figure 4.2 shows the first 15 singular values (of 500) of the block-Hankel matrix 1lN .
Assessing these 'by eye ' indicates that about 8 states should be enough for a good
approximation. The 8-state model was obtained by following the algorithm described
above, with n = 8.
160
0

140
120
100
80
0

60
40

20
o
0
Q 0
9
0
Q
Cl
%L---~--~4----6~--~~~10~~1~2~~14~~16

Figure 4.2: The first 15 singular values of 11250 for the example.

The data for this example is available in the DAISY database of data used for various
system identification exercises, which is available on the World- Wide Web at URL:
http://www . esat .kuleuven . ac.be/sista/daisy/ . A brief description ofthe data,
and relevant references, are available in DAISY.

The state of the state-space model constructed above does not have any direct
physical interpretation. It is possible to otain state-space models from step reponses
in such a way that the elements of the state vector do have physical interpretations,
so long as one does not approximate the model by one with a smaller state vector.
For example, Lee et al give a way of constructing a state-space model in which
the state variables can be interpreted as future outputs [23] . In [6] an alternative is
given, in which the state vector contains past values of the plant outputs and control
moves.
Note that the procedure:

step tests

step responses

state-space model

4.2. TRANSFER FUNCTION MODELS

65

is not a particularly good one. In general it is better to go directly from step


or other tests (or possibly normal operating data) to a state-space model, using
methods of System Identification which have good statistical properties [25, 37J.
Recently, subspace methods have been developed which are particularly effective for
multivariabie systems [38); these are in some ways similar to the algorithm described
in this section, but they can be used with arbitrary input-output data, not just with
step or pulse responses.

4.2

Transfer Function Models

4.2.1

The Basics

We will use z to denote both the 'time advance' operator and the complex variabie
used with z-transforms. Since z-l is the transfer function of a one-step time delay,
there is no inconsistency between writing w(z) = z-ly(z) as the z-transform of a
delayed version of the signal {y(k)}, and writing w(k) = z-ly(k) to denote that
w(k) = y(k - 1). For most purposes the interpretation of z-l as a time delay
operator will be the one required. (Many texts use q-l to denote the time delay
operator, perhaps to emphasise this interpretation rather than the transform one.)
We will take the plant to be described by the input-output difierence equation
(4.57)
In the case of a SISO ('single-input, single-output') plant A(z-l) and B(z-l) are
the polynomials:
A(Z-l) = 1 + alz-1 + ... + anz- n
(4.58)
B(z-l) = bo + b1z- 1 + ... + bnz- n
(4.59)
so that (4.57) can also be written as the difierence equation

y(k)

+ aly(k -

1) + .. . + any(k - n) = bou(k - d)

+ b1u(k - d -

1) + ... + bnu(k - d - n)
(4.60)

The input-output delay d has been 'pulled out' of the polynomial B(z-l). This is
convenient, but not essential.
We can also define the polynomials (z) and (z) as

(z)
(z)

= zn A(z-l) = zn + alZn-1 + ... + an


= zn B(z-l) = bozn + b1z n- 1 + .. . + bn

(4.61)
(4.62)

If we take z-transforms of the input and output sequences, then we obtain the
transfer-function description

y(z)

= P(z)(z) = z_d B (Z-l) = z-d~(Z)


A(z-l)

A(z)

(4.63)

66CHAPTER 4. STEP RESPONSE AND TRANSFER FUNCTION FORMULATIONS


For MIMO ('multi-input, multi-output') systems, A(z-l) and B(z-l) are the polynomial matrices:

A(Z-l)

= lp + A 1 z- 1 + ... + Anz-n

B(z-l) = Bo

+ B1

z- 1

(4.64)

+ ... + Bnz-n

(4.65)

where each Ai is a matrix of dimensions p xp, and each B i is a matrix of dimensions


p x m. Polynomial matrices (z) and (z) can be defined as

(z) = zn A(z-l)

(4.66)

(z) = znB(z-l)

(4.67)

and we now have a transfer function matrix description

Note that pulling out the delay d is not very useful in the MIMO case, because
in general each input-output channel may have a different delay. However, setting
d = 1 represents the assumption that the input u(k) does not affect y(k) - there
is no 'direct feed-through'. These polynomial matrix and transfer function matrix
descriptions are much less useful and convenient than in the SISO case, although
in principle nearly everything can be carried over into the MIMO case. We will
therefore confine ourselves to the SISO case in this Chapter.
It is important to be able to move between transfer-function and state-space de-

scriptions. Suppose we have a standard state-space model:

x(k + 1)

= Ax(k) + Bu(k)

y(k) = Cx(k)

+ Du(k).

(4.69)

y(z) = Cx(z)

+ D(z)

(4.70)

Take z-transforms of these:

zx(z) - x(O) = Ax(z)

+ B(z)

= 0:
x(z) = (zl -

from which we have, assuming x(O)

A)-l B(z)

(4.71)

and hence

y(z) = [C( zl - A)-l B

+ D](z)

(4.72)

+D

(4.73)

so that we have

P(z) = C(zl - A)-l B

This holds for both SISO and multivariabie systems. It can be seen that it is easy
to obtain a transfer function matrix, given a state-space model. However, it is not
easy to obtain the polynomial matrices A(Z-l) and B(z-l) in the multivariabie case.
Going in the opposite direction, from a transfer function to a state-space model, is

4.2. TRANSFER FUNCTION MODELS

67

not so straightforward, but there are algorithms for doing so (see (19), for example),
which are quite rehable in for SISO systems. Matlab's Control System Toolbox has
the functions ss2tf and tf2ss for performing these conversions.
We can also move between transfer function models and step response or pulse
response models. In fact, the transfer function is defined as the z-transform of the
pulse response, so that:
00

P( z ) = L z -kH(k)

(4.74)

k=O

= H(O) + z-l H(I) + z-2 H(2) + ...


= D + z- lCB + z- 2 CAB + ...

(4.75)
(4.76)

(where the last hne applies if we have a state-space model) . This means that, at
least in the SISO case, we can obtain the pulse response from the transfer function
by 'long division'.

Example 4.4 Consider the transfer function


1
1 - 0.7z1 - 1.6z- 1 + 0.6z- 2
Z -0.7
- 1.6z + 0.6

P(z) = z-l

Z2

(4.77)
(4.78)

By long division we can expand P(z ) as a series in z-l:

1.6z + 0.6) = z - 0.7


z2 - 1.6z + 0.6
z-1(z2 - 1.6z + 0.6) + 0.9 - 0.6z- 1
z2 - 1.6z + 0.6
0.9z- 2(z2 - 1.6z + 0.6) + 0.84z- 1 - 0.54z- 2
0(Z2 -

z2 - 1.6z + 0.6

z - 0.7
z - 1.6z + 0.6
-1
0.9 - 0.6z - 1
-+ O+ 1z + -;;---..,.--:--.,..-,z2 - 1.6z + 0.6

-+ O+ --;2::-----:--,--

-+ 0 + lz-l + 0.9z- 2 + ...

and so on.
Hence we have the pulse reponse H(O)

= 0,

H(I)

= 1,

H(2)

= 0.9,

...

We can also see from (4.74) that a finite pulse response corresponds to a transfer
function with all its poles at o.

Example 4.5 If H(O)

= 3,

P(z)

H(I)

=3_

= -2,

H(2)

= 1,

2z- 1 + lz-2

= 3z

H(k)
2

= 0 for k > 2,

- 2z + 1
z2

then

68CHAPTER 4. STEP RESPONSE AND TRANSFER FUNCTION FORMULATIONS

4.2.2

Prediction Using Transfer Functions

We can rewrite (4.60) as

y(k)

= -a1y(k -

1) - . .. - any(k - n) + bou(k - d)

+ ... + bnu(k -

d - n) (4.79)

and we can use this as the basis for prediction, if d 2: 1. (Recall that we assume
u(k) is not yet known when we predict y(k + ilk) .)
The obvious way of predicting the output is as follows:
n

y(k + 11k)

=-

Lajy(k + 1- j) + Lbj11(k - d - j)
j=1
j=O
n

y(k + 21k) = -a1y(k + 11k) -

L ajy(k + 2 j=2

(4.80)

j)

+L

bj(k + 1 - d - j)

(4.81)

j=O

(4.82)
or, in general,
n

y(k + ilk)

=-

L ajfj(k - j)
j=1

+L

bj(k - d - j)

(4.83)

j=O

or

(4.84)
where

(llk)

iU < k
iU 2: k

(4.85)

- l _ {y(l)
y() - y(llk)

iU::; k
iU > k

(4.86)

ft l _ {U(l)

( )and

Since the prediction y(k + ilk) depends on some other predicted outputs, which are
themselves obtained from measurements of past outputs, it is possible to find an
expression for y(k + ilk) which depends only on the measured outputs y(k),y(k 1),. . . (and of course, on actual past inputs and predicted future inputs) . This
saves on computation, which is particularly important in applications to adaptive
control, where the predictors - as well as the predictions themselves - have to be
computed on-line. It also gives some insight into the way the predictor design affects
the Predictive Controller.

4.2. TRANSFER FUNCTION MODELS

69

Suppose we have a polynomial Ei(Z-l), of degree no greater than i-I, (i is a positive


integer), and a polynomial Fi(Z-l), of degree n - 1, such that
(4.87)
or

Ei(Z-l )A(z-l) = 1 - z-i Fi(Z-l)

(4.88)

Multiplying (4.84) by Ei(Z-l) gives


[1 - Z-iFi( Z-l)Jii(k + i) = Z-dEi(Z-l)B(z-l)(k + i)

(4.89)

or

y(k + i) = Z-iFi(Z-l Hi(k

+ i) + z-d Ei(Z-l )B(z-l )(k + i)

(4.90)

Now notice that z-iy(k + i) is just y(k), and hence z-i Fi(Z-l )]y(k + i) involves only
measured values of past outputs. So we can write the predicted output as

which does not involve any predicted outputs on the right hand side of the equation.
All this depends on having solutions Ei(Z-l) and Fi(Z-l) to equation (4.88). This
is an example of a Diophantine equation, and much theory exists about solving such
equations - see the Minitutorial.
There is an interesting interpretation that can be made of equation (4.91). Multiply
both sides of (4.87) by B(z-l) :

.( -l)B( -1) = B(z-l) _ _i Fi(Z-l)B(z-l))


E, Z
Z
A(z-l) Z
A(Z- l)

(4.95)

Substituting this into (4.91) we get


(4.96)

(4.97)
This shows that the prediction has a 'predictor-corrector' structure. This is different
from the predictor-corrector structure used for the observer in Chapter 3, however.
Here the predictions z-d(B/A)(k+i) and z-d(B/A)u(k) are 'long-term' predictions
made on the basis of input signals only, not corrected by output measurements at
any time. In Chapter 3 the observer predicts only one step ahead, on the basis of
output measurement y(k -1), before it is corrected by the next measurement, y(k).
Nevertheless, we will be able to relate this prediction to predictions obtained by a
state observer in a later subsection.

70CHAPTER 4. STEP RESPONSE AND TRANSFER FUNCTION FORMULATIONS

Mini-Tutorial: Diophantine Equations


A Diophantine equation is one of the form

A(Z- l )X(z-l)
or

X(z-l)A(z-l)

+ B(Z-l )y(z-l) = C(z-l)


+ y(z-l)B(z-l) = C(z-l)

(4.92)
(4.93)

where all the variables are either polynomials or polynomial matrices. We will consider
only the scalar case, when they are all polynomials, in which case these two equations are
the same. a In these equations, A(z-l), B(z-l) and C(z-l) are assumed to be known, while
X(z-l) and y(z-l) are unknown polynomials.
If X o and Yo is a pair of solutions of the Diophantine equation, then it is clear that X =
X o - B 2P and Y = Yo + A 2P is also a pair of solutions, if A 2 and B 2 are polynomials such
that B2/ A 2 = B / A, and P is any polynomial. This follows since

So it is clear that the solution (pair) of a Diophantine equation is not unique. However,
a solution in which either X or Y has the smallest possible degree is unique, and can be
obtained as follows. Find polynomials Q and f such that Yo = A 2 Q + f . (This is itself a
Diophantine equation, but simpler than the general one.) These can be obtained by 'long
division': Q is the quotient, and f the remainder, ofthe division YO/A2 . The degree ofr is
necessarily smaller than the degree of A 2. Hence we have Y = Yo + A 2P = A2(Q + P) + f .
Now take P = -Q to make the degree of Y as small as possible. Then we have the unique
solution pair X = Xo + B2Q, Y = f . Similarly, a solution pair in which either X or Y has
a specified degree is unique.
An important special case of Diophantine equations arises if C(Z-l) = 1, in which case the
equation is also known as the Bezout identity. This has a solution if and only if A and B
are co-prime - have no common factors . For suppose that they did have a common factor
D , so that A = PD and B = QD. Then the Bezout identity would be D(PX + QY) = 1,
which is impossible unless D = 1. Because of this, the Bezout identity plays a large role in
the theory of feedback stability, and in system theory.
When used for predicting stochastic processes we usually have B(Z-l) = z-i when finding
an i-step-ahead prediction. Rewriting the Diophantine equation as
-1

Xi(z

z-i
-1
C(z-l)
) + A(Z-l) Y;(z ) = A(z-l)

(4.94)

and imposing the requirement that Xi be of degree i-I, shows that the coefficients in X i
are the first i terms in the pulse response of the transfer function C / A. If both A and C
have degree n, then Y; must have degree n - 1. For more details see [1] . There is an efficient
recursive algorithm for computing the coefficients in X i and Y; for a sequence of values of
i [46] .
"The theory of sueh equations is essentially the same over any ring, namely an algebraic strueture whieh
is invariant under two operations, 'addition' and 'multiplieation', providing that the ring is one in which
Euclidean division is possible. Diophantus (:::J 300AD) examined sueh equations over the ring of integers. In
modern feedback theory sueh equations over the ring of stabie transfer funetion matrices are very important
[52,26] .

4.2. TRANSFER FUNCTION MODELS

4.2.3

71

Prediction with a Disturbance Model

In this seetion we will assume that the plant has an unmeasured output disturbanee,
whieh is modelled as some other signal passed through a filter with transfer function
C( z -l) / D( z -l) :
y(k) = z

(Z-l)
A(Z-l) u(k)

_d B

+ d(k)

(4.98)

C(z-l )
d(k) = D(z -l) v(k)

(4.99)

in whieh we assume that


C(Z-l) = 1 + C1Z - l
D(z-l) = 1 + d l z- l

+ ... + c"z"
+ ... + d"z"

(4.100)
(4.101)

Note that we ean take both C( z -l) and D(z- l) to be monic (their leading coefficients
are 1) , beeause the magnitude of v(k) ean be adjusted to eompensate for this if
neeessary.
This model is general enough to allow both determinist ie and stoehastie disturbanees
to be modelled, as weil as mixtures of these. Deterministie disturbanees are usually
modelled by taking C( z -l) = 1 (Ci = 0) and making only the first few values of v(k)
non-zero.
Example 4.6 Constantoutputdisturbanee. lfwe take C(z-l) = 1, D(z) = 1-z- l ,
and v(O) = vo, v(k) = 0 for k > 0, then we get
d(k) - d(k - 1)

= v(k)

(4.102)

and hence d(O) = vo , d(l) = vo, d(2) = vo, .... That is, we have modelled a
constant output disturbance of unspecified magnitude voo 80 this would be equivalent
to the dis turban ce model assumed by the DMC seheme.

Example 4.7 Sinusoidal disturbanee. To model a sinusoidal output disturbance of


known frequency wo, but unknown amplitude and phase, we can take C( z -l) = 1
and
D(Z-l) =

(1 - z-lejwoT,) (1 _ z - le- jwoT, )

= 1- 2eos(woT.) z -1

where T . is the sampling interval, and v(O)


of d(k) is given by

+ z -2

= vo,

v(l)

(4.103)
(4.104)

= Vl.

Then the z -transform

ii

Vo + V1 Z (z)= 1-2eos(woT.)z-1+z-2

(4.105)

which is the z -transform of a signalof the form


d(k) = Aeos(woT. k

+ 4;)

(4.106)

72CHAPTER 4. STEP RESPONSE AND TRANSFER FUNCTION FORMULATIONS

To model a stationary, zero-mean stochastic disturbance we can take v(k) to be


a 'white noise' process, namely E{v(k)2} = (12, E{v(k)v(k = 0 for i # 0,
the probability distribution of v(k) being the same for all k, and each v(k) being
independent of v(i) if i # k . Then, if D(z -l) is an asymtpotically stable transfer
function, d(k) will be a stationary process with spectral density
2IC(e- jwT' )1 2
(4.107)
<I>dd(W) = (1 ID(e- jwT')1 2 '

in

Note that since IC(e- jwT' )1 2 = C(e-jwT)C(jwT. ), it is always possible to choose


C( z -l) such that all its roots He inside the unit disk - that is, without restricting
the spectral densities which can be modelled in this way. Also, for the same reason,
factors of z -j in C(z-l) do not affect the spectral density.
Example 4.8 Disturbances due to crew movements on board a spacecraft can be
modelled approximately as a stochastic process with aspectral density which has
a peak value at Wo = 0.12 rad/ sec, and becomes zero at low frequencies. With a
sampling interval T. = 0.6 sec, we have woT. = 0.072 rad. Hence choose
C( z -l)
D(Z-l)

1 - z -l
(1 - pe-jO.072z-1 )(1 - pe+jO.072z-1)

with p < 1 determined by the sharpness of the peak. Figure


density for p = 0.98 and (1 = 1.

4.3 shows

(4.108)

the spectral

Slngular Values
~r-----------'-----------'----------''----------'

25
20
15

iD
~

10

~
~

.~

<J!

-5
-10
-15

10
Frequency (rad/sec)

Figure 4.3: Spectral density of crew disturbance, modelled by (4.108) with p = 0.98 .
(Note: This model of crew disturbances is probably more appropriate as a model of
input dis turban ces (eg torques) than of output disturbances - but it illustrates the
point. The details may not be correct for real crew disturbance spectra.)

4.2. TRANSFER FUNCTION MODELS

73

When a disturbance model of the form (4.98) - (4.99) is present, solutions of a


Diophantine equation can again be used to obtain the predicted outputs. Now we
assume that we have polynomials Ei(z -l) and Ff(z-l) which solve the equation
C( z -l) = E~(z -l)
D(r 1 )
'

+ z _i F f(z-l)
D(r 1 )

(4.109)

with E;(z -l) of degree at most i-I, and F:(z-l) of degree at most v - 1. That is,
these polynomials solve the Diophantine equation
(4.110)
Note that in this case the first term on the right hand side is the polynomial C(z-l),
whereas in (4.88) it was 1. This difference arises because the plant input u is known,
whereas the disturbance v is not. Using (4.109) in (4.99) we get
dek

+ ilk)

= [E;{z-l)

+ z-i~g~:j] v(k + ilk)

(4.111)

+ ilk) + ~g~:j v(klk)

(4.112)

= E;{z-l)v(k

Now the difference from our previous use of the Diophantine equation is that although we have split the prediction up into 'future' and 'past' terms, in this case we
do not know the 'past' process {v(k)}. This has to be estimated somehow.
From (4.98) and (4.99) we have
(Z-l)
A(r 1 ) u(k)

_d B

y(k) = z

C(z-l)

+ D(r 1 ) v(k)

(4.113)

Consequently we can estimate v(k) as

D(z-l) [
-d B(z-l)
]
v(klk) = C(r 1 ) y(k) - z A(rl) u(k)
D(z -l)

= C( z -l) [y(k) - y(k)]

(4.114)
(4.115)

where i)(k) is the output prediction obtained by filtering the input u through the
model of the plant. Here we see the importance of ensuring that C(z-l) has all its
roots inside the unit disk - if it did not, this estimator would be unstable.
There is an ambiguity in the interpretation of (4.114) . We can interpret it as meaning
that v(klk) should be generated as shown in Figure 4.4. In this case i)(k) is a 'longterm' prediction of y( k), obtained without correction by actual measured past values.
This is corrected at only one point in time, namely k, by the measurement y(k), and
the corrected value is filtered further, by D / C.
An alternative interpretation is obtained by multiplying through by C( z -l )A(z -l) ,
which gives
(4.116)

74CHAPTER 4. STEP RESPONSE AND TRANSFER FUNCTION FORMULATIONS

y(k)

Figure 4.4: Generation of v(klk) - one interpretation.

This can be solved as a difference equation, with the interpretation that z-iv(klk) =
v(k - ilk - i) . (Which is not the only possible one - for example one could use
the interpretation z- iv(klk) = v(k - ilk), using some 'smoothed' estimate of v(k i).) These two interpretations are not the same; different estimates are obtained.
The interpretation shown in Figure 4.4 seems to be more 'correct' , while that of
(4.116) seems more sensible, since more information is being used, because past
measurements y(k) , y(k - 1), ... are being used at time k, rather than y(k) only.
It seems that in practice the difference equation interpretation is the one used, and
that is what we shall assume.
Now we have for the 'i-step-ahead' predicted output:
(4.117)

(4.118)
where we have used (4.116) to get the second equality.
Before getting too alarmed at this expression, the reader should note that usuallY
some simplifications are introduced, as for example in the next subsection.
This prediction includes the term EHz- 1 )v( k + i Ik), which contains only predictions
of future values of v(k) . The best way of making these predictions should depend
on the assumptions being made about the nature of the disturbance. However, it
is not sensible to assume that v(k) is a signal which is predictable in any way because if that was the case, then such a belief should already have been reflected
in the choice of the C and D polynomials. If we believe that the disturbance d(k)
is deterministic, then that usually corresponds to the belief that v(k) = 0, as we
saw in the earlier examples. In such a case the estimate v(klk) serves as an 'initial
condition' (together with the previous one or two estimates, perhaps) , but it is then
appropriate to assume that v(k + ilk) = 0 for i > O.
On the other hand, if the disturbance is assumed to be stochastic, then one can

4.2. TRANSFER FUNCTION MODELS

75

consider predicting v(k + i) in such a way as to optimise the prediction y(k + ilk) in
some way. The usual choice at this point is to go for a minimum varianee prediction.
The idea is to form the prediction in such a way that the variance of the error between
the predicted and the actual values, E{lly(k+i)-y(k+ilk)W} is as small as possible.
But there is a theorem in probability theory whieh says that the minimum varianee
prediction is obtained by choosing y(k+ilk) = E{y(k+i)lk}, namely the conditional
mean value, the conditioning being on all the information available at time k. (See
[33, 1] for more details.) Now the conditional mean of a sum of terms is the sum
of the conditional means, so we should choose v(k + i) = E{v(k + i)lk}. But in
the stochastic case {v(k)} is assumed to be a zero-mean white-noise process, so
its conditional mean is the same as its unconditional mean, namely 0, so we set
v(k + i) = O. Thus finally we have the minimum varianee predictor:

-(k 'Ik)
-d B(z-l) - (k
y +t
= z A(z-I) U

+ t') +

F[(z-l) [
-d B(Z-I)
]
+ C(z-l) y(k)-z A(Z-I)U(k)

(4.119)

For the purpose of solving the Predictive Control problem, it is neeessary to separate
out the 'free response' part of this - the predicted response which would occur if
t:.(k + ilk) = 0 - from the 'forced response', namely that part which depends on
t:.(k + ilk) . In other words, it is necessary to separate out the part whieh depends
on the past from that which depends on future inputs. This ean be done by solving
another Diophantine equation.
Since the only signal which crosses over the 'past-future' boundary in the prediction
(4.119) is , and that is filtered by the transfer function z-d B / A, we need to extract
the first i - d + 1 terms of the impulse response of B/A when finding y(k + ilk).
(Only i - d + 1 because the signal is delayed by d steps, so we do not need to consider
inputs which occur later than k + i - d. Our 'past-future' boundary is between k - 1
and k.) Thus we need to find the solution pair (Ei(Z-I), Fi(Z-I)) of the Diophantine
equation

B(Z-I) = E-( -1)


A(z-l)
, Z

+ -(i-dl Fi(Z-I)
Z

A(z-1 )

(4.120)

with the degree of Ei no bigger than i - d. (Note that this is not quite the same as

76CHAPTER 4. STEP RESPONSE AND TRANSFER FUNCTION FORMULATIONS

(4.87).) Substituting this into (4.119) we get


y(k

+ ilk) = z-d

[Ei(Z-l)

+ z-(i-d) ~i;~:

Ff(z-l) [

j]

(k + i)

-d B(z-l)

C(Z-l) y(k)-z

(4.121)

A(z-l)u(k)

= !3i(z-l )(k + i - d), +

future
Fi(Z-l)
A(z-l) u(k -1)

Ff(z-l) [

+ C(Z-l)

y(k) - z

_dB(Z-l)]
A(Z-l) u(k)

(4.122)
#

past

..

future
Fi(z-l) k
z-l Fi(Z-l )C(z-l) - z-d Fi(z-l )B(z -l) k
C(Z-l) y( ) +
A(Z-l )C(Z-l)
u( )

..,

"

past

(4.123)
In order to express the set of output predictions y(k + ilk) for i = 1, ... ,Hp in
a matrix-vector notation similar to that of (2.23), it is neccessary to compute the
filtered signals (I/C)y and (I/AC)u, which can be done by computing one new term
of each signal at each step. Since each prediction (that is, for each i) depends on
polynomial operations on these filtered signals, it is a linear combination of past
values of them, and hence the whole set of predictions can be given a matrix-vector
representation. For details see [46, 2, 33, 6]. There are several ways of arranging
these computations.
Note that using the minimum variance predictions does not necessarily lead to a
minimum mean value of the cost function (2.9) , in the stochastic case. But that
is what is generally done; as in the state-space case, this is in general a heuristic
application of the 'separation' or 'certainty equivalence' principle.
Example 4.9 Suppose that
A(Z-l) = 1 - 0.9z- 1 ,
C(Z-l) = 1 + 0.5z- 1 ,
d=1

B(Z-l) = 0.5
D(z-l) = 1 - z-l

Solution of (4.109): E~(z-l) is to be of degree 0, namely a constant. We have


1 - z-l

+ 1.5z- 1

1- z

1
=

1.5z- 1

+ -1---z---1

77

4.2. TRANSFER FUNCTION MODELS

so
E~ = 1,

F{ = 1.5

Solution of (4 .120):
B(z-l)
A(Z-l)

-- =

0.5(1 - 0.9z- 1 + 0.45z- 1


0.45z- 1
= 0.5 + .,------::-::---:1 - 0.9z- 1
1 - 0.9z- 1

so

El = 0.5,

4.2.4

The GPC Model

In the case of Generalised Predictive Control, or GPC, the disturbance is usually


assumed to be stochastic, and the denominator polynomial D(z-l) which appears
in (4.99) is always
(4.124)
Note that although a transfer function description of the plant is being used, difficulties wil! arise if the stochastic interpretation is adopted for the disturbance and
the plant is unstable. Even with a stabie plant, the disturbance is not stationary
if this model is used, because D(z-l) has a root at 1 - this implies that, even if
v(k) is white noise, the disturbance d(k) wil! be a 'random walk'. A justification
for this choice of disturbance model is provided by the following, non-stochastic,
argument. If disturbances enter 'inside' the plant, rather than at its output - think
of disturbances entering the state equations, if we had any - then they wil! appear
at the output of the plant as if they had been filtered through a transfer function
of the form C(z-l)/A(z-l) . Since most realistic disturbances do in fact arise in
this way, it seems reasonable to include A(z-l) as a factor of D(z-l) . Including the
factor (1- z-l) in D(Z-l) allows constant disturbances to be represented, which is a
rather common and important case. Furthermore, allowing v(k) to consist of pulses
occurring at random times leads to a disturbance which is piecewise-constant and
jumps at random times. This is often arealistic representation of phenomena such as
load disturbances in a plant - for example, a sudden increase in load torque, which
reduces the effective torque available from a controller. AIso, and very importantly,
including the factor (1 - z-l) leads to the controller having 'integral action' . One
could make the disturbance model more elaborate, but using (4.124) leads to some
nice interpretations and keeps things relatively simpie.
Returning to (4.116), substituting (4.99), and cancelling A(z-l) from each term
gives
(4.125)

78CHAPTER 4. STEP RESPONSE AND TRANSFER FUNCTION FORMULATIONS


and using the notation b.y(k) = (1- z-l)y(k) - gives

analogously to our use of b.u(k)

(4.126)
from which v(klk) is computed. Then the 'minimum variance' output prediction is
obtained as
(4.127)
(4.128)
where we have put v(k + ilk) = 0 for i > 0 to get the second equality. Substituting
in for v(klk) from (4.126) gives the same equation as (4.119).

4.2.5

State-Space Interpretation

Recall that in Chapter 2 we had the following equation, which describes the evolution
of the estimated state in an observer:

x(k + 11k) = (A - LCy)x(klk - 1) + B(klk)

+ Ly(k)

(4.129)

Taking z transforms, we get


~(z )

= [zI -

(A - LCy)tl[Ly(z) + Bl1(z)]

(4.130)

All further predictions are based on x(k+1Ik) - for example, x(k+ilk) = Ai-1x(k+
11k) + ... . So we see that the output measurements y(k) get filtered by [zI - (ALCy)t 1L before being used to generate predictions. But in the transfer function
approach we can see, for example from equation (4.119) or (4.123), that the output
measurements get filtered by 1/C(z-1) before being used to generate predictions.
Recalling that the inverse of a matrix is given by the formula X - 1 = adjX/ det X ,
we see that we have the following correspondence between the state-space and the
transfer function formulations:
(4.131)
(Recall that factors of powers of z in C(z-1) have no effect on the spectral density
of the disturbance.)
We have the following consequences of this:
The polynomial C(Z-1) (or z V C(z-1)) in the transfer function formulation is
often called the observer polynomial. (This is true also in the 'pole- placement'
literature. )

4.2.

TRANSFER FUNCTION MODELS

79

Using the state-space formulation we can augment the model with additional
states to represent the efIects of disturbances. The dynamics of these states
correspond to the polynomial D(z-l) in the transfer function formulation, and
we can choose the observer gain L such that the observer dynamics match any
desired numerator polynomial C(z-l) .
We do not have to believe that there is a real stochastic disturbance. In either
approach we can regard the polynomial C(z-l) or the observer gain L as 'tuning parameters', which are chosen to give the Predictive Controller desirable
performance characteristics. Actually the same is true of the denominator
polynomial D(z-l), as is made evident by the cpe model, for instance.
When dealing with one signal at a a time, it is often easier to think in terms of
transfer functions than in terms of state-space models. Even in multivariable
systems, it is often enough to think of disturbances on each output being
independent of each other. In such cases some designers seem to find it easier
to think in terms of'C(z-l) and D(z-l )', but to compute and implement using
state-space methods.
Example 4.10 Returning to the crew disturbance example (Example 4.8), there we
had

A state-space model equivalent to this is:

where
A _ [
d -

0
1
]
_p2 2pcos(woT.)

Cd = [-1,1]

(This actually gives C(Z-l) = z -l(1 - z-l).) We can combine this with a plant
model

as follows:

[::~Z: g]

[~

1
d

::~Z~ ]+ [ Bt ] u(k) + [ ~d

y(k) = [Cp, Cd] [

::~~~ ]

v(k)

(4.132)
(4.133)

Partitioning the observer gain matrix as L = [L~ , LIV, the complete observer gain
matrix becomes
(4.134)

80CHAPTER 4. STEP RESPONSE AND TRANSFER FUNCTION FORMULATIONS


Assuming the plant is stabie, a possible choice is Lp = 0 - that is, leave the openloop plant dynamics as part of the observer dynamics, in which case we get

(4.135)
and we can choose Ld to get any eigenvalues we like for Ad - LdCd, providing that the
pair (Ad, Cd) is observabie. ft is easy to see that we can place the eigenvalues of AdLdCd at 1 and 0 - the roots of z- l C(Z-l) - by choosing Ld = [I,2pcos(woT.)jT
for the crew disturbance example, because in this case we have
A

d-

LC

d d

0]

_p2 + 2pcos(woT.) 0

Why did we set Lp = 07 Because if the transfer function model is written in the
common-denominator form
y

k) = z-dD(z-l)B(z-l)u(k) + A(z-l)C(z-l)v(k)
A(z 1 )D(Z-l )

then it is clear that the open-loop plant pole polynomial should be included in the
observer dynamics.

This shows how we can recover the disturbance model using the state-space formulation. It also shows, however, that there is more design freedom with the state-space
formulation. For example, there is no need to choose Lp = 0; other choices are
possible. In particular, with the state-space formulation it is possible to choose the
observer dynarnics independently of the numerator polynomial of the disturbance
model. Whether this additional freedom is actually useful for the designer is debatable. If one has a physically based disturbance model, such as one for crew motions,
then it probably is useful, because C(z-l) represents known physical characteristics.
This is particularly true if one also has a statistical description of measurement noise,
because then the observer gain matrix L can be chosen optimally, using Kalman filter
theory.
There is another connection that can be made between the transfer function and
state-space formulations, through Kalman filter theory. It is known that whatever
combination of state and output noises act on a plant, a disturbance with the same
spectral density at the output can be obtained from the model
xd(k + 1)
y(k)

= AdX(k) + LdV(k)
= Cdx(k) + v(k)

(4.136)
(4.137)

which is known as the 'innnovations' representation of the disturbance [33] . In this


model, Ld is the Kalman filter gain that should be used in an observer, to estimate
the state optimally. Applying the usual formula (4.73) for obtaining a transfer
function from a state-space model, we see that
(4.138)

4.2. TRANSFER FUNCTION MODELS

81

from which we make the association ZV D(z-1) -+ det(zI - Ad), and we see that
C(z-1) is the polynomial whose roots are the same as the roots of det[Cd(zI A d)-1 Ld+I]. In the single-output case this isjust the polynomial [Cd(zI -A d)-1 Ld+
1] det(zI - Ad). This seems to be different from the association obtained in (4.131)
above. But, using the matrix inversion lemma1 it can be shown that

[zI - (Ad - LdCd)]-1 = (zI - Ad)-1[LdCd(zI - Ad)-1


from which it follows easily (using (I

[zI - (Ad - LdCd)t1 Ld

= (zI -

+ Xy)-1 X

= X(I

+ 1]-1

+ Y X)-1)

(4.139)

that

A d)-1 Ld[Cd(zI - A d)-1 Ld + Ir 1

(4.140)

The denominators on the two sides of the equation are det[zI - (Ad - LdCd)] on
the left, and det[Cd(zI - A d)-1 Ld + I] on the right (det(zI - Ad) cancels on the
right with the numerator) . Thus we see that there is no contradiction in the two
associations we have made for C(z-1).
There are usually several ways of modelling a disturbance in the state space formulation, which are all equivalent to a single output disturbance. If the GPC disturbance
model is adopted (D(z - 1) = (1- z-1 )A(z-1 )), most of its dynamics are shared with
those of the plant. It is only necessary to add p states, therefore, (where p is the
number of outputs) in order to model the additional disturbance poles at +1:

4.2.6

xp(k

+ 1) = Apxp(k) + xd(k) + Bpu(k)

xd(k

+ 1) =

xd(k) + BdV2(k)
y(k) = Cpxp(k)

(4.141)
(4.142)
(4.143)

Multivariabie Systems

Since everything that can be done with a transfer function formulation of predictive
control can also be done with a state-space formulation, and more, there seems to be
no reason for using transfer functions. This is particularly true for the multivariabie
case. In the SISO case there are at least some nice interpretations which are not seen
so clearly with state-space modeis. But this is no longer true in the multivariable
case.
It is sometimes claimed that the transfer function formulation is more suitable for

adaptive applications. This claim does not appear to have been justified in detail.
Plant parameter estimation is no more difIicult for state-space models than it is for
transfer function models - in the SISO case it is equally difIicult, whereas in the
MIMO case it is probably easier with state-space models - see [8], for example.
For detailed treatments of the transfer function approach applied to multivariable
systems, see [33] or [6].
'(W +XYZ)-l = w- 1 _ W- 1 X(ZW- 1 X + y-l)-lZW- 1
In this case we apply it with W = (zI - Ad), X = Ld, Y = I , Z = Gd.

82CHAPTER 4. STEP RESPONSE AND TRANSFER FUNCTION FORMULATIONS

4.3

Problems

1. Suppose you are given the sequence of step response matrices 8(0), 8(1), ...

,8(N)

for a plant. Show how to obtain the sequence of pulse response matrices
H(O), H(I), . ... What is the last one you can obtain?
2.

(a) Write a Mat/ab function ss2step which computes the step response matrices
8(M), 8(M + 1), ... ,8(N), and stores them in a three- dimensional array, so that 8ij(t) is stored in S(i,j ,t) . It should have the interface
specification:
S = sS2step(A,B,C,D,M,N)
(b) Write Mat/ab functions step2ups and step2the for computing the matrices
T ('upsilon') and e ('theta') from the step response sequence. The input
data should be the three- dimensional array created in part (a), holding
8(1) , ... , 8(N) , where N 2: Hp . Hw , Hp and Hu should be input arguments. The interface specifications should be:
upsilon = step2ups(S,Hw,Hp)
theta = step2the(S,Hw,Hp,Hu)

3. Consider the case of a 'square' plant: m = p, horizons Hp = Hw , and Hu = 1,


and no penalty on input moves: R = O. Using (4.27) and (4.28), and the results
of Chapter 3, show that in the unconstrained case we have KMPC = 8(Hw )-1,
and hence that, with full state measurements, the controller has no dynamics
in this case - that is, it consists of gains only.
4. A 2-input, I-output system has the step response sequence 8(0) = [0, 0],
8(1) = [0, 2], 8(2) = [1,3], 8(k) = 8(2) for k > 2. Find a state-space model
which repro duces this step response exactly. Note: You need 4 states.
5. Show that, as an alternative to equation (4.55), one could estimate A from the
equation

with a suitable definition of r:;.


6. Solve the two Diophantine equations (4.109) and (4.120) for Example 4.9, for
the case when the 2-step-ahead predictor is required.
7. (a) Show that an output disturbance which is a ramp (straight line) of unknown slope can be modelled by taking D(z -l) = (1 - z -1)2 in section
4.2.3. How should C(z -l) and v(k) be chosen?
(b) Work out the details of including the model of a ramp disturbance in a
state-space model of the plant. Take the plant to be a spacecraft controlled about 1 axis only: (t) = u(t)/ J where (J is the attitude, u is the
applied torque, and J is the moment of inertia. Take J = 1 for simplicity.
Assume a sampling interval of 1 sec.

4.3. PROBLEMS

83

8. Suppose we have a state-space model, with a disturbance w(k) entering the


state equations:

x(k + 1) = Ax(k) + Bu(k)


y(k) = Cyx(k)

+ Ww(k)

(4.144)
(4.145)

Show that the transfer functions from the vector w(k) to the output y(k) all
have the same denominator as the transfer function from the input u(k) to
y(k).
(If you prefer to do this with a specific 2 or 3-state example rather than in
general, that's ok.)
9. Verify that the model (4.141) - (4.143) corresponds to the GPC disturbance
model.

84CHAPTER 4. STEP RESPONSE AND TRANSFER FUNCTION FORMULATIONS

Chapter 5

Tuning
There are many adjustable parameters in Predictive Control, even in the standard
formulation:
Weights
Horizons
Disturbance Model and Observer Dynamics
Set-point Pre-filter
In this chapter we shall examine the effects of these, and try to establish a systematic
way of choosing these parameters.
It will be seen that tuning can be based on a few theorems, but it is mostly a matter

of 'rules of thumb', based mostlyon experience gained from simulations of 'typical'


problems.
It will also be seen that more can be said in the case of SISO plant, than in the (more

important) case of multivariabie plant. In particular, [46] has much more detail for
the SISO case than we give here.
The next chapter will deal with the question of guaranteeing stability of Predictive
Control schemes. However, it will be necessary to anticipate some of the conclusions
of that chapter in this one.

5.1

What Are We Trying To Do?

The following mant ras should be repeated frequently by all control engineers:

85

86

CHAPTER 5. TUNING
Feedback is dangerous.
The only purpose ofusing feedback is to reduce the effects of uncertainty.

Feedback is dangerous because it can, among other things, destabilise systems which
are themselves quite stabIe. The reason for using feedback is that it can be a very
efIective strategy for reducing the efIects of unexpected and unmeasurable disturbances, and for reducing the efIects of uncertainty about the behaviour of a system.
It is important to realise that this is the only justifiabIe reason for using feedback.
(One important application of feedback is to stabilise unstable plant. But it can
be argued that this is also necessary because of some uncertainty: if the model and
initial conditions were known perfectly, then it would be possible to stabilise an
unstable plant using an open-loop strategy.)
It follows that simulating the response to a step set-point change is not a meaningful
way of assessing a feedback system, except under very special circumstances. If we
really wanted to follow a set-point, and there were no uncertainty, then the best way
to do it would be by using an open-loop pre-computed control signa!. Looking at
set-point step responses is meaningful only under the following circumstances:
If the set-point step response allows us to deduce something about the robustness - insensitivity - of the closed-Ioop behaviour to modelling errors.
This is typically the case with linear control systems.
If the set-point step response can be easily related to the way in which the
feedback loop deals with disturbances.
This is true for 'one degree of freedom' linear feedback systems, in which the
set-point reponse completely determines the disturbance response. This is typically not true for Predictive Control systems.
If the step response allows us to deduce how the system would respond to
other signaIs.
This is true for linear systems. ft is therefore true for Predictive Control
systems so long as the constraints are inactive, but not otherwise.

Figure 5.1 shows a '2 degree of freedom' feedback system. It shows the set-point
signal being filtered by the pre-filter F(z) before becoming the 'reference' input
to the feedback loop. It also shows the part of the controller which is inside the
feedback loop split into two transfer functions, K( z ) in the 'forward path', and S(z)
in the feedback path. This is done to have a similar structure to that shown for
the unconstrained predictive controller in Figure 3.2. We will assume, for simplicity,
that the measured and controlled outputs are the same: z (k) = y(k).
Apart from the set-point signal s, the figure shows an output disturbance d and
measurement noise n entering the system. We need to find the transfer functions
relating these input signals to the plant input and output signals u and y. We do this

5.1. WHAT ARE WE TRYING TO DO?

87

~-------------------------------~

r - - - - - - - - - - - - - I
I

-I

PLANT

K(z)

F(z)

P(z)
I

---------------H(z)

CONTROLLER
Figure 5.1: Two degree of freedom feedback system.

for the general case, with each signal being a vector, and so each transfer function
being a matrix.

y(z) = d(z) + P(z)K(z)e(z)


e(z) = F(z)s(z) - H(z)[i(z)

(5.1)

+ y( z )]

(5 .2)

so

y(z ) = d(z)

+ P(z) K( z){ F( z)s(z ) -

+ y(z)]}

(5.3)

P(z )K(z)H(z)i(z)

(5.4)

H(z)[i(z)

and hence

[I + P(z )K(z)H(z)]Y(z)

= d(z)

+ P(z )K(z)F(z)s(z) -

Finally, we have

y(z) = S(z)d(z ) + S(z)P(z)K(z)F(z)s(z ) - T(z)i(z)

(5 .5)

where

S(z) = [I + P(z )K(z)H(zjtl

(5.6)

T( z) = [I + P(z)K(z)H(z)]-l P(z)K(z)H(z)

(5 .7)

The last two transfer functions are fundamental in feedback theory:

S( z ) -

The Sensitivity function .

T(z) -

The Complementary Sensitivity function.

Roughly speaking, the 'smaller' the sensitivity function, the better the feedback
action, in the sense that the effect of the output disturbance d is kept small. It

CHAPTER 5. TUNING

88

can also be shown that the sensitivity of the closed-loop performance to open-loop
changes depends on S(z), and is small if S(z) is 'smalI' in some sense. On the other
hand, the 'smaller' the complementary sensitivity T(z), the smaller is the effect of
measurement noise. It can also be shown that the 'gain' of T(z) is a kind of stability
margin: if T(z) is 'large' in some sense, then a small plant modelling error may
cause the feedback loop to be unstable. Note that S(z) and T( z ) are completely
determined byeach other, because

S(z)

+ T(z)

(5.8)

It is therefore not possible to have both S(z) and T(z) very'small' (near 0) simultaneously. However, if measured by their frequency responses, it is possible to have
both S(z) and T(z) very large simultaneously (because the frequency responses are
complex quantities)j so it is certainly possible to have very bad feedback designs,
although there are limits to how good they can be.
Note that the response of the output to the set-point can be designed independently
of the response to disturbances or noise, by means of the pre-filter F( z ). Actually,
even without F( z ) it can be designed independently if K( z ) and H( z ) can be designed independently. However in the Predictive Controller it is not easy to influence
these two independently of each other. But it should be noted that, even without
a pre-filter (F(z) = I), the response of the output to set-point changes - transfer
function S(z)P(z)K(z) - is significantly different from the response to disturbances
- transfer function S(z) .
The formulation of the predictive control problem emphasises tracking the reference
signal r, subject to constraints. This is supposed to be a nice, intuitive formulation
which can be easily related to real-world requirements. But we can see that this is
only partly true. It is easily related to tracking requirements and to real constraints,
but not at all easily related to good feedback properties.
Why, then, use Predictive Control in preference to other control methods? In my
opinion, there is only one reason: the ability to handle constraints, which is really not
built in to any other method.1 This means that when tuning a predictive controller,
we should consider its performance - including its feedback properties - when
constraints are active. Unfortunately, we have no theoretical tools to help us do this
- or even to formulate appropriate measures of performance under these conditions.
We have to rely on simulation to assess performance with active constraints, because
we have nothing else for the time being. In this Chapter we shall devote most space
to the case when constraints are not active, because then the controller is linear
and we can do some analysis. But the reader should be aware that this is a rather
distorted emphasis, forced by necessity.
1 It is often claimed that Predictive Control is the only method that allows knowledge of future
set-point changes to be taken into account . But [2] shows that such knowledge can also be taken
into account within the framework of standard linear quadratic optimal control - by augmenting
the plant model with a generator of the future set-point trajectory.

5.2. SOME SPECIAL CASES

5.2

89

Some Special Cases

We can look at some special choices of parameters, and deduce heuristically how the
Predictive Controller will then behave.

5.2.1

Effect of Control Weighting

Note fi.rst that increasing the weights R(i) on the control moves - recall the cost
function (2.9) - relative to the weights Q(i) on the tracking errors has the effect
of reducing the control activity. Increasing these weights indefinitely will reduce
the control activity to zero, which 'switches off' the feedback action. If the plant
is stabie, this will result in a stabie system, but not otherwise. Thus with a stabie
plant, we can expect to obtain a stabie closed loop by increasing the control weighting
sufficiently. The penalty of doing this will be slow response to disturbances, since
only small control actions will result . With an unstable plant we can expect an
unstable feedback loop, if the R(i)'s are increased too much.

5.2.2

Mean-Level Control

Suppose that the plant is stabie. Choose Hu = 1 and R(i) = O. Suppose that the
target trajectory changes to a new constant value: r(k + i) = rl. So the predictive
controller tries to minimise
Hp

Ily(k + ilk) - rlll~(i)

(5.9)

i =Hw

using only one control move Llu(k). If Hw is fixed and Hp -+ 00, clearly the optimal
thing to do is to move the control to that level which will give y = rl in the
steady-state. So in the absence of any disturbances the control signal will be a
step (vector) . The transient response at the plant output will therefore just be the
open-loop response of the plant. That is, we will have, assuming a 'square' plant:

y(z)

= p(l) - 1P(z) 1 :~-I

(5.10)

where the 'zero-frequency plant gain' P(l) has been introduced to adjust the steadystate level correctly. Comparing this with (5.5) we see that

S(z)P(z)K(z)

= p(l)-I P(z)

(5.11)

If the plant is SISO then we can deduce that


1

S(z) = P(l)K(z)

(5.12)

90

CHAPTER 5. TUNING

which is the transfer function that governs the response to disturbances. It turns
out that making the observer dead-beat (placing all the eigenvalues of A - LC at
zero) leads to dead-beat response to a disturbance, in the shortest possible time. A
detailed discussion of the 'mean-Ievel controller' is available in [10].
Note that the discussion here is consistent with Problem 3 of Chapter 4, which shows
that the controller is non-dynamic if the parameters are chosen as for mean-Ievel
control, and with full state measurement .
It has been argued that mean-Ievel control is suitable for many applications: it
allows the plant to follow set-point changes at its 'natural' rate, while being able to
react to disturbances very quickly - at a rate determined by the observer design
(or the choice of the polynomial C(z -l) in the transfer-function formulation).

5.2.3

Dead-Beat Control

Now suppose that Hw = Hu = n , the number of states in the plant, together with
any additional states needed for the disturbance model. Again take R( i) = 0, assume
that r(k + i) = rl> and this time choose Hp ~ 2n. So now the cost function being
minimised is
2n

Illi(k + ilk) - rlll~(i)

(5.13)

i =n

Now the idea is that the controller has enough time to drive the output to rl and
leave it there thereafter - in general, at most n steps are needed to do this. Since
Hw = n , errors do not start entering the cost function until the set-point has been
achieved exactly. Consequently this strategy achieves zero cost, and hence it is the
optimal one.
The reason for making Hp ~ 2n is to have a long enough costing interval. This
ensures that the output remains at zero for at least n steps, which is enough to
ensure that there are no 'delayed modes' inside the controller which might emerge
in the future .
This behaviour can only be explained by a 'dead-beat' closed loop. That is, all the
closed-Ioop poles are at zero. So we have, from (5.5) :

S(z)P(z )K(z) = z-nN( z )

(5.14)

where N( z ) is a polynomial matrix in z (just numerator polynomial in the SISO


case) such that N(l) = I. In the SISO case we can deduce that

N(z)

S(z)

= znp(z)K(z)

(5.15)

which shows that S(z) (and hence T(z)) is likely to contain the zeros of the plant
among its poles (if they are not cancelled by poles of P(z) or zeros of N( z )). This

5.2. SOME SPECIAL CASES

91

would lead to instability if P(z) had zeros outside the unit disk, and to very resonant
behaviour if P(z) had zeros close to the unit disk. Again a detailed treatment of
dead-beat contral is given in [10].
IC the sampling interval is small then the contral signals needed to achieve dead-beat
contral may be too fierce to be usabie, in which case the expected behaviour wil!
not be obtained because input constraints wil! be active. But in a sense 'meanlevel' control and 'dead-beat' control are two extremes obtained with R(i) = O.
The main 'parameter' for moving between them is the combination of control and
window horizons, Hu and Hw . (Note that the dead-beat behaviour is not obtained
if Hw < n .)

5.2.4

'Perfect' Control

Now we examine the case which the Model Predictive Control Tooibox User's Guide
calls the 'perfect' controller. This is obtained by choosing Hu = Hp = 1 and
R(i) = O. In this case the cost being minimised is 111(k + 11k) - r(k + l)II~(i)'
Clearly the 'optimal' thing to do in this case is to choose the input signal so that the
next output matches the set-point as closely as possible, without taking any account
of fut ure consequences . The easiest way to see the result of this is to consider the
scalar case:

y(z)

= P(z)(z) =

B(Z-l )
A(Z-l) (z)

(5.16)

and write this, using the difference equation interpretation, as

bou(k) = y(k + 1) + ... + any(k + 1- n) - b1 u(k -1) - . . . - bnu(k - n)


Clearly we can choose u(k) such as to make y(k

bou(k) = r(k + 1) + aly(k) + ... + any(k

+1-

+ 1) =

(5.17)

r(k + 1) by setting

n) - b1u(k - 1) - ... - bnu(k - n)


(5.18)

But if this is done at each step, then we wil! eventually have - assuming no disturbances - y(k) = r(k), y(k - 1) = r(k - 1), etc, so that eventually we wil! have

bou(k) = r(k + 1) + alr(k)

+ ... + anr(k + 1- n) -

b1 u(k - 1) - ... - bnu(k - n)


(5.19)

or

(5.20)
which shows that the controller is essentially the inverse of the plant in this case.
As with the dead-beat controller, this wil! lead to an unstable feedback loop if the
plant has zeros outside the unit disk, and unacceptable performance if it has zeros

92

CHAPTER 5. TUNING

close to the unit disk - but for a different reason. This time the zeros of B(Z-l)
will not show up in the poles of S(z) or T(z), because they will be cancelled when
forming the product ofthe controller and the plant transfer functions P(z)K(z)H(z).
But there will be 'internal instability' due to the cancellation of unstable poles with
unstable zeros, which will show up as an unstable transfer function between the
disturbance d and the plant input u.

Example 5.1 We apply Predictive Control, without constraints, to the Paper Machine Headbox described in Example 2.2. Recall that there are 2 inputs:
The stock flowrate
The white water flowrate
and 3 measured outputs:
The headbox level
The feed tank consistency
The headbox consistency.
But we will control only outputs 1 and 3, which is achieved in the Model Predictive
Control Tooibox by setting the output weight to ywt= [1 ,0,1] (as in the Tooibox
demo file pmlin . m).
Throughout this example we set R(i)

=0 -

no penalty on control moves

~u.

First a little analysis of the open-loop plant:

Poles: 0.0211 , 0.2837, 0.4266, 0.4266


Zeros: -0.4937, -0.2241
So the plant is stabie, with real negative zeros.

(The poles are computed using

eig(PHI), while the zeros are computed using


tzero(PHI,GAM,C([1,3],:),D([1,3],:))
where only the first and third rows of C and D are used, since we are only controlling
outputs 1 and 3.

Mean-Ievel Contro!. Hu = 1, Hp = 10 (M=1, P=10). Recall that Hp -+ 00 for meanlevel control; but it was found that the responses did not change significantly for
Hp> 10 .
The responses to step set-point changes are shown in Figures 5.2 and 5.3. These
show responses consistent with what one expects from the open-loop poles - the
slowest poles, at 0.4266, taking 4 steps to reduce to below 5% of initial va lues
(0.4266 4 < 0.05).

5.2. SOME SPECIAL CASES

93

Outputs

0.8

10

15
Time (mlnutes)

20

25

30

20

25

30

Inputs
1.6

1.4
1.2

o.8
o.6
o. 4
o.2

10

15
Time (minutes)

Figure 5.2: Mean-Ievel control: set-point change on rl .


Figures 5.4 and 5.5 show the responses to a unit step unmeasured disturbance acting
on the states. Of these the first shows the responses with the default (DMC) observer
gain of [0, IV, while the second shows the response with a deadbeat observer. In the
latter case the oscillatory nature of the input signals shows the presence of negative
realobserver poles, which originate from the negative real zeros of the plant. The
disturbance is reduced more effectively, however. In each case the response to setpoint changes is exactly the same - the observer design does not affect it.
Observer design in the Model Predictive Control Tooibox needs a few tricks, because
the Tooibox uses a different state-space models for some computations. In this model
the state vector is [~xT , yTJT , where ~x are changes in the state vector, and y is
the measured output vector. This model is obtained from the ordinary one using
function mpcaugss . The deadbeat observer was designed as follows :

[phia,gama,ca] = mpcaugss(PHI,GAM,C);
% Augmented model
place(phia',ca',[O,O,O,O.Ol,Ol,O.Ol,O.005]); % Dual pole placement
Kest
% Transpose because dual problem
Kest = Kest';
Here the function place is used to place the observer poles at the locations specified
in the vector. (The augmented system has 7 states.) Ideally these would all be at
a, but place allows the multiplicity of each pole to be no greater than the number
of outputs, which is 3 in this case. So 3 poles were placed at a, 3 at 0.01, and 1 at
O. 005. This should result in behaviour rather close to deadbeat.

Deadbeat Control. Figure 5.6 shows the set-point response with Hw

4,

CHAPTER 5. TUNING

94
OotpulS

1.4,-----.----,-------,----,-------,,---,
1.2

10

15

20

25

30

Time (minutes)

Inputs

0.4r"C:~===~=============1
0.2

-0.2

~--~--------------------------~

-O.4L-----'-----:'----:'::----~-----:':_--~
o
10
15
20
25
30
Time (mlnutes)

Figure 5.3: Mean-Ievel control: set-point change on r3 .


Hp = 8. Sin ce the plant has
seen that this is achieved.

4 states this should give deadbeat response. ft can be

Hw = 4 was represented in the Tooibox by defining the output weights as follows,


which gives zero weight for the first 4 steps:
ywt

000
000
000
000
101

Perfect Contro!. Finally, Figures 5.7 and 5.8 show the set-point step responses with
Hu = Hp = 1. This gives the so-called 'perfect' controller; as expected, the negative
real plant zeros now appear as poles of the closed-loop set-point response, which is
seen by the oscillatory nature ('ringing') of both the control inputs, and one of the
plant outputs.

5.3

Frequency-Response Analysis

Examining time responses gives only part of the story about feedback performance.
Frequency response analysis helps to complete the picture. Frequency responses
can be generated directly from a state-space model, without computing a transfer

5.3. FREQUENCY-RESPONSE ANALYSIS

95

Outputs
0.6 , - - - - - - r - - - - - r - - - - - - ; . - - - , - - - - - , , - - - - - ,
0.5

-0.1 L-_ _--'-_ _ _-'-_ _--'_ _ _--'-_ _---,L-_ _- I


o
10
15
20
25
30
TIme (mlnules)

Inputs

::K

0.3r---_----r---~----.---__,r----,

-0.1

-0.2

---.....-----------------1

-0.3
_ 0 . 4 L - - - - - - ' - - - - - ' - - - - - - ' - - - - ' - - - - L -_ _- l
o
10
15
20
25
30
TIme (mlnutes)

Figure 5.4: Default (DMC) observer: response to step disturbance.


function first . For example, using (4.73) the frequency response of P(z ) can be
obtained by evaluating
(5.21)

for a set of values of w. Since we can write all the equations governing the closed loop
plant-controller combination in state-space form, it is straight forward to compute
any frequency response we like, connected with a Predictive Control system - so long
as constraints are not active.2
Note: In the Model Predictive Contral Taalbox it should be easy to compute the
frequency responses of the sensitivity and complementary sensitivity functions S(z)
and T(z) using functions mod2frsp and smpccl, and using plot fr sp or svdfrsp
to see the corresponding Bode plots. However the closed- loop model formed by
smpccl has additional inputs and outputs which must be removed in order to get
T(z) - you have to select the first minputs and the first p outputs, using mod2ss to
get at the individual state-space matrices, and ss2mod to put them together again.

Example 5.2 Figure 5.9 shows the singular values of the sensitivity S(z) and the
complementary sensitivity T( z) for the mean-level control of the paper machine headbox, using the default (DMC) observer. This shows that [T(z)] reaches a peak value
of almast 2. This is a little higher than is usually considered acceptable for a good
2Since we showed in Chapter 3 that a predictive controller is linear and time-invariant so long
as the set of active constraints remains fixed, it is also possible to perform a frequency response
analysis for a given fixed set of active constraints.

96

GHAPTER 5. TUNING
0.6~_ _--r-_ _----'r-_.-:..Out~pu_ts_ _- - r_ _ _. - -_ _- '
0.5

-0.1
0

10

15

20

25

30

20

25

30

Tlme (minutes)
Inputs

0.3

tL--l-

0.2
0.1
O~

-0.1

-0.2
-0.3
-0.4

10

15
TIme (minuIes)

Figure 5.5: Deadbeat observer: response to step disturbance.


feedback design. (V'2 is often taken as a 'good' peak value, but this is applicationdependent to some extent.)
Note that there are two singular values of each of S and T at each frequency, because
only two outputs have been retained - the headbox level and the headbox consistency
- so that S(z) and T(z) are 2 x 2 transfer function matrices. The plots are shown
up to the Nyquist frequency 7r IT. = 7r 12 rad min- 1 (recall that the sampling interval
is T. = 2 minutes for the headbox).

This example shows that the mean-level controller for the paper machine headbox is
not very good, as a feedback controller. The design parameters can be altered to try
to improve its performance in this respect. But at present there is little knowledge
of how to change them systematically, so as to improve performance. So we have
good analysis tools, but the design is still to a large extent a matter of trial and
error. Some progress towards a systematic approach has been reported in [24).

5.4
5.4.1

Disturbance Models and Observer Dynamics


Disturbanee models

Two very important design 'parameters' in predictive control are the choice of disturbance model, and the choice of observer dynamics. In the transfer function
formulation this corresponds to the choice of the D(z-l) and G(z-l) polynomials,

5.4. DISTURBANCE MODELS AND OBSERVER DYNAMICS

97

Outputs

1.5,-----,-----r-------r----,----,,------,

~k--------1
~5~/
-1

10

15

20

25

30

Time (minutes)

Inputs
1.5r-~=--,-----r-------r----,----,,------,

~~--------------~

10

15

20

25

30

Time (minutes)

Figure 5.6: Deadbeat set-point response. Step demand on r1 .


respectively. In GPC D( z-l) = (1-z- 1 )A(z-l) is fixed, so only the choice of C(Z-l)
remains. In DMC both are fixed.
The essential fact about the disturbance model is that its poles become poles of the
(open-loop) controller. So both the DMC and the GPC disturbance models (poles
at +1) result in the controller having integral action, and hence zero steady-state
error in the presence of constant output disturbances. This is an example of a more
general phenomenon, known as the Internal Model Principle[50].3 Suppose that a
'persistent' determinist ic disturbance acts on a system - that is, one which does not
decay to zero. Examples encountered in practice are constant, ramp and sinusoidal
signais, but in principle the discussion applies to any signals which have poles on or
outside the unit circle. Then a feedback controller can compensate perfectly for that
disturbance - asymptotically with time - only if the poles of the disturbance signal
appear among the poles of the controller. (The detailed requirements are a little
stronger: the controller must have an 'internal model' whose state-space structure
is the same as that of the disturbance.) When we augment the internal model of a
predictive controller by a disturbance model, we are responding to the requirements
of this principle.

Example 5.3 Using the DMCjGPC disturbance model gives integral action in the
controller. Consequently constant disturbances are rejected perfectly (asymptotically
with time). Therefore the steady-state gain from output disturbances to control/ed
3The Internal Model Principle, due to Wonham, should not be confused with Internal Model
Control, a way of looking at feedback systems due to Morari [15, 32], and originally intended as a
way of understanding predictive contra!.

CHAPTER 5. TUNING

98
Outputs

2
1/

1\
1\

~v
-5
0

"'--"

V
10

15

20

25

30

TIme (minuIes)

Inputs

1- - 1 __ 1 - - - - - - - - - - - - - - - - - - - - - -

-10L-----~------~10~----~1~5------2~0------~25~----~30
TIme (minutes)

Figure 5.7: 'Perfect' controller: Set-point response. Step demand on rl.


outputs should be zero. But this is the zero-frequency response of the transfer function
relating d to y in Figure 5.1. So, from (5.5), we expect S(l) = O. (Remember that
w = 0 corresponds to z = 1.) Looking at the frequency response plots for Example
5.2, we see that indeed "[S(eiwT. )] approaches zero as w -+ o. Furthermore, the slope
of the graph is 20 dB per decade of frequency, as expected from a single integrator
in the controller - there are actually two integrators in this controller, one for each
output.
Since T(z) + S(z) = I, we also expect T(l) = I. This is confirmed by the fact that
both singular values of T(z) become 1 (OdB) at low frequencies.

Augmenting the plant model with a disturbance model certainly makes it possible
for the controller to exhibit the disturbance poles, but does not seem to be sufficient
to ensure that this occurs. After all, the poles of the plant do not usually appear
as poles of the controller, even though the plant model is made available to the
controller in a similar way.
It is possible to understand how the DMC model leads to integral action without

a technical derivation. The essential property of a controller with integral action


is that it is impossible for the closed-loop system to be at an equilibrium unless
the error e, as shown in Figure 5.10, is zero. (The figure shows a 'P+I' controller
for illustration.) Because if it is non-zero, then the output of the integrator will
change, and so the plant input u will not remain constant. Now consider a predictive
controller with the DMC disturbance model. Suppose, for simplicity, that all setpoints are constant. At each step the controller estimates the magnitude of an

5.4. DISTURBANCE MODELS AND OBSERVER DYNAMICS

99

Outputs

-0.5 ' - - - - ' - - - - . . L ,


0---""'5'-------,'20:------'25'----'30
0
Time (mlnutes)
Inputs

' .5 , - - - - - - - , - - - - - , - - - - - , - - - - , - - - - , - - - - ,

,-

l--~

0.5

U,
-0.5

I - - 1___ -

., _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

l __ I

-,
_' .5 ' -_ _-'-_ _ _..L.-_ _----',----_ _-::':c-_ _- - - ' ' -_ _- '

'0

'5

20

25

30

Time (mJnules)

Figure 5.8: 'Perfect' controller: Set-point response. Step demand on r3 .

output disturbance, and produces a control signal to counteract it. Typically the
estimate wil! be incorrect, so that the plant outputs wil! move to different values
than those predicted. The predictive controller attributes this difference to a changed
disturbance (c(klk) = y(k) - y(klk - 1)) , and revises its estimate, thus producing a
new control signal. If the disturbance is actually constant - and the closed-loop is
stabie - then the controller iteratively 'learns' the magnitude of the disturbance in
this way, and eventually compensates for it exactly. It is therefore impossible for the
closed-Ioop system to be at an equilibrium unless the outputs are at their set-points,
which is precisely the key property of integral action. (This discussion assumes that
no constraints are active. Similarly for the P+I controller, the discussion assumes
that the integrator is not saturated. )
It is harder to see why the 'internal model principle' works for ramps and sinusoids.
A full technical derivation is rather complicated, and we wil! not give it here. But
the essential observation is that the disturbance dynamics in the augmented model
are not controllabie from the plant input u. Recall that a typical augmented model
is of the form:

(5.23)
These dynamics therefore remain unchanged as eigenvalues of the closed-Ioop, because in effect there is no feedback loop around them. They do not, however, appear
in any of the closed-Ioop transfer functions, since only modes which are both controllabie and observable appear as poles of transfer functions .

100

CHAPTER 5. TUNING
Mini-Tutorial: Interpreting Frequency Responses

SISO feedback design is often performed using open-loop frequency responses, using
Nyquist's theorem to ensure stability of the closed loop, and judging stability margins
by the 'closeness' of the Nyquist locus to the point -1. With multivariabie systems it is
not so useful to examine open-loop frequency loci (although Nyquist's theorem still holds, in
a generalised form [26]) . But if SISO design rules are interpreted in terms of the closed-Ioop
transfer functions S(z) and T(z), then it is possible to generalise them to the multivariable
case quite easily.
With reference to Figure 5.1, if we let C(z) = K(z)H(z) then S(z) = [1 + P(z)C(z)tl,
or in the SISO case, S(z) = 1/[1 + P(z)C(z)] . So in the SISO case, the reciprocal of the
smallest distance between the point -1 and the Nyquist locus of P(z )C(z ) is the peak value
of IS(eiwT' )I. So the bigger this peak, the smaller the stability margin. This generalises to
the multivariabie case as follows .
The 'gain' of a multivariabie system depends on the 'direction' of the input signal. If a
finite-energy signal is applied at the input of a stabie system, the output is also a finiteenergy signa!. At a given frequency w, we ean define the 'gain' of a multivariable system as
the largest amplifieation (output energy / input energy) for any possible input direction. It
turns out that this ean be measured as the largest singular value of the frequency response
matrix evaluated at the given frequeney. This is a consequence of the fact that the largest
singular value is an induced norm for matrices:
(5 .22)
where is used to denote the largest singular value. So in the multivariabie case one ean
display [S(eiwT,)] on a Bode plot, and take the peak value as an indieation of the stability
margin. (Rigorous interpretations in terms of robustness to plant modelling error can be
given [26, 52].)
Another criterion traditionally used for SISO design is the 'peak M-value', and is another
measure of how closely the open-loop Nyquist locus approaches the point -1. But this
is nothing other than the peak value of IT( eiwT, )I. Again this can be generalised to the
multivariabie case: plot [T(eiwT,)] on a Bode plot, and read offthe peak value. Again this
value ean be interpreted rigorously as a robustness measure. Note that large peak values
of [S(eiwT, )] or [T(eiwT, )] ean only occur as a result of 'resonant' closed-Ioop poles lying
very close to the unit circle. So not only do they indieate a danger of losing stability, but
also the fact that some signals in the loop are likely to exhibit 'ringing' (lightly damped
oscillations ).
Apart from the peak values, the plots of [S(eiwT, )] and [T(eiwT, )] can be used to see the
frequencies at which the feedback loop rejects disturbances (small [S(eiwT,)] is good), and
how well it filters out measurement noise (small [T(eiwT, )] is good) . These two objeetives
conflict with each other.
Singular values of other closed-Ioop transfer functions ean also be plotted if appropriate.
Modern multivariabie robustness theory emphasises the importance of examining the transfer functions S(z )P(z) and C(z)S(z) in addition to S(z) and T( z ).
Note that the singular value plots do not tell you whether the closed loop is stabie. That
has to be checked independently (eg by computing the closed- loop poles) . If it is stabie,
they ean be used to tell you whether the stability is 'robust' or 'fragile' .

5.4. DISTURBANCE MODELS AND OBSERVER DYNAMICS

101

10' ~~~~..~"'~..~..~.~~~:~
::~
.:~::~::~::~:;~:~
:: ~~~.~..~..~..~,~~~~.~.~~~
. ........ .
. . .. . .... ..
.. . .... . .
. . . . .. ,', . ,', . , ... '. ".......
.... ;.;.:.,.: ...
jo . , "," ', ,
,"

.... ..

.;

..

~.',

"

~.

..

~.~

. . . . .... . .. ... . ........... . : . : ... :: ... ...... ;

10~ L-~~~~~~--~~~~~~~--~~~~--~~~~~

10~

10-2

10-'

10'

Frequency (rad/mln)

Figure 5,9: Singular values of S(z) (solid line) and T( z) (broken line) for mean-Ievel
control of the headbox.

5.4.2

An implementation issue

The discussion so far holds for any linear time-invariant controller. There is, however,
an essential difference between traditional, pre-computed controllers, and predictive controllers in which the control signal is computed on-line. And this difference
complicates implementation of predictive controllers with general disturbance models. In a traditional controller, designed let us say using the LQG framework, the
cost function is typically set up for an assumed problem of driving the plant from
an unknown initial condition to zero. Since the resulting controller is linear, the
precomputed controller can act on the error (between set-point and current output)
even if the actual problem being solved is a different one, such as driving the plant
from one set-point to another - in effect only a change of coordinates is involved,
and the controller can be positioned in the loop at such a point that this change
is irrelevant - see [14] for a nice detailed explanation. But suppose that one attempted to obtain the same controller by solving the optimization problem on-line,
as in predictive contro!. Then, for each set-point ro, one would have to minimise a
cost function of the form 2:: {liro - y(k)1I2 + lIuo - u(k)1I2, where Uo is a steady-state
value of u which holds the plant output at the set-point ro. This would lead to the
same input and output trajectories as obtained with the pre-computed controller,
providing that one knew the required value Uo accurately, In practice one does not
know the steady-state gain of the plant perfectly, so the assumed value of Uo would

102

CHAPTER 5. TUNING

P+I CONTROLLER

e
PLANT

K.

Figure 5.10: A 'proportional

+ integral' controller

be not quite correct, and the fact that lIuo - u(k)1I contributes to the cost function
would 'drag' the solution away from achieving the correct set-point.
The effect of an unknown disturbance is similar to that of an error between the
model and the plant. Thus even if the steady-state gain were modelled perfectly,
the presence of a constant disturbance would mean that the wrong value of Uo was
being used in the optimization. This is precisely the reason why most formulations
of Predictive Control do not penalise values of u in the cost function, but only values
of ~u. This makes the cost function indifferent to the value finally attained by the
plant input, and 50 does not destroy the integral act ion which is made possible by
the disturbance model. Note that it is the combination of the disturbance model and
the penalisation of ~u which gives zero offset in the face of constant disturbances.
(It is frequently claimed that it is the formulation in terms of ~u alone which creates
integral act ion in predictive controllers, but this is false.)
Now similar considerations apply if we want to reject more general disturbances
using predictive control. Even though we may build in an appropriate model of the
disturbance, its intended asymptotic effects will be destroyed if the cost function
prevents the required control signal from being applied. To reject a ramp disturbance, for instance, we know that a ramp control signa! will be needed, with some
non-zero slope. Thus penalising ~u will 'drag' the slope from its correct value towards zero. The 'correct' solution in this case is to penalise the 'second difference'
~2u(k) = ~u(k) - ~u(k - 1) in the cost function. In general, if the disturbance
satisfies the difference equation
(5.24)

where S(z-l) is some polynomial, then S(z-l)u(k) should be penalised in the cost
function, in addition to including the appropriate disturbance model, in order to get
asymptotic rejection of the disturbance [46, 18] .

5.4. DISTURBANCE MODELS AND OBSERVER DYNAMICS

103

(Note that if simulating these effects with the Model Predictive Control Taalbox, the
function scmpc should be used rather than smpccon, since scmpc solves the optimization problem at each step - even if there are no constraints - while smpccon
precomputes a controller gain. However it is not possible to formulate the correct cost function in the Model Predictive Control Taalbox without modifying the
functions, unless one uses it with Simulink and creates new variables by explicit
filtering. )
The fact that increasingly elaborate filtering of the input signal is needed before
including it in the cost function is a deterrent to the use of elaborate disturbance
modeis. The computation itself is not a problem, as the additional computation
required is very minor. Rather the problem is that the formulation becomes less
intuitive. Note, however, that it is still possible to retain constraints on u and ~u ,
both of which are important and meaningful constraints, while penalising some other
signal derived from the input in the cost function.

5.4.3

Observer dynamics

The remaining question to be considered in this section is that of the observer


dynamics. In this case we can give a detailed derivation of the transfer function
H( z ) which appears in Figure 5.1, which will clarify the significance of this question.
Figure 5.11 shows the controller in block-diagram form, for the unconstrained case.
This diagram is obtained from Figure 3.2 by including the details of the observer.
This block-diagram can be simplified slightly to the one shown in Figure 5.12, and
then again to the one shown in Figure 5.13.
Comparing Figures 5.1 and 5.13 we can see that

H( z ) = W [I - z-l A(I - L'Cy)]-l L'


= zW [zI - (A - LCy)]-l L'

(5.25)
(5.26)

This confirms that the measured outputs are filtered before affecting anything in the
controller, and that the poles of the filter are the observer eigenvalues. This filtering
will clearly affect the response of the controller to disturbances - since it detects
them only through the measured outputs - and the stability of the closed loop.
One could go on to obtain an expression for the forward path transfer function
K(z), but that would give a rather complicated expression which would not be very
illuminating.
Note that if constraints are active, the measured outputs y(k) are still filtered by a
filter with the same poles, in order to form the state estimate i(klk). The nonlinear
effects arise afterwards, in the optimization.
80 how should one choose the observer dynamics? Choosing deadbeat dynamics

104

CHAPTER 5. TUNING

lJ. u(k)

MPC

u(k-I)

u(k)

z
z-I

-I

x(klk)

x(klk-I)

~+:.=;.:-<-----1

-I

z I

L'

OB SERVER

..

y(k)
I

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ______ 1

Figure 5.11: Predictive controller, unconstrained case.

gives a fast response to disturbances. But if the magnitudes of typical disturbances


are such that this leads to frequent saturation of actuators, then it may be better to
admit a slower response to disturbances, reserving actuator saturation for dealing
with exceptionallarge disturbances. AIso, if the observer dynamics are made fast,
then the system will react relatively strongly to high-frequency variations in the
measured output signa!. If there is an appreciabIe amount of measurement noise
in this signal, it may be better to have slower observer dynamics, in order to have
some low-pass filtering of the noise. (This is the usual feedback design trade-off
between small S(z) and small T(z) .) If statistical information is available about
the relative strengths of disturbances and noise, then the optimal trade-off for state
estimation can be made by using Kalman filter theory to design the observer. If
such information is not available, Clarke [9] advocates using the observer polynomial
C(z-l) = A(z-l )(1 - (3z- 1)Hw, noting that (3 = 0.8 seems to be always satisfactory.
(This assumes the GPC disturbance model, so that D( z -l) = (1- z -l)A(z -l).)

5.5

Set-point Pre-filtering

Another tuning parameter in Predictive Control is the set-point pre-filter, shown as


the transfer function F( z ) in Figure 5.1. The predicted 'reference' signal r(k + i),

5.5. SET-POINT PRE-FILTERING

T (k)

E(k)

105

/1 u(k)

MPC

r----:-+

u(k

----

z-I

u(k-I)

'I'

------

I
I
I
I
I
I

x(klk)

Y
--------

-I

z 1

- - - -- ---------

- - - --

)-

I-L'C

--Do--

OB SERVER

L'
y(k

Figure 5.12: Predictive controller, simplified.

which enters our standard formulation, need not be the real set-point that we would
like the plant to follow . It can be obtained from the real set-point s(k + i) by some
kind of filtering. In many ways, this pre-filtering is redundant , in the sense that
the same effect could be achieved by tuning the other design parameters suitably.
However, it is often more difficult to see how to tune the other parameters, than
seeing an appropriate pre-filter design.
The primary effect of the pre-filter is that it defines the ideal plant response to setpoint changes. It can be thought of as a 'reference model' - if the plant controlled
output followed it exactly, the 'tracking error' vector in the Predictive Control problem formulation would be zero. A similar effect cau be achieved by varying the
weights Q(i) over the prediction horizon. But it is much easier to design an appropriate filter than to choose the corresponding pattern of weights - and, as shown
in [18], it is also computationally more efficient to use a filter. It should be said ,
however, that if the plant output does not follow the reference signal r(k) c1osely,
then the effects of changing the pre-filter may not be obvious.
In traditional controllers a pre-filter is often used to reduce actuator saturation. The
idea is that if operators make 'step' changes in the set-point, and if the typical or
maximum amplitudes of such changes are known, then passing this change through
a low-pass filter before forming the error can be used to limit the error amplitude
to such a magnitude that the actuators do not become saturated. With predictive

CHAPTER 5. TUNING

106

u(k

z:'l KMPC [I + z:l TKMPCrl

+Y
'I'

r-

z-l(I - L'Cy ) [I - z-lA(I - L ~

[I - z-l A(I - L ' Cy

)r1

.-

L'

y(k

Figure 5.13: Predictive controller, simplified again.


control there seems to be less reason to do this, since we have a more systematic way
of handling constraint violations, so there is no particular reason to avoid activating
constraints. But there are still good reasons for avoiding saturation:
The behaviour of the closed loop is not understood so well when constraints
are active.
It seems a good idea to keep some control authority 'in reserve' for dealing
with unexpected disturbances.

80 it seems sensible to use pre-filtering to avoid actuator saturation in response


to set-points, while still relying on input constraints to handle fast recovery from
disturbances - for example, with a dead-beat observer, getting as fast a recovery
as the constraints will allow.
Note that, since the pre-filter is outside the control loop - see Figure 5.1 - it has
no influence on the stability of the loop, or on its robustness to modelling errors.
The pre-filter shown in Figure 5.1 is not exactly the filter that needs to be implemented for predictive control, since in predictive control we need the whole vector
of predicted reference signals over the prediction horizon. Thus we have a vector of
future set-points SCk) = [sCk + l)T, ... , sCk + Hp)TjT which are filtered to form the

5.5. SET-POINT PRE-FILTERING

107

vector T(k) = [r(k + l)T, . .. ,r(k + Hp)TjT . This allows a wide range of possibilities, including non-causal filters - namely r(k + i) could depend on s(k + i + j)
for j > 0, for example. But it is doubtful whether anything is to be gained by such
complications.
A situation which occurs frequently is that future set-points are not known. Only
the current set-point is known, but it is liable to change without warning. There
are then several possibilities for generating the reference trajectory T(k) . One is
to generate it by passing the step change through a pre-filter, as discussed above.
Another is for the operator to generate a trajectory in some ad-hoc way, such as
specifying a ramp of a given slope until the plant is nearly at the required set-point,
and then specifying the required constant set-point. (This is what a pilot does when
specifying a required rate of climb rather than just the required altitude.) When
generating T(k) by passing the step change through a filter, there is the question of
which initial conditions to use in the filter . The conventional thing to do would be
to use previous values of the reference signal. But apparently some implementations
of predictive control use the current and past values of the plant output as initial
conditions. Presumably the idea is to achieve something like a 'bumpless' transition
to the new reference trajectory. But, as Soeterboek points out [46], this intro duces
another feedback loop, the effects of which should be analysed.

108

5.6

CHAPTER 5. TUNING

Problems

1. Prove equation (5.8): S(z)

+ T(z)

= J.

2. Consider a SISO plant with transfer function P(z) = B(z)/A(z), and suppose
that K(z)H(z) = X(z)/ B(z), as in the case of 'perfect' control, where X(z) is
some transfer function. Show that the transfer function from the disturbance
d to the plant input u has B(z) as a factor of its denominator. (Hence the
feedback loop is internally unstable if B(z) has any zeros outside the unit disk.)
3. (a) Design a mean-Ievel controller for the plant used in the mpctutss demo in
the Model Predictive Control Tooibox. (An easy way to load the data is to
run the demo first. You can then save it to file using the load command.)
(b) With horizons set as for 'perfect' control, investigate whether you can
achieve similar responses to those achieved with mean-Ievel control, by
using non-zero weights R(i) on the input moves. (Consider both set-point
and disturbance responses.)
(c) Investigate the sensitivity and complementary sensitivity functions for
some of your designs.
4.

(a) For the paper machine headbox (demo pmlin in the Model Predictive
Control Tooibox) , find (by trial and error) the best combination of horizons and weightsthat you can, with the default (DMC) observer. (Ignore
constraints. )
(b) Try improving your best design so far by changing the observer design.

5. A geostationary satellite has to hold a fixed attitude in order to point its solar
arrays at the Sun, while its antenna has to follow a 'ramp' set-point for its
angular position, relative to the satellite, in order to point at a fixed point on
the Earth. Seen from the point of view of the antenna servo, this also looks
like the problem of holding a constant reference in the presence of a ramp
disturbance.
(a) Using YOur results from Problem 7 of Chapter 4, perform a simulation
using the Model Predictive Control Tooibox, and show that a steadystate error results if the default disturbance model is used, but not if
the disturbance is modelled correctly. (Assurne a perfect model and use
smpccon.)
(b) Plot the frequency response of the sensitivity function S(z) when the
ramp disturbance model is used, and verify that at low frequencies it
approaches zero at a rate of 40 dB per decade of frequency (ie as w- 2 ).
6. A SISO plant with transfer function
-lOs + 1

(s + l)(s + 30)
is to be controlled using Predictive Control with a sampling interval of T,
sec.

= 0.2

5.6. PROBLEMS

109

(a) Design and simulate a 'perfect' controller for this plant, and explain the
results.
(b) Explain why increasing Hp will eventually give closed-Ioop stability (assuming no active constraints). Find the smallest Hp which gives stability,
if Hu = 1 and R(i) = O. What are the closed-Ioop poles in this case?
Roughly what is the time constant of the set-point response in this case?
(c) Simulating this system with predictive control, with Hu = 2, Hp = 30,
Q(i) = 1 and R(i) = 0.1 shows that stability is obtained, but the response
to set-point step changes shows that the output moves in the 'wrong'
direction initially. Show (by simulation) that this effect can be reduced
by limiting the input moves to l~u(k)1 < 0.1 for each k.

110

CHAPTER 5. TUNING

Chapter 6

Stability
If one is designing a Predictive Controller off-line then nominal stability is hardly an
issue. It is quite easy to obtain stability by tuning the parameters in the problem
formulation, and very easy to check that the designed system is stabIe (assuming
the correct plant model) .

Closed-Ioop stability is much more of an issue if Predictive Control is being used in


a way which requires any on-line re-design. This includes adaptive control in the
traditional set-up, where re-estimation of the plant model and consequent re-design
of the controller is assumed to occur continuously. And it also includes situations
such as occasional re-estimation followed by re-design, for example following a failure
or a change in the plant configuration.

In this chapter several ways of guaranteeing nominal stability are investigated.

6.1

Terminal Constraints

In Section 1.4 we saw that the imposition of terminal constraints leads to stability
under very general circumstances, providing that the optimization problem to be
solved remains feasible, and that the global optimum is found at each step. The key
idea of the proof given there was that the cost was monotonically decreasing, and
could therefore be used as a Lyapunov function for the system.
The same basic idea can be applied in various ways. Two particular ways, associated
with GPC, have become quite well known and have been incorporated into particular
versions of GPC: 'StabIe input-output receding horizon contro!', or SIORHC (see
[33, Chapter 5.8]), and 'Constrained receding horizon predictive control', or CRHPC
(see [6, Chapter 6.5]).
However, since we shall see in the following sections that stability can be achieved

111

CHAPTER 6. STABILITY

112

without imposing conditions as severe as terminal constraints, we shall not pursue


this approach further.

Infinite Horizons

6.2

The approach described in this section was originated in [42] and elaborated upon
in [35,34] . It had been known for some time (eg see [2]) that making the horizons
infinite in Predictive Control leads to guaranteed stability, but it was not known
how to handle constraints with infinite horizons. The work of Rawlings and Muske
made a break-through in this respect. The same ideas have also been applied to the
transfer-function formulation [45]- not surprisingly, the whole development can be
repeated in that setting.
The key idea is to re-parametrise the Predictive Control problem with infinite horizons in terms of a finite number of parameters (instead of the infinite number of
control decisions ~u(klk), ~u(k+ 11k), ... ), so that the optimization can still be performed over a finite-dimensional space - in fact, it remains a QP problem. Since the
original work of Rawlings and Muske, several other proposals have been made, which
can be interpreted as different re-parametrizations of the infinite horizon problem
[43,44].
In [31) the opinion has been expressed, by one ofthe 'big shots' ofPredictive Control,
that there is now no longer any reason to use finite horizons.
Let us begin by examining why the use of an infinite costing horizon guarantees
stability.

6.2.1

Infinite horizons give stability

We modify our standard formulation a little. First, we keep the weights constant
across the prediction horizon, so that Q(i) = Q and R(i) = R. Secondly, we
penalise control levels as well as moves over an infinite horizon. Thirdly, we assume
a 'regulator' formulation, namely that we want to drive the output to zero:
00

V(k) =

L {lIi(k + ilk)lI~ + lI~(k + i -

1Ik)lI~ + lI(k + i - 1Ik)II~}

(6.1)

;=1

although we still assume that only the first Hu control moves are non-zero:
~(k

+i -

11k) = 0

for i> Hu

(6.2)

We assume that S > 0 and Q 2: 0, R 2: O. (In [42] it was assumed that the control
levels were penalised, not the control moves. In [35] both controllevels and control
moves were penalised. A proof which holds in the general case is given in [34].

6.2. INFINITE HORIZONS

113

Unfortunately the weights Rand S in our notation have the opposite meanings to
those used in [42, 35, 34].)
Suppose initially that we have full state measurement, so that x(k) = y(k), and that
the plant is stabie. Then the following argument shows that closed-Ioop stability is
obtained for any Hu > 0, providing that the optimization problem is, and remains,
feasible .
Let VO(k) be the optimal value of the cost function at time k, let uO denote the
computed optimal input levels, and let zO denote values of the controlled output
obtained as a result of applying uO. Note that, since uO(k + i) = uO(k + Hu -1) for
all i 2: Hu, and since the steady-state value of uO needed to keep z at 0 is 0 (according
to the optimiser's internal model), the optimiser wil! certainly put uO(k + i) = 0 for
i 2: Hu, since an infinite cost would otherwise result. Thus we have
Hu

00

VO(k) =

1I.(k + iIk)lI~

+L

i=1

{1I~o(k

+i

- 1lk)llh

+ lIo(k + i

- llk)II~}

i=1

(6.3)

Now ifwe assume, as usual in stability proofs, that our model is exact and that there
are no disturbances, then zO(k + 1) = .(k + 11k). Thus the value of V, evaluated
at time k + 1, but maintaining the same control sequence O(k + ilk) as computed
at time k, would be

But at time k + 1 the new optimization problem, with initial condition zO(k + 1) =
CzxO(k + 1) - which is known, since we assume full state measurement - is solved,
so that
VO(k

+ 1) :S V(k + 1)
= VO(k) -lIzO(k

(6.5)

+ 1)1I~ -1I~o(klk)llh -

< VO(k)
the strict inequality being due to the assumption that S

lIo(klk)ll~

(6.6)

(6.7)

> o.

To infer stability we must now show that VO(k + 1) < VO(k) implies that Ilx(k)11 is
decreasing. Since we have assumed that S> 0, it is clear that uO(k) is decreasing
(since uO(k) = O(klk)), which implies that xO(k) is eventually decreasing, since we
have assumed a stabie plant. But we can relax the S > 0 condition, if we replace it
by something else. For example, assuming that Q > 0 and observability of the state
from z implies that Ilxoll must eventually be decreasing, even if S = 0, as in our
standard formulation. So there are a number of possible assumptions which ensure
that decreasing VO implies decreasing Ilxoll, and that is enough to show that VO is
a Lyapunov function for the closed loop, which shows, in turn, that the closed-Ioop
system is stabie.

CHAPTER 6. STABILITY

114

Now we must consider the case of an unstable plant. The essential difference in this
case is that the unstable modes must be driven to 0 within Hu steps. Otherwise
these modes, which are uncontrolled for i ~ Hu, would become unbounded, giving
an infinite cost value. But it is known that in general it is not possible to drive
the states of a system to zero in less than n steps, where n is the state dimension.
Since only the unstable modes need to be driven to zero, only nu steps are actually
needed, if nu is the number of unstable modes. Thus we have to take Hu ~ nu for an
unstable plant. We also need to ensure that the unstable modes can be driven to zero
by some input. Technically, we have to assume that the pair (A, B) is stabilisable namely that the unstable modes are controllable from the input; the stable modes
do not have to be controllable, since they decay to zero anyway.
With these provisos, stability follows by the same argument as for stable plants,
providing that feasibility is maintained.
When fuIl state measurement is not available (y(k) =I x(k)) an observer must be
used to obtain the state estimate x(klk) . Subject to a few technical conditions,
and assuming a perfect model as usual, x(klk) -+ x(k) as k -+ 00 if the observer
dynamics are stable. Consequently, as k increases, the value of the optimal cost
function VO(k) will approach the same value as in the case of y(k) = x(k), and
stability can again be inferred.

6.2.2

Feasibility

In order to be able to pose problems which are feasible over the whole infinite horizon,
it is necessary to introduce two new parameters C w and Cp, which are analogous to
the horizons Hw and Hp, but which refer to the times over which output constraints
are enforced. To be precise, suppose that the output constraints are of the form
Zi,min

S zi (k + j) S

Zi,ma",

for j = C w , C w + I, .. . ,Cp.

(6.8)

In order to apply the stability theorems, both Cw and Cp must be chosen large
enough. Cw must be chosen large enough that the problem is feasible at time k. Cp
must be chosen large enough that if the problem is feasible over the finite horizon
up to time k + Cp, then it will remain feasible over the rest of the infinite horizon. In
(42) it is shown that finite values of Cw and Cp always exist - although for unstable
plants they depend on x(k), in general.

6.2.3

Constraints and infi.nite horizons -

stabie plant

Now we need to consider how constrained predictive control problems can be solved,
when the horizons are infinite. As we have already seen, for the regulator problem
the computed input signal (k + i - 11k) is necessarily zero for i ~ Hu. The cost

6.2. INFINITE HORIZONS

115

function can therefore be written as


Hu

00

V(k)

IIz(k + i - 1Ik)ll~ + L {lIz(k + i - 1Ik)II~+


i=1

+1I.b.(k + i -llk)ll~ + lI(k + i -llk)II}}


Now consider the first term in this expression. Since (k + i - 11k) = 0 for i
we have

z(k + Hulk) = Czx(k + Hulk)


z(k + Hu + 11k) = CzAx(k + Hulk)

(6.9)
~

Hu,

(6.10)

(6.11)

(6.12)
so that

Now let
00

Q = :L(AT)iC;QCzAi

(6.14)

;=0

(the series converges if th,.- plant is stabie ) then


00

ATQA = L(AT)iC;QCzAi

(6.15)

i=1

(6.16)
This equation is known as the matrix Lyapunov equation, and it can be solved for
Q, given A, C z and Q. (In Mat/ab it can be solved using the function dlyap from
the Control System Toolbox.) Furthermore, it is weil known that Q ~ 0 if Q ~ 0
and A has all its eigenvalues inside the unit disk, namely if the plant is stabie. Thus
the cost function can be written as
Hu

V(k)

= x(k + HulkfQx(k + Hulk) + L

{lIz(k + i -llk)II~+

i=1

+1I.b.(k + i - 1Ik)ll~ + Il(k + i - 1Ik)II}}

(6.17)

This now looks like a predictive control problem formulated over a finite horizon of
length Hu, with a terminal cost penalty - which shows, incidentally, that imposing
a terminal equality constraint to obtain stability is unnecessarily restrictive.
If the controlled output is to follow a set-point with a non-zero final value, then it
is necessary to replace the term lI(k + i - 1Ik)ll} by lI(k + i - 11k) - usll} in the

116

CHAPTER 6. STABILITY

cost function in order to get a bounded cost, where Us is a steady input value which
is predicted to bring the controlled output to the required steady value r B :

(6.18)
But this is unnecessary if S = 0, as in our standard formulation. If a future target
trajectory is known over a horizon Hp longer than Hu , then the approach outlined
above is easily modified to handle this. It is simply necessary to rewrite the problem
as a finite-horizon problem with horizon Hp rather than Hu , with a terminal weight
of the form x(k + Hplk)TQx(k + Hplk) .
In order to formulate this predictive control problem as a standard QP problem,
we proceed as in Chapters 2 and 3. First we form the vector of predicted states
[:;(k + 1Ik)T, .. . ,:;(k + Hulk)TjT exactly as in equation (2.23) - but noting that
the number of predictions needed now is Hu. The only other change that is needed
is that Q in (3.3) should be replaced by

Q 0
0 Q

0
0

0
0

0
0

Q 0
0 Q

Q=

(6.19)
0
0
v

Hu

blocks

(Note that the last block is different from the others) .


Example 6.1 In [2] the fol/owing plant is used as an example of one which is difficult to control:
P(z) =

-0.0539z- 1 + 0.5775z- 2 + 0.5188z- 3


1 - 0.6543z 1 + 0.5013z 2 - 0.2865z 3

(6.20)

One state-space realization of this has

0.6543 -0.5013
1.0000
0
[
o 1.0000

Suppose that Q

= Ia,

Cz

= [-0.0536,0.5775,0.5188]

(6.21)

then

Q=

6.2.4

Or]

1.2431 -0.1011 0.1763]


-0.1011 0.8404 0.1716
[ 0.1763
0.1716 0.3712

Constraints and infinite horizons -

(6.22)

unstable plant

With an unstable plant there are two reasons why we cannot proceed exactly as
before:

6.2. INFINITE HORIZONS

117

We need to impose the constraint that the unstable modes must be at zero at
the end of the control horizon .
The infinite series in (6.14) does not converge.
We proceed by decomposing the plant into its stabie and unstable parts, by means
of an eigenvalue-eigenvector (Jordan) decomposition: 1
A = WJW- 1

(6.23)

u,W.l [Jou

= [W

JO ] [

~u
W.

(6.24)

The unstable and stabie modes can be obtained from this as

eu(k) ] = [ ~u
[ e.(k)
W.

x(k)

(6.25)

and they evolve according to

eu(k + 1) ] = [Ju 0] [ u(k) ]


[ e.(k + 1)
0 J.
.(k)

+ [ ~u ] Bu(k)
W.

(6.26)

The terminal equality constraint on the unstable modes becomes

eu(k + Hu) = Wux(k

+ Hu)

= 0

(6.27)

Because of this constraint, only the stabie modes contribute to the infinite sum in
(6.9), which therefore has a finite value:
00

00

1I.(k + i -llk)lI~ =

IICzW.x(k + i - llk)lI~

(6.28)
(6.29)

where, proceeding as before, we find that


-

- T

Q = W. IIW.

(6.30)

and II is the solution of the matrix Lyapunov equation:


II = W;C;QCzW.

+ f{IIJ.

(6.31)

Again Q should be as in (6.19), with Q being obtained from (6.30). Predictions are
obtained as before.
'There is no numerically stabie algorithm for performing the Jordan decomposition. But there
are numerically stabie algorithms for finding the subspaces of the state space spanned by the unstable
and stabie modes, respectively [26, Chapter 8]. Since it would be enough to find these spaces, and
the corresponding projection matrices, it would be advisable to do this in an implementation.

CHAPTER 6. STABILITY

118

The significant difference now is the appearance of the equality constraint (6.27) .
This can be simply added to the QP formulation as an equality constraint. But,
as pointed out by Scokaert in the GPC context [45], this equality constraint removes some degrees of freedom from the optimization (as many as there are unstable
modes), and it is possible to reparametrize the problem so that the optimization is
over a smaller number of decision variables.
In the state-space setting this can be done as follows. From equation (2.23) we see
that
(6.32)
Hu-l

= AHux(klk)

AiBu(k -1)

i=O

Hu- 1

+ [L

AiB .. Bl~U(k)

(6.33)

;=0

This represents nu equations, if there are nu unstable modes. Now we can use these
equations to express any nu of the variables in the vector t:.U(k) in terms of the
remaining ones, and thus eliminate these variables from the optimization. Scokaert
[45] considers single- input systems, and expresses the last nu elements in t:.U(k),
namely the last nu elements ofthe computed input signal, in terms ofthe other. The
same can be done with multi-input systems, but other possibilities may be equally
sensible, such as selecting the last nu elements of the j'th input signal ~j(k + ilk)
for i = Hu. - nU., Hu - nu + I, ... ,Hu - 1. But it is not dear whether it matters how
these nu elements are selected, even in the single-input case. The computational
saving is small - typically one has only one or two unstable modes - so it may be
as well to let the optimiser decide how to 'use' the equality constraints. 2

6.3

Fake Algebraic Riccati Equations

In [2, 33] it is shown that stability can sometimes be guaranteed even for finite
horizons. The finite horizon predictive control problem is associated with a timevarying Riccati equation which is intimately related to the optimal value of the
cost function. The Fake Algebraic Riccati Technique replaces this equation with
an algebraic (time-invariant) Riccati equation which looks like the one that occurs
in infinite-horizon LQ problems. If this equation has properties analogous to those
which occur for the (real) algebraic Riccati equation of infinite-horizon control, then
stability can be inferred. In order to develop the details we shall need to refer to
the Minitutorial on linear-quadratic optimal control.
2With multivariabie unstable models a state-space formulation is almost essential. It is almost
impossible to recover the correct number of unstable modes from a transfer function matrix, because
of numerical sensitivities.

6.3. FAKE ALGEBRAIC RICCATI EQUATIONS

119

Mini-Tutorial: Linear Quadratic Optimal Control


Finite Horizon:
We consider the problem of having an initial state x(t) at time t, and finding a control
sequence which will minimise the finite-horizon cost function

N-1
VN(X(t)) =

2: {llx(t + j)II~N-j-l + Ilu(t + j)II~N-j-l} + Ilx(t + N)II~o

(6:34)

j=O

where Qj 2: 0, Rj 2: 0 and Po 2: O. The optimal control is found as follows [5, 22, 33, 2]:
Iterate the Riccati Difference Equation
(6.35)
and form the state-feedback gain matrix
(6.36)
The optimal control sequence is given by

u(t + N - j) = -Kj_1x(t + N - j)

(6.37)

and the optimal value ofthe cost (6.34) obtained in this way is VN(X(t))O = Ilx(t)II~N.

Infinite Horizon:
Now suppose that the horizon becomes infinite (N
cost

--t

00), we consider the infinite-horizon

Voo(x(t)) = lim VN(X(t))


N ..... oo

(6.38)

and the weighting matrices are constant: Qj = Q, Rj = R. Then, if R > 0, the pair (A, B)
is stabilizable, and the pair (A, Q1 /2) is detectable, then Pj --t P00 2: 0 (as j --t 00) , and
(6.35) is replaced by the Algebraic Riccati Equation:
(6.39)
Hence
(6.40)

and the optimal control becomes the constant state-feedback law:

u(t + j) = -Koox(t + j).

(6.41)

It can be proved that this feedback law is stabilising - otherwise the cost Voo(x(t)) would
be infinite - so that all the eigenvalues of the closed-loop state-transition matrix A - BKoo
lie strictly within the unit circle (if the stated conditions hold). The optimal cost is now
Voo(x(t))O = Ilx(t)ll~oo

120

CHAPTER 6. STABILITY

We need to note some differences between the finite-horizon problem treated in the
Minitutorial and our standard Predictive Control problem. First, note that the
indices on Q and R 'run backwards' in the Minitutorial, in the sense that x(t) is
weighted by QN- b whereas x(t + N - 1) is weighted by Qo. Similarly, the statefeedback gain applied at time t is KN-b while that applied at time t + N - 1 is
Ko

Secondly, the LQ cost function weights Ilx(k)11 and Ilu(k)ll, whereas in our standard
problem we weight Ilz(k)11 and IIu(k)ll. We can put our standard problem into the
LQ framework as follows. Introduce the augmented state , and the new matrices
and :
(k) = [

x(k)
]
u(k - 1)

(6.42)

then the two models


x(k

+ 1) = Ax(k) + Bu(k)

and

(k

+ 1) =

(k)

+ u(k)

(6.43)

are equivalent (with our usual definition u(k) = u(k) - u(k - 1)). Furthermore,
Ilz(k)IIQ = Il(k)II Q, where
(6.44)
(where z(k) = Czx(k) - recall (2.10)) . 80 our standard predictive control problem
is the same as the LQ problem, if we replace A and B in the plant model by and
, and the weight QN- j-l by QN-j-l in the cost function. (The weight RN-j-l
stays unchanged in the cost function, but of course it is now interpreted as the
weight which penalises u(k).) The optimal control is obtained as u(t + N - j) =
-Kj_l(t + N - j), where K is the state-feedback gain matrix obtained from (6 .36)
when these substitutions have been made.
Thirdly, a single horizon N is used in the LQ cost function, whereas we use the two
horizons Hp and Hu. This is no problem so long as Hu :S Hp, because we can always
set RN-j-l = 00 for j ~ Hu, which will effectively reduce the control horizon to
Hu .3

When we apply the receding horizon control strategy, we always apply the first
part of the finite-horizon control strategy, which means that we apply the constant
state-feedback law
(6.45)
(assuming no constraints for the present discussion). The big question now is, when
can this law be guaranteed to be stabilising? That is, when will all the eigenvalues
of - KN-l be guaranteed to lie inside the unit circle?
3Note that the Riccati difference equation (6.35) becomes the Lyapunov equation Fj+l
AT FjA + Qj when Rj = 00 .

6.3. FAKE ALGEBRAIC RICCATI EQUATIONS

121

We now revert to using the notation which appears in the LQ problem, namely
we use A, Q, K, etc, with the understanding that these are replaced by , Q, k
etc when necessary. (See Problem 3.) From the infinite-horizon LQ problem, it is
apparent (subject to the technical conditions: Q 2: 0, (A, B) stabilisable, (A, Ql/2)
detectabie) that so long as the algebraic Riccati equation (6.39) has a positive semidefinite solution (P 2: 0), and a constant state feedback gain matrix is obtained from
this solution by the formula (6.40), then the resulting feedback law will be stabie.
In the finite horizon problem we have the Riccati difference equation (6.35) instead
of (6.39). Let us suppose that we use constant weighting matrices: QN-j-l = Q
and RN-j-l = R, so that (6.35) becomes
(6.46)
Now introduce the matrix
(6.47)
then, substituting for Pj+1 in (6.46) gives
(6.48)
But this is an algebraic Riccati equation (because the same matrix Pj appears on
both left and right hand sides) . It has been called the Fake Algebraic Riccati Equation (or F ARE) because it does not arise directly from an infinite-horizon LQ probIem. If this equation has a solution Pj 2: 0, and ij Q,j 2: 0, then applying the constant
state-feedback gain Kj (ie apply the same gain Kj at each time) will give a stabie
feedback law, where Kj is obtained from Pj using (6.40). So, one way of ensuring
a stabie (unconstrained) predictive controllaw is to ensure that the fake algebraic
Riccati equation
(6.49)
(with A replaced by etc) with Q,N-l 2: 0 has a solution PN- 1 2: O. Note that
standard algorithms are available for solving the algebraic Riccati equation; In Matlab's Control System Toolbox it can be solved using the function dare.
Since we start with Q 2: 0, we will have Q,N-l 2: Q 2: 0 providing that PN ::; PN-l.
In [2] it is shown that if Pt +1 ::; Pt, then PHi+l ::; PHj for all j 2: O. This shows
that stability can be ensured by introducing a suitable Po into the predictive control
problem, which is the same as introducing a suitable terminal penalty (see (6.34)).
In fact, Q,o 2: Q is sufficient to give stabililty. In [2] it is shown that it is not enough
just to make Po 'very large', although there are some specific ways of making Po
'large' which have the desired effect. One particular way of doing this is to set
Wo = PO
- 1 = 0, and propagating Wj = p j- 1 instead of Pj .4 Note that this is a
particular way of making Po infinite, and hence is equivalent to imposing a terminal
constraint.
4 As

is done in 'information filter' versions of the Kalman filter, and in recursive least-squares.

122

CHAPTER 6. STABILITY

There is one further technicality involved: the pair (A, Q~~l) should be detectable.
But it is shown in [2) that, if (A, Ql/ 2) is detectable and QN-l 2': Q, then (A, Q~~l)
is detectable. 80 there is no problem. There are several other related and interesting
results in [2).
It should be emphasised that the Fake Aigebraic Riccati Equation approach gives
sufficient but not necessary conditions for stability of predictive control laws. In
particular, ifthe GPC formulation ofpredictive control is used, in which P(O) is fixed
as P(O) = Q = Cr; Cy and R = U , and if the prediction and control horizons are
made the same, Hp = Hu, then Pj can be shown to be monotonically nondecreasing,
rather than nonincreasing [2]. Nevertheless, GPC laws can be stabilising, even with
this choice of horizons.

We have examined three ways of ensuring stability: imposing terminal constraints,


using infinite horizons, and using the FARE approach. We have seen that they
all reduce to modifying the weight on the terminal control error in some way. In
that sense the three approaches are not so different from each other. But we can
note that the first and most obvious way of achieving stability, namely imposing
terminal constraints, is in general unnecessarily severe - one does not have to
make the terminal weight infinitely large in order to obtain stability. In [36) an
alternative analysis is performed for finite-horizon predictive control, and theorems
are presented which inc1ude some of the earlier results as special cases.
The authors of [2] conc1ude by suggesting the use of infinite horizons, so perhaps
the FARE method is only of historical interest now.

6.4

Using the Youla Parametrization

If the plant is stabie, then it is known that the feedback system shown in Figure
6.1 is internally stabie if and only if the block labelled Youla parameter is stabie,
providing that the internal model is an exact model of the plant [26, 52) . This holds
under rather general conditions j all the blocks shown in the figure can be nonlinear
operators, for example. Furthermore, for linear systems it is known that every stabie
feedback system can be represented in this way (if the plant is stabie) - so nothing
is lost by assuming this form. (The term 'parameter' here comes from the fact that
as the Youla parameter ranges over all stabie systems, so it generates all possible
stabilising controllers for the given plant. But it is not just a number!)

Let the Youla Parameter shown in Figure 6.1 have transfer function (matrix) Q(z) ,
and let both the Plant and the Internal Model have transfer function P(z). We have

u(z) = Q(z)[y(z) - P(z)u(z)]

(6.50)

[1 + Q(z)P(z)]u(z) = Q(z)y(z)

(6.51)

so that

6.4.

USING THE YOULA PARAMETRIZATION

123

u(k)

YOULA

y(k)

PLANT

PARAMETER

+
INTERNAL

- -,

f----i~

MODEL

CONTROLLER

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ______ 1

Figure 6.1: Youla parametrization of all stabie feedback systems (if the plant is
stabie).

and hence

u(z)

= [I + Q(z)p(z)tlQ(z )y(z)

(6.52)

Comparing this with the more conventional representation of a feedback system


shown in Figure 5.1, in which we have u(z) = -K(z)H(z)y(z) (if we ignore the
reference signal rand the noise n), we see that the following correspondence holds:

K(z)H(z) = -[I + Q(z)p(z)tlQ(z)

(6.53)

From this, it is very easy to obtain the correspondence in the other direction:

Q(z)

= -K(z)H(z)[I + P(z)K(z)H(z)tl

(6.54)

If the plant is unstable (and linear) then closed-Ioop stability can still be characterised by the stability of the Youla parameter, but its definition in terms of the
controller becomes more complicated [26, 52J. Figure 6.1 has to be replaced by a
more complicated block diagram.
Mathematically, the set of all stabie Youla parameters is an infinite-dimensional
space, so optimising over it can only be done for particular problems (such as unconstrained LQG or Hoo problems) . But it is also possible to parametrise some
subset of all stabie systems by a finite number of parameters, which converts the
optimization into a finite-dimensional one. Furthermore, if the parametrisation is
linear and the cost function is quadratic then the problem remains convex. This
is due to the remarkable property of the Youla parameter, that all the closed-loop
transfer functions which are of interest are affine in this parameter - that is, they
all have the form XQY + Z, where Q is the Youla parameter, and X, Y and Z

124

CHAPTER 6. STABILITY

are some (fixed) transfer functions. 5 There have been some propos als to solve the
constrained predictive control problem with this approach [43, 49].
Example 6.2 All SISO FIR systems of order nare parametrized linearly by the n
terms of their pulse responses H(O), H(l), . .. ,H(n - 1) .
Prom Figure 6.1 it is apparent that u(z) = Q(z)d(z), where d is the output disturbance. But if Q(z) is an FIR filter of order n then Q(z) = H(O) + z-l H(l) + .. . +
z -nH(n). Hence the control signal can be computed as
n

(k

+ jlk) =

L H(i)d(k + j -

ilk)

(6.55)

i=O

or, equivalently,
n

(k + jlk) =

L H(i)[d(k + j

- ilk) - dek

+j

- i - 11k)]

(6.56)

i=O

Note that Ll(k + jlk) is linear in the pulse response coefficients H(O), .. . ,H(n).
Furthermore, the disturbance estimates dek + j - ilk) do not depend on future inputs
(k + jlk). So substituting (6.56) into (2.25), for instance, makes the state predictions depend linearly on the pulse response coefficients, and hence the cost function
(2.11) is quadratic in these coefficients. So the problem remains quadratic.
N ote, however, that the constraints on the input levels and the input moves are now
related to the 'decision variables', namely to the pulse response coefficients, through
transfer functions .

6.5

Constraints and Feasibility

The stability results given above hold only if the constrained optimization problem
is feasible over the whole infinite horizon. First of all, the problem must be initially
feasible. That is, the initial state x(k) must be such that the plant can be stabilised
in the presence of constraints. Without constraints this would be just the condition
of stabilizability, but with constraints a stronger condition is needed. For an unstable
system with constraints on input levels and/or moves, there may be no value of Hu
for which stabilisation can be achieved - this depends on the initial condition.
Example 6.3 Suppose that
x(k + 1)

= ax(k) + u(k)

witha> 1

50ne consequence of this is that the minimisation of any induced norm of a c1osed-loop transfer
function , IIXQY + ZII, is a convex optimisation problem. The book [3] is devoted to exploiting this.

6.5. CONSTRAINTS AND FEASIBILITY


and that lu(k)1

< Urn.

With x(k)

x(k

> 0 we

+ i) > aix(k) -

have
(a i - 1 + ...

.
a i -1
= a'x(k) - - - U r n
a-I
~ aix(k) - ai-1u m
80 Ix(k

+ i)l--+ 00

as i --+

00

125

+ a + l)urn

(6.57)
(6.58)

ij a 1

(6.59)

iJ Urn < Ix(k)l

Rawlings and Muske use the term constrained stabilizable to denote the condition
when such phenomena do not occur.
Secondly, the constraints must be consistent with the required set-point. For example, if the plant state is to be driven to 0, then the constraints must allow U = O.

126

6.6

GHAPTER 6. STABILITY

Problems

1. Verify that

iJ is given by (6.30) and (6.31)

in the case of an unstable plant.

2. For the plant

x(k + 1) = 0.9x(k)

+ 0.5u(k),

y(k)

= x(k)

suppose that the infinite-horizon case (Hp = 00) is to be solved.


(a) Formulate an equivalent finite-horizon problem if Q(i) = 1, R(i) = 0, and
Hu =2.
(b) Find the predictive controller and simulate the set-point response.
(c) What feature of the MPC Tooibox would prevent you from following this
procedure in general?
3. The infinite-horizon LQ problem requires the assumptions that (A, B) is a
stabilisable pair and that (A, Ql/2) is a detectable pair. To put the standard
predictive control problem into the LQ framework, we need to use the matrices
, , and Q, as defined in (6.42) and (6.44). Show that, if (, ) is stabilisable
then so is the pair (A , B) , and that if ( , Ql/2) is detectable then so is the
pair (A, Ql/2C) . (Note that you can take Ql /2 = [Ql /2G,0] .)
4. Consider the finite-horizon LQ problem for a plant with
(6.60)
Verify that if

PN -

=[

0]

16
0 16

(6.61)

and R = 1 then the corresponding state-feedback gain matrix is KN-l =


[0,1.8824] and that this gives a stable feedback law. Show, nevertheless, that
this solution corresponds to a value of QN-l which is not positive-definite.
(This underlines the fact that the FARE approach gives a sufficient, but not
necessary, condition for stability.)

Chapter 7

Robust Predictive Control


7.1

Formulations of Robust Control

Most formulations of robust control problems take the following general form. The
plant is assumed to be known only approximately; this is represented by assuming
that the plant lies in a set which can be characterised in some quantitative way.
The objective of robust control design is then to ensure that some performance
specification is met by the designed feedback system, so long as the plant remains
in the specified set .

7.1.1

Norm-bounded uncertainty

The most common specification of plant uncertainty is 'norm-bounded'. It is assumed that one has a nominal model ofthe plant, say a transfer function Po(z), but
that the real plant P(z) is given by a description such as:

P(z) = Po(z) +.6.


P(z) = Po(z)[I +.6.]
P(z ) =

(7.1)
(7.2)

[Mo(z) + .6.Mt1[No(z) + .6. N] where Po(z)

= Mo(z)-lNo(z)

(7.3)

where, in each case, .6. is a stabie bounded operator, with Po(z) being normalised in
such a way that 11.6.11 ::; 1. Various assumptions can be made about the nature of.6.:
nonlinear, linear time-varying, linear parameter-varying, linear time-invariant being
the most common ones. Also various norms can be used; the most commonly used
one is 11.6.1100, which is defined even for nonlinear systems, as the worst-case 'energy
gain' of an operator.
The descriptions given above are known as unstructured uncertainty descriptions.
In practice much more specific information is available about the way in which
127

CHAPTER 7. ROBUST PREDICTIVE CONTROL

128

the plant behaviour can vary. For example it may be known that specific physical
parameters, such as mass or resistance, can vary within known limits. In such cases
a norm-bounded description can still be used, but the operator . then is restricted
to have a fixed structure. It can usually be arranged that this structure is that of a
block-diagonal transfer function, with specified sizes of the blocks.
For details of the norm-bounded approach to modelling plant uncertainty see [26, 52).

7.1.2

Polytope uncertainty

Another approach to specifying the uncertainty of a plant model is to define regions


in which the parameters defining the model must lie. The difficulty is to do this in
such a way that some analysis is possible on the resulting description.
Early approaches to robust predictive control assumed that the model was defined
as an FIR system of fixed order, and the uncertainty was in the form of bounds
on the pulse response coefficients [7]. This had the advantage that the uncertainty
appeared linearly in the model description. But unfortunately it was later shown
that design methods based on such descriptions did not guarantee robustness.
A more recent approach, which currently seems to be very promising, is that a
number of 'corner' points are known:

x(k + 1)

= A;x(k) + B;u(k)

i = 1,2, .. . , L

(7.4)

and that the real plant lies in the convex hull of these corners:
L

[A,B]

= I:>;[A;,B;)

(7.5)

;=1

The real plant does not need to be fixed. It can vary with time, so long as it remains
within this convex hull [20] .

7.2

LQG/LTR Approach

'Loop Transfer Recovery' is a technique used with the LQG design approach. State
feedback is known to have excellent robustness properties in continuous-time, and
these properties carry over to discrete-time if the sampling interval is small enough
(relative to the bandwidth of the designed feedback system). However these properties hold only with full state measurement, and can be completely lost if an observer
is used to estimate the state.
With the LTR technique one does an LQG design in two steps. In the first step a
state feedback system is designed, using model augmentation and tuning of weights,

7.3. LMI APPROACH

129

until the loop properties (S(z), T(z) and other relevant transfer functions) are such
that they would be satisfactory properties for the overall design. In the second
step an observer is designed using Kalman filter theory, but using artificial noise
covariances, which are chosen in such a way that the properties of the overall loop,
containing both the state feedback and the observer, converge to the properties of
the state feedback loop alone.
In practice the dual of this procedure has to be used with discrete-time systems,
because of technicalities: the Kalman filter (which is itself a feedback system) is
first designed to have good properties, then the state feedback is synthesised by a
systematic procedure which 'recovers' the feedback properties of the Kalman filter .
The authors of [2] advocated using LTR to design adaptive predictive controllers.
Since the approach requires the use of infinite horizons, it did not seem possible, at
that time, to apply this idea to constrained predictive control. Now, however, since
we know how to solve constrained predictive control problems with infinite horizons
- especially since the work of [44], in which both the prediction and the control
horizons are infinite - it seems to be a plausible proposition to use LTR methods
for these problems.
Note, however, that this proposal addresses only the behaviour of the predictive
controller so long as the constraints are inactive.

7.3
7.3.1

LMI Approach
Overview

In [20] a proposal is made to address the issues of maintaining stability as well as


respecting constraints despite the uncertainty in the model description. That is,
robust stability and robust constraint satisfaction are addressed. This work exploits
the very powerful methods which have recently become available for solving Linear
Matrix Inequalities (or LMfs), and the connections which exist between LMfs and
control theory [4]. The approach can be applied to both norm-bounded structured
uncertainty descriptions, and to polytope descriptions.
Although the formulation no longer leads to a QP problem, it does lead to an
LMI optimization problem which is a convex problem. The algorithms available
for solving LMI optimization problems appear to be very fast, so that the whole
proposal seems to be a plausible candidate for on-line use.
The formulation of [20] looks rather different from the one that
sidering. The cost function and the constraints are similar to the
the difference being that Iluil is penalised rather than II~ull can be overcome by reformulating the problem as in Section 6.3.

we have been conones we have used,


but this difference
(If this is not done

130

CRAPTER 7. ROBUST PREDICTIVE CONTROL

then properties such as integral action will not be obtained.) The bigger difference
is that the optimization is performed over state feedback matrices Kk, such that
(k + ilk) = -KkX(k) for all i > O. (This is similar to the approach taken in [44] .)
At each step it is assumed that the same state feedback matrix will be used over an
infinite prediction horizon, and this guarantees that this matrix is stabilising. But
in addition to stabilising the nominal plant, it is guaranteed that any plant in the
uncertainty set will be stabilised. This is achieved by obtaining Kk as a solution to
an LMI problem.
Satisfaction of constraints is also guaranteed by solving an LMI problem. If it is
assumed that the current state satisfies x(k)TXx(k) < 1 for some X > 0, the
problem of finding a Kk which ensures that x(k + i f Xx(k + i) < 1 for all i> 0 can
be posed as an LMI problem. This LMI problem can be combined with the previous
one, which gives robust stability, resulting in a bigger LMI problem. 1
Further LMI problems can be posed to handle input constraints, and certain aspects
of performance requirements (such as speed of response). These can all be combined
with the previous LMfs.
An important property of the proposed approach is that if feasibility is obtained at
time k, then it is maintained over the whole infinite prediction horizon.
There are potential problems with this formulation. Firstly, it is not dear whether
it all extends to the case when an observer is used to estimate the state - but
it probably does. Secondly, the LMI optimization problems always minimise an
upper bound for the quantity which is really of interest. It is possible that such
upper bounds are very conservative in some cases, which could seriously reduce the
practicality of the approach. However, in [20J it is daimed that typically the bounds
are not too conservative.

7.3.2

Robustness without constraints

It is assumed that the system is modelled by a time-varying linear model:

x(k

+ 1)

A(k)x(k)

z(k)

Cz(k)x(k)

+ B(k)u(k)

(7.6)
(7.7)

in which the notation A(k), etc, means that the matrices in this model can change
at each step, but it is not meant to imply that their variation is known ahead of
time (as a function of k) . Because their precise variation is not known, the model
behaviour is uncertain. The 'amount' ofuncertainty is prescribed by the assumption
that

[A(k),B(k)]

En

1 A basic property of LMfs is that a set of LMfs can be expressed as a single LMI Minitutorial on LMIs.

(7.8)
see the

7.3. LMI APPROACH

131

where n is a convex polytope derived from either a 'norm-bounded' uncertainty


description or from a 'polytope' uncertainty description.
The cost function is defined to be
00

Voo(k) = ~)llx(k + jlk)II~, + Il(k + jlk)II~}

(7.9)

j=O

Robustness against the effects of uncertainty is obtained by choosing the input to


solve the following 'min-max' problem:
mm

U(k)

max

[A(k+j),B(k+j)]Efl

Voo(k)

(7.10)

where U(k) = [(klk)T, ... ,(k + Hu - 1lkfV, and the maximization is over all
j

? 0.

Now suppose that a function V(x) = xTpx exists, with P > 0, such that for any
pair x(k + jlk), (k + jlk) corresponding to the uncertain model (7.6),

V(x(k + j + 11k)) - V(x(k + jlk)) :S -llx(k + jlk)II~,

Il(k + jlk)ll~

(7.11)

for each j ? 0. Then such a function is an upper bound for the cost Voo(k) . This
can be shown as follows. Assume that Voo(k) < 00, then x(oolk) = 0, and hence
V(x(oolk)) = 0. Now sum both sides of (7.11) from j = to j = 00, which gives

-V(x(klk)) :S -Voo(k)

(7.12)

Since (7.11) was assumed to hold for any model in the assumed uncertainty set, we
have that
max

[A(k+j),B(k+j)]Efl

Voo(k) < V(x(klk))


-

(7.13)

Consequently we can replace the nasty problem (7.10) by the nicer problem:
min V(x(klk))

U(k)

(7.14)

subject to the constraints that (7.11) holds and P > 0. Some conservativeness
enters the problem formulation here, because V(x(klk)) is only an upper bound for
the cost that we really want to minimise. But it is stated in [20] that this is not a
source of much conservativeness in practice. The reason that (7.14) is a relatively
nice optimization problem is that it is convex, whereas (7.10) is not. Problem (7.14)
can be solved with the aid of LMfs.
Solving problem (7.14) is equivalent to solving the problem
min,
"(,P

subjectto

x(klkfPx(klk):S,

(7.23)

where we understand that the solution P depends on U(k) in some way, which
will become clear shortly. But P > 0, so we can define Q = ,p-l > 0, which

CHAPTER 7. ROBUST PREDICTIVE CONTROL

132

Mini-Tutorial: Linear Matrix Inequalities


A Linear Matrix Inequality, or LMI, is a matrix inequality of the form
l

F(v) = Fo

+ L ViFi ~ 0

(7.15)

i=1

where each Fi is a symmetrie matrix, and the scalar variables Vi appear in the inequality
affinely. It is clear that a set of LMIs, Fl(V) ~ 0, ... ,Fm(v) ~ 0 is the same as one large
LMI, obtained by assembling all the matriees F;(v) into one large block-diagonal matrix.
The importance of LMIs is due to the fact that optimization problems of the kind

mineTV subject to F(v) ~ 0

(7.16)

where F(v) ~ 0 is an LMI, are convex problems, that very many convex problems can be
written in this form [4], and that there are very efficient algorithms for solving problems of
this kind [29].
One of the major reasons why LMIs can be used to represent such a wide range of problems
is that convex quadratie inequalities are equivalent to LMIs. In particular, if Q(v) = Q(v)T
and R(v) = R(v)T , and Q(v), R(v) and S(v) are all affine in v, then the pair of inequalities

Q(v) > 0
R(v) - S(vfQ(v)-IS(v) ~ 0

(7.17)
(7.18)

Q(v) S(v)] > 0


[ S(vf R(v) -

(7.19)

is equivalent to the LMI

Example: Consider the convex QP problem (Q


minxTQx + qT X
x

+r

0):

subject to

Ax ~ b

(7.20)

This is equivalent to
min"{ subject to

"X

"{ - x T Qx - qT X
{ Ax ~ b

- r

~0

(7.21)

whieh is equivalent to
min"{ subject to
I ,X

(Ax

~ 1~
~ b)m

0 (7.22)

where (Ax - b); denotes the i'th element ofAx - b, which is in the form of (7.16) Problem 2.

see

133

7.3. LMI APPROACH

makes the inequality constraint equivalent to 1 -x(klkfQ- 1 x(klk) 2: O. From the


equivalence between the pair of conditions (7.17) and (7.18), and (7.19), we see that
this constraint is equivalent to the LMI
Q
[ x(klkf

x(klk) ]
1
2: 0

(7.24)

Now we assume that the control signal will be determined by the state feedback law
(k + jlk) = K;(k + jlk), for some matrix Kk, and we substitute for (k + jlk) in
inequality (7.11). This gives the inequality
x(k

+ jlk)T [{A(k + j) + B(k + j)Kk}T P{A(k + j) + B(k + j)Kk}-P+ K[RKk

+ QI] x(k + jlk)

~0

(7.25)

which will be true for all j 2: 0 if


{A(k

+ j) + B(k + j)KdTp{A(k + j) + B(k + j)Kk} - P + K[RKk + Ql ~ 0


(7.26)

This inequality turns out to be another LMI. It can be pre- and post-multiplied by
Q, since Q > 0, and then the substitution P = "(Q-l made. Defining Y = KkQ
then gives the inequality
Q - {A(k

+ j)Q + B(k + j)y}T Q-l{A(k + j)Q + B(k + j)Y} - .!.QQl Q "(

.!. yT RY 2: 0

(7.27)

"(

which, using (7.18), is the same as the LMI (with variables "(, Q, Y):

"(I

0
"(I

QQi/ 2 y T R T / 2

A(k

+ j)Q + B(k + j)Y


Q~/2Q
Rl/2y

1
2: 0

(7.28)
Now suppose that [A(k + j), B(k + j)l belongs to the convex polytope n = [A, Bl
defined by (7.5) . Since the LMI (7.28) is affine in A(k+ j) and B(k+ j), it is satisfied
for every [A(k + j), B(k + j)] En if and only if it is satisfied at its 'corners', namely
for every pair (Ai, Bi) ' So we need the following set of LMIs to be satisfied:

o
"(I

0
0
"(I

i = 1, ... ,L

QQi/ 2 y T RT/2

(7.29)

CHAPTER 7. ROBUST PREDICTNE CONTROL

134

So finally we see that we obtain a robust solution to the predictive control problem .
without constraints by solving the convex problem:
min I

'Y,Q,Y

subject to (7.24) and (7.29)

(7.30)

and, if it has a solution, setting Kk = YQ-l and (k + jlk) = KkX(k + jlk). As


remarked earlier, this solution assumes that the state vector is measured, because
x(klk) = x(k) appears as data in (7.24) .
Note that the state-feedback matrix Kk may change with k, since it depends on
x(k), even though we have so far considered the unconstrained problem. This is a
distinct difference from the 'standard' formulation, in which the model uncertainty
is not considered. In that case, of course, we get a time-invariant feedback law.
If the uncertainty description arises from using a norm-bounded Ll model, then a
robust feedback law can be found by solving a slightly different LMlproblem [20] .

7.3.3

Robustness with constraints

Input and output constraints can be included in the robust predictive control formulation, by adding further LMIs. Thus the nature of the solution algorithm does
not change, although the complexity of the problem increases, of course. In this
section we again assume that [A(k + j), B(k + j)] belongs to the convex polytope
n = [A, B] defined by (7.5). Similar results for a norm-bounded uncertainty model
are available in [20] .
If problem (7.30) is solved and the corresponding control law is assumed to be
applied, then (7.11) holds, and hence, if Ilx(k+ jlk)llp ::; p then Ilx(k+ j + 1lk)llp ::;
p. Hence if the current state x(klk) satisfies Ilx(klk)llp ::; p then the 'currently
predicted' state x(k + jlk) satisfies Ilx(k + jlk)llp ::; p. So the ellipsoid Ep = {z :
Ilzllp ::; p}, where p = Ilx(klk)llp, is an invariant set for the predicted state. Note
that this holds for all predicted states which might arise from the uncertain plant
model.
Now suppose that we have symmetric constraints on the levels of the input signaIs:
Ii(k

+ jlk)1

::; Ui

(7.31)

We can get a (possibly conservative) sufficient condition for this as follows:

max (YQ- 1 x(k + jlk))l


J

::; maxl(YQ-1V)12
vEtp

::; p211 (YQ-l /2)

(7.32)
(7.33)

JI:

p2 (YQ-1yT)ii

(7.34)
(7.35)

7.3. LMI APPROACH

135

where (YQ-lj2)j denotes the i'th row ofYQ-l/2, and (7.34) is a consequence ofthe
Cauchy-Schwarz inequality.2 Now, using the fact that A 2: B => A jj 2: Bii, wecan
be sure that this is satisfied if there exists X = X T , such that

p~]

[p;'T

2: 0 with X ji ::;

ur,

i = 1, ... ,m.

(7.36)

This condition is an LMI in the variables X, Y and Q.


Now suppose that we have symmetric output constraints:
(7.37)

Again we can get a (possibly conservative) condition for this:


IZi(k

+ jlk)1

::; max ICjx(k


j<,:O

+ jlk)1

(7.38)

where we use Cj here to denote the i'th row of CZ. Hence


IZj(k

+ jlk)1

::; max IC;[A(k


vEE:p

+ j) + B(k + j)Kk]vl

(7.39)

pV~IIC-j-[A-(-k-+-j)-+--B-(k-+-J-)K--k]-Q-l/-21-1~

So the constraint IZj(k

+ jlk)1

(7.40)

::; Zj will be satisfied if x(klk) E &p and


(7.41 )

But this is equivalent to


[ pCj[A(k

+ j)Q + B(k + j)Y]

p[A(k

+ j)Q + B(k + j)YVcT

z;

-> 0

Dh
or eac J.

(7.42)

Since this is affine in A(k + j) and B(k + j), this inequality will be satisfied for every
[A(k + j), B(k + j)] E (2 if
Q

[ p Cj [A j Q +

B Y]
j

p[AjQ + ~jy]TCT ]
Zj

2: 0 for

j = 1, ... ,L.

(7.43)

Again, this is a set of LMIs.


Of course simultaneous satisfaction of all the input and output constraints is ensured
by simultaneous satisfaction of the LMIs (7.36) and (7.43).
In [20] it is also shown that 'energy' constraints on Il(k + jlk)112 and Ilz(k + jlk)112
can be satisfied by the satisfaction of similar LMIs.
The feedback control law obtained by minimising, over the variables " Q, X, Y
while satisfying the LMIs (7.24), (7.29), (7.36) and (7.43) is stabie (over all plants
2For real vectors, laTbl ~ Ila11211b1l2.

136

CHAPTER 7. ROBUST PREDICTIVE CONTROL

in the specified uncertainty set 0), providing that it is feasible. The argument is
essentially the same as that used in section 6.2.1. Let V(x(klk)) = x(klk)T Pkx(klk),
where Pk = "(kQ,/ and "(k, Qk are the values of"( and Q obtained by solving the
LMI problem at time k . If we assume, as usual in stability proofs, that no new
disturbances occur after time k, then
max x(k + 11k + l)T Pkx(k + 11k + 1) =

[A,BJEO

But x(k

max x(k + 11k)T Pk x(k + 11k).

[A,BJEO

+ 11k) E t'V(x(klk))' so
max x(k + 11k + l)T Pkx(k + 11k + 1) ~ V(x(klk)) .

[A,BJEO

FUrthermore, the solution obtained at time k remains feasible at time k + 1 - see


Problem 5. Therefore the solution obtained at time k + 1 will be at least as good as
that obtained at time k, and hence
V(x(k + 11k + 1)) = x(k + 11k + l)TPk+1X(k + 11k + 1) ~
x(k + 11k + l)TPkX(k + 11k + 1) ~ V(x(klk)).

(7.44)

Thus the function V(x(klk)) is a Lyapunov function for the uncertain system, and
hence the closed loop is robustly stabie.

7.4. PROBLEMS

7.4

137

Problems

1. Show that any inequality of the form F( v) ;::: 0, in which F( v) is symmetrie


and affine in the vector v, is an LMI.
2.

(a) Verify that the minimisation problem (7.22) eorresponds to the QP problem (7.20).
(b) Verify that (7.22) is in the form of (7.16) -

use Problem 1.

3. Show that the standard LP problem: min", eT x subjeet to Ax 2: b is equivalent


to a problem in the form of (7.16).
4. Show that the inequality (7.41) is equivalent to the LMI (7.42) .
5. Supply the missing step in the proof of robust stability in section 7.3.3: Note
that the only LMlwhich depends explicitlyon the state measurement x(klk)
is (7.24) . Use the fact that x(k + 11k + 1) is obtained by the state feedback law
Kk, and that t'V("'(klk)) is an invariant set for x(k + jlk + j) (in the absence of
disturbances) , to show that
Qk

x(k

+ 11k + l)T

x(k

+ 11k + 1)
1

>0
-

(7.45)

and hence that the solution obtained at time k remains feasible at time k + 1.

138

CHAPTER 7. ROBUST PREDICTIVE CONTROL

Chapter 8

Perspectives
This chapter should really be called 'Unfinished Business'. It is a not very ordered
collection of things I have not had time to cover earlier in the course; each of them
is treated extremely briefly. Most of the topics are discussed in [41] , which also has
an extensive list of references.

8.1

Parametrising the Control Input

The commercial product Predictive Functional Contral (FPC), sold by the French
company Adersa, was perhaps the first variation of predictive control to recognise
that there were various ways of parametrizing the set of future control trajectories. This product assumes that these trajectories are piecewise-polynomial, and the
optimization is performed over the set of coefficients of the specified family of polynomials. The penalty associated with this is that it cannot handle hard output
constraints. But the benefit is that the designer can use knowledge of the problem
to specify a suitable set of polynomials, and the optimization is very fast, since it is
typically over only 2 or 3 parameters. This product seems to have been developed
specifically for use with fast electro-mechanical servo problems.
There is some current research aimed at finding other effective parametrizations.

8.2

Zones, Funnels and Coincidence Points

We have represented the control objectives as a reference trajectory for the controlled
outputs to follow. In some applications the exact values of the controlled outputs
are not important, so long as they remain within specified boundaries, or 'zones'.
This is easily accommodated within our 'standard problem' by setting Q(i) = 0,

139

140

CHAPTER 8. PERSPECTNES

and leaving only constraints on the controlled outputs to define the performance
objectives. If R(i) = 0 also, then something has to be done to ensure that the
optimization remains well-defined. The optimization problem typically simplifies
from a QP to an LP problem, if all the objectives are 'zone' objectives.
A variation of this is to represent the objectives by 'funnels', which are the same as
'zones', except that they become narrower over the prediction horizon. If moving
towards a set-point Sj from a lower value zj(k), for example, one can define a 'funnel'
whose upper boundary is Sj, and whose lower boundary is a first-order 'trajectory':

(0 < Cl! < 1)

(8.1)

The advantage of this, over defining a reference trajectory

is that, if an unexpected disturbance is 'benign' and drives Zj towards the set-point,


then no action is taken, whereas the use of a reference trajectory would result in
control action being taken to return Zj towards the reference trajectory, which is
probably not what is really wanted.
According to [41], commercial products enforce funnel constraints as 'soft' constraints, by switching in large penalty weights when the funnel boundaries are
crossed or approached. This results in nonlinear control action (since the weights
dep end on the current state) . It may be preferable to enforce them as 'hard' constraints, by using inequality constraints. That would result in a linear controller, so
long as the funnel boundary constraints were not active.
A third alternative is not to penalise errors between r(k + i) and z(k + iJk) over
the whole prediction horizon, but at only a few points on that horizon. This is in
some ways similar to the 'zone' ideaj if the 'coincidence points' are at the end of
the prediction horizon, this corresponds to expressing indifference about the precise
trajectory of the controlled outputs, so long as they are reasonably close to their setpoints eventually. If different controlled outputs respond with different time-scales,
then the coincidence points for some variables can be made different from those for
others. This idea is easily accommodated within our standard problem formulation:
just set most elements of Q(i) to zero for most i.

8.3
8.3.1

Spare Degrees of Freedom


Ideal resting values

If the plant has more inputs than outputs, then a particular constant set-point
Ys can be held by a whole family of constant input vectors Us . There may be good
reasons for preferring one of these, usually because there are different economic costs

8.3. SPARE DEGREES OF FREEDOM

141

associated with the different control inputs. (Reducing air flow may be cheaper than
burning more fuel, for instance.) The traditional story in optimal control has been
to say that such preferences should be reflected in the choice of the R( i) matrices.
But in practice that is not so easy as it sounds, since Q(i) and R(i) have complicated
effects on the dynamic performance.
The solution adopted by some commercial products is to first do a steady-state leastsquares optimization, to find the best combination of steady-state inputs which will
give a desired set-point vector. If the numbers of inputs and outputs are equal and
the steady-state gain matrix is nonsingular, then this is unnecessary because the
solution is unique. If there are more inputs than outputs, then the equation
(8.2)

is solved in a least-squares sense (Matlab operator \), where W u is a diagonal weighting matrix. This gives the solution with the smallest value of IIWuusll. (Ifthere are
more outputs than inputs then it is usually impossible to reach the correct set-point,
and in this case the equation

(8.3)
is solved in a least-squares sense. )
When there are more inputs than outputs the elements of Us are called the ideal
resting values of the plant inputs for the given set-points. Once they have been found
the cost function used in the predictive control problem formulation is augmented
with the term Z=:!:'o-lll(k + ilk) - usll~(i)' to encourage the inputs to converge to
these 'ideal' values. A danger of this is that, if the steady-state gains are not known
accurately, or if there are constant disturbances, then the computed values of Us
will not be exactly correct for attaining Ys at the output, and steady-state tracking
errors may occur as aresult.

8.3.2

Multiobjective formulations

It is difficult to express all the objectives of control into a single cost function. For
example, assigning a high weight to the control of a particular output is not really
the same as assigning it a high priority. It does not express the objective 'Keep
output j near its set-point only if you can also keep output at its set-point'. A
'multi-objective' formulation makes it easier to do this. We have already seen an
eXanlple of this above, when optimization of input levels was performed, subject
to the equality constraints that the outputs are at their set-points. This can be
generalised to situations in which it may be impossible to meet all the objectives
simultaneously. There are several approaches to multi-objective optimization, but
one well-suited to the situation in which there are various priorities for various
objectives is to have a hierarchy of optimization problems. The most important
one is solved first, then this solution is used to impose equality constraints when
performing the second optimization, and so on.

GHAPTER 8. PERSPEGTIVES

142

The complexity of the optimization problem to be solved may not increase, and may
even decrease, as a result of adopting such a strategy. Predictive control problems
solved in this way can keep a QP formulation at each step, and it is generally quicker
to solve several small problems than one large equivalent problem. In particular, the
first, most important problems to be solved have the smallest number of conflicts
and the largest number of degrees of freedom, so have the best prospects of a good
solution being found, and of this being done quickly. If one runs out of computing time before the next control signal must be produced, then the still-unsolved
problems are the least-important ones.

8.3.3

Fault toleranee

Predictive controllers seem to offer very good possibilities for fault-tolerant control.
If a sensor of a controlled output fails , for example, it is possible to abandon control of
that output by removing the corresponding output from the cost function (by setting
the corresponding elements of Q( i) to zero). An actuator jam is easily represented by
changing the constraints (I~ujl = 0) . If a failure affects the capabilities of the plant,
then it is possible to change the objectives, or the constraints, or both, accordingly.
This is also possible with other control strategies, but it is particularly dear, in the
predictive control formulation, how the required changes should be introduced into
the controller. This is mainly due to the fact that the control signal is re-computed
at each step by solving an optimization problem, so that one can make changes in
the problem formulation. This is a very different proposition to changing the gains
or time constants in a pre-computed controller. 1
Note that it may not be an easy problem to know how to change the problem
formulation if a failure occurs. All that can be said is that, if an appropriate change
is known, then it is easy to introduce it and implement it in the predictive control
framework.
In [27] it is argued that predictive control offers the possibility of a generic approach
to achieving fault-tolerance by reconfiguring the controller in response to a serious
failure. This proposal relies on combining predictive control with the increasing use
of detailed 'high-fidelity' models to represent complex processes, and with progress
in the area of Fault Detection and Identification (FDI).

But it has also been noticed that predictive control has certain fault-tolerant properties even in the absence of any knowledge of the failure. In [28] it is shown that
predictive control, with the standard 'DMC' model of disturbances and with hard
constraints on the input levels, can automatically redistribute the control effort
among actuators, if there are more actuators than controlled outputs, and one (or
more) actuator fails.
'However, it might be possible to re-compute on-Iine controllers for other strategies, which have
traditionaIly been pre-computed off-Iine, rather Iike 'classica)' adaptive control proposaIs.

8.3. SPARE DEGREES OF FREEDOM

143

Some of these capabilities are illustrated in Figure 8.1, which is taken from [27J. It
shows a predictive controller responding to a step demand in the yaw angle of a
large civilian aircraft when the rudder is jammed.
Yawangle

Roll angle
1.5

20

40

60

80

100

20

40

60

80

100

Time[s]

Time[s]
Sideslip angle

Case 1
Case 2
.- Case3

- Case 4
Case 5
-1

20

40

60

80

100

Time[s]

Figure 8.1: Execution of a step change in yaw angle with a jammed rudder.
Case 1 is the normal response when the rudder is working correctly. Case 2 shows the
response when the rudder is jammed, and the predictive control problem formulation
has no constraintsj even in this situation the set-point is eventually achieved, which
indicates that ot her control strategies could achieve this too. Case 3 shows the
response when the controller is aware of the usual 20 rudder angle limit. The
response is now faster, because after a few seconds the controller 'thinks' that it
has driven the rudder to the limit, and starts to move the other control surfacesj
but the controller has no knowledge of the failure in this case. Case 4 shows the
response when the rudder failure is communicated to the controller by reducing
the 'rudder move' constraint to zero. This makes surprisingly little difference in
this case (the curves for Cases 3 and 4 are indistinguishable) j the only difference is
that the controller knows immediately that it cannot move the rudder, whereas in
Case 3 it took about 3 seconds before it realised this. This does not make much
difference to the complete manoeuvre. Case 5 shows that bet ter response can be

144

CHAPTER 8. PERSPECTIVES

achieved by changing the weights - in this case the weight on keeping the roll angle
set-point was reduced, so that the controller made more use of roll angle to reach
its objective; this also shows a potential difficulty of this approach to fault-tolerant
control, namely that in general some re-tuning may be necessary, and this may not
be an easy thing to do on-line.

8.4

Constraint Management

A major problem with using constrained predictive control is reacting to infeasibilities. In general this requires some change to be made to the constraints. The strategy
recommended by Rawlings and Muske [42), and (previously) implemented in DMC,
is to have aeonstraint window within which constraints are enforced (defined in
our notation by C w and Cp in Chapter 6). Infeasibilities can always be removed
from the problem formulation by opening the constraint window late enough. Of
course this may not remove 'real-world' infeasibilities from the plant, and is only a
useful strategy if some eonstraints ean be relaxed without eausing serious damage,
or posing an unacceptable risk.
One school of thought argues that infeasibility is such an unacceptable situation to
face, that 'hard' output constraints should never be used, but should be replaced by
'soft' constraints. Again, this is only a useful prescription if some violation of the
constraints can be tolerated; in practice this means that one has to impose relatively
conservative constraints. 'Hard' input constraints, on the other hand, are acceptable,
both because constraints on inputs are really 'hard' in nature, and beeause input
constraints do not cause infeasibilities - but note that this is only true for stabie
plants.
In [43) a novel way of solving the constrained QP problem is introduced. This solves
the problem as an iteration of weighted least-squares problems, the weights being
changed at each iteration in such a way that the greatest penalty is attached to
the most-violated constraint. This can be shown to find the correct solution to the
QP problem if it exists, but has the advantage that it pro duces a solution even if
the problem is infeasible, rather than giving up, as a conventional QP solver would
do. Furthermore, the solution that is produced is one which tries to minimise the
worst-case constraint violation.
It is widely accepted that the 'correct' thing to do in case of infeasibility is to decide
on the relative importance of the constraints, and to release the relatively unimportant ones until feasibility is recovered. It has recently been proposed [48) that a
systematic way of integrating this process into the predictive control framework can
be developed, by using propositional logic. The idea is that statements about priorities of constraints and objectives can be translated into statements expressed in
propositionallogic. These can be put into a canonical form, which can be tranlsated
into an integer-valued optimization problem. Finally this problem can be combined

8.4. CONSTRAINT MANAGEMENT

145

with the standard QP problem of predictive control, to give a mixed integer quadratic
program (MIQP) - or a mixed integer linear program if the underlying predictive
control problem is formulated as an LP problem (see section 8.6). Global optima of
such problems can be obtained reliably, but the computational complexity involved
is much greater than for ordinary QP or LP problems.

Example 8.1 This example is taken from [48, Example 1}. For the steady-state
model

(8.4)
the most important constraint is maxi IYil ::; 2, while a secondary objective is IY21 ::;
where f > 0 is very smal/. The top-priority constraint can be represented by the
conjunction (simultaneous satisfaction) of three pairs of inequalities such as (for
IYll ::; 2) :

f,

U2

+ dl

-U2 -

::; 2 + 10(1 -I!l)

(8.5)

-I!d

(8.6)

dl ::; 2 + 10(1

where I!l = 0 or I!l = 1, and 10 is chosen as being sufficiently large that it is an upper
bound on IYil under any circumstances. The secondary priority can be represented
by the pair of inequalities:
UI

+ d2 ::; f + 10(1 -1!2)


d2 ::; f + 10(1 -1!2)

-UI -

(8 .7)
(8.8)

where again 1!2 E {O, I} . The idea is that I!l = 1 corresponds to the first constraint
being enforced, and 1!2 = 1 corresponds to the second one being enforced. Now the
clever trick is that the priorities are represented by the linear inequality

(8.9)
because this cannot be satisfied if 1!2

= 1 unless I!l = 1 also.

The optimal control can now be found by solving the (mixed integer) optimization
problem:

(8.10)
(In this case the only objective is the satisfaction of the constraints. There is no
linear or qua dra tic penalty of deviations from the set-point.)
A refinement of this ensures that if one or both constraints cannot be met, then the
amount by which the highest-priority constraint is violated is minimised.

146

8.5

CHAPTER 8. PERSPECTIVES

Nonlinear Internal Models

If the plant exhibits severe nonlinearities, the usefulness of predictive control based
on a linearised model is limited, particularly if it is used to transfer the plant from
one operating point to another one. The obvious solution is to use a nonlinear model,
and quite a lot of research is going on into this possibility. The main disadvantage is
that convexity of the optimization problem is then lost , which is a serious drawback
for on-line application. The disadvantage is not so much that the global optimum
may not be found, since the use of a linearised model only gives the illusion of
finding a global optimum - one finds the global optimum of the wrong problem.
The real disadvantage for on-line use is that one has very little idea of how long each
optimization step will take to complete, whether it will ever terminate, what to do
if it is infeasible, and so on.
A compromise solution is to re-linearise the nonlinear model as the plant moves from
one operating point to another, and to use the latest linear model as the internal
model at each step. This results in a QP problem to be solved at each step, although
the model changes at each step.

8.6

Non-quadratic Costs

The original predictive controllers penalised absolute values of errors rather than
quadratic functions :
Hp

V(k)

=L

L IZj(k + ilk) - rj(k + i)lqj

(8.11)

i=l j=l

subject to hard constraints on IUjl and I..ujl. Such problems are LP rat her than
QP problems. This still seems to be common practice in commercial products.
Several proposals have been made to ensure robustness of predictive controllers by
ensuring that their 'worst-case' properties are satisfactory. This often leads to 'minmax' optimization problems, in which the 'worst' is associated with the 'worst' plant
allowed by the uncertainty description, or the 'worst' disturbance, and the cost in
this worst case is minimised. This also leads to an LP problem (but a rather large
one) in many cases.

8.7

Concluding Remarks

A recent survey, quoted in [41], states that a conservative estimate of the number
of predictive control installations in industry worldwide in 1996 was 2200. Most
of these were in refining and petrochemical applications, but some penetration into

8.7. CONCLUDING REMARKS

147

other industries such as food processing and pulp-and-paper was evident. (The
company Adersa reported 20 applications in the aerospace, defence and automotive
industries. No other vendor reported any applications in these industries .) The
largest of these was an olefines plant, with 283 inputs and 603 outputs.
Clearly predictive control technology is a successful technology. Where does this
success come from? In particular, why has it been so much more successful than
'classical' LQ control, which uses a similar quadratic cost function, which offers
stability and (since ab out 1980) robustness guarantees, but which has had very
little application in the process industries?2 I believe that the source of its success
is not yet dear. I suspect that it is a combination of the following factors, listed
here in decreasing order of importance:
1. Systematic handling of constraints. No other technique provides this. This
reduces the need for ad-hoc 'safety-jacket' software to handle things like integrator wind-up, unexpected conditions, etc. It probably also provides some
robustness, in the sense that if the unconstrained control does not do a good job
and the plant moves towards dangerous regions, then the constraints 'catch' it
and return it to safer regions. This property is probably quite robust, because
it depends largelyon 'coarse' information, such as signs of gains rather than
the precise values. (This is speculationj a worthwhile research area would be
to investigate this.)
2. Commercial predictive control software does a lot more than solve predictive
control problems as formulated in this course. A hierarchy of optimization
problems is solved typically, and there are features which aid constraint and
goal management in case of failures or unusually large disturbances. Combining such functionality with other control strategies might be equally effective
- and there is no particular reason why this could not be done.

3. Commercial vendors usually supply a 'turnkey' system. In addition to selling


the software, they model the plant and tune the controller before handing
it over to the customer. The great majority of the time - months rather
than weeks - goes into modelling and identification. It is not customary for
vendors of PI controllers, say, to provide a similar service, or for the customer
to devote a comparabie effort to modelling and tuning. 3

2But LQ control has had some success in aerospace applications, and in high-peformance servos,
such as those used in disk drives.
3In fact, predictive control vendors often insist on 'tuning up' the low-level PI controllers which
receive set-points from the predictive controllers. One wonders how much of the success is already
due to this preliminary activity.

148

CHAPTER 8. PERSPECTIVES

References
[1] K.J. strm and B. Wittenmark. Computer Controlled Systems: Theory and
Design. Prentice Hall, 1984.
[2] R.R. Bitmead, M. Gevers, and V. Wertz. Adaptive Optimal Control: The
Thinking Man's GPC. Prentice Hall, Englewood Cliffs, NJ, 1990.
[3] S. Boyd and C. Barratt. Linear Controller Design, Limits of Performance.
Prentice-Hall, 1991.
[4] S. Boyd, L. El Ghaoui, E. Feron, and V. Balakrishnan. Linear Matrix Inequalities in System and Control Theory. SIAM, Philadelphia, 1994.
[5] A.E. Bryson and Y-C. Ho. Applied Optimal Control; Optimization, Estimation,
and Control. Hemisphere, Washington, 1975.
[6] E.F. Camacho and C.Bordons. Model Predictive Control in the Process Industry.
Advances in Industrial Contro!. Springer, 1995.
[7] P.J. Campo and M. Morari. Robust model predictive contro!. In Proceedings,
American Control Conference, pages 1021-1026, 1987.
[8] C.T. Chou and J.M. Maciejowski. System identification using balanced parameterizations. IEEE Transactions on Automatic Control, 42:965-974, July
1997.
[9] D.W. Clarke, editor. Advances in Model-Based Predictive Control.
University Press, Oxford, 1994.
[10] D.W. Clarke and C. Mohtadi.
Automatica, 25:859-875, 1989.

Oxford

Properties of generalised predictive contro!.

[11] D.W. Clarke, C. Mohtadi, and P.S. Tuffs. Generalised predictive control Parts land II. Automatica, 23:137-160, 1987.
[12] C.R. Cutier and B.L. Ramaker. Dynamic matrix control- a computer control
algorithm. In Proceedings, Joint American Control Conference, San Francisco,
1980.
[13] R.R. Fletcher. Practical Methods of Optimization. Wiley, 1980.
149

150

REFERENCES

[14] G.F . Franklin, J.D. Powell, and A. Emami-Naeini. Feedback Control of Dynamic
Systems. Addison-Wesley, 3rd edition, 1994.
[15] C.E. Garcia and M. Morari. Internal model control 1. a unifying review and
some new results. Ind.Eng. Chem. Process Design and Development, 21:308-323,
1982.
[16] Gilt, Murray, and Wright. Practical Optimization. Academic Press, 1981.
[17] G.H. Golub and C.F . Van Loan. Matrix Computations. Johns Hopkins University Press, Baltimore, MD, 1983.
[18] M. Huzmezan and J.M. Maciejowski. Notes on filtering, robust tracking and
disturbance rejection used in model based predictive control schemes. In Preprints, 4th IFAC Conference on System Structure and Control, Bucharest, October, pages 238-243, 1997.
[19] T . Kailath. Linear Systems. Prentice Hall, 1980.
[20] M.V. Kothare, V. Balakrishnan, and M. Morari. Robust constrained model
predictive control using linear matrix inequalities. Automatica, 32, 1996.
[21] S.Y. Kung. A new low-order approximation algorithm via singular value decomposition. In Proc. 12th Asilomar Conf. on Circuits,Systems and Computers,
1978.
[22] H. Kwakernaak and R.Sivan. Linear Optimal Control Systems. Wiley, New
York,1972.
[23] J .H. Lee, M. Morari, and C.E. Garcia. State-space interpretation of model
predictive control. automatica, 30:707-717, 1994.
[24] J .H. Lee and Z.H. Yu. Tuning of model predictive controllers for robust performance. Computers in Chemical Engineering, 18:15-37, 1994.
[25] L. Ljung. System Identification: Theory for the User. Prentice Hall, 1989.
[26] J .M. Maciejowski. Multivariabie Feedback Design. Addison-Wesley, Wokingham,UK, 1989.
[27] J .M. Maciejowski. Reconfiguring control systems by optimization. In Proc.
European Control Conference, Brussels, 1997.

4'th

[28] J.M. Maciejowski. The implicit daisy-chaining property of constrained predictive control. Applied Mathematics and Computer Science, 1998. To appear.
[29] The Mathworks. The LMI Tooibox for Matlab.
[30] The Mathworks. Model Predictive Control Tooibox: User 's Guide.
[31] M. Morari. Model predictive control: multivariabie control technique of choice
in the 1990s7 In Clarke [9].

REFERENCES

151

[32] M. Morari and E. Zafiriou. Robust Process Control. Prentice Hall, 1988.
[33] E . Mosca. Optimal, Predictive, and Adaptive Control. Prentice Hall, 1995.
[34] KR. Muske and J.B. Rawlings. Linear model predictive control of unstable
processes. Journalof Process Control, 3:85, 1993.
[35] KR. Muske and J .B. Rawlings. Model predictive control with linear models.
American Institute of Chemical Engineers' Journal, 39:262-287, 1993.
[36] V. Nevistic and J.A. Primbs. Finite receding horizon control: A general framework for stability and performance analysis. Technical Report AUT 97-06,
Automatic Control Laboratory, ETH Zurich, 1997.
[37] J.P. Norton. An Introduction to Identification. Academic Press, New York,
1986.
[38] P. Van Overschee and B. De Moor. Subspace Identification for Linear Systems:
Theory, Implementation, Applications. Kluwer Academic, 1996.
[39] G. Papageorgiou, M. Huzmezan, K Glover, and J .M. Maciejowski. Combined
MBPC/ Hoc autopilot for a civil aircraft. In American Control Conference,
1997.
[40] D.M. Prett and C.E. Garcia.
Boston, 1988.

Pundamental Process Control. Butterworths,

[41] S.J. Qin and T.A. Badgwell. An overview of industrial model predictive control
technology. In Conference on Chemical Pracess Contral, CPC V, Tahoe City,
1996.
[42] J .B. Rawlings and KR. Muske. The stability of constrained receding horizon
control. IEEE Transactions on Automatic Control, 38:1512-1516, 1993.
[43] J .A. Rossiter and B. Kouvaritakis. Constrained stable generalized predictive
control. Proc. Insitution of Electrical Engineers, Part D, 140:243-254, 1993.
[44] P.O. Scokaert and J.B. Rawlings. Infinite horizon linear quadratic control with
constraints. In Proceedings, IFAC World Congress, pages 109-114, San Francisco, July 1996.
[45] P.O .M. Scokaert. Infinite horizon generalized predictive control. International
Journalof Control, 66:161-175, 1997.
[46] R. Soeterboek. Predictive Control: a Unified Approach. Prentice Hall, New
York, 1992.
[47] H.J. Sussmann and J .C. Willems. 300 years of optimal contral: from the brachystochrone to the maximum principle. IEEE Control Systems Magazine,
17:32-44, 1997.

152

REFERENCES

[48] M.L. Tyler and M. Morari. Propositional logic in control and monitoring
problems. Technical Report AUT 96-15, Automatic Control Laboratory, ETH
Zurich, 1996.
[49] T.J.J. van den Boom and R.A.J. de Vries. Constrained predictive control using a
time-varying Youla parameter: a state space solution. In Proceedings, European
Control Conference,. Rome, 1995.
[50] M. Wonham. Linear Multivariable Systems. Springer-Verlag, Berlin, 1974.
[51] H.P. Zeiger and A.J. MeEwen. Approximate linear realization of given dimension via ho's algorithm. IEEE Transactions on Automatic Control, AC-19:153,
1974.
[52] K. Zhou, J .C. Doyle, and K. Glover. Robust and Optimal Control. Prentice
Hall, New York, 1996.

Series 01 : Aerodynamics
01.

02.

03.

04.

05.

06.

07.
08.

09.

10.

11.

12.

13.

F. Motallebi, 'Prediction of Mean Flow Data for Adiabatic 2-D Compressible


Turbulent Boundary Layers'
1997 / VI + 90 pages / ISBN 90-407-1564-5
P.E. Skare, 'Flow Measurements for an Afterbody in a Vertical Wind
Tunnel'
1997 / XIV + 98 pages / ISBN 90-407-1565-3
B.W. van Oudheusden, 'Investigation of Large-Amplitude 1-DOF Rotational
Galloping'
1998 / IV + 100 pages / ISBN 90-407-1566-1
E.M. Houtman / W.J. Bannink / B.H. Timmerman, 'Experimental and
Computational Study of a Blunt Cylinder-Flare Model in High Supersonic
Flow'
1998/ VIII + 40 pages / ISBN 90-407-1567-X
G.J.D. Zondervan, 'A Review of Propeller Modelling Techniques Based on
Euler Methods'
1998/ IV + 84 pages / ISBN 90-407-1568-8
M.J. Tummers / D.M. Passchier, 'Spectral Analysis of Individual Realization
LDA Data'
1998 / VIII + 36 pages / ISBN 90-407-1569-6
P.J.J. Moeleker, 'Linear Temporal Stability Analysis'
1998/ VI + 74 pages / ISBN 90-407-1570-X
B.W. van Oudheusden, 'Galloping Behaviour of an Aeroelastic Oscillator
with Two Degrees of Freedom'
1998/ IV + 128 pages / ISBN 90-407-1571-8
R. Mayer, 'Orientation on Ouantitative IR-thermografy in Wall-shear Stress
Measurements'
1998 / XII + 108 pages / ISBN 90-407-1572-6
K.J.A. Westin / R.A.W.M. Henkes, 'Prediction of Bypass Transition with
Differential Reynolds Stress Modeis'
1998/ VI + 78 pages / ISBN 90-407-1573-4
J.L.M. Nijholt, 'Design of a Michelson Interferometer for Ouantitative
Refraction Index Profile Measurements'
1998/ 60 pages / ISBN 90-407-1574-2
R.A.W.M. Henkes / J.L. van Ingen, 'Overview of Stability and Transition in
External Aerodynamics'
1998/ IV + 48 pages / ISBN 90-407-1575-0
R.A.W.M. Henkes, 'Overview of Turbulence Models for External Aerodynamics'
1998 / IV + 40 pages / ISBN 90-407-1576-9

Series 02: Flight Mechanics


01.

02.

03.

E. Obert, 'A Method for the Determination of the Effect of Propeller Slipstream on a Static Longitudinal Stability and Control of Multi-engined
Aircraft'
1997/ IV + 276 pages / ISBN 90-407-1577-7
C. Bill / F. van Dalen / A . Rothwell, 'Aircraft Design and Analysis System
(ADAS) '
1997/ X + 222 pages / ISBN 90-407-1578-5
E. Torenbeek, 'Optimum Cruise Performance of Subsonic Transport Aircraft'
1998/ X + 66 pages / ISBN 90-407-1579-3

Series 03: Control and Simulation


01.

02.

03.

04.
05.

J.C. Gibson, 'The Definition, Understanding and Design of Aircraft Handling


Qualities'
1997 / X + 162 pages / ISBN 90-407-1580-7
E.A. Lomonova, 'A System Look at Electromechanical Actuation for Primary
Flight Control'
1997 / XIV + 110 pages / ISBN 90-407-1581-5
C.A.A.M. van der Linden, 'DASMAT-Delft University Aircraft Simulation
Model and Analysis TooI. A Matlab/Simulink Environment for Flight Dynamics and Control Analysis'
1998/ XII + 220 pages / ISBN 90-407-1582-3
S.K. Advani, 'The Kinematic Design of Flight Simulator Motion-Bases'
1998/ XVIII + 244 pages / ISBN 90-407-1671-4
J.M . Maciejowski, 'Predictive Control. A Lecture Course Given in the
Aerospace Engineering Faculty TU Delft'
1998/ XII + 156 pages / ISBN 90-407-1714-1

Series 05: Aerospace Structures and


Computional Mechanics
01.

02 .

03 .

04.

A.J . van Eekelen, 'Review and Selection of Methods for Structural Reliability Analysis'
1997 / XIV + 50 pages / ISBN 90-407-1583-1
M.E. Heerschap, 'User's Manual for the Computer Program Cufus. Quick
Design Procedure for a CUt-out in a FUSelage version 1 .0'
1997 / VIII + 144 pages / ISBN 90-407-1584-X
C. Wohlever, 'A Preliminary Evaluation of the B2000 Nonlinear Shell
Element Q8N .SM'
1998/ IV + 44 pages / ISBN 90-407-1585-8
L. Gunawan, 'Imperfections Measurements of a Perfect Shell with Specially
Designed Equipment (UNIVIMP)
1998 / VIII + 52 pages / ISBN 90-407-1586-6

Series 07: Aerospace Materials


01.

02.

03 .

04.

05.

06.
07.

08.

A. Vasek / J. Schijve, 'Residual Strenght of Cracked 7075 T6 AI-alloy


Sheets under High Loading Rates'
1997 / VI + 70 pages / ISBN 90-407-1587-4
I. Kunes, 'FEM Modelling of Elastoplastic Stress and Strain Field in Centrecracked Plate'
1997 / IV + 32 pages / ISBN 90-407-1588-2
K. Verolme, 'The Initial Buckling Behavior of Flat and Curved Fiber Metal
Laminate Panels'
1998/ VIII + 60 pages / ISBN 90-407-1589-0
P.W .C. Prov6 Kluit, 'A New Method of Impregnating PEl Sheets for the InSitu Foaming of Sandwiches'
1998/ IV + 28 pages / ISBN 90-407-1590-4
A. Vlot / T . Soerjanto / I. Yeri / J.A. Schelling, 'Residual Thermal Stresses
around Bonded Fibre Metal Laminate Repair Patches on an Aircraft Fuselage'
1998/ IV + 24 pages / ISBN 90-407-1591-2
A . Vlot, 'High Strain Rate Tests on Fibre Metal Laminates'
1998 / IV + 44 pages / ISBN 90-407-1592-0
S. Fawaz, 'Application of the Virtual Crack Closure Technique to Calculate
Stress Intensity Factors for Through Cracks with an Oblique Elliptical Crack
Front'
1998 / VIII + 56 pages / ISBN 90-407-1593-9
J. Schijve, 'Fatigue Specimens for Sheet and Plate Material'
1998 / VI + 18 pages / ISBN 90-407-1594-7

Series 08: Astrodynamics and Satellite Systems


01.
02.

03.

E. Mooij, 'The Motion of a Vehicle in a Planetary Atmosphere'


1997 I XVI + 156 pages I ISBN 9.0-407-1595-5
G.A. Bartels, 'GPS-Antenna Phase Center Measurements Performed in an
Anechoic Chamber'
1997/ X + 70 pages / ISBN 90-407-1596-3
E. Mooij, 'Linear Quadratic Regulator Design tor an Unpowered, Winged Reentry Vehicle'
1998/ X + 154 pages / ISBN 90-407-1597-1

ISBN 904071714-1

9 799040 717146

DELFT AEROSPI\.~~
EN G INEERIN G

&

TE C HN010GY

Anda mungkin juga menyukai