Active Disturbance Rejection Control (ADRC) Toolbox

version 1.2.7 (419 KB) by ADRC Toolbox
Easy-to-use, single-block ADRC controller for Simulink (with examples)


Updated 6 Apr 2022

View License

The goal of the Active Disturbance Rejection Control (ADRC) Toolbox is to provide an intuitive control solution for Simulink, allowing the implementation of the ADRC algorithm in simulations/experiments quickly and with low effort. It is compatible with MATLAB releases R2018b and later.
The ADRC Toolbox contains an ADRC controller, which is a single, drag-and-drop, Simulink function block that encapsulates a specific continuous-time linear error-based ADRC algorithm. For simplicity and compactness, the ADRC controller is developed as a single-input (feedback error signal), single-output (control signal) block, which can be used as a powerful alternative to the conventional PID controller. The ADRC controller is a general-purpose block and its open structure allows to create custom control solutions.
The design parameters of the implemented ADRC algorithm can be easily changed using the provided graphical user interface (GUI). The GUI also allows activating practical functionalities like the saturation of the control signal and anti-peaking mechanism.
The ADRC Toolbox comes with several examples using a variety of control problems known from motion, process, and power control areas:
A pre-print containing detailed information about the developed ADRC Toolbox, including the implemented algorithm, functionalities, and parameters, as well as results of the examples can be found here.
Option #1 (from File Exchange)
All files related to the ADRC Toolbox, including code, data, and examples, are conveniently packaged into a single MATLAB toolbox installation file (.mltbx), which can be downloaded by clicking Download --> Toolbox.
Option #2 (from MATLAB)
You can also install the ADRC Toolbox directly from MATLAB by clicking Add-Ons --> Get Add-Ons --> search 'adrc toolbox' --> Add.
How to use:
After installation, go to MATLAB, open Simulink, go to Library Browser, and select ADRC Toolbox. You can now drag and drop the ADRC controller into your project.
To see the provided examples, go to MATLAB, find Add-On Manager, right-click on ADRC Toolbox, and select Open Folder. The examples are now available in your current MATLAB folder.
Code contributors:
e-mail: adrc.toolbox [at]
The example 'tclab_temp_control', provided alongside the ADRC Toolbox, uses a Simulink function block called 'Temperature Control Lab' as well as the 'TCLab' hardware platform, both available at

Cite As

ADRC Toolbox (2022). Active Disturbance Rejection Control (ADRC) Toolbox (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2021a
Compatible with R2018b and later releases
Platform Compatibility
Windows macOS Linux

Inspired: Cascade Extended State Observer (CESO)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!