Online Exercise for H∞ Controller Design via Closed-Loop Shaping
In this exercise, the students will synthesize controllers by
adjusting weighting functions used in an H∞-optimal design framework.
In doing so, the students learn how to choose these weighting functions to achieve
certain qualitative and quantitative control objectives.
The fundamental stress is put on the actual design step, that is the choice of the desired
closed-loop shapes. The underlying numerical controller synthesis is fully automatic using
the Matlab LMI Toolbox.
The basics of H∞-optimal controller design are not further
explained here. See for example
In the item "Weighting Functions" below, the singular value diagrams of some basic
weighting functions are examined. One can see the meaning of the function parameters and
their effect on the singular value diagrams.
In the three items "Example 1" to "Example 3", H∞-optimal controllers
are to be designed based on the standard mixed-sensitivity approach. The examples include
a damped mass-spring oscillator, an X29 aircraft, and a
fuel injection system, and are ordered by increasing degree of difficulty .
In examples 1-3, you have several buttons available. They have the
- S. Skogestad, I. Postlethwaite, "Multivariable Feedback Control",
2nd ed., Wiley, 2005
- F. Kroll, "Online-Übung zur
H∞-Reglersynthese", semester thesis,
University of Stuttgart, 2005
- F. Allgöwer, "Handouts zur Vorlesung Robust Control", lecture
manuscript, University of Stuttgart, 1999.
At the bottom of the pages, a legend explains the
different colors used.
- LOOPSHAPE computes an H∞ controller
using the given optimization problem and the specified weights.
Then singular value plots of the sensitivity S, the
complementary sensitivity T,
and the step response of T are updated while keeping the last
iteration for comparison.
- DONE does the same as LOOPSHAPE, but additionally
checks the achieved performance (the inequality constraints should be
satisfied, and the bandwidth should be within +/- 1 rad/s of
- MORE does the same as LOOPSHAPE, but additionally
plots the singular values
of the open loop and of the controller, and displays the controller
Depending on the used web browser, there might be a malfunction if the
is pressed after the MORE button. In this case press the
DONE button again.
Remark about the Gamma value: The achieved Gamma value is displayed, see the
corresponding definition in each example. By choosing appropriate weighting
functions that directly incorporate the control objectives, a Gamma value of 1 or smaller
can be achieved after satisfying these objectives. In that case, the Gamma value is
a measure of whether and by what margin the objectives are achieved.
On the other hand, all control objectives can also be achieved by
certain weighting functions and Gamma values greater than 1.