View Single Post
  #5   Spotlight this post!  
Unread 13-02-2011, 13:12
jhellr13 jhellr13 is offline
Registered User
FRC #4272
Team Role: Mentor
 
Join Date: Jan 2011
Rookie Year: 2010
Location: US
Posts: 187
jhellr13 is an unknown quantity at this point
Re: Labview Timed Loop

Quote:
Originally Posted by Tom Line View Post
There are several ways to move something a set distance. All require some type of feedback to the robot.

The first would be a limit switch. A limit switch would be hooked up to the digital i/o on the digital sidecar, and you could read it in your code.

I'll leave the mechanical thinking to you, but consider - what if you programmed your arm so that when the operator pressed forward the arm would move, but would stop when it hit the limit switch until the operator released the joystick then pressed it forward again?

That is one example.

More common, though, is a potentiometer. That is a variable resistor. They are hooked up to your analog breakout and as they are rotated their resistance varies. This means the voltage sent back to the robot varies. So you can determine the voltage at any given height and use that as I suggested you use the limit switch above. The difference would be that the potentiometer will work for any position you like, whereas you will need multiple limit switches.

You could also start looking at PID loops. Essentially if you drive the arm to a point and tell it to stop, it will over-shoot the location due to momentum. A pid scales down the motor speed as the manipulator nears the stop point. Do a search for PID on the Chief Delphi media section under papers and you will find any number of excellent resources, however if you haven't ever done it before it might be a bit of a challenge.

We were also thinking of the use of a limit switch, which i think is the easiest. Now i am wondering about placement of the limit switch. We were thinking of putting it where the arm is at its lowest point, thus it would trigger when going down. Any ideas?
Reply With Quote