H-infinity synthesis with Scilab Part I : Problem Setup

After the introduction by George Zames in the late 1970’s, control has become an active research, with tons of articles published each year. Despite that academic growth, Its usage in practical industry remains minimal. While most control design software has toolbox functions for synthesis and beyond, the user-unfriendliness of these functions are well-known. It’s fair to say, if you don’t know much about robust control theory, leave them alone. Anyway, in this article we discuss introductory synthesis in a nutshell, and provide examples using functions and features available in Scilab/Xcos, an open-source alternative to MATLAB/Simulink.

To narrow down the scope, we focus on a particular scheme called “mixed-sensitivity approach” in [1]. Controller synthesis is formulated as closed-loop transfer function shaping problems, mostly the sensitivity , complementary sensitivity , or some combination like , where is the resulting stabilizing controller, hence the name “mixed-sensitivity.” The discussion is restricted to SISO (single-input/single-output) systems. Moreover, we only show the how-to’s and omit the underlying math/theory to save space. Please consult robust control texts xuch as [1], my all-time favorite on the subject.

Problem Formulation

is a model-based, output-feedback control. First a plant model must be available, either from physics or experiments. The latter, often referred to as system identification (Sys-ID) process, is prefered for control design, since it generally gives a good model that represents the real plant. For best result, the acquired model must be validated using different datasets from the ones you use in the Sys-ID.

Control synthesis is no different from any other computer algorithm: garbage-in, garbage-out applies. So the first and important step in the process is to put valid problem data to a form that the algorithm can interpret. This setup is sometimes called a “modern” paradigm, even though it’s quite dated already. Whatever the name, the framework is shown in Figure 1, consisting of the generalized plant connected with the stabilizing controller . Data in P contains the plant together with all weighting functions, while is the controller we want to synthesize. Port and are exogenous input and control variable, and and are exogenous output to be minimized, and measured output to the controller, respectively. In a feedback diagram the signal and normally corresponds to the input and output of the controller. On the other hand, the signal and are defined according to the problem at hand.

Figure 1: general control configuration

As an example, consider the feedback system in Figure 2 with signals at certain points labeled as =command, = disturbance, = measurement noise, = tracking error, = plant output, and are controller input and output. It is straightforward to arrange the diagram to the framework shown in Figure 3. Typically it’s not necessary to include all the signals shown here. For a regulation problem, say, the command signal should be neglected.

Figure 2: a standard feedback system with defined signals

Figure 3: feedback system put into synthesis framework

Now we provide more details to the two common problems: disturbance attenuation (or regulation) and tracking

Disturbance Attenuation

For disturbance attenuation setup, the exogenous input is a disturbance signal entering at the plant output. Normally the disturbance signal has low frequency spectrum, so it can be attenuated if the gain of is made small in that low frequency range. A performance weighting function is used to cast to a desired shape; i.e., a stabilizing controller is synthesized to minimize . This requirement alone is impractical because there is no bandwidth limitation for the closed-loop system. So another weighting function is imposed on a suitable transfer function, a good choice is . So the goal of this mixed-sensitivity problem is to find a stabilizing controller that minimizes

With this setup, a generalized plant can be formed as shown in Figure 4, in transfer function (left) and state space (right) structures.

Figure 4: generalzied plant for disturbance attenuation problem

Tracking

Tracking performance is evaluated as the ability of feedback system to minimize error between command signal and plant output . Since a typical command signal changes gradually, It can be easily verified that this amounts to the gain of be made small in the low-frequency range as well. So, for SISO feedback system, the performance requirement for disturbance attenuation and tracking is similar; that is, to minimize where is a performance weighting function. We also need to constrain closed-loop bandwidth as before. It is customary for a tracking problem to cast another weight on . Hence, the resulting stabilizing controller must minimize

This setup is also called mixed-sensitivity problem. Figure 5 shows how to form a generalized plant.

Figure 5: generalzied plant for tracking problem

Weight Selection

For performance requirement, the minimization of is equivalent to . In words, we want the sensitivity gain to lie below the inverse of weighting function for all frequency. Roughly speaking, we simply plot gain of and see if it looks like the desired sensitivity gain. The three quantities of interest, shown in Figure 6, are =minimum steady-state tracking error, =minimum bandwidth (where crosses 0.707), and = maximum peak magnitude of .

Figure 6: criteria for inverse of performance weight

With these criteria, a weighting function can then be selected as

In case a steeper slope in low-frequency region is required, an order weight

may be used.

A weighting function to constrain bandwidth can be chosen such that the gain of forces a rolloff at desired frequency.

The next article in this series will provide an example of servo robot joint control using Scilab/Xcos. Stay tuned.

Reference

1. Skogestad S. and I. Postlethwaite, Multivariable Feedback Control: Analysis and Design, 2nd ed., John Wiley & Sons, 2005