!!! Proportional–Integral–Derivative (PID) Controller

This page describes information about a __Proportional–Integral–Derivative Controller__ (a __PID Controller__ or three-term controller). Rather than rely on the voltage sent to the motors to determine their speed (with
each motor and gearbox requiring slightly different voltages) this uses a __[motor encoder|MotorEncoder]__ that measures the speed of the motors themselves, then uses that to determine the difference between the intended
and actual motor speeds. This is used to determine the distance each motor has traveled. 

More later...

See: [PID Controller|https://en.wikipedia.org/wiki/PID_controller] on Wikipedia
    
!! Links

* [pimotors|https://github.com/pootle/pimotors] on github, by the author of Pootle's Place blog
* [RobotPID|https://projects.raspberrypi.org/en/projects/robotPID] (Complete PID in Python with integral etc.)
* [Robert O'Hanlan's Robot PID |https://github.com/martinohanlon/RobotPID]
* [Programming PID Control|https://www.societyofrobots.com/programming_PID.shtml] (Society of Robots)
* [Reading encoder Tue Apr 10, 2018 12:04 am|https://www.raspberrypi.org/forums/viewtopic.php?t=210559]
* pigpio example: [Python Rotary Encoder|http://abyz.me.uk/rpi/pigpio/examples.html#Python_rotary_encoder_py]

The rest needs a lot of cleanup, titles, etc.

* [https://www.microchip.com/forums/m337816.aspx]
* [https://github.com/MrYsLab/razmq/blob/master/razmq/encoders/encoders_pigpio.py]
* [https://onion.io/2bt-pid-control-python/]
* [https://pypi.org/project/simple-pid/] (too simple)
* [http://code.activestate.com/recipes/577231-discrete-pid-controller/] (also too simple)
* [https://www.oreilly.com/library/view/intelligent-iot-projects/9781787286429/26242fa7-713e-4e5d-b1dc-b5566a39d5b7.xhtml]
* [https://www.element14.com/community/community/raspberry-pi/blog/2019/02/12/pid-based-dc-motor-controller-project]
* [https://www.phidgets.com/docs21/DC_Motor_-_PID_Control]
* [http://robotsforroboticists.com/pid-control/]
* [https://www.stuffaboutcode.com/2014/10/raspberry-pi-initio-robot-driving.html]
* [https://github.com/martinohanlon/initio]

----

[{Tag Software}]