Question 1 of 6: Disturbance rejection and phase margin of a cruise-control loop
Nivaar worked solution (AI-drafted; not reviewed by a licensed engineer)
Notes on this paper
Paper format. National Exams, May 2015,
07-Elec-B2 Advanced Control Systems — three hours, closed book. Six questions
are set; the rubric states that “any four questions constitute a complete paper”
and that “all questions are of equal value”, so each carries 25 marks. Tables of
inverse Laplace and inverse z-transforms are appended as pages 4 and 5, and only an approved
Casio or Sharp calculator is permitted. All six questions are solved here,
because this set is a study resource rather than a timed sitting. The paper deliberately
mixes continuous-time frequency-response work (Questions 1 and 6), state-space methods
(Questions 2 and 4) and sampled-data design (Questions 3 and 5).
Reference texts. G. F. Franklin, J. D. Powell and A. Emami-Naeini,
Feedback Control of Dynamic Systems, 7th ed., Pearson (frequency response, stability
margins, steady-state error, lead compensation); K. J. Åström and R. M. Murray,
Feedback Systems: An Introduction for Scientists and Engineers, 2nd ed., Princeton
(sensitivity functions and loops containing transport delay); K. Ogata, Modern Control
Engineering, 5th ed., Pearson (state-space realisations, controllability, observability
and pole placement); G. F. Franklin, J. D. Powell and M. L. Workman, Digital Control of
Dynamic Systems, 3rd ed., Addison-Wesley (zero-order-hold equivalents, the Jury test,
discrete steady-state error); L. Ljung, System Identification: Theory for the User,
2nd ed., Prentice Hall (least-squares estimation of difference-equation models). These are
the works listed by Engineers Canada and EGBC for the Elec-B2 syllabus.
Two readings matter for the marks:
in Question 1 the disturbance d enters the plant-input summing
junction through a minus sign while u enters through a plus, so the
plant sees $u - d$; and the Question 3 table is
$y = \{0,\,10,\,4,\,3,\,1.6,\,0.4,\,0.3\}$ against
$u = \{1,\,0,\,0,\,0,\,0,\,0,\,0\}$.
Question 1: Disturbance rejection and phase margin of a cruise-control loop (25 marks)
Given. A unity-feedback cruise controller in which the road-grade torque
is subtracted at the plant input, so the vehicle dynamics receive the actuator command less
the disturbance.
Quantity
Value
Plant (vehicle dynamics)
$P(s) = \dfrac{100}{10s+1}$, DC gain $100$, time constant $10\text{ s}$
Controller
$C(s) = \dfrac{10}{5s+1}$, DC gain $10$, time constant $5\text{ s}$
Loop transfer function
$L(s) = C(s)P(s) = \dfrac{1000}{(10s+1)(5s+1)}$
Disturbance, part (a)
unit step grade torque, subtracted at the plant input
Disturbance, part (b)
$d(t) = 3\sin(0.5t)$
Find. The steady-state speed error caused by a step grade, the
steady-state speed error caused by the undulating road, the phase margin of the loop, and one
modification of $C(s)$ that raises the margin while leaving the steady-state tracking
performance intact.
Question 1: unity-feedback cruise-control loop. The grade disturbance d is subtracted at the plant input, so the plant sees u - d (signs read from the printed figure of page 2).
Approach. Write the error in terms of both inputs directly from the block
diagram, evaluate it at $s = 0$ for the step and at $s = j0.5$ for the sinusoid, then solve
the magnitude condition $|L(j\omega)| = 1$ for the gain crossover and read the phase there.
Part (a) — write the error in terms of both inputs. The plant
receives $u - d$ and the controller sees $r - y$, so
$$y = P(s)\bigl[u - d\bigr], \qquad u = C(s)\bigl[r - y\bigr].$$ Eliminating $u$ gives $y\bigl[1 + C(s)P(s)\bigr] = C(s)P(s)\,r - P(s)\,d$, and subtracting
from $r$ leaves the error in the compact form
$$\boxed{\;e = r - y = \frac{r + P(s)\,d}{1 + L(s)}, \qquad L(s) = C(s)P(s)\;}$$ The disturbance is weighted by the whole plant because it is injected upstream of
it; had the grade torque been subtracted at the plant output, the weight would have been
unity instead.
Evaluate the loop gain at DC. Both first-order factors reduce to unity
at $s = 0$, so
$$L(0) = \frac{1000}{(1)(1)} = 1000, \qquad P(0) = 100 .$$
The loop has no integrator, so it is Type 0: a constant disturbance leaves a permanent, but
small, speed offset.
Apply the final-value theorem to the step grade. With $r$ held constant
the reference contributes nothing further to the change in error, and setting $d(s) = 1/s$,
$$e_{ss} = \lim_{s \to 0} s\,\frac{P(s)\,\tfrac{1}{s}}{1 + L(s)}
= \frac{P(0)}{1 + L(0)} = \frac{100}{1 + 1000},$$
$$\boxed{\;e_{ss} = \frac{100}{1001} = 0.0999\ \text{speed units}\;}$$
Physically the loop absorbs all but about one part in a thousand of the grade torque: the
vehicle loses roughly a tenth of a unit of speed on the incline and holds that loss
indefinitely.
Part (b) — move to the frequency domain. A sinusoidal disturbance
is not a case for the final-value theorem; the steady-state error is itself a sinusoid at the
same frequency, scaled and shifted by the transfer function from $d$ to $e$ evaluated on the
imaginary axis. At $\omega = 0.5\ \text{rad/s}$,
$$P(j0.5) = \frac{100}{1 + j5} = 19.612\,\angle{-78.690^\circ},$$
$$L(j0.5) = \frac{1000}{(1+j5)(1+j2.5)} = \frac{1000}{-11.5 + j7.5} = -61.008 - j39.788 .$$
Form the sensitivity at that frequency. Adding one to the loop gain,
$$1 + L(j0.5) = -60.008 - j39.788, \qquad |1 + L(j0.5)| = 72.000,
\qquad \angle\bigl(1+L\bigr) = -146.454^\circ .$$
The ratio that multiplies the disturbance is therefore
$$\left|\frac{P}{1+L}\right|_{\omega = 0.5} = \frac{19.612}{72.000} = 0.27238,
\qquad \angle\frac{P}{1+L} = -78.690^\circ + 146.454^\circ = +67.764^\circ .$$
Scale by the disturbance amplitude. The forcing has amplitude 3, so
$$\boxed{\;e_{ss}(t) = 3 \times 0.27238\,\sin\!\bigl(0.5t + 67.76^\circ\bigr)
= 0.817\,\sin\!\bigl(0.5t + 67.76^\circ\bigr)\;}$$
The undulating road produces a speed ripple of amplitude $0.817$ — more than eight
times the steady offset of part (a), because at $0.5\ \text{rad/s}$ the loop gain has already
fallen from 1000 to about 73 and the plant itself is rolling off more slowly than the loop
can compensate.
Part (c) — locate the gain crossover. Setting the loop magnitude to
unity and squaring,
$$|L(j\omega)|^2 = \frac{10^6}{(1 + 100\omega^2)(1 + 25\omega^2)} = 1
\;\Longrightarrow\; 2500\,\omega^4 + 125\,\omega^2 - 999\,999 = 0 .$$
Solving the quadratic in $\omega^2$ and keeping the positive root,
$$\omega^2 = 19.9750, \qquad \boxed{\;\omega_{gc} = 4.4693\ \text{rad/s}\;}$$
Read the phase at the crossover. Each first-order lag contributes its
own arctangent,
$$\angle L(j\omega_{gc}) = -\arctan(10\omega_{gc}) - \arctan(5\omega_{gc})
= -88.718^\circ - 87.438^\circ = -176.156^\circ,$$
so the phase margin is
$$\boxed{\;\mathrm{PM} = 180^\circ + \angle L(j\omega_{gc}) = 3.84^\circ\;}$$
Both lags are already deep into their $-90^\circ$ asymptotes by the time the magnitude
reaches unity, which is exactly why so little margin survives. A loop with under four degrees
of margin is violently under-damped: it is stable on paper but will ring badly and tolerate
almost no additional delay.
Part (d) — identify what may and may not be changed. Both
steady-state answers above are fixed by $L(0) = 1000$: part (a) scales as $P(0)/(1+L(0))$ and
part (b) as the low-frequency sensitivity. Simply reducing the controller gain would indeed
buy margin, but it would raise every steady-state error in proportion, so it is precisely the
change the question forbids. What is needed is extra phase near
$4.5\ \text{rad/s}$ with no change in gain at DC — that is the definition of a lead
network with unity DC gain,
$$C_{\text{new}}(s) = C(s)\cdot\frac{1 + \alpha T s}{1 + T s}, \qquad \alpha \gt 1 .$$
Size the lead network. A lead contributes a maximum phase of
$\phi_{\max} = \arcsin\frac{\alpha - 1}{\alpha + 1}$ at the geometric-mean frequency
$\omega_m = 1/(T\sqrt{\alpha})$. Choosing $\alpha = 12$ gives
$\phi_{\max} = 57.80^\circ$, and placing that peak at $\omega_m = 10\ \text{rad/s}$ —
comfortably above the old crossover, because the lead also lifts the magnitude and pushes the
crossover out — fixes
$$T = \frac{1}{\omega_m\sqrt{\alpha}} = \frac{1}{10\sqrt{12}} = 0.028868\ \text{s},$$
$$\boxed{\;C_{\text{new}}(s) = \frac{10}{5s+1}\cdot
\frac{1 + s/2.887}{1 + s/34.641}\;}$$
Confirm the redesign. Recomputing the crossover of the compensated loop
numerically gives
$$\omega_{gc}' = 7.289\ \text{rad/s}, \qquad \mathrm{PM}' = 58.9^\circ,$$
while $C_{\text{new}}(0) = C(0) = 10$ leaves $L(0) = 1000$ and therefore leaves the answers to
(a) and (b) exactly as computed. The margin has risen by a factor of fifteen at no cost in
steady-state accuracy, which is the whole point of the question.
Question 1: loop Bode plots. The uncompensated loop (dashed grey) crosses 0 dB at 4.47 rad/s where the phase has already fallen to -176.2 deg, leaving only 3.8 deg of phase margin; the lead network (solid blue) leaves the DC gain at 1000 untouched but lifts the margin to 58.9 deg at 7.29 rad/s.
Question 1 — results
Quantity
Symbol
Value
Loop DC gain
$L(0)$
1000
(a) Steady-state error, unit step grade
$e_{ss}$
$100/1001 = 0.0999$
(b) Disturbance-to-error gain at $0.5\text{ rad/s}$