0% found this document useful (0 votes)
100 views16 pages

Exercise MPC1

1. The problem is formulated as a standard predictive control problem where the performance signal z(k) is defined to minimize the performance index J(k). 2. The system matrices are defined as A=Ao, B1=Ko, B2=Lo, B3=Bo to obtain the state equation in standard form. 3. The input constraint is represented by the selection matrix D̃33 to constrain future inputs to be equal to the current input for j≥Nc.

Uploaded by

Ifrah Alam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
100 views16 pages

Exercise MPC1

1. The problem is formulated as a standard predictive control problem where the performance signal z(k) is defined to minimize the performance index J(k). 2. The system matrices are defined as A=Ao, B1=Ko, B2=Lo, B3=Bo to obtain the state equation in standard form. 3. The input constraint is represented by the selection matrix D̃33 to constrain future inputs to be equal to the current input for j≥Nc.

Uploaded by

Ifrah Alam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

EE4C04

MPC Exercise Session


Ton van den Boom ([email protected])

Delft Center for Systems and Control, TU Delft

MPC Exercise Session – EE4C04


1. Computation of predicted output

Given a system
   
1 a 0
x(k + 1) = x(k) + u(k)
0 1 2
 
y(k) = 1 0 x(k)
 
1
with x(k) = and
1
(
1 for j = 20
u(k + j|k) =
0 elsewhere

1. Compute ŷ(k + 25|k).

Solution:
 
1 a
A=
0 1
 
1 pa
Ap =
0 1
Use the formula
for p(k + j) = y(k + 25):

ŷ(k + 25|k) = C A25 x(k) + C A4 B u(k + 20|k)


     
  1 25 a 1   1 4a 0
= 1 0 + 1 0
0 1 1 0 1 2

= 1 + 25a + 8a

= 1 + 33a

MPC Exercise Session – EE4C04 1


2. Standard formulation

Consider the IO model

xo (k + 1) = Ao xo (k) + Ko eo (k) + Lo do (k) + Bo u(k)

y(k) = Co xo (k) + eo (k)

where Ao ∈ IRna ×na , Ko ∈ IRna ×1 , Lo ∈ IRna ×1 , Bo ∈ IRna ×1 and


Co ∈ IR1×na . The state is xo (k), do (k) is the known disturbance, u(k) is the input
signal and eo (k) is zero-mean white noise. Note that this is a SISO model.

A performance index J(k) is given by:

XN 
T T
J(u, k) = x̂o (k+j|k)Qx̂o (k+j|k) + u (k+j −1|k)Ru(k+j −1|k)
j=1

T
+ ŷ (k+j|k)S ŷ(k+j|k) (1)

where ˆ denotes prediction, and Q, R, S are positive definite matrices.


Consider the following constraint:

u(k + j) = u(k + j − 1) , for j ≥ Nc (2)

1. Describe the problem of finding the control-law that minimizes performance index (1)
subject to (2) as a standard predictive control problem, and give the corresponding
system matrices and the selection matrices Γ(j).

Solution:
Define the performance signal
 
S 1/2 y(k + 1)
 
z(k) =  Q1/2 x (k + 1) 
 o 
R 1/2 , u(k)

MPC Exercise Session – EE4C04 2


and selection matrix

 
1 0 0
Γ(j) =  0 1 0 
0 0 1

Then it easy to see that

NX−1
J(v, k) = ẑ T (k + j)Γ(j)ẑ(k + j) =
j=0

XN 
= ŷ T (k+j|k)S ŷ(k+j|k) + x̂T
o (k+j|k)Qx̂o (k+j|k)
j=1

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

MPC Exercise Session – EE4C04 3


For z(k) we obtain:
 
S 1/2 y(k + 1)
 
z(k) =  1/2 x (k + 1) 
 Q o 
R 1/2 u(k)
   
S 1/2 Co Ao xo (k)+Co Ko eo (k)+Co Lo do (k)+Co Bo u(k)
   

= Q1/2 Ao xo (k)+Ko eo (k)+Lo do (k)+Bo u(k)


 
R1/2 , u(k)
   
S 1/2 Co Ao S 1/2 Co Ko
   
=  Q1/2 Ao  xo (k) +  Q1/2 Ko  eo (k)
0 0
   
1/2 S 1/2 Co Bo
S Co Lo  
 
+  Q1/2 Lo  do (k) +  1/2  u(k)
 Q Bo 
0 R 1/2

= C2 x(k) + D21 e(k) + D22 w(k) + D23 v(k)

for    
S 1/2 Co Ao S 1/2 Co Ko
   
C2 =  Q1/2 Ao  D21 =  Q1/2 Ko 
0 0
   
S 1/2 Co Lo S 1/2 Co Bo
 

D22 =  Q1/2 Lo

D23 =  Q 1/2 B 
  o 
0 R 1/2
x(k) = xo (k), e(k) = eo (k), w(k) = do (k), v(k) = u(k)
Finally by choosing

A = Ao , B1 = Ko , B2 = Lo , B3 = Bo

MPC Exercise Session – EE4C04 4


we obtain the state equation
 
xo (k + 1)
x(k + 1) =
xu (k + 1)
 
Ao xo (k) + Ko eo (k) + Lo do (k) + Bo u(k)
=
Au xu (k) + Bu u(k)

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

Define  
v(k|k)

 v(k + 1|k) 

ṽ(k) =  .. 
 . 
v(k + N − 1|k)
with v(k) = u(k) we obtain the constraint:
 
u(k + Nc ) = u(k + Nc − 1)
 u(k + Nc + 1) = u(k + Nc ) 
 
 .. 
 . 
u(k + N − 1) = u(k + N − 2)
 
0 ··· 0 1 −1 0 ... 0

 0 0 0 1 −1 0 

= .. .. .. ..  ṽ(k)
 . 0 . . . 
..
0 . 0 0 0 ··· 1 −1
| {z }
D̃33

= C̃3 x(k) + D̃31 e(k) + D̃32 w̃(k) + D̃33 ṽ(k)

where C̃3 = 0, D̃31 = 0, and D̃32 = 0. ✷

MPC Exercise Session – EE4C04 5


3. Compute v(k)

Consider a LTI system given in the state space description

x(k + 1) = A x(k) + B3 v(k)

z(k) = C2 x(k) + D23 v(k)

   
3 1
where A = −2, B3 = 1, C2 = and D23 = . Note that there is no noise
0 1
(so e = 0) and there is no external input (w = 0). A performance index is defined as

NX−1
T
min J(ṽ, k) = min ẑ (k + j|k)ẑ(k + j|k) (3)
ṽ(k) ṽ(k) j=0

for N = 1 and x(0) = −10.

1. Compute v(k) for k = 0, . . . , 2.

Solution:    
1 3
Compute Ev = 1, Γ̄ = 1, D̃23 = D23 = , C̃2 = C2 = ,
1 0
 
1 0
and Γ̄ = . The optimal control law is given by
0 1

v(k) = −F x(k)
T −1 T
= −Ev (D̃23 Γ̄D̃23 ) D̃23 Γ̄C̃2 x(k)
   
  1 −1   3
= 1( 1 1 · I ) 1 1 I = −1.5 · x(k)
1 0

MPC Exercise Session – EE4C04 6


We find

v(0) = −F x(0) = −1.5 · (−10) = 15

x(1) = A x(0) + B3 v(0) = (−2)(−10) + 15 = 35

v(1) = −F x(1) = −1.5 · (35) = −52.5

x(2) = A x(1) + B3 v(1) = −2 (35) − 52.5 = −122.5

v(2) = −F x(2) = −1.5 · (−122.5) = 183.75

x(3) = A x(2) + B3 v(2) = −2 (−122.5) + 183.75 = 428.75

MPC Exercise Session – EE4C04 7


4. Solution of the SPCP

system

x(k + 1) = A x(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)

with v = ∆u (so we have an IIO system) and a steady-state

(vss , xss , wss , zss ) = (vss , xss , wss , 0)

at time k with state x(k), external signal w̃(k) and ZMWN signal e(k).

1. Define
J ∗ (k) = min J(k)

Describe how the optimized performance index J ∗ (k) of the SPCP changes when
• the prediction horizon is increased (decreased),
• the minimum cost horizon is increased (decreased), (but Nm < N )
• the control horizon is increased (decreased), (but Nc < N ),
• an inequality constraint is introduced (removed).

2. Define the optimized performance indices



Ji (k) = min Ji (k) , i = 1, . . . , 6

• J1 is the performance index for the SPCP with infinite prediction horizon (N = ∞),
minimum cost horizon Nm = 4 and control horizon Nc = 20 subject to inequality
constraints ψ(k) ≤ Ψ(k).
• J2 is the performance index for the SPCP with prediction horizon N = 50,
minimum cost horizon Nm = 1 and control horizon Nc = 20.

MPC Exercise Session – EE4C04 8


• J3 is the performance index for the unconstrained SPCP with infinite prediction
horizon (N = ∞), minimum cost horizon Nm = 4 and infinite control horizon
(Nc = ∞).
• J4 is the performance index for the SPCP with infinite prediction horizon (N = ∞),
minimum cost horizon Nm = 1 and control horizon Nc = 20 subject to inequality
constraints ψ(k) ≤ Ψ(k).
• J5 is the performance index for the SPCP with infinite prediction horizon (N = ∞),
minimum cost horizon Nm = 1 and infinite control horizon (Nc = ∞)
• J6 is the performance index for the SPCP with prediction horizon N = 50,
minimum cost horizon Nm = 1 and finite control horizon Nc = 20, subject to
inequality constraints ψ(k) ≤ Ψ(k).

Find a ranking in magnitude Ji∗ ≤ Jj∗ for all combinations i = 1, . . . , 6, j = 1, . . . , 6.


(For example, four fictive performance indices J7∗ , J8∗ , J9∗ and J10 ∗ give a ranking:
J7∗ ≤ J8∗ ≤ J9∗ and J7∗ ≤ J10 ∗ ≤ J ∗ if J ∗ is the smallest, J ∗ is the largest, but the
9 7 9
order in J8∗ and J10
∗ is indefinite). Comment on your choices.

Solution:

1. Define
J ∗ (k) = min J(k)

• Increasing (Decreasing) the prediction horizon means that more (less)
terms are taken into account, so performance index J(k) will increase
(decrease).
• Increasing (Decreasing) the minimum cost horizon means that less
(more) terms are taken into account, so performance index J(k) will
decrease (increase).
• Increasing (Decreasing) the control horizon means that we obtain more
(less) degrees of freedom for the optimization, so performance index
J(k) will decrease (increase).
• Introducing (removing) an inequality constraint means that we obtain
less (more) degrees of freedom for the optimization, so performance

MPC Exercise Session – EE4C04 9


index J(k) will increase (decrease).

2. Define the optimized performance indices

Ji∗ (k) = min Ji (k) , i = 1, . . . , 6


PI N Nm Nc ψ
J1∗ ∞ 4 20 Yes
J2∗ 50 1 20 No
J3∗ ∞ 4 ∞ No
J4∗ ∞ 1 20 Yes
J5∗ ∞ 1 ∞ No
J6∗ 50 1 20 Yes
We find the following inequalities

J1∗ ≥ J3∗ J1∗ ≤ J4∗ J2∗ ≤ J4∗

J3∗ ≤ J4∗ J3∗ ≤ J5∗ J4∗ ≥ J5∗ J2∗ ≤ J6∗


∗ ∗
J4 ≥ J6

Based on the inequalities we obtain:

J3∗ ≤ J1∗ ≤ J4∗

J2∗ ≤ J6∗ ≤ J4∗

J3∗ ≤ J5∗ ≤ J4∗

MPC Exercise Session – EE4C04 10


5.Computation of MPC controller

Consider a LTI system given in the state space description

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

y(k) = C1 x(k) + D11 e(k)

z(k) = C2 x(k) + D21 e(k) + D23 v(k)

where A = −2, B1 = 2, B3 = 1, C1 = −1, D11 = 1, C2 = 3, D21 = 1, and


D23 = 1. Note that there is no external input (w = 0). A performance index is defined as

NX−1
T
min J(ṽ, k) = min ẑ (k + j|k)ẑ(k + j|k) . (4)
ṽ(k) ṽ(k) j=0

There are no constraints.


1. Compute the poles of the closed loop for N = 1. Is the closed loop stable?
2. Using MATLAB, compute the poles of the closed loop for N = 3. Is the closed loop
stable?
3. Using MATLAB, compute the poles of the closed loop for N = 3 with a control horizon
Nc = 1. Is the closed loop stable?

Solution:

T =D
1. For N = 1 we obtain: Ev = 1, Γ̄ = 1, D̃23 23 = 1
and C̃2 = C2 = 3. The optimal control law is given by

T Γ̄D̃ )−1 D̃ T Γ̄C̃ = 3


F = Ev (D̃23 23 23 2
And so
A − B3 F = −2 − 1 · 3 = −5
−1
A − B1 D11 C1 = −2 − 2 · 1 · (−1) = 0

MPC Exercise Session – EE4C04 11


There is a closed-loop pole in −5 (outside the unit circle), so system is
unstable.
 
2. For N = 3 we obtain: Ev = 1 0 0 , Γ̄ = I ,
   
C2 3
C̃2 =  C2 A  =  −6 
C2 A2 12

   
D21 1
D̃21 =  C2 B1  =  6 
C2 AB1 −12

 
D23 0 0
D̃23 =  C2 B3 D23 0 
C2 AB3 C2 B3 D23
 
1 0 0
=  3 1 0 
−6 3 1

The optimal control law is given by

T −1 T
F = Ev (D̃23 Γ̄D̃23 ) D̃23 Γ̄C̃2
 T  −1
  1 0 0 1 0 0

= 1 0 0   3 1 0   3 1 0 
−6 3 1 −6 3 1
 T  
1 0 0 3
×  3 1 0   −6 
−6 3 1 12

MPC Exercise Session – EE4C04 12


 −1  
  46 −15 −6 −87
= 1 0 0  −15 10 3   30 
−6 3 1 12
 
  3
= 1 0 0  −15 
75

=3

A − B3 F = −2 − 1 · 3 = −5

−1 C = −2 − 2 · 1 · (−1)0
A − B1 D11 1

3. For Nc = 1 we obtain the constraint

 
0 1 0
ṽ = D̃33 ṽ = 0
0 0 1

and so
 
0
C̃3 = D̃31 =
0

(In this example there is no D̃32 ). First we compute:

  

0 0 1
r r⊥
D̃33 =  1 0  , D̃33 =  0 
0 1 0

r = I and D̃ D̃ r⊥ = 0.)
(check that D̃33 D̃33 33 33

MPC Exercise Session – EE4C04 13


Now

r⊥ )T D̃ T Γ̄D̃ D̃ r⊥ −1 (D̃ r⊥ )T D̃ T Γ̄
 
Ξ= (D̃33 23 23 33 33 23
    −1
  1 3 −6 1 0 0 1
= 1 0 0  0 1 3   3 1 0   0 
0 0 1 −6 3 1 0
 
  1 3 −6
× 1 0 0  0 1 3 
0 0 1

= (46)−1
 
1 3 −6
 
F = −Ev D̃33 r⊥ ΞD̃ D̃ r C̃ − D̃ r⊥ ΞC̃ − D̃ r C̃
23 33 3 33 2 33 3
r⊥ ΞC̃
= Ev D̃33 2
   
  1   3
=− 1 0 0  0  1/46 3/46 −6/46  −6 
0 12

= 3/46 − 18/46 − 71/46

= −85/46

= −1.8478

A − B3 F = −2 − 1 · (−1.8478) = −0.1522
The system is stable.

MPC Exercise Session – EE4C04 14


6. Tuning

We design a GPC controller for the following system:

y(k) − 0.6 y(k − 1) + 0.05 y(k − 2) = 3u(k) − 1.1 u(k − 1) + e(k) − 0.5 e(k − 1)

Find the initial setting for the tuning parameters N , Nm and Nc .

Solution:
The transfer function is given by

3 z 2 − 1.1z
G(z) =
(z − 0.6z + 0.05)

Step response:
−1 z
s(k) = Z (G(z) )
z−1

3z 3 − 1.1z 2
= Z −1 (
z 3 − 1.6z 2 + 0.65z − 0.05
38 −1 z 1 z 2 −1 z
= Z ( ) − Z −1 ( )− Z ( )
9 z−1 2 z−1 90 z−1

= 4.2222 − 0.5 · 0.5k − 0.0222 · 0.1k

The settling time ts is the smallest number k for which holds

|0.5 · 0.5k + 0.022 · 0.1k | ≤ 0.05 ∗ 4.222 .

We find ts = 2. This means that the initial setting for the prediction horizon
is: 3 ≤ N ≤ 4. There is no delay or inverse response, so with d = 0 we find
Nm = d + 1 = 1. Finally the IIO system will be a third-order system, so
Nc = 3.

MPC Exercise Session – EE4C04 15

You might also like