|
Re: PID control loops - closed loop feedback
For the typical low performance robot (I think FIRST robots count here), PD is needed for position control (proportional/derivative) and PI is needed for velocity control.
Usually with positioning servos, the control is sloppy and there is a lot of friction, so you can get away with just P term. Adding the D term allows stiffer snappier control, but, again, with the typical chain driven arm snappy isn't the image that comes to mind.
W/velocity control, often folks get away with just the I term. Something like:
output += SomeFudgeFactor * VelocityError;
So if you are slow, the output is built up until you are at the right speed, etc.
Team #492 had a arm for manipulating the 2x ball which was pretty sloppy and oscillated terribly when overhead (chain slop). So we simply checked for range and divided the output by 16 (or some other large number) when overhead. Worked great. That is an example of "gain scheduling" where you change the gain based upon position (or some other external factor).
|