looptune
Tune MIMO feedback loops in Simulink using slTuner
interface
Syntax
Description
[
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.
Examples
Input Arguments
Output Arguments
More About
Algorithms
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 https://github.com/SLICOT.
References
[1] P. Apkarian and D. Noll, "Nonsmooth H-infinity Synthesis." IEEE Transactions on Automatic Control, Vol. 51, Number 1, 2006, pp. 71–86.
[2] Bruinsma, N.A., and M. Steinbuch. "A Fast Algorithm to Compute the H∞ Norm of a Transfer Function Matrix." Systems & Control Letters, 14, no.4 (April 1990): 287–93.
Extended Capabilities
Version History
Introduced in R2014a
See Also
looptune
(for genss)
| looptuneOptions
| TuningGoal.Tracking
| TuningGoal.Gain
| TuningGoal.Margins
| slTuner
| addPoint
| getIOTransfer
| getLoopTransfer
| writeBlockValue
| systune
| hinfstruct
(Robust Control Toolbox)