

Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
The concept of controllability in the context of linear systems represented in state-space form. How to analyze the system matrices a, b, and c to determine if the system is controllable based on the rank of the controllability matrix. The document also includes examples to illustrate the concept.
Typology: Study notes
1 / 3
This page cannot be seen from the preview
Don't miss anything!


Reading: FPE, Section 7.4.
Now that we have seen how to model systems in state-space form, we can turn our attention to analyzing these models for the purpose of controlling the system. Let us consider a linear system with state-space realization
x˙ = Ax + Bu y = Cx.
Suppose the value of the system-state at time t 1 is x(t 1 ), We would like to drive the system state to x(t 2 ) (which is completely free for us to choose) at time t 2. Is there a choice of input u(t) for t 1 ≤ t ≤ t 2 that accomplishes this? If so, the system is said to be controllable. We will now derive conditions on the system matrices A, B and C to see how they relate to controllability of the state-space model.
The following result characterizes the controllability of a given state-space realization.
Consider the state-space model x˙ = Ax + Bu, where x ∈ Rn. Define the controllability matrix C =
B AB A^2 B · · · An−^1 B
The system is controllable if and only if the rank of the controllability matrix is n.
To obtain some intuition about where the above result comes from, it is easier to consider the discrete-time version of the continuous time-system:
x[k + 1] = Ax[k] + Bu[k] y[k] = Cx[k] ,
where k represents a time-step. Suppose we start at some state x[0] at time-step 0, and note that:
x[1] = Ax[0] + Bu[0] x[2] = Ax[1] + Bu[1] = A^2 x[0] + ABu[0] + Bu[1] x[3] = Ax[2] + Bu[2] = A^3 x[0] + A^2 Bu[0] + ABu[1] + Bu[2] .. . x[k] = Akx[0] + Ak−^1 Bu[0] + Ak−^2 Bu[1] + · · · + ABu[k − 2] + Bu[k − 1].
We can write this last expression as
x[k] = Akx[0] +
B AB A^2 B · · · Ak−^1 B
u[k − 1] u[k − 2] .. . u[0]
If the matrix
B AB A^2 B · · · Ak−^1 B
has rank n, then we can find n linearly independent columns within that matrix. In this case, we would be able to select the inputs u[0], u[1],... , u[k−1] to combine those columns in such a way that we can obtain any x[k]. However, if the rank of
B AB A^2 B · · · Ak−^1 B
is less than n, then there might be some x[k] that we cannot obtain. In this case, we can wait a few more time-steps and hope that the rank of the matrix
B AB A^2 B · · · Ak−^1 B
increases to n. How long should we wait? To answer this question, we use a result from matrix theory known as the Cayley- Hamilton Theorem, which says that if A is an n × n matrix, then An^ will be a linear combination of I, A, A^2 ,... , An−^1 :
An^ = α 0 I + α 1 A + · · · + αn− 1 An−^1 , α 0 ∈ R, α 1 ∈ R, · · · , αn− 1 ∈ R.
This means that
AnB = α 0 B + α 1 AB + · · · + αn− 1 An−^1 B, α 0 ∈ R, α 1 ∈ R, · · · , αn− 1 ∈ R.
Using this, we can actually show that An+kB is a linear combination of An−^1 B, An−^2 B,... , AB, B for any k ≥ 0. This means that
rank
B AB A^2 B · · · An+kB
= rank
B AB A^2 B · · · An−^1 B
C
and thus there is no point in waiting more than n time-steps. Now consider the state at time-step n:
x[n] = Anx[0] +
B AB A^2 B · · · An−^1 B
u[n − 1] u[n − 2] .. . u[0]
If the matrix C does not have rank n, then there may be some combination of x[0] and x[n] for which this equation has no solution. On the other hand, if C has rank n, then we can choose u[0], u[1],... , u[n − 1] in such a way that this equation is satisfied for any choice of x[0] and x[n]. This means that we can drive the state to any value we want at time-step n from any initial state.
Note that the above analysis is not a proof for the continuous time systems. The proof for continuous-time systems is similar in flavor, but the discrete-time version is a little more intuitive, and so it will suffice for us to understand where the result comes from.
Example. Check controllability of the state-space realization A =
Solution.