Lecture: Model reduction
Automatic Control 2
Model reduction
Prof. Alberto Bemporad
University of Trento
Academic year 2010-2011
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 1 / 17
Lecture: Model reduction Model reduction
Systems reduction
The complexity of the control law often depends on the order of the system
(for example in state-space methods like dynamic compensation)
For control design purposes, can we approximate the model with another
model of reduced order that preserves the original transfer function as much
as possible ?
We already know that uncontrollable and unobservable modes do not affect
the transfer function. They can be eliminated by operating a canonical
decomposition
Can we try to eliminate other modes that are weakly uncontrollable and/or
weakly observable, and get a numerically well-conditioned lower-order
state-space realization ?
Model reduction and balanced transformations answer the above questions
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 2 / 17
Lecture: Model reduction Model reduction
Unbalanced realizations and scaling
Consider the linear system
− 12
x1 (k + 1) x1 (k)
−6
0 10
x (k + 1) = + u(k)
− 32 x2 (k) 106
2 0
x (k)
1
10−6
y(k) = 106
x2 (k)
The state x1 is “weakly” reachable, but “very”observable
The state x2 is “very” reachable, but “weakly” observable
Let’s rescale the system by operating the change of coordinates
6
10 0
z= x
0 10−6
The system expressed in new coordinates is numerically balanced
1
z1 (k + 1) z1 (k)
−2
0 1
z (k + 1) = + u(k)
2
(k)
2 0 − z 2 1
3
z (k)
1
y(k) = 1 1
z2 (k)
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 3 / 17
Lecture: Model reduction Model reduction
Grammians
Consider the discrete-time linear system
x(k + 1) = Ax(k) + Bu(k)
y(k) = Cx(k) + Du(k)
Since now on we assume that matrix A is asymptotically stable
The controllability Grammian for discrete-time systems is the matrix
X∞
MATLAB
Wc ¬ Aj BB0 (A0 )j
Wc = gram(sys,’c’)
j=0
The observability Grammian for discrete-time systems is the matrix
∞
X
MATLAB
Wo ¬ (A0 )j C0 CAj
Wc = gram(sys,’o’)
j=0
Similar definitions exist for continuous-time systems
For P
discrete-time systems the controllability Grammian is related to the cost of minimum energy control:
∞
min j=0 u2 (j) = x(0)0 Wc−1 x(0). The observability Grammian to the output energy of the free response:
P∞ 2
j=0 y (j) = x(0)0 Wo x(0). The Grammians solve the Lyapunov equations Wc = AWc A0 + BB0 and
Wo = A0 Wo A + C0 C, respectively
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 4 / 17
Lecture: Model reduction Model reduction
Balanced state-space realizations
Definition
A state-space realization is called balanced if the Grammians Wc and Wo
are equal and diagonal
σ 0 ... 0
1
0 σ2 ... 0
Wc = Wo = Σ, Σ = .. .. . . ..
. . . .
0 ... 0 σn
A procedure to derive the transformation matrix T such that the equivalent
state-space form à = T −1 AT, B̃ = T −1 B, C̃ = CT, D̃ = D is balanced is
described in [1]
the procedure is implemented in the MATLAB function balreal
MATLAB
where σ = [σ12 . . . σn2 ]0
[sysb,σ,T −1 ,T ] = balreal(sys)
[1] A.J. Laub, M.T. Heath, C.C. Paige, R.C. Ward, “Computation of System Balancing Transformations and
Other Applications of Simultaneous Diagonalization Algorithms,” IEEE Trans. Automatic Control, vol. 32,
pp. 115-122, 1987
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 5 / 17
Lecture: Model reduction Model reduction
Model reduction
Once the system is in balanced form we can easily reduce the order of the
model by eliminating the states associated with small σi ’s
Σ1 0|
W̃c = W̃o = Σ2 Σ1
−0 Σ| 2
Ã11 Ã| 12 B̃1
z(k + 1) = z(k) + u(k)
−
Ã21 Ã| 22 −
B̃2
y(k) = C̃1 −
C̃2 z(k)
MATLAB
rsys = modred(sys,elim,’del’)
z1 (k + 1) = Ã11 z1 (k) + B̃1 u(k) elim = indices of the states
y(k) = C̃1 z1 (k) to be eliminated
A similar idea applies to continuous-time systems
Wednesday, May 26, 2010
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 6 / 17
Lecture: Model reduction Model reduction
Example
s3 +11s2 +36s+26
Transfer function: G(s) = s4 +14.6s3 +74.96s2 +153.7s+99.65
State-space realization in canonical reachability form:
0 1 0 0
0
A= 0
0
0
0
1
0
0
1 , B = 0 , C = [ 26 36 11 1 ] , D = 0
0
−99.65 −153.7 −74.96 −14.6 1
Controllability and observability Grammians:
0.0000 0.0000 −0.0001 0.0000 84.6757 122.1890 37.4774 3.3919
Wc = 0.0000
−0.0001
0.0001
−0.0000
−0.0000
0.0006
−0.0006
0.0000 Wo = 122.1890
37.4774
179.5744
55.2945
55.2945
17.0406
5.0110
1.5448
0.0000 −0.0006 0.0000 0.0408 3.3919 5.0110 1.5448 0.1401
After balancing, we get
MATLAB
0.1394 » sys=ss(A,B,C,D);
0 0 0
» [sysb,sigma,Tinv,T] = balreal(sys);
W̃c = W̃o = 0
0
0.0095
0
0
0.0006
0
0 » Wc=diag(sigma);
0 0 0 0.0000 » Wo=Wc
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 7 / 17
Lecture: Model reduction Model reduction
Example
After applying the transformation matrix T we get
−3.601 0.8212 −0.6163 −0.05831 −1.002
à = −0.6163 −1.027 −5.914 −1.127 , B̃ = −0.08612
−0.8212 −0.593 1.027 0.09033 −0.1064
0.05831 0.09033 1.127 −4.492 0.008112
C̃ = [ −1.002 0.1064 −0.08612 −0.008112 ] , D̃ = 0
Let’s eliminate states z3 , z4 and get a model of reduced order 2
The transfer function of the reduced-order model is
0.9926s + 0.7297
Gb (s) =
s2 + 4.194s + 2.81
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 8 / 17
Lecture: Model reduction Model reduction
Example (cont’d)
Let’s compare the frequency responses of G and Gb : they are almost
indistinguishable !
Bode diagram of G and G
b
−10
−15
−20
In general, the smaller are the
Magnitude (dB)
−25
−30
removed singular values σi with
−35
−40 respected to the ones we keep,
−45
0
G
Gb
the more similar are the
responses of the original and
Phase (deg)
−45
reduced-order models
−90
−1 0 1 2
10 10 10 10
Frequency (rad/sec)
Note that after balancing the states completely loose their physical meaning
The original state x can be recovered (approximately)
T T from the reduced state
z1 using the transformation matrix T = T11 12
21 T22
T
x = T21 z1 ← x is treated here as an output of the reduced-order model
11
The reduced state z1 can be estimated by a state observer (the pair Ã1 , C̃1 is
observable by construction)
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 9 / 17
Lecture: Model reduction Model reduction
Matched DC gain method for model reduction
Consider again the complete model
x1 (k + 1) = A11 x1 (k) + A12 x2 (k) + B1 u(k)
x2 (k + 1) = A21 x1 (k) + A22 x2 (k) + B2 u(k)
y(k) = C1 x1 (k) + C2 x2 (k)
Assume the dynamics of x2 are “infinitely fast”: x2 (k + 1) ≈ x2 (k)
We can eliminate the states contained in x2 by substituting
x2 (k) = (I − A22 )−1 (A21 x1 (k) + B2 u(k))
therefore obtaining
x1 (k + 1) = (A11 + A12 (I − A22 )−1 A21 )x1 (k) + (B1 + A12 (I − A22 )−1 B2 )u(k)
y(k) = (C1 + C2 (I − A22 )−1 A21 )x1 (k) + C2 (I − A22 )−1 B2 u(k)
A similar idea can be applied in continuous-time, by setting ẋ2 (t) ≈ 0
x2 (t) = A−1
22 (A21 x1 (t) + B2 u(t))
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 10 / 17
Lecture: Model reduction Model reduction
Matched DC gain method for model reduction
Property
The matched DC-gain method preserves the DC gain of the
original full-order model
Proof:
Simply observe that for both the original and the reduced-order model in
steady-state x1 , x2 depend on u in the same way
MATLAB elim is the vector of state indices to
rsys=modred(sys,elim,’mdc’) eliminate
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 11 / 17
Lecture: Model reduction Model reduction
Example (cont’d)
Consider again the state-space realization
0 1 0 0
0
A= 0
0
0
0
1
0
0
1 , B = 0 , C = [ 26 36 11 1 ] , D = 0
0
−99.65 −153.7 −74.96 −14.6 1
Let’s eliminate the states x3 and x4 using the matched DC-gain method
We get a 2nd order model whose transfer function is
0.1467s2 + 0.4803s + 0.3469
Gm (s) =
s2 + 2.05s + 1.329
Bode diagram of G and Gr
−10
−15
Magnitude (dB)
−20
−25
−30
Emphasis here is on matching at low
−35
−40
0
frequencies (DC gain in particular!)
G
DC gains: G(0) = Gm (0) = 0.2609
Gr
Phase (deg)
−45
−90
−1 0 1 2
10 10 10 10
Frequency (rad/sec)
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 12 / 17
Lecture: Model reduction Model reduction
Example (cont’d)
Step responses of G, Gr, Gm
0.35
G
Gr
Gm
0.3
0.25
Original DC gain: G(0) = 0.2609
Amplitude
0.2
0.15
DC gain of Gm (s): Gm (0) = 0.2609
0.1
DC gain of Gb (s): Gb (0) = 0.2597
0.05
0
0 1 2 3 4 5 6
Time (sec)
The matched DC-gain method is only good to capture the DC gain exactly
Model reduction via balanced transformation provides best match
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 13 / 17
Lecture: Model reduction Model reduction
Comments on model reduction
How good is the reduced-order model should be judged on the performance
of the original system in closed-loop with a controller based on the reduced
model
A good reduced-order model provides very good closed-loop performance
and a low-order dynamic control law at the same time
Let’s see an example ...
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 14 / 17
Lecture: Model reduction Model reduction
Example (cont’d)
Consider the LQR performance index
∞
X
min y2 (k) + ρu2 (k)
k=0
LQR controller based on complete model (A, B, C, D):
1
u(t) = Kx(t) + Hr(t), H=
C(−A − BK)−1 B + D
LQR controller based on reduced model (A1 , B1 , C1 , D1 ):
z1
z2 = T −1 x
u(t) = Kb z1 (t) + Hb r(t), Hb = C(−A−BK [I 10]T −1 )−1 B+D
b
LQR controller based on the model reduced by the matched DC gain method:
x1 =
1 0 0 0
0100 x
1
u(t) = Km x1 (t) + Hm r(t), Hm = C(−A−BK [I 0])−1 B+D m
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 15 / 17
Lecture: Model reduction Model reduction
Example (cont’d)
Closed−loop step response of G with different LQR controllers
=
1.4
K
K
u Kx
b
= [ −29.5403 −43.0578 −13.2412 −1.2001 ] x
Km
1.2
1
u = Kb 0 T −1 x
Amplitude
0.8
= [ −29.5145 −43.0825 −13.2468 −1.1999 ] x
0.6
0.4
u = Km I 0 x
= [ −17.5373 −21.4324 0 0 ] x
0.2
0
0 0.5 1 1.5 2 2.5 3 3.5
Time (sec)
Note the similarity between controllers K and Kb 0 T −1
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 16 / 17
Lecture: Model reduction Model reduction
English-Italian Vocabulary
model reduction riduzione dell’ordine del modello
Grammian gramiano
Translation is obvious otherwise.
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 17 / 17