Controllability A system is said to be controllable if it is - - PowerPoint PPT Presentation

controllability
SMART_READER_LITE
LIVE PREVIEW

Controllability A system is said to be controllable if it is - - PowerPoint PPT Presentation

STADIUS - Center for Dynamical Systems, Signal Processing and Data Analytics Controllability A system is said to be controllable if it is possible to bring the system from any initial state to any desired state in a finite time. Condition


slide-1
SLIDE 1

Methods and Algorithms for Advanced Process Control

STADIUS - Center for Dynamical Systems,

Signal Processing and Data Analytics Oscar Mauricio Agudelo

Controllability

A system is said to be controllable if it is possible to bring the system from any initial state to any desired state in a finite time. Question: Is it possible to find an input sequence that drives the system from x(0) to any arbitrary desired state x* in at most n steps?

(0) x * x (0), (1), , ( 1) n − u u u 

Let’s find it out … Let’s consider the following LTI discrete-time system: ( 1) ( ) ( ) k k k + = + x Ax Bu with n state variables, m inputs, and an initial state x(0). Condition for complete state controllability

slide-2
SLIDE 2

Methods and Algorithms for Advanced Process Control

STADIUS - Center for Dynamical Systems,

Signal Processing and Data Analytics Oscar Mauricio Agudelo

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

2

(2) (1) (1) (0) (0) (1) = + = + + x Ax Bu A x ABu Bu

3 2

(3) (2) (2) (0) (0) (1) (2) = + = + + + x Ax Bu A x A Bu ABu Bu 

1

( ) (0) (0) ( 1)

n n

n n

= + + + − x A x A Bu Bu 

(0) x * x (0), , ( 1) n − u u 

If we set x(n) = x*, we end up with the following system of equations:

1

( 1) ( 2) * (0) (0)

n n

n n

−     −     − =         u u x A x B AB A B u   The sequence of inputs u(0),…, u(n−2), u(n − 1) that drives the system from x(0) to x* can be determined by solving these equations.

O n nm ×

∈ C  Controllability Matrix

slide-3
SLIDE 3

Methods and Algorithms for Advanced Process Control

STADIUS - Center for Dynamical Systems,

Signal Processing and Data Analytics Oscar Mauricio Agudelo

  • We can solve this set of equations if and only if

1

( 1) ( 2) * (0) (0)

n n

n n

−     −     − =         u u x A x B AB A B u  

O n nm ×

∈ C 

( )

O

rank n = C

  • This result is also valid for continuous-time systems
  • Notice that controllability depends on the B matrix which describes the actuators

we have. So, the controllability of a system is compromised by the lack of actuators. A LTI system (in continuous or discrete time) is completely controllable if and only if To sum up:

( )

O

rank n = C

where is known as the controllability matrix

1 O n−

  =   C B AB A B 

slide-4
SLIDE 4

Methods and Algorithms for Advanced Process Control

STADIUS - Center for Dynamical Systems,

Signal Processing and Data Analytics Oscar Mauricio Agudelo

How to check the controllability condition via Matlab? Let’s check whether the following system is controllable or not using Matlab,

1 1 2 2 3 3

5 1 3 1 1 1 2 x x x x u x x −                 = − +                 −           

>> A=[-5 0 1; 0 -3 1; 1 0 -2]; >> B=[0; 1; 0]; >> Cm = ctrb(A,B); >> rank(Cm) >> ans = 1

Command window in Matlab: The system is NOT completely controllable !!!

Constructs the controllability matrix Computes the rank of the controllability matrix

A B

slide-5
SLIDE 5

Methods and Algorithms for Advanced Process Control

STADIUS - Center for Dynamical Systems,

Signal Processing and Data Analytics Oscar Mauricio Agudelo

Now, Let’s suppose that we replace the matrix B by this new matrix (e.g., we removed the original actuator and installed a different one in the system): [1 0 0]T

>> A=[-5 0 1; 0 -3 1; 1 0 -2]; >> B=[1; 0; 0]; >> Cm = ctrb(A,B); >> rank(Cm) >> ans = 3

Command window in Matlab: The system is now completely controllable !!!

1 1 2 2 3 3

5 1 1 3 1 1 2 x x x x u x x −                 = − +                 −            A B

slide-6
SLIDE 6

Methods and Algorithms for Advanced Process Control

STADIUS - Center for Dynamical Systems,

Signal Processing and Data Analytics Oscar Mauricio Agudelo

Example 1 Is the following system controllable? If so, what is the control sequence that drives the system from x(0)=[0 0]T to x* = [2 1]T ?

1 1 2 2

( 1) ( ) 0.9 1 ( ) ( 1) ( ) 3 0.7 x k x k u k x k x k +         = +         +         Solution: The control sequence is obtained by solving

[ ] ( )

O O

1 0.9 , rank 2 3   = = =     C B AB C Completely Controllable

1 O

1.7 (0) * 1 (1) 3 u u

    = =           C x There is a unique sequence!!!

2 O

(0) * (0) (1) u u   − =     x A x C k u(k) x(k+1) 1.7 [1/3 0]T 1 1/3 [2 1]T Trajectory

slide-7
SLIDE 7

Methods and Algorithms for Advanced Process Control

STADIUS - Center for Dynamical Systems,

Signal Processing and Data Analytics Oscar Mauricio Agudelo

Example 2 Is the following system controllable? If so, what is the control sequence that drives the system from x(0)=[0 0]T to x* = [2 1]T ?

1 1 1 2 2 2

( 1) ( ) ( ) 0.9 1 ( 1) ( ) ( ) 3 0.7 2 x k x k u k x k x k u k +           = +           +           Solution:

[ ] ( )

O O

1 0.9 , rank 2 2 3 1.4   = = =     C B AB C Completely Controllable The control sequence(s) can be obtained by solving

1 2 2 O 1 2

(1) (1) * (0) (0) (0) u u u u       − =       x A x C

1 2 1 2

(1) (1) 1 0.9 * (0) 2 3 1.4 (0) u u u u         =           x There exist more than

  • ne sequence!!!
slide-8
SLIDE 8

Methods and Algorithms for Advanced Process Control

STADIUS - Center for Dynamical Systems,

Signal Processing and Data Analytics Oscar Mauricio Agudelo

If we arbitrarily set u1(0)=0 and u2(0)=0, the control sequence would be given by

1 2

(1) 2 1 0.9 (1) 1 2 3 1.4 u u           =              

1 1 2

(1) 1 2 2 (1) 2 1 0.5 u u

        = =                 If we arbitrarily set u1(1)=0 and u2(0)=0, the control sequence would be given by

2 1

2 1 0.9 (1) 1 2 3 1.4 (0) u u           =              

1 2 1

17 (1) 0.9 2 6 (0) 2 3 1 209 u u

−           = =                 k u(k) x(k+1) [0 0]T [0 0]T 1 [2 0.5]T [2 1]T First Trajectory k u(k) x(k+1) [20/9 0]T [20/9 0]T 1 [0 -17/6]T [2 1]T Second Trajectory

slide-9
SLIDE 9

Methods and Algorithms for Advanced Process Control

STADIUS - Center for Dynamical Systems,

Signal Processing and Data Analytics Oscar Mauricio Agudelo

Additional notes about controllability Note that

( ) ( )

1

rank rank

k n−

    =       B AB A B B AB A B for k > n ─ 1 (from the Cayley-Hamilton theorem).

O

C Cayley-Hamilton theorem Let αc(s) = det (sI ─ A) be the characteristic polynomial of A. Then αc(A) = 0. Corollary Any power of Ak ϵ Rn×n for k ≥ n can be written as a linear combination of Ai, i = 0,…, n ─ 1. For example,

1 c 1 1

( )

n n n n

a a a α

− −

= + + + + = A A A A I 

1 1 1 n n n n

a a a

− −

⇒ = − − − − A A A I 

slide-10
SLIDE 10

Methods and Algorithms for Advanced Process Control

STADIUS - Center for Dynamical Systems,

Signal Processing and Data Analytics Oscar Mauricio Agudelo

For k > n ─ 1, we have that

( ) ( )

1

rank rank .

k n−

    =     B AB A B B AB A B   When k > n ─ 1, we have that

O

C

( ) ( )

O

rank rank

k n k

    =     B AB A B C A B A B   By using the Cayley-Hamilton theorem we can write Ak as follows:

( )

1

, , , , 1

k n k

p I k n

= ∀ > −  A A A where pk is a linear function. Finally, notice that all the columns of Proof:

( )

1

, , , , 1

k n k

p I k n

= ∀ > −  A B A A B are linear combinations of the columns of CO and therefore they do not increase the rank of CO.