PID Controllers

PID, or proportional integral derivative, controller is a closed-loop controller that has many powerful properties and features. Its main purpose is to control real-world systems (such as robot rotations or movements) accurately to a certain value, adjusting for errors, even if the systems may give inaccurate feedback.

Example
For example, when driving a robot on a flat road, you may have to give it 50% power to have it move at 3 MPH. When diving the same robot up a hill, you may have to give it 80% power to have it move at 3 MPH, the same speed. Since the computer may not know that setting 50% power is not enough to go up a hill at 3 MPH, a feedback system is needed to let it know that it needs to give more power for the same speed. A PID controller will not only be able to calculate how much to tell the motors to work to set the desired velocity, but will correctly accelerate them without going too fast or slow.

Club Usage
The club uses PID controllers in several of it's Collegiate Robotics competitions, as well as in Tabletop Robotics competitions. A good example would be that of the velocity and steering controllers found in the Mini Grand Challenge 2010 submission.


 * Sample Source Code of Minigrand10 Velocity and Sterring Controllers
 * Drew Schmitt and Rich Lichkus have implemented a PID controller for their tabletop robot, to correct for movement errors