I have a 6DOF robotic arm which I am using to throw a ball. Each joint can achieve a maximum velocity of 30 RPM (180 deg/s). I have been trying to generate joint angles manually and feeding them to see how far I can throw the ball until now. This has shown me that it's like less than 2 meters.

But I feel that I may not be combining the motions of the various motors in order get better throwing distance. I wanted to know if there is a simple way of theoretically determining the maximum distance I can throw. I read a few papers that appear very complicated, I do not need a very accurate value, just an estimate so that I decide whether I should move to a different arm.


1 Answer 1


Throwing distance is dependent on the initial velocity of the ball thrown and the heading angle. Both of these is given by the robot arm. The velocity is simple, as large as possible. However the angle is not that simple.

You can find the optimal throwing angle calculations here:

What angle should you throw a football for maximum range?

This defines the orientation of the robot. I would recommend:

  1. representing every position of the end-effector that can reach this orientation in joint space.

  2. Then select the point in joint space which is on the obtained surface (might be a volume or hypervolume based on the number of degrees of freedom of the robot) which has enough distance from the joint limits to reach maximum velocity.

You can see how much "overhead" space do you need by knowing the maximum acceleration of the robot and checking how much angular distance do you need to reach maximum joint velocity if you accelerate from 0 speed to maximum speed with maximum acceleration. -OR- Just pick the point that is on the orientation surface and is the furthest away from joint limits.

--- EDIT: ---

As @Bending Unit 22 pointed out in the comments, you should select the highest possible position form the ones that satisfy the constrains in point 2.

  • 1
    $\begingroup$ The throwing position is also important. The higher up, the better. $\endgroup$ May 16, 2016 at 9:52
  • $\begingroup$ If the assumption is that start and end point are at the same level, then I believe the angle is 36 degrees. Can you please elaborate on the other part a bit. Thanks. $\endgroup$
    – Lonewolf
    May 16, 2016 at 11:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.