As the title says, the arm keeps falling down rather than being stuck at the position it was set to be at because of the gravity pulling it down. Im using Raspberry Pi for this, some MG996R servos and some metal brackets. I have considered using rubber bands to keep it up but i feel like it could damage the motors when they're trying to move. Any other suggestions?

EDIT: So basically I use my Pi, to set a position angle-wise and it would ideally rotate to that angle and the pulse from the servos would stop being sent. But when the bottom limb, the part of the arm above the base, goes below about 45-40 degrees on either side from the north axis, the entire limb falls down pulling everything above it down with it too. It doesnt exactly stay stuck at the position I set it to due to shift in weight. Now I did think of something else which was reducing the mass of that limb above the base but that would mean sacrificing length which would reduce the range at which the arm would be able to go. Any other ideas anyone?

EDIT 2: I meant pulses from the Pi, not the servo, sorry for the misunderstanding

  • $\begingroup$ I believe the motors just don't have enough torque capacity; so when the servo turns over some angle, the lever handle extends and corresponding load exceeds maximum torque causing the robot to fall. A simple solution to fight gravity would have been gravity compensation but since you are using position control (I assume) and still failing, the motors have no more torque. However, such questions without a defined problem statement are not ideal to give a self-contained answer. Try defining the task visually/verbally. $\endgroup$ – Akshay Kumar Feb 1 at 18:02
  • $\begingroup$ lay the arm on its side .... run your code again ...,. does the arm get positioned correctly when the gravity is not affecting its position? $\endgroup$ – jsotola Feb 1 at 21:23
  • $\begingroup$ Sorry for the misunderstanding jsotola, i corrected it. And no it can't exactly pick itself up if i tell it to go up 90 degrees because of its mass. Akshay Kumar, I elaborated my problem a lot more, hopefully its more understandable. $\endgroup$ – Mahir Ahmed-Al Feb 2 at 7:03
  • $\begingroup$ the rubber bands are actually a good idea .... they would be counteracting the effects of gravity, so the strain on the motors should actually be less $\endgroup$ – jsotola Feb 2 at 21:01
  • 1
    $\begingroup$ my concern is that you said pulses from the Pi would stop being sent ..... you cannot stop the pulses being sent to the servo, otherwise it will not hold its position ...... maybe that is your problem, not servo strength ...... that is why i asked you to lay the arm on its side $\endgroup$ – jsotola Feb 2 at 21:08

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.