Thread: Trim for motors
View Single Post
  #3   Spotlight this post!  
Unread 16-01-2009, 12:20
qwv123 qwv123 is offline
Registered User
FRC #1318
 
Join Date: Dec 2006
Location: Issaquah, WA
Posts: 3
qwv123 is an unknown quantity at this point
Re: Trim for motors

Quote:
Originally Posted by Bongle View Post
A pure software solution would be to use a PID loop and a potentiometer.

The WindRiver code includes some very robust PID classes (see class PIDController in PIDController.h/cpp). I imagine the labview setup includes them too, but we're not a labview team so I don't know for sure. You just need to put a potentiometer on the arm joint, then use a PID loop to hit your desired arm positions. The nature of a PID loop will ensure that appropriate amounts of power are used to maintain your arm's position. Properly tuned, it will be faster, more accurate, more reliable, and have less oscillations than a human controlling.
Yes, PID works very well for this, unless you are lifting so much weight that the motors struggle to maintain their positions. If you are using LabVIEW, it does have several PID VIs, as well as some sort of autotuning PID wizard. My team has not used it, but it seems quite simple to implement.