ADRC - replacing PID controls?

19 views
Skip to first unread message

Sergei Grichine

unread,
Jun 29, 2026, 12:49:19 PM (3 days ago) Jun 29
to hbrob...@googlegroups.com
I came across an interesting video describing an alternative algorithm that keeps drones stable:


This is what Gemini says:

https://share.google/aimode/UJu6WYMugPehuvkTO
ADRC (Active Disturbance Rejection Control) is an advanced, model-free control algorithm in Betaflight that replaces traditional PID tuning. It dynamically estimates and compensates for internal and external disturbances in real-time, making it highly effective for handling unbalanced payloads, propeller swaps, and propwash without constant retuning.



I spent a lot of time adjusting PIDs making my lawnmowers follow straight line with +-20 cm tolerance. It is very hard to do on a gas driven zero turn mower, an electrically driven mower is better, but not ideal either. I am wondering if ADRC could do a better job.

Does anybody have personal experience with ADRC? Any opinion?

Best Regards,
-- Sergei

Chris Albertson

unread,
Jun 29, 2026, 4:26:59 PM (3 days ago) Jun 29
to hbrob...@googlegroups.com
PID is a 100% reactive control.  It is all based on error.

The other kind of control is predictive.  In general, they use some kind of model to predict future error and then take action to reduce the future error.     In theory, reactive control ALWAYS has to oscillate, but you can solve this with some kinds of forward-looking control.

The best robots in the world all use some kind of model-based prediction.  By “best,” I mean the Boston Dynamics “Atlas” and Tesla  cars.    I rented a Tesla last week for a 1,300-mile road trip, and I used the parallel parking feature many times and let it self-drive on some curvy mountain roads.  It was clear the car was “thinking ahead.”    The algorithm looks at the desired location (near the curb) and the current location (in the street) and then uses a broad search to reduce that error.   Both Atlas and Tesla use MPC.    This is a not-to-bad description: https://stanfordasl.github.io/aa203/sp2223/pdfs/lecture/lecture_11.pdf

In robotics, MPC is used at a high level, and then a motor controller is still likely using nested torque and position PIDs.


In any case, yes, I agree PID is very limited and even in theory can’t be perfect, as it depends on there being some error.



--
You received this message because you are subscribed to the Google Groups "HomeBrew Robotics Club" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hbrobotics+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/hbrobotics/CA%2BKVXVM9r7-mgf4J5cseggo35oVg3JkkiCXcv4_buSu6C850qQ%40mail.gmail.com.

Reply all
Reply to author
Forward
0 new messages