Example: Solution to the Cruise Control Problem Using State Space

Control design using pole placement
Reference input

The state equations for this problem are:


The design criteria are:

Rise time < 5 sec
Overshoot < 10%
Steady state error < 2%

To see the original problem setup , see Cruise Control Modeling page.

Control design using pole placement

The schematic of a full-state feedback system is shown below.


Recall from the State-Space Tutorial page, we should use the technique called "pole placement" to obtain the desired output. Poles of a closed-loop system can be found from the characteristic equation: the determinate of [sI-(A-B*K)] matrix. If desired poles can be placed into the system by designing right control matrix (K), then the desired output can be obtained. In this tutorial, poles will be chosen first, then use Matlab to find the corresponding control matrix (K).

Now, we need to determine where to place poles for our system. Since our [sI-(A-B*K)] matrix is 1x1, we have only one pole to place. Let the pole to be at -1.5 (arbitrary). Just as in the State-Space Tutorial, the Matlab function called place will be used to find the control matrix K . Create an new m-file and enter the following commands.

Running this m-file in the Matlab command window should give you the control matrix and the following step response.

As you can see, the rise time is satisfactory, but the steady-state error is too large.

Reference input

Once again from the State-Space Tutorial, scaling factor called Nbar (the schematic is shown below) should be used to eliminate the steady-state error. Unlike the example in the Tutorial, the command rscale is not applicable for our system. Nbar needs to be determined manually.

After several trial-and-error runs, the Nbar equals 30 provided the desired step response. Copy the following commands to an m-file and run it in the Matlab command window. You should get the step response shown below.

As you can see, the steady-state error has been eliminated. The rise time is less than 5 seconds and the overshoot is, in fact, zero. All the design requirements are satisfied.

User feedback

We would like to hear about difficulties you had with the tutorials, suggestions you have for improvement, errors that you found, or any other comments that you have. This feedback is anonymous; include your email address if you want a reply.

State Space Examples
Cruise Control | Motor Speed | Motor Position | Bus Suspension | Inverted Pendulum | Pitch Controller | Ball and Beam

Cruise Control Examples
Modeling | PID | Root Locus | Frequency Response | State Space | Digital Control: RL


Basics | Modeling | PID | Root Locus | Frequency Response | State Space | Digital Control | Examples


8/26/97 DK