dksyn
(Not recommended) Robust controller design for discrete-time plants using µ-synthesis
dksyn
is not recommended. Use musyn
instead. For more information, see Compatibility Considerations.
Syntax
[k,clp,bnd] = dksyn(p,nmeas,ncont) [k,clp,bnd] = dksyn(p,nmeas,ncont,opt) [k,clp,bnd,dkinfo] = dksyn(p,nmeas,ncont,...) [k,clp,bnd,dkinfo] = dksyn(p,nmeas,ncont,prevdkinfo,opt) [...] = dksyn(p)
Description
[k,clp,bnd] = dksyn(p,nmeas,ncont)
synthesizes a robust controller
k
for the uncertain open-loop plant model p
via the D-K or D-G-K algorithm for µ-synthesis. p
is an uncertain
state-space uss
model. The last nmeas
outputs
and ncont
inputs of p
are assumed to be the
measurement and control channels. k
is the controller,
clp
is the closed-loop model and bnd
is the
robust closed-loop performance bound. p
, k
,
clp
, and bnd
are related as follows:
clp = lft(p,k); bnd1 = dksynperf(clp); bnd = 1/bnd1.LowerBound;
[k,clp,bnd] = dksyn(p,nmeas,ncont,opt)
specifies
user-defined options opt
for the D-K or D-K-G algorithm. Use
dksynOptions
to create
opt
.
[k,clp,bnd,dkinfo] = dksyn(p,nmeas,ncont,...)
returns
a log of the algorithm execution in dkinfo. dkinfo
is an
N-by-1 cell array where N is the total number of iterations
performed. The i
th cell contains a structure with the following
fields:
Field | Description |
---|---|
K | Controller at |
Bnds | Robust performance bound on the closed-loop system
( |
DL | Left D-scale, an |
DR | Right D-scale, an |
GM | Offset G-scale, an |
GR | Right G-scale, an |
GFC | Center G-scale, an |
MussvBnds | Upper and lower µ bounds, an |
MussvInfo | Structure returned from |
[k,clp,bnd,dkinfo] = dksyn(p,nmeas,ncont,prevdkinfo,opt) allows you to use
information from a previous dksyn iteration. prevdkinfo
is a structure
from a previous attempt at designing a robust controller using dksyn
.
prevdkinfo
is used when the dksyn
starting
iteration is not 1 (opt.StartingIterationNumber = 1
) to determine the
correct D-scalings to initiate the iteration procedure.
[...] = dksyn(p)
takes p
as a
uss
object that has two-input/two-output partitioning as defined
by mktito
.
Examples
The following statements create a robust performance control design for an unstable, uncertain single-input/single-output plant model. The nominal plant model, G, is an unstable first order system .
G = tf(1,[1 -1]);
The model itself is uncertain. At low frequency, below 2 rad/s, it can vary up to 25%
from its nominal value. Around 2 rad/s the percentage variation starts to increase and
reaches 400% at approximately 32 rad/s. The percentage model uncertainty is represented
by the weight Wu
which corresponds to the frequency variation of the
model uncertainty and the uncertain LTI dynamic object
InputUnc
.
Wu = 0.25*tf([1/2 1],[1/32 1]);
InputUnc = ultidyn('InputUnc',[1 1]);
The uncertain plant model Gpert
represents the model of the
physical system to be controlled.
Gpert = G*(1+InputUnc*Wu);
The robust stability objective is to synthesize a stabilizing LTI controller for all
the plant models parameterized by the uncertain plant model, Gpert
.
The performance objective is defined as a weighted sensitivity minimization problem. The
control interconnection structure is shown in the following figure.
The sensitivity function, S, is defined as
where P
is the plant model and
K
is the controller. A weighted sensitivity minimization problem
selects a weight Wp
, which corresponds to the
inverse of the desired sensitivity function of the closed-loop
system as a function of frequency. Hence the product of the sensitivity weight
Wp
and actual closed-loop sensitivity function is less than 1
across all frequencies. The sensitivity weight Wp
has a gain of 100
at low frequency, begins to decrease at 0.006 rad/s, and reaches a minimum magnitude of
0.25 after 2.4 rad/s.
Wp = tf([1/4 0.6],[1 0.006]);
The defined sensitivity weight Wp
implies that the desired
disturbance rejection should be at least 100:1 disturbance rejection at DC, rise slowly
between 0.006 and 2.4 rad/s, and allow the disturbance rejection to increase above the
open-loop level, 0.25, at high frequency.
When the plant model is uncertain, the closed-loop performance objective is to achieve
the desired sensitivity function for all plant models defined by the uncertain plant
model, Gpert
. The performance objective for an uncertain system is a
robust performance objective. A block diagram of this uncertain closed-loop system
illustrating the performance objective (closed-loop transfer function from
d→e) is shown.
From the definition of the robust performance control objective, the weighted,
uncertain control design interconnection model, which includes the robustness and
performance objectives, can be constructed and is denoted by P
. The
robustness and performance weights are selected such that if the robust performance
structure singular value, bnd
, of the closed-loop uncertain system,
clp
, is less than 1 then the performance objectives have been
achieved for all the plant models in the model set.
You can form the uncertain transfer matrix P
from [d;
u]
to [e; y]
using the following commands.
P = [Wp; 1 ]*[1 Gpert]; [K,clp,bnd] = dksyn(P,1,1); bnd
bnd = 0.6806
The controller K
achieves a robust performance µ value
bnd
of about 0.68. Therefore you have achieved the robust
performance objectives for the given problem.
You can use the robgain
command to analyze the closed-loop robust
performance of clp
.
[rpmarg,rpmargunc] = robgain(clp,1);
Limitations
There are two shortcomings of the D-K iteration control design procedure:
Calculation of the structured singular value µΔ(·) is approximated by its upper bound. This is not a serious problem because the value of µ and its upper bound are often close.
The D-K iteration is not guaranteed to converge to a global, or even local minimum. This is a serious problem, and represents the biggest limitation of the design procedure.
In spite of these drawbacks, the D-K iteration control design technique appears to work well on many engineering problems. It has been applied to a number of real-world applications with success. These applications include vibration suppression for flexible structures, flight control, chemical process control problems, and acoustic reverberation suppression in enclosures.
Algorithms
References
[1] 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, March-April, 1994, p. 370-377.
[2] 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.
[3] Doyle, J.C., 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, Berlin 1987.
[4] 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, June 1993, p. 310-319.
[5] Stein, G., and J. Doyle, “Beyond singular values and loopshapes,” AIAA Journal of Guidance and Control, Vol. 14, No. 1, January, 1991, p. 5-16.