Simulink Control Design™ - MathWorks

(Tuis.) #1

Change Requirements with Operating Condition


When tuning a gain-scheduled control system, it is sometimes useful to enforce different
design requirements at different points in the design grid. For instance, you might want
to:


  • Specify a variable tuning goal that depends explicitly or implicitly on the design point.

  • Enforce a tuning goal at a subset of design points, but ignore it at other design points.

  • Exclude a design point from a particular run of systune, but retain it for analysis or
    other tuning operations.

  • Eliminate a design point from all stages of design and analysis.


Define Variable Tuning Goal


There are several ways to define a tuning goal that changes across design points.

Create Varying Goals

The varyingGoal command lets you construct tuning goals that depend implicitly or
explicitly on the design point.

For example, create a tuning goal that specifies variable gain and phase margins across a
grid of design points. Suppose that you use the following 5-by-5 grid of design points to
tune your controller.

[alpha,V] = ndgrid(linspace(0,20,5),linspace(700,1300,5));

Suppose further that you have 5-by-5 arrays of target gain margins and target phase
margins corresponding to each of the design points, such as the following.

[GM,PM] = ndgrid(linspace(7,20,5),linspace(45,70,5));

To enforce the specified margins at each design point, first create a template for the
margins goal. The template is a function that takes gain and phase margin values and
returns a TuningGoal.Margins object with those margins.

FH = @(gm,pm) TuningGoal.Margins('u',gm,pm);

Use the template and the margin arrays to create the varying goal.

VG = varyingGoal(FH,GM,PM);

11 Gain-Scheduled Controllers

Free download pdf