Python Control Systems Library
The Python Control Systems Library (python-control) is a Python package that implements basic operations for analysis and design of feedback control systems.
Features
Linear input/output systems in state-space and frequency domain
Nonlinear input/output system modeling, simulation, and analysis
Block diagram algebra: serial, parallel, and feedback interconnections
Time response: initial, step, impulse
Frequency response: Bode and Nyquist plots
Control analysis: stability, reachability, observability, stability margins
Control design: eigenvalue placement, LQR, H2, Hinf
Model reduction: balanced realizations, Hankel singular values
Estimator design: linear quadratic estimator (Kalman filter)
Documentation
- Introduction
- Library conventions
- Function reference
- Control system classes
- Plotting data
- MATLAB compatibility module
- Creating linear models
- Utility functions and conversions
- System interconnections
- System gain and dynamics
- Time-domain analysis
- Frequency-domain analysis
- Compensator design
- State-space (SS) models
- Model simplification
- Time delays
- Matrix equation solvers and linear algebra
- Additional functions
- Functions imported from other modules
- Differentially flat systems
- Input/output systems
- Describing functions
- Optimization-based control
- Examples
Development
You can check out the latest version of the source code with the command:
git clone https://github.com/python-control/python-control.git
You can run the unit tests with pytest to make sure that everything is working correctly. Inside the source directory, run:
pytest -v
or to test the installed package:
pytest --pyargs control -v
Your contributions are welcome! Simply fork the GitHub repository and send a pull request.
Please see the Developer’s Wiki for detailed instructions.
Links
Issue tracker: https://github.com/python-control/python-control/issues
Mailing list: http://sourceforge.net/p/python-control/mailman/