For a
discrete-time linear state-space system (i.e. time variable {{nowrap|k\in\mathbb{Z})}} the state equation is \textbf{x}(k+1) = A\textbf{x}(k) + B\textbf{u}(k) where is an matrix and is a matrix (i.e. is inputs collected in a vector). The test for controllability is that the matrix \mathcal{C} = \begin{bmatrix}B & AB & A^{2}B & \cdots & A^{n-1}B\end{bmatrix} has full row
rank (i.e., ). That is, if the system is controllable, will have columns that are
linearly independent; if columns of are
linearly independent, each of the states is reachable by giving the system proper inputs through the variable .
Derivation Given the state at an initial time, arbitrarily denoted as , the state equation gives , then , and so on with repeated back-substitutions of the
state variable, eventually yielding \textbf{x}(n)=B\textbf{u}(n-1) + AB\textbf{u}(n-2) + \cdots + A^{n-1}B\textbf{u}(0) + A^n\textbf{x}(0) or equivalently \textbf{x}(n)-A^n\textbf{x}(0)= [B \, \, AB \, \, \cdots \, \, A^{n-1}B] [\textbf{u}^\mathsf{T}(n-1) \, \, \textbf{u}^\mathsf{T}(n-2) \, \, \cdots \, \, \textbf{u}^\mathsf{T}(0)]^\mathsf{T}. Imposing any desired value of the state vector on the left side, this can always be solved for the stacked vector of control vectors if and only if the matrix of matrices at the beginning of the right side has full row rank.
Example For example, consider the case when and (i.e. only one control input). Thus, and are vectors. If has rank 2 (full rank), and so and are
linearly independent and span the entire plane. If the rank is 1, then and are
collinear and do not span the plane. Assume that the initial state is zero. At time : x(1) = A\textbf{x}(0) + B\textbf{u}(0) = B\textbf{u}(0) At time : x(2) = A\textbf{x}(1) + B\textbf{u}(1) = AB\textbf{u}(0) + B\textbf{u}(1) At time all of the reachable states are on the line formed by the vector . At time all of the reachable states are linear combinations of and . If the system is controllable then these two vectors can span the entire plane and can be done so for time . The assumption made that the initial state is zero is merely for convenience. Clearly if all states can be reached from the origin then any state can be reached from another state (merely a shift in coordinates). This example holds for all positive , but the case of is easier to visualize. === Analogy for example of = 2 === Consider an
analogy to the previous example system. You are sitting in your car on an infinite, flat plane and facing north. The goal is to reach any point in the plane by driving a distance in a straight line, come to a full stop, turn, and driving another distance, again, in a straight line. If your car has no steering then you can only drive straight, which means you can only drive on a line (in this case the north-south line since you started facing north). The lack of steering case would be analogous to when the rank of is 1 (the two distances you drove are on the same line). Now, if your car did have steering then you could easily drive to any point in the plane and this would be the analogous case to when the rank of is 2. If you change this example to then the analogy would be flying in space to reach any position in 3D space (ignoring the
orientation of the
aircraft). You are allowed to: • fly in a straight line • turn left or right by any amount (
Yaw) • direct the plane upwards or downwards by any amount (
Pitch) Although the 3-dimensional case is harder to visualize, the concept of controllability is still analogous. == Nonlinear systems ==