Main Content

Gain Scheduling

Tuning of gain-scheduled controllers for nonlinear plants

A gain-scheduled controller is a controller whose gains are automatically adjusted as a function of time, operating condition, or plant parameters. Gain scheduling is a common strategy for controlling systems whose dynamics change with time or operating condition. Such systems include linear parameter-varying (LPV) systems and large classes of nonlinear systems. To tune gain-scheduled controllers in MATLAB® or Simulink®, you represent the variable gain as a function of the scheduling variables using the tunableSurface command. For an overview of the workflow for tuning gain-scheduled controllers, see Gain Scheduling Basics.


expand all

tunableSurfaceCreate tunable gain surface for gain scheduling
polyBasisPolynomial basis functions for tunable gain surface
fourierBasisFourier basis functions for tunable gain surface
ndBasisBasis functions for tunable gain surface
viewSurfVisualize gain surface as a function of scheduling variables
evalSurfEvaluate gain surfaces at specific design points
getDataGet current values of tunable-surface coefficients
setDataSet values of tunable-surface coefficients
codegenGenerate MATLAB code for tunable gain surfaces
systuneTune fixed-structure control systems modeled in MATLAB
slTunerInterface for control system tuning of Simulink models
systune (slTuner)Tune control system parameters in Simulink using slTuner interface
voidModelMark missing or irrelevant models in model array
varyingGoalVariable tuning goal for gain-scheduled controllers
getGoalEvaluate variable tuning goal at specified design point


expand all

Varying Lowpass FilterButterworth filter with varying coefficients
Varying Notch FilterNotch filter with varying coefficients
PID ControllerContinuous-time or discrete-time PID controller
PID Controller (2DOF)Continuous-time or discrete-time two-degree-of-freedom PID controller
Varying Transfer FunctionTransfer function with varying coefficients
Varying State SpaceState-space model with varying matrix values
Varying Observer FormObserver-form state-space model with varying matrix values
Discrete Varying LowpassDiscrete Butterworth filter with varying coefficients
Discrete Varying NotchDiscrete-time notch filter with varying coefficients
Discrete PID ControllerDiscrete-time or continuous-time PID controller
Discrete PID Controller (2DOF)Discrete-time or continuous-time two-degree-of-freedom PID controller
Discrete Varying Transfer FunctionDiscrete-time transfer function with varying coefficients
Discrete Varying State SpaceDiscrete-time state-space model with varying matrix values
Discrete Varying Observer FormDiscrete-time observer-form state-space model with varying matrix values


Gain-Scheduled Control Systems

Gain Scheduling Basics

Gain scheduling is an approach to control of non-linear systems using a family of linear controllers, each providing satisfactory control for a different operating point of the system.

Model Gain-Scheduled Control Systems in Simulink

In Simulink, model gain schedules using lookup tables, interpolation blocks, or MATLAB Function blocks.

Tune Gain Schedules

Tune Gain Schedules in Simulink

Understand the general tuning workflow for using systune to tune gain-scheduled controllers.

Plant Models for Gain-Scheduled Controller Tuning

To tune a gain-scheduled control system, you need a collection of linear models describing the plant dynamics at the selected design points.

Multiple Design Points in slTuner Interface

For tuning a gain-scheduled control system, associate a family of linear plant models with the slTuner interface to your Simulink model.

Parameterize Gain Schedules

A gain surface parameterizes a variable gain in terms of the scheduling variables. Use gain surfaces to model variable gains in a gain-scheduled control system.

Change Requirements with Operating Condition

When tuning gain-scheduled controllers, you can specify tuning objectives that depend on the scheduling variables.

Validate Gain-Scheduled Control Systems

Tuning gain-scheduled controllers guarantees suitable performance only near each design point. It is important to validate the tuning results over the full range of operating conditions.

HL-20 Autopilot Case Study

Trimming and Linearization of the HL-20 Airframe

Linearize an airframe model at an array of design points to use for gain-scheduled control design.

Angular Rate Control in the HL-20 Autopilot

Tune gain-scheduled PI controllers for the inner loop of the HL-20 airframe model.

Attitude Control in the HL-20 Autopilot - SISO Design

Tune a gain-scheduled SISO architecture for controlling roll, pitch, and yaw of the airframe.

Attitude Control in the HL-20 Autopilot - MIMO Design

Tune a gain-scheduled MIMO architecture for controlling roll, pitch, and yaw of the airframe.

MATLAB Workflow for Tuning the HL-20 Autopilot

Design a gain-scheduled control system for the HL-20 airframe in MATLAB.

Featured Examples