Inferensys

Glossary

Active Disturbance Rejection Control (ADRC)

A model-agnostic control strategy that treats internal non-linearities and external disturbances as a total disturbance and cancels it in real-time via an extended state observer.
ML engineer managing model versions on laptop, version history visible, technical Git-like workflow.
ADAPTIVE PROCESS CONTROL

What is Active Disturbance Rejection Control (ADRC)?

A model-agnostic control strategy that treats internal non-linearities and external disturbances as a total disturbance and estimates and cancels it in real-time via an extended state observer.

Active Disturbance Rejection Control (ADRC) is a robust control framework that estimates and actively cancels the combined effect of internal uncertainties and external forces—termed the "total disturbance"—in real time, transforming a complex, unknown system into a simple, canonical form for easy regulation. Unlike Model Predictive Control (MPC), it requires no detailed mathematical model of the plant, relying instead on an Extended State Observer (ESO) to treat the plant's unknown dynamics as an additional state variable to be estimated and rejected.

The architecture centers on the ESO, which ingests the control signal and measured output to reconstruct the system's internal states and the lumped disturbance. A simple proportional-derivative or nonlinear feedback law then generates a control signal that cancels this disturbance, effectively reducing the plant to a pure integrator chain. This inherent decoupling makes ADRC exceptionally tolerant to parameter drift and unmodeled dynamics in manufacturing environments, from motor speed regulation to thermal process control.

CORE ARCHITECTURE

Key Features of ADRC

Active Disturbance Rejection Control is defined by a unique architecture that decouples the problem of control from the requirement of an accurate mathematical model. The following cards break down its fundamental components and operational principles.

01

The Extended State Observer (ESO)

The Extended State Observer is the core estimation engine of ADRC. Unlike a traditional Luenberger observer that only estimates the internal state of a known plant, the ESO treats the combined effect of internal non-linearities and external disturbances as an additional, augmented state variable—the 'total disturbance'. It estimates both the system's internal states and this lumped disturbance in real-time using only the system's input and output signals. This eliminates the need for a precise dynamic model.

1
Augmented State for Total Disturbance
02

Model-Agnostic Design

ADRC fundamentally operates on a canonical cascade-integral form rather than a specific high-fidelity process model. The controller assumes the plant can be reduced to a simple chain of integrators. Any deviation from this simple form—whether non-linear friction, parameter drift, or an external load—is mathematically lumped into the total disturbance and actively canceled. This makes the controller inherently robust and eliminates the labor-intensive system identification phase required by Model Predictive Control.

0
Required Plant Model Parameters
03

Active Disturbance Cancellation

The control law in ADRC is a two-stage process:

  • Disturbance Rejection: The control signal is augmented to dynamically subtract the total disturbance estimated by the ESO. This effectively linearizes the plant in real-time.
  • Proportional-Derivative Control: Once the plant is reduced to a simple integrator chain, a simple PD controller (not PID) is sufficient to drive the output to the setpoint. The integral term is unnecessary because the ESO handles steady-state error by canceling constant disturbances.
PD
Sufficient Control Law (No Integrator)
04

Bandwidth Parameterization

To simplify tuning for industrial engineers, ADRC is often parameterized using a bandwidth concept. All observer and controller gains are analytically calculated as functions of two intuitive tuning knobs:

  • Observer Bandwidth (ω₀): Determines how quickly the ESO tracks the system states and the total disturbance. A higher value provides faster estimation but increases noise sensitivity.
  • Controller Bandwidth (ωc): Determines the speed of the closed-loop response. This reduces complex multi-gain tuning to a transparent trade-off between speed and noise immunity.
2
Primary Tuning Parameters
05

Decoupling Multi-Variable Systems

In Multi-Input Multi-Output (MIMO) systems, cross-coupling between loops is a major challenge. ADRC treats the dynamic coupling from one loop acting on another not as a complex interaction matrix to be modeled, but as a component of the total disturbance. Each control channel has its own ESO that estimates and cancels the cross-coupling in real-time. This allows a complex MIMO plant to be controlled as a set of independent Single-Input Single-Output (SISO) loops, drastically simplifying the control architecture.

SISO
Effective Control Architecture for MIMO Plants
06

Transition from PID to ADRC

ADRC is often described as the natural evolution of the PID controller to meet the demands of modern digital control. It resolves PID's fundamental limitations:

  • Error Computation: Unlike PID, which computes error on a potentially noisy step-change in setpoint, ADRC uses a smooth transition profile to avoid overshoot.
  • Disturbance Rejection: ADRC's ESO provides a more efficient and proactive disturbance rejection mechanism than the PID's integral term, which can cause windup and phase lag.
  • Noise Differentiation: The ESO provides a filtered derivative of the output, avoiding the noise amplification of a direct differentiator on the error signal.
PID
Predecessor Technology
ACTIVE DISTURBANCE REJECTION CONTROL

Frequently Asked Questions About ADRC

Active Disturbance Rejection Control (ADRC) is a paradigm-shifting control strategy that fundamentally redefines how we handle uncertainty in industrial systems. Unlike traditional model-based approaches that require precise mathematical descriptions of plant dynamics, ADRC treats both internal non-linearities and external forces as a single, unified 'total disturbance' to be estimated and actively canceled in real-time. This FAQ addresses the core mechanisms, practical advantages, and implementation considerations that make ADRC a critical tool for modern software-defined manufacturing automation.

Active Disturbance Rejection Control (ADRC) is a model-agnostic control methodology that estimates and compensates for the combined effect of internal uncertainties and external disturbances in real-time, forcing an otherwise complex and unknown plant to behave like a simple, canonical cascaded integrator. It works by employing an Extended State Observer (ESO) as its core architectural component. The ESO treats the total disturbance—encompassing unmodeled dynamics, non-linear friction, coupling effects, and external load torques—as an additional, augmented state variable. This 'total disturbance' is estimated online from the system's input and output signals. A simple proportional-derivative (PD) control law then generates a control signal that actively cancels this estimated disturbance, effectively linearizing the plant dynamics without requiring a precise mathematical model. This decouples the control problem into two distinct tasks: disturbance estimation and disturbance rejection, enabling high-performance control even in highly uncertain industrial environments.

Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.