Tuned gain schedules require careful validation. The tuning process guarantees suitable performance only near each design point. In addition, the tuning ignores dynamic couplings between the plant state variables and the scheduling variables (see Section 4.3, “Hidden Coupling”, in ). Best practices for validation include:
Examine tuned gain surfaces to make sure that they are smooth and well-behaved.
Visualize tuning goals against system responses at all design points.
Check linear performance of the tuned control system between design points.
Validate gain schedules in simulation of the full nonlinear system.
Check linear performance on a denser grid of σ values than you used for design. If adequate linear performance is not maintained between design points, you can add more design points and retune.
Perform nonlinear simulations that drive the closed-loop system through its entire operating range. Pay special attention to maneuvers that cause rapid variations of the scheduling variables.
After tuning, examine the tuned gains as a function of the scheduling variables to make
sure that they are smooth and well-behaved over the operating range. Visualize tuned gain
surfaces using the
Use tuning-goal plots to visualize your design requirements against the linear response of the tuned control system. Tuning-goal plots show graphically where and by how much tuning goals are satisfied or violated. This visualization lets you examine how close your control system is to ideal performance. It can also help you identify problems with tuning and provide clues on how to improve your design.
For general information about using tuning-goal plots, see
Visualize Tuning Goals. For
gain-scheduled control systems, the tuning-goal plots you generate with
viewGoal provide additional information that helps you evaluate how each
tuning goal contributes to the result.
For fixed tuning goals that apply to multiple design points,
viewGoal plots the relevant system response at all those design
points. For instance, suppose that you tune an
ST, for the
rct_CSTR model described in
Gain-Scheduled Control of a Chemical Reactor.
You can use
viewGoal to see how well each of the five design points
of that example satisfies the gain goal
R3. The resulting plot shows
the relevant gain profile at all five design points. Click any of the gain lines for a
display that shows the corresponding value of the scheduling variable
Varying goals that you create using
varyingGoal apply a different target response at each design point. When you
use viewGoal to examine a varying goal, the plot initially displays the target and tuned
responses at the first design point in the design grid. For instance, suppose that you
tune a control system
ST over a design grid of two scheduling
variables, using a varying goal
Rv that varies across the entire grid.
After tuning, examine
Click CHANGE to open sliders that let you select a design point at which to view the target and tuned responses.
In addition to examining linear responses associated with tuning goals, check other linear responses of the system to make sure that the behavior is suitable. You can do so by extracting and plotting system responses as described generally in Validate Tuned Control System.
For gain-scheduled systems, it is good practice to check linear performance on a denser grid of operating points than you used for design. If the system does not maintain adequate linear performance between design points, then you can add more design points and retune.
systune tunes gain schedules against a linearization
obtained at each design point, it is important to test the tuning results in simulation of
the full nonlinear system. Perform nonlinear simulations that drive the closed-loop system
through its entire operating range. Pay special attention to maneuvers that cause rapid
variations of the scheduling variables.
After tuning an
slTuner interface, use
writeBlockValue to write tuned controller parameters to the Simulink® model for such simulation. This command can write tuned gain schedules to
lookup table blocks, Matrix Interpolation blocks, and MATLAB
Function blocks for which you have specified a
For lookup table blocks and Matrix Interpolation blocks,
writeBlockValue automatically evaluates the tuned gain surface at
the breakpoints specified in the block. These breakpoints do not need to be the same as
the design points used for tuning. Because the
describes the gain schedule in parametric form,
evaluate the gain at any scheduling-variable value.
If you have retuned a subset of design points, you can use
writeLookupTableData to update a portion of the lookup-table data while
leaving the rest intact.
For gain schedules implemented as MATLAB Function blocks,
writeBlockValue automatically generates MATLAB® code and pushes it to the block. The generated MATLAB function takes the scheduling variables and returns the gain value given by
the tuned parametric expression of the
tunableSurface. To see this
MATLAB code for a particular gain surface, use the
 Rugh, W.J., and J.S. Shamma, "Research on Gain Scheduling", Automatica, 36 (2000), pp. 1401-1425.