Ful State Feedback

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

Daniel Abebe Modern Control Systems Lecture Note

2.5 Controllability and Observability in a Sense


of Transfer Function
Consider a transfer function from U (s) to X(s)
X(s) adj(sI − A)B
= (2.25)
U (s) det(sI − A)
For a system to be completely controllable adj(sI − A)B and det(sI − A) shouldn’t
have common factors (i.e there shouldn’t be a pole zero cancellation in a transfer
function from input to state of the system).
Consider a transfer function from U (s) to Y (s)
Y (s) adj(sI − A)B
=C + DU (s) (2.26)
U (s) det(sI − A)
For a system to be completely observable Cadj(sI − A)B and det(sI − A) shouldn’t
have common factors (i.e there shouldn’t be a pole-zero cancellation in the transfer
function from input to output of the system).

2.6 Examples
1. Consider the following dynamic system, check whether the system is com-
pletely controllable and completely observable.
   
−1 −3 5 h i
ẋ =  x +  u y = 3 4 x
0 −2 6

Solution:
the controllability matrix Co is
 
h 5 −23 i
Co = B AB =  
6 −12

checking for linear independence of the columns of Co

   
5 −23
α1   + α2   = 0 ⇒ α1 = α2 = 0
6 −12

they are linearly independent hence the controllability matrix has full rank,
which means the system is completely controllable.

The observability matrix Ov is


   
C 3 4
Ov =  = 
CA −3 −17

Chapter 2 54
Daniel Abebe Modern Control Systems Lecture Note

checking for linear independence of the columns of Ov


   
3 4
α1   + α2   = 0 ⇒ α1 = α2 = 0
−3 −17
they are linearly independent hence the observability matrix has full rank,
which means the system is completely observable.
2. Check controllability and observability of the following dynamic system.
   
−2 −2 −2 1
    h i
ẋ =  1 0  x + 0 u y = 1 1 0 x
   
0
   
1 1 −1 0
using MATLAB command ctrb(A, B) for controllability and obsv(A, C) for
observability, we have
 
1 −2 0
 
Co = 0 −2
 
1
 
0 1 −2
having rank rank(Co ) = 2, hence the dynamic system have uncontrollable
state.
 
1 1 0
 
Ov = −1 −2 −2
 
 
−2 0 4
having rank rank(Ov ) = 2, hence the dynamic system have unobservable
state.

Using MATLAB command that generate controlability stair case form, the
transformation matrix T that decompose the system to controllable and un-
controllable states is
 
0 0.7071 −0.7071
 
T = 0 0.7071 0.7071 
 
 
1 0 0
with this transformation matrix
..
   
−1 . 0 0 0
   
   
. . . . . . . . . . . . . . .
Āc = T AT −1 = 
 
, B̄c = T B = 
..

   
1 . 0 1.4142 0
.
   
−0 .. −2.8284 −2 1
.
h i
C̄c = CT −1 = 0.7071 .. 0.7071 1

Chapter 2 55
Daniel Abebe Modern Control Systems Lecture Note

from the decomposition we see that the uncontrollable state is stable (with
eigenvalue −1), hence the system is stabilizable.

Using MATLAB command that generate observability stair case form, the
transformation matrix T that decompose the system to observable and unob-
servable states is
 
0 0.7071 −0.7071
 
T = 0 0.7071 0.7071 
 
 
1 0 0

with this transformation matrix


.
   
−1 .. −1.4142 1.8856 −0.6667
   
   
−1
 ... ... ... ...   ... 
Āo = T AT =  
..
, B̄o = T B = 
 
−0.5 −2.1667
 
0 .  0.2357 
..
   
0 . 1.5 −1.5 0.7071
.
h i
C̄o = CT −1 = 0 .. 0 1.4142

from the decomposition we see that the unobservable state is stable(with eigen-
value −1), hence the system is detectable.
3. Check the stabilizability and detectability of the dynamic system
   
1 0 0 1
   
ẋ = 1 −1 1  x + 1 u
   
   
0 0 −2 0
h i
y= 1 0 0 x

Checking the controllability of the system


 
1 1 1
h i  
Co = B AB A2 B = 1 0 1
 
 
0 0 0

the rank of controllability matrix is 2, hence the system have one uncontrollable
dynamics. Using MATLAB command that generate controlability stair case
form, the transformation matrix T that decompose the system to controllable
and uncontrollable states is
 
0 0 1
 
T = 0.7071 −0.7071 0
 
 
0.7071 0.7071 0

Chapter 2 56
Daniel Abebe Modern Control Systems Lecture Note

with this transformation matrix


..
   
−2 . 0 0 0
   
   
−1
 ... . . . . . . . . .  ... 
Āc = T AT =  
..
, B̄c = T B = 
 
−0.7071 . −0.5 0.5
 
 0 
..
   
0.7071 . 1.5 0.5 1.4142
..
h i
−1
C̄c = CT = 0 . 0.7071 0.7071

from the decomposition we see that the uncontrollable state is stable (with
eigenvalue −2), hence the system is stabilizable.

Checking the observability of the system


   
C 1 0 0
   
Co =  CA  = 1 0 0
   
   
2
CA 1 0 0

the rank of the observability matrix is 1, hence the system has two unobserv-
able dynamics. Using MATLAB command that generate observability stair
case form, the transformation matrix T that decompose the system to observ-
able and unobservable states is
 
0 0 1
 
T = 0 1 0
 
 
1 0 0

with this transformation matrix


..
   
−2 0 . 0 0
..
   
 1 −1 .
   
−1
1 1
Āo = T AT =   ,
 B̄o = T B = 
 

 . . . . . . . . . . . . . . .
..
   
0 0 . 1 1
.
h i
C̄o = CT −1 = 0 0 .. 1

The unobservable modes are stable(with eigenvalues −1 and −2), hence the
system is detectable.

Chapter 2 57
Daniel Abebe Modern Control Systems Lecture Note

4. Check the detectability and stabilizability of the dynamic system


   
−2 0 −3 −1  
21
   
ẋ =  0 0 0 x +  0 u y = 1 0
   

3 5
   2
0 −2
2 2
the controllability matrix of the system is
 
−1 8 3.5
 
Co =  0
 
0 0 
 
−2 −6.5 −4.25

the rank of controllability matrix is 2, hence the system have one uncontrollable
dynamics. Using MATLAB command that generate controlability stair case
form, the transformation matrix T that decompose the system to controllable
and uncontrollable states is
 
0 1 0
 
T =  0.8944 0 −0.4472
 
 
−0.4472 0 −0.8944

with this transformation matrix


..
   
0 . 0 0 0
   
   
−1
 ... ... ... ...   ... 
Āc = T AT =  
..  , B̄c = T B = 
  
. −0.5 4.5

0  0 
..
   
0 . 0 1 2.2361
..
h i
−1
C̄c = CT = 10.5 . 0.8944 −0.4472

from the decomposition we see that the uncontrollable state is stable (with
eigenvalue 0), hence the system is not stabilizable.

check observability of the dynamic system, the observability matrix Ov ,


 
1 10.5 0
 
Ov =  −2 −3 
 
0
 
−0.5 0 −1.5

has rank full hence the dynamic system is completely observable.

Chapter 2 58
Daniel Abebe Modern Control Systems Lecture Note

5. Check the detectability and stabilizability of the dynamic system


   
−6 −11 −6 1
    h i
ẋ =  1 0  x + 0 u y = 0 1 2 x
   
0
   
0 1 0 0

The controllability matrix of the system is


 
1 −6 25
 
Co = 0 1 −6
 
 
0 0 1

Co has full rank hence the dynamic system is completely controllable.

The observability matrix of the system is


 
0 1 2
 
Ov =  1
 
2 0
 
−4 −11 −6

which has rank 2, hence the dynamic system has one unobservable mode.
Using MATLAB command that generate observability stair case form, the
transformation matrix T that decompose the system to observable and unob-
servable states is
 
−0.8729 0.4364 −0.2182
 
T =  0.4880 0.7807 −0.3904
 
 
0 0.4472 0.8944

with this transformation matrix


..
   
−2 . 8.0498 8.8807 −0.8729
   
   
−1
. . . . . . ... ...   ... 
Āo = T AT =  ..
, B̄o = T B =  
−4.4 −5.1936
   
0 .  0.4880 
..
   
0 . 0.9165 0.4 0
.
h i
C̄o = CT −1 = 0 .. 0 2.2361

from the decomposition we see that the unobservable state is stable(with eigen-
value −2), hence the system is detectable.

Chapter 2 59
Daniel Abebe Modern Control Systems Lecture Note

6. Given the following LTI system determine the value of α for which the system
is not c.c.
   
2 α−1 1
ẋ =  x +  u
0 2 α

Solution:
The controllability matrix of the system is
 
1 2 + α(α − 1)
Co =  
α 2α

The determinant of the controllability matrix must be non zero if the system
is c.c. So, to find the value of α that makes the system not c.c.

det(Co ) = 0 ⇒ 2α − α3 + α2 − 2α = 0
⇒ α2 (1 − α) = 0 ⇒ α = 0, or α = 1

The same will hold for observability of the system det(Ov ) ̸= 0 if the system
is c.o.

2.7 Exercises
1. Verify that the following control system is completely controllable
   
0 1 0 0
ẋ =  x +  u
0 0 1 −1

2. For what value of b is the dynamic system below is not c.c.


   
−1 −1 b
ẋ =  x +  u
2 −4 0

3. For what value of α is the dynamic system below is not c.c.

(a)
   
−1 −1 −1 0
   
ẋ =  0 −1 α  x + 2 u
   
   
0 1 3 1

(b)
   
2 α−3 1 1
ẋ =  x +  u
2
0 2 0 α −2

Chapter 2 60
Daniel Abebe Modern Control Systems Lecture Note

4. For a system with output


 
−1 −1 h i
ẋ =   x y= 1 2 x
2 −4

find x0 if the output y = −20e−3t + 21e−2t .


5. Show that the control system described by

ẋ1 = x2
ẋ2 = −2x1 − 3x2 + u
y = x1 + x2

is not completely observable. Determine the initial state x0 such that if u = 0


for t > 0, then y = 0, for t > 0.
6. Check the detectability and stabilizability of the dynamic system
   
0 0 1 1
    h i
ẋ =  0 1 0 x + 0 u y = 3 1 0 x
   
   
−6 0 6 0

7. Check the detectability and stabilizability of the dynamic system


   
2 0 −3 −1
    h i
ẋ =  0 0 0  x +  0  u y = 1 1 −1 x
   
3 5
   
0 −2
2 2

8. Investigate the stabilizability and detectability of the following control systems


(a)
   
2 10 h i
ẋ =   x+   u y= 0 1 x
0 −1 1

(b)
   
0 00 h i
ẋ =   x+   u y= 1 1 x
0 −1 1

(c)
 
4 3  5 
  −2 1 h i
ẋ = 1 −2 −3 x +  u y = 0 1 1 x
 
  −1 0
2 1 8

Chapter 2 61
Daniel Abebe Modern Control Systems Lecture Note

(d)
 
0 1 5  
  0 h i
ẋ =  0 1 x +  u y = 1 0 0 x
 
0
  1
−18 −15 −2

9. Given the LTI system described by

ẋ1 =αx1 + 2x2 + u


ẋ2 =x1 − x2
y =x1 + αx2

determine for what value of the real parameters α the system is

(a) completely controllable and completely observable


(b) completely controllable but not completely observable
(c) completely observable but not completely controllable

Chapter 2 62
Chapter 3

Full-state Feedback Controller


Design for LTI Systems

We know that we can affect the performance and behavior of a dynamic system by
changing the location of the closed-loop poles of the system. We can cancel the
unstable poles by multiply the system transfer function by another transfer function
having zero at the location of the unstable pole of the system. This other system is
called controller or compensator.

Consider a completely controllable system on equation 1.6 and equation 1.7, suppose
we apply linear feedback control law, which means that control the control law is a
linear combination of state variables,

u = −Kf x (3.1)

where Kf is m × n feedback matrix. The closed loop system under this control law
becomes,

ẋ = Ax + B(−Kf )x
ẋ = (A − BKf )x (3.2)

The block diagram representation of system with full state feedback controller is
shown in Figure 3.1.

xd + u + x y
- B ʃ C
+

Kf

Figure 3.1: Block diagram representation of system with full state feedback con-
troller

63
Daniel Abebe Modern Control Systems Lecture Note

Pole shifting theorem:- for any controllable system, it is possible to obtain


arbitrary eigenvalues for matrix A − BKf , using suitable feedback matrix Kf , sub-
jected to the only obvious constraint that complex eigenvalues must appear in pair.

The state feedback controller design can be done either by selecting the location of
the poles and determine the feedback gain Kf that locate the closed-loop poles of
the system at the desired location, or determining the gain Kf that determine the
optimal location of the closed-loop poles and that minimize u at the same time.

3.1 Pole Placement State Feedback Controller De-


sign
In pole placement controller design, given the desired location of the closed-loop
system poles (the eigenvalues of A − BKf ), we are required to determine a feedback
gain matrix Kf such that with a control law u = −Kf x the system has poles at the
desired location.

The pole placement or eigenvalue assignment problem can be define as: let λ1 , λ2 , . . . , λn
be the eigenvalues of the matrix A of the open loop LTI system and λ̃1 , λ̃2 , . . . , λ̃n be
desired eigenvalues of the matrix A−BKf of the closed loop system. Where all com-
plex eigenvalues exist in complex conjugate pairs. Let p(s) and p̂(s) be respective
characteristics polynomial of matrix A and A − BKf respectively.
n
Y
p(s) = (s − λi ) = ∥sI − A∥ = sn + a1 sn−1 + . . . + an−1 s + an (3.3)
i=1
Yn
p̂(s) = (s − λ̃i ) = ∥sI − A + BKf ∥ = sn + â1 sn−1 + . . . + ân−1 s + ân (3.4)
i=1

Kf is determined if and only if the open loop system is controllable (i.e. the con-
trollability matrix Co has full rank).
The feedback matrix Kf can be determine in one of the following methods.

1. The Base-Gura method:

Kf = (W T CoT )−1 (â − a) (3.5)

Where
     
1 a1 a2 a3 . . . an−1 â1 a
     1
0 1 a1 a2 . . . an−2   â2   a2 
     
     
W = 0 0 1 a1 . . . an−3  , â =  â3  , a =  a3 
     
 .. .. .. .. .. ..   ..   .. 
     
. . . . . .  . .
     
0 0 0 0 ... 1 ân an

Chapter 3 64
Daniel Abebe Modern Control Systems Lecture Note

2. The phase canonical form formula: Consider the case where A is in controllable
canonical form Ac , bc .
   
0 1 0 ... 0 0
   
 0 0 1 ... 0  0
   
 .. .. .. .. ..  .
   
Ac =  . . . . .  , bc =  .. 
   
   
 0 0 0 ... 1  0
   
−a0 −a1 −a2 . . . −an1 1

Which means:

Kf = (W T CoT )−1 (â − a) = I˜ = (â − a)


Kf = (â − a) (3.6)

3. Ackerman’s formula:

KfT = eT Co−1 p̂(A) (3.7)

Where

eT = [0, 0, . . . , 1],

and p̂(A) is obtained from polynomial on equation 3.3 by replacing s with


matrix A, which means

p̂(A) = An + â1 An−1 + . . . + ân−1 A + ân

An LTI system defined by (A, B) is stabilizable if there exists a matrix Kf such that
(A − BKf ) has a strictly negative real part.

Chapter 3 65
Daniel Abebe Modern Control Systems Lecture Note

3.2 Desired State Tracking


If the system is required to track a required reference state trajectory (desired state
trajectory (xd )) other than a constant value (which doesn’t change with time), such
a control problem is called a desired state trajectory tracking problem. If the desired
state trajectory is constant the control problem is called the state regulator problem.
Let the desired state trajectory be xd , hence under state feedback control law
u(t) = xd (t) − Kf x(t) (3.8)
Then with this control law the state equation of the LTI becomes,
ẋ = Ax + B(xd − Kf x)
ẋ = (A − BKf )x + Bxd (3.9)
The block diagram representation of state feedback controller with reference time
variant state input is shown in Figure 3.2.

+ u + x y
xd - B + ʃ C

Kf

Figure 3.2: Block diagram representation of full state feedback with reference state

3.3 Servo-mechanism Controller Design


Suppose we need our system to follow certain input (reference tracking), but due
to mathematical approximation, the matrices of the nominal system deviate from
the actual system (model uncertainty), and/or there may be parameter variation.
In that case, the steady-state performance of the system may be poor. To enhance
the performance of the system at a steady-state an integrator error term is added to
the dynamics so that, the steady-state error tends to zero in finite time. The error
dynamics ξ˙ is defined as,
˙ = r(t) − y(t)
ξ(t) (3.10)
with the control law,
u(t) = −Kf x(t) + k1 ξ(t) (3.11)
The closed loop dynamic system becomes
ẋ = Ax + B(−Kf x + k1 ξ)
ẋ = (A − BKf )x + Bk1 ξ (3.12)
y = Cx (3.13)

Chapter 3 66
Daniel Abebe Modern Control Systems Lecture Note

Which leads to an augmented system


      
ẋ A − BKf Bk1 x 0
 =   +  r (3.14)
ξ˙ −C 0 ξ 1

The block diagram representation of servomechanism is shown in Figure 3.3. To

r + + u + x y
ʃ k1 - B ʃ C
- +

Kf

Figure 3.3: Block diagram representation of servomechanism controller design

determine the feedback gain matrix Kf the matrix

     
A − BKf Bk1 A 0 B h i
  ⇒   −   Kf −k1 (3.15)
−C 0 −C 0 0

which means
   
0 A B
  ,   (3.16)
−C 0 0

must be completely controllable.

To find the value of k1 , we can analyze the steady state response of the system. At
steady state, the output of the system should follow the reference input y = r, which
means that ξ˙ = 0. This implies that the output of the integrator is a constant value
equal to r. Therefore, the states of the system should also follow the desired states
of the system xd , given by xd = k1 r.

However, at this point in time, the output of the system is given by y = r =


Cxd + Du, where u = xd − Kf xd . Thus, we can write:

r = Cxd + D(I − Kf )xd → r = (C + D(I − Kf ))k1 r (3.17)

Solving for k1 , we get:

k1 = (C + D(I − Kf ))−1 (3.18)

Chapter 3 67
Daniel Abebe Modern Control Systems Lecture Note

3.4 Determining Poles of Second Order LTI Sys-


tems From Time Domain Specification
Any second order system can be written as

ωn2
G(s) = (3.19)
s2 + 2ξωn s + ωn2

where ξ is damping factor


p and ωn is undamped natural frequency. Damped natural
frequency is ωd = ωn 1 − ξ 2 . The time domain specification of second order system
are shown in Table 3.1. where θ = cos−1 ξ.

Table 3.1: Time domain specification of second order systems

Time domain specification Formula


1 + 0.7ξ
Delay time td =
ωn
π−θ
Rise time tr =
ωd
π
Peak time tp =
ω
 d 
− √ ξπ
1−ξ2
Percentage Peak overshoot Mp = e
4
Settling time with 2% tolerance ts =
ξωn

Since any second order system can be written in this form we can determine the
desired poles of the system from time domain specification of the system.

The controllable canonical form of equation 3.19 is


      
ẋ 0 1 x 0
 1 =    1 +   u (3.20)
ẋ2 −ωn2 −2ξωn x2 1
 
h i x1
2
y = ωn 0   (3.21)
x2

Note:- The goal of the designer is to find Kf such that a closed loop time domain
specification of the given second order system meet the requirement.

Chapter 3 68

You might also like