You are on page 1of 30

MODEL PREDICTIVE CONTROL

DISC COURSE
Ton J.J. van den Boom
Delft Center for Systems and Control
Delft University of Technology
Email: T.J.J.vandenBoom@dcsc.tudelft.nl
Ton C.P.M. Backx
Measurement and Control Systems Group
Faculty of Electrical Engineering
Eindhoven University of Technology
Email: A.C.P.M.Backx@ele.tue.nl

DISC

Model Predictive Control (October 2005)

Notes chapter 1 - slide 1

COURSE SCHEDULE
[10 oct:] Chapters 1, 2, 3
[17 oct:] Chapters 4, 5
[24 oct:] Chapters 6, 7, 8
[31 oct/7 nov:] Chapters 9, 10

EXERCISES

Four homework assignment sets


MATLAB & Open questions
DISC

Model Predictive Control (October 2005)

Notes chapter 1 - slide 2

1. MOTIVATION OF MPC FOR INDUSTRY


Enormous challenge for industry:

World-wide competition
Capacity exceed demand
Tight legislation

Supply driven production

Market driven production

Two tendencies:

Economy of scale
Flexible plants
DISC

Model Predictive Control (October 2005)

Notes chapter 1 - slide 3

PROBLEM STATEMENT:

d(k)
u(k)

- unit
- process

- y(k)

(k)
- disturbance

d(k)
model
??

r(k)

- controller

@
@ +
+
@
process
R?
@
b
model

optimization/
constraint
handling

Model Predictive Controller

DISC

d(k) = disturbances

d(k)
= measured disturbances

(k) = operating constraints

r(k) = setpoints and ranges

u(k) = inputs

y(k) = outputs

Model Predictive Control (October 2005)

Notes chapter 1 - slide 5

HISTORY of MPC

pioneered by Richalet (1979) and Cutler & Ramaker (1979)


succesfull applications were reported
easy theory and concept
academic interest

- Self-tuning control
- Minimum Variance control
- Generalized Predictive Control (GPC)

many applications:
distillation column, hydrocracker, fluidized bed catalytic cracker,
utility boiler, chemical reactor, transonic wind tunnel, robot arm,
servo mechanism, mechatronic servo system, pulp and paper plant

DISC

Model Predictive Control (October 2005)

Notes chapter 1 - slide 6

Reasons acceptance of predictive control

DISC

multivariable systems
handle large time-delays
nonminimum-phase & unstable processes
easy-to-tune method
handle signal constraints
handle structural changes
increased profit !!

Model Predictive Control (October 2005)

Notes chapter 1 - slide 7

Methodology, not a single technique.


Differences in details.
Predictive control:

Model Predictive Control (MPC)


Model Based Predictive Control (MBPC)
Receding Horizon Control (RHC)
Moving Horizon Control (MHC)

Large number of MPC-methods :


IDCOM, DMC, EPSAC, MAC, QDMC,
GPC, PFC, IDCOM-M, UPC, SPC

DISC

Model Predictive Control (October 2005)

Notes chapter 1 - slide 8

BASICS OF PREDICTIVE CONTROL


Five ingredients are recognizable:

Process + disturbance model


Performance index
Constraint handling
Optimization
Receding horizon principle

Theory:

analysis is difficult
Practice:

accurate tuning for stability & robustness


DISC

Model Predictive Control (October 2005)

Notes chapter 1 - slide 9

Basics of predictive control




FUTURE
-

PAST

r(k)
q q q q q q q
q
q
q q
y(k)
q
q
q

q
q q
q
q q

u(k)
Nm

Nc

DISC

Model Predictive Control (October 2005)

N
k+ j -

Notes chapter 1 - slide 10

Process model and Disturbance model


Linear time-invariant discrete-time model:

x(k + 1) = A x(k) + B1 e(k) + B2 w(k) + B3 v(k)


y(k) = C x(k) + D11 e(k) + D12 w(k)
where

v(k)
y(k)
x(k)
e(k)
w(k)

DISC

is the input of the system


is the output of the system
is the state of the system
is zero-mean white noise (unmeasurable disturbances)
denotes of all known signals (measurable disturbances)

Model Predictive Control (October 2005)

Notes chapter 1 - slide 11

GPC performance index:


N

J(u, k) =

j=Nm

Nc

2
y p (k)(k + j|k) r(k + j|k) +2 | u(k + j 1) |2
j=1

r(k)
y(k)
u(k)
y p (k)
Nm
N
Nc

DISC

is the reference trajectory


is the process output signal
is the process control increment signal

= P(q)y(k)
is the minimum cost- horizon
is the prediction horizon
is the control horizon
is the weighting on the control signal

Model Predictive Control (October 2005)

Notes chapter 1 - slide 12

LQPC performance index:

J(u, k) =

j=Nm

xT (k + j|k)Qx(k
+ j|k) + uT (k + j 1)Ru(k + j 1)
j=1

x(k)
u(k)
Q
R

DISC

is the state signal vector


is the process control signal
is the state weighting matrix
is the control weighting matrix

Model Predictive Control (October 2005)

Notes chapter 1 - slide 13

Zone-control performance index:


N

J(u, k) =

j=Nm

Nc

2 (k+ j|k) + 2 u2 (k+ j1)


j=1

where

(k) =

DISC

for

| y(k)r(k)

| m

y(k)r(k)

for

y(k)r(k)

y(k)r(k)+

for

y(k)r(k)

is the size of the zone

Model Predictive Control (October 2005)

Notes chapter 1 - slide 14


Tracking error y(k) r(k)

y(k)r(k) >

2
1

0
1

2
3

10

12

14

16

18

20

10
k >

12

14

16

18

20

1.5

(k) >

1
0.5
0
0.5
1
1.5

zone performance signal (k)

DISC

Model Predictive Control (October 2005)

Notes chapter 1 - slide 15

Standard Predictive Control Problem:


Consider the system

x(k + 1) = Ax(k) + B1 e(k) + B2 w(k) + B3 v(k)


y(k) = C1 x(k) + D11 e(k) + D12 w(k)
z(k) = C2 x(k) + D21 e(k) + D22 w(k) + D23 v(k)

The MPC controller minimize the following performance index at time k:


N1

J(v, k) =

zT (k + j|k)( j)z(k + j|k)

j=0

DISC

Model Predictive Control (October 2005)

Notes chapter 1 - slide 16

Performance index
Standard:
N1

J=

zT (k + j|k)( j)z(k + j|k)

j=0

LQPC:

J(u, k) =

j=1

j=1

+ j|k) + uT (k + j 1|k)Ru(k + j 1|k)


xT (k + j|k)Qx(k

N1

xT (k + j + 1|k)Qx(k
+ j + 1|k) +

j=0

uT (k + j|k)Ru(k + j|k)

j=0

z(k) =
DISC

N1

z1 (k)
z2 (k)

Q1/2 x(k + 1)
R1/2 u(k)

Model Predictive Control (October 2005)

=I

Notes chapter 1 - slide 17

Performance index
Standard:
N1

J=

zT (k + j|k)( j)z(k + j|k)

j=0

GPC:
N


2
J(u, k) = y p (k + j|k) r(k + j|k) + 2
j=1

N1

j=0

2
|
|
u(k
+
j

1|k)

j=1

N1
2
y p (k + j + 1|k) r(k + j + 1|k) + 2 | u(k + j|k) |2

z(k) =
DISC

j=0

z1 (k)
z2 (k)

y p (k + 1) r(k + 1)
u(k)

Model Predictive Control (October 2005)

=I

Notes chapter 1 - slide 18

Performance index (Minimum cost horizon)


#
"
Choose
0 0

for 0 j < Nm 1

0 I
1 ( j)
0
=
"
#
( j) =

0
2 ( j)

I 0

for Nm 1 j N
0 I
Then

N1

J=

zT (k + j|k)( j)z(k + j|k)

j=0
N1

zT1 (k + j|k)1( j)z1 (k + j|k) + zT2 (k + j|k)2( j)z2 (k + j|k)

j=0

N1

j=Nm 1
DISC

zT1 (k + j|k)z1 (k + j|k) +

N1

zT2 (k + j|k)z2 (k + j|k)

j=0
Model Predictive Control (October 2005)

Notes chapter 1 - slide 19

CONSTRAINTS
Inequality constraints:

umin u(k) umax


ymin y(k) ymax

umin u(k) umax


xmin x(k) xmax

or

(k) (k)

Equality constraints:

(k) = 0
Motivated by control requirements
DISC

Model Predictive Control (October 2005)

Notes chapter 1 - slide 20

Multiple constraints can be combined by stacking


Equality constraints:

1 (k) = 0

..
.

n (k) = 0
Inequality constraints:

1 (k)
1 (k)

..
.

m (k)
m (k)

DISC

(k) =

(k)
=

1 (k)

..
.

m (k)

Model Predictive Control (October 2005)

1 (k)
..
.

n (k)

=0

1 (k)

..
.

m (k)

= (k)

Notes chapter 1 - slide 21

Two-sided inequality constraint

1,min (k)
1,max (k)
1 (k)

can be translated into one-sided inequality constraint

1,max (k)

= (k)

(k)
=
1,min (k)
1 (k)

DISC

1 (k)

Model Predictive Control (October 2005)

Notes chapter 1 - slide 22

Structuring the input signal


To obtain tractable optimization problem.
Decrease the degrees of freedom in

{ u(k) , u(k + 1) , . . . , u(k + N 1) }


Control horizon Nc .
u(k+ j|k) = u(k+Nc 1|k) for j Nc
Blocking.
u(k+ j|k) = u(k+m 1|k) for m j < m+1 , = 1, . . . , nbl
Basis functions.
u(k+ j|k) = M
i=0 Si ( j) i (k)
- Si ( j) are the basis functions
- i (k), i = 1, . . . , M are scalar parameters
DISC

Model Predictive Control (October 2005)

Notes chapter 1 - slide 23

Control horizon

SNc1
SNc2
SNc3
SNc4
SNc5
S2
S1
S0
0

DISC

Model Predictive Control (October 2005)

Nc 1

Notes chapter 1 - slide 24

Blocking

SM
SM1
SM2
SM3
SM4
S2
S1
S0
0

DISC

Model Predictive Control (October 2005)

N1

Notes chapter 1 - slide 25

Example
Model:

Prediction for

2k for 1 k 10, k ZZ
h(k) =
0
otherwise

j0

10

y(k + j|k) =

h(m) u(k + j m)

m=1

DISC

Model Predictive Control (October 2005)

Notes chapter 1 - slide 26

Performance index:
N

J(u, k) =

(k + j|k)

j=1
N

(y(k + j|k) r(k + j))2

j=1
N

10

h(m) u(k + j m) r(k + j))2




j=1 m=1

DISC

Model Predictive Control (October 2005)

Notes chapter 1 - slide 27

Constraints:

u(k + j) = u(k + Nc 1) for j Nc


| u(k + j) | 1.2 for j 0
Optimization:

min J(u, k) =
u

10

j=1 m=1

min

u(k),...,u(k+Nc 1)

2
h(m) u(k + j m) r(k + j)

subject to

u(k + j) = u(k + Nc 1) for j Nc


| u(k + j) | 1.2 for j 0
This is a quadratic programming problem
DISC

Model Predictive Control (October 2005)

Notes chapter 1 - slide 28

Receding horizon principle:

DISC

a time k:

J(k) is minimized
first element u(k) is applied to the system

horizon shifted
optimization restarted

Model Predictive Control (October 2005)

Notes chapter 1 - slide 29

input signal

1.5

1.5

0.5

0.5
u(k) >

y(k),r(k) >

tracking error

0.5

0.5

1
y(k)
r(k)

1.5

DISC

u(k)
bounds
0

5
k >

10

15

1.5

Model Predictive Control (October 2005)

5
k >

10

15

Notes chapter 1 - slide 30

You might also like