Example: Solution to the Cruise Control Problem Using State Space
The state equations for this problem are:

The design criteria (for a steady-state speed of 10 m/s) are:
Rise time < 5 sec
Overshoot < 10%
Steady state error < 2%
To see how this problem was originally set up, click here.
The first step in solving this problem using state-space is to check
the controllability and observability of the system. Matlab can check
both of these for you. Create the following m-file to check the
controllability and observability of the system:
m = 1000;
b = 50;
u = 500;
A = [0 1; 0 -b/m];
B = [0; 1/m];
C = [0 1];
D = 0;
Co = ctrb(A,B);
Ob = obsv(A,C);
rank(Co)
rank(Ob)
As a result, you should see the following text returned to the command window:
This means that the rank of the controllability matrix is 2, but the
rank of the observability matrix is only 1. Therefore, the system is
controllable, but not observable.
This system is not observable because the dynamics of the system do
not depend on the position. Since the variable of interest (i.e. the
output) is the velocity, the system can be completely described
without knowing the position, therefore making this a first order
system (eliminating the position variable). Another way of
looking at it is that, while driving your car, you cannot get any
information on your position by only looking at your speedometer. Further more, if you look at the transfer function:
Since this problem is of first order, solving it using the state-space
method would not be very efficient. Try using one of the other
solution methods.
User Survey
Your anonymous answers to the following questions will help us to
improve future versions of these tutorials.
-
State Space Examples
-
Cruise Control |
DC Motor |
Bus Suspension |
Inverted Pendulum
-
Cruise Control Examples
-
Modeling |
PID |
Root Locus |
Frequency Response |
State Space
-
Tutorials
-
Basics |
Modeling |
PID |
Root Locus |
Frequency Response |
State Space |
Examples

8/22/96 JDP