• Stars
    star
    759
  • Rank 59,846 (Top 2 %)
  • Language
    Python
  • License
    MIT License
  • Created over 6 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A simple and easy to use PID controller in Python

simple-pid

Tests PyPI Read the Docs License Downloads Code style: black

A simple and easy to use PID controller in Python. If you want a PID controller without external dependencies that just works, this is for you! The PID was designed to be robust with help from Brett Beauregards guide.

Usage is very simple:

from simple_pid import PID
pid = PID(1, 0.1, 0.05, setpoint=1)

# Assume we have a system we want to control in controlled_system
v = controlled_system.update(0)

while True:
    # Compute new output from the PID according to the systems current value
    control = pid(v)
    
    # Feed the PID output to the system and get its current value
    v = controlled_system.update(control)

Installation

To install, run:

python -m pip install simple-pid

Documentation

Documentation, including a user guide and complete API reference, can be found here.

Tests

This project has a test suite using pytest. To run the tests, install pytest and run:

pytest -v

License

Licensed under the MIT License.