Help on robot torque math

Hi everyone,

I’m working to creae a robotic arm but am a little confused on the physics/math. I’m starting to put together some pieces but I’ll need to know (and yes I have checked out the torque calculator here, just looking for some more explanation) the torque for the servos/steppers I’ll be using.

If we agree that the largest amount of stall torque will occur when the arm is at 0 or 180 degrees, how come this doesn’t work with the torque formula T = Fr sin(theta). Theta will of course be 0 here so torque will be 0. So then I thought to myself, “OK, you know the weight the arm must support to be in equillibrium.” If the force of the arm is 10N downwards (mg) for easy numbers, the motor must exhibit 10N of upwards force in the opposite direction , yes?

So if I look at a motor rating with oz/in, the 10N of force is not a torque unit, rather netwon meter (Nm) is, so where am I getting lost in the conversion process?

Thank you so much in advance for your help!

Torque is not force. They are two different things.
The easiest way to understand torque is to think of it in reverse from when we are building a robot. We normally build a robot and consider the torque from the motor being applied to a wheel or a lever (arm.) But instead, think of it as a wrench being used on a bolt. Torque is force applied some distance away from a rotating point. The amount of torque is the amount of force mulitipled by the distance: T = F * D. If we use a wrench that is 1/2 meter long and apply 50 N of force, the torque is 1/2 m * 50N = 25 Nm. Now if you want to find the torque required to hold a weight (weight is Force) steady you can use that same equation. T = F * D.
a simple diagram:

Weight -------ARM------------------O
_____________________________/\ rotation point
If the weight is 20 N and the length of the arm is 2 m, the torque applied by the weight is
T = 20N * 2m = 40 Nm: when the arm is completely horizontal, which is the worst case.
A motor/servo of 40Nm would be required to hold it steady. More needed to actually lift it.
As it moves from horizontal the force (weight) has to be broken into horizontal and vertical “components” which is what the F sin (theta) is all about. If we assign 0 degrees as horizontal, then the vertical component will be F (weight) * cos (theta) because cosine is 1 at 0 degrees. It will approach 0 as the arm gets closer to vertical (90 or 270 degrees).
To apply this in reverse, given a motor with a specified torque, you work backwards:
F = T/D
Say we have a motor with 2Nm of torque and we attach it to an arm that is 1/2 m long:
F = 2Nm/ (1/2m) = 4 N
The arm could hold a 4N weight steady at horizontal. It could lift a lighter weight. The lighter it is the faster it could lift it (F = mA, which is whole other question.)

You are the man, great explanation, much appreciated :slight_smile: :slight_smile:

Some of the confusion is how you are assigning 0 degrees. It can be assigned anywhere you like, as long as you adjust the equations to match. You confused the equation for torque with the wrong assignment of 0 degrees. To use T = F * r * sin(theta) 0 degrees would have to be at top or bottom, not straight out to one side. The direction you rotate matters too.

1 Like

Glad that helped.