We are having trouble with keeping the robotic arm in an upright position. Once we lift the object it just falls to the floor. Any advice would be great. Thanks,
Use elastic to counterbalance the arm. When the arm is down, the other side should be stretching elastic, pulling it back up.
First, try to balance your arm as best you can using elastic if you haven’t already. Once you’ve done this you may even find that elastic is enough by itself if your arm is light.
Most teams program in a small upwards motor torque to counteract gravity, just enough that the arm won’t move either way. There should be enough friction in the system (seeing as you are gearing the motors down to run the arm) to allow for a reasonably wide tolerance of motor values that will result in no arm movement. Just choose a value towards the bottom of this range and tell the arm to go at that value when it is not being manually controlled and is not already at the bottom of its range of motion.
What usually happens at this point in the discussion is someone comes along and says that this is bad for the motors because continuously stalling motors is bad. However, it’s the way everyone does it and provided your arm is geared down to a sensible ratio the low motor reverse values used don’t seem to do any damage. Also people often claim that PID systems will stall motors less. While PID systems will provide more precise performance (given good programming on capable hardware), they will also need to reach an equilibrium that involves stalling the motors. The difference is that this equilibrium is worked out by the program instead of in advance by you. Whichever requires less torque from the motors to keep the arm steady will be healthier for them, and that will depend on the arm and the code being used.
As Vex Mundi said, you can try using PID. This may be a little complicated however, and a simpler solution that you can try first to get acquainted with the subject is just using proportional control. If you search around on the forums, you will find numerous examples on how to do proportional and PID (Proportional Integral Derivative) control for the exact situation you have described.
My teams run into this a lot with arms that will lift a ball but if they stop it will drop back down. I try to ask questions that guide them to experimenting with the worm and wheel gear mechanism to lift their arm. They lose some speed but gain an enormous amount of torque.
Would it be possible if you could post a picture of your design? My partner and I are having trouble getting accustomed to the VEX kit and need to build a robotic arm as well. We have no idea where to even start, and would like to see ideas! Thanks so much!
One thing to note about PID, is that the VEX potentiometers do not give a linear response with change in angle, which makes creating a PID loop that works well difficult. That being said, you could make the output linear via a function, but it is more than likely going to be more complex than it needs to be. Elastic bands, and more lift torque are usually better solutions.
Thats surprising. Do you have a chart to demonstrate it?