I lead a university robotics team that needs PID controllers for four drive motors and two additional motors that are used in a secondary system. I would strongly prefer to buy pre-built PID controllers that provide just about any reasonable interface for setting PID constants, motor velocity and direction, as the controllers are not remotely central to the difficult, interesting problems we're trying to solve. To my astonishment, the Internet doesn't seem to be saturated with such controllers (talk about reinventing the wheel - hundreds of tutorials but almost no pre-built solutions! Did Willow Garage build their own PID controller for the PR2?!).
Does anyone have recommendations/experience, preferably pointers to such controllers?
I've Googled around quite a bit, and so far this is the best option I've found. It's a cape for a BeagleBone Black (which is the board we're using). The problem is that the Python library is not finished - it resets PID constants at every call, it doesn't support changing the direction of the motor, and it seems to only support setting motor power, not velocity, which gives me the impression that it's not actually using the PID controller at all.
- The stall current of our drive motors is 6A. They are brushless DC motors with quadrature encoders. The secondary motors are much smaller, and we're building our own encoders for them.
- Our code base is in Python, and we're running on a BeagleBone Black using the latest Debian image from Robert Nelson (that guy's awesome!). Our batteries provide 14.8V, and we already have 3.3V and 5V rails.
- Our robot is fairly small, about 1x1x2 feet, and weighs about 9 pounds. This info is meant to give perspective with regard to scale.
- $350 or so is the comfortable top range of what we could spend to get all 6 motors PID-controlled.
Any help would be greatly appreciated!