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
Tune Control System at the Command Line