Quote:
|
Originally Posted by Matt Leese
Everytime I see reference to a PID loop, I can't help but think it's a bit overkill for a lot of what we're doing.
|
It all depends on your application. We've been doing some tests on last year's robot to get a feel for PID loop usage.
Last year we used on/off control (if left, go right; if right, go left....there were speeds for close/far) on our crab weels, which caused them to oscillate quite a bit when the wheels were not in contact with the ground. Our test was to try to get the wheel overshoot as little as possible in that configuration, while getting them there as quickly as we could.
We started with simple proportional control. That worked fine, except for the fact that it was undershooting. This was because as the wheel got closer to the target, the speed slowed so much that the motor couldn't turn the wheels.
To remedy this we added an integral control. This helped to give the motor the extra boost that it needed as it got close to the target.
We added some derivative control just to see how it affected things, but didn't see significant difference.
The way that it ended up being tuned when we gave up showed an overshoot of a few degrees, then locked into position. I'm sure that we could have gotten it to have less if we had spent more time on it.
Getting back to Matt's question, when we had the robot on the ground, the added friction on the wheels helped things lock into place using simple control, but that same application without the friction needed the additional control.
It all depends on the application and what kind of performance that you need.