Professional Documents
Culture Documents
Simulink
Physical setup
Building the model
Open-loop response
Extracting the Model
Implementing Full State Feedback
Closed-loop response
Physical setup
Designing an automatic suspension system for a bus turns out to be an interesting control
problem. When the suspension system is designed, a 1/4 bus model (one of the four
wheels) is used to simplify the problem to a one dimensional spring-damper system. A
diagram of this system is shown below:
Where:
* body mass (m1) = 2500 kg,
* suspension mass (m2) = 320 kg,
* spring constant of suspension system(k1) = 80,000 N/m,
* spring constant of wheel and tire(k2) = 500,000 N/m,
* damping constant of suspension system(b1) = 350 Ns/m.
* damping constant of wheel and tire(b2) = 15,020 Ns/m.
* control force (u) = force from the controller we are going to design.
Design requirements:
A good bus suspension system should have satisfactory road holding ability, while still
providing comfort when riding over bumps and holes in the road. When the bus is
experiencing any road disturbance (i.e. pot holes, cracks, and uneven pavement),the bus
body should not have large oscillations, and the oscillations should dissipate quickly.
Since the distance X1-W is very difficult to measure, and the deformation of the tire (X2-
W) is negligible, we will use the distance X1-X2 instead of X1-W as the output in our
problem. Keep in mind that this is an estimation.
The road disturbance (W) in this problem will be simulated by a step input. This step
could represent the bus coming out of a pothole. We want to design a feedback controller
so that the output (X1-X2) has an overshoot less than 5% and a settling time shorter than
5 seconds. For example, when the bus runs onto a 10 cm high step, the bus body will
oscillate within a range of +/- 5 mm and return to a smooth ride within 5 seconds.
• Insert an Integrator block (from the Linear block library) and draw lines to and
from its input and output terminals.
• Label the input line "a1" (for acceleration) and the output line "v1" (for velocity)
To add such a label, double click in the empty space just above the line.
• Insert another Integrator block connected to the output of the first.
• Draw a line from its output and label it "x1" (for position).
• Insert a second pair of Integrators below the first with lines labeled "a2", "v2",
and "x2".
Next, we will start to model Newton's law. Newton's law for each of these masses can be
expressed as:
These equations can be represented with gain blocks (for 1/M1 and 1/M2) and two
summation blocks.
• Insert two Gain blocks, (from the Linear block library) one attached to the inputs
of each of the integrator pairs.
• Edit the gain block corresponding to M1 by double-clicking it and changing its
value to "1/m1".
• Change the label of this Gain block to "Mass 1" by clicking on the word "Gain"
underneath the block.
• Similarly, edit the other Gain's value to "1/m2" and it's label to "Mass 2". (You
may want to resize the gain blocks to view the contents. To do this, single click on
the block to highlight it, and drag one of the corners to the desired size.)
There are three forces acting on M1 (one spring, one damper, and the input, u) and five
forces acting on M2 (two springs, two dampers, and the input, u).
• Insert two Sum blocks (from the Linear block library), one attached by a line to
each of the Gain blocks.
• Edit the signs of the Sum block corresponding to M1 to "+--" to represent the
three forces (two of which will be negative)
• Edit the signs of the other Sum block to "++-++" to represent the five forces, one
of which will be negative.
Now, we will add in the forces acting on each mass. First, we will add in the force from
Spring 1. This force is equal to a constant, k1 times the difference X1-X2.
• Insert a Step block in the lower left area of your model window. Label it "W".
• Edit it's Step Time to "0" and it's Final Value to "0". (We will assume a flat road
surface for now).
• Insert a Sum block to the right of the W Step block and edit its signs to "-+".
• Connect the output of the Step block to the positive input of this Sum block.
• Tap a line off the "x2" signal and connect it to the negative input of the new Sum
block.
• Insert a Gain block to the right of this Sum block and connect the Sum's output to
the new Gain's input.
• Change the value of the gain to "k2" and label it "Spring 2".
• Connect the output of this block (Spring 2's force) to the fourth input of Mass 2's
Sum block. This force adds in in the positive sense.
Next, we will add in the force from Damper 2. This force is equal to b2 times V2-
d/dt(W). Since there is no existing signal representing the derivative of W we will need
to generate this signal.
• Insert a Derivative block (from the Linear block library) to the right of the W step
block.
• Tap a line of the Step's output and connect it to the input of the Derivative block.
• Insert a Sum block after the Derivative block and edit it's signs to "+-".
• Connect the Derivative's output to the positive input of the new Sum block.
• Tap a line off the "v2" line and connect it to the negative input of this Sum block.
• Connect the output of this Sum block (Damper 2's force) to the fifth input of Mass
2's Sum block. This force also adds in with positive sign.
The last force in the input U acting between the two masses.
[A,B,C,D]=linmod('suspmodel')
[num,den]=ss2tf(A,B,C,D)
You should see the following output, providing both state-space and transfer function
models of the system.
A =
1.0e+003 *
0 0 0 0.0010
0 0 0.0010 0
0.2500 -1.8125 -0.0480 0.0011
-0.0320 0.0320 0.0001 -0.0001
B =
0
0
-0.0031
0.0004
C =
1 -1 0 0
D =
num =
den =
1.0e+004 *
1) For a step disturbance of W = 1, and given the transfer function G(s) = num/den,
design a controller such that the dominant poles are characterized by a 2% settling
time of less than 5 seconds (the peak of the oscillations lie within the band of plus or
minus 0.2 from the equilibrium state.) and the damping ratio is greater than 0.5.
Root Locus
2
2
0.64 0.5 0.38 0.28 0.17 0.08
1.75
1.5
1.5 0.8
1.25
1
1
0.75
0.94
0.5
0.5
0.25
Imaginary Axis
0.25
-0.5
0.5
0.94
0.75
-1
1
1.25
-1.5 0.8
1.5
1.75
0.64 0.5 0.38 0.28 0.17 0.08
-2
-2 -1.8 -1.6 -1.4 -1.2 -1 -0.8 -0.6 -0.4 -0.2 2 0
Real Axis
2) If an active control of the suspension is not permitted, study the effect of the
damper b1 and generate a root-locus of the poles of the system as a function of the
damping constant b1. Can the desired performance of the suspension be achieved by
selecting a damper with a different damping constant?
3) Generate Bode diagram of the response of the body mass as a function of the
disturbance input W.