This article reviews the process used to identify the motor used in the GARP Alpha development stage. Primarily intended to support GARP integration and requirements refinement, design assumptions and speed and torque performance parameters are estimated based on two threshold and objective use cases. Adjacent factors such as encoder resolution, driver/ESC availability, and mounting are discussed. Finally a subset of available motors is presented and the ES Motors 42PG-4260BL with 25:1 planetary gear is selected for use in the GARP’s Alpha development stage.
GARP Article Series
The Ground Autonomy Research Platform (GARP) is a home-grown UGV designed and built to support independent learning of robotics and autonomy through a full stack from hardware to behavioral autonomy and HMI. To document the implementation of GARP, I’m capturing the process in a series of articles that I’ll link here as they’re completed:
GARP Article Map
- Motivations and Design of a UGV for Robotics Research
- GARP Power Subsystem
- Design
- Alpha Implementation
- GARP Mobility Subsystem
- Motor Selection
- Subsystem Design
- Motor Controller
- C&DH
- Design
- Alpha Implementation
- GARP E-Stop
- Design
- Alpha Implementation
Requirements and Constraints
I don’t have any hard-and-fast performance requirements for the GARP, so I’ll take an iterative motor selection strategy for GARP. I’ll aim for an initial motor selection with emphasis on ease, integrate it, and then use the resultant performance of the integrated platform to help refine requirements and select a more capable motor. That said, I’ll want to select a cheaper motor initially as (1) I’m buying four, and (2) I expect to trade them out for another model in the future.
To make the initial motor selection, I’ll make a few basic assumptions about the design of GARP and draw up some rough estimates of the motor specifications needed. This will help seed the search (and will likely provide a comical review once the GARP is integrated and rolling.) The starting list of assumptions are:
- GARP will use a wheel with diameter of 6″ (152.4 mm)
- GARP will use one motor per wheel (i.e. no differentials, etc.)
- GARP will weigh 50 lbs (23 kg)
- GARP will have a ground speed threshold of 1 m/s (2.2 MPH) and an objective speed of 2 m/s (4.5 MPH); This puts GARP between a Clearpath Jackal and Husky
- GARP will have a target acceleration of 1 m/s2 (i.e. will reach maximum speed in 1-2 seconds)
Furthermore, I’ll neglect loss of traction, and assume no losses in the drive train.
Torque
To arrive at a torque target, I’ll need to make some further assumptions about the use cases of the GARP. To make things easy at this initial motor selection, as a threshold use case, I’ll assume GARP is operating in grass with a rolling friction factor of 0.15, and on level terrain. For an objective use case, I’ll have GARP push a reel mower (because adding rapidly spinning blades to the front of a robot really ups the stakes.) Beginning with the threshold case, this means that the body-centered force required to move the GARP is 33.4 N:
![]()
This is 8.3 N per wheel and with 6″ wheels, is 0.64 Nm of torque per wheel:
![]()
For the accelerating case, the force required to accelerate the GARP at 1 m/s2 is 23 N, or 5.8 N per wheel, and an additional 0.43 Nm of torque per wheel (assuming the rolling friction is independent of velocity and acceleration):
![]()
Summing these values places the estimated required torque per wheel at 1.1 Nm.
For the objective case of GARP pushing a reel mower, assume the coefficient of rolling friction for the reel mower is twice that of the GARP (i.e. 0.3), and that the weight of the reel mower is 52 lbs. This weight is from the Fiskars Staysharp 18″ Reel Mower (but the doubled rolling friction is entirely arbitrary). In this case the static torque required per wheel is 1.96 Nm (an additional 1.3 Nm), the dynamic torque is 0.88 Nm (+0.45 Nm), and the total torque required per wheel is 2.8 Nm (+1.8 Nm).
In summary, the torque required per wheel for the constant velocity and accelerating cases is:
| Constant Velocity | Accelerating | Total | |
| Threshold (GARP only) | 0.64 Nm | 0.43 Nm | 1.1 Nm |
| Objective (GARP and Reel Mower) | 2.0 Nm | 0.88 Nm | 2.8 Nm |
Speed
Assuming the GARP has a wheel diameter of 6″, the circumference becomes 0.48 meters or inversely 2.1 revolutions per meter, and the threshold and objective wheel rotational speeds (1 and 2 m/s, respectively) in revolutions per second become 2.1 and 4.2 RPS:
![]()
![]()
In summary:
| Threshold (1 m/s) | Objective (2 m/s) | |
| Rotational Velocity | 2.1 RPS | 4.2 RPS |
Mounting
While not a performance requirement, mounting of the selected motor will need to be considered. A matched mounting option is desirable, but is secondary to other considerations, and the introduction of pillow blocks is expected.
Electrical Characteristics
When selecting a motor, several electrical characteristics will need to be considered. The motor assembly will need to include an encoder and a driver or electronic speed control (ESC) so when selecting a motor, a motor driver will need to be identified as well. I expect to make the motor controller as a learning experience, so a matched/OEM motor controller isn’t necessary.
The motors are expected to dominate the GARP’s power budget (with the possible exception of the Perception Subsystem that will likely include a GPU); To support the power budget calculations and Power Subsystem design, we can calculate the power and currents consumed by the motors at various voltage levels. A rough estimate of the power for the motor can be estimated as:
![]()
which for the threshold and objective cases become:
![]()
![]()
The size (and cost) of the power converters used to produce the GARP’s motor voltage rail is expected to scale with the current drawn from the converters. To understand the magnitudes of current draw (neglecting conversion efficiencies) the threshold and objective powers become:
| @48 V | @24 V | @12 V | |
| Threshold (4 x 14 W) | 1.2 A | 2.4 A | 4.8 A |
| Objective (4 x 74 W) | 6.1 A | 12 A | 25 A |
Encoder
The motor assembly will need to include an encoder (1) to support speed control, and (2) to drive odometry feedback. In general, higher numbers of encoder ticks per motor output shaft revolution are desired. Its assumed that encoders with resolutions high enough to out-pace a simple microcontroller used to implement the motor controller will be too expensive for the initial motor selection. To get a rough estimate of the resolutions needed (at least for the motor controller speed control), consider the maximum PID controller rate and number of resolvable velocities as a function of encoder counts per revolution. The max PID controller rate is determined as the rate at which a single encoder tick arrives per loop while the motor is spinning at its maximum velocity. The number of resolvable velocities is determined as the number of encoder ticks arriving per PID loop at the motor’s maximum speed:
| Encoder CPR | Max Motor Speed | Max PID Rate | # of Speeds |
| 60 CPR | 125 RPM (Threshold) | 12.5 Hz | 10 |
| 60 CPR | 251 RPM (Objective) | 25.1 Hz | 10 |
| 60 CPR | 125 RPM | 20 Hz | 6 |
| 60 CPR | 251 RPM | 20 Hz | 12 |
| 120 CPR | 125 RPM | 25.1 Hz | 10 |
| 120 CPR | 251 RPM | 50.1 Hz | 10 |
| 120 CPR | 125 RPM | 20 Hz | 12 |
| 120 CPR | 251 RPM | 20 Hz | 25 |
| 360 CPR | 125 RPM | 75.2 Hz | 10 |
| 360 CPR | 251 RPM | 150.4 Hz | 10 |
| 360 CPR | 125 RPM | 20 Hz | 37 |
| 360 CPR | 251 RPM | 20 Hz | 75 |
Cost
As mentioned, cost should be minimized within reason to facilitate an iterative motor selection. Based on a quick survey of motors available, the threshold value is <$100, and the objective is <$50.
Initial Selection
An initial survey of brushless DC (BLDC) motors available on mouser.com and digikey.com did not yield promising results:

In general, motors were significantly more expensive (and over-powered), with the cheapest being in the $300-$500/ea range, and with rated speeds in the right range (e.g. 133 RPM), but with vastly high torques (e.g. 20 kNm+). There were also significant frequencies of misrepresented values like motors with a torque value entered in units of Nm, but the spec sheet reporting the same value in mNm.
To combat this, I searched specifically for robotics motors, robotics vendors, and for several of the First Robotics approved motors’ vendors. While significantly more time-consuming, it did yield useful information:

From the range shown, the cheapest option with (published) performance above the threshold value was the ES Motors 4260BL. This motor is generally in the middle of the threshold-objective range, but also includes a built-in driver removing the need for an external ESC. With the 25:1 planetary gear configuration the motor has a (published) rated speed of 175 RPM and 25 kg cm (2.5 Nm) of torque. That said, the published rated speed and torque values are 58% and 42% of the stall values which indicates this is not a fair comparison to motors for which the 80%/20% approximation was used and furthermore, introduces risk that the motors may not perform as desired. Regardless, for an initial motor to support integration and drive requirements refinement, the ES Motors 42PG-4260BL was selected. The motor runs on 24 VDC at a rated current of less than 2.8 A, and produces 300 encoder ticks per output motor shaft revolution. The motor is rated to 50 W, which means temperature tracking will likely be important for any extended use. As an added convenience, the motor has a mounting bracket available and retails for $65-$70.
The comparison data has offered an initial look at the range of motors available, and once better estimates of the motor torque and speed needed are identified in the Beta and v1.0 development stages, this survey will be revisited and with more resolution to select a long-term motor for the GARP.
Summary
This article reviewed the process identifying the motor used to support initial Alpha development stage integration of the GARP. Design assumptions were summarized, and required speed and torque performance parameters were estimated based on use cases encompassing the GARP and GARP with reel mower in grass. Several other factors such as encoder resolution and availability of driver/ESC and physical mounting were discussed. Finally a subset of available motors was presented and the selected ES Motors 42PG-4260BL with 25:1 planetary gear was described.