Robust Tuning Using Multiple Plant Models at Command Line

systune can simultaneously tune the parameters of multiple models or control configurations. For example you can:

  • Tune a single controller against a set of plant models obtained by linearizing a Simulink® model at varying operating points, to ensure that the tuned control system meets design requirements under a range of operating conditions

  • Tune a single controller against a set of plant models obtained for different values of the plant parameters, to ensure that the tuned control system is robust to parameter variations

  • Tune for reliable control by tuning against multiple control system configurations that represent different failure modes of a system

When you tune for multiple models, systune seeks values of controller parameters that best satisfy the specified tuning objectives for all plant models.

systune jointly tunes the tunable parameters for all models in the array to best meet the tuning requirements as you specify them. systune returns an array containing the corresponding tuned models. You can use getBlockValue or showTunable to access the tuned values of the control elements.

Tune for Multiple Models

To tune a control system for multiple plant models:

  1. If your control system is modeled in Simulink, configure the slTuner interface to linearize at different operating points or with parameter variations.

    If your control system is modeled in MATLAB®, create an array of genss models that represent the control systems or configurations to tune against. You can do this, for example, by using Control Design Blocks to represent varying plant parameters, and using the replaceBlock command to generate an array by sampling values of those parameters.

  2. Specify your tuning objectives using TuningGoal requirements objects such as TuningGoal.Tracking, TuningGoal.Gain, or TuningGoal.Margins. If you want to limit a tuning requirement to a subset of the sampled models, set the Models property of the TuningGoal requirement.

    For example, suppose you have a model array whose first entry represents your control system under normal operating conditions, and whose second entry represents the system in a failure mode. Suppose further that Req is a TuningGoal.Tracking requirement that only applies to the normally operating system. To enforce the requirement only on the first entry, use the following command:

    Req.Models = [1];
  3. Provide the model array or slTuner interface and the tuning requirements as input argument to systune.

See Also

| |

Related Examples

Was this topic helpful?