Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

The Python Control Systems Library is a Python module that implements basic operations for analysis and design of feedback control systems.

License

NotificationsYou must be signed in to change notification settings

python-control/python-control

 
 

Repository files navigation

Python Control Systems Library

The Python Control Systems Library is a Python module that implements basicoperations for analysis and design of feedback control systems.

Have a go now!

Try out the examples in the examples folder using the binder service.

The package can also be installed on Google Colab using the commands:

!pip install controlimport control as ct

Features

  • Linear input/output systems in state-space and frequency domain
  • Block diagram algebra: serial, parallel, feedback, and other interconnections
  • Time response: initial, step, impulse
  • Frequency response: Bode, Nyquist, and Nichols plots
  • Control analysis: stability, reachability, observability, stability margins, root locus
  • Control design: eigenvalue placement, linear quadratic regulator, sisotool, hinfsyn, rootlocus_pid_designer
  • Estimator design: linear quadratic estimator (Kalman filter)
  • Nonlinear systems: optimization-based control, describing functions, differential flatness

Links

Dependencies

The package requires numpy, scipy, and matplotlib. In addition, some routinesuse a module called slycot, that is a Python wrapper around some FORTRANroutines. Many parts of python-control will work without slycot, but somefunctionality is limited or absent, and installation of slycot is recommended(see below). The Slycot wrapper can be found at:

https://github.com/python-control/Slycot

Installation

Conda and conda-forge

The easiest way to get started with the Control Systems library isusingConda.

The Control Systems library has packages available using theconda-forge Conda channel, and as of Slycot version0.3.4, binaries for that package are available for 64-bit Windows,OSX, and Linux.

To install both the Control Systems library and Slycot in an existingconda environment, run:

conda install -c conda-forge control slycot

Mixing packages from conda-forge and the default conda channel cansometimes cause problems with dependencies, so it is usually best toinstally NumPy, SciPy, and Matplotlib from conda-forge as well.

Pip

To install using pip:

pip install slycot   # optional; see belowpip install control

If you install Slycot using pip you'll need a development environment(e.g., Python development files, C and Fortran compilers). Pipinstallation can be particularly complicated for Windows.

Installing from source

To install from source, get the source code of the desired branch or releasefrom the github repository or archive, unpack, and run from within thetoplevel python-control directory:

pip install .

Article and Citation Information

Anarticle aboutthe library is available on IEEE Explore. If the Python Control Systems Library helped you in your research, please cite:

@inproceedings{python-control2021,  title={The Python Control Systems Library (python-control)},  author={Fuller, Sawyer and Greiner, Ben and Moore, Jason and          Murray, Richard and van Paassen, Ren{\'e} and Yorke, Rory},  booktitle={60th IEEE Conference on Decision and Control (CDC)},  pages={4875--4881},  year={2021},  organization={IEEE}}

or the GitHub site:https://github.com/python-control/python-control

Development

Code

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

git clone https://github.com/python-control/python-control.git

Testing

You can run the unit tests withpytest to make sure that everything isworking correctly. Inside the source directory, run:

pytest -v

or to test the installed package:

pytest --pyargs control -v

License

This is free software released under the terms ofthe BSD 3-ClauseLicense. There is nowarranty; not even for merchantability or fitness for a particularpurpose. Consult LICENSE for copying conditions.

When code is modified or re-distributed, the LICENSE file shouldaccompany the code or any subset of it, however small. As analternative, the LICENSE text can be copied within files, if sodesired.

Contributing

Your contributions are welcome! Simply fork the GitHub repository and send apull request.

Please see theDeveloper's Wiki for detailed instructions.

About

The Python Control Systems Library is a Python module that implements basic operations for analysis and design of feedback control systems.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp