By Tolerance Labs engineering team · Updated
An arm joint has to hold everything beyond it against gravity, and accelerate it. This guide sizes the joints of a small arm from those two terms, then picks reducers and brakes.
The worst case: arm stretched out horizontally
Gravity torque at a joint is the weight of each mass beyond it times its horizontal distance from the joint axis. That distance is largest when the arm points straight out, so the horizontal full-reach pose sets the static torque for every pitch joint.
The shoulder carries the most: every mass in the arm sits beyond it, each at its longest distance. A mass at the wrist acts on the elbow through the forearm length, but on the shoulder through the whole reach, and it costs even more in acceleration, because inertia grows with distance squared.
The base yaw joint is a special case. With a vertical axis it carries no gravity torque, but it sees the full inertia of the outstretched arm when it turns. Size it for acceleration, not holding.
Worked example: static torque at the shoulder
Take a two-link arm with a 0.40 m upper arm and a 0.35 m forearm, for a reach of 0.75 m. It carries a 2.0 kg payload at the tip, counting the gripper. Distances are measured from the shoulder axis with the arm horizontal.
| Item | Mass (kg) | Distance from shoulder (m) | Torque, m × 9.81 × d (N·m) |
|---|---|---|---|
| Upper arm link | 1.2 | 0.20 (midpoint) | 1.2 × 9.81 × 0.20 ≈ 2.4 |
| Elbow actuator | 0.8 | 0.40 | 0.8 × 9.81 × 0.40 ≈ 3.1 |
| Forearm link | 0.8 | 0.575 (midpoint) | 0.8 × 9.81 × 0.575 ≈ 4.5 |
| Wrist actuators | 0.6 | 0.75 | 0.6 × 9.81 × 0.75 ≈ 4.4 |
| Payload | 2.0 | 0.75 | 2.0 × 9.81 × 0.75 ≈ 14.7 |
| Total | 5.4 | ≈ 29.1 |
The payload is only about half of the shoulder torque, 14.7 of 29.1 N·m. Each extra kilogram at the wrist costs 9.81 × 0.75 ≈ 7.4 N·m at the shoulder.
The elbow sees only the masses beyond it, at shorter distances: forearm 0.8 × 9.81 × 0.175 ≈ 1.37, wrist 0.6 × 9.81 × 0.35 ≈ 2.06 and payload 2.0 × 9.81 × 0.35 ≈ 6.87, for about 10.3 N·m. That is about a third of the shoulder figure.
Adding acceleration torque
To start or stop a move, the joint also needs torque equal to the inertia about its axis times the angular acceleration: T = J × α. Treating each mass as a point at its distance, J = Σ m × d².
- Upper arm: 1.2 × 0.20² = 0.048 kg·m².
- Elbow actuator: 0.8 × 0.40² = 0.128 kg·m².
- Forearm: 0.8 × 0.575² ≈ 0.265 kg·m².
- Wrist: 0.6 × 0.75² ≈ 0.338 kg·m².
- Payload: 2.0 × 0.75² = 1.125 kg·m².
- Total: about 1.90 kg·m².
Treating the links as slender rods adds m × L² ÷ 12 for each: 1.2 × 0.40² ÷ 12 = 0.016 and 0.8 × 0.35² ÷ 12 ≈ 0.008 kg·m², about 1% more. The point-mass figure is close enough here.
The joint’s own motor adds more. Rotor inertia reflects to the output multiplied by the ratio squared. Assume a rotor of 0.5 × 10⁻⁴ kg·m² behind a 100:1 harmonic drive: 0.5 × 10⁻⁴ × 100² = 0.50 kg·m², about a quarter of the whole arm. At high ratios, the motor’s own rotor is a large part of what the joint has to accelerate.
Now the move. Swing the shoulder 90° in 1.0 s with a triangular speed profile: accelerate for 0.5 s through 45° (π/4 ≈ 0.785 rad), then brake. From θ = ½ α t², α = 2θ ÷ t² = 2 × 0.785 ÷ 0.5² ≈ 6.28 rad/s². Peak speed is 6.28 × 0.5 ≈ 3.14 rad/s, which is 30 rpm at the joint and 3,000 rpm at the motor.
- Acceleration torque: (1.90 + 0.50) × 6.28 ≈ 15.1 N·m.
- Peak at the shoulder, accelerating upward from horizontal: 29.1 + 15.1 ≈ 44.2 N·m.
- Continuous: if the arm may hold a full-reach pose for long periods, the rated torque must cover 29.1 N·m. With a 30% margin, 29.1 × 1.3 ≈ 38 N·m.
Speed-dependent coupling terms are small at these speeds and are left out; for fast arms, run the full dynamics from your CAD model. For duty cycles that mix holds and moves, size the continuous rating from RMS torque, as in how to size a robot joint motor.
Choosing reducers per joint
Arms hold poses, need precision at the tool and must be slim. That favors high ratios. Lost motion at the base also multiplies out to the tool: 1 arcmin at the shoulder moves a point 0.75 m away by about 0.22 mm (0.75 m × 0.00029 rad). See backlash and torsional stiffness.
| Joint | What loads it | Typical reducer and ratio | Notes |
|---|---|---|---|
| Base yaw | Inertia of the outstretched arm; little gravity torque | Harmonic or cycloidal, about 50:1 to 100:1 | A hollow shaft helps route cables into the arm |
| Shoulder pitch | Highest gravity and inertia torque | Harmonic, or cycloidal on larger arms, about 80:1 to 160:1 | Brake usually needed; the largest module in the arm |
| Elbow | Forearm, wrist and payload | Harmonic, about 50:1 to 120:1 | Brake usually needed; its own mass loads the shoulder |
| Wrist, 2 or 3 axes | Payload on a short lever | Small harmonic, about 50:1 to 100:1 | Keep mass low; hollow shaft for tool cables |
Check speed at each ratio. The example’s 30 rpm shoulder needs 3,000 rpm at the motor at 100:1, and 4,800 rpm at 160:1. Confirm the motor reaches that speed under load at your bus voltage.
Low-ratio, backdrivable joints suit arms that need force control from motor current, at the cost of a larger motor and holding current. The trade-offs are in QDD vs high-ratio joints and harmonic vs planetary vs cycloidal reducers. To keep cables inside the arm, see hollow-shaft joints and cable routing.
Brakes for power-off holding
A harmonic drive is not self-locking, so an arm sags or falls when power drops unless something holds it. A spring-applied brake engages when its coil loses power. Shoulders and elbows of arms that carry payloads almost always need one.
A brake on the motor side holds the output torque divided by the ratio. For the example shoulder at 100:1, holding 29.1 N·m needs about 29.1 ÷ 100 ≈ 0.29 N·m at the motor shaft, ignoring gearbox friction, which helps when holding. A brake rated at twice that, 0.6 N·m or more, leaves margin for overloads and wear. The gearbox still carries the full holding torque.
- Use the brake’s rated static torque, not its dynamic torque, for holding.
- Check engage time, since the arm drops a little before the brake bites.
- Plan a manual release for moving the arm by hand after a fault.
More detail is in brakes for robot joints.
Using the joint torque calculator
The joint torque calculator has an arm mode that runs these steps for one joint. You enter the payload and its distance, the mass of the arm beyond the joint and its center of mass, an angular acceleration and a margin. It returns gravity torque, J·α, and suggested peak and rated torque.
For a shoulder, lump the arm’s own masses into one. In the example, the arm beyond the shoulder weighs 1.2 + 0.8 + 0.8 + 0.6 = 3.4 kg. Its first moment is 1.2 × 0.20 + 0.8 × 0.40 + 0.8 × 0.575 + 0.6 × 0.75 = 0.24 + 0.32 + 0.46 + 0.45 = 1.47 kg·m, so its center of mass is 1.47 ÷ 3.4 ≈ 0.43 m from the shoulder.
Gravity torque comes out right. Inertia does not: one lump at 0.43 m gives 3.4 × 0.43² ≈ 0.63 kg·m², against 0.78 kg·m² for the spread-out masses. The calculator also leaves out reflected rotor inertia. Add both to the acceleration torque by hand, or raise the acceleration you enter in proportion. Then repeat for the elbow and each wrist axis with the masses beyond that joint.
Checklist
- Sketch the arm at full horizontal reach and list every mass beyond each joint with its distance.
- Sum m × 9.81 × d for static torque, joint by joint, starting at the tip.
- Sum m × d² for inertia, add rotor inertia times ratio squared, and multiply by the angular acceleration of the fastest move.
- Peak torque covers static plus acceleration; continuous torque covers long holds or the RMS of the duty cycle, with margin.
- Check motor speed at the chosen ratio against the bus voltage.
- Fit brakes on joints that must hold the arm without power.
- Cut distal mass first: every kilogram at the wrist saves torque at every joint below it.
Browse robot arm and cobot joints, harmonic joint modules and motor brakes, or see complete robot arms.
More guides
Not sure what fits? Tell us what you're building.
We procure every part of the robot. Send a sentence or a BOM and we come back with options and a landed quote.
Send a request