Skip to content

A Python PID controller that is easy to use, works and does the job. The PID controller implements timestep integration that is designed to be used in discrete-time regulators.

License

Notifications You must be signed in to change notification settings

mkner/basic-pid

Repository files navigation

BasicPID is a classic PID controller that is easy to use, works and does the job

The PID controller is designed to be used in discrete-time regulators and implements timestep integration that supports two modes of operation: Integrative and Iterative

In Integrative Mode, the timestep integrations are calculated inside the controller and the output from the PID controller for the current timestep is used directly or with modifications and sent to the device or process plant as the current input signal without further iterative integration.

In Iterative Mode, the PID timestep integrations are manually calculated and updated outside the controller in the algorithm that calls the PID controller for the output of the PID at the current timestep.

BasicPID has proven to be a tested, and reliable PID controller. It has been used, for example, with mobile robotic systems for LVC (Linear Velocity Control) for regulating wheel velocities, LVDR (Lateral Velocity Differential Regulator) for keeping the wheel velocities in sync for differential drive mobile robots when traversing a straight line path and ADVR (Angular Differential Velocity Regulator) for tracking a heading angle using typical motion control input signals (v,w) for linear and angular velocities.

Installation:

$ pip install basic-pid

For documentation see https://basic-pid.readthedocs.io/en/latest/

About

A Python PID controller that is easy to use, works and does the job. The PID controller implements timestep integration that is designed to be used in discrete-time regulators.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages