0% found this document useful (0 votes)
34 views

Lecture12 Updated

1) The document outlines topics from a lecture on advanced control systems design including Kalman decomposition, controllability/observability, stabilizability/detectability tests, pole-zero cancellation, and balanced realization. 2) Kalman decomposition transforms a system into a coordinate system that separates controllable/observable states from uncontrollable/unobservable states. 3) Pole-zero cancellation occurs when a pole of one system matches a zero of another system in a feedback connection, rendering one state uncontrollable and another unobservable.

Uploaded by

Hamed Tirandaz
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views

Lecture12 Updated

1) The document outlines topics from a lecture on advanced control systems design including Kalman decomposition, controllability/observability, stabilizability/detectability tests, pole-zero cancellation, and balanced realization. 2) Kalman decomposition transforms a system into a coordinate system that separates controllable/observable states from uncontrollable/unobservable states. 3) Pole-zero cancellation occurs when a pole of one system matches a zero of another system in a feedback connection, rendering one state uncontrollable and another unobservable.

Uploaded by

Hamed Tirandaz
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

Lecture 12 - Outline (Updated after class)

1 Kalman Decomposition
2 Discrete time LTI controllability/observability
3 Stabilizability and Detectability tests
4 Pole-zero cancellation
5 Balanced Realization
6 Project: Papi-rubber game

P.Y. Li (Updated: Spring 2019) ME8281-Advanced Control Systems Design


Kalman Decomposition

There exists a coordinate transformation: x = Tz


 
Ã11 0 Ã13 0
 
B̃1
Ã21 Ã22 A23 A24  B̃2 
 
ż =  z +  0 u

 0 0 Ã33 0 
0 0 Ã43 Ã44 0
 
y = C̃1 0 C̃2 0 z

Let T = T1 T2 T3 T4 (with compatible block sizes), then
T2 → (C − Ō): T2 = basis for Range(C) ∩ Null(O)
(Unique!).
T1 → (C − O): T1 ∪ T2 = basis for Range(C)
T4 → (C̄ − Ō): T2 ∪ T4 = basis for Null(O).
T3 → (C̄ − O): T1 ∪ T2 ∪ T3 ∪ T4 = basis for <n .

P.Y. Li (Updated: Spring 2019) ME8281-Advanced Control Systems Design


Kalman Decomposition
Diagram:

Some Matlab commands:


obsv(A,C), ctrb(A,B), orth(CC), null(OO)
Intersection of subspaces spanned by V and W :
» [n, dv] = size(V));
» XX = null([V,W]);
» U = V*XX(1:dv,:);
If span(V ) ⊂ span(W ), to find additional vectors T to span
W:
» T = W*null(V’*W);
P.Y. Li (Updated: Spring 2019) ME8281-Advanced Control Systems Design
Discrete time LTI Controllability

x(k + 1) = Ax(k ) + Bu(k )


y (k ) = Cx(k )
P −1 k −i−1
Reachability map is:Lr ,[0,k ] [u(·)] = ki=0 A Bu(i) The
followings are equivalent:
1 System is controllable over [0, T ], with T ≥ n.
2 The controllability grammian below is full rank (n):
T
X −1
Wr ,T := Al BB ∗ A∗l
l=0

3 The controllability matrix below has rank n


B AB A2 B · · ·
An−1 B



4 For each z ∈ C, the matrix zI − A B has rank n.
P.Y. Li (Updated: Spring 2019) ME8281-Advanced Control Systems Design
Discrete time LTI Observability - 1

Observability map is:


   
y (0) C
y (1)  CA 
Lo [x0 ] = y (2) = CA2 x0
   
   
.. ..
. .

P.Y. Li (Updated: Spring 2019) ME8281-Advanced Control Systems Design


Discrete time LTI Observability - 2
The followings are equivalent:
1 The system is observable over [0, k1 ], for k1 ≥ n − 1.
2 The observability grammian below is full rank (n):
1 −1
kX
Wo,k1 := A∗k C ∗ CAk
k =0

3 The observability matrix below is full rank:


 
C
 CA 
 
 CA2 
 
 .. 
 . 
CAn−1
 
zI − A
4 For each z ∈ C, the matrix has rank n.
C
P.Y. Li (Updated: Spring 2019) ME8281-Advanced Control Systems Design
Stabilizability / Detectability tests

PBH tests: Test if full rank:


 
C
(sI − A, B);
sI − A

Check only for unstable eigenvalues


Real part ≥ 0 for continuous time
Absolute value ≥ 1 for discrete time

P.Y. Li (Updated: Spring 2019) ME8281-Advanced Control Systems Design


Relationship to transfer functions

G(s) = C · (sI − A)−1 B + D


From Kalman Decomposition: only the controllable and
observable part (T1 ) shows up:

G(s) = C¯1 (sI − Ā11 )B̄1 u + D


Number of poles (order of system) lower than dim of A.

P.Y. Li (Updated: Spring 2019) ME8281-Advanced Control Systems Design


Pole-zero cancellation

Consider:
s−α s−β
G1 (s) = G2 (s)
(s + 1)(s − β) (s − α)(s + 4)

and y1 = G1 (s)u and y = G2 (s)u2 . Cascade connection:


u2 = y1 gives:

1
y = G2 (s)G1 (s) =
(s + 1)(s + 4)

We will show that state associated with s = α (for G2 (s))


becomes uncontrollable from u; and state associated with
s = β (for G1 (s) becomes unobservable from y .

P.Y. Li (Updated: Spring 2019) ME8281-Advanced Control Systems Design


Poles and zeros
Assuming no direct feedthrough (D = 0):
CAdj(sI − A)B
G(s) = C(sI − A)−1 B + D =
det(sI − A)
Poles:
s that makes G(s) go to infinite.
s = λ is a pole means that λ is an eigenvalue (but e’values
may not show up as poles due to cancellation)
Zeros:
Values of z that makes G(z)U(z) = 0 possible.
For SISO: G(z) = 0
For MIMO:
    
zI − A −B X (s) 0
=
−C 0 U(s) 0

i.e. z values at which matrix is not full rank.


P.Y. Li (Updated: Spring 2019) ME8281-Advanced Control Systems Design
Pole-zero cancellation

Combined system:
   
A1 0 B1 
A= ; B= ; C= 0 C2
B2 C1 A2 0

Suppose β is a pole for G1 (s) and a zero for G2 (s): G1 (β) → ∞


and G2 (β) = 0.

P.Y. Li (Updated: Spring 2019) ME8281-Advanced Control Systems Design


Pole-zero cancellation
   
A1 0 B1 
A= ; B= ; C = 0 C2
B2 C1 A2 0
 
x1
Consider x = .
x2
Use PBH observability test with λ = β. Find x1 and x2 such
that:  
βI − A1 0  
 −B2 C1 βI − A2  x1 = 0
x2
0 C2
Choose x1 to be eigen-vector associated with β for A1 and

x2 = (βI − A2 )−1 B2 C2 x1

C2 x2 = (C2 (βI − A2 )−1 B2 ) C2 x1 = 0


| {z }
G2 (β)

P.Y. Li (Updated: Spring 2019) ME8281-Advanced Control Systems Design


Balanced realization / Model Reduction - 1

Some systems have many many states, e.g. if from a finite


element model (FEM). Would like to reduce the number of
states without losing information.
From Kalman Decomposition - uncontrollable and
unobservable states do not show up (eliminated) in
input/output transfer function
Weakly controllable and weakly observable states will also
likely have little effects on I/O behavior
Reachability and observability Grammians Wr and Wo
determine how controllable or observable states are.
What if states are easily controllable or lightly observed?
Eliminate or not?

P.Y. Li (Updated: Spring 2019) ME8281-Advanced Control Systems Design


Balanced realization / Model Reduction - 2
Least norm control cost to reach xd ∈ <n is: xdT Wr−1 xd
Least squares estimation of initial state x0 ∈ <n is x0T Wo x0
Singular decomposition of Wr and Wo to exhibit direction
most/least controllable/observable:

−w1T −
  
  σr 1 0 . . . 0
| | | | 0 σ T 
r2 −w2 −
0 . . . 
Wr = w1 w2 . . . wn  .

.. .. .. . 
 ..  .. 
 
| | | | . . .
0 . . . 0 σrn −wnT −

  T 
  σo1 0 . . . 0 −v1 −
| | | |  0 σ T 
o2 0 . . .  2 − 
−v
 
Wo = v1 v2 . . . vn  .

  .. .. ..  .. 
 .. . . .  . 
| | | |
0 . . . 0 σon −VnT −

P.Y. Li (Updated: Spring 2019) ME8281-Advanced Control Systems Design


If σr 1 ≥ σr 2 ≥ . . . σrn , then w1 is easiest to control, and wn
is hardest to control.
So, keep only the first few transformed states: if z = T −1 x
keep only the z1 , . . . , zk .
If σo1 ≥ σo2 ≥ . . . σon , then v1 is easiest to observe, and vn
is observe to control.
So, keep only the first few transformed states: if z = T −1 x
keep only the z1 , . . . , zk .
Problem: They transformations to diagonalize Wr and Wo
are not the same!
Balanced realization does it simultaneously!

P.Y. Li (Updated: Spring 2019) ME8281-Advanced Control Systems Design


Computation of infinite time - Wr and Wo
The reachability Grammian over the period [0, t] is:
Z t Z t 
A(t−τ ) T AT (t−τ )) At1 T AT t1 )
Wr (t) = e BB e dτ = e BB e dt1
0 0
We are interested in Wr (t → ∞). If A is stable Wr (t) converges.
Hence Ẇr → 0 as t → ∞: Differentiating the 1st expression:
0 = Ẇr = AWr (∞) + Wr (∞)AT + BB T
Similarly for the observability Grammian,
Z t  Z t
T T
Wo (t) = eA τ C T CeAτ ) dτ = eA (t−τ ) C T CeA(t−t1 ) dt1
0 0

If A is stable, as t → ∞, Ẇo → 0. Differentiating the 2nd


expression:
0 = Ẇo = AT Wo (∞) + Wo A + C T C
These are the Lyapunov equations. Since they are linear in Wr
and Wo they can be computed algebraically.
P.Y. Li (Updated: Spring 2019) ME8281-Advanced Control Systems Design
How do Wr and Wo transform with coordinates
transformation?

Consider z = Tx (note different direction as previously) ....


Least norm control cost to reach state x:

J = x T Wr−1 x = z T T −T Wr−1 T −1 z = z T (TWr T T )−1

Hence, reachability Grammian in z coordinates is:


Wr ,z = (TWr T T ).
Output energy from initial state x:
h i
E = x T Wo x = z T T −T Wo T −1 z

Hence, observability Grammian in z coordinates is:


Wo,z = T −T Wo T −1 .

P.Y. Li (Updated: Spring 2019) ME8281-Advanced Control Systems Design


Hankel Singular Values
The product Wr · Wo is transformed under coordinate
transformation as:
Wr ,z Wo,z = TWr T T T −T Wo T −1 = T [Wr Wo ]T −1
or
Wr Wo = T −1 [Wrz Wo,z ]T
i.e. Wr Wo undergoes similarity transform!
Suppose that we wish to choose T s.t.
Wr ,z = Wo,z = Σ
where Σ is a diagonal matrix. Then,
Wr Wo = T −1 Σ2 T
i.e. Diagonal elements of Σ2 are eigenvalues of Wr Wo .
The diagonal values of Σ are called the Hankel Singular
Values. They measure the energy of each state.
P.Y. Li (Updated: Spring 2019) ME8281-Advanced Control Systems Design
Balanced realization algorithm
1 Compute controllability and observability grammians:
» Wr = gram(sys, ’c’);
» Wo = gram(sys, ’o’)
2 Write Wo = R T R [One can use SVD]
» [U,S,V]=svd(Wo );
» R = sqrtm(S)*V’;
3 Diagonalize RWr R T [via SVD again]: RWr R T = UΣ2 U T ,
where UU T = I and Σ is diagonal.
» [U1 ,S1 ,V1 ]=svd(R*Wr *R’);
» Σ = sqrtm(S1 ’);
1
4 Take T = Σ− 2 U T R:
» T = inv(sqrtm(Σ))*U1 ’*R;
5 This gives Wr ,z = Wo,z = Σ.
» Wr ,z = T ∗ Wr ∗ T 0 ,
» Wo,z = inv (T )0 ∗ Wo ∗ inv (T )
P.Y. Li (Updated: Spring 2019) ME8281-Advanced Control Systems Design
Course Project
Objective: Meaningfully apply course materials to a
realistic/fun problem.
Suggestion: Papirubber game!
Android:
https://play.google.com/store/apps/details?
id=net.sunflat.android.papirubber&hl=en_US
iOS: Search for “Papirubber" in Apple Apps store.
Project:
Model (a facimile) of the game
Design various controllers and estimators and apply to
game
You have freedom to propose how the enemies behave
Provide analysis
Simulate and discuss results
A report
P.Y. Li (Updated: Spring 2019) ME8281-Advanced Control Systems Design
Alternate project ideas

If you have an alternate project idea (i.e. platform to apply


course materials), you are welcome to do so. You should,
however, send me a proposal with:
1 Description of problem - what would the models look like
2 Some background of the problem
3 How it is rich enough to apply various control / estimation
techniques
We can then negotiate.

P.Y. Li (Updated: Spring 2019) ME8281-Advanced Control Systems Design

You might also like