How can the maximum length and mass of the linkages of a RRR type robt arm be calculated, if the motor's mechanical characteristics are given?


1 Answer 1


First of all you need to understand how the lenghts and masses effect the torque load on your motors. The masses and lenghts will give you a required torque, while your motors give you the available torque. In this case understand is to write a mathematical function that realtes these terms. This can be done either in the static case or in a dynamic case.

  1. Static case:

Static analysis links positions and forces and there is no motion component to is. It characterises your robot while at rest. Usually writign the static equations is pretty straiht forward using geometry relations and the Newton-Euler equations for forces and torques.

In this case you can identify a worst case position (most probably the streched out position of the arm, including its maximum payload) and you can see how much torque is needed to hold the arm in that position. If you have less (mechanical torque, after losses in various components) available in the joints, the arm will fall down. If you have exactly that amount available, the arm will hold, but will not be able to start moving. The larger the torque in the joints then the statially required torque, the higher acceleration can be applyed when starting to move from this position. Changing the mass or length of the linkages (these will be parameters of the static model) will change the required torque.

  1. Dynamic case:

The dynamic analysis studies the relationship between torques and motion. It includes already the static analyssi (teh case with no motion). The recursive Newton-Euler method can help you write the equations of the dynamic model. As before, you should identify a worst case pose (or more worst case poses for each joint, also including the maximum design payload). This is not straight forward since the worst case pose will be also dependent on the linkage lengths, masses and on the velocities and acceleration (which will be dependent on the load that the motors have). So it will be a trial and error iterative process. Depending on how far you want to go with the math, you can also write a search algorithm which finds the worst case pose. After finding the maximum required torque for each joint, you have to compare this with the maximum available mechanical torque in the joint (after losses). Safety margins should also be considered.

The above mentioned two cases, static and dynamic models do not neceserily have to be written by hand. There are tools available (both commercial and free) which can simulte the dyanmics based on the structure you implement. On very powerful tool is the Matlab Multibody toolbox (aka SimMechanics) (highly expensive). Free tools for this task are Gazebo or Webots. You can find a more comprehensive list here.

  • 1
    $\begingroup$ Depending on the application, there might be a additional load at the end of the arm. Also, there should be some safety margin, and a margin for the controller, etc. Don't just take the worst case scenario and use its results as-is. $\endgroup$ Oct 21, 2016 at 11:01
  • $\begingroup$ Valid point! I have updated the answer. Thanks! $\endgroup$
    – 50k4
    Oct 21, 2016 at 11:12

Your Answer

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

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