FixTheRobot Explore Robotics / Systems Engineering / Design & Selection / Module 03

Design & Selection · Module 03

Selecting a gearbox: planetary, harmonic, cycloidal

The ratio has a window: high enough to give the torque, low enough to reach the speed. Then check backlash, stiffness and back-drivability.

  • Intermediate
  • Module 03: Actuators, Motors, Electrical & Power Integration
  • Written for ROS 2 Jazzy where ROS 2 is used
  • Sources checked 2026-11-05

Assumptions: Numbers in the examples are illustrative and the code is executed by the site’s tests. Type and characteristic summaries are general engineering knowledge; always confirm values on the datasheet of the part you use.

1. Engineering problem

A motor is efficient at high speed and low torque; a robot wheel or joint needs the opposite. The gearbox converts one into the other. The right ratio is a window, and the gearbox type decides backlash, stiffness, efficiency and whether the output can be back-driven.

2. When is this needed?

  • After motor torque and speed are known.
  • When choosing between a direct drive and a geared drive.
  • When a joint is too soft, has play or cannot be back-driven safely.

3. Selection and design decisions

General characteristics (confirm on the datasheet of the specific gearbox):

Overview
TypeStrengthsWeaknesses
PlanetaryEfficient, compact, widely available, moderate backlashBacklash grows with ratio per stage; noise
Harmonic (strain wave)Very low backlash, high ratio in one stage, compactFlexible element: torsional compliance and fatigue limits, lower efficiency at high ratio
CycloidalHigh stiffness and shock tolerance, low backlashHeavier, more complex, vibration from eccentric motion
Spur or wormSimple (spur); self-locking possible (worm)Backlash, lower efficiency (worm)

4. Advantages and disadvantages

  • Backlash vs cost: low-backlash gearboxes cost more.
  • Back-drivability vs holding: a low-ratio planetary can be back-driven (good for compliant arms), a worm drive holds a load without power.
  • Ratio vs inertia: reflected load inertia falls with the square of the ratio.

5. Requirements and constraints

  • Ratio ≥ required torque ÷ motor continuous torque (ignoring efficiency here).
  • Ratio ≤ motor maximum speed ÷ required output speed.
  • Gearbox rated torque and peak torque exceed the load and shock cases.
  • Efficiency reduces the torque at the output; use the datasheet value.

6. Architecture

motor (high speed, low torque) ─▶ gearbox (ratio i) ─▶ output (speed ÷ i, torque × i × efficiency)
reflected inertia seen by the motor: J_load / i²

7. Implementation

  1. Compute the required output speed (from the wheel radius and speed, or the joint speed) and the required output torque.
  2. Compute the ratio window: the lower bound from torque, the upper bound from speed.
  3. Compute the inertia-matching ratio √(Jload / Jmotor) as a reference (many servo systems aim near it for the fastest response).
  4. Choose the ratio inside the window as close to the inertia-matching value as is practical.
  5. Check the datasheet’s backlash, stiffness, efficiency and rated torque.
import math
def gear(motor_rpm_max, wheel_v, wheel_r, t_load, t_motor_cont, j_load, j_motor):
    w_wheel = wheel_v / wheel_r
    i_speed = motor_rpm_max * 2 * math.pi / 60 / w_wheel
    i_torque = t_load / t_motor_cont
    i_match = math.sqrt(j_load / j_motor)
    return i_speed, i_torque, i_match
i_speed, i_torque, i_match = gear(3000, 1.0, 0.1, 4.0, 0.2, 0.05, 2e-5)
print(f"max ratio from speed {i_speed:.1f}, min ratio from torque {i_torque:.1f}, inertia-matching ratio {i_match:.1f}")
print("feasible range:", "yes" if i_torque <= i_speed else "no", f"({i_torque:.1f} to {i_speed:.1f})")

Printed (checked by the site’s tests):

max ratio from speed 31.4, min ratio from torque 20.0, inertia-matching ratio 50.0
feasible range: yes (20.0 to 31.4)

Reading it: the speed limit allows ratios up to 31.4 and the torque need requires at least 20, so a ratio between 20 and 31 works. The inertia-matching ratio (50) is outside the window, so the best-response ratio is not reachable with this motor and the motor is smaller than the ideal: accept the slower response, or use a motor with more inertia or torque. Numbers are illustrative and ignore gearbox efficiency.

8. Real examples

  • AMR drive: a planetary gearbox of about 20–30:1 on a BLDC motor driving a 0.1 m radius wheel.
  • Robot arm joint: a harmonic drive for low backlash and compact size.
  • Heavy shock load joint: a cycloidal reducer.

9. Failure scenarios

  • A ratio selected for torque only, so the motor reaches its speed limit before the target velocity.
  • A harmonic drive used for continuous high-speed rotation beyond its rating.
  • Back-drivability assumed with a high-ratio drive, which then cannot be pushed by hand or absorbs impacts.

10. Troubleshooting

  1. If the robot cannot reach speed, check the back-EMF headroom and the ratio upper bound.
  2. If a joint has play, measure backlash at the output and compare with the datasheet.
  3. If the gearbox heats up, check efficiency and the continuous-torque rating.

11. Validation

  • The example prints the values above (executed by the site tests).
  • The chosen ratio lies in the window with margin.
  • Datasheet backlash and stiffness meet the position requirement.

12. Engineering checklist

13. Further references

  • Datasheets of the specific planetary, harmonic or cycloidal gearbox. The characteristics above are general engineering knowledge, not drawn from one cited source.

Related on FixTheRobot