Online Exercise for H∞ Controller Design via Closed-Loop Shaping

Introduction

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.

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 .

The basics of H-optimal controller design are not further explained here. See for example
• 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.
In examples 1-3, you have several buttons available. They have the following meaning:
• 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 the specification).
• MORE does the same as LOOPSHAPE, but additionally plots the singular values of the open loop and of the controller, and displays the controller transfer function. Depending on the used web browser, there might be a malfunction if the DONE button is pressed after the MORE button. In this case press the DONE button again.
At the bottom of the pages, a legend explains the different colors used.

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.