Selecting and Sizing Your Motor (and gear boxes)

by on March 31, 2014

motor planetary and harmonic gears

Hi all
Selecting a motor is a critical task when designing a robot. In a prior post we discussed the different types of motors and feedback options as well as how to control those motors. In this post we will focus on how to size your motor and select the proper gearing.

In the main image above. There is a planetary and harmonic gear on the left with a coupling to connect the two. The right image is a brushless motor with a resolver on the back (where the wires are coming from).

First Step

The first step in selecting a motor is to determine its operating conditions and the maximum conditions that the motor will see.

Robot/Actuated Mass
We need to know the mass of the load/rover in order to determine the torque for motor selection. Getting a mass estimate (or even better an actual mass) is critical for choosing a motor. If you are designing based on a mass estimate you should apply a good margin for mass bloating. You can look at the Torque Constant from the motor data sheet to figure out how much torque you will go per amp.

After determining how much force/torque you need, the next step is to determine the speed that the wheel needs to turn. At first you should determine the desired speed of the wheel (ie final output), and then you can start choosing motors and gearing afterwards.

Form Factor
After you know the basic performance characteristics of the motor you need, the next step is to make sure the motor stack (encoder + break + motor + gearing) fit in your robot and can be packaged cleanly in your robot.

What operating voltage can you use for powering the motor. Typically the higher the voltage the higher the speed of the motor. You can look at the Voltage Constant from the motor data sheet to figure out how fast you will go per volt.

This is often not an issue, but if your motor is being enclosed then you want to make sure it does not overheat. You also need to worry about the temperature range for gear box lubrication (see below for more information).

Cost. Need I say more.
Actually I will say more. It can sometimes be tempting to build gear boxes from scratch since it is cheaper. However if you take the time to design, assemble, and test the new gear it is often cheaper to just purchase the gear box. You also get added reliability when you purchase a gearbox from a reputable company.

Precision and Accuracy
How much slop can you afford in your gearing? Often in wheel motors you can handle a little less precision and accuracy. However in a robotic arm or instrument you often need low backlash systems that are precise and accurate.

Wheel Diameter
This last one is important for determining the required torque for a drive motor. We will see more about this in the next section. Remember that the larger the wheel the more you will travel in each wheel rotation.

Determine Torque Required

In general it is easiest to determine the output torque required and work backwards to find your motor and gearing. I am ignoring inertia which might help limit torque required in some cases. It is good to ignore inertia (in many cases) to be conservative. In just about all cases you should add a factor of safety above and beyond what you compute.

To determine the required torque for your robot there are several schools of thought. The first is “Red’s rule” that says that each wheels rim pull (how much the wheel can pull) should be enough to pull the entire robot. While this has the potential of letting a robot operate if some actuators fail (or are slipping) it also might have the ability to rip the robot apart if each wheel is pulling in a different direction. The other problem with this approach is that even if your motors could exert that much torque there if often not enough friction to allow the wheels to gain traction and work.

The second approach is to design the robot with enough torque to climb a wall. This simulates climbing the most extreme slope and/or step obstacle with less possible danger to the robot and without going completely overboard and over designing the mobility system. Maybe assume numberOfWheels=numberOfWheels/2

The general case for computing torque per wheel required for a robot is:

 T=\frac{acceleration + gravity * sin(slopeAngle) * mass * wheelRadius}{numberOfWheels} * efficiency * factorOfSafety

To get holding torque per wheel on a flat surface this simplifies to:

 T=\frac{mass * wheelRadius}{numberOfWheels} * efficiency * factorOfSafety

If you are following Red’s rule then you would not divide by the number of wheels.

Another aspect is not just climbing a slope, but driving over a step obstacle. To compute that you can conservatively simplify the problem by solving for the moment where the obstacle intersects the wheel of the robot. If you want to simulate climbing a wall you can set the obstacle interception to the wheel radius.

 T=\frac{mass * wheelObstacleInterception}{numberOfWheels} * efficiency * factorOfSafety

Motor Wheel Obstacle Torque

You need to choose if you want to use the slope method or the step obstacle method based on your system. For a field robot I would look at slope and holding torque on flat surface. For an indoor robot you might be able to consider smaller obstacles and use the wheel intercept thing above.

Torque Speed Curves (and Power)

motor speed torque

Sample curves showing good, middle, and bad curves for a motor. In the best curve it can maintain torque over a wide speed, with a drop-off at the end of the range. Whereas in the bad motor the torque decreases dramatically with speed, providing a high holding torque but poor torque performance when spinning.

Once you know the torque that is required you can start looking at the torque speed curves that are in the motors data sheet. In order to choose a motor and a corresponding gearbox you can start to build a matrix of the different options in order to meet the required torque and speeds. It is a good idea to generate torque speed curves for each of the final options.

To generate the new/final torque speed curves use  FinalTorque= torqueMotor * gearRatio * gearEfficiency

Each gear type has a different efficiency that can change with speed.

To determine motor power (since some motor controllers are rated in output power) you find the point on the torque speed curve that you are operating at and that is your power point. So Power = Torque * Speed.


There are three types of gearing that are common in robots.
Harmonic Drives
– 60-80% efficiency
– Low backlash
– Good for low-speed, high torque applications
– High gear reduction for its size
– Bad for shock loading
– Typical vendor is: Harmonic Drive

Planetary Drives
– Efficiency better than harmonics, can be over 90% in some cases
– Cheaper cost then other gearing options
– Low gear reduction per size
– Good for high-speed, low torque applications

Cycloidal Drives
– Larger form factor
– Good for handling shock and vibration
– High gear reduction for its size
– Efficiency can be around 80%
– Typical vendor is: Nabtesco

In many cases there are multiple types of gearing used within a single system. For example with harmonic drives that have a slow input speed, it is common to put a planetary drive stage between it and the motor to reduce the overall input speed.


There are two primary types of lubrication used in gear boxes, and here they are:

– Easy, default option
– Might limit the speed of the motor
– Set & Forget – you do not need to refill the grease
– Can keep the dirt out of the gear box (it should be sealed and not necessary)

– Levels must be checked and refilled from time to time
– Higher speed possible
– reduced efficiency compared to grease.

With all of these type of options it is good to talk to the manufacturer to get their advice. There are also many different types of grease that can be used to get different properties (such as thermal).


– Make sure the motor to gear box coupling can handle some small run-out (eccentricity) in the motor shaft.

– Think how to transfer torque from the motor stack to the wheel. For example a motor might just have a single shaft, while a harmonic drive has a circular plate with multiple bolt locations

– Check the fasteners that connect the motor stack to the wheel. Many times people will choose fasteners that are not strong enough for the torque that is being transferred.

– Make sure your motor has a rear shaft if you are trying to put a brake or encoder/resolver on the motor. If you are trying to put both an encoder and brake talk to the manufacturer about your options. Don’t make assumptions.

Here is a datasheet from Maxon. You will notice that there are many motor models, each with slightly different specs. There is also a speed-torque graph (axis are opposite of my chart above).

I would like to thank2 Alex Long for the help in creating this post.

I also found an interesting motor selection tutorial from Maxon.

Liked it? Take a second to support David Kohanbash on Patreon!


Firstly, thanks for such descriptive and informative post. Especially, the MAXCON motor tool-link is really helpful.
Precisely, I am looking for such kind of tool or any kind of data sources (Books, websites, articles) for Robotic (six axis industrial robot) and Rotary table applications which should have explanatory description with examples as in Maxcon-Tool.
I need this information for my master project.
I would be glad, if anyone suggest me the requested sources.
Thanks in advance

Leave a Reply