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,
.GMAX_DK_PLAN
, see below) the previous
frequency-dependent D's or the just-fit rational GMAX_DK
is made. This is simply a conservative value
of the scaled closed- loop Hnorm
, 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.
.OMEGA_DK
). If you
change it, all relevant frequency responses are automatically
recomputed.
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-PreFittol
to 1.01 0 Fit with zeroth order 2 Fit with second ordern
Fit 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 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 | ![]() |