EEL 4930/5930, EML 4316/5317: Final Exam Name:
Question 2 (30 points)
Consider the idealized quarter-car model of a suspension system with passive elements as shown in the
figure.
Figure 1: Quarter-car Suspension System Model
The following table gives the values and description of the parameters in the model.
Parameter Description Value
Ms Sprung mass (The mass of the car
body)
288.9 Kg
Mus Unsprung mass (The mass of the wheel
assembly)
28.58 Kg
ks Suspension spring constant 10000 N-m
−1
Cs Suspension damping coefficient 850 N-s-m
−1
kt Tire spring constant 155900 N-m
−1
Table 1: Quarter-car parameter values and description.
The dynamical model for the system is given by
Msy¨s + Cs (y˙s − y˙us) + ks (ys − yus) = 0
Musy¨us + Cs (y˙us − y˙s) + ks (yus − ys) + kt (yus − z(t)) = 0,
where z(t) ∈ R is the disturbance due to the road unevenness. The goal of the suspension system is to
isolate the passenger from the road disturbance as much as possible. To this end, we are interested in
investigating the amplifying/attenuating effect (gain) of the system from the road input to two performance
indicators, namely:
• Car body Acceleration (CBA) (y¨s) : This quantifies the notion of ride comfort. The smaller
the better.
• Suspension deflection (SD) (ys − yus) : This quantifies the notion of ride handling. Also, the
smaller the better.
Write a MATLAB script (or otherwise) to calculate the following for the given parameter values:
(Task 1) (MIMO zeros) (15 points)
(a) the transmission zeros (Remember to obtain a minimal realization first)
(b) if they exist, pick one of the transmission zeros above and calculate the zero– input and output
directions.
(Task 2) (2-norm) (15 points)
(a) the 2-norm from the road disturbance to the CBA and SD
Page 3
EEL 4930/5930, EML 4316/5317: Final Exam Name:
Question 4 (Bonus question 30 points)
The figure below depicts a simplified planar differential driven mobile robot.
Figure 3: Planar Differential wheel mobile robot
Model Parameters: a = 10cm, b = 15cm, r = 10cm, m = 18kg, J = 0.5N-m, kt = 10N-m/A
The corresponding simplified dynamics is given by:
M q˙ +Dq = Bu,
where M =
[
m 0
0 ma2 + J
]
is the inertia matrix, D =
[
0.2 0
0 0.3
]
is friction/damping matrix, and
B = ktr
[
1 1
b −b
]
is the input matrix. The input to the system are the left and right wheel forces
FL and FR respectively, which are generated by torques produced by electric motors. Consequently, the
input vector u =
[
u1 u2
]
comprises of the reference currents commands to the inner layer 0 control.
The electric motors generate an amount of heat which depends on the command current according to
Qi = Riu
2
i i ∈ {L,R}, where Ris are the respective internal resistances of the left and right motor. The
more the heat generated, the higher the risk of burning out the motor. Moreover, it is known that the
internal resistances increases with age and frequency of use.
The objective of this control design is to track constant desired generalized velocities qd =
[
vd ωd
]
while minimizing the overall risk of burning out the motors. Suppose that the left motor is 5 times as old
as the right motor (i.e RL = 5RR ).
1. Formulate this risk-driven tracking problem as an LQR problem. Set the input and state penalties
as you wish but give justification for your choices.
2. Solve the LQR problem using the lqr command in MATLAB.
3. Simulate the tracking performance of your controller using the desired trajectory vd = 10cm/sec,
ωd = 0.1rad/sec.
4. Comment on your results and the individual and overall heat generated in the motors over a 10
minute period of tracking the given trajectory.
Hint: The tracking problem can be reduced to the regulation problem e˙ = M−1De + M−1Bu˜, where
u˜ = u−B−1Dqd. Formulate the LQR problem for the error system and factor in the risk in your objective
function. Don forget to add the feedforward term B−1Dqd to your final control before injecting in to the
plant.