The Controllability Matrix #
Today I was teaching the first class of the Advanced Control and Optimisation subject I teach here at The University of Sydney. One of the first questions in the problem sets is a recap of linear controls, including linearisation, stability and controllability. I gave my usual explanation of controllability and realised most people are not really given an intuition for the controllability matrix.
The explanation I give usually is very visual, but prone to getting lost and miscommunicated in the panic of live teaching on a whiteboard. So I made a quick video to explain it geometrically, digging deep into my 2nd year undergrad self when I was watching 3blue1brown’s Essence of Linear Algebra.
The video basically goes over the geometry of how your current action, \(u(t)\), does not just affect your next state, \(x(t+1)\), but also future states through your natural dynamics \(A\). So through that, even if you dont have full control over your system’s states, you can reach any state with the right choice of \(u\) over multiple time steps.
I explain this specifically for the discrete linear system, $$ x_{k+1} = Ax_k + Bu_k $$ by unfolding the dynamics an extra timestep,
$$ x_{k+2} = Ax_{k+1} + Bu_{k+1} $$
$$ x_{k+2} = A(Ax_k + B u_k) + Bu_{k+1} $$
$$ x_{k+2} = A^2 x_k + AB u_k + B u_{k+1} $$
Perhaps you might be able to see how you can reach any state, \(x_{\text{ref}}\), by the right combination of \( u_k \) and \(u_{k+1}\) by solving
$$ x_{\text{ref}} - A^2 x_k = AB u_k + B u_{k+1} $$
since that equation is linear in \([u_k, u_{k+1}]\) and the left hand side is constant for a given initial condition. In essence, the blocks/column vetors of the controllability matrix form a basis for the vector space of reachable points. If the vectors are full rank, then you know that you can reach any point in the \(N\)-d space.
Without further ado, the visualisation that I made with some help from Claude Code: