Controllability of Linear Systems: Rank of Controllability Matrix - Prof. Seth A. Hutchins, Study notes of Control Systems

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

Pre 2010

Uploaded on 03/10/2009

koofers-user-bsq-1
koofers-user-bsq-1 🇺🇸

10 documents

1 / 3

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
ECE 486 CONTROLLABILITY Fall 08
Reading: FPE, Section 7.4.1
Now that we have seen how to model systems in state-space form, we can turn our attention to analyzing
these models for the purp ose 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 t1is x(t1), We would like to drive the system state to x(t2)
(which is completely free for us to choose) at time t2. Is there a choice of input u(t) for t1tt2that
accomplishes this? If so, the system is said to b e controllable. We will now derive conditions on the
system matrices A,Band Cto see how they relate to controllability of the state-space model.
1 Conditions for Controllability
The following result characterizes the controllability of a given state-space realization.
Consider the state-space model ˙
x=Ax +Bu, where xRn. Define the controllability
matrix
C=B AB A2B··· An1B.
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 krepresents 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] = A2x[0] + ABu[0] + Bu[1]
x[3] = Ax[2] + Bu[2] = A3x[0] + A2Bu[0] + ABu[1] + Bu[2]
.
.
.
x[k] = Akx[0] + Ak1Bu[0] + Ak2Bu[1] + ···+ABu[k2] + Bu[k1] .
We can write this last expression as
x[k] = Akx[0] + B AB A2B··· Ak1B
u[k1]
u[k2]
.
.
.
u[0]
.
pf3

Partial preview of the text

Download Controllability of Linear Systems: Rank of Controllability Matrix - Prof. Seth A. Hutchins and more Study notes Control Systems in PDF only on Docsity!

ECE 486 CONTROLLABILITY Fall 08

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.

1 Conditions for Controllability

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 =

[

]

, B =

[

]

Solution.