The controllability matrix, often denoted as $C$, helps determine whether the states of a system can be driven to a desired value by an appropriate choice of inputs. For a linear time-invariant system described by the state-space equations:
$\dot{x} = Ax + Bu$
Where:
- $x \in \mathbb{R}^n$ is the state vector.
- $u \in \mathbb{R}^m$ is the control input vector.
- $A \in \mathbb{R}^{n \times n}$ and $B \in \mathbb{R}^{n \times m}$ are system matrices.
$C = [B, AB, A^2B, \ldots, A^{n-1}B]$
Dimensions
- $C \in \mathbb{R}^{n \times nm}$ where $n$ is the number of states and $m$ is the number of inputs.
Making Sense of the Controllability Matrix
1. Full Rank and Controllability
- The system is said to be controllable if the controllability matrix $C$ is of full rank,
i.e., $rank(C) = n$.
- Full rank implies that the columns of $C$ are linearly independent, and thus, it is possible to find a control input $u$ that can drive the system from any initial state to any final state in finite time.
2. Reduced Rank and Limited Controllability
- If $rank(C) < n$, the system is not fully controllable, meaning there are states that cannot be driven to desired values using the control input $u$.
- The system might still be stabilizable (i.e., it can be stabilized around an equilibrium point), but it cannot be controlled arbitrarily.
3. Control Strategies
- If the system is not controllable, need to revisit the system design or control input configuration to implement LQR.