PQI 5780 - Chemical Processes Control I: T T T T T T T
PQI 5780 - Chemical Processes Control I: T T T T T T T
(Ogata, K., Modern Control Engineering, Prentice Hall, 4th Ed. 2002)
State:
The state of a dynamic system is a set of variables (called state variables) such that the
knowledge of these variables at t t0 , together with the input for t t0 completely de-
termines the behavior of the system for any time t t0 . When dealing with time invariant
State variables:
The state variables are the variables of the set that defines the state of the system. If at
least n variables x1(t), x2(t), …. , xn(t) are needed to completely describe the behavior of a
dynamic system (such that once the input is given for t t0 and the initial state at t t0 is
specified, the future state of the system is completely determined), then such n variables
are a set of state variables.
State vector:
x(t ) x1 (t ) x2 (t ) xn (t )
T
State-space:
The state space is the n-dimensional space whose coordinates axes consist of the x1 axis, x2
axis, … , xn axis.
1
State-space representation of systems of linear differential equations:
(i )
di y
where y . Then, consider the following set of state variables:
dt i
x1 y 0u
(1) (1) (1)
x2 y 0 u 1u x1 1u
(2) (2) (1) (1)
x3 y 0 u 1 u x2 2u (I.2)
( n 1) ( n 1) ( n 2) (1) (1)
xn y 0 u 1 u n 2 u n 1u xn 1 n 1u
where 0 , 1 ,..., n are determined from
0 b0
1 b1 a1 0
2 b2 a11 a2 0
(I.3)
3 b3 a1 2 a2 1 a3 0
n bn a1 n 1 an 11 an 0
Then, with this choice of state variables, the following state equation and output equation
are obtained:
x1 0 1 0 0 x1 1
x 0 0 1 0 x2 2
2
u
xn 1 0 0 0 1 xn 1 n 1
xn an an 1 an 2 a1 xn n
x1
x
2
y 1 0 0 0 u
xn 1
xn
2
The above system can be represented in the general expression for the linear time invariant
(LTI) system in the state-space form:
x Ax Bu
(I.4)
y Cx Du
Note that the differential equation represented in (I.1) is equivalent to the following trans-
fer function:
Y ( s ) b0 s n b1s n 1 bn 1s bn
U ( s ) s n a1s n 1 an 1s an
We now prove that (I.3) is true for the second order system:
Y ( s ) b0 s 2 b1s b2
(I.5)
U ( s ) s 2 a1s a2
The transfer function defined in (I.5) is equivalent to the following differential equation:
(2) (1) (2) (1)
y a1 y a2 y b0 u b1 u b2u (I.6)
Then, applying (I.3) to this system, we have
x1 y 0u (I.7)
(1) (1) (1)
x2 y 0 u 1u x 1u (I.8)
(1) (2) (2) (1)
x2 y 0 u 1 u (I.9)
3
(1)
x2 a2 x1 a1 x2 2u (I.12)
The state space model corresponds to equations (I.8), (I.12) and (I.7) written as follows
x1 x2 1u
x2 a1 x1 a2 x2 2u
y x1 0u
or in the vector form
x1 0 1 x1 1
x a a x u
2 2 1 2 2
x
y 1 0 1 0u
x2
Example I.1:
Y ( s) s 5.815
2
U ( s ) s 1.761s 35.89
Then, a1 1.761; a2 35.89; b0 0; b1 1; b2 5.815 . Consequently
0 b0 0
1 b1 a1 0 1 0 1
2 b2 a11 a2 0 5.815 1.7611 0 7.676
and, the state space model becomes
x1 0 1 x1 1
x 35.89 1.761 x 7.576 u
2 2
x
y 1 0 1
x2
Remark: Similar results can be obtained with Matlab function tf2ss
of the system:
NUM(s)
H(s) = --------
DEN(s)
4
Solution of the state-space model
x Ax Bu (I.13)
given x(0) and u (t )
1 1
x(t ) I At A2t 2 Ak t k x(0)
2! k!
1 1
Then, if we define e At I At A2t 2 Ak t k the solution to the homoge-
2! k!
neous equation can be written as
x(t ) e At x(0)
In the non-homogeneous case, model (I.13) can be written as
x Ax Bu
and, if we multiply both sides of the above equation by e At we have
d At
e At ( x Ax) e x(t ) e At Bu
dt
Integrating the above equation between 0 and t gives
t
e At x(t ) x(0) e A Bu ( )d
0
or
t
x(t ) e At x(0) e A( t ) Bu ( )d (I.13a)
0
When t kT , k 0,1, 2,.... and T is the sampling period, the state-space model of the
LTI system is written in the following form
x(k 1) Gx(k ) Hu (k )
(I.14)
y (k ) Cx(k ) Du (k )
The discrete transfer function model
Y ( z ) b0 z n b1 z n 1 bn 1 z bn
U ( z ) z n a1 z n 1 an 1 z an
5
that is equivalent to the following difference equation
y (k n) a1 y (k n 1) a2 y (k n 2) ... an 1 y (k 1) an y (k )
(I.15)
b0u (k n) b1u ( k n 1) b2u (k n 2) ... bn 1u (k 1) bnu (k )
can be written in the state-space form defined in (I.14). For this purpose define the follow-
ing state variables:
x1 (k ) y (k ) h0u (k )
x2 (k ) x1 (k 1) h1u (k )
x3 (k ) x2 (k 1) h2u (k )
xn (k ) xn 1 (k 1) hn 1u (k )
h0 b0
h1 b1 a1h0
h2 b2 a1h1 a2 h0 (I.16)
hn bb a1hn 1 an 1h1 an h0
With this choice of state variables, we obtain the following discrete-time state equation
and output equation for the system defined in (I.15)
x1 (k 1) 0 1 0 0 x1 (k ) h1
x (k 1) 0 0 0 0 x2 (k ) h2
2
u (k )
xn 1 ( k 1) 0 0 0 1 xn 1 (k ) hn 1
xn (k 1) an an 1 a2 a1 xn (k ) hn
x1 (k )
x (k )
2
y (k ) 1 0 0 h0u (k )
xn 1 (k )
xn (k )
Example I.2:
We can use a numerical example to show that the expressions given in (16) are true. Let
the system be represented by the following discrete transfer function
y( z) 0.05967 z 1 0.1114 z 2
HG p ( z )
u( z) 1 1.5191 z 1 0.8385 z 2
6
that corresponds to the difference equation
y (k 2) 1.5191y (k 1) 0.8385 y (k ) 0.05967u (k 1) 0.1114u (k ) (I.17)
Then, define the variables
x1 (k ) y ( k ) h0u (k ) (I.18)
x2 (k ) x1 (k 1) h1u (k ) (I.19)
(I.20)
Applying (I.18) at time k+1 we have
y (k 1) x1 (k 1) h0u (k 1) (I.21)
Substituting (I.19) in (I.21) results
y (k 1) x2 (k ) h1u (k ) h0u (k 1) (I.22)
Finally, substituting (I.22) and (I.18) in (I.20) produces
7
x1 (k 1) 0 1 x1 (k ) 0.05967
x (k 1) 0.8385 1.5191 x (k ) 0.0208 u (k )
2 2
x (k )
y (k ) 1 0 1
x2 (k )
Suppose we have the state-space model of the system in the continuous time form:
x Ax Bu (I.13)
and we want to obtain the corresponding discrete time model, which will have the form
x(k 1) G (T ) x(k ) H (T )u (k ) (I.25)
where T is the sampling period.
8
Suppose that (I.13a) is used to compute x(k+1) starting from the state and input at time
step k
H (T ) e At dt B
T
0
Consider the system represented by the following discrete time state-space model
x(k 1) G x(k ) H u (k ) (II.1)
y ( k ) C x( k ) (II.2)
Assuming that the system starts from a given initial state x(0), then, the state at time step n
(where n is the order of the system) is given by:
x(n) G n x(0) G n1Hu (0) Hu (n 1) (II.3)
If the rank of Wc is equal to n, then it is possible to find a set of n equations that can be
used to determine the control sequence (u(0), u(1),..., u(n-1)) that is capable of driving the
system from the initial state to the desired final state x(n). Observe that this solution may
not be unique.
9
Definition of Controllability: The system represented in (II.1) and (II.2) is controllable if,
for any initial state, it is possible to find a control sequence such that the origin (x=0) will
be reached in finite time.
Definition of Reachability: A system is reachable if, for any initial state, it is possible to
find a control sequence that will be able to drive the system to an arbitrary state in finite
time.
Controllability does not imply reachability, which can be seen easily from (II.3). If
G n x(0) 0 , then the origin can be reached applying the input u=0, however the system is
not necessarily reachable. The two concepts are equivalent when G is of full rank.
Theorem: The system defined in (II.1) is reachable if and only if matrix Wc has rank n.
Example II.1:
The system
1 0 1
x(k 1) x(k ) u (k )
0 1 1
1 1
is not reachable because Wc has rank equal to 1 and the system is of order 2.
1 1
It can be shown that all the states that are reachable from the origin can be obtained
through the combination of the columns of Wc .
Example II.2:
Given the system
1 1 1 2
x(k 1) x(k ) u (k ) with x(0)
0.25 0 0.5 2
it is asked if it is possible to find a control sequence that drives the system to
0.5
x(2) .
1
Solution:
From (II.3), we have
10
x(2) G 2 x(0) GHu (0) Hu (1)
or
2
0.5 1 1 2 1 1 1 1
1 0.25 0 2 0.25 0 0.5 u (0) 0.5 u (1)
0.5 3.5 0.5 1
1 1 0.25 u (0) 0.5 u (1)
that corresponds to a single equation:
0.5 u(0) u(1) 4
A possible control sequence is u (0) 2 and u (1) 3 .
0.5
Consider now that x (2) . In this case we obtain the following system of equations
1
3 0.5 1
2 0.25 u (0) 0.5 u (1)
that has no solution. The reason is that the system is not reachable. The controllability ma-
trix, which is
1 0.5
Wc
0.5 0.25
has rank equal to 1, while the system is of order 2.
Remark II.1
Consider the change of variables defined by z (k ) Tx(k ) , where T is a non-singular ma-
trix. In the new state variables the model defined in (II.1) becomes
(k ) H u (k )
z (k 1) TGT 1 z (k ) TH u (k ) Gz
In the new coordinate system, the controllability matrix becomes
Wc H G n 1H
GH
Consequently, if Wc is of full rank, then Wc will also have rank equal to n. This means
that the reachability of the system is independent of the system coordinates.
11
Observability
In order to solve the problem of determining the state of system based on the observation
of the output (and input) of the system, we first introduce the concept of non-obsrvable
states.
Definition:
The state x 0 is non-observable if there is a finite k1 with k1 n 1 such that y (k ) 0 for
The system represented in (II.1) and (II.2) is observable if there is a finite k such that
knowing the inputs u(0), u(1), … , u(k-1) and the outputs y(0), y(1), … , y(k-1) is sufficient
to determine the initial state of the system. To simplify, assume that u (k ) 0 and that
y(0), y(1), … , y(n-1) are known. Thus, we can write the following set of equations:
y (0) Cx(0)
y (1) Cx(1) CGx(0)
y (n 1) CG n1 x(0)
Using vector notation, the above set of equations can be written as follows
C y (0)
CG
x(0) y (1) (II.5)
n1
CG y (n 1)
The state x(0) can be obtained from (II.5) if and only if the observability matrix
C
CG
W0
n1
CG
has rank equal to n. The state x(0) is non-observable if x(0) lies in the null space of W0 .
Example II.2
Consider the system
12
1.1 0,3
x(k 1) x(k )
1 0
y (k ) 1 0.5 x(k )
In the figure below, it is shown the system output for the following initial states:
(a) 0.5 1T , (b) 1.5 0.5T , (c) 2.5 0T (d) 1 0.5T
State observers
Usually, we have a mathematical model of the process and we want to compute the states
based on the knowledge of the inputs and outputs. Here, we discuss several methods of
computing the state.
13
and we want to calculate the state x(k ) based on the sequence of outputs and inputs y(k),
y(k-1), …, u(k), u(k-1),…. The calculation of the state will be possible if the system is
completely observable.
Consider the case of a SISO system. From (II.1) and (II.2) we have
y (k n 1) Cx(k n 1)
y (k n 2) CGx(k n 1) CHu (k n 1)
y (k ) CG n1 x(k n 1) CG n2 Hu (k n 1) CHu (k 1)
The above set of equations can be written as follows
y (k n 1) u (k n 1)
y (k n 2)
W0 x(k n 1) u (k n 2)
y (k ) u (k 1)
where
C 0 0 0
CG CH 0 0
W0 and
n1 n 2
CG CG H CG n 3H CH
y (k n 1) u (k n 1)
y (k n 2)
xˆ (k n 1) W01 W01 u (k n 2)
y (k ) u (k 1)
Using (II.1), we can estimate the state at the present time step
y (k n 1) u (k n 1)
y (k n 2)
xˆ (k ) G n1W01 u (k n 2) (II.6)
y (k ) u (k 1)
where
14
G n 2 H G n 3 H H G n 1W01
The direct calculation method of the state has the advantage that the correct state will be
obtained after at most n measurements. The disadvantage is that the method may be sensi-
tive to disturbances. Thus, it is useful to have other alternative methods. For the system
represented (II.1) and (II.2), consider that the state is approximated by the state x̂ of the
model
xˆ (k 1) Gxˆ (k ) Hu (k ) (II.7)
which has the same input as in (II.1). If the model used in (II.7) is perfect, or it has the
same parameters as model (II.1) and the initial conditions for models (II.1) and (II.7) are
also the same, then the state x̂ of (II.7) will be identical to state x of the real system (II.1).
If the initial conditions of (II.1) and (II.7) are different, then the state x̂ will converge to x
only if the system is asymptotically stable. The state reconstruction through (II.7) can be
improved introducing a correction with the prediction error y Cxˆ :
where K is a gain matrix that has to be properly selected. The notation xˆ (k 1/ k ) is used
to indicate that it is a prediction of x(k+1) based on measurements until time instant k. Let
us introduce the reconstruction error
x x xˆ (II.9)
and subtracting (II.8) from (II.1), we obtain
x ( k 1/ k ) Gx (k / k 1) K y (k ) Cxˆ (k / k 1)
x ( k 1/ k ) G KC x (k / k 1) (II.10)
Then, if K is selected such that (II.10) is asymptotically stable, the reconstruction error
will always converge to zero. Thus, introducing a feedback from the measurements in the
state reconstruction makes it possible to the state to converge to zero, even when system
(II.1) is unstable. System (II.8) is designated as the state observer of system (II.1), because
it estimates the states of the system based on measurements of the inputs and outputs. An-
other form of the state observer, in which there is no measurement delay is given by
xˆ ( k / k ) Gxˆ (k 1/ k 1) Hu( k 1) K y ( k ) C Gxˆ ( k 1/ k 1) Hu( k 1) (II.11)
15
xˆ (k / k ) I KC Gxˆ (k 1/ k 1) Hu (k 1) Ky (k ) (II.12)
When there is a gain K such that the eigenvalues of G-KC can be positioned arbitrarily in
the complex plane, the system is said to be detectable. It can be shown that a system that is
observable is also detectable. The same can be said in relation to matrix G-KCG. Matlab
provides the routine place to the computation of matrix K that will correspond to a given
set of eigenvalues for matrix G-KC or G-KCG.
Suppose the process being controlled is represented by the following state-space model
x(k 1) Ax(k ) Bu (k ) (III.1)
y (k ) Cx(k ) (III.2)
cess is operating around a steady-state that could be represented by u ss , y ss . Conse-
quently, the input and output vectors considered in (III.1) and (III.2) can be considered as
deviation variables related to the steady-state y (k ) y (k ) y ss and u (k ) u (k ) u ss ,
where y (k ) and u (k ) would be the true system output and input respectively.
Assume now that, for a time step k the state x(k) is known and the controller computes a
control sequence u (k k ), u (k 1 k ),..., u (k m 1 k ) that minimizes the following objec-
tive function:
m 1
Q y(k j k ) y u(k j k )
p T
J k y (k j k ) y sp sp T
R u ( k j k )
j 1 j 0
(III.3)
where
16
p is the output prediction horizon; m is the input horizon; y sp is the desired value of the
mensions.
To develop the function defined in (III.3), one can use the model defined in (III.1) and
(III.2) as follows
y (k 1 k ) Cx(k 1 k ) CAx(k ) CBu (k k )
y (k 2 k ) CAx(k 1 k ) CBu (k 1 k )
CA2 x(k ) CABu (k k ) CBu (k 1 k )
y (k 2 k ) CA3 x(k ) CA2 Bu (k k ) CABu (k 1 k ) CBu (k 2 k )
y (k j k ) CA x(k ) CA j 1 Bu (k k ) CA j 2 Bu (k 1 k ) CBu (k j 1 k )
j
or the control input remains constant after the time instant k+m. With the assumption de-
fined in (III.4), the output predictions can be written as follows:
y (k 1 k ) CA CB 0 0
2 CAB
y (k 2 k ) CA CB 0 u (k k )
m m 1 m2 u (k 1 k )
y (k m k ) CA x(k ) CA B CA B CB
y (k m 1 k ) CAm 1 CAm B CAm 1 B CA1 B
u (k m 1 k )
y (k p k ) CA p CA p 1 B CA p 2 B
CAp m B
17
(III.5)
where
A1 A I ; A 2 A2 A I ; A p m A p m A p m 1 I
Then, the output prediction equation (III.5) can be represented in the form
y (k ) x(k ) uk
T
T
y sp y sp
T
Now, defining the set point vector y sp and the weight matrix
p
Q diag Q Q , the first term of the right hand side of (III.3) becomes
p
y (k j k ) y sp Q x(k ) u
p T T
Q y (k j k ) y sp x(k ) uk y sp k y sp
j 1
Now, to develop the second term of the right hand side of (III.3), observe that
u (k k ) u (k k ) u (k 1)
u (k 1 k ) u (k 1 k ) u (k k ) u Mu Iu (k 1)
k k
u (k m 1 k ) u (k m 1 k ) u (k m 2 k )
where
0nu 0nu 0nu 0nu
I I nu
nu 0nu 0nu 0nu 0
M 0nu I nu 0nu
0nu , M ( m.nu )( m.nu )
and I nu , I ( m.nu )nu
0nu 0nu I nu 0nu 0nu
Q x(k ) u
y sp I M uk Iu (k 1) R I M uk Iu (k 1)
T T
J k x(k ) uk y sp k
where I M I nu .m M and R diag R R .
m
The objective can be reduced to a quadratic function of the form
18
J k uk Huk 2c f uk c
T T
where
H T Q I M R I M
T
T
cTf x(k ) y sp Q u (k 1)T I T R I M
Q x(k ) y u (k 1)
T
c x(k ) y sp sp T
I T R Iu (k 1)
Finally, the control law of the MPC results from the solution to the following QP:
min ukT Huk 2cTf uk
uk
s.t. (III.6)
umin u (k j | k ) umax , j 0,1, , m 1
umax u (k j | k ) u (k j 1| k ) umax , j 0,1, , m 1
This was the first predictive controller reported in the literature and was developed in the
1970s in industry (Cutler, C. R. & Ramaker B. L., Dynamic matrix control – a computer
control algorithm, Joint Automatic Control conference, San Francisco, CA, 1980). It is
based on the step response model of the process, which for a system of ny outputs and nu
inputs corresponds to the following non-minimal state-space model:
x(k 1) Ax(k ) Bu (k ) (IV.1)
where
T
x(k ) y (k 1 k )T y (k 2 k )T y (k n k )T
u (k j k ) u ( k j k ) u (k j 1 k ) , u nu
19
Sj is the matrix of coefficients of the step response at time j, S j nynu
Remarks
-In the model representation defined above, the state corresponds to the trajectory
of the system output if no control moves are injected into the system.
-The state of the model defined above is non-minimal, which means that a state
with dimension smaller that the above state could be obtained, for instance by starting
from the transfer functions of the system.
With the model defined in (IV.1), the output prediction vector, taking into account all the
future control moves, becomes
yc (k 1 k ) S1 0nynu
0nynu
S
yc (k 2 k ) 2 S1 u (k k )
0nynu
u (k 1 k )
Nx(k ) (IV.2)
yc (k m k ) Sm Sm 1 S1
u (k m 1 k )
yc (k p k ) S p S p 1 S p m1
Q Nx(k ) D
T
J k Nx(k ) DM uk y sp M uk y sp ukT R uk
Q Nx(k ) y
T T
J k ukT D TM QDM R uk 2 Nx(k ) y sp QDM uk Nx(k ) y sp sp
T
Then, defining H D TM QDM R , c fT Nx(k ) y sp QDM , the QDMC controller de-
20
min ukT H uk 2c fT uk
u k
s.t. (IV.4)
umin u (k j / k ) umax , j 0,1, , m 1
umax u (k j / k ) umax , j 0,1, , m 1
Remarks
1) Observe that the model defined in (IV.1) is incremental in the input. Consequently,
the decision variables of the problem defined in (IV.4) is the vector of input incre-
ments uk . To visualize the advantage of using a model of the form (IV.1) over
the conventional state-space model defined in (III.1), consider the solution to prob-
lem (IV.2) when no constraints are included. In this case, we have the least squares
solution of (IV.4):
u (k / k ) N1 H 1 DMT Q Nx(k ) y sp
where N1 I nu 0nu 0nu
Then
u (k / k ) u (k 1) N1 H 1 DMT Q Nx(k ) y sp
u (k / k ) u (k 1) K1 Nx(k ) y sp (IV.5)
where K1 is a constant gain and Nx(k ) y sp is the output predicted error along
the prediction horizon. Then, the controller defined in (IV.5) is an integral control-
ler and capable of eliminating the output offset.
Now, consider the same unconstrained solution to problem (III.6)
u (k / k ) N1 H 1 T Q x(k ) y sp I MT R Iu (k 1) I T
u (k / k ) K1 x(k ) y sp K 2u (k 1) (IV.6)
Since K 2 I ny , it is clear that in this case, the controller defined in (IV.6) is a pure
proportional controller and will not be capable of eliminating the output offset for
changes in the output set point.
2) To include the effect of measured disturbances, the model defined in (IV.1) can be
modified as follows:
x(k 1) Ax(k ) Bu (k ) Bd d (k )
21
where
S d ,2
S
Bd
d ,3
S d ,n 1
In the MPC controllers defined in sections (III) and (IV), it is assumed that the state of the
model utilized to build up the output predicted trajectory is perfectly known, which does
not usually happen in practice. In most applications, only the system controlled outputs are
measured and the state must be estimated. For instance, consider the case in which the
model is defined as in (IV.1). In this case, at each sampling step, the state has to be updat-
ed with the last output measurement following the usual state observer strategy:
x(k ) Ax(k 1) Bu (k 1) K F y (k ) C Ax(k 1) Bu (k 1) (V.1)
where y (k ) is the real plant output measurement at time k, KF is the observer gain and C is
the output matrix. In the model defined in (IV.1), we have
C I ny 0ny 0ny and K F I ny
T
I ny I ny (V.2)
n
Equation (V.1) can be developed as follows
x(k 1) I K F C Ax(k ) I K F C Bu (k ) K F y (k 1)
Remark
As discussed in section (II), matrix I K F C must be stable in order to the state estima-
tion to converge to the true state. With matrices A and KF corresponding to the DMC con-
troller, we have
0ny 0ny 0ny 0ny 0ny 0ny
0 I ny I ny 0ny 0ny 0ny
ny
0 I ny 0ny I ny 0ny 0ny
I K F C A ny
0ny I ny 0ny 0ny 0ny I ny
0ny I ny 0ny 0ny 0ny I ny
22
which has all the eigenvalues at 0 and consequently is stable.
The model defined in (IV.1) involves the assumption that if n is the system stabilizing
time, then
y (k n 1/ k ) y (k n / k )
This means that, we are considering only open-loop stable systems, or that the step re-
sponse of the system has the shape below
When we deal with integrating system (e.g. the level of liquid in a drum) the above as-
sumption cannot be applied. For instance, suppose we have a system whose step response
is represented in the figure below:
23
In this case, we can consider a linear extrapolation of the step response curve, such that
y (k n 1/ k ) y (k n / k ) y (k n / k ) y (k n 1/ k )
2 y (k n / k ) y (k n 1/ k )
With this consideration, the state matrix of the model defined in (IV.1) becomes
0ny I ny 0ny 0ny 0ny
0 0ny I ny 0ny 0ny
ny
A
0ny 0ny 0ny 0ny I ny
0ny 0ny 0ny I ny 2 I ny
Then, using an observer with the gain defined in (V.2), the state matrix of the observer er-
ror model becomes
0ny 0ny 0ny 0ny 0ny 0ny
0 I ny I ny 0ny 0ny 0ny
ny
0 I ny 0ny I ny 0ny 0ny
I K F C A ny
0ny I ny 0ny 0ny 0ny I ny
0ny I ny 0ny 0ny I ny 2 I ny
It can be shown that the above matrix has ny eigenvectors equal to 1 and all the remaining
eigenvalues are equal to 0. Consequently, the observer defined in (V.2), which is the ob-
server used by DMC, is not stable.
24
Remark
T
An observer with gain K F I ny I ny I ny 1.1I ny would stabilize the output feed-
Besides the state-space model derived from the step response model that naturally produc-
es a model in the incremental form as shown in (IV.1), we can built up an incremental
model starting from the usual form of the state-space model defined in (III.1). Suppose we
have the model
x(k 1) Ax(k ) Bu (k ) (VI.1)
y (k ) Cx(k ) (VI.2)
and to prevent offset we want a model in the form
(k ) B u (k )
x (k 1) Ax (VI.3)
(k )
y (k ) Cx (VI.4)
Here, we present three new forms of constructing the incremental model starting from the
model defined in (VI.1) and (VI.2).
25
h0 b0
h1 b1 a1b0
h2 b2 a1h1 a2 h0
Eq. (VI.6) has the form of eq. (VI.7) with: a1 I A ; b0 0 ; b1 B and b2 0 . Thus,
x1 (k 1) 0 I x1 (k ) B
x (k 1) A ( I A) x (k ) ( I A) B u (k )
2 2
y (k ) C 0 x (k )
It can be shown that the state matrix of the above system has the eigenvalues of A and nx
eigenvalues equal to 1, where nx is the dimension of the state of the system (VI.5).
2) Another way to obtain a state-space model in the incremental form also starts from
the model defined in (VI.5) and we substitute the following equation
u (k ) u (k 1) u (k ) (VI.7)
into (VI.5) to produce
x(k 1) Ax(k ) B u (k 1) u (k )
3) The third way to build an incremental model is to write (VI.5) at time instants k+1
and k, and subtract the two equations. The result is
x(k 1) Ax(k ) B(k ) (VI.8)
Then, the system output can be written as follows
y (k 1) Cx(k 1) C x(k 1) x(k )
(VI.9)
CAx(k ) CBu (k ) y (k )
26
Now combining (VI.8) and (VI.9) we obtain
x(k 1) A 0 x(k ) B
y (k 1) CA I y (k ) CB u (k )
ny
(VI.10)
x(k )
y (k ) 0 I ny
y (k )
In this case, the state of the model defined in (VI.10) has dimension nx+ny and the
state matrix has the same eigenvalues as A besides ny eigenvalues at +1.
In a MPC application, the state-space model is combined with the state observer as follows
Plant model: x(k 1) Ax(k ) Bu (k )
y (k ) Cx(k )
as the true plant system model A, B . We have already seen that the observer gain KF
should be such that I K F C A is stable otherwise the closed-loop system will be unsta-
ble.
A non-minimal state space model where the states are the input and output – The realign-
ment model
Initially, consider the case of a pure integrator process (e.g. the level of liquid in a drum)
and let us use the following model
y (k 1) y (k ) y (k ) y (k 1) S1u (k )
y (k 1) 2 y (k ) y (k 1) S1u (k ) (VI.11)
Consider now the following state
27
y (k )
x(k ) y (k 1) and obviously y (k ) 1 0 0 x(k ) .
y (k 2)
Then, the model defined in (VI.11) is equivalent to the following non-minimal state-space
model:
y (k 1) 2 1 0 y (k ) S1
y (k ) 1 0 0 y (k 1) 0 u (k )
y (k 1) 0 1 0 y (k 2) 0
x ( k 1) A x(k ) B
1
Consider also a state observer with the following gain K F 0 , then the state matrix of
0
the state observer error will be the following
1 0 0 1 2 1 0
I K F C A 0 1 0 0 1 0 0 1 0 0
0 0 1 0 0 1 0
0 0 0
I K F C A 1 0 0 that has all the eigenvalues at 0 and consequently is stable. The
0 1 0
model corresponding to equation (VI.11) with the observer defined above, simply extrapo-
lates the plant response.
where na corresponds to the order of the model and nb is equal to number of past time in-
stants considered for the input and ai nyny , bi nynu , y ny1 , u nu1 .
28
a1 a2 ana 1 ana b2 bnb 2 bnb 1 bnb
y (k ) y (k 1) b1
0nynu 0nynu 0nynu
y (k 2) 0nynu
y ( k 1) Iny 0ny 0ny 0ny 0nynu
0ny Iny 0ny 0ny 0nynu 0nynu 0nynu 0nynu 0
y (k 2) nynu
y ( k na 1)
y (k na 1) 0ny 0ny Iny 0ny 0nynu 0nynu 0nynu 0nynu y (k na ) 0
u (k 1) 0 nynu u ( k 1)
0nuny 0nuny 0nuny 0nu 0nu 0nu 0nu u (k 2) I
nuny
0nu
nu
u ( k 2) 0nuny 0nuny 0nuny 0nuny Inu 0nu 0nu 0nu
u (k nb 2)
u (k nb 2) u (k nb 1)
0nuny 0nuny 0nuny 0nuny 0nu Inu 0nu 0nu 0nu
u ( k nb 1) 0 0nuny 0nuny 0nuny 0nu 0nu
0nu u ( k nb) 0nu
nuny Inu
or
(k 1) Bu
x(k ) Ax (k 1) (VI.13)
y (k ) C x(k )
where
C [ Iny 0ny ... 0ny 0nynu 0nynu ... 0nynu ]
na nb 1
x
na . ny nb 1.nu 1
;
na.ny nb 1.nu nu
;C
ny na .ny nb 1.nu
A
na . ny nb 1.nu na . ny nb 1.nu
; B ;
The state observer can be characterized by the following gain matrix
T
KF Iny 0ny ... 0ny 0nynu 0nynu ... 0nynu
With this state observer, the resulting state matrix of the model plus observer system be-
comes
I K C A 0
0 Z
J
f
0 0 0 0
I 0 0 0
where Z A2 Ana B2 Bnb and J
ny
0 0 I ny 0
This state matrix has all the eigenvectors equal to zero. This means that the observer stabi-
lizes any stable or unstable process.
Writing the model equation represented in (VI.12) at times k and k-1 we have
29
y k a1 y k 1 a2 y k 2 a3 y k 3 ... ana y k na
b1u k 1 b2u k 2 b3u k 3 ... bnb u k nb
y k 1 a1 y k 2 a2 y k 3 a3 y k 4 ... ana y k na 1
b1u k 2 b2u k 3 b3u k 4 ... bnbu k nb 1
y k I ny a1 y k 1 a2 a1 y k 2 a3 a2 y k 3 ...
ana ana 1 y k na ana y k na 1
b1u k 1 b2 u k 2 b3u k 3 ... bnb u k nb
Following the same procedure adopted for the model defined in (VI.12), it can be shown
that the above model is equivalent to
a I bnb
1 ny a2 a1 a3 a2 a4 a3 ... ana ana 1 ana b2 b3 b4 ...
Iny 0ny 0ny 0ny ... 0ny 0ny 0nynu 0nynu 0nynu ... 0nynu
0 I 0 0ny ... 0ny 0ny 0nynu 0nynu 0nynu ... 0nynu
ny ny ny
0ny 0ny Iny 0ny ... 0ny 0ny 0nynu 0nynu 0nynu ... 0nynu
... ... ... ... ... ... ... ... ... ... ... ...
x k 1 0ny 0ny 0ny 0ny Iny 0ny 0nynu 0nynu 0nynu 0nynu 0nynu x k
0 0nuny 0nuny 0nuny 0nuny 0nuny 0nu 0nu 0nu 0nu 0nu
nuny
0
nuny 0nuny 0nu ny 0nuny 0nuny 0nuny Inu 0nu 0nu 0nu 0nu
0 0 0 0nuny 0nuny 0nuny 0nu Inu 0nu 0nu 0nu
nuny nuny nu ny
0
nuny 0nuny 0nu ny 0nu ny 0nuny 0nuny 0nu 0nu Inu 0nu 0nu
... ... ... ... ... ... ... ... ... ... ... ...
0nuny 0nuny 0nuny 0nuny 0nuny 0nuny 0nu 0nu 0nu Inu 0nu
b1
0nynu
0nynu
0nynu
...
0nynu u k
Inu
0nu
0nu
0
nu
...
0nu
Example
Consider the system represented by the following difference equation model
y (k ) a1 y (k 1) a2 y ( k 2) b1u (k 1) b2u (k 2)
The corresponding realignment model is given by
30
y (k ) (1 a1 ) (a2 a1 ) a2 b2 y (k 1) b1
y (k 1) 1 0 0 0 y (k 2) 0
u (k 1)
y (k 2) 0 1 0 0 y (k 3) 0
u (k 1) 0 0 0 0 u (k 2) 1
Now considering a state observer with gain
K F 1 0 0 0 and C 1 0 0 0
T
We have
0 0 0 0
1 0 0 0
I K F
C A , which has all the eigenvalues at zero. Consequently, the
0 1 0 0
0 0 0 0
observer stabilizes all the poles (stable, integrating and unstable) of the system.
VII. Model Predictive Control with the state-space model in the incremental form
Here, we assume that the process being controlled is represented by the following state-
space model
x(k 1) Ax(k ) Bu (k ) (VII.1)
y (k ) Cx(k ) (VII.2)
(III.3)
where
p is the output prediction horizon; m is the input horizon; y sp is the desired value of the
mensions.
31
Using the model defined in (VII.1), we can represent the vector of output predictions as
follows
or the control input remains constant after the time instant k+m. With the assumption de-
fined in (VII.3), the output predictions can be written as follows:
y (k 1 k ) CA CB 0 0
2
y (k 2 k ) CA CAB CB 0
u (k k )
m m 1 u (k 1 k )
y (k m k ) CA x(k ) CA B CA B
m2
CB
y (k m 1 k ) CAm 1 CAm B CAm 1B CAB
u (k m 1 k )
y (k p k ) CA p CA p 1 B CA p 2 B p m
CA B
(VII.4)
Then, the output prediction equation (III.5) can be represented in the form
y (k ) x(k ) uk
T
T
The set point vector is defined as in Section III y sp
y sp
y , as well as the
sp T
p
weight matrices Q diag Q Q and R diag R R .
p m
Then, the control cost function can be written as follows
32
Q x(k ) u
T
J k x(k ) uk y sp k y sp ukT R uk
T
where uk u (k / k )T u (k 1/ k )T u (k m 1/ k )T
The objective can also be reduced to a quadratic form
J k uk H uk 2c f uk c
T T
where
H T Q R
T
c fT x(k ) y sp Q
Q x ( k ) y
T
c x(k ) y sp sp
The control law of the MPC based on incremental state-space mode results from the solu-
tion to the following QP:
min ukT Huk 2c fT uk
u k
s.t. (VII.5)
umin u (k j / k ) umax , j 0,1, , m 1
umax u (k j / k ) umax , j 0,1, , m 1
Remark
Observe that, in the problem defined in (VII.5), the vector of inputs can be related with the
vector of input moves, which are the decision variables of the problem, as follows:
uk M uk Iu
(k 1)
where
I nu 0 0 I nu
I I nu 0 I nu
M
nu
; I
I nu I nu I nu I nu
33
VIII. The Output Prediction Oriented Model (OPOM)
Consider a MIMO nonintegrating system with nu inputs and ny outputs, where the Laplace
transfer function relating input uj to output yi is
bi , j ,0 bi , j ,1s bi , j ,nb s nb
Gi , j ( s ) (VIII.1)
1 ai , j ,1s ai , j ,na s na
where na, nb | nb na . The corresponding step response at time step k can be calcu-
where coefficients di0, j , did, j ,1, , did, j , na are obtained by partial fractions expansion and
ri, j , ri, j ,1, , ri, j , na are the poles, which are assumed to be distinct. For the sequel of this
D d diag d1,1,1
d d
d1,1, d d d d d d
na d1, nu ,1 d1, nu , na d ny ,1,1 d ny ,1, n1 d ny , nu ,1 d ny , nu , na
D d nd nd
For this system, a discrete time state space model of the form represented in (1) and (2)
can be written as follows
x s (k 1) I ny 0 x s (k ) D 0
u (k ) (VIII.3)
x d (k 1) 0 F x d (k ) D d F N
x s (k )
y (k ) I ny (VIII.4)
x d (k )
where
34
T T
x s x1 xny , x s ny , x d xny 1 xny 2 xny ( nu na 1) ,
x d nd , nd nu na ny
r T r T r T r T r T r T r
F diag e 1,1,1 e 1,1,na e 1,nu ,1 e 1,nu ,na e ny ,1,1 e ny ,1,na e ny ,nu ,1 e ny ,nu ,na
T r T
F nd nd
1 0 0
J1 1 0 0
N , N nd nu , Ji , J i nu nanu
J ny 0 0 1
0 0 1
Φ 0
Ψ , Ψ ny nd , Φ 1 1 , Φ nu na
0 Φ
The infinite horizon MPC is based on the following cost or control objective:
m 1
J k e(k j k )T Q e(k j k ) u (k j k )T R u (k j k ) (VIII.5)
j 1 j 0
the effects of the future control actions, ysp is the output reference, Q nyny , R nunu
(VIII.6)
With the proposed model formulation, the second term on the right hand side of (VIII.6)
can be developed as follows
35
C x(k j k ) y sp Q C x(k j k ) y sp
T
j m 1
x s (k m k ) y sp F j x d (k m k ) Q x (k m k ) y
T s sp
F j x d ( k m k )
j 1
(VIII.7)
In this infinite sum, the term x s (k m k ) y sp does not depend on index j and, therefore,
must be made equal to zero to keep the control objective bounded. Thus, the following
constraint has to be included in the control optimization problem:
x s (k m k ) y sp 0 (VIII.8)
(VIII.9)
x (k m k ) ( F ) Q F x (k m k )
d T j T T j d
j 1
For stable systems, lim F j 0 and the infinite sum in the right hand side of (VIII.9) can
j
be reduced to a single term:
x d (k m k )T ( F j )T T Q F j x d (k m k ) x d (k m k )T Q x d (k m k )
j 1
Q F T QF F T T Q F (VIII.10)
Equation (VIII.10) is the Lyapunov equation for the discrete time system represented in
(3), and (4). Hence, the control objective defined in (VIII.5) becomes:
m m -1
J k e(k j k )T Qe(k j k ) x d ( k m k )T Q x d ( k m k ) u (k j k )T Ru (k j k )
j 1 j 0
(VIII.11)
To obtain a simpler expression for the above control objective, equations (VIII.3) and
(VIII.4) can be used to evaluate the state and output at future sampling instants as follows
y (k j k ) x s (k j k ) x d (k j k ) (VIII.12)
36
x s (k j k ) x s (k ) D 0 u ( k k ) D 0 u ( k j 1 k ) (VIII.13)
x d (k j k ) F j x d (k ) F j 1 D d FN u (k k ) F j 2 D d FN u (k 1 k )
(VIII.14)
D d FN u (k m 1 k )
Applying (VIII.13), for the time steps inside the control horizon, we obtain the following
expression
x s I x s ( k ) Dm0 uk (VIII.15)
where
x s (k 1 k ) Iny
xs , x ,
s m ny
I , I m nyny ;
x s (k m k ) Iny
D0 0 u (k k )
D
0 , D
0 m . ny m . nu
, uk , uk
m.nu
m
0 0
m
D D u (k m 1 k )
x d Fx x d ( k ) Fu uk (VIII.16)
With the variables defined above, the control objective represented in (VIII.5) can be writ-
ten as
J k ukT H uk 2cTf uk c (VIII.17)
where
Q D
T
H Dm0 1Fu 1
0
m 1Fu FuT Q2 Fu R1 (VIII.18)
Q Ie (k ) F x (k ) F F x (k )
T
c f Dm0 1Fu (VIII.19)
s d T d
1 1 x u Q2 x
c e(k )T Qe( k ) Ie s ( k ) 1 Fx x d ( k ) Q1 Ie s (k ) 1 Fx x d ( k ) Fx x d (k ) Q2 Fx x d (k )
T T
(VIII.20)
37
m
m
m
e s (k ) x s (k ) y sp
Using (VIII.13), the constraint represented in (VIII.8) can be written as follows:
e s (k ) D 0 uk 0 (VIII.21)
where D 0 D 0 D 0
Finally, the control optimization problem of the infinite horizon MPC (IHMPC) can be
formulated as follows:
min Jk (VIII.22)
uk
subject to
x s (k ) y sp D 0 uk 0 (VIII.23)
u( k j ) U, j 0 (VIII.24)
max max
u u (k j ) u
u (k j ) u (k j ) 0; j m
j
u u (k 1) u (k i ) u ; j 0,1, , m 1
min max
i 0
The stability of the closed loop systems with the controller defined trough the solution to
the problem defined through (VIII.22) to (VIII.24) can be proved as long as this problem
remains feasible. This result can be summarized in the following theorem:
Theorem: For an undisturbed stable system, if the problem defined through (VIII.22) to
(VIII.24) is feasible, it will remain feasible at the subsequent time steps and, if the desired
steady state is achievable, the controller produced by the solution of this problem is
asymptoticaly stable.
38
Proof:
Observe that H 0 and the problem defined through (VIII.22) to (VIII.24) is convex and
so it has an unique solution at each time step. Now, suppose that
T
uk* u* (k k )T u* (k 1 k )T u* (k m 1 k )T corresponds to the optimal
solution to this problem at time step k. Then, the first control move u* (k k ) is injected in
the real system and at time step k+1 consider the following control sequence
T
uk 1 u* (k 1 k )T u* (k 1 k )T 0 . It is clear that uk 1 satisfies (VIII.24),
then, to show that this control sequence is feasible, we need to show that it also satisfies
(VIII.23). At time k+1, the left hand side of (VIII.23) with uk 1 can be written as fol-
lows:
Z x s (k 1) y sp D 0 uk 1
Now, using (VIII.3), the above expression can be written as follows
Z x s (k ) D 0 u * (k k ) y sp D 0 u * (k 1 k ) D 0 u * (k m 1 k ) D 0 0
Z x s (k ) y sp D 0 uk* 0
Then, uk 1 is a feasible solution and recursive feasibility of the controller is proved.
To prove the stability of the system with the proposed controller let the value of the objec-
tive function corresponding to uk 1 be designated Jk 1 . It is straightforward to show that
If one of the terms e(k 1| k ) , x d (k m | k ) or u( k ) is not equal to zero, then Jk 1 J k*
and consequently J k*1 J k* . If this situation is repeated at the subsequent time steps k+1,
k+2, … , the objective function will converge to zero. Consequently, the system output
will converge asymptoticaly to the set point as k tends to infinite and convergence is
proved.
For large changes on xs(k) or ysp or if ysp corresponds to an unreachable steady state, then
the optimization problem defined through (VIII.22) – (VIII.24) may become infeasible
39
because of a conflict between constraints (VIII.23) and (VIII.24). Consequently, the
IHMPC as defined above cannot be implemented in practice.
(VIII.25)
where k ny is a vector of slack variables and S nyny is a assumed positive defi-
nite. Observe that each slack variable refers to a given controlled output. Weight matrix S
should be selected such that the controller tends to zero the slacks or at least minimize
them depending on the number of inputs, which are not constrained.
j 1
C x(k j | k ) Q C x(k j | k )
T
k ysp k ysp (VIII.26)
j m 1
m 1
u (k j )T R u (k j ) Tk S k
j 0
Analogously to the case without slack, the second term on the right hand side of (VIII.26)
can be developed as follows
C x(k j | k ) k y sp Q C x(k j | k ) k y sp
T
j m 1
x s (k m | k ) k y sp F j x d (k m | k ) Q x (k m | k )
T s
k y sp F j x d (k m | k )
j 1
(VIII.27)
40
In this infinite sum, the term x s (k m | k ) k y sp must be made equal to zero to keep
the control objective bounded. Thus, instead of (VIII.8), the following constraint has to be
included in the control optimization problem:
x s (k m | k ) k y sp 0 (VIII.28)
(VIII.29)
j 1
m -1
(VIII.30)
u (k j | k ) Ru (k j | k ) S k
T T
k
j 0
Equations (VIII.15) and (VIII.16) can now be used to write the objective function in a
more compact form and it results in the following quadratic expression:
u u
J k ukT Tk H k 2cTf k c (VIII.31)
k k
where
m 1 m
1 u u 2 u 1 m
D0 F T Q D0 F F T Q F R D0 F T Q I
H
1 u 1 u 1
(VIII.32)
I T
Q1 Dm
0
F
1 u S I T
Q 1 I
Q
m 1 u 1
D0 F T Q Ies (k ) F xd (k ) F T Q F xd (k )
cf
1 x u 2 x
T s
I Q1 Ie (k ) 1Fx x (k ) Q e(k )
d
c e(k )T Qe( k ) Ie s ( k ) 1 Fx x d ( k ) Q1 Ie s (k ) 1 Fx x d ( k ) Fx x d ( k ) Q2 Fx x d ( k )
T T
Using the model equation (VII.3), the constraint represented in (VIII.28) can be written as
follows:
x s (k ) y sp D 0 uk k 0 (VIII.33)
41
Finally, the control optimization problem of the extended infinite horizon MPC (IHMPC)
can be formulated as:
uk uk
min J k uk Tk H 2cTf c
T
(VIII.34)
u ,
k k k k
subject to
The convergence of the extended infinite horizon MPC resulting from (VIII.33) can be
summarized in the following theorem:
Theorem:
For a stable system, if in the control objective defined in (VIII.25), the slack weight matrix
S is positive definite, then, the control law produced by the solution to the problem defined
in (VIII.34) drives the system output to the desired set point if it corresponds to a reacha-
ble state state. If the desired set point is not reachable, the controller will stabilize the sys-
tem in a steady state such that the distance between this steady state and the desired steady
state is minimized.
Proof: Suppose that uk* *k corresponds to the optimal solution of (VIII.34) at time
step k. It is easy to show that uk 1 *k is a feasible solution to (VIII.34) at k+1. The
u * (k )T Ru * ( k )
Jk 1 J k* and consequently J k*1 J k* . If this situation is repeated in the subsequent time
steps k+1, k+2, … , the cost will converge either to zero or to T S (with 0 ). If the
objective converges to zero, the system output will converge to the reference as k tends to
infinite and convergence is proved. If the desired steady state is not reachable, the closed
loop system will converge toa stedy state where T S is minimized.
42
Example:
Consider a 22 system represented by the following transfer function:
2.5 5.8
9.05s 1 9 s 1
G ( s)
1.5 5.3
7.5s 1 10.2s 1
Initially (Case 1) consider the following tuning parameters for the IHMPC
T=1;
ysp = [.5 -0.1]';
dumax = [0.1 0.1]';
umax = [1 1]';
umin = [-1 -1]';
Q=diag([1 1]);
R=diag([1 1]);
S=diag([100 100]);
The system responses can be seen in figures 1 to 3. The outputs are driven to their desired
set points and the control cost tends to zero.
0.55 0.15
0.5
0.1
0.45
0.4 0.05
0.35
0
y1
y2
0.3
-0.05
0.25
0.2 -0.1
0.15
-0.15
0.1
0.05 -0.2
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100
Time Time
-0.2 0.1
0.05
-0.3
0
-0.4
-0.05
u1
u2
-0.5
-0.1
-0.6
-0.15
-0.7
-0.2
-0.8 -0.25
-0.9 -0.3
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100
Time Time
43
7
Jk
3
0
0 10 20 30 40 50 60 70 80 90 100
Time
1 0.35
0.3
0.8 0.25
0.2
0.6
0.15
y1
y2
0.1
0.4
0.05
0
0.2
-0.05
-0.1
0
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100
Time Time
-0.2 0.1
0.05
-0.3
0
-0.4
-0.05
-0.5
u1
u2
-0.1
-0.6
-0.15
-0.7
-0.2
-0.8
-0.25
-0.9 -0.3
-1 -0.35
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100
Time Time
44
35
30
25
20
Jk
15
10
0
0 10 20 30 40 50 60 70 80 90 100
Time
Again, it is assumed that we have a multivariable system with nu inputs and ny outputs,
and for each pair (yi, uj) there is a transfer function model:
bi , j ,1 z1 bi , j ,2 z2 bi , j ,nb z nb
Gi , j ( z ) (VIII.35)
(1 ai , j ,1 z1 ai , j ,2 z2 ai , j ,na z na )(1 z1 )
where na, nb . When the poles of the system are non-repeated, the kth coefficient of
where rl , l =1, 2, ..... , na are the non-integrating poles of the system, T is the sampling
45
Iny 0 T Iny D0 T Di
A 0 F 0 , A nxnx , B Dd F N , B nxnu
i
0 0 Iny D
y1
y , C I ny 0ny
yny
T T
xs x1s x2s xny
s
, xi x1i x2i xny
i
T
d d x1,2,na x2,1,1 x2,1,na xny ,1,na xny ,nu ,na
x x1,1,1 x1,1,na
d d d d d d d
x1,2,1
d1,1
0
d1,0nu d1,1
i
d1,i nu
D0 , D0 nynu ; Di , Di nynu
0 0
i
dny ,1 dny ,nu dny ,1 dny ,nu
i
F diag r1,1,1 r 1,1,na r1,nu ,1 r1,nu ,na rny ,1,1 rny ,1,na rny ,nu ,1 rny ,nu ,na F nd nd
Dd diag d1,1,1
d
d1,1,
d
na d1, nu ,1 d1, nu , na dny ,1,1 dny ,1, na dny , nu ,1 dny , nu , na
d d d d d d
Dd nd nd
1 0 0
J1 1
J 0 0
N 2 , N nd nu
; Ji , J i nu nanu , i 1, 2, , ny
0 0 1
Jny
0 0 1
Φ 0
Ψ , Ψ ny nd , Φ 1 1 , Φ nu na
0 Φ
46
Example: The system represented by the following transfer matrix
0.19 1.7
z 1 z - 0.95
G( z)
-0.02362 0.235
z - 0.969 z 1
Using a sampling period T=1, this model can be translated into the model formulation rep-
resented in (VIII.37) as follows:
x1s (k 1) x s (k )
1 0 0 1 0 1
0 0.1900 1.7000
x2 (k 1) 0
s
1 0 0 0 0 x2 (k ) -0.7630 0.2350
s
d
1
x ( k 1) 0 0 0.9500 0 0 0 x1d (k ) 0 1.6150
d 0 0 0
d
0.9690 0 0 x2 (k ) 0.7394 0
u (k )
x2 ( k 1)
xi (k 1) 0 0 0 0 1 0 i -0.1900 0
1 x1 (k )
xi (k 1) 0 0 0 0 0 1 i 0 0.2350
2 x2 (k )
x1s (k )
x2s (k )
d
y1 (k ) 1 0 1 0 0 0 x1 (k )
y (k ) 0 1 0 1 0 0 d
2 x2 (k )
xi (k )
1
xi (k )
2
Now, consider again the control objective function of the infinite horizon MPC:
m 1
J k (e(k j | k ) ks )T Q (e(k j | k ) ks ) u (k j | k )T R u (k j | k ) ks S1 ks
T
j 1 j 0
(VIII.38)
For the model defined in (VIII.37) in order to keep the control objective bounded, the fol-
lowing equality constraints should be obeyed by the control sequence:
xs (k ) ysp ( D2,i m Dm0 )uk ks 0 (VIII.39)
47
D2i m 0 T Di (m 1)T Di , D2i m nym.nu
u (k | k )
uk , u m.nu
k
u (k m 1| k )
Substituting Eqs. (VIII.39) and (VIII.40) into (VIII.38), the control cost becomes
m
Jk e(k j | k ) k Q e(k j | k ) k xd (k m | k )T Q xd (k m | k )
T
j 1
m 1
u (k j | k )T R u (k j | k ) ks S1ks
T
j 0
where Q is obtained from the solution of the following discrete Lyapunov equation
Q F T QF F T T Q F
Writing model equations (VIII.37) for future time instants, we can obtain
y Lx(k ) Guk
where
T
y y (k 1| k )T y (k 2 | k )T y (k m | k )T
T
L L(1)T L(2)T L(m)T , L( j ) I ny F j jT I ny
G1,1 0 0
G G2,2 0
G
2,1
, G j , l D 0 T Di F j l D d FN ( j l ) T Di
Gm,1 Gm,2 Gm,m
48
F T QF R
GT QG
GT QI
H u u
T S
I QG I T QI 1
C f ( I y sp L x(k ))T QG
x(k )T F QF T
u
[ I y sp L x(k )]T QI
x
I ny
I I ( m.ny )ny
I ny
m
m
Q diag[Q Q] , R diag[ R R]
Thus, the infinite horizon MPC for the integrating system can be written as the following
optimization problem:
min J k (VIII.42)
uk , ks
subject to
es (k ) ks ( D2,i m Dm0 )uk 0 (VIII.42a)
u( k j ) U, j 0 (VIII.44)
max max
u u (k j ) u
u (k j ) u (k j ) 0; j m
j
u u (k 1) u (k i ) u ; j 0,1, , m 1
min max
i 0
If at a given time step k the problem defined in (VIII.42) is feasible and at steady state, the
input that corresponds to ysp lies inside the set , the convergence of the system output in
closed loop to the reference value is assured for the undisturbed system by the following
theorem:
49
Theorem: For the undisturbed system with stable and integrating poles and the slack
weight S1 is positive definite, if Problem (VIII.42) is feasible at sampling step k, then it
will be feasible at time steps k+1, k+2, … , and the output of the closed-loop system with
the control law defined by Problem (VIII.42) will converge to the desired steady state.
Proof: The proof of this theorem follows the same steps as the controller defined by Prob-
lem (VIII.34) for stable systems. It can be proved that if uk* *k corresponds to the
optimal solution of (VIII.42) at time step k then uk 1 *k is a feasible solution to
(VIII.42) at k+1. The corresponding value of the objective function is also smaller than at
step k and converges to zero if the desired steady state is reachable.
However, depending on the size of the disturbances or set point changes, it may still arise
a conflict between constraints (VIII.43) and (VIII.44). In such case, Problem (VIII.42) be-
comes infeasible and the controller can no longer be implemented for the integrating sys-
tem. To circumvent such limitation, we propose a new extension of the infinite horizon
controller applied to systems with integrating poles. The extended proposed controller is
based on the following cost function
J k (e(k j | k ) ks jT ki )T Q (e(k j | k ) ks jT ki )
j 1
(VIII.45)
m 1
u (k j | k ) R u (k j
T T
T
| k ) ks S1 ks ki S2 ki
j 0
where S2 nyny is positive definite and ik is a vector of additional decision variables of
the control optimization problem. As it will be shown in the sequel, these new slack varia-
bles provide the necessary degrees of freedom in order to the control problem to be feasi-
ble to a larger set of initial states and external disturbances.
We can show that, for the new cost function to be bounded, constraint (VIII.43) is substi-
tuted by the following equation
xi ( k ) ik D1im uk 0 (VIII.46)
50
Unfortunately, minimizing the cost defined in (VIII.45) subject to constraint (VIII.42a),
(VIII.43) and (VIII.44), does not produce a control law that forces the cost function to de-
crease. This is so, because at sampling step k+1,
satisfy (VIII.46) and so, it is not a feasible solution to the controller optimization problem.
Thus, a different strategy needs to be followed to produce a stable controller that is based
on the minimization of the cost defined in (VIII.45). For this purpose, define a secondary
T
positive cost Vl ,k ki S 2 ki and consider the following constraint to be included in the
Vl ,k Vl ,k 1 (VIII.47)
where
T
Vl ,k 1 ki 1 S2ki 1
x i (k 1) xi (k ) Di u (k 1) (VIII.49)
will be satisfied for any umax 0 and Vl ,k will decrease asymptotically. For the dis-
turbed system Eq. (VIII.49) is used to the computation of the state at (k-1) and makes
(VIII.47) always feasible. Thus, the infinite horizon MPC, which is stable for systems con-
taining stable and integrating poles, can be formulated as the solution of the following op-
timization problem:
u u
min u ks
T
ik
T H s 2 CT s
k
T
(VIII.50)
uk ,ks ,ik k f
i i
k k
subject to
u( k j ) U, j 0
51
es (k ) ks ( D2,i m Dm0 )uk 0
Vl ,k Vl ,k 1
where
F T QF R T I ny
GT QG u u GT QI GT QT 2T I
H T
I QG S
I T QI , T
I T QT
ny
1
T T QG
T T QI S
T T QT
2
mT I ny
The convergence of the extended infinite horizon MPC resulting from Problem (VIII.50)
can be summarized in the following theorem:
Theorem:
For systems with stable and integrating poles whose input at steady state lies inside , the
control sequence produced by the successive solution of Problem (VIII.50) drives the sys-
tem output asymptotically to the reference value.
Proof: The condition that the system input lies inside the definition set means that the
input will not become saturated at steady state. Thus, the integrating modes are stabilizable
at the desired steady state. Consider now the undisturbed regulator case or the output
tracking case. In both cases, if the system input corresponding to steady state lies inside
, Problem (VIII.50) is feasible at k and it will remain feasible at the subsequent time
steps. Consequently, function Vl ,k will converge to zero. Once this function has con-
verged, constraint (VIII.43) becomes feasible and it will remain feasible for all the subse-
quent time instants. Then, Problem (VIII.50) reduces to Problem (VIII.42) and, conver-
gence of the system output to the reference, is ensured by the previous Theorem .
52
The two step Infinite Horizon MPC with OPOM for integrating Systems
Instead of solving problem (VIII.50), whose convergence to the desired steady state can
only be achieved after the convergence of slack ik to zero, we may also solve sequentially
the two following problems:
Problem Pa
T
min Va ,k ki S2 ki uaT,k R ua ,k
ki ,ua , k
subject to
ua (k j | k ) U, j 0
where
T
ua ,k ua (k | k )T ua (k 1| k )T ua (k m 1| k )T and R and S 2 are posi-
tive definite
*
Let the optimal solution to Problem Pa be designated ki , ua*,k and consider the corre-
m 1
u* (k m 1| k ) u (k 1) ua* (k j | k )
j 0
This optimal input increment is passed to a second problem, which is solved within the
same time step:
Problem Pb:
ub,k ub,k
min s Vb,k ubT,k ks H 2 s 2 C Tf ,2 s c
T
ub , k , k
k k
subject to
ub (k j | k ) U, j 0
53
es ( k ) ks ( D2,i m Dm0 ) ub,k 0
m 1
u* (k m 1| k ) u (k 1) ub (k j | k ) (VIII.51)
j 0
T
where ub,k ub (k | k )T ub (k 1| k )T ub (k m 1| k )T
The control law obtained through the sequential solution of problems Pa and Pb above
leads to the convergence of the system output to the reference value as summarized in the
following theorem:
Theorem: For a system with stable and integrating poles, at a given sampling step k, Prob-
lem Pa is always feasible and the optimal prediction of input at steady state
u* (k m 1| k ) makes Problem Pb also feasible. Also, the control law, which results from
the successive solution of these two problems, drives the output of the closed loop system
to the reference value.
Proof: Consider the undisturbed system and assume that at time step k Problem Pa is
feasible. Let us designate the optimal value of the objective of Problem Pa as Va*,k . The
total increment of the control input is passed to Problem P4b as equality constraint
(VII.51). As far as Problem Pb is concerned, the decrease of its cost function cannot be
guaranteed at this stage. However, the use of the slack variable ks assures that there is a
feasible solution, which satisfies all the constraints of Pb. Let this optimal solution to
Problem Pb be designated ub*,k , ks* . The first control move ub* ( k ) is injected into the
true process and we move to time step k+1. At this time step, it can be easily shown that
T
ua ,k 1 ub* ( k 1)T ub* ( k m 1)T 0 and ik 1 ik* is a feasible solution to
Problem Pa. Now, considering that R is negligible in comparison to S2, the corresponding
value of the objective function of Problem Pa is still Va*,k . Consequently, the optimal
solution of Problem Pa at time step k+1 will be V4*a ,k 1 V4*a ,k . Since we have selected
54
Problem Pb has been made equivalent to Problem (VIII.42), which is now feasible. After
convergence, the solution of the Problem Pa reduces to the trivial solution ik 0 , and as
in (VIII.42) there is convergence of the system output to the reference through the
successive application of the control sequence produced by the solution of problems Pa
and Pb.
Each of the controlled outputs (y1, y2) is integrating with respect to one of the inputs
(u1,u2) and stable with respect to the other input. This system is simulated with Controller
I, which is produced by the solution of Problem (VIII.50) and with Controller II, which
corresponds to the sequential solution of problems Pa and Pb. The tuning parameters for
both controllers are represented in Table 1.
m Q R S1 S2 umax
3 diag(1,1) diag(10-2,10-2) diag(10,10) diag(103,103) [0.2, 0.2]
Table 1 Tuning parameters of controllers I and II.
For the comparison of controllers I and II, the following scenario is simulated: The initial
shows the system responses for the proposed controllers I and II. There is no clear
superiority of any of the two controllers. For the regulator operation (k between 0 and
100), Controller II has output responses that are slightly better than Controller I. For the
output tracking operation (k > 100), the two controllers are equivalent.
55
Figure 1. System responses for example 1. Controller I () and Controller II ( )
compared to cost Vb,k that is minimized in Problem Pb of Controller II. In the same figure,
Va,k , which is minimized in Problem Pa. We observe that cost Vb,k does not decrease at
the beginning of the regulator operation with Controller II. This is so because, while
56
Va,k 0 in Problem Pa, this means that Problem P2 would not be feasible and, consequent-
ly, there is no guarantee that the controller cost will decrease. As soon as, Va ,k converges
to zero, problems Pb and (VIII.42) become equivalent and cost Vb,k is forced to decrease.
IX. The infinite horizon MPC with input targets and control zones
Here, we consider a system with nu inputs and ny outputs and assume that the poles re-
lated to input ui and output yj are non-repeated. Then, the state space model is represented
in the following form:
x s (k 1) I ny 0 x s (k ) D0
u (k ) (IX.1)
x d ( k 1) 0 F x d (k ) D d
x s (k )
y (k ) I ny
(IX.2)
x d (k )
where
T T
x s x1 xny , x s ny , x d xny 1 xny 2 xny nd , x d nd ,
F nd nd , u (k ) u (k ) u (k 1)
Φ 0
Ψ , Ψ ny nd , Φ 1 1 , Φ nu na
0 Φ
Control structure
The control structure considered in this work is represented in Figure IX.1. In this struc-
ture, at time step k, the real-time economic optimization (RTO) stage, which is based on a
rigorous stationary model, computes the optimal target, udes ,k , for the manipulated input
variables. Another strategy, where the method proposed here can be easily adapted, corre-
sponds to the case in which the economic optimization level also sets the ranges for some
of the outputs. Here, it is assumed that the control stage corresponding to the MPC is dedi-
cated to guide the manipulated inputs to the desired targets defined by the supervisory
economic stage, while keeping the outputs within specified zones. In general, the target
57
udes,k will vary whenever a disturbance enters the process, or there is a change in the oper-
ating objective of the RTO layer.
economic
objective
Economic Op-
timization
(RTO)
udes,k
input and output range:
( ymin , ymax , umin , umax )
MPC
x̂ k
u(k)
y k
Observer System
The zone control strategy is implemented in applications where the exact values of the
controlled outputs are not important, as long as they remain inside a range with specified
limits. Honeywell’s RMPCT product implements a zone control strategy where the output
zone is a funnel defined by the output set point and a straight line connecting the last out-
put measurement to the set point. The funnel constraint is introduced in the control prob-
lem as a soft constraint, by switching in large penalty weights when the funnel boundaries
are crossed or approached. This strategy implies that the number of outputs that are effec-
tively being controlled may change depending on the output predictions. This means that,
along the continuous operation of the process, the control structure may change, and
switch from one controller to another. Consequently, the usual implementation of the zone
control does not guarantee stability even if a stable controller is synthesized for each con-
trol configuration. To achieve nominal stability the objective function of the extended
IHMPC is modified as follows:
58
Vk ,u y (k j / k ) ysp ,k y , k Qy y (k j / k ) ysp , k y ,k
T
j 0
u (k j / k ) udes ,k u , k Qu u (k j / k ) udes ,k u , k
T
(IX.3)
j 0
m 1
u (k j / k )T R u (k j / k ) yT,k S y y , k u ,k Su u ,k
T
j 0
are the slack variables that eliminate a possible infeasibility of the terminal constraints.
With the objective defined in (IX.3), the constraints that guarantee that the control objec-
tive is bounded can be written as follows:
xs (k ) D 0 uk ysp ,k y ,k 0
u (k 1) D u uk udes ,k u ,k 0
where
D 0 D 0 D 0 , D u I nu I nu
m m
Now, we define the MPC optimization problem that implements the zone control strategy
and enforces the economic target. This controller results from the solution to the following
problem:
Problem P1
min Vk ,u
uk , ysp , k , y , k , u ,k
subject to:
u (k j / k ) U ; j 0,1, , m 1
u (k j / k ) 0; jm
ymin ysp ,k ymax (IX.4)
59
In problem P1, the output set point ysp ,k is an additional vector of decision variables that
will be calculated through the solution to problem P1. Note that, in order to minimize the
control cost, ysp ,k can assume any value inside the output zone. If the output zone is speci-
fied such that the upper bound equals the lower bound, then the problem reduces to the
conventional set point tracking problem. In general, the output slack, y ,k , can be made
equal to zero if and only if the predicted steady state of the output lies inside the corre-
sponding zone.
Now, as the terminal constraints (IX.5) and (IX.6) are always satisfied because the slacks
are unconstrained, the cost defined in (IX.3) can be written as follows
m 1
Vk ,u y(k j / k ) y y ,k Qy y (k j / k ) ysp ,k y ,k
T
sp , k
j 0
m 1
u (k j / k ) udes ,k u ,k Qu u (k j / k ) udes ,k u ,k u (k j / k )T R u (k j / k )
T
j 0
T
x d (k m / k ) Q x d ( k m / k ) y , k T S y y , k u , k T Su u , k
Q T Qy F T QF (IX.7)
When the system state is measured, or the state observer is fast enough such that the state
estimation converges to the true system state in negligible time, the controller produced by
the solution to problem P1 will stabilize the closed loop system as shown in the theorem
below.
Theorem: For a system with stable modes that remains controllable at the steady state
point corresponding to the desired input targets and output zones, problem P1 is always
feasible. Then, the control sequence obtained from the solution to problem P1 at succes-
sive time steps drives the input to the desired target and the output of the closed loop sys-
tem asymptotically to a point within its corresponding zone.
60
Proof:
prove the convergence, assume that the state is known and no disturbance enters the
system. Also assume that
T
uk* u * k / k u * k m 1/ k , ysp , k , y , k and u , k correspond to the
T T * * *
optimal solution to problem P1 at time k. The cost corresponding to this solution is then
Vk*,u Vk ,u uk* , ysp* ,k , y*,k , u*,k (IX.8)
(IX.10)
u* (k / k ) udes,k u*,k Qu u* (k / k ) udes,k u*,k u* k Ru* k
T T
Since the right hand side of (IX.10) is positive definite, the successive costs are strictly
decreasing and for a large enough time k we have Vk*,u Vk*1,u 0 , which proves the
convergence of the cost. As the cost Vk ,u (uk , ysp ,k , u ,k , y ,k ) is positive definite and
unbounded, it is a Lyapunov function for the system and asymptotic stability is obtained.
Remark
It is important to observe that, even if the desired steady state is not admissible the pro-
posed controller will still be stable. This is a consequence of the decreasing property of the
cost function and the inclusion of the slack variables in the optimization problem, as the
open-loop system is assumed to be stable. In this case, the system will evolve to a point in
61
which the slack variables are as small as possible, but not equal to zero. This is an im-
portant feature of the proposed controller, as in a practical application a disturbance may
move the system to a point from which it is not possible to reach the desired steady state
When this happens, the controller will do its best to compensate the disturbance while
maintaining the system under control.
Alternative Formulation
We may reduce the case in which the desired steady state to the system input and outputs
is not achievable to the case where the targets that are fed to the MPC are achievable by
adopting an alternative structure. The alternative approach is represented in Figure 2.
This structure includes an intermediary layer, called target calculation, which computes
modified targets utarget,k for the inputs in order to guarantee the controllability of the MPC
controller. This means that the system input will converge to utarget,k while the output will
converge to a point within control zone. This intermediary layer solves the following prob-
lem:
Problem P2
min
utarget,k , k
Vtarget utarget, k udes, k
T
Rtarget utarget, k udes, k kT S target k
s.to :
umin utarget,k umax
actual output at steady state ( xˆ s k ) and the prediction at steady state based on the steady
state model. In this problem, Rtarget and Starget are weights that penalize the input error and
the output zone violation. Since the output zone violation should be tolerated only when
there is no input in the range umin u umax that satisfies the output zone, the weights
must be such that Rtarget S target . Note that problem P2 is always feasible while the same
problem without the output slack k could be infeasible for large disturbances (i.e. if there
is no input in the range umin u umax that satisfies the output zone constraint).
62
Figure 2: Extended control structure, considering an intermediary target calculation stage
A modified problem P1 is then solved within the same time step. The modifications in
problem P1 are as follows:
In this new version of problem P1, both utarget,k and k are assumed to be known.
With this formulation of the control problem, the MPC cost can converge to zero, which
means that the permanent offset in terms of the computed target utarget,k is eliminated.
In this system, the objective of the controller is to guide the manipulated inputs to the cor-
responding targets while maintaining the outputs (that are more numerous than the inputs)
63
within specified zones. The system has 2 inputs and 3 outputs, and the linear model used
by the controller is as follows:
0.45 0.20
2.98s 1 1.71s 1
y1 s
1.5
0.19s 3.81 u1 s
y 2 s 20s 1 17.73s 2 10.83s 1 u s
y3 s
2
1.74 6.13
9.10s 1 10.91s 1
The tuning parameters of the controller used in the closed loop simulation are the follow-
ing: m 3, T 1, Qy diag 1 1 1 , Qu 0.5 diag 1 1 , R 0.05 diag 1 1 ,
The input and output constraints, as well as the maximum input increment, are shown in
tables IX.1 and IX.2.
Table IX.1 Output zones for FCC subsystem
Output ymin ymax
y1 (ºC) 490 570
y2 (ºC) 550 800
y3 (ºC) 550 900
The input feasible set, n , corresponding to this problem can be seen in Figure 3. This set
is computed taking into account the input and output constraints and the model gain as fol-
lows:
n u : umin u umax and ymin yss D 0u D 0uss ymax yss
where uss and yss are the initial stationary values of the input and the output, respectively.
Since the output zones are quite narrow, n is considerable smaller than the set defined
solely by the input constraints.
64
udes,k
n
65
Figure 4: Inputs of the FCC subsystem.
Figure 5: Controlled outputs () and set points (- - -) of the FCC subsystem.
66
Figure 6: Cost function of the FCC subsystem.
Next, a sequence of operating changes is simulated. First, the output zones are modified
and the new zones are shown in Table IX.3. As a consequence of the new output zones,
the input feasible set changes its dimension and shape significantly as it is shown in Figure
7. The input target is assumed to remain the same as in the previous case. In Figure 7, 1n
corresponds to the initial feasible set and 2n represents the new input feasible set. In this
simulation, we also adopt the control structure defined in Figure 1. Since the controller
does not include the target calculation stage, and the input target is outside the input feasi-
ble set 2n , it is not possible to guide the system to a point in which the objective cost is
reduced to zero at the end of the simulation time. This means that the controller cannot
find an operating point in which the outputs are inside their zones and without offsets in
comparison with the input targets. However, if the output weight Sy is kept larger than the
input weight Su, then all the outputs are guided to their corresponding zones, while the in-
puts show a steady state offset with respect to the target udes,k. The complete behavior of
the inputs and outputs of the FCC subsystem, as well as the output set-point, can be seen
in Figures 8 and 9, respectively. The final steady state of the input is u=[196.24 100.28].
Figure 10 shows the control cost along the time.
67
Output ymin ymax
y1 (ºC) 510 550
y2 (ºC) 400 500
y3 (ºC) 350 500
final stationary u
2n
udes,k
1n
68
Figure 8: Manipulated inputs for the FCC subsystem with modified output zones.
Figure 9: Controlled outputs and set points for the FCC subsystem with modified zones.
69
Figure 10: Cost function for the FCC subsystem with modified zones.
MPC designs based on state space models usually include a state observer and exploit the
separation principle to claim stability. In other cases, the dynamics of the state estimates
generated by the state observer is assumed to be much faster than the dynamics of the state
feedback control law, and hence, the error signal between the observer and the actual sys-
tem is assumed to converge to zero at a much faster rate than the system converges to the
desired state. However, the presence of constraints in the MPC scheme makes the closed
loop non-linear. In other words, the state feedback could be dominated (precisely, when
the constraints become active) by nonlinear properties. As a result, the separation principle
can no longer be applied to the closed loop system in order to assure stability.
In this section, it is proposed a different approach to overcome the output feedback stabil-
ity problem. The method uses the non-minimal state space model (realignment model)
presented in section VI of these notes that avoids the use of the state observer. This ap-
proach produces a simpler control algorithm (and more attractive from the application
point of view) in comparison with the one that includes the observer dynamics in the for-
mulation of the control law. However, the non-minimal state space model introduces an
additional difficulty to the application of the infinite prediction horizon. This difficulty
will be discussed in the next in this section.
70
In section VIII of these notes, we have presented a stable infinite horizon MPC for sys-
tems with stable and integrating modes. In that approach, the model is written in such a
way that the non-stable modes are separated from the stable modes and, since an infinite
horizon cost is used, the non-stable modes are zeroed at the end of the control horizon (this
is so, in order to prevent the cost from becoming unbounded). When a non-minimal state
space model is used, a direct similarity transformation that produces the separation be-
tween the stable and non-stable modes cannot be found, since the resulting transformation
matrix is not invertible. As a result, the terminal constraint needed to guarantee stability
cannot be written. In section VIII, stability is only assured for the case where all the states
are measured, which does not usually happen in practice. In this section, this limitation is
eliminated through the adoption of the realignment model in which the state variables cor-
respond to the measured past outputs and inputs. Stable and integrating systems are con-
sidered.
This section is organized as follows: Initially, we describe the non-minimal state space
model used for predictions, and the problems that arise when a similarity transformation is
needed. It is also shown some model and transformation properties, useful for the formula-
tion of output feedback infinite horizon MPC. Next it is presented the proposed controller
and it is shown how the infinite cost is bounded for the general case of non-stable systems.
Next, it is presented the details of the stable MPC with output feedback for the case of sta-
ble and integrating systems. It is also presented the simulation analysis of an ethylene ox-
ide reactor system. A comparison between an output feedback controller based on a state
observer and the proposed controller is also presented in order to expose the advantages of
the new controller.
The model considered here is based on the following difference equation model:
na nb
y k Ai y k i Bi u k i , (X.1)
i 1 i 1
where na is the number of poles of the system, nb is the number of zeros of the system,
and the system is assumed to have nu inputs and ny outputs.
Model (X.1) corresponds to the following state space model in the output realigned form:
71
x k 1 Ax k Bu k
, (X.2)
y k Cx k
where
A Au B
A y , B u , C C y Cu
0 I I
B2 Bnb 1 Bnb
0 0 0
0 ,
na 1 ny nb 1 nu
Au 0 0
0 0 0
0 0 0
B1
0 0 0 0 I nu
I 0 0 0
I nu , Bu 0 , I ,
nb 1 nu nb 1 nu
0 I nu 0
0 0
T
xu k u k 1 u k 2 u k nb 1
T T T nb 1 nu
72
nx na 1 ny nb 1 nu
The partition of the state is convenient in order to separate the state components related to
the system output at past sampling steps, from the state components related to the input at
past sampling steps. Also, since the model is written in terms of the input increment (ve-
locity model), model (X.2) contains the modes of model (X.1) plus ny integrating modes.
Here, we assume that the system represented in (X.1) has non-repeated stable and integrat-
ing modes.
The state matrix A, in model (X.2), has the following property:
null rows, …., I nb 1 has (nb-1)nu rows and consequently is a null matrix.
In order to implement a MPC based on model (X.2) with infinite prediction horizon, we
need first to find a state transformation that makes explicit the stable and integrating parts
of the plant. One straightforward alternative is to adopt the eigenvalue-eigenvector Jordan
decomposition:
AVcom Vcom Ad , (X.3)
where Ad is a block diagonal matrix (Jordan canonical form) that makes explicit the differ-
ent dynamic modes of the system, and the columns of Vcom are the eigenvectors, or gener-
alized eigenvectors, of A.
An unsolved problem related to the transformation defined in (X.3) is that, since the rea-
ligned model defined in (X.2) is not of minimal order, matrix Vcom is not invertible. As a
result, it is not possible to recover the original states from the transformed states and the
main advantage of model (X.2) (i.e., the avoidance of an observer) is lost. Nevertheless,
we can still find states along the prediction horizon where a similarity transformation can
be performed (i.e., Vcom is invertible). To define these states, let us consider the following
sequence of input moves:
73
u k , , u k m 1 , 0, . (X.4)
Then, taking into account Property 1, and considering the sequence defined in (X.4), the
open-loop state predictions at time instants beyond the control horizon m, and computed at
time k, can be written as follows:
T
u
T
x k m
T
x k m | k xy k m u k m 1 u k m nb 1
T T
x k m 1| k Ax k m | k
T
xu k m 1
T
T
x y k m 1 0 u k m 1 u k m nb 2
T T
x k m ' j | k Anb 1 j x k m | k
xu k m ' j
T
A A x k m | k x y k m ' j
j nb 1
0 0 ,
T
j 1
where m ' m nb 1 . This means that beyond time step k m ' , the predictions of the last
nb 1 nu state components will be null. In other words, at time steps beyond k m ' , the
state predictions evolve according to matrix A , and the input matrix B does not affect the
evolution of the state as the input moves are assumed to be null beyond time k m ' . In
this scenario, we may consider the following transformation:
AyV VAd ,
where the similarity transformation matrix V ( na 1) ny ( na 1) ny is now full rank since the
modeled system is supposed to have (na 1)ny poles. Matrix Ad is again a block diagonal
matrix. Consider now the following augmented matrices:
V
V , V nx ( na 1) ny , Vin V 1 0 , Vin ( na 1) ny nx .
0
Then, the following equality holds:
F nst 0 Vnst
A VAdVin Vnst Vst , (X.5)
0 F st Vst
74
where the columns of Vnst and Vst span the non-stable (integrating) and stable subspaces of
the system, respectively. Also, F nst nnsnns is the state block diagonal matrix corre-
sponding to the integrating modes and F st nsns is the block diagonal matrix corre-
sponding to the stable modes (nns is the total number of integrating modes and ns is the
number of stable modes).
The transformation defined in (X.5) has the following property related to the state matrix
A of the model defined in (X.2):
Property 2:
Vin An Adn nb 1Vin Anb 1 , for n nb 1 .
Proof:
From (X.5), we have Vin A AdVin , which implies Vin AAnb 1 AdVin Anb 1 . Then, from Prop-
Remark 1:
For the predicted states where the similarity transformation is possible, the two system
representations: z k 1 Ad z k and x k 1 Ax k are equivalent. In fact, for any
x k m ' j | k A j x k m ' | k
Now, the integrating and stable states of the transformed model that is equivalent to model
(X.2) can be computed as
75
z nst k Vnst
z k st Vin x k x k . (X.6)
z k Vst
Furthermore, the system output can be expressed as:
z nst k
y k Cd st ,
z k
where Cd CV , z nst nns , z st ns , nz nns ns .
system. In the case of systems with nun non-repeated integrating modes (nun poles equal
to one), matrix F nst can be written as:
I D
F nst ny nnsnns , (X.7)
0 I nun
where nns nun ny , I ny and I nun are identity matrices, and D nynun with elements
zi k
In addition, the state component z nst
can be decomposed as z nst
un , and the trans-
z k
V
formation matrix Vnst , as Vnst i . The state z i ny corresponds to the integrating
Vun
states related to the velocity form of the model, and z un nun corresponds to the integrat-
ing states of the system.
Now, for the system structure discussed above, similarity transformation (X.5) has the fol-
lowing properties:
Property 3:
Proof:
The proof is directly obtained from Property 2.
76
Property 4:
Vun An Vun Anb 1 , for all n nb 1 .
Proof:
The proof is directly derived from Property 3.
z i , sp Vi x sp
z sp z un , sp 0 , and z i , sp Cdi 1 y sp .
z st , sp 0
Proof:
Since xsp corresponds to an equilibrium point, it has to satisfy A I nx x sp 0 . Then, the
satisfies Ad I nz z sp 0 .
0 D 0
Then, as Ad I nz 0 0 0 ,
st
0 0 F I ns
where D is assumed of full rank, and given that, F st I ns is diagonal full rank matrix, it is
easy to show that
z i , sp Vi x sp
z sp z un , sp 0 .
z st , sp 0
This means that the output set-point for the z-state is concentrated in the first ny compo-
nents. In addition, we have
z i , sp
Cx sp y sp , and Cx sp CVz sp Cd z sp Cd 0 Cdi z i , sp ,
0
77
where Cd Cdi Cdun Cdst , Cdi is associated with the integrating states related to the ve-
locity form of the model, Cdun is associated with the integrating states of the system, and
Now, we may formulate an infinite horizon MPC with output feedback based on model
(X.2). The MPC cost is written as
m 1
V1,k Cx k j | k y sp Q Cx k j | k y sp u k j | k Ru k j | k ,
T T
j 0 j 0
(X.8)
As usual in the receding horizon strategy, it is assumed that u k j | k 0 for j m .
The cost defined in (X.8) will be unbounded unless the integrating states are zeroed at a
suitable time step in the prediction horizon. Here, we propose to include in the control
problem, the following constraint:
z nst k m ' z nst , sp 0 m ' m nb 1 (X.9)
z i , sp
where z nst , sp i , sp
, and z is defined as in Property 5.
0
Constraint (X.9) can be expressed in terms of the current (and measured) state x, as fol-
lows:
Vnst Am ' x k Vnst Baug uk z nst , sp 0 (X.10)
where
V
Vnst i , Baug Am '1 B Am '2 B B
Vun
and
T
uk u (k | k )T u (k m 1| k ) 0 0 .
T
m 'm
78
Observe that to satisfy constraint (X.10) we need at least one degree of freedom per inte-
grating state ( m nu nns ). In addition, we must add to the optimization problem the
constraints related to the input and input increment:
u k j | k U , j 1, , m 1 , (X.11)
where
u max u k j u max
U u k j min j
max
u u k 1 u k i u
i 0
The cost defined in (X.8) can also be written as:
m'
V1,k Cx k j | k y sp Q Cx k j | k y
T
sp
j 0
m 1
.
Cx k j | k y Q Cx k j | k y u k j | k Ru k j | k
T T
sp sp
j m ' j 0
Now, taking into account constraint (X.9), the infinite sum of the above cost can be devel-
oped as follows:
Vz k j | k x
C T QC Vz k j | k x sp
T
sp
j m '
z k j | k z
V T C T QCV z k j | k z sp
T
sp
j m '
T
F nst i z nst k m ' | k z nst , sp
F nst i z nst k m ' | k z nst , sp
V T C T QCV
F st z st k m ' | k
F st z st k m ' | k
i i
i 0
,
iT
z st k m ' | k Vst T C T QCVst F st z st k m ' | k
T i
F st
i 0
This means that the infinite sum of the control cost can be written as follows
z k m '|k
T
z k m '|k
st
st
Cx k j | k y Q Cx k j | k y x k m ' | k VstT PVst x k m ' | k ,
T T
sp sp
j m '
P Vst C T QCVst F st PF st .
T T
79
It can be shown that if the optimization problem that minimizes (X.8) subject to con-
straints (X.10) and (X.11) is feasible at time step k, it will remain feasible at any subse-
quent time step k+j, and the control law resulting from the solution to this optimization
problem stabilizes the closed loop system. However, the domain of attraction of this con-
troller is usually too small for practical applications, as the control horizon m is small to
reduce the computation effort. This implies that constraints (X.10) and (X.11) may be-
come infeasible for disturbances of moderate size in the integrating states. Following the
approach of section VIII, one alternative to enlarge the region where the controller is fea-
sible is to include slack variables into the control problem. Thus, we propose to extend the
cost defined in (X.8) as follows
V2,k Cx k j | k y sp CV k , j Q Cx k j | k y sp CV k , j
T
j 0
m 1
, (X.12)
u k j | k Ru k j | k S
T nstT nst
k k
j 0
where
nst k , j j k
nst
k, j Ad , k is a vector of slack variables that is intro-
nz nst
0 0
duced in the control problem to enlarge the domain of attraction of the proposed controller
and S is a positive matrix of appropriate dimension. As a result of this modification, the
terminal constraint defined in (X.10) becomes
z nst k m ' z nst , sp nst k , m ' 0 (X.13)
that can be expressed in terms of the current (and measured) state x, as follows:
j 0
Cx k j | k y sp CV k , j Q Cx k j | k y sp CV k , j .
T
j m '
m 1
u k j | k Ru k j | k knstT S knst
T
j 0
Now, since at time (k+m’) there is a one to one correspondence between states x and z, the
infinite sum term of the cost can be written as:
80
T
sp sp
x x
j m '
Vz k j | k Vz V k , j C QC Vz k j | k Vz V k , j
sp
T
sp
T
F nst
z k m ' | k z k , m '
i
nst nst , sp nst
V T CT Q
F z k m ' | k
i
i 0
st st
F nst
z k m ' | k z k , m '
i
nst nst , sp nst
CV
F z k m ' | k
i
st st
iT
z st k m ' | k Vst T C T QCVst F st z st k m ' | k
T i
F st
i 0
Making use of the results above, the extended infinite horizon MPC is obtained from the
solution to the following optimization problem:
Problem P1
min V2,k
uk , knst
Although Problem P1 is well posed and we can prove that the cost is always bounded, the
control law resulting from the solution to P1 does not necessarily produce an asymptotic
converging closed loop system. In order to obtain a stable closed-loop system, we may
split Problem P1 into two sub-problems as was done in section VIII.
Remark 2:
Note that in the control cost defined in (X.12), the infinite sum term has no real physical
meaning, as it contains the slack CV k , j that is only included to make the cost bound-
ed. However, once the slack k , j is zeroed, this infinite sum term penalizes the output
error, as usual. This fact justifies the strategy of splitting the control problem in two sepa-
rate problems: one that assures that the slack knst converges to zero in finite time, and the
81
other that guarantees that the output error, without the slack, converges to zero asymptoti-
cally.
where ik ny is the vector of slack variables corresponding to the integrating states re-
Then, the proposed stable MPC with output feedback results from the solution to the two
following optimization problems:
Problem 2a
T
min Va ,k kun S un kun
ua , k , kun
subject to
ua (k j | k ) U , j 0, 1, , m 1
m'
Vun Am ' x k Vun Baug ua ,k z un , sp F un kun 0 (X.15)
(Notice that, following the definition given in Property 5, z un, sp 0 . In addition, notice
m'
that Eq. (X.15) is equivalent to z un k m ' | k F un kun 0 )
Problem 2b
m '1
Cx k j | k y sp CV k , j Q Cx k j | k y sp CV k , j
T
minnst Vb,k
ub , k ,k j 0
m 1
x k m ' | k VstT PVst x k m ' | k ub k j | k Rub k j | k ik T S i ik
T T
j 0
82
subject to:
ub (k j | k ) U , j 0, 1, , m 1
m'
Vnst Am ' x k Vnst Baug ub ,k z nst , sp F nst knst 0 (X.16)
*
kun kun . (X.17)
*
where kun corresponds to the optimal slack of the integrating states obtained from the
solution to Problem 2a. These two optimization problems are solved sequentially at the
same time step.
Now, assuming that the system remains controllable at the desired steady-state, the solu-
tion to problems 2a and 2b produces a controller that is capable of driving the cost defined
in (X.12) to zero, as shown in the theorems below.
Theorem 1
For systems with stable and integrating modes, the sequential solution to problems 2a and
2b is always feasible; and the optimal cost is decreasing and converges to a stationary
point.
Proof
Assume that at time step k, the control sequence:
T
i*
nst *
ub,k ub (k | k )*T ub (k m 1| k ) *T
0 0 , k k *
kun
m ' m
represent a feasible solution to Problem 2b. This solution satisfies constraint (15) that us-
ing Property 4, becomes
m 1
Vun Anb 1 x k Vun Anb 1 B ub (k j | k )*T kun* 0 . (X.18)
j 0
Then, at time step k+1
T
*
ua ,k 1 ub (k 1| k )*T ub (k m 1| k ) *T
0 0 0 , kun1 kun ,
m ' m
(X.19)
is a feasible note that the solution defined in (19) satisfies
83
m
Vun Anb 1 x k 1 Vun Anb 1 B ub (k j | k )*T kun1 0 . (X.20)
j 1
Also, for the undisturbed system, we have
Vun Anb 1 x k 1 Vun Anb 1 x k Vun Anb 1 Bub (k | k )*
then, equation (X.20) is exactly the same as (X.18), which means that the control sequence
*
defined in (X.19) is feasible and kun1 kun
Now, if the input increment is not constrained, kun1 can be made equal to zero by consid-
ering the following control sequence:
T
ua ,k 1 ub (k 1| k )*T ub (k m 1| k )*T u 0 0 ,
m ' m
where
1
u Vun Anb 1 B kun*
If the input is constrained, then it is easy to show that kun1 can be reduced to zero in a
u j
number of time steps not larger than max where index j designates the compo-
j u j ,max
nents of u and umax . This proves that the cost Va ,k will converge to zero in a finite
Problem P3
m ' 1
Cx k j | k y sp CV i ik Q Cx k j | k y sp CV i ik
T
minnst V3,k
uk ,k j 0
m 1
(X.22)
x k m ' | k VstT PVst x k m ' | k u k j | k Ru k j | k ik T S i ik
T T
j 0
84
subject to (X.16), (X.11) and
kun 0 , (X.23)
where V V i V un V st .
It is easy to show that the cost defined in (X.22) is decreasing and converges to a bounded
value. Also, it is straightforward to show that if Va,k converges to zero and V3,k converges
to a bounded value, then, V2,k will also converge to a bounded value and the theorem is
proved.
Observe that the inclusion of slack ki in the control problem may allow the term in V3,k
related to the error on the output to converge to a stationary value where the slack is not
equal to zero. This situation corresponds to the convergence of the closed loop system to a
steady state with offset in the output. This may happen when the stable modes are no
longer controllable (e.g. the input becomes saturated) or parameter Si is not properly se-
lected. Now, we show how to select Si in order to prevent the output offset.
Theorem
For systems with stable and integrating modes that remain controllable at the steady state
corresponding to the desired output reference, if weight Si is sufficiently large, then the
control sequence obtained from the solution to problems 2a and 2b at successive time
steps drives the output of the closed loop system asymptotically to the reference value and
the control cost to zero.
Proof
Suppose that when k k (large enough) the state tends to the steady state defined by
x k . In addition, the solution of the optimisation problem (X.22) at steady state produces
Vi Am ' x k z i , sp ki .
85
Also, the stable part of the state will tend to zero at this steady state, or
z (k m ' | k ) Vst Am ' x k 0 . Thus, at this steady state, the cost will be given by
T
V3,k ki S i ki . Now, lets us find a control sequence that corresponds to a value of the cost
that is smaller than V3,k . For this purpose, assume that m 2 , which is the minimum con-
trol horizon to produce an offset free controller, and assume also that none of input con-
straints is active. Then, let the solution to problem (X.22) at k be given by the sequence
T
uk u (k | k )T u (k 1| k )T 0 0 ,
m ' m nb 1
and
Vi Am ' x k z i , sp
ki Vi Baug uk ki 0 . (X.25)
Now, let us find a control sequence that satisfies (X.25) and makes ki 0 . Provided that
we have assumed that Vun Anb 1 B is full rank, equation (X.24) implies
u (k | k ) u (k 1| k ) .
For this case, equation (X.25) becomes
Vi Anb 1 Anb Bu (k | k ) ki ,
or, taking into account the structure of F nst for integrating systems, the above equation
becomes
DVun Anb 1 Bu (k | k )T ki .
Consequently, assuming that DVun Anb 1 B is not singular (provided that Vun Anb 1 B is as-
sumed to be full rank, if rank D nun , then DVun Anb 1 B is also full rank), a possible
86
un
DV Anb 1 B 1
1
nb 1
DVun A B
where M
0
nb 1
0
For this control sequence, the value of the cost is given by
V3,k ik Aext M ss1 I Bext M
T T
C T QC Aext M ss1 I Bext M
,
P Vst Baug M M T RM ik
T
Vst Baug M
where
V Am ' I
M ss in nxnx , Iu 0 I nb 1nu
nb 1 nu nx
, I ny nxny ,
Iu 0
A B 0
Aext , Bext and R diag R R 0 0
Anb 1 Anb B B
S i Aext M ss1 I Bext M
T
C T QC Aext M ss1 I Bext M
Analogously, for other values of m, a similar procedure can be used to define a sufficiently
large value of Si, such that the convergence of the output of the closed loop system to the
reference is guaranteed.
5. Simulation results.
87
This system has two stable and two integrating modes. The model defined in (X.2) intro-
duces two additional integrating modes related to the velocity form of the model. Then,
the minimal number of states of the model of the ethylene oxide reactor is 6. The non-
minimal model used here, as described in (X.2), has 16 states.
In all the cases considered here, the tuning parameters of the controller are the following:
m 3, umax 0.75 0.75 , umin 0.75 0.75 , umax 0.05 0.05 ,
Let us designate Controller I the controller defined by the sequential solution to problems
2a and 2b, and Controller II the controller presented in section VIII. Controller II is a two-
stage infinite horizon MPC controller that computes the output predictions based on the
current estimate of the state and an output prediction oriented state space model (OPOM).
The observer used in this structure is a typical Luenberguer-like observer, with a gain ma-
trix given by:
-0.1673 -0.0450
-0.1293 -1.1593
1.7059 0.0522
L .
0.1394 2.6457
-2.0850 -0.0371
0.0552 1.7246
First, we simulate a change in the output set point. The system starts from the origin and at
time step 10 min, the desired output values are changed to y sp 1 1 . We can see in
T
figures X.1 and X.2 that the system inputs and outputs are almost coincident for the two
controllers. This is easy to justify: both controllers use a perfect model, and, since no dis-
turbances enter the system, there is no difference between the estimated and the real states.
Figure X.3 shows the cost functions corresponding to problems 2a and 2b of Controller I.
Cost Va ,k is null during all the simulation because the system starts from a steady state in
88
Fig. X.1. Inputs for a change in set point. Controller I () and Controller II ( ).
Fig. X.2. Outputs for a change in set point. Controller I () and Controller II ( ).
89
Fig. X.3. Costs Va ,k () and Vb ,k ( ) of Controller I, for a change in set point.
The same controllers were also tested for the regulator case by simulating the closed loop
system with an unmeasured disturbance in the system input. This disturbance corresponds
to the control move u 0.4 0.4 . The desired output values are kept at
( y1sp , y2sp ) 0 0 during all the simulation time. Figures X.4 and X.5 describe the inputs
and outputs of the system, respectively. It is clear that with both controllers, the outputs
tend to the desired values while the inputs converge to new steady state values that are not
equal to zero. This is so because the inputs need to compensate the effect of the disturb-
ance that is introduced in the input. However, Controller I shows a better performance
since the state estimation adds an additional dynamics to the closed loop with Controller
II. This effect can be clearly seen in Figure X.4 where the control action applied by Con-
troller II to reject the disturbance is significantly slower than the one applied by Controller
I. As a result of the disturbance in the integrating states, Figure X.6 shows that, cost Vb,k
of Controller I is not strictly decreasing until cost Va ,k is zeroed (that is, until the slack
variable kun is zeroed). In this case, the convergence of cost Va , k to zero can only be
90
Fig. X.4. Inputs for an input disturbance. Controller I () and Controller II ( ).
Fig. X.5. Outputs for an input disturbance. Controller I () and Controller II ( ).
91
Fig. X.6. Costs Va ,k (solid line) and Vb ,k (dashed line) corresponding to problems 2a and
2b of Controller I, for a disturbance in the input.
Observe that this is not a receding horizon problem as in model predictive control. Also,
note that for k = N, we have
VN xT ( N ) S ( N ) x( N ) (XI.3)
where
S ( N ) Q0
Now, we solve the following problem
VN 1 min xT ( N 1)Q1 x( N 1) u T ( N 1)Q2u ( N 1) VN (XI.4)
u ( N 1)
92
Now, using the model equation (XI.1) in (XI.3) and substituting in (4), we have
xT ( N 1) Q1 AT S ( N ) A x( N 1) xT ( N 1) AT S ( N ) Bu ( N 1)
VN 1 min (XI.5)
u ( N 1) B S ( N ) Ax( N 1) u ( N 1) B S ( N ) B Q2 u ( N 1)
u ( N 1) T T T T
or u ( N 1) L( N 1) x( N 1) (XI.6)
where
1
L( N 1) BT S ( N ) B Q2 BT S ( N ) A
VN 1 xT ( N 1) S ( N 1) x( N 1)
where
The above problem is the same as the problem defined in (XI.4), but with the time argu-
ments shifted one step backwards. The procedure can be repeated until V0 is reached.
For any intermediary step we have
u ( k ) L( k ) x( k )
1
L(k ) BT S (k 1) B Q2 BT S (k 1) A
The solution to the LQ-problem gives a time-varying controller. The feedback matrix does
not depend on the state x and can be precomputed from k N to k 0 and stored in the
93
computer. Usually, only the stationary controller (the constant controller obtained when
the time horizon increases) is used. For time-invariant processes and cost functions, S(k)
will (under quite general assumptions) converge to a constant matrix as the time horizon
increases. Then, (XI.7) becomes
T
S A BL S A BL Q1 LT Q2 L (XI.8)
1
and L BT SB Q2 BT SA (XI.9)
u (k ) L x(k ) (XI.10)
It can be shown that if the system defined in (XI.1) is reachable and if ( A, U ) is an ob-
servable pair, where
Q1 U T U
then, there exists a unique, symmetric, nonnegative define solution to the Riccati equation.
If Q1 and Q2 are positive definite, the control strategy defined through (XI.8) to (XI.10)
gives an asymptotically stable closed-loop system
Proof
Consider the following function
V x(k ) xT ( k ) Sx(k )
T
xT (k ) A BL S A BL S x(k )
V x(k ) xT (k ) Q1 LT Q2 L x(k )
94
Example:
Here, we compare the performance of the Linear Quadratic Regulator to the performance
of the extended IHMPC, which was presented in section VIII of these notes. We consider
the same 22 system represented by the following transfer function:
2.5 5.8
9.05s 1 9 s 1
G ( s)
1.5 5.3
7.5s 1 10.2 s 1
The tuning parameters of the LQR are the following
T=1
ysp = [1 -1]'
Q1=diag([1 1 1 1 1 1])
Q2=diag([1 1])
Fig. XI.1 shows the responses of the system outputs and inputs for the set point change
defined above.
Figure XI.1 Response of the closed loop system with LQR (black line) and IHMPC (blue
line) for a set point change.
95
From Fig. XI.1,we can see that the response of the LQR is much slower than the infinite
horizon MPC with the same weights in the cost functions. Fig. XI.2, shows the responses
of the two controllers for a different change in the set points ( ysp [1 1]' ). In this case
the response of the LQR is much closer that the response of the IHMPC.
Figure XI.2 Response of the closed loop system with LQR (black line) and IHMPC (blue
line) for a set point change.
96
XII. Dual MPC
(Rossiter, J.A., Model-Based Predictive Control, A Practical Approach, CRC Press–2003)
In Mode 1, we have the conventional MPC, which brings the system from the initial state
x(k) to a point inside set S where a second controller takes over and conveys the system to
the desired state xsp. This second controller is the linear unconstrained quadratic regulator
and in the calculation of the state trajectory, the switching from controller I to controller II
must be considered. Thus, the state trajectory can be represented as follows:
x
x(k | k ) x(k 1|k
) x(k m | k)
x(k m 1| k ) x ( k np | k )
Mode 1 Mode 2
Inside Mode 1, the state evolves as follows
x(k i ) Ax(k i 1) Bu (k i 1), i 1, 2,..., m
where u (k i 1), i 1, 2,..., m are the degrees of freedom of the controller.
Inside Mode 2, the state is obtained as follows
u (k i ) K x(k i ) xsp
x(k i) x A KB x(k i 1) x ,
sp sp im
where K is such that A+KB has all the eigenvalues strictly inside the unit circle.
97
2-Define a terminal invariant region S for state x assuming the feedback law defined in
item 1.
For instance, x S xT Wx 1 where W 0 defines an ellipsoid. Also, if xT Wx 1 and
considered in mode 2.
Proof
To prove that S is an invariant set, we need to prove that if x(k) is in S, then x(k+1) will
also be in S.
Observe that in the above proof, it is assumed that xsp is a steady state of the closed loop
system.
3-Define m and use the state space model to represent the predictions
x(k 1| k ), x(k 2 | k ), ... , x(k m | k ) in terms of the present state and the future con-
T
min J k x(k j | k ) xsp Q x(k j | k ) xsp u ( k j | k )T Ru ( k j | k )
uk j 0
(XII.1)
subject to
umax u (k j | k ) umax j 0,1, ... , m 1
x( k m | k ) x W x(k m | k ) xsp 1
T
x( k m | k ) S or sp (XII.1a)
Theorem
The MPC with dual-mode where the control action uk is obtained from the solution to
98
Proof
It is easy to show that the objective function Jk is a Lyapunov function for the closed-loop
system with the dual-mode controller defined above. For this purpose, consider the opti-
mal control sequence obtained at time step k
u * (k | k ), u * (k 1| k ), ... , u * (k m 1| k ), K x* (k m | k ) xsp , K x* (k m | k ) xsp , ...
where A KB . The resulting optimal value for the objective is J . Then, u (k | k ) *
k
*
is injected in the process and (XII.1) is solved again at time k+1, where the following con-
trol sequence
u * (k 1| k ), ... , u * (k m 1| k ), K x* (k m | k ) xsp , K x* (k m | k ) xsp , ... (XII.2)
m
J k*
Consequently, J k*1 J k* and the equality is only true if x(k | k ) xsp 0 and the objective
converges to zero.
m T m 1
J k x(k j | k ) xsp Q x(k j | k ) xsp u (k j | k )T Ru (k j | k )
j 0 j 0
T
x(k j | k ) xsp Q x(k j | k ) xsp u (k j | k )T Ru (k j | k )
j m 1 j m
(XII.3)
The infinite sums that appear in (XII.3) can be represented as follows
99
T
Vk x(k m j | k ) xsp Q x(k m j | k ) xsp
j 1
u (k m j | k )T Ru (k m j | k )
j 0
j x(k m | k ) xsp Q j x(k m | k ) xsp
T
j 1
K j x(k m | k ) xsp R K j x(k m | k ) xsp
T
j 0
T
Vk x(k m | k ) xsp j Q j K j R K j x(k m | k ) xsp
T T
j 1 j 0
where
Q T Q T Q R T R K T RK
If the control law is given by u (k ) K x(k ) xsp , then the polyhedral set correspond-
ing to the input constraints for the controller corresponding to mode 2 of the dual-MPC is
given by:
a) umax u (k m i | k ) umax i 0,1, ... , nc
100
umax K i x(k m | k ) xsp umax (XII.4)
umin u (k m 1| k ) K I nx i x( k m | k ) x u
xp max
(XII.5)
where nc should be large enough so that (XII.4) and (XII.5) produce an invari-
ant set.
control problem, matrix W has to be computed (offline). It has to satisfy the invariance
constraint:
T W W 0
that can also be written as follows
T W T W 1W W 0
and using the Schur complement, it can be represented as a linear matrix inequality (LMI)
W W
T W W 0 (XII.6)
W should also be computed such that the constraints in the control move are satisfied;
umax K x(k m i | k ) xsp umax
2
K x(k m i | k ) xsp KW 2W x(k m i | k ) x
2 1 1
2
sp
2 2
2 2
x(k m i | k ) x
1 1
KW 2
W 2
sp
2 2
2 2
x(k m i | k ) x W x(k m i | k ) xsp KW
1 T 1
KW 2
sp
2
2 2
101
Consequently
1 2
2
KW 2
umax 2
2
2
KWK T umax 2
2
2
KWK T I nu umax 2
(XII.7)
102