| name | robust-control |
| description | Robust control — H∞ synthesis (mixed sensitivity, S/KS/T weighting), μ-synthesis (structured singular value, D-K iteration), loop shaping (Glover-McFarlane), uncertainty modeling (additive, multiplicative, structured, parametric), robust stability condition (small gain theorem), robust performance, LFT (Linear Fractional Transformation) framework, coprime factorization, MATLAB Robust Control Toolbox, and aerospace/process control applications. |
| metadata | {"priority":7,"promptSignals":{"phrases":["robust control","H infinity","mu synthesis","robust stability","structured singular value","H∞ controller"],"minScore":3}} |
Robust Control — Complete Skill
Uncertainty Modeling
Uncertainty Descriptions
Additive uncertainty:
G_true(s) = G_nom(s) + Δ_A(s) [Δ_A = unknown perturbation; bounded: ||Δ_A||_∞ ≤ W_A(jω)]
Physical: actuator nonlinearity, measurement noise, unmodeled dynamics at high frequency
Multiplicative (output) uncertainty:
G_true(s) = (I + Δ_M(s)) × G_nom(s) [Δ_M = relative error; bounded: ||Δ_M||_∞ ≤ W_M(jω)]
Physical: gain uncertainty, unmodeled resonances, variation in process parameters
Parametric uncertainty:
G(s, p) where p ∈ [p_min, p_max]; structured uncertainty
e.g., mass m ∈ [1, 3] kg in pendulum
Frequency-dependent weights:
W(s) = (s/M_ω + ω_0) / (s + ω_0 × ε) [high-pass weight; limits uncertainty bound at high frequency]
Typical: W_M small at low frequency (well-modeled); large at high frequency (unmodeled resonances)
LFT (Linear Fractional Transformation):
System with uncertainty Δ: G_cl = F_u(P, K) × ... = F_l(P, K) with Δ
Upper LFT: F_u(M, Δ) = M_22 + M_21 × Δ × (I - M_11 × Δ)^{-1} × M_12
Standard framework: all uncertainty representations → LFT form with Δ in block-diagonal form
Robust Stability
Small Gain Theorem
For feedback loop with uncertainty Δ:
If ||G_nom × K||∞ × ||Δ||∞ < 1 → robust stability for all Δ with ||Δ||_∞ ≤ 1
Robust stability condition (multiplicative uncertainty):
System is robustly stable for all Δ_M with ||Δ_M||∞ ≤ 1/W_M iff:
||T(jω) × W_M(jω)||∞ < 1 [T = complementary sensitivity = KG/(1+KG)]
Condition: ||W_M × T||_∞ < 1 (T small where W_M large → roll-off controller at high frequency)
Stability margin from singular values:
GM (gain margin) = 1/||L(jω)^{-1}||_∞ × σ_max(L) [for MIMO; related to Bode margins for SISO]
PM (phase margin): robust stability requires GM > 6 dB and PM > 30° (classical requirements)
Structured Singular Value (SSV) — μ Analysis
For structured uncertainty Δ = diag(δ₁I_{r₁}, ..., δ_k I_{r_k}, Δ_f1, ...):
μ_Δ(M) = 1 / min{σ̄(Δ) : det(I - MΔ) = 0, Δ structured} [structured singular value]
Lower bound: σ̄(M × D) where D = scaling matrix (D scales each block)
Upper bound (D-K iteration): μ_Δ(M) ≤ σ̄(D × M × D^{-1})
Robust stability with structured uncertainty:
System robustly stable iff: sup_ω μ_Δ(M_11(jω)) < 1
Robust performance: robust stability AND performance condition: sup_ω μ_{Δ_tilde}(N(jω)) < 1 [Δ_tilde includes performance block]
μ vs. singular value:
σ̄(M) ≤ μ_Δ(M) × σ̄(Δ) ≤ σ̄(M) (unstructured; μ = σ̄ for full Δ)
For structured Δ: μ < σ̄ (less conservative); gap can be large
H∞ Control Synthesis
Mixed Sensitivity Problem
Generalized plant formulation:
P(s) includes weights on sensitivity S = (I+GK)^{-1}, KS, and T = I-S
Performance objectives:
- ||W_S × S||_∞ < 1: disturbance attenuation; W_S = 1/s (integral action; low-frequency)
- ||W_KS × KS||_∞ < 1: control effort limitation; W_KS high-pass (limits high-frequency gain)
- ||W_T × T||_∞ < 1: noise sensitivity; robust stability vs. output uncertainty
H∞ synthesis (Doyle-Glover-Khargonekar-Francis, 1989):
Find K stabilizing P such that ||F_l(P,K)||_∞ < γ [F_l = lower LFT; γ = H∞ norm bound]
Solve two Riccati equations (X∞, Y∞):
A^T X + X A + X B_1 B_1^T X - X B_2 B_2^T X / γ² + C_1^T C_1 = 0
A Y + Y A^T + Y C_1^T C_1 Y - Y C_2^T C_2 Y / γ² + B_1 B_1^T = 0
Existence condition: γ > γ_min (optimal H∞ norm); typically find γ via bisection
Order of H∞ controller:
n_K = n_P (full-order; same order as plant); often need order reduction for implementation
Loop Shaping (Glover-McFarlane)
Robust stabilization of shaped plant:
- Choose pre/post compensators W_1, W_2 to shape G_s = W_2 × G × W_1
- Normalize: (M_s, N_s) = coprime factorization of G_s
- Synthesize H∞ controller for coprime factor uncertainty → stability margin ε = 1/γ_min
- Final controller: K = W_1 × K_∞ × W_2
Advantages: systematic loop shaping; ε = maximum coprime factor perturbation tolerated
MATLAB: ncfsyn command
Standard H∞ Sensitivity Weights
Typical weighting functions:
W_S(s) = (s/M + ω_b) / (s + ω_b × A_∞) [S weighted; M = max peak; ω_b = bandwidth; A_∞ = steady-state tracking accuracy]
W_T(s) = (s + ω_bc/M_T) / (ε_T × s + ω_bc) [T weighted; ω_bc = crossover frequency; M_T = max T peak]
Select: W_S inverse tracks desired S shape; W_T inverse tracks desired T shape
Typical specs:
||W_S × S||∞ < 1: S magnitude < 1/|W_S| → bandwidth ≥ ω_b; MS ≤ M at all frequencies
||W_T × T||∞ < 1: T rolls off at high frequency (robust to multiplicative uncertainty)
μ-Synthesis (D-K Iteration)
D-K Iteration Algorithm
Objective: minimize sup_ω μ_Δ(F_l(P, K)(jω))
K-step: fix scalings D(jω) → solve H∞ problem with scaled plant
D-step: fix K → find optimal D(jω) that minimizes σ̄(D × F_l × D^{-1}) pointwise in ω
Iteration:
- Start with K_0 (e.g., H∞ solution with no scaling)
- D-step: fit rational D(s) to optimal D(jω) (frequency-by-frequency μ upper bound minimization)
- K-step: H∞ synthesis for scaled plant D̂(s) × P × D̂(s)^{-1}
- Repeat until convergence (μ-peak stops decreasing; typically 2–5 iterations)
Convergence: not guaranteed to converge to global optimum; each iteration improves μ locally
MATLAB: dksyn function (Robust Control Toolbox)
Controller order:
Each D-K iteration increases controller order (n_K = n_P + n_D × 2 per iteration)
Order reduction: balanced truncation or Hankel singular value reduction after synthesis
Robust Performance
Structured Robust Performance Condition
Robust performance = worst-case nominal performance + stability for all perturbations:
Condition: μ_Δ_aug(N(jω)) < 1 for all ω
Δ_aug = diag(Δ, Δ_perf) [add full-block performance uncertainty to structured Δ]
Lower bound check:
μ ≥ σ̄(Δ × N) / σ̄(Δ) → robust performance requires this bound < 1
Interpretation:
If μ_peak < 1: all closed-loop specs met for all allowed perturbations (robust performance guaranteed)
If μ_peak > 1: exists some perturbation that causes performance failure → redesign
Practical Implementation
Controller Order Reduction
After H∞ or μ-synthesis: reduce controller order:
Balanced truncation: retain modes with large Hankel singular values (HSV)
HSV_i = √(λ_i(P_obs × P_ctrl)) [P_obs = observability Gramian; P_ctrl = controllability]
Error bound: ||K - K_reduced||∞ ≤ 2 × Σ{j=r+1}^{n} HSV_j [guaranteed bound]
MATLAB:
K_reduced = reduce(K, r) [balanced truncation; r = target order]
Verify: K_reduced achieves same closed-loop H∞ norm within tolerance
MATLAB Robust Control Toolbox
Key commands:
uss: uncertain state-space model (create uncertainty block)
hinfsyn: H∞ controller synthesis (Doyle-Glover)
dksyn: D-K iteration for μ-synthesis
robstab: compute stability margin (μ-based)
robgain: worst-case H∞ gain
musyn, mussv: μ computation and synthesis
Example:
W1 = makeweight(0.5, 10, 1000); W3 = makeweight(5, 100, 0.05);
P = augw(G, W1, [], W3); % build generalized plant
[K, CL, GAM] = hinfsyn(P, 1, 1); % synthesize H∞ controller
Standards and References
| Reference | Scope |
|---|
| Doyle, Glover, Khargonekar, Francis (1989) IEEE TAC | Original H∞ state-space formulation |
| Skogestad & Postlethwaite "Multivariable Feedback Design" (2005) | Comprehensive H∞/μ text |
| Zhou, Doyle, Glover "Robust and Optimal Control" (1996) | Mathematical foundations |
| MATLAB Robust Control Toolbox documentation | Implementation reference |
| Glover & McFarlane (1989) IEEE TAC | Loop shaping H∞ |
Output
Provide: plant model G(s) (transfer function or state-space; order n; key dynamics: bandwidth [rad/s], RHP zeros, delay), uncertainty model (type: additive/multiplicative/parametric; weight W_Δ(s) or parameter range; physical justification), performance objectives (bandwidth ω_b [rad/s]; disturbance rejection at low frequency; roll-off at high frequency; steady-state error [%]), weighting functions (W_S, W_T, W_KS: explicit form and magnitude at key frequencies [dB]), H∞ synthesis (H∞ norm achieved γ; controller order n_K; MATLAB command used), robust stability margin (μ_peak; coprime factor margin ε = 1/γ for loop shaping; phase margin [°]; gain margin [dB]), robust performance (μ_peak for robust performance < 1? yes/no; worst-case H∞ gain), controller order reduction (n_K reduced to n_r by balanced truncation; HSV tail sum [error bound]; verification of closed-loop performance), implementation considerations (discrete-time conversion: ZOH at T_s [ms]; anti-windup; actuator saturation), and applicable reference (Skogestad-Postlethwaite, MATLAB Robust Control Toolbox).