Tune Control System at the Command Line
After specifying your tuning goals using TuningGoal objects
(see Tuning Goals), use systune to
tune the parameters of your model.
The systune command lets you designate one or more design goals as hard
goals. This designation gives you a way to differentiate must-have goals from nice-to-have
tuning goals. systune attempts to satisfy hard requirements by driving
their associated cost functions below 1. Subject to that constraint, the software comes as
close as possible to satisfying remaining (soft) requirements. For best results, make sure you
can obtain a reasonable design with all goals treated as soft goals before attempting to
enforce any goal as a hard constraint.
Organize your TuningGoal objects into a vector
of soft requirements and a vector of hard requirements. For example,
suppose you have created a tracking requirement, a rejection requirement,
and stability margin requirements at the plant inputs and outputs.
The following commands tune the control system represented by T0,
treating the stability margins as hard goals, the tracking and rejection
requirements as soft goals. (T0 is either a genss model
or an slTuner interface previously configured for
tuning.)
SoftReqs = [Rtrack,Rreject]; HardReqs = [RmargIn,RmargOut]; [T,fSoft,gHard] = systune(T0,SoftReqs,HardReqs);
systune converts each tuning requirement
into a normalized scalar value, f for the soft
constraints and g for the hard constraints. The
command adjusts the tunable parameters of T0 to
minimize the f values, subject to the constraint
that each g < 1. systune returns
the vectors fSoft and gHard that
contain the final normalized values for each tuning goal in SoftReqs and HardReqs.
Use systuneOptions to configure additional
options for the systune algorithm, such as the
number of independent optimization runs, convergence tolerance, and
output display options.
See Also
systune | systune (for slTuner) | systuneOptions