Quote:
Originally Posted by Tom Line
First, I think you need to sit down with you mentors and understand truly what they want. I suspect that they actually do NOT want the arm to move for 2 seconds. I suspect that they want the arm to move a certain distance.
People unfamiliar with programming often make that mistake. Instead of trying to program thier robot to do something definite - like drive 3 feet using the encoders, they try to make it do something non-definite like drive for 3 seconds (at what speed? at what battery voltage? On what field? With how much wheel slip). One will get you the exact same result every single time. The other will get you a nearly random result that is unrepeatable.
People who program their autonomous based on timing almost always have problems with it being very inconsistent and unpredictable.
So go back and find out what your mentors actually want. Do they want the arm motion smoother? Do they want it to go to specific locations?
It's trivial to make an arm simply move for 2 seconds. But I'd wager a pretty penny that it isn't really what they mean.
|
Yes, you are somewhat right. Yesterday we measured the time it took the arm to go from its lowest location (where it can grab tube from human player), and its highest location(second row). It was an average of about 2.4 seconds. They thought of just making it run up for 2.4 seconds, stop, then run down for 2.4 seconds when the joystick is moved back. After what you said, it does sound like it can vary in results.
We were also thinking of using a limit switch to regulate when the arm is at lowest and highest points.
According to what you said, how could i program the arm to move distance rather than time? Like when pushed forward, arm travels 2 feet, when pushed back, arm travels down 2 feet.
Thanks for the quick response