I'm writing a controller for an inverted pendulum in which the state vector isn't completely measurable. The state vector is $\mathbf{x}\in\mathbb{R}^4$ and the output vector is $\mathbf{y}\in\mathbb{R}^2$.
The worked examples of evaluating observability that I've found all use $\mathbf{y}\in\mathbb{R}^1$, so I'm reaching out here to ask whether I'm correctly calculating rank of the observability matrix $O$.
The output matrix $C$ is $$ C = \begin{bmatrix} 1&0&0&0 \\ 0&0&1&0 \end{bmatrix} $$
The observability matrix $O$ is $$ O = \begin{bmatrix} C \\ CA \\ CA^2 \\ CA^3 \end{bmatrix} $$
A rounded version of the system matrix $A$ is $$ A = \begin{bmatrix} 0&10&0&0\\ 1&0&0&0\\ 0&-20&0&0\\ 0&0&1&0\end{bmatrix} $$
The resulting observability matrix $O$ is then
$$ O = \begin{bmatrix} \begin{bmatrix}1&0&0&0\\0&0&1&0\end{bmatrix}\\ \begin{bmatrix}0&10&0&0\\0&-20&0&0\end{bmatrix}\\ \begin{bmatrix}10&0&0&0\\-20&0&0&0\end{bmatrix}\\ \begin{bmatrix}0&100&0&0\\0&-200&0&0\end{bmatrix}\\ \end{bmatrix} $$
Clarifications
1. On taking the rank of nested matrices
Wikipedia defines the rank of a matrix A is the dimension of the vector space generated (or spanned) by its columns. Could I not say that $O$ is full rank 1 of 1 because it contains a single column of nonzero elements?
No, in this context we view this not as a 4x1 of 2x4 but as a melded 8x4 matrix. Rank is then established by checking linear independence of the four columns.
2. On how the output matrix $C$ is represented
The way I represented the output matrix $C$ here as $q$x$n$ where $\mathbf{x}\in\mathbb{R}^n$ and $\mathbf{y}\in\mathbb{R}^q$ is in accordance with the Wikipedia article on State-Space.
However, the two controls textbooks I'm looking at:
- Feedback Control of Dynamic Systems (6th Edition) (FPE)
- Control Systems Engineering (7th Edition) (Nise)
strictly consider cases in which the shape of $\mathbf{x}$ and $\mathbf{y}$ is identical. The shape of the $C$ matrix is always $1$x$n$. Zero terms in $C$ are used to represent un-measurable terms in the output vector $\mathbf{y}$. For example, let $\mathbf{x} = \begin{bmatrix}\dot\theta\\\theta\\\dot\phi\\\phi\end{bmatrix}$. If only the terms $\dot\theta$ and $\dot\phi$ appear in the output vector $\mathbf{y}$, then the C matrix is given as $C = \begin{bmatrix}1&0&1&0\end{bmatrix}$
This approach feels misleading to me, as a term in the output vector $\mathbf{y}$ that's always zero is conceptually different from a term that doesn't appear at all. Nonetheless, it's valid for the sake of calculating rank.
$$ O = \begin{bmatrix} 1&0&1&0\\ 0&-10&0&0\\ -10&0&0&0\\ 0&-100&0&0 \end{bmatrix} $$
Conclusion
Both approaches show one three columns with linear independence and one without. Therefore the rank is 3.
You've evaluated it correctly although it is easier to see the rank through the columns in this case. The last column of zeros places an upper bound on the rank at 3; from that alone you can conclude the system is not observable. Specifically, the first three columns are linearly independent so then you can conclude the rank is 3 and therefore you can only observe the evolution of the system in a 3 dimensional subspace of the entire state-space. Note that last column of zeros indicate that you cannot observe the evolution of the 4th state.