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

Recommend


More recommend