Tune MIMO feedback loops in Simulink using slTuner
interface
[
tunes
the free parameters of
the control system of the Simulink® model associated with the st
,gam
,info
]
= looptune(st0
,controls
,measurements
,wc
)slTuner
interface, st0
,
to achieve the following goals:
Bandwidth — Gain crossover for each loop falls
in the frequency interval wc
Performance — Integral action at frequencies
below wc
Robustness — Adequate stability margins and
gain roll-off at frequencies above wc
controls
and measurements
specify
the controller output signals and measurement signals that are subject
to the goals, respectively. st
is the updated slTuner
interface, gam
indicates
the measure of success in satisfying the goals, and info
gives
details regarding the optimization run.
Tuning is performed at the sample time specified by the Ts
property
of st0
. For tuning algorithm details, see Algorithms.
[
tunes
the feedback loop to meet additional goals specified in one or more
tuning goal objects, st
,gam
,info
]
= looptune(st0
,controls
,measurements
,wc
,req1,...,reqN
)req
. Omit wc
to
drop the default loop shaping goal associated with wc
.
Note that the stability margin goals remain in force.
[
specifies
further options, including target gain and phase margins, number of
runs, and computation options for the tuning algorithm. Use st
,gam
,info
]
= looptune(___,opt
)looptuneOptions
to create opt
.
If you specify multiple runs using the RandomStarts
property
of opt
, looptune
performs
only as many runs required to achieve the target objective value of
1. Note that all tuning goals should be normalized so that a maximum
value of 1 means that all design goals are met.
looptune
automatically converts target
bandwidth, performance goals, and additional design goals into weighting
functions that express the goals as an H∞ optimization
problem. looptune
then uses systune
to optimize tunable parameters
to minimize the H∞ norm.
For information about the optimization algorithms, see [1].
looptune
computes the H∞
norm using the algorithm of [2] and structure-preserving eigensolvers from the SLICOT library. For more information
about the SLICOT library, see http://slicot.org.
[1] P. Apkarian and D. Noll, "Nonsmooth H-infinity Synthesis." IEEE Transactions on Automatic Control, Vol. 51, Number 1, 2006, pp. 71–86.
[2] Bruisma, N.A. and M. Steinbuch, "A Fast Algorithm to Compute the H∞-Norm of a Transfer Function Matrix," System Control Letters, 14 (1990), pp. 287-293.
addPoint
| getIOTransfer
| getLoopTransfer
| looptune
(for genss)
| looptuneOptions
| slTuner
| systune
| TuningGoal.Gain
| TuningGoal.Margins
| TuningGoal.Tracking
| writeBlockValue
| hinfstruct
(Robust Control Toolbox)