controllability
play

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


  1. 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 for complete state controllability Let’s consider the following LTI discrete-time system: + = + x ( k 1) Ax ( ) k Bu ( ) k with n state variables, m inputs, and an initial state x (0) . 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? x * Let’s find it out … n − u (0), (1), u  , ( u 1) x (0) Oscar Mauricio Agudelo Methods and Algorithms for Advanced Process Control

  2. STADIUS - Center for Dynamical Systems, Signal Processing and Data Analytics = + x (1) Ax (0) Bu (0) x * = + = + + 2 x (2) Ax (1) Bu (1) A x (0) ABu (0) Bu (1) = + = + + + 3 2 x (3) Ax (2) Bu (2) A x (0) A Bu (0) ABu (1) Bu (2) n − u (0),  , ( u 1)  x (0) − = + + + − n n 1 x ( ) n A x (0) A Bu (0)  Bu ( n 1) If we set x ( n ) = x *, we end up with the following system of equations: −   u ( n 1)   − u ( n 2)   − =   −  n n 1 x * A x (0) B AB  A B       u (0)   ∈ × n nm C  O Controllability Matrix 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. Oscar Mauricio Agudelo Methods and Algorithms for Advanced Process Control

  3. STADIUS - Center for Dynamical Systems, Signal Processing and Data Analytics −   u ( n 1)   − u ( n 2)     − =  − n n 1 x * A x (0) B AB  A B       u (0)   ∈ × n nm C  O  We can solve this set of equations if and only if ( ) = rank C n O  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. To sum up: A LTI system (in continuous or discrete time) is completely controllable if and only if ( ) = rank C n O =   n −  1 C B AB  A B where is known as the controllability matrix  O Oscar Mauricio Agudelo Methods and Algorithms for Advanced Process Control

  4. STADIUS - Center for Dynamical Systems, Signal Processing and Data Analytics How to check the controllability condition via Matlab? Let’s check whether the following system is controllable or not using Matlab, −   x   5 0 1   x    0 1 1         = − +  x 0 3 1 x 1 u         2 2    −      x  1 0 2 x 0         3 3 A B Command window in Matlab: >> A=[-5 0 1; 0 -3 1; 1 0 -2]; Constructs the >> B=[0; 1; 0]; controllability matrix >> Cm = ctrb(A,B); >> rank(Cm) Computes the rank of the controllability matrix >> ans = 1 The system is NOT completely controllable !!! Oscar Mauricio Agudelo Methods and Algorithms for Advanced Process Control

  5. STADIUS - Center for Dynamical Systems, Signal Processing and Data Analytics 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 −   x   5 0 1   x    1 1 1         = − +  x 0 3 1 x 0 u         2 2    −      x  1 0 2 x 0         3 3 A B Command window in Matlab: >> A=[-5 0 1; 0 -3 1; 1 0 -2]; >> B=[1; 0; 0]; >> Cm = ctrb(A,B); >> rank(Cm) >> ans = 3 The system is now completely controllable !!! Oscar Mauricio Agudelo Methods and Algorithms for Advanced Process Control

  6. STADIUS - Center for Dynamical Systems, Signal Processing and Data Analytics 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 ? +     x k ( 1)  0.9 0  x k ( )   1 1 = 1 + u k ( )         + x k ( 1) 3 0.7 x k ( ) 0         2 2 Solution:  1 0.9 , rank  Completely [ ] ( ) = = = C B AB C 2   O O 0 3 Controllable   The control sequence is obtained by solving   u (0) Trajectory − = 2 x * A x (0) C   O u (1)   k u ( k ) x ( k+ 1) 0 1.7 [1/3 0] T  1.7    = u (0) There is a unique − =  1  C x *   1 O 1 1/3 [2 1] T sequence!!! u (1)       3 Oscar Mauricio Agudelo Methods and Algorithms for Advanced Process Control

  7. STADIUS - Center for Dynamical Systems, Signal Processing and Data Analytics 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 ? +       x k ( 1)  0.9 0  x k ( )  1 0  u k ( ) = + 1 1 1           + x k ( 1) 3 0.7 x k ( ) 0 2 u k ( )           2 2 2 Solution:  1 0 0.9 0  Completely [ ] ( ) = = = C B AB , rank C 2   O O 0 2 3 1.4 Controllable   The control sequence(s) can be obtained by solving     u (1) u (1) 1 1        u (1) 1 0 0.9 0 u (1) There exist more than    − = 2 =  2 2 x * A x (0) C x *   O    one sequence!!! u (0) 0 2 3 1.4 u (0)    1 1    u (0) u (0)     2 2 Oscar Mauricio Agudelo Methods and Algorithms for Advanced Process Control

  8. STADIUS - Center for Dynamical Systems, Signal Processing and Data Analytics If we arbitrarily set u 1 (0) = 0 and u 2 (0) = 0 , the control sequence would be given by   u (1) 1   − 1              2 1 0 0.9 0 u (1) u (1) 1 0 2 2  = 2 1 = =               1 0 2 3 1.4 0 u (1) 0 2 1 0.5              2  0   If we arbitrarily set u 1 (1) = 0 and u 2 (0) = 0 , the control sequence would be given by  0  −    17  − 1   2  1 0 0.9 0   u (1)  u (1)      0 0.9 2 6    = 2 2 = =               1 0 2 3 1.4 u (0) u (0)      2 3 1 209       1 1    0   First Trajectory Second Trajectory k u ( k ) x ( k+ 1) k u ( k ) x ( k+ 1) 0 [0 0] T [0 0] T 0 [20/9 0] T [20/9 0] T 1 [2 0.5] T [2 1] T 1 [0 -17/6] T [2 1] T Oscar Mauricio Agudelo Methods and Algorithms for Advanced Process Control

  9. STADIUS - Center for Dynamical Systems, Signal Processing and Data Analytics Additional notes about controllability Note that ( ) ( )    n −  = k 1 rank B AB  A B rank B AB  A B     C for k > n ─ 1 (from the Cayley-Hamilton theorem). O Cayley-Hamilton theorem Let α c ( s ) = det ( s I ─ A ) be the characteristic polynomial of A . Then α c ( A ) = 0 . Corollary Any power of A k ϵ R n×n for k ≥ n can be written as a linear combination of A i , i = 0,…, n ─ 1 . For example, α = + − + + + = n n 1  ( ) A A a A a A a I 0 − c 1 n 1 n ⇒ = − − − − − n n 1 A a A  a A a I − 1 n 1 n Oscar Mauricio Agudelo Methods and Algorithms for Advanced Process Control

  10. STADIUS - Center for Dynamical Systems, Signal Processing and Data Analytics For k > n ─ 1, we have that ( ) ( )     = n − k 1 rank B AB  A B rank B AB  A B .     C O Proof: When k > n ─ 1, we have that ( ) ( )     = k n k rank B AB  A B rank C A B  A B     O By using the Cayley-Hamilton theorem we can write A k as follows: ( ) − = ∀ > − k n 1 A p I , A ,  , A , k n 1 k where p k is a linear function. Finally, notice that all the columns of ( ) = − ∀ > − k n 1 A B p I , A ,  , A B , k n 1 k are linear combinations of the columns of C O and therefore they do not increase the rank of C O . Oscar Mauricio Agudelo Methods and Algorithms for Advanced Process Control

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend