Free shipping on every order. No tariffs or duties to pay at checkout or on delivery.

Cogging torque and torque ripple in robot joints

By Tolerance Labs engineering team · Updated

A brushless motor does not make perfectly smooth torque. Some of the unevenness is there with the power off, and some appears only under current. Both matter most when a joint moves slowly or controls force.

Cogging torque

Cogging torque comes from the rotor magnets pulling toward the steel teeth of the stator. The rotor has preferred positions where the magnetic path is shortest, and it takes torque to move it between them. Cogging is the notchy feel when you turn an unpowered slotted motor by hand. It does not depend on current, and it averages to zero over a revolution.

Cogging repeats a fixed number of times per mechanical revolution: the least common multiple of the slot count and the pole count. A 12-slot, 14-pole motor cogs LCM(12, 14) = 84 times per turn. A 36-slot, 42-pole motor cogs 252 times. A 12-slot, 8-pole motor cogs only 24 times and usually cogs harder. A higher count generally means smaller cogging, which is one reason fractional-slot combinations are common in robot motors.

Typical cogging on a slotted motor is a few percent of rated torque, and well-designed motors reach about one percent or less. Datasheets that list it usually give a peak-to-peak value in N·m or mN·m.

Torque ripple under load

Torque ripple is the variation in torque while current flows. Each source has a signature frequency, which is how you identify it. With p pole pairs, the electrical frequency is p times the mechanical rotation frequency.

SourceRipple frequencyUsual fix
Back-EMF harmonics (non-sinusoidal back-EMF driven with sinusoidal current)6 × electricalMotor design; harmonic current injection
Current sensor offset1 × electricalOffset calibration at startup
Current sensor gain mismatch between phases2 × electricalGain calibration
Driver dead time6 × electricalDead-time compensation
Six-step (trapezoidal) commutation6 × electricalField-oriented control
Encoder eccentricity1 × mechanicalEncoder linearity calibration
CoggingLCM(slots, poles) × mechanicalSkew, slot and pole choice, lookup table

Six-step drive of a motor with sinusoidal back-EMF gives about 13% peak-to-peak ripple in theory, from 1 − cos 30° ≈ 0.134: torque dips at the 30° edges of each 60° sector. Calibrating a robot joint covers current offsets and encoder linearity step by step.

What the gearbox does to ripple

A reducer treats ripple like any other motor torque. Ripple amplitude is multiplied by the ratio N, less gearbox losses, so in N·m it is N times larger at the output. Average torque is multiplied by the same N, so ripple as a percentage of output torque stays the same.

Frequency is where the gearbox changes things. In time, ripple frequency is set by motor speed and passes through the reducer unchanged. But for a given output speed the motor turns N times faster, so a geared joint puts its ripple at N times the frequency of a direct-drive motor of the same design. In output angle, each ripple period is N times shorter.

Worked example: a 12-slot, 14-pole motor (7 pole pairs) with 0.01 N·m of cogging amplitude, behind a 9:1 reducer, with the output turning at 30 rpm.

  • Motor speed: 30 × 9 = 270 rpm, or 4.5 rev/s.
  • Cogging frequency: 84 × 4.5 = 378 Hz.
  • Once-per-electrical ripple from a current offset: 7 × 4.5 = 31.5 Hz.
  • Cogging at the output: 0.01 × 9 = 0.09 N·m, before losses. If rated motor torque is 0.5 N·m, cogging is 0.01 ÷ 0.5 = 2% of rated at the motor and 0.09 ÷ 4.5 = 2% at the output.
  • The same motor used as a direct drive at 30 rpm (0.5 rev/s) would cog at 84 × 0.5 = 42 Hz.

At 1 rpm output, the motor turns at 0.15 rev/s, so the geared joint cogs at 84 × 0.15 = 12.6 Hz and offset ripple falls to about 1 Hz. Slow motion moves ripple into a range that both the controller and a person can follow, which is why it shows up most in slow, smooth moves.

The gearbox also adds ripple of its own: gear-mesh frequency, transmission error and, in harmonic drives, a component at twice the wave-generator speed. None of that is reduced by the ratio. And when the joint is back-driven, motor cogging is felt at the output multiplied by N, like the other drag in backdrivability in robot joints.

Motor designs that reduce it

  • Slot and pole choice. Fractional-slot combinations with a high LCM spread cogging into many small steps.
  • Skew. Twisting the stator stack, or stepping the magnets along the axis, by one cogging period averages cogging out. In a 12-slot, 14-pole motor that period is 360° ÷ 84 ≈ 4.3° mechanical, or 30° electrical, and the skew costs roughly 1% of torque.
  • Magnet shaping. Shaped or segmented magnets bring the air-gap field closer to sinusoidal, which cuts back-EMF harmonics and the 6 × electrical ripple.
  • Slotless windings. With no stator teeth there is essentially no cogging. The larger magnetic gap lowers torque per unit volume, and the winding has a weaker heat path to the housing, so slotless motors trade torque density for smoothness.
  • Sinusoidal drive. Field-oriented control instead of six-step commutation removes commutation ripple.

Compensation with a lookup table

Cogging repeats with rotor angle and does not depend on current, so software can cancel it. Measure cogging torque against motor angle, store it in a table, and add a feed-forward current equal to minus the table value divided by Kt. The table needs several points per cogging period: 84 periods at 8 points each is 672 points, so a 1,024-entry table is a common choice. Limits:

  • The table is only as good as the encoder. An angle error shifts the table against the real cogging and can add ripple instead of removing it. Calibrate encoder linearity first.
  • NdFeB magnet strength falls by roughly 0.1% per °C, so cogging and Kt both shrink slightly as the motor warms.
  • Current-dependent ripple, from back-EMF harmonics or saturation, needs a table that also varies with current.
  • Gearbox ripple follows output angle, not motor angle. It can be tabulated only if the joint has an output encoder, and it changes as the gears wear.

How to measure it

  • Cogging, unpowered. Drive the motor slowly with a second motor through an in-line torque sensor and record torque against angle. This is the cleanest method.
  • Cogging, using the motor itself. Run a stiff speed or position loop at very low speed and record the q-axis current against angle, once in each direction. Friction changes sign with direction and cogging does not, so the average of the two runs is cogging and half their difference is friction. Multiply by Kt for torque.
  • Ripple under load. Hold a steady load with a brake or a second motor and record output torque during slow rotation. Take a spectrum and match the peaks to the table above: LCM × mechanical is cogging, 1 × electrical a current offset, 2 × electrical a gain mismatch, 6 × electrical back-EMF or dead time, 1 × mechanical the encoder or rotor runout.
  • Test slowly. Load inertia filters high-frequency ripple, so ripple looks smaller at speed than it is.

When it matters

  • Haptics and teleoperation. Users feel ripple as texture or vibration, even at a percent or two of the commanded force.
  • Slow, smooth motion. Camera moves, inspection, polishing and dispensing show ripple as visible speed variation.
  • Gimbals and direct drive. With no gearbox, ripple frequency is low at working speeds and nothing between motor and load filters it. Smooth motors and compensation matter most here; see gimbal and direct-drive motors.
  • Force control from current. A torque estimate from motor current assumes a constant Kt. Ripple and cogging appear as force error that the controller cannot see.

It matters less on high-ratio joints making position moves at normal speed, where the loop and load inertia reject it.

Checklist

  • Ask for cogging torque, peak to peak, and the slot and pole counts.
  • Compute the cogging frequency at your slowest working output speed.
  • Expect ripple in N·m to scale with the ratio while its percentage stays the same, and its frequency to rise with the ratio at a given output speed.
  • Calibrate current offsets, phase gains and encoder linearity before blaming the motor.
  • Measure in both directions at low speed, and separate cogging from friction.
  • Add a cogging table for slow, haptic or force-controlled joints.
  • For gimbals and direct drive, prefer skewed or slotless motors.

Compare gimbal and direct-drive motors, frameless torque motors and quasi-direct-drive joint modules, and ask makers for cogging data when you request a quote.

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