Robot Arm Torque Tutorial

Dear Sir,
How do I calculate Rated Torque for servo motor selection for 3 Link Robotic Arm mechanism ? We able to find Stall Torque by your method but we required Rated Torque. Please provide the necessary formulas.

I am able to find Stall Torque by your method but we required Rated Torque. How do I calculate Rated Torque for servo motor selection for 3 Link Robotic Arm mechanism ? Please give the solution of the same.

@Harshal Pawar For safety, the torque calculated here should be the rated (not stall) torque. This helps take into account inertia which is not factored into the equations. You can estimate stall as 3x the rated torque (napkin math).

@Chinmay Nate See reply to Harshal Pawar

@Coleman Benson can u send me the formula of T3, T4, T5 and T6 ?

@Raja K It uses the same principle of torque. If you understand the first one, youā€™ll be able to create your own, and even more complex. You can see the equations used on the page by pressing F12 (inspection mode) and look up ā€œDTArmCalculate()ā€ here: https://www.robotshop.com/blog/en/robot-arm-torque-calculator-9712

Hello,Coleman Benson sir can you send me some journal and research paper to related robotic arm?

@sourabh madan Unfortunately we do not have any on hand to send. Currently working on a blog post about inverse kinematics and torque for a 4DoF robot arm.

@Coleman Benson Hi, I just want to clarify about the Robot Arm Torque Calculator. While I am reading the comments/questions here I see this answer by you.

ā€œ@Harshal Pawar For safety, the torque calculated here should be the rated (not stall) torque. This helps take into account inertia which is not factored into the equations. You can estimate stall as 3x the rated torque (napkin math).ā€

I just want to ask if I am right that the torque calculated in the Robot Arm Torque Calculator is the Stall Torque by using this formula:
T1 = L1*A1 + ((1/2)L1W1) (just copying the above formula of yours) which is also the Holding Torque or the Static Torque? Am I right with this one?
Then the torque calculated here that you mention is the Rated torque which uses this formula:
T=T(holding) +T(motion), am I right?
I am just confused. So if I want to calculate the required torque to accelerate the weight I canā€™t use the Robot Arm Torque Calculator? instead I will use the formula for rated torque which is written at the end your post. Am I right?
Thank you.

@Eugene Agustin Correct. The formula in the tool do not consider angular acceleration, largely because the user would be required to know the moment of inertial for each segment. The torque calculated by the tool is therefore the ā€œholdingā€ torque in static conditions, whereas you need dynamic torque. You can use the tool to get basic values for the worst case static condition max load at full extension) and knowing your arm design and moments of inertia, factor in the acceleration you want.

Hello
I am trying to do dynamic analysis of robot arm . the problem is How I can represent the moment of inertia of the mass hold by the end-effector .

@Hazim Nasir The moment of inertia calculations will depend on the design of the arm, materials chosen etc. Itā€™s almost impossible without going deeper into the design itself. This is why dynamic calculations were omitted from this tutorial. You might try a multiplication factor to try to ensure each joint can resist / overcome inertia.

Hi @cbenson. First off, thanks for this article.

Your response in this post (Sum of moments) is quite close to what Iā€™ve been looking through the forum for (as is this article itself). I wonder if you could expand a bit more to help me out with something.

Without getting too entrenched in the details: basically, Iā€™m looking to ascertain the inertia of an arm at full extension, so I can find the torque required of a motor to move it at the acceleration I want. From T=I*alpha I know I need to find the value of I to do this.

From what I understand, for each mass I apply I=mr^2 (as though they are point masses, or simple pendulums; I = mr^2 is applied individually to each joint and the load). Iā€™m looking to find the overall inertia including the arm. The arm Iā€™m working with is cylindrical in cross-section rotated around one end. For such a shape I = 1/3ML^2, so would I simply add this to the inertia for each mass? Meaning, in full, the equation for my 3 link robot arm at max. extension would be something like:

I = 1/3ML^2 + SUM mr^2 for each separate mass

Where M = mass(link1) + mass(link2) + mass(link3) = summed mass of all links
and L = length(link1) + length(link2) + length(link3) = summed length of all links

Thanks for any input you can provide!

Like you said, the sum of the torque equals the (sum of) moments of inertia multiplied by the angular acceleration. Keep in mind the moment of inertia of a point is different when itā€™s at a distance from the axis of rotation (where youā€™re taking the torque). You need to factor in whatever you can into the inertia. each with respect to the axis of rotation, and determine the angular acceleration, which then gives you the torque needed in the base. This of course assumes the arm is horizontal rather than vertical (like on a human). Like you said, without going into the details, just ensure the moment of inertia properly represent your setup (quite a bit of documentation online for different shapes and their moments.)

@cbenson All sounds good. Thanks for taking the time to reply - much appreciated.

Hi, thanks very much for this tutorial ā€“ extremely helpful. Iā€™m designing a final arm segment joint (the one that rotates the end effector) to be implemented with an RC style servo which allows attachment of a C clamp across the servo body (as you recommended here: Building robotic arm with servos, attaching joints to horn?). The arm segment will be ~20cm long, < 600g total with center of mass ~3/4 towards the end effector. No loads. It will sweep back and forth in the x-y (horizontal) plane.

What Iā€™m concerned about is the downward z-axis force/torque due to gravity putting extra wear on the servo.

Is there any rough rule of thumb that says if you spec a servo with torque rating equal to say double (or 5x, or ?) the torque that would be required to rotate/lift the arm in the z-plane, that it should be robust enough to withstand this perpendicular force without significantly impacting its service life? Thanks!

@Robo_Matt To confirm, youā€™re worried about the axial load on the servoā€™s output shaft (i.e. the direction which would otherwise remove the servoā€™s horn)? Unfortunately most RC servos are either supported along the z-axis using plastic, plastic ball bearings or metal radial ball bearings. Ideally they would use thrust bearings, which are considerably more expensive. If you know which servo youā€™re interested in, try reaching out to the manufacturer to see if they have any data regarding axial load. If unfortunately I did not understand your question, can you create a new forum post and include drawings so I can better understand?

1 Like

Thanks for your help cbenson! As suggested Iā€™ve created a new forum post:

( Perpendicular Gravity Torque on Horizontal Rotating Arm Servo)

1 Like

Hello,

can anyone provide some insight on the following.

when some of joints are required to hold its position, the resulting velocity and acceleration will be zero:

How is the controller model estimating the required torque to hold the position?

It would be really helpful, if you can provide some mathematical explanation regarding this.

@aashish05 Welcome to the RobotShop Community. The equations used here are purely static situations (as you describe) and donā€™t factor in acceleration or deceleration. It calculates a ā€œworst caseā€ torque at each joint where the arm is horizontal, holding a load at full reach. However, the actual ā€œworst caseā€ would be each joint accelerating upward at full reach / extension.

Calculating dynamic torque at each joint is harder given that you need values of inertia, whereas this calculator is intended to be a ā€œstarting estimateā€ for the torque needed at each joint.