MODEL PREDICTIVE CONTROL - TU Delftsc4060/transp/transp01.pdf · MODEL PREDICTIVE CONTROL SC4060...

Post on 23-Apr-2018

218 views 3 download

Transcript of MODEL PREDICTIVE CONTROL - TU Delftsc4060/transp/transp01.pdf · MODEL PREDICTIVE CONTROL SC4060...

MODEL PREDICTIVE CONTROL

SC4060

Ton J.J. van den Boom

Delft Center for Systems and Control

Delft University of Technology

Email: a.j.j.vandenboom@tudelft.nl

SC4060 Model Predictive Control (February-March 2011) Preliminaries - slide 1

COURSE SCHEDULE 2008-2009

Tue 01 Feb : Introduction/Basics (C1/C2) Thu 03 Mar : Stability (C6)

Thu 03 Feb : Basics (C2) Tue 08 Mar : cancelled

Tue 08 Feb : Prediction (C3) Thu 10 Mar : Tuning (C8)

Thu 10 Feb : Standard formulation (C4) Tue 15 Mar : cancelled

Tue 15 Feb : Solution of the SPCP (C5) Thu 17 Mar : cancelled

Thu 17 Feb : cancelled Tue 22 Mar : reserve

Tue 01 Mar : Solution of the SPCP (C5) Thu 24 Mar : Question hour

Tuesday 10:45-12:30 3mE Room-J (Coenraad Storkzaal)

Thursday 08:45-10:30 3mE Room-J (Coenraad Storkzaal)

SC4060 Model Predictive Control (February-March 2011) Preliminaries - slide 2

EXAMINATION

• Written exam on Tuesday April 4 , 9:00-11:00 hrs

• Homework assignment set (MATLAB)

Available in week 9, Hand-in on Monday April 18

QUESTIONS

Minh Dang Doan

Room: 8C-3-10, tel: 015-278 1362, email: m.d.doan@tudelft.nl

SC4060 Model Predictive Control (February-March 2011) Preliminaries - slide 3

Some properties of discrete time systems

CONTINUOUS TIME DISCRETE TIME

state space model

d x(t)d t

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

y(t) = C x(t)+Du(t) y(k) = C x(k)+Du(k)

operators

Sx(t) =d x(t)

d tqx(k) = x(k +1)

transfer function

H(s) = C (s I−A)−1B+D H(z) = C (z I −A)−1B+D

SC4060 Model Predictive Control (February-March 2011) Preliminaries - slide 4

Consider two systems with common A and C matrices

H1 H2

x1(k +1) = Ax1(k)+B1u1(k) x2(k +1) = Ax2(k)+B2u2(k)

y1(k) = C x1(k)+D1u1(k) y2(k) = C x2(k)+D2u2(k)

Connect the systems

y(k) = y1(k)+ y2(k)

New system becomes:

x(k +1) = Ax(k)+B1u1(k)+B2u2(k)

y(k) = C x(k)+D1u1(k)+D2u2(k)

H1

H2

- - -

?

?d

u1(k)

u2(k)

y(k)y1(k)

y2(k)

SC4060 Model Predictive Control (February-March 2011) Preliminaries - slide 5

CHAPTER 1

INTRODUCTION

SC4060 Model Predictive Control (February-March 2011) Notes chapter 1 - slide 6

Model predictive control

Enormous challenge for industry:

• Tighter product quality specifications

• Increasing productivity demands

• Fast changes in the economical market

Model Predictive Control (MPC) is able to respond

in an effective way to these demands.

MPC is more a methodology, not a single technique.

Differences in translation into a mathematical formulation.

• Model Predictive Control (MPC)

• Model Based Predictive Control (MBPC)

• Receding Horizon Control (RHC)

• Moving Horizon Control (MHC)

SC4060 Model Predictive Control (February-March 2011) Notes chapter 1 - slide 7

SC4060 Model Predictive Control (February-March 2011) Notes chapter 1 - slide 8

SC4060 Model Predictive Control (February-March 2011) Notes chapter 1 - slide 9

Ingredients of MPC

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

SC4060 Model Predictive Control (February-March 2011) Notes chapter 1 - slide 10

History of MPC

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

• well accepted by industry:

- MPC can handle multivariable processes with

large time-delays, non-minimum-phase, unstable poles

- easy concept, easy tuning

- MPC can handle constraints

- MPC can handle structure changes and actuator failures

• academic interest

- Self-tuning control & Minimum Variance control

- Generalized Predictive Control (GPC)

• many successful applications have been reported

SC4060 Model Predictive Control (February-March 2011) Notes chapter 1 - slide 11

COURSE SETUP

2. Basics of MPC

? ?

3. Prediction 4. Standard formulation

- �5. Solving the MPC problem

? ?6. Stability - 8. Tuning

?

7. LMI-based MPC

SC4060 Model Predictive Control (February-March 2011) Notes chapter 1 - slide 12

COURSE SETUP

2. Basics of MPC

? ?

3. Prediction 4. Standard formulation

- �5. Solving the MPC problem

? ?6. Stability - 8. Tuning

?

7. LMI-based MPC

SC4060 Model Predictive Control (February-March 2011) Notes chapter 1 - slide 13

CHAPTER 2

THE BASICS OF MODEL PREDICTIVE CONTROL

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 14

BASICS OF MODEL PREDICTIVE CONTROL

Discuss the five ingredients of MPC:

• 1. Process + disturbance model

• 2. Performance index

• 3. Constraint handling

• 4. Optimization

• 5. Receding horizon principle

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 15

BASICS OF MODEL PREDICTIVE CONTROL

Discuss the five ingredients of MPC:

• 1. Process + disturbance model

• 2. Performance index

• 3. Constraint handling

• 4. Optimization

• 5. Receding horizon principle

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 16

1. The process & disturbance model

The models applied in MPC serve two purposes:

• Prediction of the behavior of the future output of the process on the basis

of inputs and known disturbances applied to the process in the past

• Calculation of the input signal to the process that minimizes the given

objective function

These models are not necessarily the same.

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 17

Two types of IO models are applied:

• Direct Input-Output models (IO models) in which the input signal is directly

applied to the model.

• Increment Input-Output models (IIO models) in which the increments of the

input signal are applied to the model instead of the input directly.

Model assumptions:

• Linear

• Time-invariant

• Discrete time

• Causal

• Finite order

• State space description

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 18

Input-output (IO) Model

y(k)= Go(q)u(k)

where

Go(q)= strictly proper plant model

∆u(k)= ∆(q)u(k) = u(k)−u(k−1)

Increment-input-output (IIO) Model

y(k)= Gi(q)∆u(k)

where

∆u(k)= ∆(q)u(k) = u(k)−u(k−1)

∆(q)= (1−q−1)

Gi(q)= strictly proper plant model

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 19

State space description:

IO-model IIO-model

xo(k+1) = Aoxo(k)+Bou(k) xi(k+1) = Aixi(k)+Bi∆u(k)

y(k) = Coxo(k) y(k) = Cixi(k)

Relation IO Model and IIO model:

Introduce new state xi =

[

y(k−1)

∆xo(k)

]

and define the system matrices Ai =

I Co

0 Ao

Bi =

0

Bo

Ci =[

I Co

]

then Gi(q) = Go(q)∆(q)−1

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 20

Advantage of using IIO models

Example 1: Given an IO system with ‖Go(1)‖ < ∞.

Minimize an IO-performance index

J(k) =N2

∑j=1

‖y(k + j)− r(k + j)‖2 +λ2‖u(k + j−1)‖2

Let r(k) = rss 6= 0 for k −→ ∞.

Jss = ‖yss − rss‖2 +λ2‖uss‖

2

= ‖Go(1)uss − rss‖2 +λ2‖uss‖

2

= uTss

(

GTo (1)Go(1)+λ2I

)

uss −2uTssG

To (1)rss + rT

ssrss

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 21

Minimizing Jss over uss means that

uss=(

GTo (1)Go(1)+λ2I

)−1GT

o (1)rss

yss= Go(1)(

GTo (1)Go(1)+λ2I

)−1GT

o (1)rss

It is clear that yss 6= rss for λ > 0.

Conclusion: There will be a steady-state error.

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 22

Example 2: Given an IIO system Gi(q) = ∆−1(q)Go(q) with ‖Go(1)‖ < ∞.

Minimize an IIO-performance index

J(k) =N2

∑j=1

‖y(k + j)− r(k + j)‖2+λ2‖∆u(k + j−1)‖2

Let r(k) = rss 6= 0 for k −→ ∞.

Jss = ‖yss − rss‖2 +λ2‖∆uss‖

2

Minimum Jss = 0 is reached for uss = G−1o (1)rss which gives yss = rss and

∆uss = 0. It is clear that yss = rss for any λ > 0.

Conclusion: There will be no steady-state error.

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 23

Standard model

IO Model

xo(k +1) = Ao xo(k)+Bo u(k)

y(k) = Co xo(k)

IIO Model

xi(k +1) = Ai xi(k)+Bi ∆u(k)

y(k) = Ci xi(k)

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 24

Standard model

Standard Model

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

y(k) = C x(k)

IO Model

xo(k +1) = Ao xo(k)+Bo u(k)

y(k) = Co xo(k)

IIO Model

xi(k +1) = Ai xi(k)+Bi ∆u(k)

y(k) = Ci xi(k)

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 25

Standard model

State space model:

x(k +1) = Ax(k)+Bv(k)+B2w(k)+B3 v3(k)

y(k) = C x(k)+D11e(k)+D12w(k)

where

x(k) is the state of the system

v(k) is the input of the system (either u or ∆u)

y(k) is the output of the system

e(k) is zero-mean white noise (unmeasurable disturbances)

w(k) denotes of all known signals (measurable disturbances)

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 26

Standard model

State space model:

x(k +1) = Ax(k)+B1e(k)+B2w(k)+B3v(k)

y(k) = C x(k)+D11e(k)+D12w(k)

where

x(k) is the state of the system

v(k) is the input of the system (either u or ∆u)

y(k) is the output of the system

e(k) is zero-mean white noise (unmeasurable disturbances)

w(k) denotes of all known signals (measurable disturbances)

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 27

Standard model

Input-Output relation:

y(k)= H(q)e(k)+F(q)w(k)+G(q)v(k)

Transfer functions:

G(q)=C (qI−A)−1B3

F(q)=C (qI−A)−1B2 +D11

H(q)=C (qI−A)−1B1 +D12=C (qI−A)−1(qI −A)−1B

Noise signal:

e(k) is ZMWN

IO-model: H(q)e(k) is zero-mean

IIO-model: H(q)e(k) is NOT zero-mean, but gives a trend.

G

F

H

- - -

6

6

?

?d

v(k)

e(k)

w(k)

y(k)

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 28

Standard model

Input-Output relation:

y(k)= H(q)e(k)+F(q)w(k)+G(q)v(k)

Noise signal:

0 10 20 30 40 50 60 70 80 90 100−3

−2

−1

0

1

2

3

0 10 20 30 40 50 60 70 80 90 1000

5

10

15

20

He(

k)→

He(

k)→

k −→

IO-model:

IIO-model:

G

F

H

- - -

6

6

?

?d

v(k)

e(k)

w(k)

y(k)

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 29

Other model descriptions

Impulse and step response models

• Process industry: no detailed models

• Reliable models: step/impulse response

• Simple experiments

• First MPC models were step/impulse response models (Richalet, Cutler)

Polynomial models

• Model on basis of physical laws

• Model on basis of system identification

• Less parameters than in impulse or step response models

• Suitable for SISO systems

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 30

Choice of model description

For all models: Resulting performance ≈ the same

Differences:

• effort of modeling

• model accuracy

• computational power

Step response models:

• more parameters

• more uncertainty

• intuitive

• less a priori information

• easy to understand

• cheap experiments

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 31

Polynomial model:

• very compact

• gives good physical insight

• controller is compact and low order

• making predictions is cumbersome

• not tractable for MIMO systems

State space models:

• especially suited for MIMO systems

• compact model description

• compact and low order controller

• computations are well conditioned

• algorithms easy to implement

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 32

BASICS OF MODEL PREDICTIVE CONTROL

Discuss the five ingredients of MPC:

• 1. Process + disturbance model

• 2. Performance index

• 3. Constraint handling

• 4. Optimization

• 5. Receding horizon principle

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 33

2. Performance index:

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

J(v,k)=N

∑j=Nm

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

N

∑j=1

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

where z1 reflects tracking error and z2 reflects the control action.

and where zi(k+ j−1|k) is prediction of zi(k+ j−1) at time k.

In MPC literature three performance indices often appear:

• Generalized Predictive Control (GPC) performance index

• Linear Quadratic Predictive Control (LQPC) performance index

• Zone performance index

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 34

GPC performance index:

J(u,k) =N

∑j=Nm

∣ yp(k + j|k)− r(k + j|k)∣

2+λ2

Nc

∑j=1

|∆u(k + j−1) |2

r(k) is the reference trajectory

y(k) is the process output signal

∆u(k) is the process control increment signal

yp(k) = P(q)y(k)

Nm is the minimum cost- horizon

N is the prediction horizon

Nc is the control horizon

λ is the weighting on the control signal

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 35

LQPC performance index:

J(u,k) =N

∑j=Nm

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

∑j=1

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

x(k) is the state signal vector

u(k) is the process control signal

Q is the state weighting matrix

R is the control weighting matrix

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 36

Zone-control performance index:

J(u,k) =N

∑j=Nm

ε2(k+ j|k)+λ2Nc

∑j=1

∆u2(k+ j−1)

where

ε(k) =

0 for | y(k)−r(k) | ≤ δmax

y(k)−r(k)−δmax for y(k)−r(k) ≥ δmax

y(k)−r(k)+δmax for y(k)−r(k) ≤−δmax

δmax is the size of the zone

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 37

Tracking error(

y(k)− r(k))

0 2 4 6 8 10 12 14 16 18 20−3

−2

−1

0

1

2

3

0 2 4 6 8 10 12 14 16 18 20−1.5

−1

−0.5

0

0.5

1

1.5

y(k)−

r(k)

→ε(

k)→

k −→

+δmax

−δmax

zone performance signal ε(k)

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 38

Performance index - GPC ↔ Standard

Choose:

z(k) =

z1(k)

z2(k)

=

yp(k +1)− r(k +1)

λ∆u(k)

Then:

J(k)=N

∑j=1

zT1 (k+ j−1|k)z1(k+ j−1|k)+ zT

2 (k+ j−1|k)z2(k+ j−1|k)

=N

∑j=1

∣ yp(k + j|k)− r(k + j|k)∣

2+λ2 |∆u(k + j−1|k) |2

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 39

Performance index - LQPC ↔ Standard

Choose:

z(k) =

z1(k)

z2(k)

=

Q1/2x(k +1)

R1/2u(k)

Then:

J(k)=N

∑j=1

zT1 (k+ j−1|k)z1(k+ j−1|k)+ zT

2 (k+ j−1|k)z2(k+ j−1|k)

=N

∑j=1

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

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 40

Performance index (Minimum cost horizon)

Choose

Γ( j) =

Γ1( j) 0

0 Γ2( j)

=

[

0 00 I

]

for 0≤ j < Nm−1

[

I 00 I

]

for Nm−1≤ j ≤ N

Then

J=N

∑j=Nm

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

N

∑j=1

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

=N−1

∑j=0

zT1 (k+ j|k)Γ1( j)z1(k+ j|k)+ zT

2 (k+ j|k)Γ2( j)z2(k+ j|k)

=N−1

∑j=0

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

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 41

BASICS OF MODEL PREDICTIVE CONTROL

Discuss the five ingredients of MPC:

• 1. Process + disturbance model

• 2. Performance index

• 3. Constraint handling

• 4. Optimization

• 5. Receding horizon principle

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 42

3. Constraint handling

Inequality constraints:

umin ≤ u(k) ≤ umax ∆umin ≤ ∆u(k) ≤ ∆umax

ymin ≤ y(k) ≤ ymax xmin ≤ x(k) ≤ xmax

or

ψ(k) ≤ Ψ(k) ∀k

For future values we use the predicted value of ψ:

ψ(k+ j|k)≤ Ψ(k+ j) ∀ j > 0

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 43

Equality constraints:

Motivated by control algorithm itself:

Control horizon constraint: ∆u(k+ j|k) = 0 for j ≥ Nc

The state end-point constraint: x(k +N|k) = xss

or

φ(k) = 0 k ∈ κ

For future values we use the predicted value of φ:

A j φ(k + j|k) = 0 ∀ j > 0

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 44

Multiple constraints can be combined by stacking

Equality constraints:

φ1(k) = 0...

φn(k) = 0

φ(k) =

φ1(k)...

φn(k)

= 0

Inequality constraints:

ψ1(k) ≤ Ψ1(k)...

ψm(k) ≤ Ψm(k)

ψ(k) =

ψ1(k)...

ψm(k)

Ψ1(k)...

Ψm(k)

= Ψ(k)

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 45

Two-sided inequality constraint

Ψ1,min(k) ≤ ψ1(k) ≤ Ψ1,max(k)

can be translated into one-sided inequality constraint

ψ(k) =

ψ1(k)

−ψ1(k)

Ψ1,max(k)

−Ψ1,min(k)

= Ψ(k)

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 46

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) = ∑Mi=0Si( j)αi(k)

- Si( j) are the basis functions

- αi(k), i = 1, . . . ,M are scalar parameters

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 47

Control horizon

0

SNc−1

SNc−2

SNc−3

SNc−4

SNc−5

S0

S1

S2

Nc−1

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 48

Blocking

0

SM

SM−1

SM−2

SM−3

SM−4

S0

S1

S2

N−1

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 49

BASICS OF MODEL PREDICTIVE CONTROL

Discuss the five ingredients of MPC:

• 1. Process + disturbance model

• 2. Performance index

• 3. Constraint handling

• 4. Optimization

• 5. Receding horizon principle

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 50

Standard Predictive Control Problem:

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

J(v,k) =N−1

∑j=0

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

subject to the constraints

A j φ(k + j|k) = 0 ∀ j ≥ 0

ψ(k + j|k) ≤ Ψ(k + j) ∀ j ≥ 0

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 51

An optimization algorithm will be applied to compute a sequence of future

control signals that minimizes the performance index subject to the given

constraints.

For

• linear models

• linear constraints

• quadratic (2-norm) performance index

we can use quadratic programming algorithms.

For 1-norm or ∞- norm performance index: linear programming algorithms.

Both types of algorithms are convex and show fast convergence.

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 52

BASICS OF MODEL PREDICTIVE CONTROL

Discuss the five ingredients of MPC:

• 1. Process + disturbance model

• 2. Performance index

• 3. Constraint handling

• 4. Optimization

• 5. Receding horizon principle

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 53

RECEDING HORIZON PRINCIPLE

• a time k: Performance index J(k) is minimized

• first element of optimal control sequence v(k) is applied to the system

• horizon shifted

• optimization restarted for time k +1

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 54

RECEDING HORIZON PRINCIPLE

� -

-

bb

b

b

bb

b

b

b

b

b

b

bb b b b b b

Nm Nc N

z(k)

v(k)

k k+ j

PAST FUTURE

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 55

RECEDING HORIZON PRINCIPLE

� -

-

bb

b

b

b

bbbb

z(k)

v(k)

z(k +1)z(k +1|k)

k+1 k+ j

PAST FUTURE

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 56

RECEDING HORIZON PRINCIPLE

� -

-

bb

b

b

b

b b

b

b

b

b

b

bb b

b b b b b

Nm Nc N

z(k)

v(k)

k+1 k+ j

PAST FUTURE

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 57

RECEDING HORIZON PRINCIPLE

� -

-

bb

b

b

b

b

bb

bb

z(k)

v(k)

z(k +1)z(k +1|k)

k+2 k+ j

PAST FUTURE

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 58

RECEDING HORIZON PRINCIPLE

� -

-

bb

b

b

b

b

b

b

b

b

b

b

bb b b b b b b b

Nm Nc N

z(k)

v(k)

k+2 k+ j

PAST FUTURE

SC4060 Model Predictive Control (February-March 2011) Notes chapter 2 - slide 59

CHAPTER 3

PREDICTION

SC4060 Model Predictive Control (February-March 2011) Notes chapter 3 - slide 60

PREDICTION MODEL

Prediction on basis of model:

x(k+1) = Ax(k)+B1e(k)+B2w(k)+B3v(k)

y(k) = C1x(k)+D11e(k)+D12w(k)

p(k) = Cpx(k)+Dp1e(k)+Dp2w(k)+Dp3v(k)

x(k) is the state

v(k) is the control signal (u / ∆u)

e(k) is ZMWN

w(k) consists of all known signals (r /di /do )

p(k) is a signal, to be predicted.

SC4060 Model Predictive Control (February-March 2011) Notes chapter 3 - slide 61

At time instant k:

- make a set of j-step ahead predictions of p(k + j).

Prediction, denoted as p(k + j|k)

- using information given at time k

- future values of the control signal v(k + j)

SC4060 Model Predictive Control (February-March 2011) Notes chapter 3 - slide 62

p(k)=Cpx(k)+Dp1e(k)+Dp2w(k)+Dp3v(k)

Define

p(k) =

p(k|k)

p(k+1|k)...

p(k+N−1|k)

v(k) =

v(k)

v(k+1)...

v(k+N−1)

w(k) =

w(k)

w(k+1)...

w(k+N−1)

Goal: find p0(k) and Dp3 such that

p(k) = p0(k)+ Dp3 v(k)

with free-response signal:

p0(k)=Cpx(k)+ Dp1e(k)+ Dp2w(k)

SC4060 Model Predictive Control (February-March 2011) Notes chapter 3 - slide 63

Noiseless case

The model:

x(k +1) = Ax(k)+B2w(k)+B3v(k)

p(k) = Cpx(k)+Dp2w(k)+Dp3v(k)

Successive substitution:

x(k+ j|k) = Ax(k + j−1|k)+B2w(k+ j−1)+B3v(k+ j−1)

= A2x(k+ j−2|k)+AB2w(k+ j−2)+AB3v(k+ j−2)

+B2w(k + j−1)+B3v(k + j−1)...

= A jx(k)+j

∑i=1

Ai−1B2w(k+ j−i)+j

∑i=1

Ai−1B3v(k+ j−i)

SC4060 Model Predictive Control (February-March 2011) Notes chapter 3 - slide 64

p(k+ j|k) = Cp x(k+ j|k)+Dp2w(k+ j)+Dp3v(k+ j)

= Cp A jx(k)+j

∑i=1

Cp Ai−1B2w(k + j− i)

+j

∑i=1

Cp Ai−1B3v(k + j− i)+Dp2w(k+ j)+Dp3v(k + j)

and so

p(k) = Cp x(k)+ Dp2 w(k)+ Dp3 v(k)

= p0(k)+ Dp3 v(k)

with free-response

p0(k) = Cp x(k)+ Dp2 w(k)

SC4060 Model Predictive Control (February-March 2011) Notes chapter 3 - slide 65

where

Cp =

Cp

CpA

CpA2

...

CpAN−1

Dp2=

Dp2 0 · · · 0 0

CpB2 Dp2 · · · 0 0

CpAB2 CpB2. . .

......

.... . . Dp2 0

CpAN−2B2 · · · CpB2 Dp2

Dp3=

Dp3 0 · · · 0 0

CpB3 Dp3 · · · 0 0

CpAB3 CpB3. . .

......

.... . . Dp3 0

CpAN−2B3 · · · CpB3 Dp3

SC4060 Model Predictive Control (February-March 2011) Notes chapter 3 - slide 66

Noisy case

The model:

x(k+1) = Ax(k)+B1e(k)+B2w(k)+B3v(k)

y(k) = C1x(k)+D11e(k)+D12w(k)

p(k) = Cpx(k)+Dp1e(k)+Dp2w(k)+Dp3v(k)

Successive substitution:

x(k+ j|k) = A jx(k)+j

∑i=1

Ai−1B3v(k+ j−i)+j

∑i=1

Ai−1B1e(k+ j−i|k)

+j

∑i=1

Ai−1B2w(k+ j−i)

Prediction of noise: e(k + j|k) = 0 for j > 0

and e(k) = D−111

(

y(k)−C1x(k)−D12w(k))

SC4060 Model Predictive Control (February-March 2011) Notes chapter 3 - slide 67

x(k+ j|k) = A jx(k)+j

∑i=1

Ai−1B3v(k+ j−i)+A j−1B1e(k)

+j

∑i=1

Ai−1B2w(k+ j−i)

and so:

p(k+ j|k) = Cp x(k + j|k)+Dp2w(k + j)+Dp3v(k + j)

= Cp A jx(k)+CpA j−1B1e(k)+j

∑i=1

Cp Ai−1Bpw(k + j− i)

+j

∑i=1

Cp Ai−1B3v(k + j− i)+Dp2w(k + j)+Dp3v(k + j)

SC4060 Model Predictive Control (February-March 2011) Notes chapter 3 - slide 68

p(k)= Cpx(k)+ Dp1e(k)+ Dp2w(k)+ Dp3v(k)

= p0(k)+ Dp3v(k)

where

Dp1 =

Dp1

CpB1

CpAB1...CpAN−2B1

and free-response signal:

p0(k)= Cpx(k)+ Dp1e(k)+ Dp2w(k)

= Cpx(k)+ Dp1D−111 (y(k)−C1x(k)−D12w(k))+ Dp2w(k)

= (Cp−Dp1D−111 C1)x(k)+ Dp1D−1

11 y(k)+(Dp2−Dp1D−111 D12Ew)w(k)

SC4060 Model Predictive Control (February-March 2011) Notes chapter 3 - slide 69

Summary

On basis of model:

x(k+1) = Ax(k)+B1e(k)+B2w(k)+B3v(k)

y(k) = C1x(k)+D11e(k)+D12w(k)

p(k) = Cpx(k)+Dp1e(k)+Dp2w(k)+Dp3v(k)

we make prediction:

p(k) = Cpx(k)+ Dp1e(k)+ Dp2w(k)+ Dp3 v(k)

= p0(k)+ Dp3 v(k)

where e(k) = D−111

(

y(k)−C1x(k)−D12w(k))

and

SC4060 Model Predictive Control (February-March 2011) Notes chapter 3 - slide 70

where

Cp =

Cp

CpA

CpA2

...

CpAN−1

Dp2=

Dp2 0 · · · 0 0

CpB2 Dp2 · · · 0 0

CpAB2 CpB2. . .

......

.... . . Dp2 0

CpAN−2B2 · · · CpB2 Dp2

Dp1 =

Dp1

CpB1

CpAB1...CpAN−2B1

Dp3=

Dp3 0 · · · 0 0

CpB3 Dp3 · · · 0 0

CpAB3 CpB3. . .

......

.... . . Dp3 0

CpAN−2B3 · · · CpB3 Dp3

SC4060 Model Predictive Control (February-March 2011) Notes chapter 3 - slide 71

The use of a priori knowledge

w(k) =

w(k)

w(k+1)

. . .

w(k+N−1)

We assume w(k + j|k) to be known at time k.

If not we choose

w(k) =

w(k|k)

w(k+1|k)

. . .

w(k+N−1|k)

SC4060 Model Predictive Control (February-March 2011) Notes chapter 3 - slide 72

Zero-th order extrapolation:

We assume w(k + j) = w(k−1) for j ≥ 0.

This results in

w(k) =

w(k−1)

w(k−1)

. . .

w(k−1)

SC4060 Model Predictive Control (February-March 2011) Notes chapter 3 - slide 73

Linear (first order) extrapolation:

We assume w(k + j) = w(k−1)+ j (w(k−1)−w(k−2)) for j ≥ 0.

This results in

w(k) =

2w(k−1)−w(k−2)

3w(k−1)−2w(k−2)

. . .

(N +1)w(k−1)−Nw(k−2)

Polynomial (higher order) extrapolation:

For an nth order extrapolation we use n+1 past values of w. The error

estimate will grow with the degree of the polynomial extrapolation.

SC4060 Model Predictive Control (February-March 2011) Notes chapter 3 - slide 74

CHAPTER 4

STANDARD FORMULATION

SC4060 Model Predictive Control (February-March 2011) Notes chapter 4 - slide 75

Standard formulation

Many kinds of performance indices

• LQPC performance index

• GPC performance index

• zone performance index

Many types of constraints

• equality constraints

• inequality constraints

Standard formulation:

• transform performance index

• formalize constraints

SC4060 Model Predictive Control (February-March 2011) Notes chapter 4 - slide 76

Performance index

Consider the system

x(k +1) = Ax(k)+B1e(k)+B2w(k)+B3v(k)

y(k) = C1x(k)+D11e(k)+D12w(k)

Define performance index

J(v,k) =N−1

∑j=0

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

where

z(k) = C2x(k)+D21e(k)+D22w(k)+D23v(k)

SC4060 Model Predictive Control (February-March 2011) Notes chapter 4 - slide 77

LQPC:

J(u,k) =N

∑j=Nm

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

∑j=1

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

z(k) =

Q1/2x(k +1)

R1/2u(k)

GPC:

J(u,k) =N

∑j=Nm

∣ yp(k + j|k)− r(k + j|k)∣

2+λ2

Nc

∑j=1

|∆u(k + j−1) |2

z(k) =

yp(k +1)− r(k +1)

λ∆u(k)

SC4060 Model Predictive Control (February-March 2011) Notes chapter 4 - slide 78

LQPC performance index

Consider IO-model

xo(k+1) = Aoxo(k)+Koeo(k)+Lodo(k)+Bou(k)

y(k) = Coxo(k)+DHeo(k)+DFdo(k)

Choose x(k) = xo(k) , v(k) = u(k) , w(k) = do(k) , e(k) = eo(k), then

x(k+1) = Ao x(k)+Ko e(k)+Lo d(k)+Bo v(k)

= Ax(k)+B1e(k)+B2w(k)+B3v(k)

y(k) = C1x(k)+D11e(k)+D12w(k)

SC4060 Model Predictive Control (February-March 2011) Notes chapter 4 - slide 79

z(k) =

Q1/2x(k +1)

R1/2v(k)

=

Q1/2Aox(k)+Q1/2Koe(k)+Q1/2Low(k)+Q1/2Bov(k)

R1/2v(k)

=

Q1/2Ao

0

x(k)+

Q1/2Ko

0

e(k)+

Q1/2Lo

0

w(k)+

Q1/2Bo

R1/2

v(k)

= C2x(k)+D21e(k)+D22w(k)+D23v(k)

SC4060 Model Predictive Control (February-March 2011) Notes chapter 4 - slide 80

GPC performance index

Consider the IIO-output model:

xi(k+1)=Aixi(k)+Kiei(k)+Lidi(k)+Bi∆u(k)

y(k)=Cixi(k)+DHei(k)

The realization yp(k) = P(q)y(k) described by:

xp(k +1) = Ap xp(k)+Bp y(k)

yp(k) = Cp xp(k)+Dp y(k)

Choose e(k) = ei(k) , v(k) = ∆u(k),

w(k) =

di(k)

r(k +1)

, and x(k) =

xp(k)

xi(k)

,

SC4060 Model Predictive Control (February-March 2011) Notes chapter 4 - slide 81

then

xp(k+1)

xi(k+1)

=

Ap BpCi

0 Ai

xp(k)

xi(k)

+

BpDH

Ki

ei(k)+

0 0

Li 0

di(k)

r(k +1)

+

0

Bi

∆u(k)

= Ax(k)+B1e(k)+B2w(k)+B3v(k)

y(k) = Cix(k)+DHe(k)

= C1x(k)+D11e(k)+D12w(k)

SC4060 Model Predictive Control (February-March 2011) Notes chapter 4 - slide 82

For yp(k) we find:

yp(k) =[

Cp DpCi

]

x(k)+DpDHe(k)

and we obtain the estimate yp(k+1):

yp(k+1) =[

CpAp CpBpCi +DpCiAi

]

xp(k)

xi(k)

+

[

CpBpDH +DpCiKi

]

ei(k)+

[

DpCiLi 0]

di(k)

r(k +1)

+[

DpCiBi

]

v(k)

where we used the fact that ei(k +1|k) = 0.

SC4060 Model Predictive Control (February-March 2011) Notes chapter 4 - slide 83

Now we find:

z(k) =

yp(k +1)− r(k +1)

λ∆u(k)

=

CpAp CpBpCi +DpCiAi

0 0

xp(k)

xi(k)

+

CpBpDH +DpCiKi

0

ei(k)+

DpCiLi −I

0 0

di(k)

r(k +1)

+

DpCiBi

λ I

v(k)

= C2x(k)+D21e(k)+D22w(k)+D23v(k)

SC4060 Model Predictive Control (February-March 2011) Notes chapter 4 - slide 84

Standard performance index

Define vector z(k) with predictions of z(k + j|k):

z(k) =

z(k|k)

z(k+1|k)...

z(k+N−1|k)

Then using the formulas of chapter 3 we obtain:

z(k) = C2x(k)+ D21e(k)+ D22w(k)+ D23v(k)

SC4060 Model Predictive Control (February-March 2011) Notes chapter 4 - slide 85

where

C2=

C2

C2A

C2A2

...

C2AN−1

D22=

D22 0 · · · 0 0

C2B2 D22 · · · 0 0

C2AB2 C2B2. . .

......

.... . . D22 0

C2AN−2B2 · · · C2B2 D22

D21 =

D21

C2B1

C2AB1...C2AN−2B1

D23=

D23 0 · · · 0 0

C2B3 D23 · · · 0 0

C2AB3 C2B3. . .

......

.... . . D23 0

C2AN−2B3 · · · C2B3 D23

SC4060 Model Predictive Control (February-March 2011) Notes chapter 4 - slide 86

Now define

Γ =

Γ(0) 0 . . . 0

0 Γ(1) 0...

. . ....

0 0 . . . Γ(N −1)

then

J(v,k) =N−1

∑j=0

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

= zT (k)Γz(k)

SC4060 Model Predictive Control (February-March 2011) Notes chapter 4 - slide 87

Handling constraints

Equality constraints

A jφ(k + j|k) = 0

Stack all constraints at time k on predicted φ in one vector:

φ(k) =

A1φ(k +1|k)

A2φ(k +2|k)...

AN φ(k +N|k)

In standard framework, we can express the equality constraints in the form:

φ(k) = C3x(k)+ D31e(k)+ D32w(k)+ D33v(k) = 0

SC4060 Model Predictive Control (February-March 2011) Notes chapter 4 - slide 88

State end-point constraint:

x(k +N|k) = ANx(k)+[

AN−1B2 AN−2B2 · · · B2

]

w(k)+

+AN−1B1e(k)+[

AN−1B3 AN−2B3 · · · B3

]

v(k)

= 0

by defining

C3 = AN D31 = AN−1B1 D32 =[

AN−1B2 AN−2B2 · · · B2

]

D33 =[

AN−1B3 AN−2B3 · · · B3

]

we obtain:

φ(k)=C3x(k)+D31e(k)+D32w(k)+D33v(k)=0

SC4060 Model Predictive Control (February-March 2011) Notes chapter 4 - slide 89

Inequality constraints

ψ(k) ≤ Ψ(k)

where ψ reflect states, inputs, outputs and Ψ reflects limitations.

Example:

x1,min ≤ x1(k) ≤ x1,max

v(k) ≤ vmax

ymin ≤ y(k)

result in :

ψ(k) =

x1(k)

−x1(k)

v(k)

−y(k)

Ψ(k) =

x1,max

−x1,min

vmax

−ymin

SC4060 Model Predictive Control (February-March 2011) Notes chapter 4 - slide 90

So:

ψ(k) =

E1

−E1

0−C1

x(k)+

000

−D11

e(k)+

000

−D12

w(k)+

00I0

v(k)

= C4x(k)+D41e(k)+D42w(k)+D43v(k)

where E1 = [ 1 0 . . . 0 ] .

Now we obtain the inequality constraint:

ψ(k) = C4x(k)+D41e(k)+D42w(k)+D43v(k) ≤ Ψ(k)

SC4060 Model Predictive Control (February-March 2011) Notes chapter 4 - slide 91

Now consider the inequality constraint

ψ(k) = C4x(k)+D41e(k)+D42w(k)+D43v(k) ≤ Ψ(k)

Stack all constraints at time k on predicted ψ in one vector:

ψ(k) =

ψ(k +1|k)

ψ(k +2|k)...

ψ(k +N|k)

Ψ(k +1|k)

Ψ(k +2|k)...

Ψ(k +N|k)

= Ψ(k)

Using the formulas of chapter 3, the inequality constraints can be written in the

form

ψ(k) = C4x(k)+ D41e(k)+ D42w(k)+ D43v(k) ≤ Ψ(k)

where

SC4060 Model Predictive Control (February-March 2011) Notes chapter 4 - slide 92

C4=

C4

C4A

C4A2

...

C4AN−1

D42=

D42 0 · · · 0 0

C4B2 D42 · · · 0 0

C4AB2 C4B2. . .

......

.... . . D42 0

C4AN−2B2 · · · C4B2 D42

D41 =

D41

C4B1

C4AB1...C4AN−2B1

D43=

D43 0 · · · 0 0

C4B3 D43 · · · 0 0

C4AB3 C4B3. . .

......

.... . . D43 0

C4AN−2B3 · · · C4B3 D43

SC4060 Model Predictive Control (February-March 2011) Notes chapter 4 - slide 93

Standard formulation

Consider the systemx(k +1) = Ax(k)+B1e(k)+B2w(k)+B3v(k)

y(k) = C1x(k)+D11e(k)+D12w(k)

z(k) = C2x(k)+ D21e(k)+ D22w(k)+ D23v(k)

φ(k) = C3x(k)+ D31e(k)+ D32w(k)+ D33v(k)

ψ(k) = C4x(k)+ D41e(k)+ D42w(k)+ D43v(k)

Minimize performance index

J(v,k) =N−1

∑j=0

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

= zT (k)Γz(k)

subject to the constraints φ(k) = 0 and ψ(k) ≤ Ψ(k).

SC4060 Model Predictive Control (February-March 2011) Notes chapter 4 - slide 94