Robust Control: Sensitivity, Kharitonov & H-infinity
The robustness question
A controller designed for the nominal plant \(G_0(s)\) must, in engineering reality, also stabilize and perform adequately on the set of plants \(G_0 + \Delta\) that the true (unknown) physical system could plausibly be. This is not a refinement bolted onto classical control after the fact; it is control, because the nominal plant is a fiction — a convenience of linearization around an operating point, identified from finite noisy data, valid in a narrow envelope, and aging in ways the model does not capture.
[fn:: The counterargument, occasionally heard from practitioners who never left PID tuning: "the model is good enough, and I have gain and phase margin." This is defensible for SISO, single-loop, benignly coupled plants. It collapses for MIMO, where adequate gain margin in one channel can coexist with catastrophe in a coupling direction the loop-by-loop margins never inspect. The classical margins are scalar diagnostics projected onto a matrix problem — they measure the shadow, not the object. The stronger steelman of the PID practitioner: robust-control machinery is rarely worth its modeling cost when the plant is well-behaved, single-loop, and failure-tolerant; the machinery earns its keep on unstable, multivariable, safety-critical or poorly-identified plants where a wrong guess is expensive. Most industrial loops are not that.]
Classical gain and phase margins answer the narrow question "by what scalar factor can I scale the loop gain before the Nyquist curve crosses the critical point," a question defined on a single scalar transfer; they are silent on simultaneous perturbations across channels, on unmodeled high-frequency dynamics, on the structure of the uncertainty.
Robust control is the attempt to make the robustness question explicit: to name the uncertainty set, to bound its magnitude as a function of frequency, and to certify performance and stability across the entire set instead of at a single nominal point. This reframes the relationship between modeling and control: in classical design the model is an input and the margin is a hope; in robust design the error bound is an input and the margin is a theorem. The hardest practical consequence is that the uncertainty description must come from somewhere — usually the residual of a system-identification fit, conservatively inflated to cover unmodeled dynamics — and that residual is itself a function of how much excitation and data one was willing to pay for.
[fn:: There is a deep coupling, rarely made explicit, between the identification experiment and the achievable robust performance: richer excitation yields a tighter error bound \(W\), which permits a less conservative controller. Paying for a better model and paying for a more robust controller are, to first order, the same expenditure traded off against different cost structures. This is why "just identify the plant better" is not always the cheaper answer — the marginal identification dollar may buy less robustness margin than the marginal control-design dollar would have insured against.]
Why scalar margins fail in MIMO
Gain and phase margin are defined on the scalar loop \(L(s) = G(s)K(s)\) via the Nyquist criterion's encirclement count. In a MIMO system the loop is a transfer matrix, and the directional gain (singular value) can be large in one input-output direction and small in another. The scalar gain margin asks what uniform scalar \(\alpha\) makes \(\det(I + \alpha L)\) touch zero — it cannot express "the actuator on channel 2 is uncertain by 30%, the cross-coupling from channel 1 to 3 is nonzero but unknown, and the sensor on channel 4 has a 1.2 ms unmodeled delay." Robust control replaces scalar margins with a structured description of what is uncertain and by how much, then asks the worst-case question over that structure.
[fn:: Historically, the MIMO gap was bridged by Rosenbrock's diagonal-dominance and Gershgorin-band methods in the 1970s, which tried to salvage loop-at-a-time thinking by requiring the off-diagonal coupling to be small relative to the diagonal. That is a genuine sufficient condition — but it is conservative, and it punishes exactly the tightly-coupled plants (distillation columns, aircraft, robotics) where multivariable control pays off. The singular-value / \(\mu\) framework superseded it precisely by handling coupling on its own terms instead of wishing it small.]
The modern replacements for scalar gain/phase margin are the singular-value robustness margins \(M_s = \sup_\omega \bar{\sigma}(S(j\omega))\) and \(M_t = \sup_\omega \bar{\sigma}(T(j\omega))\): \(M_s\) measures peak sensitivity (closeness of \(L\)'s Nyquist to \(-1\), hence the stability margin), \(M_t\) the peak complementary sensitivity (noise and high-frequency robustness). Typical targets are \(M_s, M_t \in [1.4, 2.0]\); a peak above ~3 signals a fragile loop regardless of how generous the scalar margins look. These are the honest MIMO generalization — scalar gain margin is, after all, just \(M_s\) read off a single direction.
The LFT framework
The unifying formalism beneath everything that follows is the linear fractional transformation (LFT). Erobust-control interconnection is written as a lower LFT folding the controller \(K\) in,
\[ \mathcal{F}_l(P, K) = P_{11} + P_{12} K (I - P_{22} K)^{-1} P_{21}, \]
and the uncertain plant itself as an upper LFT folding the perturbation \(\Delta\) in, \(G = \mathcal{F}_u(M, \Delta) = M_{22} + M_{21}\Delta(I - M_{11}\Delta)^{-1} M_{12}\). Pulling all physical uncertainty into one structured block \(\Delta\) and the controller into another, the closed loop reduces to the canonical \(M\)-\(\Delta\) form on which small-gain and \(\mu\) both operate.
The payoff of the formalism is uniformity: additive, multiplicative, parametric, and performance uncertainties all become "blocks in the diagram," and a single set of theorems — small-gain, \(\mu\), the main loop theorem — applies to whichever block arrangement you built. [fn:: LFTs are not merely notation; they are the reason a toolbox like \texttt{hinfsyn} can accept a "generalized plant" describing weighting filters, performance channels, and uncertainty blocks in one file and dispatch the same Riccati machinery regardless of which combination is present. The abstraction is doing real work: it factorizes the engineering problem (what is uncertain, what is desired) from the mathematics (which guarantee applies).]
Sensitivity and the waterbed
Define the loop transfer \(L = G_0 K\) and the two closed-loop functions:
- Sensitivity: \(S(s) = (I + L(s))^{-1}\)
- Complementary sensitivity: \(T(s) = L(s)(I + L(s))^{-1}\)
with the partition-of-unity identity \(S + T = I\). The sensitivity \(S\) governs disturbance rejection: an output disturbance \(d\) injected at the plant output appears at the measured output as \(S\,d\), so small \(|S(j\omega)|\) means disturbances at that frequency are suppressed. The complementary sensitivity \(T\) governs noise rejection and reference tracking: sensor noise \(n\) appears at the output as \(T\,n\), and the reference is tracked as \(T\,r\).
The design tension is immediate and structural. Small \(S\) at low frequency (rejecting low-frequency load disturbances) forces \(T \approx I\) there (good for tracking, bad if disturbances and noise overlap in band). Small \(T\) at high frequency rejects sensor noise and — critically — provides robustness to unmodeled dynamics, which are parasitic and therefore live at high frequency. You want \(S \to 0\) low, \(T \to 0\) high, joined by a crossover, and the crossover region is where nothing is small and the phase is racing toward \(-180^\circ\).
[fn:: The waterbed analogy is the Bode sensitivity integral. For open-loop-stable plants, \(\int_{-\infty}^{\infty} \ln |S(j\omega)|\, d\omega = \pi \sum p_i\), where \(p_i\) are the open right-half-plane poles of \(L\). For a stable open loop the sum is zero, so the integral of \(\ln|S|\) is zero: you cannot push \(|S|\) below 1 everywhere — lowering it in the disturbance band forces it above 1 elsewhere. The water you press down squirts up across the bed. Unstable open-loop plants make it worse: the integral is positive, so the average sensitivity exceeds unity, and the bed is preloaded against you. Dimensional check: \(S\) is dimensionless (output over disturbance, same units), so \(\ln|S|\) is dimensionless and \(d\omega\) carries units of rad/s, matched by \(\pi\sum p_i\) (poles in rad/s). This is a hard analytic constraint, not an artifact of any particular controller family — it applies to LQR, \(H_\infty\), MPC, anything linear and time-invariant.]
A concrete illustration of the preload: for the unstable open-loop plant \(G_0(s) = 1/(s-1)\) (one RHP pole at \(+1\)) under any stabilizing controller, the Bode integral equals \(\pi \cdot 1 = \pi\). Hence the frequency-band "area" where \(|S(j\omega)| > 1\) exceeds the area where \(|S| < 1\) by exactly \(\pi\), regardless of controller order or cleverness. You may sculpt \(|S|\) into a deep notch at the disturbance band, but the theorem guarantees an equal-and-opposite bulge of total weight \(\pi\) somewhere across the spectrum — usually just past crossover, exactly where noise and unmodeled dynamics already threaten. No designer outruns the integral; they only choose where to pay it.
The MIMO generalization is not a clean replacement but a scatter of partial results: the integral constraint holds per input-output direction under restrictive assumptions (right-invertible plants, no RHP transmission zeros in the relevant direction), and the achievable \(H_\infty\) performance is lower-bounded by the sum of RHP zeros and poles (the Poisson / Skogestad-Postlethwaite bounds). The practical reading: every RHP zero or pole you must work around taxes your sensitivity budget in a specific direction, and you cannot route the tax away by clever coordinate changes — it is invariant.
Uncertainty descriptions
To certify robustness we need a set of admissible plants. The two standard parametrizations bound the perturbation \(\Delta\) in either additive or multiplicative form:
- Additive: \(\;G(s) = G_0(s) + \Delta_a(s),\quad \|\Delta_a(j\omega)\| \leq |W_a(j\omega)|\)
- Multiplicative (output): \(\;G(s) = (I + \Delta_m(s))\,G_0(s),\quad \|\Delta_m(j\omega)\| \leq |W_m(j\omega)|\)
The weight \(W(j\omega)\) is the engineering crux: a bound on the magnitude of the model error as a function of frequency, encoding everything you believe about where the model is trustworthy (small \(|W|\) low, where identification was careful) and where it is not (large \(|W|\) high, where unmodeled poles, delays, and flexibilities dominate). The set of admissible plants is the "template" \(\{G : \bar{\sigma}(\Delta(j\omega)) \leq |W(j\omega)|\;\forall\omega\}\), and a robust controller must stabilize every member of it.
[fn:: Multiplicative uncertainty is usually preferred because it normalizes the error to the plant size — 10% error is 10% whether the plant gain is 1 or 1000 — whereas additive error must be re-scaled per plant. But multiplicative uncertainty is structurally multiplicative, and for strongly coupled MIMO plants neither pure additive nor pure output-multiplicative captures cross-directional error well; full-block or structured descriptions enter, which is where \(\mu\) (below) earns its keep. A meta-observation: the choice of uncertainty description is itself a modeling act, and two engineers with the same data will write different \(W\)'s. The controller is robust to the set you wrote down, not to the plant as God knows it.]
Worked example: building a multiplicative weight
Suppose the true plant is \(G(s) = k/(s+p)\) with gain \(k \in [9,11]\) and pole \(p \in [0.9,1.1]\), against the nominal model \(G_0(s) = 10/(s+1)\). The multiplicative error is
\[ \Delta_m(j\omega) = \frac{G(j\omega)}{G_0(j\omega)} - 1 = \frac{k(s+1)}{10(s+p)}\Big|_{s=j\omega} - 1, \]
and the designer needs a single scalar \(|W_m(j\omega)|\) dominating \(|\Delta_m(j\omega)|\) over all admissible \((k,p)\). The cheapest honest bound evaluates \(|\Delta_m|\) at the four corners \((k,p)\in\{9,11\}\times\{0.9,1.1\}\), takes the pointwise maximum across frequency, and fits a rational \(W_m(s)\) to that envelope — a low-frequency plateau near 0.1 (the gain error), rising through the pole region where pole-location uncertainty bites hardest, then flattening.
Dimensionally, \(\Delta_m\) is dimensionless (a ratio of two transfer functions of like units), so \(|W_m|\) is dimensionless and the robustness condition \(\|W_m T\|_\infty < 1\) compares two dimensionless quantities — no unit bookkeeping needed. The weight is thus a curve-fit to a worst-case error envelope: part identification, part art, and the locus of almost all the engineering judgment in the synthesis.
The small-gain theorem
The cleanest sufficient condition in the field. Pull the perturbation \(\Delta\) out of the closed loop into a feedback interconnection with the nominal closed-loop map \(M(s)\); the loop is \(\Delta \leftarrow M \leftarrow \Delta\). If \(\bar{\sigma}(M(j\omega)) \cdot \bar{\sigma}(\Delta(j\omega)) < 1\) for all \(\omega\), and since \(\bar{\sigma}(\Delta) \leq |W(j\omega)|\), it suffices that
\[ \|W(j\omega)\, M(j\omega)\|_\infty < 1 \quad \forall \omega. \]
Then the closed loop is stable for every admissible \(\Delta\). The intuition is dimensional and topological: the loop gain around the uncertainty block is strictly less than one at every frequency, so no perturbation the set admits can sustain a signal around the loop — energy decays on each pass.
The theorem is strikingly general (it does not require \(\Delta\) to be linear, time-invariant, or even causal, only bounded) and strikingly conservative: it treats \(\Delta\) as an arbitrary full-block operator and ignores whatever structure the real perturbation has (e.g., that it is block-diagonal, or real, or repeated). This conservatism is the gap that \(\mu\)-synthesis exists to close. A dimensional note on the norm: \(\|M\|_\infty = \sup_\omega \bar{\sigma}(M(j\omega))\) is a dimensionless peak gain, so the comparison to the scalar 1 is meaningful only when input and output of \(M\) are in the same units (or have been normalized by weights to make them so). Robustness conditions are always stated on normalized interconnections; the weights carry the units, and omitting them is the most common silent error in applying the theorem.
Worked example: scalar multiplicative robustness
Take the nominal plant \(G_0(s) = 10/(s+1)\) with static controller \(K = 1\), so \(L = 10/(s+1)\) and \(T = L/(1+L) = 10/(s+11)\). Suppose the model error is multiplicative with weight \(W_m(s) = 0.2\,s/(s+1)\), so \(|W_m(j\omega)| = 0.2\omega/\sqrt{\omega^2+1}\), rising from zero at DC to 0.2 at high frequency — a plausible shape for "I trust the gain but suspect an unmodeled pole above 1 rad/s." Robust stability against multiplicative output uncertainty holds iff \(\|W_m T\|_\infty < 1\). Now
\[
| W_m(j\omega)\,T(j\omega) | = \frac{0.2\omega}{\sqrt{\omega^2+1}} \cdot \frac{10}{\sqrt{\omega^2+121}} = \frac{2\omega}{\sqrt{(\omega^2+1)(\omega^2+121)}}. |
\]
Maximizing over \(x = \omega^2\): the squared magnitude is \(4x/((x+1)(x+121))\), whose derivative vanishes at \(x = 11\) (i.e. \(\omega = \sqrt{11} \approx 3.32\) rad/s), giving a peak \(|W_m T|_{\max} = 1/6 \approx 0.167 < 1\). The closed loop is therefore stable for every plant within the multiplicative uncertainty ball — a single scalar computation certifies an uncountable family. The conservatism is invisible here because SISO has no structure to exploit; the theorem's true cost only shows up in MIMO, where treating a structured \(\Delta\) as a full block throws away information.
Kharitonov's theorem
For interval polynomials — where each coefficient \(a_i\) is known only to lie in a box \(a_i \in [\underline{a}_i, \overline{a}_i]\) — Kharitonov (1978) proved that the stability of the entire infinite family reduces to the stability of four corner polynomials, independent of degree. Write the even and odd parts and take their two extremal alternations each; the four Kharitonov polynomials \(K_1,\dots,K_4\) pair the two extremal even polynomials with the two extremal odd polynomials. The family is Hurwitz-stable iff all four \(K_i\) are. This is genuinely surprising: an uncountable set of polynomials collapses to four checks, regardless of order. A worked numerical example (a third-order interval polynomial with explicit coefficient boxes and the four corner Routh arrays) is kept at the 12000.org Kharitonov note.
[fn:: The limitation is that interval uncertainty — each coefficient independent in its own box — is a restrictive model. It cannot express "the uncertain parameters enter affinely as \(a_i = a_i^0 + \theta_1 f_{i1} + \theta_2 f_{i2}\) with shared \(\theta\)," which is the affine-linear / polytopic case, where Kharitonov's four-corner reduction fails and one must use the edge theorem or parameter-space methods. Interval boxes also ignore the structure linking coefficients to physical parameters, so a physically meaningful perturbation (e.g., a single uncertain mass appearing in several coefficients) is represented as independent coefficient wobble, which over-bounds the true uncertainty set and makes the four polynomials conservative. The theorem is a jewel of the interval-polynomial literature precisely because that literature's assumptions are so clean they admit it.]
Worked example: a third-order interval family
Consider the monic family \(p(s) = s^3 + a_2 s^2 + a_1 s + a_0\) with \(\;a_0 \in [1,2],\; a_1 \in [2,3],\; a_2 \in [3,4]\;\) (the leading coefficient is exactly 1). The four Kharitonov polynomials, pairing the extremal even part (\(a_0 \pm a_2 s^2\)) with the extremal odd part (\(a_1 s + s^3\)), are:
\[ \begin{aligned} K_1 &= s^3 + 4s^2 + 2s + 1, & K_2 &= s^3 + 4s^2 + 3s + 1,\\ K_3 &= s^3 + 3s^2 + 2s + 2, & K_4 &= s^3 + 3s^2 + 3s + 2. \end{aligned} \]
A cubic \(s^3 + a s^2 + b s + c\) is Hurwitz-stable iff \(a,b,c > 0\) and \(ab > c\). Applying this:
- \(K_1\): \(a=4,b=2,c=1\), \(ab = 8 > 1\) ✓
- \(K_2\): \(a=4,b=3,c=1\), \(ab = 12 > 1\) ✓
- \(K_3\): \(a=3,b=2,c=2\), \(ab = 6 > 2\) ✓
- \(K_4\): \(a=3,b=3,c=2\), \(ab = 9 > 2\) ✓
All four pass, so the entire continuum of cubics with coefficients in those boxes is stable. The reduction is the point: a three-parameter, uncountably-infinite family was certified by four elementary inequalities. The cost, as ever, is the model — if those boxes were drawn wider than the true physical variation warrants, the certificate is sound but vacuous.
H-infinity control
The \(H_\infty\) problem: minimize \(\|T_{w\to z}\|_\infty\), the worst-case (over frequency) induced 2-norm gain from a generalized disturbance \(w\) to a generalized performance output \(z\), over all stabilizing controllers \(K\). Concretely, one forms a weighted stacked objective such as
\[ \left\| \begin{bmatrix} W_1 S \\ W_2 T \\ W_3 K S \end{bmatrix} \right\|_\infty < \gamma, \]
where \(W_1\) penalizes sensitivity (disturbance rejection), \(W_2\) penalizes complementary sensitivity (noise and robustness), and \(W_3\) penalizes control effort. Minimizing \(\gamma\) pushes the worst singular value of the weighted stack down across all frequencies — a minimax across the spectrum.
The celebrated Doyle-Glover-Khargonekar-Francis (1988) result gives the solution as two algebraic Riccati equations (one for the full-information / state-feedback gain, one for the estimator), reducing \(H_\infty\) synthesis to the same machinery that solves LQG, with an additional coupling term that vanishes as \(\gamma \to \infty\) (recovering LQG) and blows up as \(\gamma\) approaches its infimum \(\gamma_\infty\).
[fn:: Conceptually, \(H_\infty\) is minimax optimal control: it optimizes against the worst-case bounded disturbance, not the expected (zero-mean, Gaussian) disturbance that LQG assumes. This is the right frame when the disturbance is adversarial or poorly characterized, and the wrong frame when it is genuinely stochastic with known statistics — there \(H_2\)/LQG is more efficient. The two-Riccati solution is elegant but, in practice, the weights \(W_i\) absorb an enormous amount of design judgment; the "optimality" is only as good as the weights, which are themselves the real design problem.]
The mixed-sensitivity recipe
The stacked cost \(\|[W_1 S;\, W_2 T;\, W_3 K S]\|_\infty < \gamma\) reads as a direct translation of the Bode-plot desiderata into weights: \(W_1^{-1}\) is the upper bound tolerated on \(|S|\) (large at low frequency, forcing \(|S|\) small there — disturbance rejection), \(W_2^{-1}\) bounds \(|T|\) (small low is unnecessary; small high is the noise/robustness demand), and \(W_3^{-1}\) bounds the control sensitivity \(KS\) (actuator effort and bandwidth). The achievable \(\gamma\) is the smallest number for which these simultaneous demands coexist; if the infimum \(\gamma_\infty > 1\) the chosen bounds are mutually incompatible somewhere, and the designer either relaxes a weight or accepts the compromise. This is classical loop-shaping with a numerical optimality certificate bolted on — the intuition is preserved, the hand-waving is not.
Loop-shaping interpretation
A pragmatic cousin, McFarlane-Glover loop shaping, sidesteps weight-tuning by first shaping \(L = G_0 K_{\mathrm{shape}}\) to a desired open-loop singular-value template (high gain low, roll off high, decent crossover) using classical intuition, then solving a single \(H_\infty\) step that adds the minimum controller needed to guarantee robust stability. This recovers much of the classical loop-shaping discipline inside a rigorous stability certificate, and it is the variant most engineers actually deploy — because it lets the designer keep the familiar Bode-plot intuition while the \(H_\infty\) machinery silently guarantees a robustness margin \(\varepsilon = 1/\gamma\).
mu-synthesis
\(H_\infty\) with the small-gain theorem is sufficient for robust stability under full-block unstructured uncertainty, but it is not necessary: it ignores structure. If the real uncertainty \(\Delta\) is block-diagonal, \(\Delta = \mathrm{diag}(\Delta_1,\ldots,\Delta_n)\), then the small-gain condition \(\bar{\sigma}(M) < 1\) asks the full matrix to be a contraction, whereas only its action on the structured set matters. The structured singular value \(\mu(M)\) is the reciprocal of the smallest structured \(\Delta\) that makes \(\det(I - M\Delta) = 0\):
\[ \mu_\Delta(M) = \frac{1}{\min\{ \bar{\sigma}(\Delta) : \Delta \in \boldsymbol{\Delta},\; \det(I - M\Delta) = 0 \}}. \]
Robust stability holds iff \(\sup_\omega \mu_\Delta(M(j\omega)) < 1\) — necessary and sufficient for the structured set. The catch: \(\mu\) is computationally intractable in general (it is NP-hard), so one bounds it above by \(\inf_D \bar{\sigma}(D M D^{-1})\) over scaling matrices \(D\) that commute with the structure — the \(D\)-scale upper bound — and below by a power-iteration lower bound.
\(D\)-\(K\) iteration alternates \(H_\infty\) synthesis (fix \(D\), solve for \(K\)) with \(D\)-scaling (fix \(K\), solve for \(D\)), converging to a controller far less conservative than raw \(H_\infty\) but with no global-optimality guarantee. The gap between the \(\mu\) upper and lower bounds is, in the field, the honest measure of how much structure the method successfully exploited.
Worked example: structure buys tightness
Consider a \(2\times 2\) loop with two independent scalar uncertainties \(\Delta = \mathrm{diag}(\delta_1,\delta_2)\), \(|\delta_i|\leq 1\), and nominal interconnection \(M = \begin{bmatrix}0.9 & 0.9\\0.9 & 0.9\end{bmatrix}\). Unstructured small-gain demands \(\bar{\sigma}(M) < 1\), but \(\bar{\sigma}(M) = 1.8\), so the naive certificate is refused with the verdict "not robust." Yet structured destabilization requires \(\det(I - M\Delta) = 0\) for some block-diagonal \(\Delta\); for this rank-one \(M\) the worst structured perturbation needs \(\bar{\sigma}(\Delta) \geq 1/0.9 \approx 1.11 > 1\), giving \(\mu(M) \approx 0.9 < 1\) — the loop is robustly stable. The full-block test threw away the fact that the two uncertainties are independent, crediting the correlated off-diagonal structure as if it were one large lumped perturbation. That gap — 1.8 versus 0.9, a factor of two — is precisely the conservatism \(\mu\) recovers, and on a real 20-channel plant it can be the difference between a controller that ships and one that is declared impossible.
Robust performance
Everything so far certifies robust stability: the loop does not blow up for any admissible plant. A deliverable controller needs robust performance: the performance specification (say \(\|W_p S\|_\infty < 1\), i.e. sensitivity stays below the inverse performance weight \(W_p^{-1}\)) must hold for every plant in the uncertainty set, not merely at the nominal. The elegant reduction — Doyle's "main loop theorem" — treats the performance channel as a fictitious, full, unstructured perturbation block \(\Delta_p\) of unit norm: demanding \(\|W_p S\|_\infty < 1\) is equivalent to requiring the loop from a normalized disturbance to the weighted output to be a contraction, i.e. to be robustly stable against this fictitious block. Appending \(\Delta_p\) alongside the real uncertainty blocks in the \(M\)-\(\Delta\) interconnection collapses robust performance to a single robust-stability question on the augmented structure, with condition
\[ \sup_\omega \mu_\Delta\!\big(M(j\omega)\big) < 1, \]
where \(\boldsymbol{\Delta}\) now contains both the physical uncertainty and the performance block.
[fn:: This is the unification that makes \(\mu\)-synthesis certify performance, not just stability: the performance spec is just another block in the diagram, on the same footing as the physical uncertainty. The cost is that every block enlarges the structure and widens the gap between the \(\mu\) upper and lower bounds, so the \(D\)-\(K\) iteration must chase an ever-larger \(D\)-scaling problem — which is part of why \(\mu\)-synthesis is notoriously finicky in practice.]
Distinguishing the four cases becomes a one-line reading of the diagram: (i) nominal stability (the nominal closed loop is stable), (ii) nominal performance (\(\|W_p S\|_\infty<1\) at \(G_0\)), (iii) robust stability (\(\mu\) of the uncertainty-only block < 1), and (iv) robust performance (\(\mu\) of the augmented block < 1). Each is strictly harder than the last, and (iv) is what a deliverable controller must actually satisfy — the first three are checkpoints on the way there.
When to use what
The tools form a ladder of effort and assurance. Classical gain/phase margins (and their singular-value cousins \(M_s, M_t\)) are nearly free and sufficient for benign SISO loops where the cost of failure is low; use them first and stop if they pass comfortably. Kharitonov and interval methods suit the narrow case where uncertainty is genuinely coefficient-boxed and the plant is low-order — a controller-order polynomial check, not a synthesis, but exact and cheap. \(H_\infty\) synthesis is the workhorse when you can write a meaningful multiplicative or additive weight \(W(j\omega)\): it gives a certified robust-stability margin \(\varepsilon = 1/\gamma\) from a tractable pair of Riccati equations, at the price of weight-tuning judgment. \(\mu\)-synthesis earns its overhead only when the uncertainty is genuinely structured (block-diagonal, repeated, mixed real/complex) and the conservatism of unstructured \(H_\infty\) bites — typically high-channel-count aerospace or process plants where a factor-of-two in conservatism is not survivable. The selection rule is crude but reliable: spend modeling and computational effort in proportion to the cost of a wrong guess, and no more.
The honest assessment
Robust control is powerful, conceptually clean, and expensive. The expense is concentrated in modeling: a meaningful uncertainty weight \(W(j\omega)\) is itself a design artifact requiring identification experiments, physical reasoning, and engineering judgment, and the controller is only as robust as the weight is honest. Over-tight weights yield aggressive, fragile controllers that exploit the nominal model; over-loose weights yield sluggish controllers that leave performance on the table to insure against phantoms. The mathematics — Riccati equations, \(\mu\)-bounds, Kharitonov corners — is essentially solved and mechanizable; the bottleneck is the epistemic one of knowing your model's error to within a frequency-dependent bound, which is an experimental and inferential problem dressed in control-theoretic clothing.
[fn:: A practitioner's complaint, half-joking but pointed: robust control is "optimal control with a guilt trip about your model." The guilt is the point — the framework forces the designer to state explicitly what is not known, instead of burying it in a single nominal number and a margin. Whether that forced honesty is worth the modeling effort is a judgment that depends on the cost of failure, the tractability of the plant's uncertainty, and whether a well-tuned PID with generous margins would, on this specific plant, have done just as well.]
It is worth placing the apparatus in time. The pieces crystallized across roughly a single decade: Zames's 1981 framing of the \(H_\infty\) objective as a worst-case minimax over disturbance sets, the Doyle-Glover-Khargonekar-Francis two-Riccati solution of 1988-89 (which made the problem solvable with the same engines already running LQG), and Doyle's structured singular value maturing through the 1980s to repair the conservatism that pure \(H_\infty\) left behind.
[fn:: The sociology is itself instructive: robust control was, for a stretch, the dominant academic fashion in systems theory, then partially displaced by the lure of convex optimization and MPC in the 1990s-2000s. The robust tools did not die; they became infrastructure, baked into the synthesis functions of every serious control toolbox (MATLAB's \texttt{robust}, \texttt{musyn}, \texttt{hinfsyn}). When a method stops being debated and starts being imported, it has won — quietly.]
Related
- Frequency Response: Bode & Nyquist
- Optimal Control: LQR, LQG & Riccati
- Stability: Routh-Hurwitz
- State-Space Representation
- Control Theory: Signals & Laplace
- Frequency Response: Bode & NyquistElectronics
- Nonlinear & Adaptive ControlElectronics
- Optimal Control: LQR, Riccati, and the Kalman FilterElectronics
- Root Locus: Evans ConstructionElectronics
- Stability: Routh-Hurwitz & Pole LocationsElectronics
- Stack Control: Electrolyzer & Fuel-Cell Load FollowingElectronics