How Active Disturbance Rejection Control Works

Active disturbance rejection control, or ADRC, is a control strategy that treats everything a controller does not know about a system, whether it is internal complexity or external interference, as a single “total disturbance,” estimates that disturbance in real time, and cancels it out before it can affect performance. Developed through work by Jingqing Han in the 1990s and later simplified into a practical engineering tool, ADRC occupies a middle ground between classical feedback controllers like PID and modern model-based approaches that demand precise mathematical descriptions of the plant. The idea is deceptively straightforward, but the range of problems it addresses, from power converters to chemical reactors to autonomous vehicles, hints at why it has gained serious traction in both academia and industry over the past two decades.

What Problem Does ADRC Actually Solve

Traditional controllers generally fall into two camps. On one side sits PID, which is simple to implement but struggles when the system’s behavior changes or when large, unpredictable disturbances hit. On the other side sit model-based controllers that can handle complex dynamics beautifully, as long as you have a highly accurate mathematical model of the system. In practice, getting that model right is expensive, time-consuming, and sometimes impossible for systems that change over time or operate in harsh, unpredictable environments.

ADRC sidesteps this dilemma. Instead of requiring a detailed model of every force and friction coefficient acting on a system, it lumps everything the controller does not explicitly account for into one catch-all term: the “total disturbance.” This includes genuine external disturbances like wind gusts hitting a drone, but also internal unknowns like unmodeled friction, parameter drift from aging components, or coupling effects between subsystems. The controller then estimates this total disturbance on the fly and subtracts it from the control action, effectively reducing a complicated, poorly understood plant to something much simpler to control.

The Three Building Blocks

ADRC in its original nonlinear form has three core pieces that work together. Understanding each one helps clarify why the approach is so flexible. An adaptive ADRC structure for induction motor drives, for instance, uses all three: a tracking differentiator for generating a smooth reference signal, an extended state observer for estimating system states and disturbances, and nonlinear state error feedback for adjusting the output based on state errors.1International Journal of Electrical and Electronics Engineering. An Adaptive Active Disturbance Rejection Controller (ADRC) for Induction Motor Drives

  • Tracking differentiator (TD): This component takes the reference signal, the “setpoint” or desired trajectory, and produces a smooth version of it along with its derivative. Rather than demanding the system snap instantly to a new target, the TD gives it a realistic trajectory to follow. This prevents the kind of aggressive initial overshoot you often see with PID controllers when they receive a sudden step change.
  • Extended state observer (ESO): This is the heart of ADRC. The ESO watches the system’s output and, using only minimal information about the plant, estimates both the conventional states (like position or velocity) and the total disturbance acting on the system. It treats that disturbance as an additional “extended” state and tracks it continuously.
  • Nonlinear state error feedback (NLSEF): Once the ESO has estimated the system states and the total disturbance, the NLSEF uses those estimates to compute a control signal. It subtracts the estimated disturbance from the control action, so the plant effectively behaves like a much simpler system, and then applies feedback based on the remaining state errors to keep the output on track.

The ESO deserves extra attention because the quality of disturbance estimation directly determines how robust the entire closed-loop system is. A survey of methods for improving extended state observers found that the precision of online disturbance reconstruction and cancellation is the single biggest factor influencing ADRC’s robustness.2ISA Transactions. Survey on methods of increasing the efficiency of extended state disturbance observers If the ESO’s estimate lags behind or is noisy, the controller’s ability to reject disturbances degrades accordingly.

The Simplification That Changed Everything

Han’s original ADRC was powerful but came with a practical headache: it had many nonlinear functions and tuning parameters, making it difficult for working engineers to set up without deep expertise. A major breakthrough came in 2003, when the linear versions of the ESO and the overall controller were developed. In linear ADRC, all controller and observer gains are parameterized as functions of just two quantities: the control bandwidth and the observer bandwidth.3IEEE. Active disturbance rejection control: From an enduring idea to an emerging technology Instead of tuning a dozen knobs, an engineer sets two meaningful numbers that correspond to how fast the controller responds and how fast the observer tracks disturbances.

This linear formulation, known as LADRC, has a simple structure, is straightforward to analyze using familiar frequency-domain tools, and is far easier to tune. Those qualities have greatly promoted the spread of ADRC in engineering applications.4INFORMATION AND CONTROL. Surveys on Theory and Engineering Applications for Linear Active Disturbance Rejection Control For many industrial problems, LADRC is what engineers actually implement. It retains the core philosophy of estimating and canceling total disturbance but strips away the nonlinear elements that made the original version harder to deploy.

The two-bandwidth tuning paradigm also gives intuitive design guidance. Increasing the observer bandwidth makes the ESO track disturbances faster, but at the cost of amplifying sensor noise. Increasing the controller bandwidth makes the system respond more quickly, but pushes actuator demands higher and can excite unmodeled dynamics. The engineer’s job is to find the sweet spot for the specific application, which is a familiar kind of tradeoff rather than an opaque parameter search.

Where ADRC Shows Up in Practice

One of ADRC’s strengths is that it does not care much about what kind of system it is controlling, which means it has found its way into a surprisingly wide range of applications.

In power electronics, ADRC has been applied to DC-DC boost converters, which are notoriously tricky to control because they exhibit what engineers call non-minimum phase behavior: a brief initial response in the wrong direction before settling toward the correct output. A review of ADRC techniques for boost converters found that various ADRC schemes claiming improved performance for such systems were experimentally validated for voltage control.5IET Power Electronics. Active disturbance rejection control of DC–DC boost converter: a review with modifications for improved performance The ESO’s ability to lump the converter’s awkward dynamics into the total disturbance estimate and compensate for them is what makes this work.

In motor drives, ADRC manages the nonlinear, coupled dynamics of induction motors without requiring a precise motor model. The controller estimates torque disturbances, load variations, and parameter changes in real time, leading to reduced torque pulsation and improved transient response.6International Journal of Electrical and Electronics Engineering. An Adaptive Active Disturbance Rejection Controller (ADRC) for Induction Motor Drives For factory automation where motors face constantly shifting loads, this kind of robustness matters more than optimal performance under perfect conditions.

The approach has also been explored for autonomous vehicle path tracking, where road curvature changes, tire slip, and wind loads all act as disturbances that the ESO can estimate and the controller can counteract. And in renewable energy systems, microgrids, and motion control platforms ranging from CNC machines to robotic arms, ADRC’s model-light philosophy keeps finding new ground.

Handling Systems with Time Delays

One area where standard ADRC historically struggled is systems with significant transport delays, the kind of lag you see in chemical reactors where a change at the inlet takes real time to propagate to the outlet sensor, or in networked control where data packets arrive late. The ESO assumes reasonably prompt feedback; when the measurement arrives significantly late, the observer’s disturbance estimate can become stale, degrading performance and potentially threatening stability.

Researchers have addressed this by modifying the ESO to incorporate predictive elements. A predictive ADRC formulation modifies the observer to account for the delay, leading to significant improvements in transient response and stability. In testing on chemical reactor and boiler control problems, the predictive version outperformed established alternatives like dead-time compensators based on disturbance observers and the Filtered Smith Predictor in both performance and robustness.7ISA Transactions. Predictive active disturbance rejection control for processes with time delay

A separate modification takes a different angle, focusing on maintaining good disturbance rejection while preserving stability in the presence of delay. That design works as a unified solution for stable, marginally stable, and even unstable systems with time delay, which is useful because process engineers often deal with all three types across a single plant.8ISA Transactions. Modified active disturbance rejection control for time-delay systems The fact that two different research groups tackled the delay problem from different directions and both achieved substantial improvements suggests that ADRC’s architecture is flexible enough to accommodate the needed modifications rather than requiring a completely different framework.

The Noise Problem and Variable-Bandwidth Observers

Every control engineer who has worked with ADRC in a real lab or factory setting will tell you about the noise problem. The ESO’s bandwidth determines how aggressively it tracks disturbances, but high bandwidth also means it amplifies sensor noise. In simulation, you can crank the observer bandwidth up and get spectacular disturbance rejection. On real hardware with noisy sensors, that same high bandwidth produces a jittery, unusable control signal.

A fixed bandwidth forces a compromise: set it high enough to track fast disturbances and accept the noise, or set it low and accept sluggish disturbance rejection. Neither is ideal, and the right fixed value often depends on operating conditions that change over time.

A variable-bandwidth ESO sidesteps this by automatically adjusting the observer’s bandwidth based on the current estimation error. When the error between the observer’s estimate and the measured output is large, suggesting a significant disturbance event, the bandwidth increases to track it quickly. When the error is small, meaning the system is close to steady state, the bandwidth drops to filter out noise. This “high error, high bandwidth; low error, low bandwidth” logic achieves a tradeoff between estimation accuracy and noise robustness without requiring manual retuning.9IEEE Transactions on Industrial Electronics. A Variable-Bandwidth Extended State Observer for Nonlinear Systems With Measurement Noise

This idea reflects a broader trend in ADRC research: making the observer smarter rather than just faster. Other approaches include super-twisting extended state observers that borrow from sliding-mode control theory to achieve robust disturbance estimation with proven convergence properties.10Mathematics. A Super-Twisting Extended State Observer for Nonlinear Systems The common thread is that the ESO, not the feedback law, is where most of the innovation is happening, precisely because disturbance estimation quality is the bottleneck for the whole structure.11ISA Transactions. Survey on methods of increasing the efficiency of extended state disturbance observers

Controlling Systems with Multiple Interacting Loops

Many real-world processes have multiple inputs and outputs that interact with each other. A boiler, for example, has fuel flow, air flow, and feedwater flow as inputs, and steam pressure, temperature, and drum level as outputs. Changing one input affects multiple outputs simultaneously. Classical control handles this by designing separate loops and then adding decoupling compensators to reduce the interaction, but those compensators require a good process model, which circles back to the modeling problem ADRC was designed to avoid.

ADRC offers an alternative: treat the coupling between loops as part of the total disturbance. Each loop gets its own ADRC controller with its own ESO. The ESO in each loop estimates not just external disturbances but also the influence of the other loops, since from one loop’s perspective, the coupling from another loop is just another unknown disturbance. Simulation work on multivariable decoupling using ADRC has shown that this approach achieves effective decoupling with good robustness, and because the ADRC is independent of the controlled object, no coupling model is needed.12Energy Procedia. Decoupling Control Based on Active Disturbance Rejection Controller

The practical appeal here is obvious. In a factory or power plant, the process model may be poorly known, operating conditions may drift, and retuning a model-based decoupler every time conditions change is unrealistic. An ADRC-based approach that absorbs coupling into its disturbance estimate adapts implicitly as conditions shift.

Fault Tolerance Without a Fault Detector

A particularly interesting application of ADRC’s disturbance-estimation philosophy is in fault-tolerant control. Consider a DC microgrid, the kind of small electrical network that connects solar panels, batteries, and loads in a building or ship. If a voltage or current sensor develops a fault, sending incorrect readings, a conventional controller can lose stability. Traditional fault-tolerant approaches add a dedicated fault-detection layer that identifies which sensor has failed and then reconfigures the controller accordingly. That detection layer adds complexity, delay, and its own failure modes.

ADRC can handle certain sensor faults without any explicit fault detection. A decentralized ADRC scheme for islanded low-voltage DC microgrids preserves grid stability in the presence of unknown and time-varying sensor faults by estimating and compensating for lumped disturbances through the extended state observer. No fault detection or system reconfiguration is needed.13PubMed Central. Active disturbance rejection-based decentralised sensor fault-tolerant control in DC microgrids From the ESO’s perspective, a sensor fault is just another disturbance: the measured output deviates from what the observer expects, so the observer adjusts its disturbance estimate to account for the discrepancy. The controller then compensates, maintaining stability without knowing or caring that the root cause was a faulty sensor rather than an external load change.

This has real implications for systems where adding fault-detection hardware is impractical or where the cost of a brief period of degraded performance is far less than the cost of a full shutdown. Microgrids, remote industrial sites, and autonomous systems operating beyond easy reach of a technician all fit this profile.

How ADRC Compares to PID in Everyday Terms

PID remains the most widely deployed controller in the world, and for good reason: it is simple, well understood, and works perfectly well for many processes that are reasonably linear and slow-changing. If you are controlling the temperature of a room or the level of a tank with predictable inflows and outflows, PID does the job.

ADRC starts to earn its keep when one or more of the following conditions hold: the system’s dynamics are poorly known or change over time, significant disturbances hit frequently and unpredictably, the system is nonlinear enough that a single set of PID gains cannot cover the full operating range, or there are interactions between control loops that a simple decoupling strategy cannot handle. Under those conditions, PID typically requires gain scheduling (switching between different sets of gains depending on operating conditions), feedforward compensators, or anti-windup logic, each adding complexity. ADRC rolls much of that functionality into its disturbance-estimation loop.

The cost is that ADRC requires more computation per control cycle. The ESO runs continuously alongside the controller, and in its nonlinear form, the tracking differentiator and NLSEF add further load. For the vast majority of modern embedded controllers, this is not a meaningful barrier. Where it does matter is in extremely high-speed applications, like controlling power electronic switches at hundreds of kilohertz, where every microsecond of computation counts. In those cases, LADRC’s linear structure helps by allowing more efficient implementation.

Common Misconceptions About ADRC

One persistent misconception is that ADRC requires no model at all. That is not quite right. ADRC requires minimal model information, specifically the system’s order and an approximate value of its input gain. What it does not require is a detailed dynamic model of the plant’s internal behavior. The distinction matters: you still need to know roughly how your system responds to inputs, but you do not need to characterize every nonlinearity, friction coefficient, or coupling effect. The ESO picks up the slack.

Another misconception is that ADRC automatically handles any disturbance, regardless of how fast it changes. In reality, the ESO can only track disturbances up to a certain frequency, limited by the observer bandwidth. If a disturbance changes faster than the ESO can follow, the estimation will lag and the rejection will be incomplete. The variable-bandwidth approaches described earlier push this boundary outward, but they do not eliminate it. For extremely fast disturbances, additional feedforward compensation or higher-order observer designs may be necessary.

A third misunderstanding involves the relationship between ADRC and other modern control methods. ADRC is sometimes framed as a competitor to model predictive control (MPC) or robust control, but in practice the boundaries are blurry. Researchers have combined ADRC’s disturbance-estimation idea with predictive control frameworks to handle time delays, and the ESO concept has been integrated into sliding-mode and backstepping controllers. ADRC is better understood as a design philosophy, estimate the total disturbance and cancel it, that can be combined with other approaches rather than a rigid, standalone algorithm that must be used in isolation.

Discrete-Time Implementation and Digital Controllers

Nearly all real-world controllers today run on digital hardware: microcontrollers, PLCs, or DSPs that execute control algorithms at a fixed sampling rate. Translating ADRC from continuous-time theory to discrete-time implementation introduces its own set of considerations. The ESO must be discretized in a way that preserves its estimation accuracy at the chosen sampling rate, and the interaction between sampling period and observer bandwidth becomes a practical constraint. If the sampling rate is too low relative to the observer bandwidth, the discrete ESO’s performance degrades or it can become unstable.

For LADRC, the discretization is relatively straightforward because the observer and controller are both linear, so standard discretization techniques apply. For nonlinear ADRC, the implementation requires more care, particularly in choosing how to approximate the nonlinear functions between sampling instants. Engineers working with low-cost microcontrollers also need to manage fixed-point arithmetic, limited memory, and execution-time budgets. None of these challenges are unique to ADRC, but they are part of the gap between a control design that works in simulation and one that runs reliably on a factory floor.

The availability of LADRC’s bandwidth-based tuning helps here too. Because the tuning parameters have clear physical meaning, commissioning an ADRC loop on real hardware follows a reasonably systematic process: start with a conservative observer bandwidth, increase it until noise amplification becomes visible, then back off slightly. The controller bandwidth is set similarly, balancing speed against actuator effort. This is more structured than the trial-and-error tuning that PID often gets in practice, even if PID tuning rules exist on paper.