A control systems package for Python>=3.8.
This package is written with the ambition of providing a full-fledged control
systems software that serves a control engineer/student/researcher with complete
access to the source code with permissive rights (see LICENSE
file).
Moreover, via working with a proper high-level computer programming language
many proprietary software obstacles are avoided and users can incorporate this
package into their workflow in any way they see fit.
The documentation is online at ReadTheDocs. A brief tutorial about the basics
can be found under the notebooks folder to see harold
in action.
The items that are in the pipeline and what possibly lies ahead is enumerated in our roadmap.
- There is already an almost-matured control toolbox which is led by Richard Murray et al. (click for the Github page) and it can perform already most of the essential tasks. Hence, if you want to have something that resembles the basics of matlab control toolbox, you should give it a try. However, it is somewhat limited to SISO tools and also relies on SLICOT library which can lead to installation hassle and/or licensing problems for nontrivial tasks.
- You can also use the tools available in SciPy
signal
module for basics of LTI system manipulations. SciPy is a powerful all-purpose scientific package. This makes it extremely useful however admittedly every discipline has a limited presence hence the limited functionality. If you are looking for a quick LTI system manipulation and don't want to install yet another package, then it might be the tool for you. - Instead, if you are interested in robust control you probably would appreciate the Skogestad-Python project. They are replicating the code parts of the now-classic book completely in Python. Awesome!
If you are missing out a feature, or found a bug, get in contact. Such reports and PR submissions are more than welcome!
If you have questions/comments feel free to shoot one to
harold.of.python@gmail.com
or join the Gitter chatroom.