Text Preview

Physical setup

Photo courtesy: Eisenhower Center

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.

Equations of motion:

From the picture above and Newton's law, we can obtain the dynamic equations as the following:

Transfer Function Equation:

Assume that all of the initial condition are zeroes, so these equations represent the situation when the bus's wheel go up a bump. The dynamic equations above can be expressed in a form of transfer functions by taking

Laplace Transform of the above equations. The derivation from above equations of the Transfer Functions G1(s) and G2(s) of output,X1-X2, and two inputs,U and W, are as follows.

Find the inverse of matrix A and then multiple with inputs U(s)and W(s) on the right hand side as the following:

When we want to consider input U(s) only, we set W(s) = 0. Thus we get the transfer function G1(s) as the following:

When we want to consider input W(s) only, we set U(s) = 0. Thus we get the transfer function G2(s) as the following:

Also we can express and derive the above equations in state-space form. Even though this approach will express the first two equations above in the standard form of matrix, it will simplify the transfer function without going through any algebra, because we can use a function ss2tf to transform from state-space form to transfer function form for both inputs

Entering equations into Matlab

We can put the above Transfer Function equations into Matlab by defining the numerator and denominator of Transfer Functions in the form, nump/denp for actuated force input and num1/den1 for disturbance input, of the standard transfer function G1(s) and G2(s): G1(s) = nump/denp G2(s) = num1/den1

Now, let's create a new m-file and enter the following code: m1=2500; m2=320; k1=80000; k2=500000; b1 = 350; b2 = 15020; nump=[(m1+m2) b2 k2]; denp=[(m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2) (b1*k2)+(b2*k1) k1*k2]; 'G(s)1' printsys(nump,denp) num1=[-(m1*b2) -(m1*k2) 0 0]; den1=[(m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2) (b1*k2)+(b2*k1) k1*k2]; 'G(s)2' printsys(0.1*num1,den1)

Open-loop response

We can use Matlab to display how the original open-loop system performs (without any feedback control). Add the...