Skip to content

BenGravell/control-gallery

Repository files navigation

Control gallery

Control Systems Gallery

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.

Features

Links

Conventions

  • 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

System descriptions are located in system_descriptions.md.

This file is automatically generated from the system definition dictionaries by running system_descriptions.py.

Dependencies

The Control Systems Gallery package requires the NumPy package.

Developed and tested with Python 3.7

Installation

Conda and conda-forge

TBD

Pip

TBD

Development

Code

You can check out the latest version of the source code with the command:

git clone https://github.com/BenGravell/control-gallery.git

Testing

TBD

License

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.

Contributing

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.

About

Collection of standardized linear systems.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages