2015-04-20, mpc lecture - auburn universitydmbevly/mech7710/brown_mpc_lecture.pdfin this book, we...

43
Discrete Model Predic.ve Control Lowell Brown 20150421

Upload: others

Post on 27-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Discrete  Model  Predic.ve  Control

Lowell  Brown  

2015-­‐04-­‐21

Page 2: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Outline

• MPC:  Basic  Idea    • State  Space  and  Augmented  System  Model  • OpCmizaCon  Window  • Receding  Horizon  Control  • Example

Page 3: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

References

• Model  PredicCve  Control  System  Design  and  ImplementaCon  Using  MATLAB  – Liuping  Wang,  Springer  2009  

• Model  Based  PredicCve  Control-­‐A  PracCcal  Approach  – J.  A.  Rossiter,  CRC  Press  2004  

Page 4: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

MPC:  Basic  Idea

Page 5: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

MPC:  Basic  Idea

• PredicCon  relies  on  the  state-­‐space  model  • OpCmal  control  trajectory    – set  of  parameters  that  define  the  incremental  control  movement Δu  

• ObjecCve  of  the  control  system  – the  error  funcCon  between  the  set-­‐point  signal  and  the  predicted  output  signal.  

Page 6: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Tracking  Errors54 Model-based predictive control: a practical approach

−1 0 1 2 3 4 5−0.2

0

0.2

0.4

0.6

0.8

1

e1

e2

e3

e4

Setpoint r

Output y

time (sec)

FIGURE 4.1Tracking errors.

4.2 GPC algorithm –the main components

This section gives an overview of the main components in a predictive control law.Use of these components to form the parameters of the control law then follows inthe later sections.

4.2.1 Performance index and optimisation

The control law is determined from the minimisation of a 2-norm measure of pre-dicted performance. A typical performance index (or cost function) is

J = ∑nyi=nw

∥rk+i −yk+i∥22 + λ ∑nu−1

i=0 ∥∆uk+i∥22

= ∑nyi=nw

∥ek+i∥22 + λ ∑nu−1

i=0 ∥∆uk+i∥22

(4.4)

That is:

Page 7: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Basic  Idea: Incremental  Control

• Error  funcCon:  a  “measurement”  of  the  objecCve    • OpCmal  soluCon  obtained  for  the  set  of  incremental  control  

movements  Δu(ki),Δu(ki+1),…,Δu(ki+Nc-1)  

• Only  the  1st  sample  Δu(ki)  is  used    

• OpCmizaCon  repeats  on  the  next  sample  period  i  

– Based  on  the  receding  horizon  control  principle    • Feedback  is  naturally  incorporated  into  the  control  system  design

Page 8: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Basic  Idea:   Embedded  Integrator(s)

• Design  model:  augmented  plant  model  with  embedded  integrator(s)    

• Integrator(s)  make(s)  the  control  signal  opCmized  to  be  Δu(ki

+m)    – instead  of  the  sequence  of  u(ki+m)  

• Embedded  integrator(s)  eliminate(s)  steady  state  errors  – Steady  state  informaCon  about  the  control  or  state  variables  is  not  

required    – Important  for  plants  with  mulCple  inputs  and  mulCple  outputs  (MIMO)  

>> finite impulse response(FIR) (including dynamic matrix control(DMC)) are limited to stable plants and often require large model orders.>> 30 - 60 impulse resp. coeff.>> Transfer function model-based predictive control often considered less effective in handling multivariable plants

Page 9: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

State  Space  &   Augmented  System  Model

Page 10: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

State  Space  & Augmented  System  Model

4 1 Discrete-time MPC for Beginners

predictive control (GPC) algorithm of Clarke and colleagues (Clarke et al.,1987). The transfer function model-based predictive control is often consideredto be less effective in handling multivariable plants. A state-space formulationof GPC has been presented in Ordys and Clarke (1993).

Recent years have seen the growing popularity of predictive control de-sign using state-space design methods (Ricker, 1991, Rawlings and Muske,1993, Rawlings, 2000, Maciejowski, 2002). In this book, we will use state-spacemodels, both in continuous time and discrete time for simplicity of the designframework and the direct link to the classical linear quadratic regulators.

1.2 State-space Models with Embedded Integrator

Model predictive control systems are designed based on a mathematical modelof the plant. The model to be used in the control system design is taken to bea state-space model. By using a state-space model, the current informationrequired for predicting ahead is represented by the state variable at the currenttime.

1.2.1 Single-input and Single-output System

For simplicity, we begin our study by assuming that the underlying plant is asingle-input and single-output system, described by:

xm(k + 1) = Amxm(k) + Bmu(k), (1.1)

y(k) = Cmxm(k), (1.2)

where u is the manipulated variable or input variable; y is the process output;and xm is the state variable vector with assumed dimension n1. Note that thisplant model has u(k) as its input. Thus, we need to change the model to suitour design purpose in which an integrator is embedded.

Note that a general formulation of a state-space model has a direct termfrom the input signal u(k) to the output y(k) as

y(k) = Cmxm(k) + Dmu(k).

However, due to the principle of receding horizon control, where a currentinformation of the plant is required for prediction and control, we have im-plicitly assumed that the input u(k) cannot affect the output y(k) at the sametime. Thus, Dm = 0 in the plant model.

Taking a difference operation on both sides of (1.1), we obtain that

xm(k + 1) − xm(k) = Am(xm(k) − xm(k − 1)) + Bm(u(k) − u(k − 1)).

4 1 Discrete-time MPC for Beginners

predictive control (GPC) algorithm of Clarke and colleagues (Clarke et al.,1987). The transfer function model-based predictive control is often consideredto be less effective in handling multivariable plants. A state-space formulationof GPC has been presented in Ordys and Clarke (1993).

Recent years have seen the growing popularity of predictive control de-sign using state-space design methods (Ricker, 1991, Rawlings and Muske,1993, Rawlings, 2000, Maciejowski, 2002). In this book, we will use state-spacemodels, both in continuous time and discrete time for simplicity of the designframework and the direct link to the classical linear quadratic regulators.

1.2 State-space Models with Embedded Integrator

Model predictive control systems are designed based on a mathematical modelof the plant. The model to be used in the control system design is taken to bea state-space model. By using a state-space model, the current informationrequired for predicting ahead is represented by the state variable at the currenttime.

1.2.1 Single-input and Single-output System

For simplicity, we begin our study by assuming that the underlying plant is asingle-input and single-output system, described by:

xm(k + 1) = Amxm(k) + Bmu(k), (1.1)

y(k) = Cmxm(k), (1.2)

where u is the manipulated variable or input variable; y is the process output;and xm is the state variable vector with assumed dimension n1. Note that thisplant model has u(k) as its input. Thus, we need to change the model to suitour design purpose in which an integrator is embedded.

Note that a general formulation of a state-space model has a direct termfrom the input signal u(k) to the output y(k) as

y(k) = Cmxm(k) + Dmu(k).

However, due to the principle of receding horizon control, where a currentinformation of the plant is required for prediction and control, we have im-plicitly assumed that the input u(k) cannot affect the output y(k) at the sametime. Thus, Dm = 0 in the plant model.

Taking a difference operation on both sides of (1.1), we obtain that

xm(k + 1) − xm(k) = Am(xm(k) − xm(k − 1)) + Bm(u(k) − u(k − 1)).

4 1 Discrete-time MPC for Beginners

predictive control (GPC) algorithm of Clarke and colleagues (Clarke et al.,1987). The transfer function model-based predictive control is often consideredto be less effective in handling multivariable plants. A state-space formulationof GPC has been presented in Ordys and Clarke (1993).

Recent years have seen the growing popularity of predictive control de-sign using state-space design methods (Ricker, 1991, Rawlings and Muske,1993, Rawlings, 2000, Maciejowski, 2002). In this book, we will use state-spacemodels, both in continuous time and discrete time for simplicity of the designframework and the direct link to the classical linear quadratic regulators.

1.2 State-space Models with Embedded Integrator

Model predictive control systems are designed based on a mathematical modelof the plant. The model to be used in the control system design is taken to bea state-space model. By using a state-space model, the current informationrequired for predicting ahead is represented by the state variable at the currenttime.

1.2.1 Single-input and Single-output System

For simplicity, we begin our study by assuming that the underlying plant is asingle-input and single-output system, described by:

xm(k + 1) = Amxm(k) + Bmu(k), (1.1)

y(k) = Cmxm(k), (1.2)

where u is the manipulated variable or input variable; y is the process output;and xm is the state variable vector with assumed dimension n1. Note that thisplant model has u(k) as its input. Thus, we need to change the model to suitour design purpose in which an integrator is embedded.

Note that a general formulation of a state-space model has a direct termfrom the input signal u(k) to the output y(k) as

y(k) = Cmxm(k) + Dmu(k).

However, due to the principle of receding horizon control, where a currentinformation of the plant is required for prediction and control, we have im-plicitly assumed that the input u(k) cannot affect the output y(k) at the sametime. Thus, Dm = 0 in the plant model.

Taking a difference operation on both sides of (1.1), we obtain that

xm(k + 1) − xm(k) = Am(xm(k) − xm(k − 1)) + Bm(u(k) − u(k − 1)).

1.2 State-space Models with Embedded Integrator 5

Let us denote the difference of the state variable by

∆xm(k + 1) = xm(k + 1) − xm(k); ∆xm(k) = xm(k) − xm(k − 1),

and the difference of the control variable by

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

These are the increments of the variables xm(k) and u(k). With this transfor-mation, the difference of the state-space equation is:

∆xm(k + 1) = Am∆xm(k) + Bm∆u(k). (1.3)

Note that the input to the state-space model is ∆u(k). The next step is toconnect ∆xm(k) to the output y(k). To do so, a new state variable vector ischosen to be

x(k) =!

∆xm(k)T y(k)"T

,

where superscript T indicates matrix transpose. Note that

y(k + 1) − y(k) = Cm(xm(k + 1) − xm(k)) = Cm∆xm(k + 1)

= CmAm∆xm(k) + CmBm∆u(k). (1.4)

Putting together (1.3) with (1.4) leads to the following state-space model:

x(k+1)# $% &'

∆xm(k + 1)y(k + 1)

(

=

A# $% &'

Am oTm

CmAm 1

(

x(k)# $% &'

∆xm(k)y(k)

(

+

B# $% &'

Bm

CmBm

(

∆u(k)

y(k) =

C# $% &!

om 1"'

∆xm(k)y(k)

(

, (1.5)

where om =

n1

# $% &!

0 0 . . . 0"

. The triplet (A, B, C) is called the augmented model,which will be used in the design of predictive control.

Example 1.1. Consider a discrete-time model in the following form:

xm(k + 1) = Amxm(k) + Bmu(k)

y(k) = Cmxm(k) (1.6)

where the system matrices are

Am =

'

1 10 1

(

; Bm =

'

0.51

(

; Cm =!

1 0"

.

Find the triplet matrices (A, B, C) in the augmented model (1.5) and calcu-late the eigenvalues of the system matrix, A, of the augmented model.

System  Model

Model  assumes  that:

Difference  the  System  Model

Eq.  1

1.2 State-space Models with Embedded Integrator 5

Let us denote the difference of the state variable by

∆xm(k + 1) = xm(k + 1) − xm(k); ∆xm(k) = xm(k) − xm(k − 1),

and the difference of the control variable by

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

These are the increments of the variables xm(k) and u(k). With this transfor-mation, the difference of the state-space equation is:

∆xm(k + 1) = Am∆xm(k) + Bm∆u(k). (1.3)

Note that the input to the state-space model is ∆u(k). The next step is toconnect ∆xm(k) to the output y(k). To do so, a new state variable vector ischosen to be

x(k) =!

∆xm(k)T y(k)"T

,

where superscript T indicates matrix transpose. Note that

y(k + 1) − y(k) = Cm(xm(k + 1) − xm(k)) = Cm∆xm(k + 1)

= CmAm∆xm(k) + CmBm∆u(k). (1.4)

Putting together (1.3) with (1.4) leads to the following state-space model:

x(k+1)# $% &'

∆xm(k + 1)y(k + 1)

(

=

A# $% &'

Am oTm

CmAm 1

(

x(k)# $% &'

∆xm(k)y(k)

(

+

B# $% &'

Bm

CmBm

(

∆u(k)

y(k) =

C# $% &!

om 1"'

∆xm(k)y(k)

(

, (1.5)

where om =

n1

# $% &!

0 0 . . . 0"

. The triplet (A, B, C) is called the augmented model,which will be used in the design of predictive control.

Example 1.1. Consider a discrete-time model in the following form:

xm(k + 1) = Amxm(k) + Bmu(k)

y(k) = Cmxm(k) (1.6)

where the system matrices are

Am =

'

1 10 1

(

; Bm =

'

0.51

(

; Cm =!

1 0"

.

Find the triplet matrices (A, B, C) in the augmented model (1.5) and calcu-late the eigenvalues of the system matrix, A, of the augmented model.

1.2 State-space Models with Embedded Integrator 5

Let us denote the difference of the state variable by

∆xm(k + 1) = xm(k + 1) − xm(k); ∆xm(k) = xm(k) − xm(k − 1),

and the difference of the control variable by

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

These are the increments of the variables xm(k) and u(k). With this transfor-mation, the difference of the state-space equation is:

∆xm(k + 1) = Am∆xm(k) + Bm∆u(k). (1.3)

Note that the input to the state-space model is ∆u(k). The next step is toconnect ∆xm(k) to the output y(k). To do so, a new state variable vector ischosen to be

x(k) =!

∆xm(k)T y(k)"T

,

where superscript T indicates matrix transpose. Note that

y(k + 1) − y(k) = Cm(xm(k + 1) − xm(k)) = Cm∆xm(k + 1)

= CmAm∆xm(k) + CmBm∆u(k). (1.4)

Putting together (1.3) with (1.4) leads to the following state-space model:

x(k+1)# $% &'

∆xm(k + 1)y(k + 1)

(

=

A# $% &'

Am oTm

CmAm 1

(

x(k)# $% &'

∆xm(k)y(k)

(

+

B# $% &'

Bm

CmBm

(

∆u(k)

y(k) =

C# $% &!

om 1"'

∆xm(k)y(k)

(

, (1.5)

where om =

n1

# $% &!

0 0 . . . 0"

. The triplet (A, B, C) is called the augmented model,which will be used in the design of predictive control.

Example 1.1. Consider a discrete-time model in the following form:

xm(k + 1) = Amxm(k) + Bmu(k)

y(k) = Cmxm(k) (1.6)

where the system matrices are

Am =

'

1 10 1

(

; Bm =

'

0.51

(

; Cm =!

1 0"

.

Find the triplet matrices (A, B, C) in the augmented model (1.5) and calcu-late the eigenvalues of the system matrix, A, of the augmented model.

Eq.  2

Eq.  0

Page 11: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

1.2 State-space Models with Embedded Integrator 5

Let us denote the difference of the state variable by

∆xm(k + 1) = xm(k + 1) − xm(k); ∆xm(k) = xm(k) − xm(k − 1),

and the difference of the control variable by

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

These are the increments of the variables xm(k) and u(k). With this transfor-mation, the difference of the state-space equation is:

∆xm(k + 1) = Am∆xm(k) + Bm∆u(k). (1.3)

Note that the input to the state-space model is ∆u(k). The next step is toconnect ∆xm(k) to the output y(k). To do so, a new state variable vector ischosen to be

x(k) =!

∆xm(k)T y(k)"T

,

where superscript T indicates matrix transpose. Note that

y(k + 1) − y(k) = Cm(xm(k + 1) − xm(k)) = Cm∆xm(k + 1)

= CmAm∆xm(k) + CmBm∆u(k). (1.4)

Putting together (1.3) with (1.4) leads to the following state-space model:

x(k+1)# $% &'

∆xm(k + 1)y(k + 1)

(

=

A# $% &'

Am oTm

CmAm 1

(

x(k)# $% &'

∆xm(k)y(k)

(

+

B# $% &'

Bm

CmBm

(

∆u(k)

y(k) =

C# $% &!

om 1"'

∆xm(k)y(k)

(

, (1.5)

where om =

n1

# $% &!

0 0 . . . 0"

. The triplet (A, B, C) is called the augmented model,which will be used in the design of predictive control.

Example 1.1. Consider a discrete-time model in the following form:

xm(k + 1) = Amxm(k) + Bmu(k)

y(k) = Cmxm(k) (1.6)

where the system matrices are

Am =

'

1 10 1

(

; Bm =

'

0.51

(

; Cm =!

1 0"

.

Find the triplet matrices (A, B, C) in the augmented model (1.5) and calcu-late the eigenvalues of the system matrix, A, of the augmented model.

State  Variable  Vector

Combine  Eq.  1  and  Eq.2

1.2 State-space Models with Embedded Integrator 5

Let us denote the difference of the state variable by

∆xm(k + 1) = xm(k + 1) − xm(k); ∆xm(k) = xm(k) − xm(k − 1),

and the difference of the control variable by

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

These are the increments of the variables xm(k) and u(k). With this transfor-mation, the difference of the state-space equation is:

∆xm(k + 1) = Am∆xm(k) + Bm∆u(k). (1.3)

Note that the input to the state-space model is ∆u(k). The next step is toconnect ∆xm(k) to the output y(k). To do so, a new state variable vector ischosen to be

x(k) =!

∆xm(k)T y(k)"T

,

where superscript T indicates matrix transpose. Note that

y(k + 1) − y(k) = Cm(xm(k + 1) − xm(k)) = Cm∆xm(k + 1)

= CmAm∆xm(k) + CmBm∆u(k). (1.4)

Putting together (1.3) with (1.4) leads to the following state-space model:

x(k+1)# $% &'

∆xm(k + 1)y(k + 1)

(

=

A# $% &'

Am oTm

CmAm 1

(

x(k)# $% &'

∆xm(k)y(k)

(

+

B# $% &'

Bm

CmBm

(

∆u(k)

y(k) =

C# $% &!

om 1"'

∆xm(k)y(k)

(

, (1.5)

where om =

n1

# $% &!

0 0 . . . 0"

. The triplet (A, B, C) is called the augmented model,which will be used in the design of predictive control.

Example 1.1. Consider a discrete-time model in the following form:

xm(k + 1) = Amxm(k) + Bmu(k)

y(k) = Cmxm(k) (1.6)

where the system matrices are

Am =

'

1 10 1

(

; Bm =

'

0.51

(

; Cm =!

1 0"

.

Find the triplet matrices (A, B, C) in the augmented model (1.5) and calcu-late the eigenvalues of the system matrix, A, of the augmented model.

1.2 State-space Models with Embedded Integrator 5

Let us denote the difference of the state variable by

∆xm(k + 1) = xm(k + 1) − xm(k); ∆xm(k) = xm(k) − xm(k − 1),

and the difference of the control variable by

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

These are the increments of the variables xm(k) and u(k). With this transfor-mation, the difference of the state-space equation is:

∆xm(k + 1) = Am∆xm(k) + Bm∆u(k). (1.3)

Note that the input to the state-space model is ∆u(k). The next step is toconnect ∆xm(k) to the output y(k). To do so, a new state variable vector ischosen to be

x(k) =!

∆xm(k)T y(k)"T

,

where superscript T indicates matrix transpose. Note that

y(k + 1) − y(k) = Cm(xm(k + 1) − xm(k)) = Cm∆xm(k + 1)

= CmAm∆xm(k) + CmBm∆u(k). (1.4)

Putting together (1.3) with (1.4) leads to the following state-space model:

x(k+1)# $% &'

∆xm(k + 1)y(k + 1)

(

=

A# $% &'

Am oTm

CmAm 1

(

x(k)# $% &'

∆xm(k)y(k)

(

+

B# $% &'

Bm

CmBm

(

∆u(k)

y(k) =

C# $% &!

om 1"'

∆xm(k)y(k)

(

, (1.5)

where om =

n1

# $% &!

0 0 . . . 0"

. The triplet (A, B, C) is called the augmented model,which will be used in the design of predictive control.

Example 1.1. Consider a discrete-time model in the following form:

xm(k + 1) = Amxm(k) + Bmu(k)

y(k) = Cmxm(k) (1.6)

where the system matrices are

Am =

'

1 10 1

(

; Bm =

'

0.51

(

; Cm =!

1 0"

.

Find the triplet matrices (A, B, C) in the augmented model (1.5) and calcu-late the eigenvalues of the system matrix, A, of the augmented model.

1.2 State-space Models with Embedded Integrator 5

Let us denote the difference of the state variable by

∆xm(k + 1) = xm(k + 1) − xm(k); ∆xm(k) = xm(k) − xm(k − 1),

and the difference of the control variable by

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

These are the increments of the variables xm(k) and u(k). With this transfor-mation, the difference of the state-space equation is:

∆xm(k + 1) = Am∆xm(k) + Bm∆u(k). (1.3)

Note that the input to the state-space model is ∆u(k). The next step is toconnect ∆xm(k) to the output y(k). To do so, a new state variable vector ischosen to be

x(k) =!

∆xm(k)T y(k)"T

,

where superscript T indicates matrix transpose. Note that

y(k + 1) − y(k) = Cm(xm(k + 1) − xm(k)) = Cm∆xm(k + 1)

= CmAm∆xm(k) + CmBm∆u(k). (1.4)

Putting together (1.3) with (1.4) leads to the following state-space model:

x(k+1)# $% &'

∆xm(k + 1)y(k + 1)

(

=

A# $% &'

Am oTm

CmAm 1

(

x(k)# $% &'

∆xm(k)y(k)

(

+

B# $% &'

Bm

CmBm

(

∆u(k)

y(k) =

C# $% &!

om 1"'

∆xm(k)y(k)

(

, (1.5)

where om =

n1

# $% &!

0 0 . . . 0"

. The triplet (A, B, C) is called the augmented model,which will be used in the design of predictive control.

Example 1.1. Consider a discrete-time model in the following form:

xm(k + 1) = Amxm(k) + Bmu(k)

y(k) = Cmxm(k) (1.6)

where the system matrices are

Am =

'

1 10 1

(

; Bm =

'

0.51

(

; Cm =!

1 0"

.

Find the triplet matrices (A, B, C) in the augmented model (1.5) and calcu-late the eigenvalues of the system matrix, A, of the augmented model.

Where:

State  Space  &  Augmented  System  Model

Page 12: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Eigenvalues  of  Augmented  System?

1.2 State-space Models with Embedded Integrator 5

Let us denote the difference of the state variable by

∆xm(k + 1) = xm(k + 1) − xm(k); ∆xm(k) = xm(k) − xm(k − 1),

and the difference of the control variable by

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

These are the increments of the variables xm(k) and u(k). With this transfor-mation, the difference of the state-space equation is:

∆xm(k + 1) = Am∆xm(k) + Bm∆u(k). (1.3)

Note that the input to the state-space model is ∆u(k). The next step is toconnect ∆xm(k) to the output y(k). To do so, a new state variable vector ischosen to be

x(k) =!

∆xm(k)T y(k)"T

,

where superscript T indicates matrix transpose. Note that

y(k + 1) − y(k) = Cm(xm(k + 1) − xm(k)) = Cm∆xm(k + 1)

= CmAm∆xm(k) + CmBm∆u(k). (1.4)

Putting together (1.3) with (1.4) leads to the following state-space model:

x(k+1)# $% &'

∆xm(k + 1)y(k + 1)

(

=

A# $% &'

Am oTm

CmAm 1

(

x(k)# $% &'

∆xm(k)y(k)

(

+

B# $% &'

Bm

CmBm

(

∆u(k)

y(k) =

C# $% &!

om 1"'

∆xm(k)y(k)

(

, (1.5)

where om =

n1

# $% &!

0 0 . . . 0"

. The triplet (A, B, C) is called the augmented model,which will be used in the design of predictive control.

Example 1.1. Consider a discrete-time model in the following form:

xm(k + 1) = Amxm(k) + Bmu(k)

y(k) = Cmxm(k) (1.6)

where the system matrices are

Am =

'

1 10 1

(

; Bm =

'

0.51

(

; Cm =!

1 0"

.

Find the triplet matrices (A, B, C) in the augmented model (1.5) and calcu-late the eigenvalues of the system matrix, A, of the augmented model.

1.2 State-space Models with Embedded Integrator 5

Let us denote the difference of the state variable by

∆xm(k + 1) = xm(k + 1) − xm(k); ∆xm(k) = xm(k) − xm(k − 1),

and the difference of the control variable by

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

These are the increments of the variables xm(k) and u(k). With this transfor-mation, the difference of the state-space equation is:

∆xm(k + 1) = Am∆xm(k) + Bm∆u(k). (1.3)

Note that the input to the state-space model is ∆u(k). The next step is toconnect ∆xm(k) to the output y(k). To do so, a new state variable vector ischosen to be

x(k) =!

∆xm(k)T y(k)"T

,

where superscript T indicates matrix transpose. Note that

y(k + 1) − y(k) = Cm(xm(k + 1) − xm(k)) = Cm∆xm(k + 1)

= CmAm∆xm(k) + CmBm∆u(k). (1.4)

Putting together (1.3) with (1.4) leads to the following state-space model:

x(k+1)# $% &'

∆xm(k + 1)y(k + 1)

(

=

A# $% &'

Am oTm

CmAm 1

(

x(k)# $% &'

∆xm(k)y(k)

(

+

B# $% &'

Bm

CmBm

(

∆u(k)

y(k) =

C# $% &!

om 1"'

∆xm(k)y(k)

(

, (1.5)

where om =

n1

# $% &!

0 0 . . . 0"

. The triplet (A, B, C) is called the augmented model,which will be used in the design of predictive control.

Example 1.1. Consider a discrete-time model in the following form:

xm(k + 1) = Amxm(k) + Bmu(k)

y(k) = Cmxm(k) (1.6)

where the system matrices are

Am =

'

1 10 1

(

; Bm =

'

0.51

(

; Cm =!

1 0"

.

Find the triplet matrices (A, B, C) in the augmented model (1.5) and calcu-late the eigenvalues of the system matrix, A, of the augmented model.

1.2 State-space Models with Embedded Integrator 5

Let us denote the difference of the state variable by

∆xm(k + 1) = xm(k + 1) − xm(k); ∆xm(k) = xm(k) − xm(k − 1),

and the difference of the control variable by

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

These are the increments of the variables xm(k) and u(k). With this transfor-mation, the difference of the state-space equation is:

∆xm(k + 1) = Am∆xm(k) + Bm∆u(k). (1.3)

Note that the input to the state-space model is ∆u(k). The next step is toconnect ∆xm(k) to the output y(k). To do so, a new state variable vector ischosen to be

x(k) =!

∆xm(k)T y(k)"T

,

where superscript T indicates matrix transpose. Note that

y(k + 1) − y(k) = Cm(xm(k + 1) − xm(k)) = Cm∆xm(k + 1)

= CmAm∆xm(k) + CmBm∆u(k). (1.4)

Putting together (1.3) with (1.4) leads to the following state-space model:

x(k+1)# $% &'

∆xm(k + 1)y(k + 1)

(

=

A# $% &'

Am oTm

CmAm 1

(

x(k)# $% &'

∆xm(k)y(k)

(

+

B# $% &'

Bm

CmBm

(

∆u(k)

y(k) =

C# $% &!

om 1"'

∆xm(k)y(k)

(

, (1.5)

where om =

n1

# $% &!

0 0 . . . 0"

. The triplet (A, B, C) is called the augmented model,which will be used in the design of predictive control.

Example 1.1. Consider a discrete-time model in the following form:

xm(k + 1) = Amxm(k) + Bmu(k)

y(k) = Cmxm(k) (1.6)

where the system matrices are

Am =

'

1 10 1

(

; Bm =

'

0.51

(

; Cm =!

1 0"

.

Find the triplet matrices (A, B, C) in the augmented model (1.5) and calcu-late the eigenvalues of the system matrix, A, of the augmented model.

Where:

6 1 Discrete-time MPC for Beginners

Solution. From (1.5), n1 = 2 and om = [0 0]. The augmented model for thisplant is given by

x(k + 1) = Ax(k) + B∆u(k)

y(k) = Cx(k), (1.7)

where the augmented system matrices are

A =

[

Am oTm

CmAm 1

]

=

1 1 00 1 01 1 1

⎦ ; B =

[

Bm

CmBm

]

=

0.51

0.5

⎦ ;

C =[

om 1]

=[

0 0 1]

.

The characteristic equation of matrix A is given by

ρ(λ) = det(λI − A) = det

[

λI − Am oTm

−CmAm (λ − 1)

]

= (λ − 1) det(λI − Am) = (λ − 1)3. (1.8)

Therefore, the augmented state-space model has three eigenvalues at λ = 1.Among them, two are from the original integrator plant, and one is from theaugmentation of the plant model.

1.2.2 MATLAB Tutorial: Augmented Design Model

Tutorial 1.1. The objective of this tutorial is to demonstrate how to obtain adiscrete-time state-space model from a continuous-time state-space model, andform the augmented discrete-time state-space model. Consider a continuous-time system has the state-space model:

xm(t) =

0 1 03 0 10 1 0

⎦ xm(t) +

113

⎦u(t)

y(t) =[

0 1 0]

xm(t). (1.9)

Step by Step

1. Create a new file called extmodel.m. We form a continuous-time state vari-able model; then this continuous-time model is discretized using MATLABfunction ‘c2dm’ with specified sampling interval ∆t.

2. Enter the following program into the file:

Ac = [0 1 0; 3 0 1; 0 1 0 ];Bc= [1; 1; 3];Cc=[0 1 0];Dc=zeros(1,1);Delta_t=1;[Ad,Bd,Cd,Dd]=c2dm(Ac,Bc,Cc,Dc,Delta_t);

6 1 Discrete-time MPC for Beginners

Solution. From (1.5), n1 = 2 and om = [0 0]. The augmented model for thisplant is given by

x(k + 1) = Ax(k) + B∆u(k)

y(k) = Cx(k), (1.7)

where the augmented system matrices are

A =

[

Am oTm

CmAm 1

]

=

1 1 00 1 01 1 1

⎦ ; B =

[

Bm

CmBm

]

=

0.51

0.5

⎦ ;

C =[

om 1]

=[

0 0 1]

.

The characteristic equation of matrix A is given by

ρ(λ) = det(λI − A) = det

[

λI − Am oTm

−CmAm (λ − 1)

]

= (λ − 1) det(λI − Am) = (λ − 1)3. (1.8)

Therefore, the augmented state-space model has three eigenvalues at λ = 1.Among them, two are from the original integrator plant, and one is from theaugmentation of the plant model.

1.2.2 MATLAB Tutorial: Augmented Design Model

Tutorial 1.1. The objective of this tutorial is to demonstrate how to obtain adiscrete-time state-space model from a continuous-time state-space model, andform the augmented discrete-time state-space model. Consider a continuous-time system has the state-space model:

xm(t) =

0 1 03 0 10 1 0

⎦ xm(t) +

113

⎦u(t)

y(t) =[

0 1 0]

xm(t). (1.9)

Step by Step

1. Create a new file called extmodel.m. We form a continuous-time state vari-able model; then this continuous-time model is discretized using MATLABfunction ‘c2dm’ with specified sampling interval ∆t.

2. Enter the following program into the file:

Ac = [0 1 0; 3 0 1; 0 1 0 ];Bc= [1; 1; 3];Cc=[0 1 0];Dc=zeros(1,1);Delta_t=1;[Ad,Bd,Cd,Dd]=c2dm(Ac,Bc,Cc,Dc,Delta_t);

Take  Determinant

At  least  one  pure  integrator

State  Space  &  Aug.  System  Model:  Embedded  Integrator(s)

remember model is discrete. so integrator lies on the unit circle.

Page 13: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Op.miza.on  Window

Page 14: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Op.miza.on  Window

• Goal:  Calculate  predicted  plant  output  with  future  control  signal  as  adjustable  variables.  – current  Cme  =ki    

– opCmizaCon  window  Np samples  long  • N_p  =  predicCon  horizon  

• Future  control  trajectory:                                                            Δu(ki),Δu(ki+1),…,Δu(ki+Nc-1)  

• where  Nc is  control  horizon  

– Nc dictates  number  of  parameters  used  to  capture  trajectory

Page 15: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Op.miza.on  Window

• Future  state  variable  denoted  as:

• where  x(ki+m∣ki) is  the  predicted  state  variable  

– evaluated  at  ki+m given  current  plant  info  x(ki)  

• Typically  select  control  and  predicCon  horizons  such  that:  Nc≤Np    

1.3 Predictive Control within One Optimization Window 7

3. The dimensions of the system matrices are determined to discover thenumbers of states, inputs and outputs. The augmented state-space modelis produced. Continue entering the following program into the file:

[m1,n1]=size(Cd);[n1,n_in]=size(Bd);A_e=eye(n1+m1,n1+m1);A_e(1:n1,1:n1)=Ad;A_e(n1+1:n1+m1,1:n1)=Cd*Ad;B_e=zeros(n1+m1,n_in);B_e(1:n1,:)=Bd;B_e(n1+1:n1+m1,:)=Cd*Bd;C_e=zeros(m1,n1+m1);C_e(:,n1+1:n1+m1)=eye(m1,m1);

4. Run this program to produce the augmented state variable model for thedesign of predictive control.

1.3 Predictive Control within One Optimization Window

Upon formulation of the mathematical model, the next step in the design of apredictive control system is to calculate the predicted plant output with thefuture control signal as the adjustable variables. This prediction is describedwithin an optimization window. This section will examine in detail the opti-mization carried out within this window. Here, we assume that the currenttime is ki and the length of the optimization window is Np as the number ofsamples. For simplicity, the case of single-input and single-output systems isconsidered first, then the results are extended to multi-input and multi-outputsystems.

1.3.1 Prediction of State and Output Variables

Assuming that at the sampling instant ki, ki > 0, the state variable vectorx(ki) is available through measurement, the state x(ki) provides the currentplant information. The more general situation where the state is not directlymeasured will be discussed later. The future control trajectory is denoted by

∆u(ki), ∆u(ki + 1), . . . , ∆u(ki + Nc − 1),

where Nc is called the control horizon dictating the number of parametersused to capture the future control trajectory. With given information x(ki),the future state variables are predicted for Np number of samples, where Np

is called the prediction horizon. Np is also the length of the optimizationwindow. We denote the future state variables as

x(ki + 1 | ki), x(ki + 2 | ki), . . . , x(ki + m | ki), . . . , x(ki + Np | ki),

Page 16: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Op.miza.on  Window

• Future  state  variables  propagated  sequenCally  with  augmented  state  space  model

• Predicted  output  variables  are  similar  in  form    

– i.e.  ki :  

8 1 Discrete-time MPC for Beginners

where x(ki+m | ki) is the predicted state variable at ki+m with given currentplant information x(ki). The control horizon Nc is chosen to be less than (orequal to) the prediction horizon Np.

Based on the state-space model (A, B, C), the future state variables arecalculated sequentially using the set of future control parameters:

x(ki + 1 | ki) = Ax(ki) + B∆u(ki)

x(ki + 2 | ki) = Ax(ki + 1 | ki) + B∆u(ki + 1)

= A2x(ki) + AB∆u(ki) + B∆u(ki + 1)

...

x(ki + Np | ki) = ANpx(ki) + ANp−1B∆u(ki) + ANp−2B∆u(ki + 1)

+ . . . + ANp−NcB∆u(ki + Nc − 1).

From the predicted state variables, the predicted output variables are, bysubstitution

y(ki + 1 | ki) = CAx(ki) + CB∆u(ki) (1.10)

y(ki + 2 | ki) = CA2x(ki) + CAB∆u(ki) + CB∆u(ki + 1)

y(ki + 3 | ki) = CA3x(ki) + CA2B∆u(ki) + CAB∆u(ki + 1)

+ CB∆u(ki + 2)

...

y(ki + Np | ki) = CANpx(ki) + CANp−1B∆u(ki) + CANp−2B∆u(ki + 1)

+ . . . + CANp−NcB∆u(ki + Nc − 1). (1.11)

Note that all predicted variables are formulated in terms of current statevariable information x(ki) and the future control movement ∆u(ki +j), wherej = 0, 1, . . .Nc − 1.

Define vectors

Y =[

y(ki + 1 | ki) y(ki + 2 | ki) y(ki + 3 | ki) . . . y(ki + Np | ki)]T

∆U =[

∆u(ki) ∆u(ki + 1) ∆u(ki + 2) . . . ∆u(ki + Nc − 1)]T

,

where in the single-input and single-output case, the dimension of Y is Np

and the dimension of ∆U is Nc. We collect (1.10) and (1.11) together in acompact matrix form as

Y = Fx(ki) + Φ∆U, (1.12)

where

F =

⎢⎢⎢⎢⎢⎣

CACA2

CA3

...CANp

⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎣

CB 0 0 . . . 0CAB CB 0 . . . 0CA2B CAB CB . . . 0

...CANp−1B CANp−2B CANp−3B . . . CANp−NcB

⎥⎥⎥⎥⎥⎦

.

8 1 Discrete-time MPC for Beginners

where x(ki+m | ki) is the predicted state variable at ki+m with given currentplant information x(ki). The control horizon Nc is chosen to be less than (orequal to) the prediction horizon Np.

Based on the state-space model (A, B, C), the future state variables arecalculated sequentially using the set of future control parameters:

x(ki + 1 | ki) = Ax(ki) + B∆u(ki)

x(ki + 2 | ki) = Ax(ki + 1 | ki) + B∆u(ki + 1)

= A2x(ki) + AB∆u(ki) + B∆u(ki + 1)

...

x(ki + Np | ki) = ANpx(ki) + ANp−1B∆u(ki) + ANp−2B∆u(ki + 1)

+ . . . + ANp−NcB∆u(ki + Nc − 1).

From the predicted state variables, the predicted output variables are, bysubstitution

y(ki + 1 | ki) = CAx(ki) + CB∆u(ki) (1.10)

y(ki + 2 | ki) = CA2x(ki) + CAB∆u(ki) + CB∆u(ki + 1)

y(ki + 3 | ki) = CA3x(ki) + CA2B∆u(ki) + CAB∆u(ki + 1)

+ CB∆u(ki + 2)

...

y(ki + Np | ki) = CANpx(ki) + CANp−1B∆u(ki) + CANp−2B∆u(ki + 1)

+ . . . + CANp−NcB∆u(ki + Nc − 1). (1.11)

Note that all predicted variables are formulated in terms of current statevariable information x(ki) and the future control movement ∆u(ki +j), wherej = 0, 1, . . .Nc − 1.

Define vectors

Y =[

y(ki + 1 | ki) y(ki + 2 | ki) y(ki + 3 | ki) . . . y(ki + Np | ki)]T

∆U =[

∆u(ki) ∆u(ki + 1) ∆u(ki + 2) . . . ∆u(ki + Nc − 1)]T

,

where in the single-input and single-output case, the dimension of Y is Np

and the dimension of ∆U is Nc. We collect (1.10) and (1.11) together in acompact matrix form as

Y = Fx(ki) + Φ∆U, (1.12)

where

F =

⎢⎢⎢⎢⎢⎣

CACA2

CA3

...CANp

⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎣

CB 0 0 . . . 0CAB CB 0 . . . 0CA2B CAB CB . . . 0

...CANp−1B CANp−2B CANp−3B . . . CANp−NcB

⎥⎥⎥⎥⎥⎦

.

8 1 Discrete-time MPC for Beginners

where x(ki+m | ki) is the predicted state variable at ki+m with given currentplant information x(ki). The control horizon Nc is chosen to be less than (orequal to) the prediction horizon Np.

Based on the state-space model (A, B, C), the future state variables arecalculated sequentially using the set of future control parameters:

x(ki + 1 | ki) = Ax(ki) + B∆u(ki)

x(ki + 2 | ki) = Ax(ki + 1 | ki) + B∆u(ki + 1)

= A2x(ki) + AB∆u(ki) + B∆u(ki + 1)

...

x(ki + Np | ki) = ANpx(ki) + ANp−1B∆u(ki) + ANp−2B∆u(ki + 1)

+ . . . + ANp−NcB∆u(ki + Nc − 1).

From the predicted state variables, the predicted output variables are, bysubstitution

y(ki + 1 | ki) = CAx(ki) + CB∆u(ki) (1.10)

y(ki + 2 | ki) = CA2x(ki) + CAB∆u(ki) + CB∆u(ki + 1)

y(ki + 3 | ki) = CA3x(ki) + CA2B∆u(ki) + CAB∆u(ki + 1)

+ CB∆u(ki + 2)

...

y(ki + Np | ki) = CANpx(ki) + CANp−1B∆u(ki) + CANp−2B∆u(ki + 1)

+ . . . + CANp−NcB∆u(ki + Nc − 1). (1.11)

Note that all predicted variables are formulated in terms of current statevariable information x(ki) and the future control movement ∆u(ki +j), wherej = 0, 1, . . .Nc − 1.

Define vectors

Y =[

y(ki + 1 | ki) y(ki + 2 | ki) y(ki + 3 | ki) . . . y(ki + Np | ki)]T

∆U =[

∆u(ki) ∆u(ki + 1) ∆u(ki + 2) . . . ∆u(ki + Nc − 1)]T

,

where in the single-input and single-output case, the dimension of Y is Np

and the dimension of ∆U is Nc. We collect (1.10) and (1.11) together in acompact matrix form as

Y = Fx(ki) + Φ∆U, (1.12)

where

F =

⎢⎢⎢⎢⎢⎣

CACA2

CA3

...CANp

⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎣

CB 0 0 . . . 0CAB CB 0 . . . 0CA2B CAB CB . . . 0

...CANp−1B CANp−2B CANp−3B . . . CANp−NcB

⎥⎥⎥⎥⎥⎦

.

can propagation steps be written in a compact form? (State Space)

Page 17: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Op.miza.on  Window

• All  predicted  variables  are  formulated  in  terms  of  current  state  variable  x(ki) informaCon  and  future  control  movement  Δu(ki+j)  where  j=0,1,…,Nc-1    

• Define  Y  as  vector  of  predicted  outputs  (Np×1)  

• Define  ΔU  as  vector  of  predicted  incremental  control  steps  (Nc×1)

8 1 Discrete-time MPC for Beginners

where x(ki+m | ki) is the predicted state variable at ki+m with given currentplant information x(ki). The control horizon Nc is chosen to be less than (orequal to) the prediction horizon Np.

Based on the state-space model (A, B, C), the future state variables arecalculated sequentially using the set of future control parameters:

x(ki + 1 | ki) = Ax(ki) + B∆u(ki)

x(ki + 2 | ki) = Ax(ki + 1 | ki) + B∆u(ki + 1)

= A2x(ki) + AB∆u(ki) + B∆u(ki + 1)

...

x(ki + Np | ki) = ANpx(ki) + ANp−1B∆u(ki) + ANp−2B∆u(ki + 1)

+ . . . + ANp−NcB∆u(ki + Nc − 1).

From the predicted state variables, the predicted output variables are, bysubstitution

y(ki + 1 | ki) = CAx(ki) + CB∆u(ki) (1.10)

y(ki + 2 | ki) = CA2x(ki) + CAB∆u(ki) + CB∆u(ki + 1)

y(ki + 3 | ki) = CA3x(ki) + CA2B∆u(ki) + CAB∆u(ki + 1)

+ CB∆u(ki + 2)

...

y(ki + Np | ki) = CANpx(ki) + CANp−1B∆u(ki) + CANp−2B∆u(ki + 1)

+ . . . + CANp−NcB∆u(ki + Nc − 1). (1.11)

Note that all predicted variables are formulated in terms of current statevariable information x(ki) and the future control movement ∆u(ki +j), wherej = 0, 1, . . .Nc − 1.

Define vectors

Y =[

y(ki + 1 | ki) y(ki + 2 | ki) y(ki + 3 | ki) . . . y(ki + Np | ki)]T

∆U =[

∆u(ki) ∆u(ki + 1) ∆u(ki + 2) . . . ∆u(ki + Nc − 1)]T

,

where in the single-input and single-output case, the dimension of Y is Np

and the dimension of ∆U is Nc. We collect (1.10) and (1.11) together in acompact matrix form as

Y = Fx(ki) + Φ∆U, (1.12)

where

F =

⎢⎢⎢⎢⎢⎣

CACA2

CA3

...CANp

⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎣

CB 0 0 . . . 0CAB CB 0 . . . 0CA2B CAB CB . . . 0

...CANp−1B CANp−2B CANp−3B . . . CANp−NcB

⎥⎥⎥⎥⎥⎦

.

8 1 Discrete-time MPC for Beginners

where x(ki+m | ki) is the predicted state variable at ki+m with given currentplant information x(ki). The control horizon Nc is chosen to be less than (orequal to) the prediction horizon Np.

Based on the state-space model (A, B, C), the future state variables arecalculated sequentially using the set of future control parameters:

x(ki + 1 | ki) = Ax(ki) + B∆u(ki)

x(ki + 2 | ki) = Ax(ki + 1 | ki) + B∆u(ki + 1)

= A2x(ki) + AB∆u(ki) + B∆u(ki + 1)

...

x(ki + Np | ki) = ANpx(ki) + ANp−1B∆u(ki) + ANp−2B∆u(ki + 1)

+ . . . + ANp−NcB∆u(ki + Nc − 1).

From the predicted state variables, the predicted output variables are, bysubstitution

y(ki + 1 | ki) = CAx(ki) + CB∆u(ki) (1.10)

y(ki + 2 | ki) = CA2x(ki) + CAB∆u(ki) + CB∆u(ki + 1)

y(ki + 3 | ki) = CA3x(ki) + CA2B∆u(ki) + CAB∆u(ki + 1)

+ CB∆u(ki + 2)

...

y(ki + Np | ki) = CANpx(ki) + CANp−1B∆u(ki) + CANp−2B∆u(ki + 1)

+ . . . + CANp−NcB∆u(ki + Nc − 1). (1.11)

Note that all predicted variables are formulated in terms of current statevariable information x(ki) and the future control movement ∆u(ki +j), wherej = 0, 1, . . .Nc − 1.

Define vectors

Y =[

y(ki + 1 | ki) y(ki + 2 | ki) y(ki + 3 | ki) . . . y(ki + Np | ki)]T

∆U =[

∆u(ki) ∆u(ki + 1) ∆u(ki + 2) . . . ∆u(ki + Nc − 1)]T

,

where in the single-input and single-output case, the dimension of Y is Np

and the dimension of ∆U is Nc. We collect (1.10) and (1.11) together in acompact matrix form as

Y = Fx(ki) + Φ∆U, (1.12)

where

F =

⎢⎢⎢⎢⎢⎣

CACA2

CA3

...CANp

⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎣

CB 0 0 . . . 0CAB CB 0 . . . 0CA2B CAB CB . . . 0

...CANp−1B CANp−2B CANp−3B . . . CANp−NcB

⎥⎥⎥⎥⎥⎦

.

For SISO system

Page 18: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Op.miza.on  Window

• Output  can  be  wrieen  as

• where

8 1 Discrete-time MPC for Beginners

where x(ki+m | ki) is the predicted state variable at ki+m with given currentplant information x(ki). The control horizon Nc is chosen to be less than (orequal to) the prediction horizon Np.

Based on the state-space model (A, B, C), the future state variables arecalculated sequentially using the set of future control parameters:

x(ki + 1 | ki) = Ax(ki) + B∆u(ki)

x(ki + 2 | ki) = Ax(ki + 1 | ki) + B∆u(ki + 1)

= A2x(ki) + AB∆u(ki) + B∆u(ki + 1)

...

x(ki + Np | ki) = ANpx(ki) + ANp−1B∆u(ki) + ANp−2B∆u(ki + 1)

+ . . . + ANp−NcB∆u(ki + Nc − 1).

From the predicted state variables, the predicted output variables are, bysubstitution

y(ki + 1 | ki) = CAx(ki) + CB∆u(ki) (1.10)

y(ki + 2 | ki) = CA2x(ki) + CAB∆u(ki) + CB∆u(ki + 1)

y(ki + 3 | ki) = CA3x(ki) + CA2B∆u(ki) + CAB∆u(ki + 1)

+ CB∆u(ki + 2)

...

y(ki + Np | ki) = CANpx(ki) + CANp−1B∆u(ki) + CANp−2B∆u(ki + 1)

+ . . . + CANp−NcB∆u(ki + Nc − 1). (1.11)

Note that all predicted variables are formulated in terms of current statevariable information x(ki) and the future control movement ∆u(ki +j), wherej = 0, 1, . . .Nc − 1.

Define vectors

Y =[

y(ki + 1 | ki) y(ki + 2 | ki) y(ki + 3 | ki) . . . y(ki + Np | ki)]T

∆U =[

∆u(ki) ∆u(ki + 1) ∆u(ki + 2) . . . ∆u(ki + Nc − 1)]T

,

where in the single-input and single-output case, the dimension of Y is Np

and the dimension of ∆U is Nc. We collect (1.10) and (1.11) together in acompact matrix form as

Y = Fx(ki) + Φ∆U, (1.12)

where

F =

⎢⎢⎢⎢⎢⎣

CACA2

CA3

...CANp

⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎣

CB 0 0 . . . 0CAB CB 0 . . . 0CA2B CAB CB . . . 0

...CANp−1B CANp−2B CANp−3B . . . CANp−NcB

⎥⎥⎥⎥⎥⎦

.

8 1 Discrete-time MPC for Beginners

where x(ki+m | ki) is the predicted state variable at ki+m with given currentplant information x(ki). The control horizon Nc is chosen to be less than (orequal to) the prediction horizon Np.

Based on the state-space model (A, B, C), the future state variables arecalculated sequentially using the set of future control parameters:

x(ki + 1 | ki) = Ax(ki) + B∆u(ki)

x(ki + 2 | ki) = Ax(ki + 1 | ki) + B∆u(ki + 1)

= A2x(ki) + AB∆u(ki) + B∆u(ki + 1)

...

x(ki + Np | ki) = ANpx(ki) + ANp−1B∆u(ki) + ANp−2B∆u(ki + 1)

+ . . . + ANp−NcB∆u(ki + Nc − 1).

From the predicted state variables, the predicted output variables are, bysubstitution

y(ki + 1 | ki) = CAx(ki) + CB∆u(ki) (1.10)

y(ki + 2 | ki) = CA2x(ki) + CAB∆u(ki) + CB∆u(ki + 1)

y(ki + 3 | ki) = CA3x(ki) + CA2B∆u(ki) + CAB∆u(ki + 1)

+ CB∆u(ki + 2)

...

y(ki + Np | ki) = CANpx(ki) + CANp−1B∆u(ki) + CANp−2B∆u(ki + 1)

+ . . . + CANp−NcB∆u(ki + Nc − 1). (1.11)

Note that all predicted variables are formulated in terms of current statevariable information x(ki) and the future control movement ∆u(ki +j), wherej = 0, 1, . . .Nc − 1.

Define vectors

Y =[

y(ki + 1 | ki) y(ki + 2 | ki) y(ki + 3 | ki) . . . y(ki + Np | ki)]T

∆U =[

∆u(ki) ∆u(ki + 1) ∆u(ki + 2) . . . ∆u(ki + Nc − 1)]T

,

where in the single-input and single-output case, the dimension of Y is Np

and the dimension of ∆U is Nc. We collect (1.10) and (1.11) together in acompact matrix form as

Y = Fx(ki) + Φ∆U, (1.12)

where

F =

⎢⎢⎢⎢⎢⎣

CACA2

CA3

...CANp

⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎣

CB 0 0 . . . 0CAB CB 0 . . . 0CA2B CAB CB . . . 0

...CANp−1B CANp−2B CANp−3B . . . CANp−NcB

⎥⎥⎥⎥⎥⎦

.

Eq.  3

Page 19: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Op.miza.on  Window

• Set  point  signal  r(ki)    – assume  set-­‐point  signal  constant  in  opCmizaCon  window  

• Set-­‐point  vector  with  in  opt.  window

• Cost  FuncCon  

1.3 Predictive Control within One Optimization Window 9

1.3.2 Optimization

For a given set-point signal r(ki) at sample time ki, within a prediction horizonthe objective of the predictive control system is to bring the predicted outputas close as possible to the set-point signal, where we assume that the set-point signal remains constant in the optimization window. This objective isthen translated into a design to find the ‘best’ control parameter vector ∆Usuch that an error function between the set-point and the predicted output isminimized.

Assuming that the data vector that contains the set-point information is

RTs =

Np

! "# $%

1 1 . . . 1&

r(ki),

we define the cost function J that reflects the control objective as

J = (Rs − Y )T (Rs − Y ) + ∆UT R∆U, (1.13)

where the first term is linked to the objective of minimizing the errors betweenthe predicted output and the set-point signal while the second term reflectsthe consideration given to the size of ∆U when the objective function J ismade to be as small as possible. R is a diagonal matrix in the form thatR = rwINc×Nc (rw ≥ 0) where rw is used as a tuning parameter for thedesired closed-loop performance. For the case that rw = 0, the cost function(1.13) is interpreted as the situation where we would not want to pay anyattention to how large the ∆U might be and our goal would be solely tomake the error (Rs − Y )T (Rs − Y ) as small as possible. For the case of largerw, the cost function (1.13) is interpreted as the situation where we wouldcarefully consider how large the ∆U might be and cautiously reduce the error(Rs − Y )T (Rs − Y ).

To find the optimal ∆U that will minimize J , by using (1.12), J is ex-pressed as

J = (Rs−Fx(ki))T (Rs−Fx(ki))−2∆UT ΦT (Rs−Fx(ki))+∆UT (ΦT Φ+R)∆U.

(1.14)From the first derivative of the cost function J :

∂J

∂∆U= −2ΦT (Rs − Fx(ki)) + 2(ΦT Φ + R)∆U, (1.15)

the necessary condition of the minimum J is obtained as

∂J

∂∆U= 0,

from which we find the optimal solution for the control signal as

∆U = (ΦT Φ + R)−1ΦT (Rs − Fx(ki)), (1.16)

1.3 Predictive Control within One Optimization Window 9

1.3.2 Optimization

For a given set-point signal r(ki) at sample time ki, within a prediction horizonthe objective of the predictive control system is to bring the predicted outputas close as possible to the set-point signal, where we assume that the set-point signal remains constant in the optimization window. This objective isthen translated into a design to find the ‘best’ control parameter vector ∆Usuch that an error function between the set-point and the predicted output isminimized.

Assuming that the data vector that contains the set-point information is

RTs =

Np

! "# $%

1 1 . . . 1&

r(ki),

we define the cost function J that reflects the control objective as

J = (Rs − Y )T (Rs − Y ) + ∆UT R∆U, (1.13)

where the first term is linked to the objective of minimizing the errors betweenthe predicted output and the set-point signal while the second term reflectsthe consideration given to the size of ∆U when the objective function J ismade to be as small as possible. R is a diagonal matrix in the form thatR = rwINc×Nc (rw ≥ 0) where rw is used as a tuning parameter for thedesired closed-loop performance. For the case that rw = 0, the cost function(1.13) is interpreted as the situation where we would not want to pay anyattention to how large the ∆U might be and our goal would be solely tomake the error (Rs − Y )T (Rs − Y ) as small as possible. For the case of largerw, the cost function (1.13) is interpreted as the situation where we wouldcarefully consider how large the ∆U might be and cautiously reduce the error(Rs − Y )T (Rs − Y ).

To find the optimal ∆U that will minimize J , by using (1.12), J is ex-pressed as

J = (Rs−Fx(ki))T (Rs−Fx(ki))−2∆UT ΦT (Rs−Fx(ki))+∆UT (ΦT Φ+R)∆U.

(1.14)From the first derivative of the cost function J :

∂J

∂∆U= −2ΦT (Rs − Fx(ki)) + 2(ΦT Φ + R)∆U, (1.15)

the necessary condition of the minimum J is obtained as

∂J

∂∆U= 0,

from which we find the optimal solution for the control signal as

∆U = (ΦT Φ + R)−1ΦT (Rs − Fx(ki)), (1.16)

Eq.  4

Page 20: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Op.miza.on  Window

• Cost  FuncCon

– first  term:  min.  errors  between  predicted  output  and  the  set-­‐point  signal    

– second  term  reflects  size  of  ΔU  when  J  is  small  as  possible  •          is  a  diagonal  matrix  of  form    

• where  rw  is  a  tuning  parameter  for  closed  loop  

1.3 Predictive Control within One Optimization Window 9

1.3.2 Optimization

For a given set-point signal r(ki) at sample time ki, within a prediction horizonthe objective of the predictive control system is to bring the predicted outputas close as possible to the set-point signal, where we assume that the set-point signal remains constant in the optimization window. This objective isthen translated into a design to find the ‘best’ control parameter vector ∆Usuch that an error function between the set-point and the predicted output isminimized.

Assuming that the data vector that contains the set-point information is

RTs =

Np

! "# $%

1 1 . . . 1&

r(ki),

we define the cost function J that reflects the control objective as

J = (Rs − Y )T (Rs − Y ) + ∆UT R∆U, (1.13)

where the first term is linked to the objective of minimizing the errors betweenthe predicted output and the set-point signal while the second term reflectsthe consideration given to the size of ∆U when the objective function J ismade to be as small as possible. R is a diagonal matrix in the form thatR = rwINc×Nc (rw ≥ 0) where rw is used as a tuning parameter for thedesired closed-loop performance. For the case that rw = 0, the cost function(1.13) is interpreted as the situation where we would not want to pay anyattention to how large the ∆U might be and our goal would be solely tomake the error (Rs − Y )T (Rs − Y ) as small as possible. For the case of largerw, the cost function (1.13) is interpreted as the situation where we wouldcarefully consider how large the ∆U might be and cautiously reduce the error(Rs − Y )T (Rs − Y ).

To find the optimal ∆U that will minimize J , by using (1.12), J is ex-pressed as

J = (Rs−Fx(ki))T (Rs−Fx(ki))−2∆UT ΦT (Rs−Fx(ki))+∆UT (ΦT Φ+R)∆U.

(1.14)From the first derivative of the cost function J :

∂J

∂∆U= −2ΦT (Rs − Fx(ki)) + 2(ΦT Φ + R)∆U, (1.15)

the necessary condition of the minimum J is obtained as

∂J

∂∆U= 0,

from which we find the optimal solution for the control signal as

∆U = (ΦT Φ + R)−1ΦT (Rs − Fx(ki)), (1.16)

1.3 Predictive Control within One Optimization Window 9

1.3.2 Optimization

For a given set-point signal r(ki) at sample time ki, within a prediction horizonthe objective of the predictive control system is to bring the predicted outputas close as possible to the set-point signal, where we assume that the set-point signal remains constant in the optimization window. This objective isthen translated into a design to find the ‘best’ control parameter vector ∆Usuch that an error function between the set-point and the predicted output isminimized.

Assuming that the data vector that contains the set-point information is

RTs =

Np

! "# $%

1 1 . . . 1&

r(ki),

we define the cost function J that reflects the control objective as

J = (Rs − Y )T (Rs − Y ) + ∆UT R∆U, (1.13)

where the first term is linked to the objective of minimizing the errors betweenthe predicted output and the set-point signal while the second term reflectsthe consideration given to the size of ∆U when the objective function J ismade to be as small as possible. R is a diagonal matrix in the form thatR = rwINc×Nc (rw ≥ 0) where rw is used as a tuning parameter for thedesired closed-loop performance. For the case that rw = 0, the cost function(1.13) is interpreted as the situation where we would not want to pay anyattention to how large the ∆U might be and our goal would be solely tomake the error (Rs − Y )T (Rs − Y ) as small as possible. For the case of largerw, the cost function (1.13) is interpreted as the situation where we wouldcarefully consider how large the ∆U might be and cautiously reduce the error(Rs − Y )T (Rs − Y ).

To find the optimal ∆U that will minimize J , by using (1.12), J is ex-pressed as

J = (Rs−Fx(ki))T (Rs−Fx(ki))−2∆UT ΦT (Rs−Fx(ki))+∆UT (ΦT Φ+R)∆U.

(1.14)From the first derivative of the cost function J :

∂J

∂∆U= −2ΦT (Rs − Fx(ki)) + 2(ΦT Φ + R)∆U, (1.15)

the necessary condition of the minimum J is obtained as

∂J

∂∆U= 0,

from which we find the optimal solution for the control signal as

∆U = (ΦT Φ + R)−1ΦT (Rs − Fx(ki)), (1.16)

R

Eq.  4

predicted output: Yset-point signal: R_scontrol input step vector: \Delta U

r_w = 0: cost function where we don’t care how large \Delta U might be; goal is to make error between setpoint and predicted output as small as possible

r_w = large: situation where consider how large \Delta U might be while still cautiously reducing error between set point and predicted output

Page 21: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Op.miza.on  Window

• Insert  Output  funcCon  (Eq.  3)  into  Cost  funcCon  J  (Eq.  4)  and  J  is  expressed  as:

• Minimize  J  (Eq.  5)  with  respect  to  ΔU  such  that:            

• OpCmal  control  signal  becomes:

1.3 Predictive Control within One Optimization Window 9

1.3.2 Optimization

For a given set-point signal r(ki) at sample time ki, within a prediction horizonthe objective of the predictive control system is to bring the predicted outputas close as possible to the set-point signal, where we assume that the set-point signal remains constant in the optimization window. This objective isthen translated into a design to find the ‘best’ control parameter vector ∆Usuch that an error function between the set-point and the predicted output isminimized.

Assuming that the data vector that contains the set-point information is

RTs =

Np

! "# $%

1 1 . . . 1&

r(ki),

we define the cost function J that reflects the control objective as

J = (Rs − Y )T (Rs − Y ) + ∆UT R∆U, (1.13)

where the first term is linked to the objective of minimizing the errors betweenthe predicted output and the set-point signal while the second term reflectsthe consideration given to the size of ∆U when the objective function J ismade to be as small as possible. R is a diagonal matrix in the form thatR = rwINc×Nc (rw ≥ 0) where rw is used as a tuning parameter for thedesired closed-loop performance. For the case that rw = 0, the cost function(1.13) is interpreted as the situation where we would not want to pay anyattention to how large the ∆U might be and our goal would be solely tomake the error (Rs − Y )T (Rs − Y ) as small as possible. For the case of largerw, the cost function (1.13) is interpreted as the situation where we wouldcarefully consider how large the ∆U might be and cautiously reduce the error(Rs − Y )T (Rs − Y ).

To find the optimal ∆U that will minimize J , by using (1.12), J is ex-pressed as

J = (Rs−Fx(ki))T (Rs−Fx(ki))−2∆UT ΦT (Rs−Fx(ki))+∆UT (ΦT Φ+R)∆U.

(1.14)From the first derivative of the cost function J :

∂J

∂∆U= −2ΦT (Rs − Fx(ki)) + 2(ΦT Φ + R)∆U, (1.15)

the necessary condition of the minimum J is obtained as

∂J

∂∆U= 0,

from which we find the optimal solution for the control signal as

∆U = (ΦT Φ + R)−1ΦT (Rs − Fx(ki)), (1.16)

1.3 Predictive Control within One Optimization Window 9

1.3.2 Optimization

For a given set-point signal r(ki) at sample time ki, within a prediction horizonthe objective of the predictive control system is to bring the predicted outputas close as possible to the set-point signal, where we assume that the set-point signal remains constant in the optimization window. This objective isthen translated into a design to find the ‘best’ control parameter vector ∆Usuch that an error function between the set-point and the predicted output isminimized.

Assuming that the data vector that contains the set-point information is

RTs =

Np

! "# $%

1 1 . . . 1&

r(ki),

we define the cost function J that reflects the control objective as

J = (Rs − Y )T (Rs − Y ) + ∆UT R∆U, (1.13)

where the first term is linked to the objective of minimizing the errors betweenthe predicted output and the set-point signal while the second term reflectsthe consideration given to the size of ∆U when the objective function J ismade to be as small as possible. R is a diagonal matrix in the form thatR = rwINc×Nc (rw ≥ 0) where rw is used as a tuning parameter for thedesired closed-loop performance. For the case that rw = 0, the cost function(1.13) is interpreted as the situation where we would not want to pay anyattention to how large the ∆U might be and our goal would be solely tomake the error (Rs − Y )T (Rs − Y ) as small as possible. For the case of largerw, the cost function (1.13) is interpreted as the situation where we wouldcarefully consider how large the ∆U might be and cautiously reduce the error(Rs − Y )T (Rs − Y ).

To find the optimal ∆U that will minimize J , by using (1.12), J is ex-pressed as

J = (Rs−Fx(ki))T (Rs−Fx(ki))−2∆UT ΦT (Rs−Fx(ki))+∆UT (ΦT Φ+R)∆U.

(1.14)From the first derivative of the cost function J :

∂J

∂∆U= −2ΦT (Rs − Fx(ki)) + 2(ΦT Φ + R)∆U, (1.15)

the necessary condition of the minimum J is obtained as

∂J

∂∆U= 0,

from which we find the optimal solution for the control signal as

∆U = (ΦT Φ + R)−1ΦT (Rs − Fx(ki)), (1.16)

Eq.  5

1.3 Predictive Control within One Optimization Window 9

1.3.2 Optimization

For a given set-point signal r(ki) at sample time ki, within a prediction horizonthe objective of the predictive control system is to bring the predicted outputas close as possible to the set-point signal, where we assume that the set-point signal remains constant in the optimization window. This objective isthen translated into a design to find the ‘best’ control parameter vector ∆Usuch that an error function between the set-point and the predicted output isminimized.

Assuming that the data vector that contains the set-point information is

RTs =

Np

! "# $%

1 1 . . . 1&

r(ki),

we define the cost function J that reflects the control objective as

J = (Rs − Y )T (Rs − Y ) + ∆UT R∆U, (1.13)

where the first term is linked to the objective of minimizing the errors betweenthe predicted output and the set-point signal while the second term reflectsthe consideration given to the size of ∆U when the objective function J ismade to be as small as possible. R is a diagonal matrix in the form thatR = rwINc×Nc (rw ≥ 0) where rw is used as a tuning parameter for thedesired closed-loop performance. For the case that rw = 0, the cost function(1.13) is interpreted as the situation where we would not want to pay anyattention to how large the ∆U might be and our goal would be solely tomake the error (Rs − Y )T (Rs − Y ) as small as possible. For the case of largerw, the cost function (1.13) is interpreted as the situation where we wouldcarefully consider how large the ∆U might be and cautiously reduce the error(Rs − Y )T (Rs − Y ).

To find the optimal ∆U that will minimize J , by using (1.12), J is ex-pressed as

J = (Rs−Fx(ki))T (Rs−Fx(ki))−2∆UT ΦT (Rs−Fx(ki))+∆UT (ΦT Φ+R)∆U.

(1.14)From the first derivative of the cost function J :

∂J

∂∆U= −2ΦT (Rs − Fx(ki)) + 2(ΦT Φ + R)∆U, (1.15)

the necessary condition of the minimum J is obtained as

∂J

∂∆U= 0,

from which we find the optimal solution for the control signal as

∆U = (ΦT Φ + R)−1ΦT (Rs − Fx(ki)), (1.16)

1.3 Predictive Control within One Optimization Window 9

1.3.2 Optimization

For a given set-point signal r(ki) at sample time ki, within a prediction horizonthe objective of the predictive control system is to bring the predicted outputas close as possible to the set-point signal, where we assume that the set-point signal remains constant in the optimization window. This objective isthen translated into a design to find the ‘best’ control parameter vector ∆Usuch that an error function between the set-point and the predicted output isminimized.

Assuming that the data vector that contains the set-point information is

RTs =

Np

! "# $%

1 1 . . . 1&

r(ki),

we define the cost function J that reflects the control objective as

J = (Rs − Y )T (Rs − Y ) + ∆UT R∆U, (1.13)

where the first term is linked to the objective of minimizing the errors betweenthe predicted output and the set-point signal while the second term reflectsthe consideration given to the size of ∆U when the objective function J ismade to be as small as possible. R is a diagonal matrix in the form thatR = rwINc×Nc (rw ≥ 0) where rw is used as a tuning parameter for thedesired closed-loop performance. For the case that rw = 0, the cost function(1.13) is interpreted as the situation where we would not want to pay anyattention to how large the ∆U might be and our goal would be solely tomake the error (Rs − Y )T (Rs − Y ) as small as possible. For the case of largerw, the cost function (1.13) is interpreted as the situation where we wouldcarefully consider how large the ∆U might be and cautiously reduce the error(Rs − Y )T (Rs − Y ).

To find the optimal ∆U that will minimize J , by using (1.12), J is ex-pressed as

J = (Rs−Fx(ki))T (Rs−Fx(ki))−2∆UT ΦT (Rs−Fx(ki))+∆UT (ΦT Φ+R)∆U.

(1.14)From the first derivative of the cost function J :

∂J

∂∆U= −2ΦT (Rs − Fx(ki)) + 2(ΦT Φ + R)∆U, (1.15)

the necessary condition of the minimum J is obtained as

∂J

∂∆U= 0,

from which we find the optimal solution for the control signal as

∆U = (ΦT Φ + R)−1ΦT (Rs − Fx(ki)), (1.16)

1.3 Predictive Control within One Optimization Window 9

1.3.2 Optimization

For a given set-point signal r(ki) at sample time ki, within a prediction horizonthe objective of the predictive control system is to bring the predicted outputas close as possible to the set-point signal, where we assume that the set-point signal remains constant in the optimization window. This objective isthen translated into a design to find the ‘best’ control parameter vector ∆Usuch that an error function between the set-point and the predicted output isminimized.

Assuming that the data vector that contains the set-point information is

RTs =

Np

! "# $%

1 1 . . . 1&

r(ki),

we define the cost function J that reflects the control objective as

J = (Rs − Y )T (Rs − Y ) + ∆UT R∆U, (1.13)

where the first term is linked to the objective of minimizing the errors betweenthe predicted output and the set-point signal while the second term reflectsthe consideration given to the size of ∆U when the objective function J ismade to be as small as possible. R is a diagonal matrix in the form thatR = rwINc×Nc (rw ≥ 0) where rw is used as a tuning parameter for thedesired closed-loop performance. For the case that rw = 0, the cost function(1.13) is interpreted as the situation where we would not want to pay anyattention to how large the ∆U might be and our goal would be solely tomake the error (Rs − Y )T (Rs − Y ) as small as possible. For the case of largerw, the cost function (1.13) is interpreted as the situation where we wouldcarefully consider how large the ∆U might be and cautiously reduce the error(Rs − Y )T (Rs − Y ).

To find the optimal ∆U that will minimize J , by using (1.12), J is ex-pressed as

J = (Rs−Fx(ki))T (Rs−Fx(ki))−2∆UT ΦT (Rs−Fx(ki))+∆UT (ΦT Φ+R)∆U.

(1.14)From the first derivative of the cost function J :

∂J

∂∆U= −2ΦT (Rs − Fx(ki)) + 2(ΦT Φ + R)∆U, (1.15)

the necessary condition of the minimum J is obtained as

∂J

∂∆U= 0,

from which we find the optimal solution for the control signal as

∆U = (ΦT Φ + R)−1ΦT (Rs − Fx(ki)), (1.16)Eq.  6

predicted output: Yset-point signal: R_scontrol input step vector: \Delta U

r_w = 0: cost function where we don’t care how large \Delta U might be; goal is to make error between setpoint and predicted output as small as possible

r_w = large: situation where consider how large \Delta U might be while still cautiously reducing error between set point and predicted output

Page 22: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Op.miza.on  Window

• Note  the                                      matrix  is  called  the  Hessian  matrix  and  is  assumed  to  exist  

• Recall  R_s  is  expression  of  the  set-­‐point  informaCon:

• The  opCmal  soluCon  of  control  signal  is  linked  to  the  set-­‐point  signal  r(k_i)  and  the  state  variable  x(k_i)  such  that  Eq.  6  can  be  rewrieen  as:

Eq.  7

10 1 Discrete-time MPC for Beginners

with the assumption that (ΦT Φ + R)−1 exists. The matrix (ΦT Φ + R)−1 iscalled the Hessian matrix in the optimization literature. Note that Rs is adata vector that contains the set-point information expressed as

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T r(ki) = Rsr(ki),

where

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T .

The optimal solution of the control signal is linked to the set-point signal r(ki)and the state variable x(ki) via the following equation:

∆U = (ΦT Φ + R)−1ΦT (Rsr(ki) − Fx(ki)). (1.17)

Example 1.2. Suppose that a first-order system is described by the state equa-tion:

xm(k + 1) = axm(k) + bu(k)

y(k) = xm(k), (1.18)

where a = 0.8 and b = 0.1 are scalars. Find the augmented state-space model.Assuming a prediction horizon Np = 10 and control horizon Nc = 4, calcu-late the components that form the prediction of future output Y , and thequantities ΦT Φ, ΦT F and ΦT Rs. Assuming that at a time ki (ki = 10 forthis example), r(ki) = 1 and the state vector x(ki) = [0.1 0.2]T , find theoptimal solution ∆U with respect to the cases where rw = 0 and rw = 10,and compare the results.

Solution. The augmented state-space equation is[

∆xm(k + 1)y(k + 1)

]

=

[

a 0a 1

] [

∆xm(k)y(k)

]

+

[

bb

]

∆u(k)

y(k) =[

0 1][

∆xm(k)y(k)

]

. (1.19)

Based on (1.12), the F and Φ matrices take the following forms:

F =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CACA2

CA3

CA4

CA5

CA6

CA7

CA8

CA9

CA10

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CB 0 0 0CAB CB 0 0CA2B CAB CB 0CA3B CA2B CAB CBCA4B CA3B CA2B CABCA5B CA4B CA3B CA2BCA6B CA5B CA4B CA3BCA7B CA6B CA5B CA4BCA8B CA7B CA6B CA5BCA9B CA8B CA7B CA6B

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

.

10 1 Discrete-time MPC for Beginners

with the assumption that (ΦT Φ + R)−1 exists. The matrix (ΦT Φ + R)−1 iscalled the Hessian matrix in the optimization literature. Note that Rs is adata vector that contains the set-point information expressed as

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T r(ki) = Rsr(ki),

where

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T .

The optimal solution of the control signal is linked to the set-point signal r(ki)and the state variable x(ki) via the following equation:

∆U = (ΦT Φ + R)−1ΦT (Rsr(ki) − Fx(ki)). (1.17)

Example 1.2. Suppose that a first-order system is described by the state equa-tion:

xm(k + 1) = axm(k) + bu(k)

y(k) = xm(k), (1.18)

where a = 0.8 and b = 0.1 are scalars. Find the augmented state-space model.Assuming a prediction horizon Np = 10 and control horizon Nc = 4, calcu-late the components that form the prediction of future output Y , and thequantities ΦT Φ, ΦT F and ΦT Rs. Assuming that at a time ki (ki = 10 forthis example), r(ki) = 1 and the state vector x(ki) = [0.1 0.2]T , find theoptimal solution ∆U with respect to the cases where rw = 0 and rw = 10,and compare the results.

Solution. The augmented state-space equation is[

∆xm(k + 1)y(k + 1)

]

=

[

a 0a 1

] [

∆xm(k)y(k)

]

+

[

bb

]

∆u(k)

y(k) =[

0 1][

∆xm(k)y(k)

]

. (1.19)

Based on (1.12), the F and Φ matrices take the following forms:

F =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CACA2

CA3

CA4

CA5

CA6

CA7

CA8

CA9

CA10

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CB 0 0 0CAB CB 0 0CA2B CAB CB 0CA3B CA2B CAB CBCA4B CA3B CA2B CABCA5B CA4B CA3B CA2BCA6B CA5B CA4B CA3BCA7B CA6B CA5B CA4BCA8B CA7B CA6B CA5BCA9B CA8B CA7B CA6B

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

.

10 1 Discrete-time MPC for Beginners

with the assumption that (ΦT Φ + R)−1 exists. The matrix (ΦT Φ + R)−1 iscalled the Hessian matrix in the optimization literature. Note that Rs is adata vector that contains the set-point information expressed as

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T r(ki) = Rsr(ki),

where

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T .

The optimal solution of the control signal is linked to the set-point signal r(ki)and the state variable x(ki) via the following equation:

∆U = (ΦT Φ + R)−1ΦT (Rsr(ki) − Fx(ki)). (1.17)

Example 1.2. Suppose that a first-order system is described by the state equa-tion:

xm(k + 1) = axm(k) + bu(k)

y(k) = xm(k), (1.18)

where a = 0.8 and b = 0.1 are scalars. Find the augmented state-space model.Assuming a prediction horizon Np = 10 and control horizon Nc = 4, calcu-late the components that form the prediction of future output Y , and thequantities ΦT Φ, ΦT F and ΦT Rs. Assuming that at a time ki (ki = 10 forthis example), r(ki) = 1 and the state vector x(ki) = [0.1 0.2]T , find theoptimal solution ∆U with respect to the cases where rw = 0 and rw = 10,and compare the results.

Solution. The augmented state-space equation is[

∆xm(k + 1)y(k + 1)

]

=

[

a 0a 1

] [

∆xm(k)y(k)

]

+

[

bb

]

∆u(k)

y(k) =[

0 1][

∆xm(k)y(k)

]

. (1.19)

Based on (1.12), the F and Φ matrices take the following forms:

F =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CACA2

CA3

CA4

CA5

CA6

CA7

CA8

CA9

CA10

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CB 0 0 0CAB CB 0 0CA2B CAB CB 0CA3B CA2B CAB CBCA4B CA3B CA2B CABCA5B CA4B CA3B CA2BCA6B CA5B CA4B CA3BCA7B CA6B CA5B CA4BCA8B CA7B CA6B CA5BCA9B CA8B CA7B CA6B

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

.

predicted output: Yset-point signal: R_scontrol input step vector: \Delta U

r_w = 0: cost function where we don’t care how large \Delta U might be; goal is to make error between setpoint and predicted output as small as possible

r_w = large: situation where consider how large \Delta U might be while still cautiously reducing error between set point and predicted output

Page 23: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Receding  Horizon

Page 24: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Receding  Horizon

• OpCmal  parameter  vector  ΔU  contains  the  controls  Δu(ki),Δu(ki+1),…,Δu(ki+Nc-1)    – Only  first  sample  Δu(ki)  is  implemented  

• At  next  sample  period  x(ki+1)  is  used  to  calculate  a  new  control  sequence  ΔU    

• Procedure  repeated  and  yields  the  receding  horizon  control  law

Page 25: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Illustra.on  of  Receding  Horizon

58 Model-based predictive control: a practical approach

TABLE 4.1Illustration of receding horizon

Sampling instant Horizon window0 1 2 3 4 5 6 7 8

0 ✲1 ✲2 ✲3 ✲...

...

On the input rates∆ui ≤ ∆ui ≤ ∆ui (4.12)

One can also have constraints on outputs and states, e.g.

xi ≤ xi ≤ xi; yi≤ yi ≤ yi (4.13)

Some constraints may even be a mixture of several outputs, for instance

y1 + y2 ≤ y1,2 (4.14)

In this book we will take it for granted that optimisation (4.8) is in practice imple-mented as

min∆u→

J s.t. constraints (4.15)

where the constraints will depend on the process, but in general are assumed to belinear in the d.o.f. ∆ u→. Hence (4.15) is a quadratic program, as the performanceindex is quadratic in the d.o.f. and the constraints are linear in the d.o.f. More detailswill be given later in this chapter.Summary: The standard MPC optimisation (4.15) is a quadratic programmingproblem. It is accepted that this is a tractable problem in general, exceptions beingprocesses with fast sampling rates or using large numbers of d.o.f.

4.2.5 Multivariable systems

The performance index J is written in such a way that it automatically allows formultivariable systems. The advantage of this is that MPC is a systematic design toolfor handling interaction and stabilising multivariable systems. Very few alternativesare as systematic. In simple terms, MPC gives the best predicted performance byway of the objective set J for the given model. Implicitly interaction is dealt within that high interaction would give high values of J and not be optimal. Likewise,

A receding horizon, that is a horizon that is constantly moving away, although at the same speed at which you are moving.

Page 26: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Rela.on  to  LQR

• MPC  links  to  the  classical  linear  quadraCc  regulator  (LQR)  for  a  sufficiently  long  predicCon  horizon.    

• Difference  between  predicCve  control  and  LQR    – predicCve  control  solves  the  opCmizaCon  problem  using  a  moving  Cme  horizon  window      

– LQR  solves  the  same  problem  within  a  fixed  window    

• Both have direct links to the classical linear quadratic regulator (LQR) in continuous time and discrete time when using a sufficiently long prediction horizon.

• Difference between predictive control and LQR • predictive control solves the optimization problem using a moving time horizon window • LQR solves the same problem within a fixed window

Page 27: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

MPC  Advantage  over  LQR

• Moving  Cme  horizon  window    – Ability  to  perform  real-­‐Cme  opCmizaCon  with  hard  constraints  on  plant  variables  

Page 28: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Closed-­‐Loop  Control  System

Page 29: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Closed-­‐Loop  Control  System

• Recall  ΔU  is  solved  using  Eq.  7:  

• where                                                                          relates  set-­‐point  change  and                                                                    corresponds  to  the  state  feedback  control  within  the  framework  of  predicCve  control  

• The  receding  horizon  yields  the  incremental  control  as

Eq.  7

10 1 Discrete-time MPC for Beginners

with the assumption that (ΦT Φ + R)−1 exists. The matrix (ΦT Φ + R)−1 iscalled the Hessian matrix in the optimization literature. Note that Rs is adata vector that contains the set-point information expressed as

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T r(ki) = Rsr(ki),

where

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T .

The optimal solution of the control signal is linked to the set-point signal r(ki)and the state variable x(ki) via the following equation:

∆U = (ΦT Φ + R)−1ΦT (Rsr(ki) − Fx(ki)). (1.17)

Example 1.2. Suppose that a first-order system is described by the state equa-tion:

xm(k + 1) = axm(k) + bu(k)

y(k) = xm(k), (1.18)

where a = 0.8 and b = 0.1 are scalars. Find the augmented state-space model.Assuming a prediction horizon Np = 10 and control horizon Nc = 4, calcu-late the components that form the prediction of future output Y , and thequantities ΦT Φ, ΦT F and ΦT Rs. Assuming that at a time ki (ki = 10 forthis example), r(ki) = 1 and the state vector x(ki) = [0.1 0.2]T , find theoptimal solution ∆U with respect to the cases where rw = 0 and rw = 10,and compare the results.

Solution. The augmented state-space equation is[

∆xm(k + 1)y(k + 1)

]

=

[

a 0a 1

] [

∆xm(k)y(k)

]

+

[

bb

]

∆u(k)

y(k) =[

0 1][

∆xm(k)y(k)

]

. (1.19)

Based on (1.12), the F and Φ matrices take the following forms:

F =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CACA2

CA3

CA4

CA5

CA6

CA7

CA8

CA9

CA10

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CB 0 0 0CAB CB 0 0CA2B CAB CB 0CA3B CA2B CAB CBCA4B CA3B CA2B CABCA5B CA4B CA3B CA2BCA6B CA5B CA4B CA3BCA7B CA6B CA5B CA4BCA8B CA7B CA6B CA5BCA9B CA8B CA7B CA6B

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

.

16 1 Discrete-time MPC for Beginners

9 10 11 12 13 14 15Ŧ1

0

1

2

3

4

5

6

7

8

Opt

imal

Con

trol

Sampling Instant

(a) Optimal control

9 10 11 12 13 14 150

0.2

0.4

0.6

0.8

1

Sta

te v

aria

bles

Sampling Instant

Delta xy

(b) State variable

Fig. 1.2. Receding horizon control

∆U = (ΦT Φ)−1(ΦT Rs − ΦT Fx(11)) =!

0.000 0.000 0.0000 0.0000"T

.

Figure 1.2 shows the trajectories of the state variable ∆xm and y, as wellas the control signal that was used to regulate the output. This example alsoillustrated the differences between the ∆U parameter vectors at different timeinstances. We note that as the output response reaches the desired set-pointsignal, the parameters in the ∆U approach zero.

1.4.1 Closed-loop Control System

There is another aspect that was illustrated by Example 1.4. If we examine thisexample carefully, then we find that at a given time ki, the optimal parametervector ∆U is solved using

∆U = (ΦT Φ + R)−1(ΦT Rs − ΦT Fx(ki)),

where (ΦT Φ+R)−1ΦT Rs corresponds to the set-point change, while −(ΦT Φ+R)−1ΦT F corresponds to the state feedback control within the framework ofpredictive control. Both depend on the system parameters, hence are constantmatrices for a time-invariant system. Because of the receding horizon controlprinciple, we only take the first element of ∆U at time ki as the incrementalcontrol, thus

∆u(ki) =

Nc# $% &!

1 0 . . . 0"

(ΦT Φ + R)−1(ΦT Rsr(ki) − ΦT Fx(ki))

= Kyr(ki) − Kmpcx(ki), (1.29)

where Ky is the first element of

(ΦT Φ + R)−1ΦT Rs,

and Kmpc is the first row of

16 1 Discrete-time MPC for Beginners

9 10 11 12 13 14 15Ŧ1

0

1

2

3

4

5

6

7

8

Opt

imal

Con

trol

Sampling Instant

(a) Optimal control

9 10 11 12 13 14 150

0.2

0.4

0.6

0.8

1

Sta

te v

aria

bles

Sampling Instant

Delta xy

(b) State variable

Fig. 1.2. Receding horizon control

∆U = (ΦT Φ)−1(ΦT Rs − ΦT Fx(11)) =!

0.000 0.000 0.0000 0.0000"T

.

Figure 1.2 shows the trajectories of the state variable ∆xm and y, as wellas the control signal that was used to regulate the output. This example alsoillustrated the differences between the ∆U parameter vectors at different timeinstances. We note that as the output response reaches the desired set-pointsignal, the parameters in the ∆U approach zero.

1.4.1 Closed-loop Control System

There is another aspect that was illustrated by Example 1.4. If we examine thisexample carefully, then we find that at a given time ki, the optimal parametervector ∆U is solved using

∆U = (ΦT Φ + R)−1(ΦT Rs − ΦT Fx(ki)),

where (ΦT Φ+R)−1ΦT Rs corresponds to the set-point change, while −(ΦT Φ+R)−1ΦT F corresponds to the state feedback control within the framework ofpredictive control. Both depend on the system parameters, hence are constantmatrices for a time-invariant system. Because of the receding horizon controlprinciple, we only take the first element of ∆U at time ki as the incrementalcontrol, thus

∆u(ki) =

Nc# $% &!

1 0 . . . 0"

(ΦT Φ + R)−1(ΦT Rsr(ki) − ΦT Fx(ki))

= Kyr(ki) − Kmpcx(ki), (1.29)

where Ky is the first element of

(ΦT Φ + R)−1ΦT Rs,

and Kmpc is the first row of

16 1 Discrete-time MPC for Beginners

9 10 11 12 13 14 15Ŧ1

0

1

2

3

4

5

6

7

8

Opt

imal

Con

trol

Sampling Instant

(a) Optimal control

9 10 11 12 13 14 150

0.2

0.4

0.6

0.8

1

Sta

te v

aria

bles

Sampling Instant

Delta xy

(b) State variable

Fig. 1.2. Receding horizon control

∆U = (ΦT Φ)−1(ΦT Rs − ΦT Fx(11)) =!

0.000 0.000 0.0000 0.0000"T

.

Figure 1.2 shows the trajectories of the state variable ∆xm and y, as wellas the control signal that was used to regulate the output. This example alsoillustrated the differences between the ∆U parameter vectors at different timeinstances. We note that as the output response reaches the desired set-pointsignal, the parameters in the ∆U approach zero.

1.4.1 Closed-loop Control System

There is another aspect that was illustrated by Example 1.4. If we examine thisexample carefully, then we find that at a given time ki, the optimal parametervector ∆U is solved using

∆U = (ΦT Φ + R)−1(ΦT Rs − ΦT Fx(ki)),

where (ΦT Φ+R)−1ΦT Rs corresponds to the set-point change, while −(ΦT Φ+R)−1ΦT F corresponds to the state feedback control within the framework ofpredictive control. Both depend on the system parameters, hence are constantmatrices for a time-invariant system. Because of the receding horizon controlprinciple, we only take the first element of ∆U at time ki as the incrementalcontrol, thus

∆u(ki) =

Nc# $% &!

1 0 . . . 0"

(ΦT Φ + R)−1(ΦT Rsr(ki) − ΦT Fx(ki))

= Kyr(ki) − Kmpcx(ki), (1.29)

where Ky is the first element of

(ΦT Φ + R)−1ΦT Rs,

and Kmpc is the first row of

16 1 Discrete-time MPC for Beginners

9 10 11 12 13 14 15Ŧ1

0

1

2

3

4

5

6

7

8

Opt

imal

Con

trol

Sampling Instant

(a) Optimal control

9 10 11 12 13 14 150

0.2

0.4

0.6

0.8

1

Sta

te v

aria

bles

Sampling Instant

Delta xy

(b) State variable

Fig. 1.2. Receding horizon control

∆U = (ΦT Φ)−1(ΦT Rs − ΦT Fx(11)) =!

0.000 0.000 0.0000 0.0000"T

.

Figure 1.2 shows the trajectories of the state variable ∆xm and y, as wellas the control signal that was used to regulate the output. This example alsoillustrated the differences between the ∆U parameter vectors at different timeinstances. We note that as the output response reaches the desired set-pointsignal, the parameters in the ∆U approach zero.

1.4.1 Closed-loop Control System

There is another aspect that was illustrated by Example 1.4. If we examine thisexample carefully, then we find that at a given time ki, the optimal parametervector ∆U is solved using

∆U = (ΦT Φ + R)−1(ΦT Rs − ΦT Fx(ki)),

where (ΦT Φ+R)−1ΦT Rs corresponds to the set-point change, while −(ΦT Φ+R)−1ΦT F corresponds to the state feedback control within the framework ofpredictive control. Both depend on the system parameters, hence are constantmatrices for a time-invariant system. Because of the receding horizon controlprinciple, we only take the first element of ∆U at time ki as the incrementalcontrol, thus

∆u(ki) =

Nc# $% &!

1 0 . . . 0"

(ΦT Φ + R)−1(ΦT Rsr(ki) − ΦT Fx(ki))

= Kyr(ki) − Kmpcx(ki), (1.29)

where Ky is the first element of

(ΦT Φ + R)−1ΦT Rs,

and Kmpc is the first row of

Eq.  8

Page 30: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Closed-­‐Loop  Control  System

• Rewrite  Eq.  8  as  

– where  K_y  =  first  element  of    – K_mpc  =  first  row  of  

• K_mpc  is  the  state  feedback  control  gain  vector  • Insert  Eq.  9  into  design  model  (Eq.  0)  yields

16 1 Discrete-time MPC for Beginners

9 10 11 12 13 14 15Ŧ1

0

1

2

3

4

5

6

7

8

Opt

imal

Con

trol

Sampling Instant

(a) Optimal control

9 10 11 12 13 14 150

0.2

0.4

0.6

0.8

1

Sta

te v

aria

bles

Sampling Instant

Delta xy

(b) State variable

Fig. 1.2. Receding horizon control

∆U = (ΦT Φ)−1(ΦT Rs − ΦT Fx(11)) =!

0.000 0.000 0.0000 0.0000"T

.

Figure 1.2 shows the trajectories of the state variable ∆xm and y, as wellas the control signal that was used to regulate the output. This example alsoillustrated the differences between the ∆U parameter vectors at different timeinstances. We note that as the output response reaches the desired set-pointsignal, the parameters in the ∆U approach zero.

1.4.1 Closed-loop Control System

There is another aspect that was illustrated by Example 1.4. If we examine thisexample carefully, then we find that at a given time ki, the optimal parametervector ∆U is solved using

∆U = (ΦT Φ + R)−1(ΦT Rs − ΦT Fx(ki)),

where (ΦT Φ+R)−1ΦT Rs corresponds to the set-point change, while −(ΦT Φ+R)−1ΦT F corresponds to the state feedback control within the framework ofpredictive control. Both depend on the system parameters, hence are constantmatrices for a time-invariant system. Because of the receding horizon controlprinciple, we only take the first element of ∆U at time ki as the incrementalcontrol, thus

∆u(ki) =

Nc# $% &!

1 0 . . . 0"

(ΦT Φ + R)−1(ΦT Rsr(ki) − ΦT Fx(ki))

= Kyr(ki) − Kmpcx(ki), (1.29)

where Ky is the first element of

(ΦT Φ + R)−1ΦT Rs,

and Kmpc is the first row of

16 1 Discrete-time MPC for Beginners

9 10 11 12 13 14 15Ŧ1

0

1

2

3

4

5

6

7

8

Opt

imal

Con

trol

Sampling Instant

(a) Optimal control

9 10 11 12 13 14 150

0.2

0.4

0.6

0.8

1

Sta

te v

aria

bles

Sampling Instant

Delta xy

(b) State variable

Fig. 1.2. Receding horizon control

∆U = (ΦT Φ)−1(ΦT Rs − ΦT Fx(11)) =!

0.000 0.000 0.0000 0.0000"T

.

Figure 1.2 shows the trajectories of the state variable ∆xm and y, as wellas the control signal that was used to regulate the output. This example alsoillustrated the differences between the ∆U parameter vectors at different timeinstances. We note that as the output response reaches the desired set-pointsignal, the parameters in the ∆U approach zero.

1.4.1 Closed-loop Control System

There is another aspect that was illustrated by Example 1.4. If we examine thisexample carefully, then we find that at a given time ki, the optimal parametervector ∆U is solved using

∆U = (ΦT Φ + R)−1(ΦT Rs − ΦT Fx(ki)),

where (ΦT Φ+R)−1ΦT Rs corresponds to the set-point change, while −(ΦT Φ+R)−1ΦT F corresponds to the state feedback control within the framework ofpredictive control. Both depend on the system parameters, hence are constantmatrices for a time-invariant system. Because of the receding horizon controlprinciple, we only take the first element of ∆U at time ki as the incrementalcontrol, thus

∆u(ki) =

Nc# $% &!

1 0 . . . 0"

(ΦT Φ + R)−1(ΦT Rsr(ki) − ΦT Fx(ki))

= Kyr(ki) − Kmpcx(ki), (1.29)

where Ky is the first element of

(ΦT Φ + R)−1ΦT Rs,

and Kmpc is the first row of

16 1 Discrete-time MPC for Beginners

9 10 11 12 13 14 15Ŧ1

0

1

2

3

4

5

6

7

8

Opt

imal

Con

trol

Sampling Instant

(a) Optimal control

9 10 11 12 13 14 150

0.2

0.4

0.6

0.8

1

Sta

te v

aria

bles

Sampling Instant

Delta xy

(b) State variable

Fig. 1.2. Receding horizon control

∆U = (ΦT Φ)−1(ΦT Rs − ΦT Fx(11)) =!

0.000 0.000 0.0000 0.0000"T

.

Figure 1.2 shows the trajectories of the state variable ∆xm and y, as wellas the control signal that was used to regulate the output. This example alsoillustrated the differences between the ∆U parameter vectors at different timeinstances. We note that as the output response reaches the desired set-pointsignal, the parameters in the ∆U approach zero.

1.4.1 Closed-loop Control System

There is another aspect that was illustrated by Example 1.4. If we examine thisexample carefully, then we find that at a given time ki, the optimal parametervector ∆U is solved using

∆U = (ΦT Φ + R)−1(ΦT Rs − ΦT Fx(ki)),

where (ΦT Φ+R)−1ΦT Rs corresponds to the set-point change, while −(ΦT Φ+R)−1ΦT F corresponds to the state feedback control within the framework ofpredictive control. Both depend on the system parameters, hence are constantmatrices for a time-invariant system. Because of the receding horizon controlprinciple, we only take the first element of ∆U at time ki as the incrementalcontrol, thus

∆u(ki) =

Nc# $% &!

1 0 . . . 0"

(ΦT Φ + R)−1(ΦT Rsr(ki) − ΦT Fx(ki))

= Kyr(ki) − Kmpcx(ki), (1.29)

where Ky is the first element of

(ΦT Φ + R)−1ΦT Rs,

and Kmpc is the first row of

16 1 Discrete-time MPC for Beginners

9 10 11 12 13 14 15Ŧ1

0

1

2

3

4

5

6

7

8

Opt

imal

Con

trol

Sampling Instant

(a) Optimal control

9 10 11 12 13 14 150

0.2

0.4

0.6

0.8

1

Sta

te v

aria

bles

Sampling Instant

Delta xy

(b) State variable

Fig. 1.2. Receding horizon control

∆U = (ΦT Φ)−1(ΦT Rs − ΦT Fx(11)) =!

0.000 0.000 0.0000 0.0000"T

.

Figure 1.2 shows the trajectories of the state variable ∆xm and y, as wellas the control signal that was used to regulate the output. This example alsoillustrated the differences between the ∆U parameter vectors at different timeinstances. We note that as the output response reaches the desired set-pointsignal, the parameters in the ∆U approach zero.

1.4.1 Closed-loop Control System

There is another aspect that was illustrated by Example 1.4. If we examine thisexample carefully, then we find that at a given time ki, the optimal parametervector ∆U is solved using

∆U = (ΦT Φ + R)−1(ΦT Rs − ΦT Fx(ki)),

where (ΦT Φ+R)−1ΦT Rs corresponds to the set-point change, while −(ΦT Φ+R)−1ΦT F corresponds to the state feedback control within the framework ofpredictive control. Both depend on the system parameters, hence are constantmatrices for a time-invariant system. Because of the receding horizon controlprinciple, we only take the first element of ∆U at time ki as the incrementalcontrol, thus

∆u(ki) =

Nc# $% &!

1 0 . . . 0"

(ΦT Φ + R)−1(ΦT Rsr(ki) − ΦT Fx(ki))

= Kyr(ki) − Kmpcx(ki), (1.29)

where Ky is the first element of

(ΦT Φ + R)−1ΦT Rs,

and Kmpc is the first row of

16 1 Discrete-time MPC for Beginners

9 10 11 12 13 14 15Ŧ1

0

1

2

3

4

5

6

7

8

Opt

imal

Con

trol

Sampling Instant

(a) Optimal control

9 10 11 12 13 14 150

0.2

0.4

0.6

0.8

1

Sta

te v

aria

bles

Sampling Instant

Delta xy

(b) State variable

Fig. 1.2. Receding horizon control

∆U = (ΦT Φ)−1(ΦT Rs − ΦT Fx(11)) =!

0.000 0.000 0.0000 0.0000"T

.

Figure 1.2 shows the trajectories of the state variable ∆xm and y, as wellas the control signal that was used to regulate the output. This example alsoillustrated the differences between the ∆U parameter vectors at different timeinstances. We note that as the output response reaches the desired set-pointsignal, the parameters in the ∆U approach zero.

1.4.1 Closed-loop Control System

There is another aspect that was illustrated by Example 1.4. If we examine thisexample carefully, then we find that at a given time ki, the optimal parametervector ∆U is solved using

∆U = (ΦT Φ + R)−1(ΦT Rs − ΦT Fx(ki)),

where (ΦT Φ+R)−1ΦT Rs corresponds to the set-point change, while −(ΦT Φ+R)−1ΦT F corresponds to the state feedback control within the framework ofpredictive control. Both depend on the system parameters, hence are constantmatrices for a time-invariant system. Because of the receding horizon controlprinciple, we only take the first element of ∆U at time ki as the incrementalcontrol, thus

∆u(ki) =

Nc# $% &!

1 0 . . . 0"

(ΦT Φ + R)−1(ΦT Rsr(ki) − ΦT Fx(ki))

= Kyr(ki) − Kmpcx(ki), (1.29)

where Ky is the first element of

(ΦT Φ + R)−1ΦT Rs,

and Kmpc is the first row of

1.4 Receding Horizon Control 17

(ΦT Φ + R)−1ΦT F.

Equation (1.29) is in a standard form of linear time-invariant state feedbackcontrol. The state feedback control gain vector is Kmpc. Therefore, with theaugmented design model

x(k + 1) = Ax(k) + B∆u(k)

the closed-loop system is obtained by substituting (1.29) into the augmentedsystem equation; changing index ki to k, leading to the closed-loop equation

x(k + 1) = Ax(k) − BKmpcx(k) + BKyr(k) (1.30)

= (A − BKmpc)x(k) + BKyr(k). (1.31)

Thus, the closed-loop eigenvalues can be evaluated through the closed-loopcharacteristic equation:

det[λI − (A − BKmpc)] = 0.

Because of the special structures of the matrices C and A, the last column of Fis identical to Rs, which is [1 1 . . . , 1]T , therefore Ky is identical to the last ele-ment of Kmpc. Noting that the state variable vector x(ki) = [∆xm(k)T y(k)]T ,and with the definition of Ky, we can write Kmpc = [Kx Ky], where Kx corre-sponds to the feedback gain vector related to ∆xm(k), and Ky corresponds tothe feedback gain related to y(k). Then, we obtain the closed-loop block dia-gram for the predictive control system as in Figure 1.3 where q−1 denotes thebackward shift operator. The diagram shows the state feedback structure forthe discrete model prediction control (DMPC) with integral action in whichthe module 1

1−q−1 denotes the discrete-time integrator.

Example 1.5. This example will examine the closed-loop feedback gain matri-ces generated from Example 1.2 and the eigenvalues of the closed-loop systemwith weight rw = 0 and rw = 10.

Solution. When the weight rw = 0, we have

Ky =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT

⎢⎢⎢⎣

11...1

⎥⎥⎥⎦) = 10

Kmpc =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT F ) =[

8 10]

.

Hence, the eigenvalues of the closed-loop system are calculated by evaluatingthe eigenvalues of the closed-loop matrix A − BKmpc, where, from Example1.2

A =

[

0.8 00.8 1

]

; B =

[

0.10.1

]

.

1.4 Receding Horizon Control 17

(ΦT Φ + R)−1ΦT F.

Equation (1.29) is in a standard form of linear time-invariant state feedbackcontrol. The state feedback control gain vector is Kmpc. Therefore, with theaugmented design model

x(k + 1) = Ax(k) + B∆u(k)

the closed-loop system is obtained by substituting (1.29) into the augmentedsystem equation; changing index ki to k, leading to the closed-loop equation

x(k + 1) = Ax(k) − BKmpcx(k) + BKyr(k) (1.30)

= (A − BKmpc)x(k) + BKyr(k). (1.31)

Thus, the closed-loop eigenvalues can be evaluated through the closed-loopcharacteristic equation:

det[λI − (A − BKmpc)] = 0.

Because of the special structures of the matrices C and A, the last column of Fis identical to Rs, which is [1 1 . . . , 1]T , therefore Ky is identical to the last ele-ment of Kmpc. Noting that the state variable vector x(ki) = [∆xm(k)T y(k)]T ,and with the definition of Ky, we can write Kmpc = [Kx Ky], where Kx corre-sponds to the feedback gain vector related to ∆xm(k), and Ky corresponds tothe feedback gain related to y(k). Then, we obtain the closed-loop block dia-gram for the predictive control system as in Figure 1.3 where q−1 denotes thebackward shift operator. The diagram shows the state feedback structure forthe discrete model prediction control (DMPC) with integral action in whichthe module 1

1−q−1 denotes the discrete-time integrator.

Example 1.5. This example will examine the closed-loop feedback gain matri-ces generated from Example 1.2 and the eigenvalues of the closed-loop systemwith weight rw = 0 and rw = 10.

Solution. When the weight rw = 0, we have

Ky =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT

⎢⎢⎢⎣

11...1

⎥⎥⎥⎦) = 10

Kmpc =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT F ) =[

8 10]

.

Hence, the eigenvalues of the closed-loop system are calculated by evaluatingthe eigenvalues of the closed-loop matrix A − BKmpc, where, from Example1.2

A =

[

0.8 00.8 1

]

; B =

[

0.10.1

]

.

Eq.  9

Page 31: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Closed-­‐Loop  Control  System

• The  closed-­‐loop  Eigenvalues  can  be  evaluated  from  the  closed  loop  equaCon:

• Note:  Last  Column  of  F  is  idenCcal  to  Rbar_s  – K_y  is  idenCcal  to  last  element  K_mpc  

• K_mpc  can  then  be  wrieen  as      – Recall  state  variable  vector  

1.4 Receding Horizon Control 17

(ΦT Φ + R)−1ΦT F.

Equation (1.29) is in a standard form of linear time-invariant state feedbackcontrol. The state feedback control gain vector is Kmpc. Therefore, with theaugmented design model

x(k + 1) = Ax(k) + B∆u(k)

the closed-loop system is obtained by substituting (1.29) into the augmentedsystem equation; changing index ki to k, leading to the closed-loop equation

x(k + 1) = Ax(k) − BKmpcx(k) + BKyr(k) (1.30)

= (A − BKmpc)x(k) + BKyr(k). (1.31)

Thus, the closed-loop eigenvalues can be evaluated through the closed-loopcharacteristic equation:

det[λI − (A − BKmpc)] = 0.

Because of the special structures of the matrices C and A, the last column of Fis identical to Rs, which is [1 1 . . . , 1]T , therefore Ky is identical to the last ele-ment of Kmpc. Noting that the state variable vector x(ki) = [∆xm(k)T y(k)]T ,and with the definition of Ky, we can write Kmpc = [Kx Ky], where Kx corre-sponds to the feedback gain vector related to ∆xm(k), and Ky corresponds tothe feedback gain related to y(k). Then, we obtain the closed-loop block dia-gram for the predictive control system as in Figure 1.3 where q−1 denotes thebackward shift operator. The diagram shows the state feedback structure forthe discrete model prediction control (DMPC) with integral action in whichthe module 1

1−q−1 denotes the discrete-time integrator.

Example 1.5. This example will examine the closed-loop feedback gain matri-ces generated from Example 1.2 and the eigenvalues of the closed-loop systemwith weight rw = 0 and rw = 10.

Solution. When the weight rw = 0, we have

Ky =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT

⎢⎢⎢⎣

11...1

⎥⎥⎥⎦) = 10

Kmpc =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT F ) =[

8 10]

.

Hence, the eigenvalues of the closed-loop system are calculated by evaluatingthe eigenvalues of the closed-loop matrix A − BKmpc, where, from Example1.2

A =

[

0.8 00.8 1

]

; B =

[

0.10.1

]

.

1.4 Receding Horizon Control 17

(ΦT Φ + R)−1ΦT F.

Equation (1.29) is in a standard form of linear time-invariant state feedbackcontrol. The state feedback control gain vector is Kmpc. Therefore, with theaugmented design model

x(k + 1) = Ax(k) + B∆u(k)

the closed-loop system is obtained by substituting (1.29) into the augmentedsystem equation; changing index ki to k, leading to the closed-loop equation

x(k + 1) = Ax(k) − BKmpcx(k) + BKyr(k) (1.30)

= (A − BKmpc)x(k) + BKyr(k). (1.31)

Thus, the closed-loop eigenvalues can be evaluated through the closed-loopcharacteristic equation:

det[λI − (A − BKmpc)] = 0.

Because of the special structures of the matrices C and A, the last column of Fis identical to Rs, which is [1 1 . . . , 1]T , therefore Ky is identical to the last ele-ment of Kmpc. Noting that the state variable vector x(ki) = [∆xm(k)T y(k)]T ,and with the definition of Ky, we can write Kmpc = [Kx Ky], where Kx corre-sponds to the feedback gain vector related to ∆xm(k), and Ky corresponds tothe feedback gain related to y(k). Then, we obtain the closed-loop block dia-gram for the predictive control system as in Figure 1.3 where q−1 denotes thebackward shift operator. The diagram shows the state feedback structure forthe discrete model prediction control (DMPC) with integral action in whichthe module 1

1−q−1 denotes the discrete-time integrator.

Example 1.5. This example will examine the closed-loop feedback gain matri-ces generated from Example 1.2 and the eigenvalues of the closed-loop systemwith weight rw = 0 and rw = 10.

Solution. When the weight rw = 0, we have

Ky =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT

⎢⎢⎢⎣

11...1

⎥⎥⎥⎦) = 10

Kmpc =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT F ) =[

8 10]

.

Hence, the eigenvalues of the closed-loop system are calculated by evaluatingthe eigenvalues of the closed-loop matrix A − BKmpc, where, from Example1.2

A =

[

0.8 00.8 1

]

; B =

[

0.10.1

]

.

1.4 Receding Horizon Control 17

(ΦT Φ + R)−1ΦT F.

Equation (1.29) is in a standard form of linear time-invariant state feedbackcontrol. The state feedback control gain vector is Kmpc. Therefore, with theaugmented design model

x(k + 1) = Ax(k) + B∆u(k)

the closed-loop system is obtained by substituting (1.29) into the augmentedsystem equation; changing index ki to k, leading to the closed-loop equation

x(k + 1) = Ax(k) − BKmpcx(k) + BKyr(k) (1.30)

= (A − BKmpc)x(k) + BKyr(k). (1.31)

Thus, the closed-loop eigenvalues can be evaluated through the closed-loopcharacteristic equation:

det[λI − (A − BKmpc)] = 0.

Because of the special structures of the matrices C and A, the last column of Fis identical to Rs, which is [1 1 . . . , 1]T , therefore Ky is identical to the last ele-ment of Kmpc. Noting that the state variable vector x(ki) = [∆xm(k)T y(k)]T ,and with the definition of Ky, we can write Kmpc = [Kx Ky], where Kx corre-sponds to the feedback gain vector related to ∆xm(k), and Ky corresponds tothe feedback gain related to y(k). Then, we obtain the closed-loop block dia-gram for the predictive control system as in Figure 1.3 where q−1 denotes thebackward shift operator. The diagram shows the state feedback structure forthe discrete model prediction control (DMPC) with integral action in whichthe module 1

1−q−1 denotes the discrete-time integrator.

Example 1.5. This example will examine the closed-loop feedback gain matri-ces generated from Example 1.2 and the eigenvalues of the closed-loop systemwith weight rw = 0 and rw = 10.

Solution. When the weight rw = 0, we have

Ky =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT

⎢⎢⎢⎣

11...1

⎥⎥⎥⎦) = 10

Kmpc =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT F ) =[

8 10]

.

Hence, the eigenvalues of the closed-loop system are calculated by evaluatingthe eigenvalues of the closed-loop matrix A − BKmpc, where, from Example1.2

A =

[

0.8 00.8 1

]

; B =

[

0.10.1

]

.

K_x corresponds to the feedback gain realted to \Delta x_m(k)K_y corresponds to the feedback gain related to y(k)

Page 32: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Closed-­‐Loop  Control  System  (Example  Response)

10 1 Discrete-time MPC for Beginners

with the assumption that (ΦT Φ + R)−1 exists. The matrix (ΦT Φ + R)−1 iscalled the Hessian matrix in the optimization literature. Note that Rs is adata vector that contains the set-point information expressed as

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T r(ki) = Rsr(ki),

where

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T .

The optimal solution of the control signal is linked to the set-point signal r(ki)and the state variable x(ki) via the following equation:

∆U = (ΦT Φ + R)−1ΦT (Rsr(ki) − Fx(ki)). (1.17)

Example 1.2. Suppose that a first-order system is described by the state equa-tion:

xm(k + 1) = axm(k) + bu(k)

y(k) = xm(k), (1.18)

where a = 0.8 and b = 0.1 are scalars. Find the augmented state-space model.Assuming a prediction horizon Np = 10 and control horizon Nc = 4, calcu-late the components that form the prediction of future output Y , and thequantities ΦT Φ, ΦT F and ΦT Rs. Assuming that at a time ki (ki = 10 forthis example), r(ki) = 1 and the state vector x(ki) = [0.1 0.2]T , find theoptimal solution ∆U with respect to the cases where rw = 0 and rw = 10,and compare the results.

Solution. The augmented state-space equation is[

∆xm(k + 1)y(k + 1)

]

=

[

a 0a 1

] [

∆xm(k)y(k)

]

+

[

bb

]

∆u(k)

y(k) =[

0 1][

∆xm(k)y(k)

]

. (1.19)

Based on (1.12), the F and Φ matrices take the following forms:

F =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CACA2

CA3

CA4

CA5

CA6

CA7

CA8

CA9

CA10

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CB 0 0 0CAB CB 0 0CA2B CAB CB 0CA3B CA2B CAB CBCA4B CA3B CA2B CABCA5B CA4B CA3B CA2BCA6B CA5B CA4B CA3BCA7B CA6B CA5B CA4BCA8B CA7B CA6B CA5BCA9B CA8B CA7B CA6B

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

.

10 1 Discrete-time MPC for Beginners

with the assumption that (ΦT Φ + R)−1 exists. The matrix (ΦT Φ + R)−1 iscalled the Hessian matrix in the optimization literature. Note that Rs is adata vector that contains the set-point information expressed as

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T r(ki) = Rsr(ki),

where

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T .

The optimal solution of the control signal is linked to the set-point signal r(ki)and the state variable x(ki) via the following equation:

∆U = (ΦT Φ + R)−1ΦT (Rsr(ki) − Fx(ki)). (1.17)

Example 1.2. Suppose that a first-order system is described by the state equa-tion:

xm(k + 1) = axm(k) + bu(k)

y(k) = xm(k), (1.18)

where a = 0.8 and b = 0.1 are scalars. Find the augmented state-space model.Assuming a prediction horizon Np = 10 and control horizon Nc = 4, calcu-late the components that form the prediction of future output Y , and thequantities ΦT Φ, ΦT F and ΦT Rs. Assuming that at a time ki (ki = 10 forthis example), r(ki) = 1 and the state vector x(ki) = [0.1 0.2]T , find theoptimal solution ∆U with respect to the cases where rw = 0 and rw = 10,and compare the results.

Solution. The augmented state-space equation is[

∆xm(k + 1)y(k + 1)

]

=

[

a 0a 1

] [

∆xm(k)y(k)

]

+

[

bb

]

∆u(k)

y(k) =[

0 1][

∆xm(k)y(k)

]

. (1.19)

Based on (1.12), the F and Φ matrices take the following forms:

F =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CACA2

CA3

CA4

CA5

CA6

CA7

CA8

CA9

CA10

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CB 0 0 0CAB CB 0 0CA2B CAB CB 0CA3B CA2B CAB CBCA4B CA3B CA2B CABCA5B CA4B CA3B CA2BCA6B CA5B CA4B CA3BCA7B CA6B CA5B CA4BCA8B CA7B CA6B CA5BCA9B CA8B CA7B CA6B

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

.

10 1 Discrete-time MPC for Beginners

with the assumption that (ΦT Φ + R)−1 exists. The matrix (ΦT Φ + R)−1 iscalled the Hessian matrix in the optimization literature. Note that Rs is adata vector that contains the set-point information expressed as

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T r(ki) = Rsr(ki),

where

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T .

The optimal solution of the control signal is linked to the set-point signal r(ki)and the state variable x(ki) via the following equation:

∆U = (ΦT Φ + R)−1ΦT (Rsr(ki) − Fx(ki)). (1.17)

Example 1.2. Suppose that a first-order system is described by the state equa-tion:

xm(k + 1) = axm(k) + bu(k)

y(k) = xm(k), (1.18)

where a = 0.8 and b = 0.1 are scalars. Find the augmented state-space model.Assuming a prediction horizon Np = 10 and control horizon Nc = 4, calcu-late the components that form the prediction of future output Y , and thequantities ΦT Φ, ΦT F and ΦT Rs. Assuming that at a time ki (ki = 10 forthis example), r(ki) = 1 and the state vector x(ki) = [0.1 0.2]T , find theoptimal solution ∆U with respect to the cases where rw = 0 and rw = 10,and compare the results.

Solution. The augmented state-space equation is[

∆xm(k + 1)y(k + 1)

]

=

[

a 0a 1

] [

∆xm(k)y(k)

]

+

[

bb

]

∆u(k)

y(k) =[

0 1][

∆xm(k)y(k)

]

. (1.19)

Based on (1.12), the F and Φ matrices take the following forms:

F =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CACA2

CA3

CA4

CA5

CA6

CA7

CA8

CA9

CA10

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CB 0 0 0CAB CB 0 0CA2B CAB CB 0CA3B CA2B CAB CBCA4B CA3B CA2B CABCA5B CA4B CA3B CA2BCA6B CA5B CA4B CA3BCA7B CA6B CA5B CA4BCA8B CA7B CA6B CA5BCA9B CA8B CA7B CA6B

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

.

10 1 Discrete-time MPC for Beginners

with the assumption that (ΦT Φ + R)−1 exists. The matrix (ΦT Φ + R)−1 iscalled the Hessian matrix in the optimization literature. Note that Rs is adata vector that contains the set-point information expressed as

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T r(ki) = Rsr(ki),

where

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T .

The optimal solution of the control signal is linked to the set-point signal r(ki)and the state variable x(ki) via the following equation:

∆U = (ΦT Φ + R)−1ΦT (Rsr(ki) − Fx(ki)). (1.17)

Example 1.2. Suppose that a first-order system is described by the state equa-tion:

xm(k + 1) = axm(k) + bu(k)

y(k) = xm(k), (1.18)

where a = 0.8 and b = 0.1 are scalars. Find the augmented state-space model.Assuming a prediction horizon Np = 10 and control horizon Nc = 4, calcu-late the components that form the prediction of future output Y , and thequantities ΦT Φ, ΦT F and ΦT Rs. Assuming that at a time ki (ki = 10 forthis example), r(ki) = 1 and the state vector x(ki) = [0.1 0.2]T , find theoptimal solution ∆U with respect to the cases where rw = 0 and rw = 10,and compare the results.

Solution. The augmented state-space equation is[

∆xm(k + 1)y(k + 1)

]

=

[

a 0a 1

] [

∆xm(k)y(k)

]

+

[

bb

]

∆u(k)

y(k) =[

0 1][

∆xm(k)y(k)

]

. (1.19)

Based on (1.12), the F and Φ matrices take the following forms:

F =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CACA2

CA3

CA4

CA5

CA6

CA7

CA8

CA9

CA10

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CB 0 0 0CAB CB 0 0CA2B CAB CB 0CA3B CA2B CAB CBCA4B CA3B CA2B CABCA5B CA4B CA3B CA2BCA6B CA5B CA4B CA3BCA7B CA6B CA5B CA4BCA8B CA7B CA6B CA5BCA9B CA8B CA7B CA6B

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

.

10 1 Discrete-time MPC for Beginners

with the assumption that (ΦT Φ + R)−1 exists. The matrix (ΦT Φ + R)−1 iscalled the Hessian matrix in the optimization literature. Note that Rs is adata vector that contains the set-point information expressed as

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T r(ki) = Rsr(ki),

where

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T .

The optimal solution of the control signal is linked to the set-point signal r(ki)and the state variable x(ki) via the following equation:

∆U = (ΦT Φ + R)−1ΦT (Rsr(ki) − Fx(ki)). (1.17)

Example 1.2. Suppose that a first-order system is described by the state equa-tion:

xm(k + 1) = axm(k) + bu(k)

y(k) = xm(k), (1.18)

where a = 0.8 and b = 0.1 are scalars. Find the augmented state-space model.Assuming a prediction horizon Np = 10 and control horizon Nc = 4, calcu-late the components that form the prediction of future output Y , and thequantities ΦT Φ, ΦT F and ΦT Rs. Assuming that at a time ki (ki = 10 forthis example), r(ki) = 1 and the state vector x(ki) = [0.1 0.2]T , find theoptimal solution ∆U with respect to the cases where rw = 0 and rw = 10,and compare the results.

Solution. The augmented state-space equation is[

∆xm(k + 1)y(k + 1)

]

=

[

a 0a 1

] [

∆xm(k)y(k)

]

+

[

bb

]

∆u(k)

y(k) =[

0 1][

∆xm(k)y(k)

]

. (1.19)

Based on (1.12), the F and Φ matrices take the following forms:

F =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CACA2

CA3

CA4

CA5

CA6

CA7

CA8

CA9

CA10

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CB 0 0 0CAB CB 0 0CA2B CAB CB 0CA3B CA2B CAB CBCA4B CA3B CA2B CABCA5B CA4B CA3B CA2BCA6B CA5B CA4B CA3BCA7B CA6B CA5B CA4BCA8B CA7B CA6B CA5BCA9B CA8B CA7B CA6B

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

.

10 1 Discrete-time MPC for Beginners

with the assumption that (ΦT Φ + R)−1 exists. The matrix (ΦT Φ + R)−1 iscalled the Hessian matrix in the optimization literature. Note that Rs is adata vector that contains the set-point information expressed as

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T r(ki) = Rsr(ki),

where

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T .

The optimal solution of the control signal is linked to the set-point signal r(ki)and the state variable x(ki) via the following equation:

∆U = (ΦT Φ + R)−1ΦT (Rsr(ki) − Fx(ki)). (1.17)

Example 1.2. Suppose that a first-order system is described by the state equa-tion:

xm(k + 1) = axm(k) + bu(k)

y(k) = xm(k), (1.18)

where a = 0.8 and b = 0.1 are scalars. Find the augmented state-space model.Assuming a prediction horizon Np = 10 and control horizon Nc = 4, calcu-late the components that form the prediction of future output Y , and thequantities ΦT Φ, ΦT F and ΦT Rs. Assuming that at a time ki (ki = 10 forthis example), r(ki) = 1 and the state vector x(ki) = [0.1 0.2]T , find theoptimal solution ∆U with respect to the cases where rw = 0 and rw = 10,and compare the results.

Solution. The augmented state-space equation is[

∆xm(k + 1)y(k + 1)

]

=

[

a 0a 1

] [

∆xm(k)y(k)

]

+

[

bb

]

∆u(k)

y(k) =[

0 1][

∆xm(k)y(k)

]

. (1.19)

Based on (1.12), the F and Φ matrices take the following forms:

F =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CACA2

CA3

CA4

CA5

CA6

CA7

CA8

CA9

CA10

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CB 0 0 0CAB CB 0 0CA2B CAB CB 0CA3B CA2B CAB CBCA4B CA3B CA2B CABCA5B CA4B CA3B CA2BCA6B CA5B CA4B CA3BCA7B CA6B CA5B CA4BCA8B CA7B CA6B CA5BCA9B CA8B CA7B CA6B

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

.

10 1 Discrete-time MPC for Beginners

with the assumption that (ΦT Φ + R)−1 exists. The matrix (ΦT Φ + R)−1 iscalled the Hessian matrix in the optimization literature. Note that Rs is adata vector that contains the set-point information expressed as

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T r(ki) = Rsr(ki),

where

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T .

The optimal solution of the control signal is linked to the set-point signal r(ki)and the state variable x(ki) via the following equation:

∆U = (ΦT Φ + R)−1ΦT (Rsr(ki) − Fx(ki)). (1.17)

Example 1.2. Suppose that a first-order system is described by the state equa-tion:

xm(k + 1) = axm(k) + bu(k)

y(k) = xm(k), (1.18)

where a = 0.8 and b = 0.1 are scalars. Find the augmented state-space model.Assuming a prediction horizon Np = 10 and control horizon Nc = 4, calcu-late the components that form the prediction of future output Y , and thequantities ΦT Φ, ΦT F and ΦT Rs. Assuming that at a time ki (ki = 10 forthis example), r(ki) = 1 and the state vector x(ki) = [0.1 0.2]T , find theoptimal solution ∆U with respect to the cases where rw = 0 and rw = 10,and compare the results.

Solution. The augmented state-space equation is[

∆xm(k + 1)y(k + 1)

]

=

[

a 0a 1

] [

∆xm(k)y(k)

]

+

[

bb

]

∆u(k)

y(k) =[

0 1][

∆xm(k)y(k)

]

. (1.19)

Based on (1.12), the F and Φ matrices take the following forms:

F =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CACA2

CA3

CA4

CA5

CA6

CA7

CA8

CA9

CA10

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CB 0 0 0CAB CB 0 0CA2B CAB CB 0CA3B CA2B CAB CBCA4B CA3B CA2B CABCA5B CA4B CA3B CA2BCA6B CA5B CA4B CA3BCA7B CA6B CA5B CA4BCA8B CA7B CA6B CA5BCA9B CA8B CA7B CA6B

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

.

10 1 Discrete-time MPC for Beginners

with the assumption that (ΦT Φ + R)−1 exists. The matrix (ΦT Φ + R)−1 iscalled the Hessian matrix in the optimization literature. Note that Rs is adata vector that contains the set-point information expressed as

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T r(ki) = Rsr(ki),

where

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T .

The optimal solution of the control signal is linked to the set-point signal r(ki)and the state variable x(ki) via the following equation:

∆U = (ΦT Φ + R)−1ΦT (Rsr(ki) − Fx(ki)). (1.17)

Example 1.2. Suppose that a first-order system is described by the state equa-tion:

xm(k + 1) = axm(k) + bu(k)

y(k) = xm(k), (1.18)

where a = 0.8 and b = 0.1 are scalars. Find the augmented state-space model.Assuming a prediction horizon Np = 10 and control horizon Nc = 4, calcu-late the components that form the prediction of future output Y , and thequantities ΦT Φ, ΦT F and ΦT Rs. Assuming that at a time ki (ki = 10 forthis example), r(ki) = 1 and the state vector x(ki) = [0.1 0.2]T , find theoptimal solution ∆U with respect to the cases where rw = 0 and rw = 10,and compare the results.

Solution. The augmented state-space equation is[

∆xm(k + 1)y(k + 1)

]

=

[

a 0a 1

] [

∆xm(k)y(k)

]

+

[

bb

]

∆u(k)

y(k) =[

0 1][

∆xm(k)y(k)

]

. (1.19)

Based on (1.12), the F and Φ matrices take the following forms:

F =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CACA2

CA3

CA4

CA5

CA6

CA7

CA8

CA9

CA10

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CB 0 0 0CAB CB 0 0CA2B CAB CB 0CA3B CA2B CAB CBCA4B CA3B CA2B CABCA5B CA4B CA3B CA2BCA6B CA5B CA4B CA3BCA7B CA6B CA5B CA4BCA8B CA7B CA6B CA5BCA9B CA8B CA7B CA6B

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

.

1.3 Predictive Control within One Optimization Window 11

The coefficients in the F and Φ matrices are calculated as follows:

CA =[

s1 1]

CA2 =[

s2 1]

CA3 =[

s3 1]

...

CAk =[

sk 1]

, (1.20)

where s1 = a, s2 = a2 + s1, . . ., sk = ak + sk−1, and

CB = g0 = b

CAB = g1 = ab + g0

CA2B = g2 = a2b + g1

...

CAk−1B = gk−1 = ak−1b + gk−2

CAkB = gk = akb + gk−1. (1.21)

With the plant parameters a = 0.8 and b = 0.1, Np = 10 and Nc = 4, wecalculate the quantities

ΦT Φ =

⎢⎢⎣

1.1541 1.0407 0.9116 0.77261.0407 0.9549 0.8475 0.72590.9116 0.8475 0.7675 0.66740.7726 0.7259 0.6674 0.5943

⎥⎥⎦

ΦT F =

⎢⎢⎣

9.2325 3.21478.3259 2.76847.2927 2.33556.1811 1.9194

⎥⎥⎦

; ΦT Rs =

⎢⎢⎣

3.21472.76842.33551.9194

⎥⎥⎦

.

Note that the vector ΦT Rs is identical to the last column in the matrix ΦT F .This is because the last column of F matrix is identical to Rs.

At time ki = 10, the state vector x(ki) = [0.1 0.2]T . In the first case, theerror between predicted Y and Rs is reduced without any consideration tothe magnitude of control changes. Namely, rw = 0. Then, the optimal ∆U isfound through the calculation

∆U = (ΦT Φ)−1(ΦT Rs − ΦT Fx(ki)) =[

7.2 −6.4 0 0]T

.

We note that without weighting on the incremental control, the last two ele-ments ∆u(ki +2) = 0 and ∆u(ki +3) = 0, while the first two elements have arather large magnitude. Figure 1.1a shows the changes of the state variableswhere we can see that the predicted output y has reached the desired set-point

1.3 Predictive Control within One Optimization Window 11

The coefficients in the F and Φ matrices are calculated as follows:

CA =[

s1 1]

CA2 =[

s2 1]

CA3 =[

s3 1]

...

CAk =[

sk 1]

, (1.20)

where s1 = a, s2 = a2 + s1, . . ., sk = ak + sk−1, and

CB = g0 = b

CAB = g1 = ab + g0

CA2B = g2 = a2b + g1

...

CAk−1B = gk−1 = ak−1b + gk−2

CAkB = gk = akb + gk−1. (1.21)

With the plant parameters a = 0.8 and b = 0.1, Np = 10 and Nc = 4, wecalculate the quantities

ΦT Φ =

⎢⎢⎣

1.1541 1.0407 0.9116 0.77261.0407 0.9549 0.8475 0.72590.9116 0.8475 0.7675 0.66740.7726 0.7259 0.6674 0.5943

⎥⎥⎦

ΦT F =

⎢⎢⎣

9.2325 3.21478.3259 2.76847.2927 2.33556.1811 1.9194

⎥⎥⎦

; ΦT Rs =

⎢⎢⎣

3.21472.76842.33551.9194

⎥⎥⎦

.

Note that the vector ΦT Rs is identical to the last column in the matrix ΦT F .This is because the last column of F matrix is identical to Rs.

At time ki = 10, the state vector x(ki) = [0.1 0.2]T . In the first case, theerror between predicted Y and Rs is reduced without any consideration tothe magnitude of control changes. Namely, rw = 0. Then, the optimal ∆U isfound through the calculation

∆U = (ΦT Φ)−1(ΦT Rs − ΦT Fx(ki)) =[

7.2 −6.4 0 0]T

.

We note that without weighting on the incremental control, the last two ele-ments ∆u(ki +2) = 0 and ∆u(ki +3) = 0, while the first two elements have arather large magnitude. Figure 1.1a shows the changes of the state variableswhere we can see that the predicted output y has reached the desired set-point

1.3 Predictive Control within One Optimization Window 11

The coefficients in the F and Φ matrices are calculated as follows:

CA =[

s1 1]

CA2 =[

s2 1]

CA3 =[

s3 1]

...

CAk =[

sk 1]

, (1.20)

where s1 = a, s2 = a2 + s1, . . ., sk = ak + sk−1, and

CB = g0 = b

CAB = g1 = ab + g0

CA2B = g2 = a2b + g1

...

CAk−1B = gk−1 = ak−1b + gk−2

CAkB = gk = akb + gk−1. (1.21)

With the plant parameters a = 0.8 and b = 0.1, Np = 10 and Nc = 4, wecalculate the quantities

ΦT Φ =

⎢⎢⎣

1.1541 1.0407 0.9116 0.77261.0407 0.9549 0.8475 0.72590.9116 0.8475 0.7675 0.66740.7726 0.7259 0.6674 0.5943

⎥⎥⎦

ΦT F =

⎢⎢⎣

9.2325 3.21478.3259 2.76847.2927 2.33556.1811 1.9194

⎥⎥⎦

; ΦT Rs =

⎢⎢⎣

3.21472.76842.33551.9194

⎥⎥⎦

.

Note that the vector ΦT Rs is identical to the last column in the matrix ΦT F .This is because the last column of F matrix is identical to Rs.

At time ki = 10, the state vector x(ki) = [0.1 0.2]T . In the first case, theerror between predicted Y and Rs is reduced without any consideration tothe magnitude of control changes. Namely, rw = 0. Then, the optimal ∆U isfound through the calculation

∆U = (ΦT Φ)−1(ΦT Rs − ΦT Fx(ki)) =[

7.2 −6.4 0 0]T

.

We note that without weighting on the incremental control, the last two ele-ments ∆u(ki +2) = 0 and ∆u(ki +3) = 0, while the first two elements have arather large magnitude. Figure 1.1a shows the changes of the state variableswhere we can see that the predicted output y has reached the desired set-point

observe that last row of phi’F = phi’Rbar_s

Page 33: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Closed-­‐Loop  Control  System  (Example:  Tuning  Parameters)

10 1 Discrete-time MPC for Beginners

with the assumption that (ΦT Φ + R)−1 exists. The matrix (ΦT Φ + R)−1 iscalled the Hessian matrix in the optimization literature. Note that Rs is adata vector that contains the set-point information expressed as

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T r(ki) = Rsr(ki),

where

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T .

The optimal solution of the control signal is linked to the set-point signal r(ki)and the state variable x(ki) via the following equation:

∆U = (ΦT Φ + R)−1ΦT (Rsr(ki) − Fx(ki)). (1.17)

Example 1.2. Suppose that a first-order system is described by the state equa-tion:

xm(k + 1) = axm(k) + bu(k)

y(k) = xm(k), (1.18)

where a = 0.8 and b = 0.1 are scalars. Find the augmented state-space model.Assuming a prediction horizon Np = 10 and control horizon Nc = 4, calcu-late the components that form the prediction of future output Y , and thequantities ΦT Φ, ΦT F and ΦT Rs. Assuming that at a time ki (ki = 10 forthis example), r(ki) = 1 and the state vector x(ki) = [0.1 0.2]T , find theoptimal solution ∆U with respect to the cases where rw = 0 and rw = 10,and compare the results.

Solution. The augmented state-space equation is[

∆xm(k + 1)y(k + 1)

]

=

[

a 0a 1

] [

∆xm(k)y(k)

]

+

[

bb

]

∆u(k)

y(k) =[

0 1][

∆xm(k)y(k)

]

. (1.19)

Based on (1.12), the F and Φ matrices take the following forms:

F =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CACA2

CA3

CA4

CA5

CA6

CA7

CA8

CA9

CA10

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CB 0 0 0CAB CB 0 0CA2B CAB CB 0CA3B CA2B CAB CBCA4B CA3B CA2B CABCA5B CA4B CA3B CA2BCA6B CA5B CA4B CA3BCA7B CA6B CA5B CA4BCA8B CA7B CA6B CA5BCA9B CA8B CA7B CA6B

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

.

10 1 Discrete-time MPC for Beginners

with the assumption that (ΦT Φ + R)−1 exists. The matrix (ΦT Φ + R)−1 iscalled the Hessian matrix in the optimization literature. Note that Rs is adata vector that contains the set-point information expressed as

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T r(ki) = Rsr(ki),

where

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T .

The optimal solution of the control signal is linked to the set-point signal r(ki)and the state variable x(ki) via the following equation:

∆U = (ΦT Φ + R)−1ΦT (Rsr(ki) − Fx(ki)). (1.17)

Example 1.2. Suppose that a first-order system is described by the state equa-tion:

xm(k + 1) = axm(k) + bu(k)

y(k) = xm(k), (1.18)

where a = 0.8 and b = 0.1 are scalars. Find the augmented state-space model.Assuming a prediction horizon Np = 10 and control horizon Nc = 4, calcu-late the components that form the prediction of future output Y , and thequantities ΦT Φ, ΦT F and ΦT Rs. Assuming that at a time ki (ki = 10 forthis example), r(ki) = 1 and the state vector x(ki) = [0.1 0.2]T , find theoptimal solution ∆U with respect to the cases where rw = 0 and rw = 10,and compare the results.

Solution. The augmented state-space equation is[

∆xm(k + 1)y(k + 1)

]

=

[

a 0a 1

] [

∆xm(k)y(k)

]

+

[

bb

]

∆u(k)

y(k) =[

0 1][

∆xm(k)y(k)

]

. (1.19)

Based on (1.12), the F and Φ matrices take the following forms:

F =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CACA2

CA3

CA4

CA5

CA6

CA7

CA8

CA9

CA10

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CB 0 0 0CAB CB 0 0CA2B CAB CB 0CA3B CA2B CAB CBCA4B CA3B CA2B CABCA5B CA4B CA3B CA2BCA6B CA5B CA4B CA3BCA7B CA6B CA5B CA4BCA8B CA7B CA6B CA5BCA9B CA8B CA7B CA6B

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

.

10 1 Discrete-time MPC for Beginners

with the assumption that (ΦT Φ + R)−1 exists. The matrix (ΦT Φ + R)−1 iscalled the Hessian matrix in the optimization literature. Note that Rs is adata vector that contains the set-point information expressed as

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T r(ki) = Rsr(ki),

where

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T .

The optimal solution of the control signal is linked to the set-point signal r(ki)and the state variable x(ki) via the following equation:

∆U = (ΦT Φ + R)−1ΦT (Rsr(ki) − Fx(ki)). (1.17)

Example 1.2. Suppose that a first-order system is described by the state equa-tion:

xm(k + 1) = axm(k) + bu(k)

y(k) = xm(k), (1.18)

where a = 0.8 and b = 0.1 are scalars. Find the augmented state-space model.Assuming a prediction horizon Np = 10 and control horizon Nc = 4, calcu-late the components that form the prediction of future output Y , and thequantities ΦT Φ, ΦT F and ΦT Rs. Assuming that at a time ki (ki = 10 forthis example), r(ki) = 1 and the state vector x(ki) = [0.1 0.2]T , find theoptimal solution ∆U with respect to the cases where rw = 0 and rw = 10,and compare the results.

Solution. The augmented state-space equation is[

∆xm(k + 1)y(k + 1)

]

=

[

a 0a 1

] [

∆xm(k)y(k)

]

+

[

bb

]

∆u(k)

y(k) =[

0 1][

∆xm(k)y(k)

]

. (1.19)

Based on (1.12), the F and Φ matrices take the following forms:

F =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CACA2

CA3

CA4

CA5

CA6

CA7

CA8

CA9

CA10

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CB 0 0 0CAB CB 0 0CA2B CAB CB 0CA3B CA2B CAB CBCA4B CA3B CA2B CABCA5B CA4B CA3B CA2BCA6B CA5B CA4B CA3BCA7B CA6B CA5B CA4BCA8B CA7B CA6B CA5BCA9B CA8B CA7B CA6B

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

.

10 1 Discrete-time MPC for Beginners

with the assumption that (ΦT Φ + R)−1 exists. The matrix (ΦT Φ + R)−1 iscalled the Hessian matrix in the optimization literature. Note that Rs is adata vector that contains the set-point information expressed as

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T r(ki) = Rsr(ki),

where

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T .

The optimal solution of the control signal is linked to the set-point signal r(ki)and the state variable x(ki) via the following equation:

∆U = (ΦT Φ + R)−1ΦT (Rsr(ki) − Fx(ki)). (1.17)

Example 1.2. Suppose that a first-order system is described by the state equa-tion:

xm(k + 1) = axm(k) + bu(k)

y(k) = xm(k), (1.18)

where a = 0.8 and b = 0.1 are scalars. Find the augmented state-space model.Assuming a prediction horizon Np = 10 and control horizon Nc = 4, calcu-late the components that form the prediction of future output Y , and thequantities ΦT Φ, ΦT F and ΦT Rs. Assuming that at a time ki (ki = 10 forthis example), r(ki) = 1 and the state vector x(ki) = [0.1 0.2]T , find theoptimal solution ∆U with respect to the cases where rw = 0 and rw = 10,and compare the results.

Solution. The augmented state-space equation is[

∆xm(k + 1)y(k + 1)

]

=

[

a 0a 1

] [

∆xm(k)y(k)

]

+

[

bb

]

∆u(k)

y(k) =[

0 1][

∆xm(k)y(k)

]

. (1.19)

Based on (1.12), the F and Φ matrices take the following forms:

F =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CACA2

CA3

CA4

CA5

CA6

CA7

CA8

CA9

CA10

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CB 0 0 0CAB CB 0 0CA2B CAB CB 0CA3B CA2B CAB CBCA4B CA3B CA2B CABCA5B CA4B CA3B CA2BCA6B CA5B CA4B CA3BCA7B CA6B CA5B CA4BCA8B CA7B CA6B CA5BCA9B CA8B CA7B CA6B

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

.

10 1 Discrete-time MPC for Beginners

with the assumption that (ΦT Φ + R)−1 exists. The matrix (ΦT Φ + R)−1 iscalled the Hessian matrix in the optimization literature. Note that Rs is adata vector that contains the set-point information expressed as

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T r(ki) = Rsr(ki),

where

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T .

The optimal solution of the control signal is linked to the set-point signal r(ki)and the state variable x(ki) via the following equation:

∆U = (ΦT Φ + R)−1ΦT (Rsr(ki) − Fx(ki)). (1.17)

Example 1.2. Suppose that a first-order system is described by the state equa-tion:

xm(k + 1) = axm(k) + bu(k)

y(k) = xm(k), (1.18)

where a = 0.8 and b = 0.1 are scalars. Find the augmented state-space model.Assuming a prediction horizon Np = 10 and control horizon Nc = 4, calcu-late the components that form the prediction of future output Y , and thequantities ΦT Φ, ΦT F and ΦT Rs. Assuming that at a time ki (ki = 10 forthis example), r(ki) = 1 and the state vector x(ki) = [0.1 0.2]T , find theoptimal solution ∆U with respect to the cases where rw = 0 and rw = 10,and compare the results.

Solution. The augmented state-space equation is[

∆xm(k + 1)y(k + 1)

]

=

[

a 0a 1

] [

∆xm(k)y(k)

]

+

[

bb

]

∆u(k)

y(k) =[

0 1][

∆xm(k)y(k)

]

. (1.19)

Based on (1.12), the F and Φ matrices take the following forms:

F =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CACA2

CA3

CA4

CA5

CA6

CA7

CA8

CA9

CA10

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CB 0 0 0CAB CB 0 0CA2B CAB CB 0CA3B CA2B CAB CBCA4B CA3B CA2B CABCA5B CA4B CA3B CA2BCA6B CA5B CA4B CA3BCA7B CA6B CA5B CA4BCA8B CA7B CA6B CA5BCA9B CA8B CA7B CA6B

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

.

10 1 Discrete-time MPC for Beginners

with the assumption that (ΦT Φ + R)−1 exists. The matrix (ΦT Φ + R)−1 iscalled the Hessian matrix in the optimization literature. Note that Rs is adata vector that contains the set-point information expressed as

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T r(ki) = Rsr(ki),

where

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T .

The optimal solution of the control signal is linked to the set-point signal r(ki)and the state variable x(ki) via the following equation:

∆U = (ΦT Φ + R)−1ΦT (Rsr(ki) − Fx(ki)). (1.17)

Example 1.2. Suppose that a first-order system is described by the state equa-tion:

xm(k + 1) = axm(k) + bu(k)

y(k) = xm(k), (1.18)

where a = 0.8 and b = 0.1 are scalars. Find the augmented state-space model.Assuming a prediction horizon Np = 10 and control horizon Nc = 4, calcu-late the components that form the prediction of future output Y , and thequantities ΦT Φ, ΦT F and ΦT Rs. Assuming that at a time ki (ki = 10 forthis example), r(ki) = 1 and the state vector x(ki) = [0.1 0.2]T , find theoptimal solution ∆U with respect to the cases where rw = 0 and rw = 10,and compare the results.

Solution. The augmented state-space equation is[

∆xm(k + 1)y(k + 1)

]

=

[

a 0a 1

] [

∆xm(k)y(k)

]

+

[

bb

]

∆u(k)

y(k) =[

0 1][

∆xm(k)y(k)

]

. (1.19)

Based on (1.12), the F and Φ matrices take the following forms:

F =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CACA2

CA3

CA4

CA5

CA6

CA7

CA8

CA9

CA10

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CB 0 0 0CAB CB 0 0CA2B CAB CB 0CA3B CA2B CAB CBCA4B CA3B CA2B CABCA5B CA4B CA3B CA2BCA6B CA5B CA4B CA3BCA7B CA6B CA5B CA4BCA8B CA7B CA6B CA5BCA9B CA8B CA7B CA6B

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

.

1.3 Predictive Control within One Optimization Window 11

The coefficients in the F and Φ matrices are calculated as follows:

CA =[

s1 1]

CA2 =[

s2 1]

CA3 =[

s3 1]

...

CAk =[

sk 1]

, (1.20)

where s1 = a, s2 = a2 + s1, . . ., sk = ak + sk−1, and

CB = g0 = b

CAB = g1 = ab + g0

CA2B = g2 = a2b + g1

...

CAk−1B = gk−1 = ak−1b + gk−2

CAkB = gk = akb + gk−1. (1.21)

With the plant parameters a = 0.8 and b = 0.1, Np = 10 and Nc = 4, wecalculate the quantities

ΦT Φ =

⎢⎢⎣

1.1541 1.0407 0.9116 0.77261.0407 0.9549 0.8475 0.72590.9116 0.8475 0.7675 0.66740.7726 0.7259 0.6674 0.5943

⎥⎥⎦

ΦT F =

⎢⎢⎣

9.2325 3.21478.3259 2.76847.2927 2.33556.1811 1.9194

⎥⎥⎦

; ΦT Rs =

⎢⎢⎣

3.21472.76842.33551.9194

⎥⎥⎦

.

Note that the vector ΦT Rs is identical to the last column in the matrix ΦT F .This is because the last column of F matrix is identical to Rs.

At time ki = 10, the state vector x(ki) = [0.1 0.2]T . In the first case, theerror between predicted Y and Rs is reduced without any consideration tothe magnitude of control changes. Namely, rw = 0. Then, the optimal ∆U isfound through the calculation

∆U = (ΦT Φ)−1(ΦT Rs − ΦT Fx(ki)) =[

7.2 −6.4 0 0]T

.

We note that without weighting on the incremental control, the last two ele-ments ∆u(ki +2) = 0 and ∆u(ki +3) = 0, while the first two elements have arather large magnitude. Figure 1.1a shows the changes of the state variableswhere we can see that the predicted output y has reached the desired set-point

1.3 Predictive Control within One Optimization Window 11

The coefficients in the F and Φ matrices are calculated as follows:

CA =[

s1 1]

CA2 =[

s2 1]

CA3 =[

s3 1]

...

CAk =[

sk 1]

, (1.20)

where s1 = a, s2 = a2 + s1, . . ., sk = ak + sk−1, and

CB = g0 = b

CAB = g1 = ab + g0

CA2B = g2 = a2b + g1

...

CAk−1B = gk−1 = ak−1b + gk−2

CAkB = gk = akb + gk−1. (1.21)

With the plant parameters a = 0.8 and b = 0.1, Np = 10 and Nc = 4, wecalculate the quantities

ΦT Φ =

⎢⎢⎣

1.1541 1.0407 0.9116 0.77261.0407 0.9549 0.8475 0.72590.9116 0.8475 0.7675 0.66740.7726 0.7259 0.6674 0.5943

⎥⎥⎦

ΦT F =

⎢⎢⎣

9.2325 3.21478.3259 2.76847.2927 2.33556.1811 1.9194

⎥⎥⎦

; ΦT Rs =

⎢⎢⎣

3.21472.76842.33551.9194

⎥⎥⎦

.

Note that the vector ΦT Rs is identical to the last column in the matrix ΦT F .This is because the last column of F matrix is identical to Rs.

At time ki = 10, the state vector x(ki) = [0.1 0.2]T . In the first case, theerror between predicted Y and Rs is reduced without any consideration tothe magnitude of control changes. Namely, rw = 0. Then, the optimal ∆U isfound through the calculation

∆U = (ΦT Φ)−1(ΦT Rs − ΦT Fx(ki)) =[

7.2 −6.4 0 0]T

.

We note that without weighting on the incremental control, the last two ele-ments ∆u(ki +2) = 0 and ∆u(ki +3) = 0, while the first two elements have arather large magnitude. Figure 1.1a shows the changes of the state variableswhere we can see that the predicted output y has reached the desired set-point

Given:

1.3 Predictive Control within One Optimization Window 11

The coefficients in the F and Φ matrices are calculated as follows:

CA =[

s1 1]

CA2 =[

s2 1]

CA3 =[

s3 1]

...

CAk =[

sk 1]

, (1.20)

where s1 = a, s2 = a2 + s1, . . ., sk = ak + sk−1, and

CB = g0 = b

CAB = g1 = ab + g0

CA2B = g2 = a2b + g1

...

CAk−1B = gk−1 = ak−1b + gk−2

CAkB = gk = akb + gk−1. (1.21)

With the plant parameters a = 0.8 and b = 0.1, Np = 10 and Nc = 4, wecalculate the quantities

ΦT Φ =

⎢⎢⎣

1.1541 1.0407 0.9116 0.77261.0407 0.9549 0.8475 0.72590.9116 0.8475 0.7675 0.66740.7726 0.7259 0.6674 0.5943

⎥⎥⎦

ΦT F =

⎢⎢⎣

9.2325 3.21478.3259 2.76847.2927 2.33556.1811 1.9194

⎥⎥⎦

; ΦT Rs =

⎢⎢⎣

3.21472.76842.33551.9194

⎥⎥⎦

.

Note that the vector ΦT Rs is identical to the last column in the matrix ΦT F .This is because the last column of F matrix is identical to Rs.

At time ki = 10, the state vector x(ki) = [0.1 0.2]T . In the first case, theerror between predicted Y and Rs is reduced without any consideration tothe magnitude of control changes. Namely, rw = 0. Then, the optimal ∆U isfound through the calculation

∆U = (ΦT Φ)−1(ΦT Rs − ΦT Fx(ki)) =[

7.2 −6.4 0 0]T

.

We note that without weighting on the incremental control, the last two ele-ments ∆u(ki +2) = 0 and ∆u(ki +3) = 0, while the first two elements have arather large magnitude. Figure 1.1a shows the changes of the state variableswhere we can see that the predicted output y has reached the desired set-point

12 1 Discrete-time MPC for Beginners

10 12 14 16 18 20Ŧ0.2

0

0.2

0.4

0.6

0.8

1

1.2

Sampling Instant

Res

pons

e

12

(a) State variables with no weight on∆u

10 12 14 16 18 200

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

Sampling Instant

Res

pons

e

12

(b) State variables with weight on ∆u

Fig. 1.1. Comparison of optimal solutions. Key: line (1) ∆xm; line (2) y

1 while the ∆xm decays to zero. To examine the effect of the weight rw onthe optimal solution of the control, we let rw = 10. The optimal solution of∆U is given below, where I is a 4 × 4 identity matrix,

∆U = (ΦT Φ + 10 × I)−1(ΦT Rs − ΦT Fx(ki)) (1.22)

=!

0.1269 0.1034 0.0829 0.065"T

.

With this choice, the magnitude of the first two control increments is signifi-cantly reduced, also the last two components are no longer zero. Figure 1.1bshows the optimal state variables. It is seen that the output y did not reachthe set-point value of 1, however, the ∆xm approaches zero.

An observation follows from the comparison study. It seems that if we wantthe control to move cautiously, then it takes longer for the control signal toreach its steady state (i.e., the values in ∆U decrease more slowly), becausethe optimal control energy is distributed over the longer period of future time.We can verify this by increasing Nc to 9, while maintaining rw = 10. The resultshows that the magnitude of the elements in ∆U is reducing, but they aresignificant for the first 8 elements:

∆UT =!

0.1227 0.0993 0.0790 0.0614 0.0463 0.0334 0.0227 0.0139 0.0072"

.

In comparison with the case where Nc = 4, we note that when Nc = 9, thefirst four parameters in ∆U are slightly different from the previous case.

Example 1.3. There is an alternative way to find the minimum of the costfunction via completing the squares. This is an intuitive approach, also theminimum of the cost function becomes a by-product of the approach.Find the optimal solution for ∆U by completing the squares of the cost func-tion J (1.14).

12 1 Discrete-time MPC for Beginners

10 12 14 16 18 20Ŧ0.2

0

0.2

0.4

0.6

0.8

1

1.2

Sampling Instant

Res

pons

e

12

(a) State variables with no weight on∆u

10 12 14 16 18 200

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

Sampling Instant

Res

pons

e

12

(b) State variables with weight on ∆u

Fig. 1.1. Comparison of optimal solutions. Key: line (1) ∆xm; line (2) y

1 while the ∆xm decays to zero. To examine the effect of the weight rw onthe optimal solution of the control, we let rw = 10. The optimal solution of∆U is given below, where I is a 4 × 4 identity matrix,

∆U = (ΦT Φ + 10 × I)−1(ΦT Rs − ΦT Fx(ki)) (1.22)

=!

0.1269 0.1034 0.0829 0.065"T

.

With this choice, the magnitude of the first two control increments is signifi-cantly reduced, also the last two components are no longer zero. Figure 1.1bshows the optimal state variables. It is seen that the output y did not reachthe set-point value of 1, however, the ∆xm approaches zero.

An observation follows from the comparison study. It seems that if we wantthe control to move cautiously, then it takes longer for the control signal toreach its steady state (i.e., the values in ∆U decrease more slowly), becausethe optimal control energy is distributed over the longer period of future time.We can verify this by increasing Nc to 9, while maintaining rw = 10. The resultshows that the magnitude of the elements in ∆U is reducing, but they aresignificant for the first 8 elements:

∆UT =!

0.1227 0.0993 0.0790 0.0614 0.0463 0.0334 0.0227 0.0139 0.0072"

.

In comparison with the case where Nc = 4, we note that when Nc = 9, thefirst four parameters in ∆U are slightly different from the previous case.

Example 1.3. There is an alternative way to find the minimum of the costfunction via completing the squares. This is an intuitive approach, also theminimum of the cost function becomes a by-product of the approach.Find the optimal solution for ∆U by completing the squares of the cost func-tion J (1.14).

12 1 Discrete-time MPC for Beginners

10 12 14 16 18 20Ŧ0.2

0

0.2

0.4

0.6

0.8

1

1.2

Sampling Instant

Res

pons

e

12

(a) State variables with no weight on∆u

10 12 14 16 18 200

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

Sampling Instant

Res

pons

e

12

(b) State variables with weight on ∆u

Fig. 1.1. Comparison of optimal solutions. Key: line (1) ∆xm; line (2) y

1 while the ∆xm decays to zero. To examine the effect of the weight rw onthe optimal solution of the control, we let rw = 10. The optimal solution of∆U is given below, where I is a 4 × 4 identity matrix,

∆U = (ΦT Φ + 10 × I)−1(ΦT Rs − ΦT Fx(ki)) (1.22)

=!

0.1269 0.1034 0.0829 0.065"T

.

With this choice, the magnitude of the first two control increments is signifi-cantly reduced, also the last two components are no longer zero. Figure 1.1bshows the optimal state variables. It is seen that the output y did not reachthe set-point value of 1, however, the ∆xm approaches zero.

An observation follows from the comparison study. It seems that if we wantthe control to move cautiously, then it takes longer for the control signal toreach its steady state (i.e., the values in ∆U decrease more slowly), becausethe optimal control energy is distributed over the longer period of future time.We can verify this by increasing Nc to 9, while maintaining rw = 10. The resultshows that the magnitude of the elements in ∆U is reducing, but they aresignificant for the first 8 elements:

∆UT =!

0.1227 0.0993 0.0790 0.0614 0.0463 0.0334 0.0227 0.0139 0.0072"

.

In comparison with the case where Nc = 4, we note that when Nc = 9, thefirst four parameters in ∆U are slightly different from the previous case.

Example 1.3. There is an alternative way to find the minimum of the costfunction via completing the squares. This is an intuitive approach, also theminimum of the cost function becomes a by-product of the approach.Find the optimal solution for ∆U by completing the squares of the cost func-tion J (1.14).

Tuning  (No  Input  RestricCons):

Tuning  (Restrict  Control  Input):

12 1 Discrete-time MPC for Beginners

10 12 14 16 18 20Ŧ0.2

0

0.2

0.4

0.6

0.8

1

1.2

Sampling Instant

Res

pons

e

12

(a) State variables with no weight on∆u

10 12 14 16 18 200

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

Sampling Instant

Res

pons

e

12

(b) State variables with weight on ∆u

Fig. 1.1. Comparison of optimal solutions. Key: line (1) ∆xm; line (2) y

1 while the ∆xm decays to zero. To examine the effect of the weight rw onthe optimal solution of the control, we let rw = 10. The optimal solution of∆U is given below, where I is a 4 × 4 identity matrix,

∆U = (ΦT Φ + 10 × I)−1(ΦT Rs − ΦT Fx(ki)) (1.22)

=!

0.1269 0.1034 0.0829 0.065"T

.

With this choice, the magnitude of the first two control increments is signifi-cantly reduced, also the last two components are no longer zero. Figure 1.1bshows the optimal state variables. It is seen that the output y did not reachthe set-point value of 1, however, the ∆xm approaches zero.

An observation follows from the comparison study. It seems that if we wantthe control to move cautiously, then it takes longer for the control signal toreach its steady state (i.e., the values in ∆U decrease more slowly), becausethe optimal control energy is distributed over the longer period of future time.We can verify this by increasing Nc to 9, while maintaining rw = 10. The resultshows that the magnitude of the elements in ∆U is reducing, but they aresignificant for the first 8 elements:

∆UT =!

0.1227 0.0993 0.0790 0.0614 0.0463 0.0334 0.0227 0.0139 0.0072"

.

In comparison with the case where Nc = 4, we note that when Nc = 9, thefirst four parameters in ∆U are slightly different from the previous case.

Example 1.3. There is an alternative way to find the minimum of the costfunction via completing the squares. This is an intuitive approach, also theminimum of the cost function becomes a by-product of the approach.Find the optimal solution for ∆U by completing the squares of the cost func-tion J (1.14).

Tuning  (Restrict  Control  Input):

12 1 Discrete-time MPC for Beginners

10 12 14 16 18 20Ŧ0.2

0

0.2

0.4

0.6

0.8

1

1.2

Sampling Instant

Res

pons

e

12

(a) State variables with no weight on∆u

10 12 14 16 18 200

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

Sampling Instant

Res

pons

e

12

(b) State variables with weight on ∆u

Fig. 1.1. Comparison of optimal solutions. Key: line (1) ∆xm; line (2) y

1 while the ∆xm decays to zero. To examine the effect of the weight rw onthe optimal solution of the control, we let rw = 10. The optimal solution of∆U is given below, where I is a 4 × 4 identity matrix,

∆U = (ΦT Φ + 10 × I)−1(ΦT Rs − ΦT Fx(ki)) (1.22)

=!

0.1269 0.1034 0.0829 0.065"T

.

With this choice, the magnitude of the first two control increments is signifi-cantly reduced, also the last two components are no longer zero. Figure 1.1bshows the optimal state variables. It is seen that the output y did not reachthe set-point value of 1, however, the ∆xm approaches zero.

An observation follows from the comparison study. It seems that if we wantthe control to move cautiously, then it takes longer for the control signal toreach its steady state (i.e., the values in ∆U decrease more slowly), becausethe optimal control energy is distributed over the longer period of future time.We can verify this by increasing Nc to 9, while maintaining rw = 10. The resultshows that the magnitude of the elements in ∆U is reducing, but they aresignificant for the first 8 elements:

∆UT =!

0.1227 0.0993 0.0790 0.0614 0.0463 0.0334 0.0227 0.0139 0.0072"

.

In comparison with the case where Nc = 4, we note that when Nc = 9, thefirst four parameters in ∆U are slightly different from the previous case.

Example 1.3. There is an alternative way to find the minimum of the costfunction via completing the squares. This is an intuitive approach, also theminimum of the cost function becomes a by-product of the approach.Find the optimal solution for ∆U by completing the squares of the cost func-tion J (1.14).

12 1 Discrete-time MPC for Beginners

10 12 14 16 18 20Ŧ0.2

0

0.2

0.4

0.6

0.8

1

1.2

Sampling Instant

Res

pons

e

12

(a) State variables with no weight on∆u

10 12 14 16 18 200

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

Sampling Instant

Res

pons

e

12

(b) State variables with weight on ∆u

Fig. 1.1. Comparison of optimal solutions. Key: line (1) ∆xm; line (2) y

1 while the ∆xm decays to zero. To examine the effect of the weight rw onthe optimal solution of the control, we let rw = 10. The optimal solution of∆U is given below, where I is a 4 × 4 identity matrix,

∆U = (ΦT Φ + 10 × I)−1(ΦT Rs − ΦT Fx(ki)) (1.22)

=!

0.1269 0.1034 0.0829 0.065"T

.

With this choice, the magnitude of the first two control increments is signifi-cantly reduced, also the last two components are no longer zero. Figure 1.1bshows the optimal state variables. It is seen that the output y did not reachthe set-point value of 1, however, the ∆xm approaches zero.

An observation follows from the comparison study. It seems that if we wantthe control to move cautiously, then it takes longer for the control signal toreach its steady state (i.e., the values in ∆U decrease more slowly), becausethe optimal control energy is distributed over the longer period of future time.We can verify this by increasing Nc to 9, while maintaining rw = 10. The resultshows that the magnitude of the elements in ∆U is reducing, but they aresignificant for the first 8 elements:

∆UT =!

0.1227 0.0993 0.0790 0.0614 0.0463 0.0334 0.0227 0.0139 0.0072"

.

In comparison with the case where Nc = 4, we note that when Nc = 9, thefirst four parameters in ∆U are slightly different from the previous case.

Example 1.3. There is an alternative way to find the minimum of the costfunction via completing the squares. This is an intuitive approach, also theminimum of the cost function becomes a by-product of the approach.Find the optimal solution for ∆U by completing the squares of the cost func-tion J (1.14).

note r_w = 0 system converges to set-point hence 0 \del Ur_w=10 system doesn’t converge to set-point but input change is restricted “control energy distributed over longer period of future time”r_w=10 and Nc = 9 control horizon can also add caution by distributing control input level over more steps

Page 34: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Closed-­‐Loop  Control  System  (Example:  Tuning  Parameters)

10 1 Discrete-time MPC for Beginners

with the assumption that (ΦT Φ + R)−1 exists. The matrix (ΦT Φ + R)−1 iscalled the Hessian matrix in the optimization literature. Note that Rs is adata vector that contains the set-point information expressed as

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T r(ki) = Rsr(ki),

where

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T .

The optimal solution of the control signal is linked to the set-point signal r(ki)and the state variable x(ki) via the following equation:

∆U = (ΦT Φ + R)−1ΦT (Rsr(ki) − Fx(ki)). (1.17)

Example 1.2. Suppose that a first-order system is described by the state equa-tion:

xm(k + 1) = axm(k) + bu(k)

y(k) = xm(k), (1.18)

where a = 0.8 and b = 0.1 are scalars. Find the augmented state-space model.Assuming a prediction horizon Np = 10 and control horizon Nc = 4, calcu-late the components that form the prediction of future output Y , and thequantities ΦT Φ, ΦT F and ΦT Rs. Assuming that at a time ki (ki = 10 forthis example), r(ki) = 1 and the state vector x(ki) = [0.1 0.2]T , find theoptimal solution ∆U with respect to the cases where rw = 0 and rw = 10,and compare the results.

Solution. The augmented state-space equation is[

∆xm(k + 1)y(k + 1)

]

=

[

a 0a 1

] [

∆xm(k)y(k)

]

+

[

bb

]

∆u(k)

y(k) =[

0 1][

∆xm(k)y(k)

]

. (1.19)

Based on (1.12), the F and Φ matrices take the following forms:

F =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CACA2

CA3

CA4

CA5

CA6

CA7

CA8

CA9

CA10

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CB 0 0 0CAB CB 0 0CA2B CAB CB 0CA3B CA2B CAB CBCA4B CA3B CA2B CABCA5B CA4B CA3B CA2BCA6B CA5B CA4B CA3BCA7B CA6B CA5B CA4BCA8B CA7B CA6B CA5BCA9B CA8B CA7B CA6B

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

.

10 1 Discrete-time MPC for Beginners

with the assumption that (ΦT Φ + R)−1 exists. The matrix (ΦT Φ + R)−1 iscalled the Hessian matrix in the optimization literature. Note that Rs is adata vector that contains the set-point information expressed as

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T r(ki) = Rsr(ki),

where

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T .

The optimal solution of the control signal is linked to the set-point signal r(ki)and the state variable x(ki) via the following equation:

∆U = (ΦT Φ + R)−1ΦT (Rsr(ki) − Fx(ki)). (1.17)

Example 1.2. Suppose that a first-order system is described by the state equa-tion:

xm(k + 1) = axm(k) + bu(k)

y(k) = xm(k), (1.18)

where a = 0.8 and b = 0.1 are scalars. Find the augmented state-space model.Assuming a prediction horizon Np = 10 and control horizon Nc = 4, calcu-late the components that form the prediction of future output Y , and thequantities ΦT Φ, ΦT F and ΦT Rs. Assuming that at a time ki (ki = 10 forthis example), r(ki) = 1 and the state vector x(ki) = [0.1 0.2]T , find theoptimal solution ∆U with respect to the cases where rw = 0 and rw = 10,and compare the results.

Solution. The augmented state-space equation is[

∆xm(k + 1)y(k + 1)

]

=

[

a 0a 1

] [

∆xm(k)y(k)

]

+

[

bb

]

∆u(k)

y(k) =[

0 1][

∆xm(k)y(k)

]

. (1.19)

Based on (1.12), the F and Φ matrices take the following forms:

F =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CACA2

CA3

CA4

CA5

CA6

CA7

CA8

CA9

CA10

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CB 0 0 0CAB CB 0 0CA2B CAB CB 0CA3B CA2B CAB CBCA4B CA3B CA2B CABCA5B CA4B CA3B CA2BCA6B CA5B CA4B CA3BCA7B CA6B CA5B CA4BCA8B CA7B CA6B CA5BCA9B CA8B CA7B CA6B

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

.

10 1 Discrete-time MPC for Beginners

with the assumption that (ΦT Φ + R)−1 exists. The matrix (ΦT Φ + R)−1 iscalled the Hessian matrix in the optimization literature. Note that Rs is adata vector that contains the set-point information expressed as

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T r(ki) = Rsr(ki),

where

Rs =

Np

︷ ︸︸ ︷

[1 1 1 . . . 1]T .

The optimal solution of the control signal is linked to the set-point signal r(ki)and the state variable x(ki) via the following equation:

∆U = (ΦT Φ + R)−1ΦT (Rsr(ki) − Fx(ki)). (1.17)

Example 1.2. Suppose that a first-order system is described by the state equa-tion:

xm(k + 1) = axm(k) + bu(k)

y(k) = xm(k), (1.18)

where a = 0.8 and b = 0.1 are scalars. Find the augmented state-space model.Assuming a prediction horizon Np = 10 and control horizon Nc = 4, calcu-late the components that form the prediction of future output Y , and thequantities ΦT Φ, ΦT F and ΦT Rs. Assuming that at a time ki (ki = 10 forthis example), r(ki) = 1 and the state vector x(ki) = [0.1 0.2]T , find theoptimal solution ∆U with respect to the cases where rw = 0 and rw = 10,and compare the results.

Solution. The augmented state-space equation is[

∆xm(k + 1)y(k + 1)

]

=

[

a 0a 1

] [

∆xm(k)y(k)

]

+

[

bb

]

∆u(k)

y(k) =[

0 1][

∆xm(k)y(k)

]

. (1.19)

Based on (1.12), the F and Φ matrices take the following forms:

F =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CACA2

CA3

CA4

CA5

CA6

CA7

CA8

CA9

CA10

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

; Φ =

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

CB 0 0 0CAB CB 0 0CA2B CAB CB 0CA3B CA2B CAB CBCA4B CA3B CA2B CABCA5B CA4B CA3B CA2BCA6B CA5B CA4B CA3BCA7B CA6B CA5B CA4BCA8B CA7B CA6B CA5BCA9B CA8B CA7B CA6B

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

.

1.3 Predictive Control within One Optimization Window 11

The coefficients in the F and Φ matrices are calculated as follows:

CA =[

s1 1]

CA2 =[

s2 1]

CA3 =[

s3 1]

...

CAk =[

sk 1]

, (1.20)

where s1 = a, s2 = a2 + s1, . . ., sk = ak + sk−1, and

CB = g0 = b

CAB = g1 = ab + g0

CA2B = g2 = a2b + g1

...

CAk−1B = gk−1 = ak−1b + gk−2

CAkB = gk = akb + gk−1. (1.21)

With the plant parameters a = 0.8 and b = 0.1, Np = 10 and Nc = 4, wecalculate the quantities

ΦT Φ =

⎢⎢⎣

1.1541 1.0407 0.9116 0.77261.0407 0.9549 0.8475 0.72590.9116 0.8475 0.7675 0.66740.7726 0.7259 0.6674 0.5943

⎥⎥⎦

ΦT F =

⎢⎢⎣

9.2325 3.21478.3259 2.76847.2927 2.33556.1811 1.9194

⎥⎥⎦

; ΦT Rs =

⎢⎢⎣

3.21472.76842.33551.9194

⎥⎥⎦

.

Note that the vector ΦT Rs is identical to the last column in the matrix ΦT F .This is because the last column of F matrix is identical to Rs.

At time ki = 10, the state vector x(ki) = [0.1 0.2]T . In the first case, theerror between predicted Y and Rs is reduced without any consideration tothe magnitude of control changes. Namely, rw = 0. Then, the optimal ∆U isfound through the calculation

∆U = (ΦT Φ)−1(ΦT Rs − ΦT Fx(ki)) =[

7.2 −6.4 0 0]T

.

We note that without weighting on the incremental control, the last two ele-ments ∆u(ki +2) = 0 and ∆u(ki +3) = 0, while the first two elements have arather large magnitude. Figure 1.1a shows the changes of the state variableswhere we can see that the predicted output y has reached the desired set-point

Given:

12 1 Discrete-time MPC for Beginners

10 12 14 16 18 20Ŧ0.2

0

0.2

0.4

0.6

0.8

1

1.2

Sampling Instant

Res

pons

e

12

(a) State variables with no weight on∆u

10 12 14 16 18 200

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

Sampling Instant

Res

pons

e

12

(b) State variables with weight on ∆u

Fig. 1.1. Comparison of optimal solutions. Key: line (1) ∆xm; line (2) y

1 while the ∆xm decays to zero. To examine the effect of the weight rw onthe optimal solution of the control, we let rw = 10. The optimal solution of∆U is given below, where I is a 4 × 4 identity matrix,

∆U = (ΦT Φ + 10 × I)−1(ΦT Rs − ΦT Fx(ki)) (1.22)

=!

0.1269 0.1034 0.0829 0.065"T

.

With this choice, the magnitude of the first two control increments is signifi-cantly reduced, also the last two components are no longer zero. Figure 1.1bshows the optimal state variables. It is seen that the output y did not reachthe set-point value of 1, however, the ∆xm approaches zero.

An observation follows from the comparison study. It seems that if we wantthe control to move cautiously, then it takes longer for the control signal toreach its steady state (i.e., the values in ∆U decrease more slowly), becausethe optimal control energy is distributed over the longer period of future time.We can verify this by increasing Nc to 9, while maintaining rw = 10. The resultshows that the magnitude of the elements in ∆U is reducing, but they aresignificant for the first 8 elements:

∆UT =!

0.1227 0.0993 0.0790 0.0614 0.0463 0.0334 0.0227 0.0139 0.0072"

.

In comparison with the case where Nc = 4, we note that when Nc = 9, thefirst four parameters in ∆U are slightly different from the previous case.

Example 1.3. There is an alternative way to find the minimum of the costfunction via completing the squares. This is an intuitive approach, also theminimum of the cost function becomes a by-product of the approach.Find the optimal solution for ∆U by completing the squares of the cost func-tion J (1.14).

Tuning  (No  Input  RestricCons):

Tuning  (Restrict  Control  Input):

1.4 Receding Horizon Control 17

(ΦT Φ + R)−1ΦT F.

Equation (1.29) is in a standard form of linear time-invariant state feedbackcontrol. The state feedback control gain vector is Kmpc. Therefore, with theaugmented design model

x(k + 1) = Ax(k) + B∆u(k)

the closed-loop system is obtained by substituting (1.29) into the augmentedsystem equation; changing index ki to k, leading to the closed-loop equation

x(k + 1) = Ax(k) − BKmpcx(k) + BKyr(k) (1.30)

= (A − BKmpc)x(k) + BKyr(k). (1.31)

Thus, the closed-loop eigenvalues can be evaluated through the closed-loopcharacteristic equation:

det[λI − (A − BKmpc)] = 0.

Because of the special structures of the matrices C and A, the last column of Fis identical to Rs, which is [1 1 . . . , 1]T , therefore Ky is identical to the last ele-ment of Kmpc. Noting that the state variable vector x(ki) = [∆xm(k)T y(k)]T ,and with the definition of Ky, we can write Kmpc = [Kx Ky], where Kx corre-sponds to the feedback gain vector related to ∆xm(k), and Ky corresponds tothe feedback gain related to y(k). Then, we obtain the closed-loop block dia-gram for the predictive control system as in Figure 1.3 where q−1 denotes thebackward shift operator. The diagram shows the state feedback structure forthe discrete model prediction control (DMPC) with integral action in whichthe module 1

1−q−1 denotes the discrete-time integrator.

Example 1.5. This example will examine the closed-loop feedback gain matri-ces generated from Example 1.2 and the eigenvalues of the closed-loop systemwith weight rw = 0 and rw = 10.

Solution. When the weight rw = 0, we have

Ky =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT

⎢⎢⎢⎣

11...1

⎥⎥⎥⎦) = 10

Kmpc =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT F ) =[

8 10]

.

Hence, the eigenvalues of the closed-loop system are calculated by evaluatingthe eigenvalues of the closed-loop matrix A − BKmpc, where, from Example1.2

A =

[

0.8 00.8 1

]

; B =

[

0.10.1

]

.

1.4 Receding Horizon Control 17

(ΦT Φ + R)−1ΦT F.

Equation (1.29) is in a standard form of linear time-invariant state feedbackcontrol. The state feedback control gain vector is Kmpc. Therefore, with theaugmented design model

x(k + 1) = Ax(k) + B∆u(k)

the closed-loop system is obtained by substituting (1.29) into the augmentedsystem equation; changing index ki to k, leading to the closed-loop equation

x(k + 1) = Ax(k) − BKmpcx(k) + BKyr(k) (1.30)

= (A − BKmpc)x(k) + BKyr(k). (1.31)

Thus, the closed-loop eigenvalues can be evaluated through the closed-loopcharacteristic equation:

det[λI − (A − BKmpc)] = 0.

Because of the special structures of the matrices C and A, the last column of Fis identical to Rs, which is [1 1 . . . , 1]T , therefore Ky is identical to the last ele-ment of Kmpc. Noting that the state variable vector x(ki) = [∆xm(k)T y(k)]T ,and with the definition of Ky, we can write Kmpc = [Kx Ky], where Kx corre-sponds to the feedback gain vector related to ∆xm(k), and Ky corresponds tothe feedback gain related to y(k). Then, we obtain the closed-loop block dia-gram for the predictive control system as in Figure 1.3 where q−1 denotes thebackward shift operator. The diagram shows the state feedback structure forthe discrete model prediction control (DMPC) with integral action in whichthe module 1

1−q−1 denotes the discrete-time integrator.

Example 1.5. This example will examine the closed-loop feedback gain matri-ces generated from Example 1.2 and the eigenvalues of the closed-loop systemwith weight rw = 0 and rw = 10.

Solution. When the weight rw = 0, we have

Ky =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT

⎢⎢⎢⎣

11...1

⎥⎥⎥⎦) = 10

Kmpc =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT F ) =[

8 10]

.

Hence, the eigenvalues of the closed-loop system are calculated by evaluatingthe eigenvalues of the closed-loop matrix A − BKmpc, where, from Example1.2

A =

[

0.8 00.8 1

]

; B =

[

0.10.1

]

.

1.4 Receding Horizon Control 17

(ΦT Φ + R)−1ΦT F.

Equation (1.29) is in a standard form of linear time-invariant state feedbackcontrol. The state feedback control gain vector is Kmpc. Therefore, with theaugmented design model

x(k + 1) = Ax(k) + B∆u(k)

the closed-loop system is obtained by substituting (1.29) into the augmentedsystem equation; changing index ki to k, leading to the closed-loop equation

x(k + 1) = Ax(k) − BKmpcx(k) + BKyr(k) (1.30)

= (A − BKmpc)x(k) + BKyr(k). (1.31)

Thus, the closed-loop eigenvalues can be evaluated through the closed-loopcharacteristic equation:

det[λI − (A − BKmpc)] = 0.

Because of the special structures of the matrices C and A, the last column of Fis identical to Rs, which is [1 1 . . . , 1]T , therefore Ky is identical to the last ele-ment of Kmpc. Noting that the state variable vector x(ki) = [∆xm(k)T y(k)]T ,and with the definition of Ky, we can write Kmpc = [Kx Ky], where Kx corre-sponds to the feedback gain vector related to ∆xm(k), and Ky corresponds tothe feedback gain related to y(k). Then, we obtain the closed-loop block dia-gram for the predictive control system as in Figure 1.3 where q−1 denotes thebackward shift operator. The diagram shows the state feedback structure forthe discrete model prediction control (DMPC) with integral action in whichthe module 1

1−q−1 denotes the discrete-time integrator.

Example 1.5. This example will examine the closed-loop feedback gain matri-ces generated from Example 1.2 and the eigenvalues of the closed-loop systemwith weight rw = 0 and rw = 10.

Solution. When the weight rw = 0, we have

Ky =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT

⎢⎢⎢⎣

11...1

⎥⎥⎥⎦) = 10

Kmpc =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT F ) =[

8 10]

.

Hence, the eigenvalues of the closed-loop system are calculated by evaluatingthe eigenvalues of the closed-loop matrix A − BKmpc, where, from Example1.2

A =

[

0.8 00.8 1

]

; B =

[

0.10.1

]

.

18 1 Discrete-time MPC for Beginners

✲ Bm✲

✒✑✓✏+

+

xm(k + 1)✲ q−1

xm(k)✲ Cm

y(k)✲

✛Am

1 − q−1

✛−Kx✛

✒✑✓✏

+

+

∆u(k)

u(k)❄

✒✑✓✏

+

−r

−Ky

11−q−1

Fig. 1.3. Block diagram of discrete-time predictive control system

They are λ1 = −6.409 × 10−7 and λ2 = 6.409 × 10−7, approximately on theorigin of the complex plane.

When the weight rw = 10, we have

Ky =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT

⎢⎢⎢⎣

11...1

⎥⎥⎥⎦) = 0.2453

Kmpc =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT F ) =[

0.6939 0.2453]

.

With this gain vector, the eigenvalues of the closed-loop system are λ1,2 =0.8530± j0.0542, indicating that the dynamics of the closed-loop system havea much slower response than the one in the case when rw = 0.

Example 1.6. Suppose that a continuous-time system is described by theLaplace transfer function

G(s) =ω2

s2 + 0.1ωs + ω2,

where ω = 10. This system is discretized using a sampling interval ∆t = 0.01.Examine sensitivity issues in the selection of design parameters with Nc = 3,Np = 20 and 200; R = 0.5I.

Solution. We first use the MATLAB function script, given below, to obtainthe continuous-time state-space model, then by following Tutorial 1.1 obtainthe discrete-time state-space model.

18 1 Discrete-time MPC for Beginners

✲ Bm✲

✒✑✓✏+

+

xm(k + 1)✲ q−1

xm(k)✲ Cm

y(k)✲

✛Am

1 − q−1

✛−Kx✛

✒✑✓✏

+

+

∆u(k)

u(k)❄

✒✑✓✏

+

−r

−Ky

11−q−1

Fig. 1.3. Block diagram of discrete-time predictive control system

They are λ1 = −6.409 × 10−7 and λ2 = 6.409 × 10−7, approximately on theorigin of the complex plane.

When the weight rw = 10, we have

Ky =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT

⎢⎢⎢⎣

11...1

⎥⎥⎥⎦) = 0.2453

Kmpc =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT F ) =[

0.6939 0.2453]

.

With this gain vector, the eigenvalues of the closed-loop system are λ1,2 =0.8530± j0.0542, indicating that the dynamics of the closed-loop system havea much slower response than the one in the case when rw = 0.

Example 1.6. Suppose that a continuous-time system is described by theLaplace transfer function

G(s) =ω2

s2 + 0.1ωs + ω2,

where ω = 10. This system is discretized using a sampling interval ∆t = 0.01.Examine sensitivity issues in the selection of design parameters with Nc = 3,Np = 20 and 200; R = 0.5I.

Solution. We first use the MATLAB function script, given below, to obtainthe continuous-time state-space model, then by following Tutorial 1.1 obtainthe discrete-time state-space model.

1.4 Receding Horizon Control 17

(ΦT Φ + R)−1ΦT F.

Equation (1.29) is in a standard form of linear time-invariant state feedbackcontrol. The state feedback control gain vector is Kmpc. Therefore, with theaugmented design model

x(k + 1) = Ax(k) + B∆u(k)

the closed-loop system is obtained by substituting (1.29) into the augmentedsystem equation; changing index ki to k, leading to the closed-loop equation

x(k + 1) = Ax(k) − BKmpcx(k) + BKyr(k) (1.30)

= (A − BKmpc)x(k) + BKyr(k). (1.31)

Thus, the closed-loop eigenvalues can be evaluated through the closed-loopcharacteristic equation:

det[λI − (A − BKmpc)] = 0.

Because of the special structures of the matrices C and A, the last column of Fis identical to Rs, which is [1 1 . . . , 1]T , therefore Ky is identical to the last ele-ment of Kmpc. Noting that the state variable vector x(ki) = [∆xm(k)T y(k)]T ,and with the definition of Ky, we can write Kmpc = [Kx Ky], where Kx corre-sponds to the feedback gain vector related to ∆xm(k), and Ky corresponds tothe feedback gain related to y(k). Then, we obtain the closed-loop block dia-gram for the predictive control system as in Figure 1.3 where q−1 denotes thebackward shift operator. The diagram shows the state feedback structure forthe discrete model prediction control (DMPC) with integral action in whichthe module 1

1−q−1 denotes the discrete-time integrator.

Example 1.5. This example will examine the closed-loop feedback gain matri-ces generated from Example 1.2 and the eigenvalues of the closed-loop systemwith weight rw = 0 and rw = 10.

Solution. When the weight rw = 0, we have

Ky =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT

⎢⎢⎢⎣

11...1

⎥⎥⎥⎦) = 10

Kmpc =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT F ) =[

8 10]

.

Hence, the eigenvalues of the closed-loop system are calculated by evaluatingthe eigenvalues of the closed-loop matrix A − BKmpc, where, from Example1.2

A =

[

0.8 00.8 1

]

; B =

[

0.10.1

]

.

18 1 Discrete-time MPC for Beginners

✲ Bm✲

✒✑✓✏+

+

xm(k + 1)✲ q−1

xm(k)✲ Cm

y(k)✲

✛Am

1 − q−1

✛−Kx✛

✒✑✓✏

+

+

∆u(k)

u(k)❄

✒✑✓✏

+

−r

−Ky

11−q−1

Fig. 1.3. Block diagram of discrete-time predictive control system

They are λ1 = −6.409 × 10−7 and λ2 = 6.409 × 10−7, approximately on theorigin of the complex plane.

When the weight rw = 10, we have

Ky =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT

⎢⎢⎢⎣

11...1

⎥⎥⎥⎦) = 0.2453

Kmpc =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT F ) =[

0.6939 0.2453]

.

With this gain vector, the eigenvalues of the closed-loop system are λ1,2 =0.8530± j0.0542, indicating that the dynamics of the closed-loop system havea much slower response than the one in the case when rw = 0.

Example 1.6. Suppose that a continuous-time system is described by theLaplace transfer function

G(s) =ω2

s2 + 0.1ωs + ω2,

where ω = 10. This system is discretized using a sampling interval ∆t = 0.01.Examine sensitivity issues in the selection of design parameters with Nc = 3,Np = 20 and 200; R = 0.5I.

Solution. We first use the MATLAB function script, given below, to obtainthe continuous-time state-space model, then by following Tutorial 1.1 obtainthe discrete-time state-space model.

18 1 Discrete-time MPC for Beginners

✲ Bm✲

✒✑✓✏+

+

xm(k + 1)✲ q−1

xm(k)✲ Cm

y(k)✲

✛Am

1 − q−1

✛−Kx✛

✒✑✓✏

+

+

∆u(k)

u(k)❄

✒✑✓✏

+

−r

−Ky

11−q−1

Fig. 1.3. Block diagram of discrete-time predictive control system

They are λ1 = −6.409 × 10−7 and λ2 = 6.409 × 10−7, approximately on theorigin of the complex plane.

When the weight rw = 10, we have

Ky =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT

⎢⎢⎢⎣

11...1

⎥⎥⎥⎦) = 0.2453

Kmpc =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT F ) =[

0.6939 0.2453]

.

With this gain vector, the eigenvalues of the closed-loop system are λ1,2 =0.8530± j0.0542, indicating that the dynamics of the closed-loop system havea much slower response than the one in the case when rw = 0.

Example 1.6. Suppose that a continuous-time system is described by theLaplace transfer function

G(s) =ω2

s2 + 0.1ωs + ω2,

where ω = 10. This system is discretized using a sampling interval ∆t = 0.01.Examine sensitivity issues in the selection of design parameters with Nc = 3,Np = 20 and 200; R = 0.5I.

Solution. We first use the MATLAB function script, given below, to obtainthe continuous-time state-space model, then by following Tutorial 1.1 obtainthe discrete-time state-space model.

18 1 Discrete-time MPC for Beginners

✲ Bm✲

✒✑✓✏+

+

xm(k + 1)✲ q−1

xm(k)✲ Cm

y(k)✲

✛Am

1 − q−1

✛−Kx✛

✒✑✓✏

+

+

∆u(k)

u(k)❄

✒✑✓✏

+

−r

−Ky

11−q−1

Fig. 1.3. Block diagram of discrete-time predictive control system

They are λ1 = −6.409 × 10−7 and λ2 = 6.409 × 10−7, approximately on theorigin of the complex plane.

When the weight rw = 10, we have

Ky =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT

⎢⎢⎢⎣

11...1

⎥⎥⎥⎦) = 0.2453

Kmpc =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT F ) =[

0.6939 0.2453]

.

With this gain vector, the eigenvalues of the closed-loop system are λ1,2 =0.8530± j0.0542, indicating that the dynamics of the closed-loop system havea much slower response than the one in the case when rw = 0.

Example 1.6. Suppose that a continuous-time system is described by theLaplace transfer function

G(s) =ω2

s2 + 0.1ωs + ω2,

where ω = 10. This system is discretized using a sampling interval ∆t = 0.01.Examine sensitivity issues in the selection of design parameters with Nc = 3,Np = 20 and 200; R = 0.5I.

Solution. We first use the MATLAB function script, given below, to obtainthe continuous-time state-space model, then by following Tutorial 1.1 obtainthe discrete-time state-space model.

18 1 Discrete-time MPC for Beginners

✲ Bm✲

✒✑✓✏+

+

xm(k + 1)✲ q−1

xm(k)✲ Cm

y(k)✲

✛Am

1 − q−1

✛−Kx✛

✒✑✓✏

+

+

∆u(k)

u(k)❄

✒✑✓✏

+

−r

−Ky

11−q−1

Fig. 1.3. Block diagram of discrete-time predictive control system

They are λ1 = −6.409 × 10−7 and λ2 = 6.409 × 10−7, approximately on theorigin of the complex plane.

When the weight rw = 10, we have

Ky =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT

⎢⎢⎢⎣

11...1

⎥⎥⎥⎦) = 0.2453

Kmpc =[

1 0 0 0]

(ΦT Φ + R)−1(ΦT F ) =[

0.6939 0.2453]

.

With this gain vector, the eigenvalues of the closed-loop system are λ1,2 =0.8530± j0.0542, indicating that the dynamics of the closed-loop system havea much slower response than the one in the case when rw = 0.

Example 1.6. Suppose that a continuous-time system is described by theLaplace transfer function

G(s) =ω2

s2 + 0.1ωs + ω2,

where ω = 10. This system is discretized using a sampling interval ∆t = 0.01.Examine sensitivity issues in the selection of design parameters with Nc = 3,Np = 20 and 200; R = 0.5I.

Solution. We first use the MATLAB function script, given below, to obtainthe continuous-time state-space model, then by following Tutorial 1.1 obtainthe discrete-time state-space model.

1.4 Receding Horizon Control 15

1.4 Receding Horizon Control

Although the optimal parameter vector ∆U contains the controls ∆u(ki),∆u(ki +1), ∆u(ki +2), . . ., ∆u(ki +Nc−1), with the receding horizon controlprinciple, we only implement the first sample of this sequence, i.e., ∆u(ki),while ignoring the rest of the sequence. When the next sample period arrives,the more recent measurement is taken to form the state vector x(ki + 1) forcalculation of the new sequence of control signal. This procedure is repeatedin real time to give the receding horizon control law.

Example 1.4. We illustrate this procedure by continuing Example 1.2, wherea first-order system with the state-space description

xm(k + 1) = 0.8xm(k) + 0.1u(k)

is used in the computation. We will consider the case rw = 0. The initialconditions are x(10) = [0.1 0.2]T and u(9) = 0.

Solution. At sample time ki = 10, the optimal control was previously com-puted as ∆u(10) = 7.2. Assuming that u(9) = 0, then the control signal tothe plant is u(10) = u(9) + ∆u(10) = 7.2 and with xm(10) = y(10) = 0.2, wecalculate the next simulated plant state variable

xm(11) = 0.8xm(10) + 0.1u(10) = 0.88. (1.26)

At ki = 11, the new plant information is ∆xm(11) = 0.88 − 0.2 = 0.68 and

y(11) = 0.88, which forms x(11) =!

0.68 0.88"T

. Then we obtain

∆U = (ΦT Φ)−1(ΦT Rs − ΦT Fx(11)) =!

−4.24 −0.96 0.0000 0.0000"T

.

This leads to the optimal control u(11) = u(10) + ∆u(11) = 2.96. This newcontrol is implemented to obtain

xm(12) = 0.8xm(11) + 0.1u(11) = 1. (1.27)

At ki = 12, the new plant information is ∆xm(12) = 1 − 0.88 = 0.12 andy(12) = 1, which forms x(12) =

!

0.12 1"

. We obtain

∆U = (ΦT Φ)−1(ΦT Rs − ΦT Fx(11)) =!

−0.96 0.000 0.0000 0.0000"T

.

This leads to the control at ki = 12 as u(12) = u(11) − 0.96 = 2. By imple-menting this control, we obtain the next plant output as

xm(13) = axm(12) + bu(12) = 1. (1.28)

The new plant information is ∆xm(13) = 1 − 1 = 0 and y(13) = 1. From thisinformation, we obtain

Augmented  System: Calculate  Eigenvalues

note r_w = 0 eigenvalues aprox. on the origin of complex planer_w = 10 indicates dynamics of closed loop system is much slower.

Page 35: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Numerical  Instability

• Embedded  integrator(s)  result  in  at  least  one  eigenvalue  on  the  unit  circle.    

• As  predicCon  horizon  Np becomes  large  numerical  instability  occurs    

• Stability  cannot  be  guaranteed  with  small  predicCon  Np and  control  horizon  Nc parameters    

• Stability  can  be  checked  

– Np and  Nc become  tuning  parameters  

– modificaCons  can  overcome  issues  and  stability  can  be  guaranteed  (Ch.  4)  

Page 36: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

• Effect  of  r_w  on  output  response?  

• Effect  of  r_w  on  control  input?  

• Look  at  r_w  =  0.1  vs  r_w  =  2

Example

20 1 Discrete-time MPC for Beginners

prediction horizon results in the numerical sensitivity that causes the signifi-cant difference between the short and long prediction horizon cases.

With short prediction and control horizons, the closed-loop predictive con-trol system is not necessarily stable. Traditionally, these are the tuning para-meters for closed-loop stability and performance. In Chapter 4, we will proposean approach that uses large prediction and control horizons so as to guaranteeclosed-loop stability.

1.4.2 MATLAB Tutorial: Implementationof Receding Horizon Control

Tutorial 1.3. The objective of this tutorial is to learn how to implement apredictive control system using receding horizon control. The plant state-spacemodel is given by

xm(k + 1) =

!

1 10 1

"

xm(k) +

!

0.51

"

u(k)

y(k) =#

1 0$

xm(k). (1.32)

Step by Step

1. Create a new file called reced.m2. The first step is to define the plant, enter the values of prediction horizon

and control horizon. The plant is the double integrator system (1.32). Con-trol horizon is selected to be Nc = 4 and prediction horizon is Np = 20.Enter the following program into the file:

Ap=[1 1;0 1];Bp=[0.5;1];Cp=[1 0];Dp=0;Np=20;Nc=4;

3. The program calls the function mpcgain.m to generate the necessary gainmatrices and specifies the initial conditions for implementation of recedinghorizon control. The initial state variable for the plant is xm=0; and theinitial state feedback variable is Xf=0; set-point signal is specified and thenumber of simulation points is specified as 100.

4. Continue entering the following program into the file:

[Phi_Phi,Phi_F,Phi_R,A_e, B_e,C_e]= mpcgain(Ap,Bp,Cp,Nc,Np);

[n,n_in]=size(B_e);xm=[0;0];Xf=zeros(n,1);N_sim=100;

20 1 Discrete-time MPC for Beginners

prediction horizon results in the numerical sensitivity that causes the signifi-cant difference between the short and long prediction horizon cases.

With short prediction and control horizons, the closed-loop predictive con-trol system is not necessarily stable. Traditionally, these are the tuning para-meters for closed-loop stability and performance. In Chapter 4, we will proposean approach that uses large prediction and control horizons so as to guaranteeclosed-loop stability.

1.4.2 MATLAB Tutorial: Implementationof Receding Horizon Control

Tutorial 1.3. The objective of this tutorial is to learn how to implement apredictive control system using receding horizon control. The plant state-spacemodel is given by

xm(k + 1) =

!

1 10 1

"

xm(k) +

!

0.51

"

u(k)

y(k) =#

1 0$

xm(k). (1.32)

Step by Step

1. Create a new file called reced.m2. The first step is to define the plant, enter the values of prediction horizon

and control horizon. The plant is the double integrator system (1.32). Con-trol horizon is selected to be Nc = 4 and prediction horizon is Np = 20.Enter the following program into the file:

Ap=[1 1;0 1];Bp=[0.5;1];Cp=[1 0];Dp=0;Np=20;Nc=4;

3. The program calls the function mpcgain.m to generate the necessary gainmatrices and specifies the initial conditions for implementation of recedinghorizon control. The initial state variable for the plant is xm=0; and theinitial state feedback variable is Xf=0; set-point signal is specified and thenumber of simulation points is specified as 100.

4. Continue entering the following program into the file:

[Phi_Phi,Phi_F,Phi_R,A_e, B_e,C_e]= mpcgain(Ap,Bp,Cp,Nc,Np);

[n,n_in]=size(B_e);xm=[0;0];Xf=zeros(n,1);N_sim=100;

20 1 Discrete-time MPC for Beginners

prediction horizon results in the numerical sensitivity that causes the signifi-cant difference between the short and long prediction horizon cases.

With short prediction and control horizons, the closed-loop predictive con-trol system is not necessarily stable. Traditionally, these are the tuning para-meters for closed-loop stability and performance. In Chapter 4, we will proposean approach that uses large prediction and control horizons so as to guaranteeclosed-loop stability.

1.4.2 MATLAB Tutorial: Implementationof Receding Horizon Control

Tutorial 1.3. The objective of this tutorial is to learn how to implement apredictive control system using receding horizon control. The plant state-spacemodel is given by

xm(k + 1) =

!

1 10 1

"

xm(k) +

!

0.51

"

u(k)

y(k) =#

1 0$

xm(k). (1.32)

Step by Step

1. Create a new file called reced.m2. The first step is to define the plant, enter the values of prediction horizon

and control horizon. The plant is the double integrator system (1.32). Con-trol horizon is selected to be Nc = 4 and prediction horizon is Np = 20.Enter the following program into the file:

Ap=[1 1;0 1];Bp=[0.5;1];Cp=[1 0];Dp=0;Np=20;Nc=4;

3. The program calls the function mpcgain.m to generate the necessary gainmatrices and specifies the initial conditions for implementation of recedinghorizon control. The initial state variable for the plant is xm=0; and theinitial state feedback variable is Xf=0; set-point signal is specified and thenumber of simulation points is specified as 100.

4. Continue entering the following program into the file:

[Phi_Phi,Phi_F,Phi_R,A_e, B_e,C_e]= mpcgain(Ap,Bp,Cp,Nc,Np);

[n,n_in]=size(B_e);xm=[0;0];Xf=zeros(n,1);N_sim=100;

System

Page 37: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

• Response  seeles  at  roughly  5  steps  

• Control  input  between  0.6  and  -­‐0.4

Example  R_w  =  0.1

Page 38: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Example  R_w  =  2

• Response  seeles  at  roughly  8  steps  

• Control  input  between  0.3  and  -­‐0.18

Page 39: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Important  MPC  Topics  to  Cover  in  Future

• OpCmizaCon  and  QuadraCc  Programing  • MPC  and  the  LQR  • Input  Constraints  • Output  constraints  • Laguerre  Basis  FuncCons  and  MPC  • MIMO  MPC  • Stability  and  MPC

Page 40: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Constraints

Convex  OpCmizaCon

Page 41: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Constraints  and  General  Convex  Op.miza.on

• Minimize  the  cost  funcCon

• Subject  to  

• Convex  opCmizaCon  techniques  required:  • Prime-­‐Dual  Method  • Hildreth’s  QuadraCc  Programming  Procedure    

2.4 Numerical Solutions Using Quadratic Programming 53

2.4 Numerical Solutions Using Quadratic Programming

The standard quadratic programming problem has been extensively studiedin the literature (see for example, Luenberger, 1984, Fletcher, 1981, Boydand Vandenberghe, 2004). Since this is a field of study in its own right, itrequires a considerable effort to completely understand the relevant theoryand algorithms. The required numerical solution for MPC is often viewed asan obstacle in the application of MPC. However, what we can do here is tounderstand the essence of quadratic programming so that we can producethe essential computational programs required. The advantage of doing so isthat we can access the code if anything goes wrong; we can also write safety’jacket’ software for real-time applications. These aspects are very importantin an industrial environment. To be consistent with the literatures of quadraticprogramming, the decision variable is denoted by x. The objective function Jand the constraints are expressed as

J =1

2xT Ex + xT F (2.27)

Mx ≤ γ, (2.28)

where E, F , M and γ are compatible matrices and vectors in the quadraticprogramming problem. Without loss of generality, E is assumed to be sym-metric and positive definite.

2.4.1 Quadratic Programming for Equality Constraints

The simplest problem of quadratic programming is to find the constrainedminimum of a positive definite quadratic function with linear equality con-straints. Each linear equality constraint defines a hyperplane. Positive definitequadratic functions have their level surfaces as hyperellipsoids. Intuitively, theconstrained minimum is located at the point of tangency between the bound-ary of the feasible set and the minimizing hyperellipsoid. Further illustrationis given by the following example.

Example 2.4. Minimize

J = (x1 − 2)2 + (x2 − 2)2,

subject tox1 + x2 = 1.

Solution. The global minimum, without constraint, is at

x1 = 2; x2 = 2.

The feasible solutions are the combinations of x1 and x2 that satisfy the linearequality. From the constraint, the feasible solution x2 is expressed as

2.4 Numerical Solutions Using Quadratic Programming 53

2.4 Numerical Solutions Using Quadratic Programming

The standard quadratic programming problem has been extensively studiedin the literature (see for example, Luenberger, 1984, Fletcher, 1981, Boydand Vandenberghe, 2004). Since this is a field of study in its own right, itrequires a considerable effort to completely understand the relevant theoryand algorithms. The required numerical solution for MPC is often viewed asan obstacle in the application of MPC. However, what we can do here is tounderstand the essence of quadratic programming so that we can producethe essential computational programs required. The advantage of doing so isthat we can access the code if anything goes wrong; we can also write safety’jacket’ software for real-time applications. These aspects are very importantin an industrial environment. To be consistent with the literatures of quadraticprogramming, the decision variable is denoted by x. The objective function Jand the constraints are expressed as

J =1

2xT Ex + xT F (2.27)

Mx ≤ γ, (2.28)

where E, F , M and γ are compatible matrices and vectors in the quadraticprogramming problem. Without loss of generality, E is assumed to be sym-metric and positive definite.

2.4.1 Quadratic Programming for Equality Constraints

The simplest problem of quadratic programming is to find the constrainedminimum of a positive definite quadratic function with linear equality con-straints. Each linear equality constraint defines a hyperplane. Positive definitequadratic functions have their level surfaces as hyperellipsoids. Intuitively, theconstrained minimum is located at the point of tangency between the bound-ary of the feasible set and the minimizing hyperellipsoid. Further illustrationis given by the following example.

Example 2.4. Minimize

J = (x1 − 2)2 + (x2 − 2)2,

subject tox1 + x2 = 1.

Solution. The global minimum, without constraint, is at

x1 = 2; x2 = 2.

The feasible solutions are the combinations of x1 and x2 that satisfy the linearequality. From the constraint, the feasible solution x2 is expressed as

Page 42: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Formulate  Constraints

• Constraints  to  insert  into  cost  funcCon

• Become  the  inequaliCes:

• In  matrix  form:

– Note  this  fits  general  constraints  form  

2.3 Formulation of Constrained Control Problems 51

With the limits on the control variables, by subtracting the steady-state valueof the control, as umin = 2 − 4 = −2 and umax = 6 − 4 = 2, the constraintsare expressed as

[

−2−2

]

≤[

11

]

u(ki − 1) +

[

1 0 0 01 1 0 0

]

∆U ≤[

22

]

. (2.14)

Now, since we have expressed the constraints as the inequalities with linear-in-the-parameter ∆U , the next step is to combine the constraints with theoriginal cost function J used in the design of predictive control. As the optimalsolutions will be obtained using quadratic programming, the constraints needto be decomposed into two parts to reflect the lower limit, and the upper limitwith opposite sign. Namely, for instance, the constraints

∆Umin ≤ ∆U ≤ ∆Umax

will be expressed by two inequalities:

−∆U ≤ −∆Umin (2.15)

∆U ≤ ∆Umax. (2.16)

In a matrix form, this becomes[

−II

]

∆U ≤[

−∆Umin

∆Umax

]

. (2.17)

This procedure applies to all the constraints mentioned in this section, includ-ing control and output constraints.

Traditionally, the constraints are imposed for all future sampling instants,and all constraints are expressed in terms of the parameter vector ∆U . In thecase of a manipulated variable constraint, we write:⎡

⎢⎢⎢⎢⎢⎣

u(ki)u(ki + 1)u(ki + 2)

...u(ki + Nc − 1)

⎥⎥⎥⎥⎥⎦

=

⎢⎢⎢⎢⎢⎣

III...I

⎥⎥⎥⎥⎥⎦

u(ki − 1) +

⎢⎢⎢⎢⎢⎣

I 0 0 . . . 0I I 0 . . . 0I I I . . . 0...I I . . . I I

⎥⎥⎥⎥⎥⎦

⎢⎢⎢⎢⎢⎣

∆u(ki)∆u(ki + 1)∆u(ki + 2)

...∆u(ki + Nc − 1)

⎥⎥⎥⎥⎥⎦

.

(2.18)Re-writing (2.18) in a compact matrix form, with C1 and C2 corresponding tothe appropriate matrices, then the constraints for the control movement areimposed as,

−(C1u(ki − 1) + C2∆U) ≤ −Umin (2.19)

(C1u(ki − 1) + C2∆U) ≤ Umax, (2.20)

where Umin and Umax are column vectors with Nc elements of umin andumax, respectively. Similarly, for the increment of the control signal, we havethe constraints:

2.3 Formulation of Constrained Control Problems 51

With the limits on the control variables, by subtracting the steady-state valueof the control, as umin = 2 − 4 = −2 and umax = 6 − 4 = 2, the constraintsare expressed as

[

−2−2

]

≤[

11

]

u(ki − 1) +

[

1 0 0 01 1 0 0

]

∆U ≤[

22

]

. (2.14)

Now, since we have expressed the constraints as the inequalities with linear-in-the-parameter ∆U , the next step is to combine the constraints with theoriginal cost function J used in the design of predictive control. As the optimalsolutions will be obtained using quadratic programming, the constraints needto be decomposed into two parts to reflect the lower limit, and the upper limitwith opposite sign. Namely, for instance, the constraints

∆Umin ≤ ∆U ≤ ∆Umax

will be expressed by two inequalities:

−∆U ≤ −∆Umin (2.15)

∆U ≤ ∆Umax. (2.16)

In a matrix form, this becomes[

−II

]

∆U ≤[

−∆Umin

∆Umax

]

. (2.17)

This procedure applies to all the constraints mentioned in this section, includ-ing control and output constraints.

Traditionally, the constraints are imposed for all future sampling instants,and all constraints are expressed in terms of the parameter vector ∆U . In thecase of a manipulated variable constraint, we write:⎡

⎢⎢⎢⎢⎢⎣

u(ki)u(ki + 1)u(ki + 2)

...u(ki + Nc − 1)

⎥⎥⎥⎥⎥⎦

=

⎢⎢⎢⎢⎢⎣

III...I

⎥⎥⎥⎥⎥⎦

u(ki − 1) +

⎢⎢⎢⎢⎢⎣

I 0 0 . . . 0I I 0 . . . 0I I I . . . 0...I I . . . I I

⎥⎥⎥⎥⎥⎦

⎢⎢⎢⎢⎢⎣

∆u(ki)∆u(ki + 1)∆u(ki + 2)

...∆u(ki + Nc − 1)

⎥⎥⎥⎥⎥⎦

.

(2.18)Re-writing (2.18) in a compact matrix form, with C1 and C2 corresponding tothe appropriate matrices, then the constraints for the control movement areimposed as,

−(C1u(ki − 1) + C2∆U) ≤ −Umin (2.19)

(C1u(ki − 1) + C2∆U) ≤ Umax, (2.20)

where Umin and Umax are column vectors with Nc elements of umin andumax, respectively. Similarly, for the increment of the control signal, we havethe constraints:

2.3 Formulation of Constrained Control Problems 51

With the limits on the control variables, by subtracting the steady-state valueof the control, as umin = 2 − 4 = −2 and umax = 6 − 4 = 2, the constraintsare expressed as

[

−2−2

]

≤[

11

]

u(ki − 1) +

[

1 0 0 01 1 0 0

]

∆U ≤[

22

]

. (2.14)

Now, since we have expressed the constraints as the inequalities with linear-in-the-parameter ∆U , the next step is to combine the constraints with theoriginal cost function J used in the design of predictive control. As the optimalsolutions will be obtained using quadratic programming, the constraints needto be decomposed into two parts to reflect the lower limit, and the upper limitwith opposite sign. Namely, for instance, the constraints

∆Umin ≤ ∆U ≤ ∆Umax

will be expressed by two inequalities:

−∆U ≤ −∆Umin (2.15)

∆U ≤ ∆Umax. (2.16)

In a matrix form, this becomes[

−II

]

∆U ≤[

−∆Umin

∆Umax

]

. (2.17)

This procedure applies to all the constraints mentioned in this section, includ-ing control and output constraints.

Traditionally, the constraints are imposed for all future sampling instants,and all constraints are expressed in terms of the parameter vector ∆U . In thecase of a manipulated variable constraint, we write:⎡

⎢⎢⎢⎢⎢⎣

u(ki)u(ki + 1)u(ki + 2)

...u(ki + Nc − 1)

⎥⎥⎥⎥⎥⎦

=

⎢⎢⎢⎢⎢⎣

III...I

⎥⎥⎥⎥⎥⎦

u(ki − 1) +

⎢⎢⎢⎢⎢⎣

I 0 0 . . . 0I I 0 . . . 0I I I . . . 0...I I . . . I I

⎥⎥⎥⎥⎥⎦

⎢⎢⎢⎢⎢⎣

∆u(ki)∆u(ki + 1)∆u(ki + 2)

...∆u(ki + Nc − 1)

⎥⎥⎥⎥⎥⎦

.

(2.18)Re-writing (2.18) in a compact matrix form, with C1 and C2 corresponding tothe appropriate matrices, then the constraints for the control movement areimposed as,

−(C1u(ki − 1) + C2∆U) ≤ −Umin (2.19)

(C1u(ki − 1) + C2∆U) ≤ Umax, (2.20)

where Umin and Umax are column vectors with Nc elements of umin andumax, respectively. Similarly, for the increment of the control signal, we havethe constraints:

2.4 Numerical Solutions Using Quadratic Programming 53

2.4 Numerical Solutions Using Quadratic Programming

The standard quadratic programming problem has been extensively studiedin the literature (see for example, Luenberger, 1984, Fletcher, 1981, Boydand Vandenberghe, 2004). Since this is a field of study in its own right, itrequires a considerable effort to completely understand the relevant theoryand algorithms. The required numerical solution for MPC is often viewed asan obstacle in the application of MPC. However, what we can do here is tounderstand the essence of quadratic programming so that we can producethe essential computational programs required. The advantage of doing so isthat we can access the code if anything goes wrong; we can also write safety’jacket’ software for real-time applications. These aspects are very importantin an industrial environment. To be consistent with the literatures of quadraticprogramming, the decision variable is denoted by x. The objective function Jand the constraints are expressed as

J =1

2xT Ex + xT F (2.27)

Mx ≤ γ, (2.28)

where E, F , M and γ are compatible matrices and vectors in the quadraticprogramming problem. Without loss of generality, E is assumed to be sym-metric and positive definite.

2.4.1 Quadratic Programming for Equality Constraints

The simplest problem of quadratic programming is to find the constrainedminimum of a positive definite quadratic function with linear equality con-straints. Each linear equality constraint defines a hyperplane. Positive definitequadratic functions have their level surfaces as hyperellipsoids. Intuitively, theconstrained minimum is located at the point of tangency between the bound-ary of the feasible set and the minimizing hyperellipsoid. Further illustrationis given by the following example.

Example 2.4. Minimize

J = (x1 − 2)2 + (x2 − 2)2,

subject tox1 + x2 = 1.

Solution. The global minimum, without constraint, is at

x1 = 2; x2 = 2.

The feasible solutions are the combinations of x1 and x2 that satisfy the linearequality. From the constraint, the feasible solution x2 is expressed as

Page 43: 2015-04-20, MPC Lecture - Auburn Universitydmbevly/mech7710/Brown_MPC_Lecture.pdfIn this book, we will use state-space models, both in continuous time and discrete time for simplicity

Thank  You!

QuesCons  ?