Mohd Sami Ashhab
Lecture #16
System Controllability
A system is said to be controllable if for any values of

there exists a control input u(t) for
to move the system from

This idea is illustrated by the following example.
Example 1: Spring-mass system.

The system state at t = 0 is:

We want to find u(t) such that at time T the resulting system state will be:

For example, we could choose

If the construction of u(t) for
is possible for any such choice of
then the system is controllable.
Derivation of a Controllability Test
In order to obtain a test for controllability we will consider a discrete-time dynamical system of the form

where the subscript k denotes the time step. Suppose the system starts at the initial condition
and we want to find the input sequence
so that the final state
is equal to a desired final state
. By writing the equations for the evolution of the system during the n time steps we arrive at

The unknowns in this problem are the elements of the control sequence
. The quantity
is known a priori. Now we can rewrite the above equations as follows:

In order for the above set of equations to have a solution for any initial condition
and any final desired state
the following condition must hold

We define the controllability matrix Con as:

Therefore, our discrete-time system is controllable if and only if the controllability matrix is of full rank. In the case of single input systems, i.e. B is an n x 1 matrix, the condition reduces to

This is called the Kalman rank test. Although the test has been derived for discrete-time systems it is also valid for continuous-time systems. We summarize the test in the following:
Kalmans Controllability Test-- Single - input case:
A system of the form
is controllable (i.e. a controller can be found to transfer the state of the system from any initial state to any final state) if
where
Con is known as the controllability matrix and n is the number of state variables.
Example 2: Determine the controllability of the spring-mass system

We must construct the controllability matrix to determine whether this system is controllable:

Thus we can conclude that the system is controllable.
Example 3: Determine the controllability of the following system.

Equivalently,

Clearly, this system is not controllable. The input has no effect on the state
. Check this with the Kalman controllability test:

Therefore, the system is uncontrollable as expected.
Example 4: Determine the controllability of the following system.
Equivalently,

We notice that the dynamical equations for the two state variables are identical. Therefore, if the initial states are the same, then
. Thus, whatever the input signal, no final state in which
can be reached. Therefore, this system is uncontrollable. Verify using the Kalman controllability test:

Our analysis was correct; the system is uncontrollable.