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
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
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
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
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
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
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
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
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
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