| Mu Analysis and Synthesis Toolbox | ![]() |
A script file for µ synthesis via D-K iteration
Syntax
Description
dkit is a µ-Tools script file for D-K iteration. The D-K iteration procedure is an approximation to µ synthesis control design. It involves a sequence of minimizations, first over the controller variable K (holding the D variable associated with the scaled µ upper bound fixed), and then over the D variable (holding the controller K variable fixed). The D-K iteration procedure is not guaranteed to converge to the minimum µ value, but often works well in practice. A detailed description of the D-K iteration can be found in Chapter 5.
dkit automates the D-K iteration procedure but requires the initialization of several variables. The file dk_defin.m is an example of the information required by dkit. You can copy this file from the µ-Tools subroutine directory mutools/subs and modify it for your application. This file can also be renamed. After renaming, assign the variable DK_DEF_NAME in the MATLAB workspace to the (character string) name of the new file containing the user-defined variables for dkit. For example, if the filename containing the setup data is himat_def.m, then
The following is a list of what occurs during a single, complete step of the D-K iteration.
.dkit, the program prompts you for starting D-K iteration
number.
.msf), and fits these scalings with rational,
stable transfer function matrices,
.
.
is absorbed into
the open-loop interconnnection for the next controller synthesis. Using
either (based on GMAX_DK_PLAN, see below) the previous
frequency-dependent D's or the just-fit rational
, an estimate of an
appropriate value for GMAX_DK is made. This is simply a conservative value
of the scaled closed- loop H
norm, using the most recent controller and
either a frequency sweep (using the frequency-dependent Ds) or a
state-space calculation (with the rational D's).
.hinfsyn are displayed. It is your option to change any/all/
none of these.
.
synthesis on the scaled open-loop interconnection.
-iteration is displayed.
OMEGA_DK). If you
change it, all relevant frequency responses are automatically
recomputed.
synthesis with modified hinfsyn
parameters. This is convienient if, for instance, the bisection tolerance
was too large, or if GMAX_DK was too small.
.BLK_DK, bounds for the structured singular value
of the closed-loop system are calculated and plotted.
..To continue iterating on a problem that was started earlier, make sure the relevent data is in the workspace, run dkit and type the number of the iteration you would like to begin.
The following is a list of the variables that you must set (in either dk_defin file or the file defined by DK_DEF_NAME) and their meanings:
The following is a list of the optional variables that may be set (in either dk_defin file or the file defined by DK_DEF_NAME) and their meanings:
A number of variables are saved in the workspace after each iteration. Some of these variables are required every iteration, hence, it doesn't make sense to recompute them. The other variables are outputs from the D-K iteration procedure. The variables saved after each iteration are:
Fitting D-scalings
The D-scale fitting procedure is interactive and uses the µ-Tools command msf. During step 2 of the D-K iteration procedure, you are prompted to enter your choice of options for fitting the D-scaling data. After pressing return, the following is a list of your options.
Enter Choice (return for list): Choices: nd Move to Next D-Scaling nb Move to Next D-Block i Increment Fit Order d Decrement Fit Order apf Auto-PreFit mx 3 Change Max-Order to 3 at 1.01 Change Auto-PreFittolto 1.01 0 Fit with zeroth order 2 Fit with second ordernFit withn'th order e Exit with Current Fittings s See Status
nd and nb allow you to move from one D-scale data to another. nd moves to the next scaling, whereas nb moves to the next scaling block. For scalar D-scalings, these are identical operations, but for problems with full D-scalings, (perturbations of the form
I) they are different. In the (1,2) subplot window, the title displays the D-scaling Block number, the row/column of the scaling that is currently being fit, and the order of the current fit (with d for data, when no fit exists).
i and d.
apf automatically fits each D-scaling data. The default maximum state order of individual D-scaling is 5. The mx variable allows you to change the maximum D-scaling state order used in the automatic prefitting routine. mx must be a positive, nonzero integer. at allows you to define how close the rational, scaled µ upper bound is to approximate the actual µ upper bound in a norm sense. Setting at 1 would require an exact fit of the D-scale data, and is not allowed. Allowable values for at are greater than 1. This setting plays a role (mildly unpredictable, unfortunately) in determining where in the (D,K) space the D-K iteration converges.
e exits the D-scale fitting to continue the D-K iteration.
s will display a status of the current and fits.
Examples
An example of using dkit for D-K iteration is provided in the "HIMAT Robust Performance Design Example" in Chapter 7.
Reference
Balas, G.J.and J.C. Doyle, "Robust control of flexible modes in the controller crossover region," AIAA Journal of Guidance, Dynamics and Control, Vol. 17, no. 2, pp. 370-377, March-April, 1994.
Balas, G.J., A.K. Packard and J.T. Harduvel, "Application of µ-synthesis techniques to momentum management and attitude control of the space station," AIAA Guidance, Navigation and Control Conference, New Orleans, August 1991.
Doyle, J.C., Doyle, K. Lenz, and A. Packard, "Design examples using µ-synthesis: Space shuttle lateral axis FCS during reentry," NATO ASI Series, Modelling, Robustness, and Sensitivity Reduction in Control Systems, vol. 34, Springer-Verlag, 1987.
Packard, A., J. Doyle, and G. Balas, "Linear, multivariable robust control with a µ perspective," ASME Journal of Dynamic Systems, Measurement and Control, 50th Anniversary Issue, vol. 115, no. 2b, pp. 310-319, June 1993.
Stein, G., and J. Doyle, "Beyond singular values and loopshapes," AIAA Journal of Guidance and Control, vol. 14, no. 1, pp. 5-16, January, 1991.
See Also
hinfsyn, hinfnorm, msf, mu
![]() | dhfsyn | dkitgui | ![]() |