Mohd Sami Ashhab
Lecture #17
System Controllability (Continued)
In the previous lecture, we showed that given the system:

where u is a scalar, we have the following test for controllability: if det(Con) is not equal to zero then the system is controllable, and if det(Con) is equal to zero then the system is uncontrollable.
Example 1: Consider the third order system

We would like to determine if this system is controllable or not. We first form the controllability matrix:

Note that

We then evaluate the determinant of the controllability matrix. We find that det(Con) = -32 which is not equal to zero. Therefore, the system is controllable.
Example 2: 2mass-spring-damper system
This is the same example we considered in lecture #4. We will determine here whether or not the system is controllable with the following values

Recall that the state space representation of this system is written as

In order to test for system controllability we construct the controllability matrix:


Therefore, the system is controllable. The external force is applied to one mass but we can control the position and velocity of the second mass as we like!!
Construction of the Control Input:
Consider a dynamical system of the form

which is controllable. Suppose the system starts at the initial condition

and we are interested in transferring the system to the state
in T units of time. We will now give a formula for an input u(t) in the time interval from zero to T that will produce the desired state transfer. First we need to compute the following matrix called the controllability gramian at time T which is given by

Note that the superscript denotes the transpose operation (see matrix transpose under tools in the supplementary section). The desired input is given by the following formula:

Let us verify that the above control input produces the desired transfer. From the variation of parameters formula, our state equation is the following:

Evaluating our state at time T and substituting our input equation leads to the following:
Hence, our input u(t) as given above will perform the desired state transfer.
Example 3: Consider the following system

We would like to transfer the system from its initial state of:

to a final state of:

in t = 1 second. In order to be certain that we can construct an input u to achieve this transfer, we need to know that our system is controllable. Therefore, let us first calculate our system controllability matrix and evaluate its determinant.

Therefore, our system is controllable.
The first step in constructing our control input is to calculate the controllability gramian Q(1). In order to do this, we must determine our state transition matrix:

We now calculate the controllability gramian.
We can finally construct the required control input. Using the formula given above we have:


Click here to download a Matlab code for the numerical verification of the solution of this example. The code also exists under Matlab in the supplementary section.
Example 4:
The figure shows a mass of 1 Kg on a smooth surface. The mass is initially moving with a velocity of 0.5 m/ s. Is it possible to find a force F(t) for
such that in 1 second the mass will move 1 m and attain a velocity of 1 m/ s? If yes find F(t) . If no explain why?


We first find the differential equation of motion. Use Newtons second law

Let the state variables of the system be the position and velocity of the mass, that is

The state equation of the system can be written as (u = F )

Let us now compute the controllability matrix and its determinant

Therefore the system is controllable and we can solve the problem. Now, we find the state transition matrix

The controllability gramian matrix is equal to

The inverse of the controllability gramian matrix is equal to
.
Finally we compute the input which is the force F(f)
