The Control Systems Gallery is a Python module that documents a collection of standard systems for use in the analysis and design of feedback control with a focus on state-space models.
- Continuous-time and discrete-time systems
- Easy integration with the Python Control package
- Individual system definitions are stored in dictionaries as a pickle file keyed to a unique 10-digit integer system ID
- IDs 0000000000 thru 4999999999 are reserved for continuous-time systems
- IDs 5000000000 thru 9999999999 are reserved for discrete-time systems
- At a minimum each system must have:
- Time type, continuous ('c') or discrete ('d')
- Dynamics representation, state-space ('ss') or transfer function ('tf')
- Either A, B, C, and D matrices (state-space representation) or a transfer function G (transfer function representation)
- If C and D matrices were not specified in source materials then C and D are NoneType
- Additional parameters are stored as needed
- Consult the source material (listed in metadata) for detailed description
- Metadata (system description, source paper, authors, notes) is stored in the dictionary if available
- Column and row vectors are treated as single-dimensional NumPy arrays
System descriptions are located in system_descriptions.md.
This file is automatically generated from the system definition dictionaries by running system_descriptions.py.
The Control Systems Gallery package requires the NumPy package.
Developed and tested with Python 3.7
TBD
TBD
You can check out the latest version of the source code with the command:
git clone https://github.com/BenGravell/control-gallery.git
TBD
This is free software released under the terms of the MIT License. There is no warranty; not even for merchantability or fitness for a particular purpose. Consult LICENSE for copying conditions.
When code is modified or re-distributed, the LICENSE file should accompany the code or any subset of it, however small. As an alternative, the LICENSE text can be copied within files, if so desired.
Your contributions are welcome! Simply fork the GitHub repository and send a pull request.
Icons made by Smashicons, Eucalyp, Pixel perfect, smalllikeart, and Freepik from www.flaticon.com.