Overview

We have introduced controllability and observability for linear time-invariant systems. We saw the conditions for such a system is controllalble and observable. Now we turn to the question how can we test is controllable and observable.

Testing for controllability

Recall that we deal with linear systems of the form

$$\frac{d\mathbf{x}}{dt} = \mathbf{A}\mathbf{x} + \mathbf{B}\mathbf{u}, ~~ \mathbf{y} = \mathbf{C}\mathbf{x} + \mathbf{D}\mathbf{u}$$

We can understand whether the linear system above is controllable or not by examing the controllability matrix $\mathbf{\cal{C}}$. In particular, the column space of that matrix. This matrix is defined as follows

$$\mathbf{\cal{C}} = \begin{bmatrix}\mathbf{B} && \mathbf{AB} && \mathbf{A}^2\mathbf{B} && \dots && \mathbf{A}^{n-1}\mathbf{B} \end{bmatrix}$$

Where $n$ is the number of state variables. If the controllability matrix has $n$ linearly independent columns, then the system under consideration is controllable [1]. Note that this does not mean that the columns of $\mathbf{\cal{C}}$ should be linearly independent. All that we require, is that we can find $n$ linearly independent columns (see example 2 below). Let's see two examples taken from [1].

The Popov-Belevich-Hautus or PBH is one of the most useful tests to determine whether or not a system is contollable [1]. The test says that the pair $(\mathbf{A}, \mathbf{B})$ is controllable if and only if the column rank of the matrix

$$\begin{bmatrix} \mathbf{A} - \lambda \mathbf{I} && \mathbf{B} \end{bmatrix}$$

is equal to $n$ $\forall \lambda \in \mathbb{C}$. Indeed the rank of $\mathbf{A} - \lambda \mathbf{I}$ is $n$ only when $\lambda$ is an eigenvalue of $\mathbf{A}$ [1]. Given that the $\mathbf{A} - \lambda \mathbf{I}$ is only rank deficient for the eigenvalues $\lambda$, then the kernel or null-space of $\mathbf{A} - \lambda \mathbf{I}$ is given by the span of the eigenvectors corresponding to $\lambda$ [1]. Therefore, for the matrix

$$\begin{bmatrix} \mathbf{A} - \lambda \mathbf{I} && \mathbf{B} \end{bmatrix}$$

to have rank $n$, the columns in $\mathbf{B}$ must have some component in each of the eigenvector directions of $\mathbf{A}$ so that to complment the null space $\mathbf{A} - \lambda \mathbf{I}$ [1]

If $\mathbf{A}$ has $n$ distinct eigenvalues, then the system will be controllable with a single actuation input. In this call the matrix $\mathbf{A} - \lambda \mathbf{I}$ has at most one eigenvector direction in the null-space [1]. We can choose $\mathbf{B}$ as the sum of all $n$ linearly independent eigenvectors. This will guarantee to have some component in each direction.

Obviously, cases exist where we have degenerate eigenvalues with multiplicity greater than 2. The actuation input i.e. matrix $\mathbf{B}$ must then have multiple columns [1]. One more case where more it may be helpful to have multiple actuators is when we need better control of the system or when dealing with systes with large transient growth [1].

References

  1. Steven L. Brunton, J. Nathan Kutz, Data-Driven Science and Engineering. Machine Learning, Dynamical System and Control, Cambridge University Press.