Active Disturbance Rejection Control for Python
Project description
Active Disturbance Rejection Control for Python
A simple, yet powerful control method for when a PID controller just doesn’t cut it.
Features
Discrete linear time invariant active disturbance rejection controller for digital control systems.
Implementation in state-space representation form of first- and second-order ADRC.
For practical application - half-gain tuning, magnitude and rate limiter for actuator limitations
User guide and/or theoretical background (for when you don’t have anything else to read).
A first/second-order LTI model generator and a quadcopter altitude model for experimentation, testing and verification.
Installation
Installing pyadrc is really simple, just run this command in your terminal:
pip install pyadrc
or you can clone the repository and install it manually:
git clone git://github.com/onguntoglu/pyadrc
cd pyadrc
python setup.py install
Licence
pyadrc is licenced under the MIT Licence
Acknowledgements
None of this work would be possible without Gernot Herbst and his papers:
Practical Active Disturbance Rejection Control: Bumpless Transfer, Rate Limitation and Incremental Algorithm, https://arxiv.org/abs/1908.04610
A Simulative Study on Active Disturbance Rejection Control (ADRC) as a Control Tool for Practitioners, https://arxiv.org/abs/1908.04596
Transfer Function Analysis and Implementation of Active Disturbance Rejection Control, https://arxiv.org/abs/2011.01044
Half-Gain Tuning for Active Disturbance Rejection Control, https://arxiv.org/abs/2003.03986
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pyadrc-0.3.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 166876dfb18393006b79d3cbeb51621cd66116f3c0f1bc51fc574e885ccdf8c0 |
|
MD5 | b101522245e7c17388582457ff6395f0 |
|
BLAKE2b-256 | 62ed8b24fe96cdbf7dfcb68334a72d54e91c6a77eecc8fd4fed00cff9f9834e9 |