Main Content

Tune fixed-structure control systems modeled in MATLAB

`systune`

tunes fixed-structure control
systems subject to both soft and hard design goals. `systune`

can
tune multiple fixed-order, fixed-structure control elements distributed
over one or more feedback loops. For an overview of the tuning workflow,
see Automated Tuning Workflow.

This command tunes control systems modeled in MATLAB^{®}. For tuning Simulink^{®} models, use `slTuner`

(Simulink Control Design) to create an interface to your
Simulink model. You can then tune the control system with `systune`

(Simulink Control Design) for `slTuner`

.

`[`

tunes
the free parameters of the control system model, `CL`

,`fSoft`

]
= systune(`CL0`

,`SoftReqs`

)`CL0`

,
to best meet the soft tuning requirements. The best achieved soft
constraint values are returned as `fSoft`

. For
robust tuning against real parameter uncertainty, use a control system
model with uncertain real parameters. For robust tuning against a
set of plant models, use an array of control system models `CL0`

.
(See Input Arguments.)

*x* is the vector of tunable parameters in
the control system to tune. `systune`

converts each
soft and hard tuning requirement `SoftReqs(i)`

and `HardReqs(j)`

into
normalized values *f _{i}*(

`systune`

then solves the constrained
minimization problem:Minimize $$\underset{i}{\mathrm{max}}{f}_{i}\left(x\right)$$ subject to $$\underset{j}{\mathrm{max}}{g}_{j}\left(x\right)<1$$, for $${x}_{\mathrm{min}}<x<{x}_{\mathrm{max}}$$.

*x _{min}* and

When you use both soft and hard tuning goals, the software approaches this optimization problem by solving a sequence of unconstrained subproblems of the form:

$$\underset{x}{\mathrm{min}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\mathrm{max}\left(\alpha f\left(x\right),g\left(x\right)\right).$$

The software adjusts the multiplier *α* so
that the solution of the subproblems converges to the solution of
the original constrained optimization problem.

`systune`

returns the control system with parameters tuned
to the values that best solve the minimization problem. `systune`

also
returns the best achieved values of *f _{i}*(

`fSoft`

and `gHard`

respectively.For information about the functions *f _{i}*(

`TuningGoal`

requirement
object.`systune`

uses the nonsmooth optimization algorithms
described in [1],[2],[3],[4]

`systune`

computes the *H _{∞}*
norm using the algorithm of [5]and structure-preserving eigensolvers from the SLICOT library. For more information about the
SLICOT library, see http://slicot.org.

The **Control System Tuner** app
provides a graphical interface to control system tuning.

[1] Apkarian, P. and D. Noll, "Nonsmooth H-infinity
Synthesis," *IEEE Transactions on Automatic Control*,
Vol. 51, No. 1, (2006), pp. 71–86.

[2] Apkarian, P. and D. Noll, "Nonsmooth Optimization
for Multiband Frequency-Domain Control Design," *Automatica*,
43 (2007), pp. 724–731.

[3] Apkarian, P., P. Gahinet, and C. Buhr, "Multi-model,
multi-objective tuning of fixed-structure controllers," *Proceedings
ECC* (2014), pp. 856–861.

[4] Apkarian, P., M.-N. Dao, and D. Noll, "Parametric
Robust Structured Control Design," *IEEE Transactions on
Automatic Control*, 2015.

[5] Bruisma, N.A. and M. Steinbuch, "A Fast
Algorithm to Compute the H_{∞}-Norm of
a Transfer Function Matrix," *System Control Letters*,
Vol. 14, No, 4 (1990), pp. 287–293.

`AnalysisPoint`

| `genss`

| `looptune`

| `systuneOptions`

| `TuningGoal.Gain`

| `TuningGoal.Margins`

| `TuningGoal.Tracking`

| `viewGoal`

| `looptune (for slTuner)`

(Simulink Control Design) | `slTuner`

(Simulink Control Design) | `systune (for slTuner)`

(Simulink Control Design)