Main Content

Improve PID Design in Presence of Unmeasured Disturbance

Unmeasured (exogenous) disturbances can significantly degrade the performance of a PID controller. While you design PID controllers to maintain desired output in the presence of small disturbances, large or persistent disturbances such as load changes, environmental fluctuations, or sensor noise can overwhelm the ability of the controller to compensate effectively, especially during transient time.

This topic provides an overview of strategies you can use to enhance controller performance under disturbances, including disturbance compensators, active disturbance rejection control (ADRC), or model predictive control (MPC). These methods either estimate and cancel the disturbance or optimize control actions to maintain performance despite external disruptions.

How Disturbances Affect PID Performance

These disturbances can lead to:

  • Overshoot and Oscillations — Sudden disturbances can cause the output to deviate significantly from the setpoint, resulting in overshoot or sustained oscillations.

  • Slow Recovery — The controller may take a long time to bring the system back to the desired state, especially if the disturbance is not well-rejected.

  • Trade-offs in Tuning — Tuning a PID for fast tracking often reduces its ability to reject disturbances, and vice versa. This trade-off becomes more pronounced in systems with frequent or large disturbances.

Overview of Techniques

Use this table to pick an approach based on your plant knowledge, constraints, and tolerance for control structure changes.

SolutionsHow it WorksAdvantagesRisksWhen to UseTypical Applications

Replace with Active Disturbance Rejection Control

Estimates and cancels total disturbances (internal uncertainty + external disturbance) using an Extended State Observer (ESO).Robust to model uncertainty, minimal plant modeling needed, adaptive to disturbances.Need to tune ESO gains, observer noise sensitivity, stability analysis less standard.Model uncertainty is high and real-time disturbance rejection is critical.Motion control, robotics, electromechanical drives.
Retune PID Gains to Tradeoff Tracking for Disturbance RejectionRetunes PID gains to favor disturbance rejection over tracking.Simple, easy model-based tuning.Requires accurate plant model. Tracking performance may be worseYou can tradeoff tracking performance for better disturbance rejection.Single-loop plants.
Augment with Disturbance Compensation TechniquesObserver-based estimates of disturbance and subtracts them from control input.Simple concept, improves trackingRequires accurate disturbance model estimation, may amplify noise with high observer bandwidthWhen model uncertainty is high and real-time disturbance rejection is critical.Motion control, robotics, electromechanical drives.
Replace with Sliding Mode ControllerDrives system state to a “sliding surface” and maintains motion on it using discontinuous control law.Strong robustness to matched uncertainties and disturbances, simple design.Chattering (high-frequency switching), may excite unmodeled dynamics.When robustness to uncertainty is key and actuators can tolerate fast switching.Motor drives, aerospace, uncertain nonlinear systems.
Replace with Model Reference Adaptive ControllerAdjusts controller parameters online so system output tracks a reference model.Guarantees asymptotic tracking under assumptions, systematic Lyapunov-based design.Requires persistency of excitation, risk of instability if adaptation is too aggressive.When system dynamics vary with operating conditions and a reference model is available.Aerospace, robotics, systems with changing dynamics.
Replace with Model Predictive ControllerPredicts outputs with disturbance/noise models and solves QP to optimize control subject to constraints.Handles constraints explicitly; multivariable; band‑limited disturbance shaping.Requires models and QP solver; more complex; computational cost.When constraints and multivariable interactions are critical.Process control, constrained systems, MIMO with delays.

Replace with Active Disturbance Rejection Control

Active disturbance rejection control (ADRC) is a model-free control technique that is useful for designing controllers for plants with unknown dynamics and internal and external disturbances. This algorithm requires only an approximation of the plant as a single or double integrator to design controllers that provide robust disturbance rejection with no overshoot. To implement ADRC, you can use the Active Disturbance Rejection Control block from Simulink® Control Design™ software. In most cases, ADRC may be sufficient for improving disturbance rejection and one of the first things you can try for improving your design.

Retune PID Gains to Tradeoff Tracking for Disturbance Rejection

pidtune Function and PID Tuner App

PID design using pidtune or PID Tuner is a model-based tuning method you can use to retune PID controller with a focus on disturbance rejection.

systune Function and Control System Tuner App

PID tuning with systune or Control System Designer is a model-based and optimization-based tuning method you can use to retune PID controller gains based on specified performance requirements.

Augment with Disturbance Compensation Techniques

Using the methods described in this section, you can modify the nominal controller actions to account for and reject external disturbances.

Extended State Observer

An extended state observer (ESO) is a state estimation technique that allows you to estimate the states and disturbances of a plant based on the its inputs and outputs. The algorithm models disturbances as an extended state of the plant to perform the estimation.

  • When to use — You need to estimate both the internal states and unknown disturbances of a system using only input-output data. ESO is useful when you do not have a full model but you can provide a physical representation or an approximation of the plant in the following form. Based on the plant inputs u and measured outputs ym, the Extended State Observer block returns estimated states (x^) and disturbances (d^). Using these estimated states and disturbances, you can implement state feedback or disturbance compensation control techniques. The accuracy of estimation will depend on the accuracy of the plant approximation.

    x˙/x+=Ax+Buu+Bddym=Cmx

  • How to use — You can use the estimated disturbances from the Extended State Observer block along with your PID controller and modify the actions of nominal controller to compensate for disturbances and improve PID performance. Tune ESO using observer bandwidth and pole spacing to adjust estimation speed and stability.

  • Architecture — This figure shows a typical way of implementing ESO to compensate for plant input disturbances.

  • Examples

  • Additional Resources

Disturbance Compensator

The Disturbance Compensator block extends the implementation of ESO to compute control actions that account for estimated disturbances in you system. To compensate for disturbances, the Disturbance Compensator block uses an ESO to estimate total disturbances in the model and returns the modified controller actions you can use as plant input.

  • When to use — You have a nominal controller and want to enhance its disturbance rejection performance. This technique builds on ESO by estimating disturbances and modifying the controller output to counteract them. It is ideal for systems where disturbances degrade control performance and where you prefer to retain your existing control structure while adding a compensation layer.

  • How to use — You can use the Disturbance Compensator block to modify control actions of a PID controller to reject and compensate for disturbances in your model as shown in the following figure. Tune the observer and compensation gain matrices using the bandwidth and spacing parameters to effectively reject disturbances.

  • Architecture — This figure shows a typical way of implementing Disturbance Compensator to compensate for plant input disturbances.

  • Examples

  • Additional Resources

Ultra Local Model

Ultra-local model (ULM) is an estimation technique that allows you to approximate a nonlinear plant as a single or double integrator system with an affine term that captures unknown dynamics and disturbances. The estimated model is valid only for a local operating point over a short period of time.

  • When to use — Modeling is difficult and you can approximate plant as a single or double integrator system at a local operating point over a short period of time. This is useful for nonlinear systems where only local behavior matters and the dynamics can be approximated as a first-order or second-order integrator with an affine disturbance term. ULM is well-suited for applications where the system operates around a local point and disturbances vary over time. You can use both as a standalone estimator or integrate it with nominal PID controllers to enhance disturbance rejection. This technique is especially beneficial when you can provide a rough estimate of input gain and require real-time estimation of disturbances using input-output data over a short time window.

  • How to use — Use ULM estimate along with the PID controller to improve PID performance for the system with model uncertainties and external disturbances as shown in the following figure. Tune ULM using the input gain α, estimator sample time, and integration window size to balance responsiveness and noise robustness.

  • Examples

  • Additional Resources

Replace PID with Advanced Controllers

When you can change the existing structure of your model and want to implement advanced control strategies, you can use the following advanced controllers to provide performance and robustness in presence of nonlinearities or uncertain dynamics.

Sliding Mode Control

Sliding mode control (SMC) is a control technique where you define a sliding surface that the system state trajectory converges to and remains on. This sliding surface is designed such that it is insensitive to disturbances and uncertainties in the system. Once the system state trajectory is on the sliding surface, the controller uses a feedback control law to drive the system state trajectory to the desired state along the sliding surface.

For more information, see Sliding Mode Control. For examples, see Sliding Mode Control Design for a Robotic Manipulator and Stabilize Chua System Using Sliding Mode Controller.

Model Reference Adaptive Control

The Model Reference Adaptive Control block computes control actions to make an uncertain controlled system track the behavior of a given reference plant model. Using the direct and indirect MRAC techniques, you can estimate a model of the external disturbances and uncertainty in the system being controlled. The controller then uses this model to compensate for the disturbances and uncertainty when computing control actions.

For more information, see Model Reference Adaptive Control. For examples , see Indirect MRAC Control of Mass-Spring-Damper System and Indirect Model Reference Adaptive Control of First-Order System.

Model Predictive Control

A model predictive controller uses linear plant, disturbance, and noise models to estimate the controller state and predict future plant outputs. Using the predicted plant outputs, the controller solves a quadratic programming optimization problem to determine optimal manipulated variable adjustments. For more information, see MPC Controller (Model Predictive Control Toolbox), MPC Prediction Models (Model Predictive Control Toolbox), and Why Use MPC?. For examples, see Use MPC with Extended State Observer to Reject Unmeasured Output Disturbances (Model Predictive Control Toolbox).

See Also

Topics