Gain Scheduling Basics

Gain scheduling is an approach to control of nonlinear systems using a family of linear controllers, each providing satisfactory control for a different operating point of the system. Gain-scheduled control is typically implemented using a controller whose gains are automatically adjusted as a function of scheduling variables that describe the current operating point. Such variables can include time, external operating conditions, or system states such as orientation or velocity.

Gain-scheduled control systems are often designed by choosing a small set of operating points, the design points, and designing a suitable linear controller for each point. In operation, the system switches or interpolates between these controllers according to the current values of the scheduling variables.

Gain scheduling is most suitable when the scheduling variables are external parameters that vary slowly compared to the control bandwidth, such as the ambient temperature of a chemical reaction or the speed of a cruising aircraft. Gain scheduling is most challenging when the scheduling variables depend on fast-varying states of the system. Because local linear performance near operating points is no guarantee of global performance in nonlinear systems, extensive simulation-based validation is required. See [1] for an overview of gain scheduling and its challenges.

To design a gain-scheduled control system, you need:

  • An operating range, defined as a set of ranges within which the values of relevant system parameters remain during operation. For instance, if your system is a cruising aircraft, then the operating range might be an incidence angle between –20° and 20° and airspeed in the range 200-250 m/s.

  • Some measurable variables that indicate where in the operating range the system is at a given time. These signals are the scheduling variables. For the aircraft system, the scheduling variables might be the incidence angle and the airspeed.

  • A gain schedule, which comprises the formulas or data tables that return the appropriate controller gains for given values of the scheduling variables. For the aircraft system, the gain schedule gives appropriate controller gains for any combination of incidence angle and airspeed within the operating range.

Gain Scheduling in Simulink

Control System Toolbox™ provides blocks that help you model gain-scheduled control systems in Simulink®. These blocks let you implement common control-system elements with variable parameters. For instance, the Varying PID Controller block accepts PID gains as inputs. In your model, you use blocks such as n-D Lookup Table or MATLAB Function blocks to implement the gain schedule. For more information and examples, see Model Gain-Scheduled Control Systems in Simulink.

Tune Gain Schedules

You can use systune to tune gain schedules to achieve a control system that meets performance objectives across the entire operating range. For more information, see Tune Gain Schedules in Simulink.


[1] Rugh, W.J., and J.S. Shamma, “Research on Gain Scheduling”, Automatica, 36 (2000), pp. 1401-1425.

Related Topics