Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf ·...

32
ECE5590: Model Predictive Control 4–1 Model Predictive Control Problem Formulation The objective of a model predictive control strategy is to: Compute a trajectory of future control inputs that optimizes the future behavior of plant output, where the optimization is carried out within a limited time window An Application Example Let’s examine how this might work for a golf game. Prior to tee-off, we analyze the course and game-time weather conditions. Based on this knowledge - and the physical principles governing ball trajectories as a function of club - we develop a model. Using this model, we develop a strategy for the next n golf strokes that will land the ball in the hole. We execute the next shot in this optimal sequence. We then assess our success and use information gained to plan the next series of shots. Of course a key difference in golf is that our horizon is ever- shortening (we hope!) In practice, our actual play sequence will differ from the original set of n shots in the optimal sequence. Lecture notes prepared by M. Scott Trimboli. Copyright c 2010-2015, M. Scott Trimboli

Transcript of Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf ·...

Page 1: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590: Model Predictive Control 4–1

Model Predictive Control Problem Formulation

The objective of a model predictive control strategy is to:

Compute a trajectory of future control inputs that optimizes the futurebehavior of plant output, where the optimization is carried out within alimited time window

An Application Example

! Let’s examine how this might work for a golf game.

– Prior to tee-off, we analyze the course and game-time weatherconditions.

– Based on this knowledge - and the physical principles governingball trajectories as a function of club - we develop a model.

– Using this model, we develop a strategy for the next n golf strokesthat will land the ball in the hole.

– We execute the next shot in this optimal sequence.

– We then assess our success and use information gained to planthe next series of shots.

! Of course a key difference in golf is that our horizon is ever-shortening (we hope!)

! In practice, our actual play sequence will differ from the original set ofn shots in the optimal sequence.

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 2: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–2

! A part of this difference is due to unknowns (like how close to ourpotential we perform).

NOTE: In practice, we will have limitations (e.g., known injuries,maximum shot distance, etc.) that we will build in as constraints duringpre-game analysis.

Key principles of MPC demonstrated by this example include:

1. Moving prediction horizon window

2. Receding horizon control that only executes the next step

3. Need for current-time information to make the next prediction

4. Model that describes system dynamics used for prediction

5. Objective criterion based on measured difference between desired &actual response

Model Choice for MPC

! Three popular approaches to system modeling for predictive controldesign are:

– Finite Impulse Response (FIR)– Step Response (SR)– Transfer Function (TF)– State-Space (SS)

! Each approach exhibits certain advantages and disadvantages - thedevelopment in this course will focus on state-space models

! FIR, SR and TF models are of historical interest and will be presentedfor completeness

! All models will assume a discrete-time setting

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 3: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–3

Finite Impulse Response

! Also known as weighting sequence, the output is related to the inputvia the convolution operator

! For the single-input-single-output (SISO) case, we write

yk DNX

iD1

giuk#i

where uk and yk denote the input and output sequence elements,respectively.

! The sequence gi comprises the first N coefficients of an infiniteTaylor series in the unit time delay operator, z#1 , representing thedynamic process g.z/:

g.z/ D1X

iD0

giz#1

– This sequence will always decay to zero for the stable case.

! The first N values of the infinite series give a finite impulse responsewhich will capture the main process dynamics.

! A FIR model can be viewed as a representation of the discrete-timepulse response (expected value of the output y in response to asingle unit pulse u).

! This model generalizes easily to the multi-input-multi-output (MIMO)case by use of appropriate matrices.

Step Response

! Integrating the unit pulse response will give the unit step response,

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 4: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–4

h.z/ D1X

iD1

hiz#1

where

h.z/ D g.z/

4.z/

and 4.z/ is the one-step difference operator, 1 # z#1.

! The following plot shows the relationship between the impulse andstep response.

g4h3

h4 = h3 + g4

Transfer Function

! Again considering the SISO case we can writea.z/yk D b.z/uk

where the formb.z/

a.z/gives a transfer function representation for the

output-input ratio of the corresponding z-transforms.

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 5: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–5

! The polynomials assume the forms:a.z/ D 1 C a1z

#1 C a2z#2 C $ $ $ C anz#n

b.z/ D b0 C b1z#1 C b2z

#2 C $ $ $ C bmz#m

NOTE: Performing the long division b.z/=a.z/ will yield the correspondingunit pulse response g.z/.

State-Space

! We shall assume a linearized, discrete-time, state-space model of theplant:

x.k C 1/ D Ax.k/ C Bu.k/

y.k/ D Cyx.k/

z.k/ D Czx.k/

where x is an n-dimensional state vector, u is an `-dimensional inputvector, y is an my-dimensional vector of measured outputs, and z is anmz-dimensional vector of outputs which are to be controlled.

! Since there is always finite delay between measuring y.k/ andapplying u.k/, there is no direct feed-through term.

– Hence our model is strictly proper.

! For simplicity, we shall often assume y % z in which case C willdenote both Cy and Cz.

Relationship to FIR Model

We can use the discrete-time state equations to determine the sequenceparameters resulting from a unit pulse input:

x.0/ D 0

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 6: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–6

x.1/ D B

x.2/ D AB

x.3/ D A2B:::

x.n/ D An#1B

y.0/ D Cx.0/ C Du.0/

D D

y.1/ D CB

y.2/ D CAB

y.3/ D CA2B:::

y.n/ D CAn#1B

! Hence the FIR model sequence is given by:

g.z/ D D C CBz#1 C CABz#2 C CA2Bz#3 C CAn#1Bz#n

Relationship to Transfer Function Model

! Applying the z-transform to the state-space model,

zX.z/ D AX.z/ C BU.z/

.zI # A/X.z/ D BU.z/

X.z/ D .zI # A/#1BU.z/

andY.z/ D C.zI # A/#1BU.z/

! So that,

G.z/ D Y.z/

U.z/D C.zI # A/#1B

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 7: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–7

State-Space Model with Embedded Integrator

! Returning to our state-space representation, we consider the SISOsystem

xm.k C 1/ D Amxm.k/ C Bmu.k/

y.k/ D Cmxm.k/

! Recall from your study of feedback control that in order to eliminatesteady-state error from a control system we need to include integralaction.

! For model predictive controllers, a convenient way to introduceintegral action is by modifying the state-space model.

! Taking a difference operation on both sides of the state equation weget

xm.k C 1/ # xm.k/ D Am.xm.k/ # xm.k # 1// C Bm.u.k/ # u.k # 1//

! Denote the difference of the state variable by

4xm.k C 1/ D xm.k C 1/ # xm.k/

4xm.k/ D xm.k/ # xm.k # 1/

and of the control variable by4u.k/ D u.k/ # u.k # 1/

! Then the difference of the state equation is:

4xm.k C 1/ D Am4xm.k/ C Bm4u.k/

! We now have to compute the corresponding expression for the outputy.k/.

! Define a new augmented state vector

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 8: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–8

x.k/ D"

4xm.k/

y.k/

#

! Note that

y.k C 1/ # y.k/ D Cm.xm.k C 1/ # xm.k// D Cm4xm.k C 1/

D CmAm4xm.k/ C CmBm4u.k/

! Putting the above expressions together we get the augmented model:"

4xm.k C 1/

y.k C 1/

#D

"Am 0T

m

CmAm 1

# "4xm.k/

y.k/

#C

"Bm

CmBm

#4u.k/

y.k/ Dh

0m 1i "

4xm.k/

y.k/

#

or simply,

x.k C 1/ D Ax.k/ C B4u.k/

y.k/ D C

"4xm.k/

y.k/

#

Example (Wang, pg. 34)

! Given a discrete-time system where

Am D"

1 1

0 1

#Bm D

"0:5

1

#Cm D

h1 0

i

! Find the matrices of the augmented system .A; B; C / and calculatethe eigenvalues of A.

SOLUTION.

! We have n D 2 and 0m Dh

0 0i.

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 9: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–9

! Then,

x.k C 1/ D Ax.k/ C B4u.k/

y.k/ D C x.k/

where

A D"

Am 0Tm

CmAm I

#D

264

1 1 0

0 1 0

1 1 1

375

B D"

Bm

CmBm

#D

264

0:5

1

0:5

375

C Dh

0m 1i

Dh

0 0 1i

! The eigenvalues of A are found as the roots of the characteristicequation, .! # 1/3 D 0; or !1 D !2 D !3 D 1.

Predictive Control: SISO Case

! We will first develop the case for a simple SISO system for which thestates are directly measureable.

– The more general case will be discussed later.

! Future control inputs are denoted by:

4u.ki/; 4u.ki C 1/; : : : ; 4u.ki C Nc # 1/

where ki represents a particular time step and Nc is the control horizon.

! Information x.ki/ permits prediction up to Np samples ahead; Np iscalled the prediction horizon.

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 10: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–10

! Future state variables are given by:

x.ki C 1jki/; x.ki C 2jki/; : : : x.ki C mjki/; : : : ; x.ki C Npjki/

NOTE: Nc & Np.

PREDICTION.

! Future state variables:x.ki C 1jki/ D Ax.ki/ C B4u.ki/

x.ki C 2jki/ D Ax.ki C 1jki/ C B4u.ki C 1/

D A2x.ki/ C AB4u.ki/ C B4u.ki C 1/:::

x.ki C Npjki/ D ANpx.ki/ C ANp#1B4u.ki/ C ANp#2B4u.ki C 1/

C : : : C ANp#NcB4u.ki C Nc # 1/

! Predicted outputs:

y.ki C 1/ D CAx.ki/ C CB4u.ki/

y.ki C 2/ D CA2x.ki/ C CAB4u.ki/ C CB4u.ki C 1/

y.ki C 3/ D CA3x.ki/ C CA2B4u.ki/ C CAB4u.ki C 1/

C CB4u.ki C 2/:::

y.ki C Npjki/ D CANpx.ki/ C CANp#1B4u.ki/ C CANp#2B4u.ki C 1/

C : : : C CANp#NcB4u.ki C Nc # 1/

! Gathering up the the predicted output sequence into the vector

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 11: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–11

Y D

26666664

y.ki C 1/ j ki

y.ki C 2/ j ki

y.ki C 3/ j ki:::

y.ki C Np/ j ki

37777775

! Gather future input increments into the vector

4U D

26666664

4u.ki/

4u.ki C 1/

4u.ki C 2/:::

4u.ki C Nc # 1/

37777775

I

! Now we can write

Y D F x.ki/ C ˆ4U

where

F D

26666664

CA

CA2

CA3

:::

CANp

37777775

I ˆ D

26666664

CB 0 0 $ $ $ 0

CAB CB 0 $ $ $ 0

CA2B CAB CB $ $ $ 0:::

CANp#1B CANp#2B CANp#3B $ $ $ CANp#NcB

37777775

OPTIMIZATION.

! For a given set-point signal r.ki/ at sample time ki , the objective is tofind the best control parameter 4U such that an error function isminimized.

! Define

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 12: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–12

Rs D

266664

1

1:::

1

377775

r.ki/

! Then we can define a cost function J as

J D .Rs ! Y /t.Rs ! Y / C 4U tR4U

! Optimal 4U that minimizes J is found from the solution of

@J

@4UD 0

! Expand J as

J D .Rs#F x.ki//t.Rs#F x.ki//#24U tˆT .Rs#F x.ki//C4U t.ˆT ˆCR/4U

to give@J

@4UD #2ˆT .Rs # F x.ki// C 2.ˆT ˆ C R/4U D 0

! Solving,

4U " D .ˆT ˆ C R/#1ˆT .Rs # F x.ki//

Example

! Consider a simple first-order system:

xm.k C 1/ D axm.k/ C bu.k/

y.k/ D cxm.k/

where, a D 0:8; b D 0:1 and c D 1:0. Let Np D 10 and Nc D 4.

! Assume ki D 10, and at this value, the reference r.ki/ D 1 and thestate vector x.ki/ D

h0:1 0:2

it

.

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 13: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–13

! Determine the optimal solution 4U ' for the cases: 1) R D Œ0" and 2)R D 10 $ I , where R is the weighting on the control input.

SOLUTION.

! Form the augmented state-space system:"

4xm.k C 1/

y.k C 1/

#D

"a 0

a 1

# "4xm.k/

y.k/

#C

"b

b

#4u.k/

y.k/ Dh

0 1i "

4xm.k/

y.k/

#

! Therefore, F and ˆ take the following form:

F D

26666666666666666664

CA

CA2

CA3

CA4

CA5

CA6

CA7

CA8

CA9

CA10

37777777777777777775

I ˆ D

26666666666666666664

CB 0 0 0

CAB CB 0 0

CA2B CAB CB 0

CA3B CA2B CAB CB

CA4B CA3B CA2B CAB

CA5B CA4B CA3B CA2B

CA6B CA5B CA4B CA3B

CA7B CA6B CA5B CA4B

CA8B CA7B CA6B CA5B

CA9B CA8B CA7B CA6B

37777777777777777775

! Note that the elements of ˆ comprise the discrete pulse response ofthe system arranged in the form of a Toeplitz matrix.

! Substituting values we obtain:

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 14: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–14

ˆT ˆ D

266664

1:1541 1:0407 0:9116 0:7726

1:0407 0:9549 0:8475 0:7259

0:9116 0:8475 0:7675 0:6674

0:7726 0:7259 0:6674 0:5943

377775

ˆT F D

266664

9:2325 3:2147

8:3259 2:7684

7:2927 2:3355

6:1811 1:9194

377775

I ˆT Rs D

266664

3:2147

2:7684

2:3355

1:9194

377775

! For case 1) where R D Œ0", the optimal input sequence is

4U D .ˆT ˆ/#1.ˆT Rs # ˆT F x.ki// D

266664

7:2

#6:4

0

0

377775

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 15: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–15

! For case 2) where R D 10 $ I , we obtain

4U D .ˆT ˆ C 10 $ I /#1.ˆT Rs # ˆT F x.ki// D

266664

0:1269

0:1034

0:0829

0:065

377775

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 16: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–16

Receding Horizon Control

! Although the optimal parameter vector 4U contains the controlvalues 4u.ki/; 4u.ki C 1/,4u.ki C 2/,: : : 4u.ki C NC # 1/ , we onlyimplement the first sample of the sequence.

! Consider again the first-order system with state-space descriptionxm.k C 1/ D 0:8xm.k/ C 0:1u.k/

! Let rw D 0; initial conditions are x.10/ Dh

0:1 0:2it

and u.9/ D 0.

! As found previously, at sample time ki D 10, the optimal control wasfound to be 4u.10/ D 7:2:

! Assuming 4u.9/ D 0, then we have the control signal to the plant isu.10/ D u.9/ C 4u.10/ D 7:2.

! Compute the next plant state variable:

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 17: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–17

xm.11/ D 0:8xm.10/ C 0:1u.10/ D 0:88

! At ki D 11, new plant information is

4xm.11/ D 0:88 # 0:2 D 0:68

y.11/ D 0:88

which gives

x.11/ D"

0:68

0:88

#

! We can then calculate:

4U D .ˆT ˆ/#1.ˆT Rs # ˆT F x.11// D

266664

#4:24

#0:96

0

0

377775

and thus the optimal control input u.11/ D u.10/ C 4u.11/ D 2:96.

! Propagate the state again,

xm.12/ D 0:8xm.11/ C 0:1u.11/ D 1:0

! At ki D 12, the new plant information is

4xm.12/ D 1:0 # 0:88 D 0:12

y.12/ D 1:0

which gives

x.12/ D"

0:12

1:0

#

and

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 18: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–18

4U D .ˆT ˆ/#1.ˆT Rs # ˆT F x.12// D

266664

#0:96

0

0

0

377775

! Continuing,

xm.13/ D axm.12/ C bu.12/ D 1:0

y.13/ D 1:0

4xm.13/ D 1:0 # 1:0 D 0

y.13/ D 1:0

4U D .ˆT ˆ/#1.ˆT Rs # ˆT F x.13// D

266664

0

0

0

0

377775

Stacking the the computed values of 4U for time instantski D

h10 11 12 13

icolumn-wise we obtain

4U ALL D

266664

7:2 #4:24 #0:96 0

#6:4 #0:96 0 0

0 0 0 0

0 0 0 0

377775

where the optimal control input sequence is given by the first row.The optimal response follows:

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 19: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–19

Closed Loop Control System

! We’ve shown that at a given time ki , the optimal control input vector4U is solved from

4U D .ˆT ˆ C NR/#1.ˆT Rs # ˆT F x.ki//

– Here, the first term, .ˆT ˆ C NR/#1ˆT Rs corresponds to theset-point change

– The second term, .ˆT ˆ C NR/#1ˆT F corresponds to statefeedback control (within the context of predictive control)

! We take just the first element of 4U at time ki as the incrementalcontrol,

4U .ki/ Dh

1 0 $ $ $ 0i

.ˆT ˆ C NR/#1.ˆT NRsr.ki/ # ˆT F x.ki//

D Kyr.ki/ # Kmpcx.ki/

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 20: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–20

where Ky is the first element of .ˆT ˆ C NR/#1ˆT Rs and Kmpc is thefirst row of .ˆT ˆ C NR/#1ˆT F .

! These relationships depict linear time-invariant state feedback control.

! The closed-loop system is found by using the augmented systemequation to write

x.k C 1/ D Ax.k/ # BKmpcx.k/ C BKyr.k/

D .A # BKmpc/x.k/ C BKyr.k/

– Closed-loop eigenvalues are then the roots of the closed-loopcharacteristic equation:

detŒ!I # .A # BKmpc/" D 0

Predictive Control with Unmeasured States

State Estimation

! In the design of model predictive controllers, we initally assume thatthe information x.ki/ is available at time ki , which assumes all statevariables are measurable.

! In practice this is not the case and we must instead estimate statevalues from the available process measurements.

– The general construction we devise for this task is termed anobserver.

! Assume a plant state-space model,

xm.k C 1/ D Amxm.k/ C Bmu.k/

! We can then calculate an estimate of the state variable,Oxm.k/; k D 1; 2; : : :, with an initial condition Oxm.0/ and input signalu.k/ as

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 21: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–21

Oxm.k C 1/ D Am Oxm.k/ C Bmu.k/

! What’s the problem with this estimate model?

– open loop prediction

– works only if initial condition is accurate

– requires stable plant - convergence only if eigenvalues of A insideunit circle

– can’t regulate convergence rate

! Better approach ! Use feedback that relies on an error measure toimprove the estimate:

Oxm.k/ D Am Oxm.k/A C Bmu.k/ C Kob

!y.k/ # Cm Oxm.k/

"

where Kob is an observer gain matrix.

! First term propagates the original model

! Second term is a correction

– Correction based on the error between the measured output andthe predicted value based on the state estimate.

! How do we choose the observer gain, Kob?

– Define the error state to be fxm.k C 1/ D xm.k/ # Oxm.k/; then

fxm.k C 1/ D Amfxm.k/ # KobCmfxm.k/

D .Am # KobCm/fxm.k/

– With an initial error state xm.0/, we have

fxm.k/ D .Am # KobCm/kfxm.0/

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 22: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–22

! Unlike the open-loop estimator case, now we can exploit the degreesof freedom in the observer gain matrix to affect the estimatorconvergence rate.

! One way to do this is to place the closed-loop poles of the errorsystem matrix at desired locations in the complex plane.

Example

! The linearized equation of motion of a simple pendulum is:

d 2#

dt2C !2# D u

! Design an observer that reconstructs the pendulum angle, # , frommeasurements of its angular velocity, d#=dt. Assume ! D 2 rad/secand sampling interval 4t D 0:1 sec.

! Select states, x1.t/ D # and x2.t/ D P# ; the continuous timestate-space model is,

"Px1.t/

Px2.t/

#D

"0 1

#!2 0

# "x1.t/

x2.t/

#C

"0

1

#u.t/

y.t/ Dh

0 1i "

x1.t/

x2.t/

#:

! The discrete-time model is found from the Matlab function [sysd] =c2d(sysc, .1):

"x1.k C 1/

x2.k C 1/

#D

"0:9801 0:0993

#:3973 0:9801

# "x1.k/

x2.k/

#C

"0:0050

0:0993

#u.k/

y.k/ Dh

0 1i "

x1.k/

x2.k/

#

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 23: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–23

! What if we just use the pendulum model alone for (open-loop)prediction?

– Assume u.k/ D 0, and the initial conditions, #.0/ D x1.0/ D 1 andP#.0/ D x2.0/ D 0:

– Now let’s assume we take a guess at the initial conditions of theestimator as Ox1.0/ D 0:3 and Ox2.0/ D 0.

– Results are as follows:

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 24: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–24

– It’s easy to see that the open-loop estimation was unable torecover from an error in the initial conditions.

! Now let us design and implement an observer to predict the angle ofthe pendulum.

– Assume the observer gain is given by Kob Dh

$1 $2

it

.

– The close-loop characteristic polynomial of the observer is

det .!I # ŒAm # KobCm"/ D .!#0:9801/.!C$2#:9801/#:3973(.$1#:0993/

– Let’s set the observer poles at 0:1 and 0:2 for good convergencespeed.

– Equating the above expression to the desired closed cloopcharacteristic equation for the observer, namely.! # 0:9801/.! C $2 # :9801/ # :3973 ( .$1 # :0993/ D .! # 0:1/.! # 0:2/

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 25: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–25

we can solve for the unknown observer gains

"0 1

#:3973 #:9801

# "$1

$2

#D

"1:6601

#0:9800

#

"$1

$2

#D

"#1:6284

1:6601

#

"0 1

#:3973 #:9801

# "$1

$2

#D

"1:6601

#0:9800

#

"$1

$2

#D

"#1:6284

1:6601

#

– Implementing the estimator with the computed observer gives theresults depicted below.

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 26: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–26

– Here we see the observer quickly converges to the true value inapproximately three time steps.

Predictive Control Using State Estimates

! In cases where the state variable x.ki/ at time ki is not measurable,we use an observer in the implementation of predictive control.

Ox.ki C 1/ D A Ox.ki/ C B4u.ki/ C Kob.y.ki/ # C Ox.ki//

! Note that the state matrices,!

A; B; C"

represent the augmentedmodel used for predictive controller design.

! The corresponding modified cost function J can then be written

J D .Rs#F Ox.ki//T . NRsr.ki/#F Ox.ki//#24U T ˆT .Rs#F Ox.ki//C4U T .ˆT ˆC NR/4U

– The optimal solution is thus:

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 27: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–27

4U ' D .ˆT ˆ C NR/#1ˆT .Rs # F Ox.ki//

! Application of receding horizon control leads to the optimal solution attime ki :

4u.ki/ D Kyr.ki/ # Kmpc Ox.ki/

– This is standard state feedback control with estimate Ox.ki/.

! Let’s now examine the close-loop properties of this system.

! First, for the closed-loop state equations,

x.k C 1/ D Ax.k/ C B4u.k/

D Ax.k/ C BKyr.k/ # BKmpc Ox.k/

! The closed-loop observer error equation is:Qx.k C 1/ D .A # KobC / Qx.k/

where

Qx.k/ D x.k/ # Ox.k/

! Substituting for Ox.k/ we can write:x.k C 1/ D .A # BKmpc/x.k/ # BKmpc Qx.k/ C BKyr.k/

! Combining the error and system state equations,"Qx.k C 1/

x.k C 1/

#D

"A # KobC 0n(n

#BKmpc A # BKmpc

# "Qx.k/

x.k/

#C

"0n(m

BKy

#r.k/

– Since the system matrix is lower block diagonal, the eigenvaluesare given by the eigenvalues of the diagonal blocks, A # KobC andA # BKmpc respectively (separation principle).

Example

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 28: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–28

The augmented model for a double integrator plant is given by

x.k C 1/ D Ax.k/ C B4u.k/

y.k/ D C x.k/

where

A D

264

1 1 0

0 1 0

1 1 1

375 ; B D

264

0:5

1

0:5

375 ; C D

h0 0 1

i

! Design a state estimate predictive control system and simulate theclosed-loop response for a set-point change.

! Design specifications:

Nc D 5

Np D 30

rw D 10

! Place the observer poles at: 0:01, 0:0105, 0:011 to give fast dynamicresponse.

! The open-loop plant has three eigenvalues at one (by inspection), twofrom the double-integrator and one from the embedded integratorstructure. Using the Matlab function place, we find the observer gainsfrom:

Pole Dh0:01 0:0105 0:011

iI

Kob D place!A0 C0 Pole

"0I

which gives,

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 29: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

ECE5590, Model Predictive Control Problem Formulation 4–29

Kob D

264

1:9685

0:9688

2:9685

375

! Using the given performance parameters, the state feedbackcontroller gain is computed to be,

Kmpc Dh

0:8984 1:3521 0:4039i

! The resulting closed-loop eigenvalues are at 0:3172 ˙ j 0:4089 and0:3624.

Lecture notes prepared by M. Scott Trimboli. Copyright c" 2010-2015, M. Scott Trimboli

Page 30: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

(mostly blank)

Page 31: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

(mostly blank)

Page 32: Model Predictive Control Problem Formulationmocha-java.uccs.edu/ECE5590/ECE5590_Ch4_F15.pdf · Model Predictive Control Problem Formulation The objective of a model predictive control

(mostly blank)