QDD Actuator: Gear Ratio, Inertia, Bandwidth and Heating

Size a quasi direct drive robot joint: compare gear ratios, reflected inertia, torque bandwidth and voltage limits, then simulate winding and housing heating during running and jumping.

#actuator #backdrivability #gear ratio #QDD #reflected inertia #thermal network #torque bandwidth

A quasi direct drive actuator combines a high-torque motor with a modest gear reduction. It can deliver the torque needed by a legged-robot joint while allowing the joint to yield at contact. Increasing the QDD gear ratio helps torque production, but rotor inertia grows with the square of that ratio. Friction, back EMF and transmission compliance also change what the joint can do.

This robot actuator calculator helps engineers and students compare a candidate motor and gear ratio for running and jumping. Enter a motor's torque constant, phase current limit, rotor inertia and electrical data. Use the peak phase-current convention stated in the input help: mixing RMS current and peak phase current changes both torque and copper heating. The default example is inspired by the scale of Katz's 2018 Mini Cheetah actuator; several mechanical and thermal parameters remain illustrative design assumptions.

Next enter the moving leg mass, supported body mass, local joint-to-foot moment arm, contact stiffness and transmission stiffness. Mechanical bandwidth comes from both modes of Wensing's compliant reduced-leg model. The frequency chart combines this mechanical path with a first-order current loop. Its resonant peaks explain why a high electrical bandwidth alone does not guarantee good contact-force tracking. Use the first mechanical mode and required bandwidth when screening a design; the upper half-power crossing can lie beyond a resonance.

The ratio charts sweep 1:1 to 20:1 in increments of 0.125. The reported lowest and highest screened ratios meet peak-current, hot motoring-voltage, mechanical-bandwidth, breakaway, directional-impact and mean-duty heating targets. They are sampled candidates, not a claim that every manufactured reducer between them is suitable. If none passes, the bounds are blank. Change the motor data to compare another winding or rotor, then recalculate.

Finally, define stance and swing plateaus, a repeated jumping block, and a cooling interval. The thermal calculation starts at ambient and follows winding and housing temperatures separately. It stops at the first winding-limit crossing or the housing reporting cutoff, showing the calculated end time and a failed thermal verdict. Peaks then cover only that finite history. It resolves every duty transition and includes copper resistance increasing with temperature. Play time moves through the already-computed thermal history. Check the selected ratio's transient peak after considering the sweep: average-duty screening does not bound the peak of a short, intense pulse.

This tool does not simulate a complete articulated robot, regenerative braking, field weakening, gearbox fatigue, backlash, cogging compensation or a discrete digital controller. The torque plateaus specify a motoring envelope; add rotor acceleration torque to the requested load when it matters. Fit the thermal network and friction to the actual assembled joint. In particular, the directional impact factor describes a one-dimensional model, and cannot predict a landing force or establish whole-robot impact robustness.

How it is calculated

The inertia and contact model follows Wensing et al. (2017), §III-A–B, DOI 10.1109/TRO.2016.2640183. The attached manuscript text has reflowed pages; its pp. 4–5 contain the reduced-leg equations. With I=N2Jm+JgI=N^2J_m+J_g,

me=ml+mbImbr2+I,ξrigid=1−memb+ml.m_e=m_l+\frac{m_b I}{m_b r^2+I},\qquad \xi_{\rm rigid}=1-\frac{m_e}{m_b+m_l}.

This is the directional IMF of the one-dimensional rigid-drive model. The ideal instantaneous elastic-drive value is mb/(mb+ml)m_b/(m_b+m_l) because a finite series spring initially decouples the rotor. The rigid value is used for ratio screening; finite-duration impact loads require a contact transient.

For the compliant model, α=Ir2mbml\alpha=Ir^2m_bm_l, β=ks[I(mb+ml)+r2mbml]+Ir2kimb\beta=k_s[I(m_b+m_l)+r^2m_bm_l]+Ir^2k_i m_b, and γ=kski(mbr2+I)\gamma=k_s k_i(m_b r^2+I). The two squared modal frequencies solve αω4−βω2+γ=0\alpha\omega^4-\beta\omega^2+\gamma=0. A cancellation-resistant expression evaluates the smaller root. The mechanical bandwidth is the first mode. A chosen modal damping ratio is added to each second-order factor, and the normalized torque-to-contact-force path is multiplied by 1/(1+s/(2πfi))1/(1+s/(2\pi f_i)). A frequency scan brackets the first downward half-power crossing before Brent root refinement. This crossing is distinct from the mechanical design ceiling.

Output friction is Tf=NTc+N2bm∣ωj∣+TgT_f=N T_c+N^2b_m|\omega_j|+T_g. Available torque is ηgNKtIq[1−ssat(Iq/Ipk)2]−Tf\eta_g N K_t I_q[1-s_{\rm sat}(I_q/I_{\rm pk})^2]-T_f below the peak current. Newton iteration inverts this monotone torque law. Above the current limit the requested current is reported using the constant peak torque constant; it is not clipped to make a failed duty appear deliverable. The hot motoring check uses Vq=R(Tlim)Iq+(2/3)KtNωjV_q=R(T_{\rm lim})I_q+(2/3)K_tN\omega_j, ∣Vd∣=pN∣ωj∣LqIq|V_d|=pN|\omega_j|L_qI_q and Vq2+Vd2≤Vdc/3\sqrt{V_q^2+V_d^2}\le V_{\rm dc}/\sqrt3 (SVPWM, no field weakening).

The two-node thermal model is derived from energy balance:

CwT˙w=32R25Iq2[1+αCu(Tw−25)]−Tw−ThRwh,C_w\dot T_w=\tfrac32R_{25}I_q^2[1+\alpha_{\rm Cu}(T_w-25)]-\frac{T_w-T_h}{R_{wh}},
ChT˙h=Ph+Tw−ThRwh−Th−TaRha.C_h\dot T_h=P_h+\frac{T_w-T_h}{R_{wh}}-\frac{T_h-T_a}{R_{ha}}.

Here Ph=Paux+∣ωj∣[Tload(1/ηg−1)+Tf/ηg]P_h=P_{\rm aux}+|\omega_j|[T_{\rm load}(1/\eta_g-1)+T_f/\eta_g]. Thus mechanical loss agrees with the torque/power balance. Each constant-duty interval is an affine two-state ODE; an exact matrix-exponential advance resolves every stance, swing, jump and recovery boundary. Analytical stationary points and interval ends give both peak temperatures independently of plot sampling. Mean-duty equilibrium includes copper's positive thermal feedback; a missing equilibrium is shown as a gap. The continuous stall torque includes auxiliary housing heat and hot winding resistance.

At zero speed the same hot dq voltage balance reduces to Vq=R(Tlim)IqV_q=R(T_{\rm lim})I_q. Peak stall current is limited to min⁡(Ipk,Vavail/Rhot)\min(I_{\rm pk},V_{\rm avail}/R_{\rm hot}); continuous stall current also respects the thermal-current limit. Both reported stall torques subtract breakaway friction and are floored at zero.

Thermal advancement limits every positive modal exponent to 0.5 before evaluating its exponential. Each finite segment is checked for a winding-limit crossing or the 200 °C housing reporting cutoff. Prefix-maximum bisection locates the first event, and the resulting finite history is resampled at 1,601 points. Reported peaks apply only up to this calculated endpoint; the design verdict and history-end time identify early termination.

Assumptions

  • A single local contact direction with constant moment arm, linear contact and transmission springs, and the body/leg mass distribution of Wensing's reduced rack-and-pinion model. The normalized mechanical response is a torque-to-contact-force surrogate, not a measured joint torque servo.
  • Amplitude-invariant FOC: IqI_q is peak phase amplitude, PCu=3RphaseIq2/2P_{\rm Cu}=3R_{\rm phase}I_q^2/2, and Ke=2Kt/3K_e=2K_t/3. All duty torques and speeds are nonnegative motoring magnitudes. Rotor acceleration torque, regeneration and bus absorption are excluded.
  • Saturation is an illustrative quadratic interpolation between the supplied low-current torque constant and its peak-current drop, not a digitization of a measured curve. The current loop is an identified first-order small-signal fit; PWM, delay and PI gains are not simulated.
  • Katz (2018), pp. 25, 27, 38, 44, 53–54, supports the 6:1 scale, roughly 0.082 N·m/A low-current constant, 12% saturation drop, 40 A peak phase current, 21 pole pairs, about 30 µH inductance, usual 1 kHz current-loop setting, aggregate 1.23 K/W thermal resistance and 32 J/K effective thermal mass. The 0.13 Ω phase resistance is inferred from his rounded 60 W, 15.4 A and 30% resistance-rise discussion.
  • The default rotor/gear split (0.000060 and 0.000140 kg·m²) is assigned to match the published 0.0023 kg·m² total at 6:1. The friction, efficiency, stiffnesses, damping, duty, 0.35/0.88 K/W thermal split and 120 J/K housing capacity are editable example assumptions. Katz's measured effective thermal mass is assigned to the winding node for illustration; the separate nodes require identification on real hardware.
  • Copper's linear resistance coefficient is 0.00385/K at the 25 °C resistance reference in the example; replace it for a different winding material or resistance fit.

Where it applies

Use the results for motor and ratio screening, then identify the assembled actuator and test the proposed motion. “Screening targets met” means only that the stated model targets pass; it is not a stability, fatigue or impact-force check.

The ratio sweep uses mean-duty thermal equilibrium, not a transient peak at every ratio. Its bounds are the lowest/highest passing samples on a 1…20 grid at 0.125 intervals; inspect the full candidate set for disconnected ranges. Apply the selected-ratio pulse-resolved thermal check before choosing a reducer. Blank equilibrium values denote electrothermal runaway in the averaged constant-current model.

The thermal history uses 1,601 uniformly spaced display times over the calculated horizon, with exact advances at all intervening duty boundaries. Temperature maxima also include analytical within-interval extrema, so they do not depend on the display grid. The play indicator uses shape-preserving cubic interpolation between display times and may smooth a very short pulse; the computed peak does not. Current settling, inductive energy at transitions, spatial hot spots, temperature-dependent magnets, iron losses varying with speed, and cooling changes with airflow are not resolved. Add measured omitted heat through the housing-loss input.

Bandwidth and IMF are configuration dependent. The rigid-drive directional IMF assumes the drive remains inertially coupled during contact; with a finite series spring, the ideal instantaneous impulse sees the elastic-drive IMF instead. Neither is the full three-dimensional determinant IMF of an articulated robot. Modal damping is assumed, and torque response is linearized below current/voltage saturation. A high half-power crossing beyond a resonance does not imply flat or stable torque tracking. Backdrive friction here is an unpowered no-load Coulomb/viscous approximation and does not model wedging or load-dependent reverse efficiency.

Screening always evaluates both running and jumping block definitions; their durations control the transient history. Omit a load from both screening and the transient by setting its torques to zero.

The thermal history stops at the first winding-limit crossing, or if the housing reaches a 200 °C reporting cutoff. The latter is a numerical/model reporting boundary, not a housing rating. The history-end result gives the crossing time; peaks and temperature margin cover only that finite history. An early-stop verdict means the remainder of the requested schedule was not calculated. Playback ends at the same event. The positive-exponent step bound prevents exponential overflow before detecting it; no nonfinite values are passed to the charts or thermal drawing.

References

  • Wensing, P. M. et al. (2017), Proprioceptive Actuator Design in the MIT Cheetah, IEEE T-RO 33(3), 509–522. https://doi.org/10.1109/TRO.2016.2640183 — author manuscript: https://hdl.handle.net/1721.1/119863
  • Katz, B. G. (2018), A Low Cost Modular Actuator for Dynamic Robots, MIT S.M. thesis, especially pp. 25–27, 38, 42–44 and 53–55. https://hdl.handle.net/1721.1/118671

Inputs

InputSymbolUnitDefault
Gear ratio
Motor speed divided by joint speed.
N_g6
Low-current torque constant
Use torque per peak phase amp, equal to i_q with amplitude-invariant FOC.
K_tN*m/A0.082
Peak phase currentI_pkA40
Torque constant drop at peak
Fractional saturation drop at the peak current.
s_sat0.12
Rotor inertiaJ_mg*cm^2600
Gear inertia at joint
Add the gearbox's output-equivalent rotating inertia.
J_gg*cm^21399.9999999999998
Mesh efficiency
Load-dependent efficiency; no-load friction is entered separately.
eta_g0.95
Motor Coulomb frictionT_cN*m0.012
Motor viscous frictionb_mmN*m*s/rad0.04
Gearbox breakaway torqueT_gN*m0.08
Phase resistance at 25 °C
Use phase-to-neutral resistance, half the line-to-line value for a star winding.
R_25ohm0.13
Phase inductanceL_quH30
Pole pairsp_p21
DC bus voltageV_dcV24
Current-loop bandwidth
Measured small-signal bandwidth, or the pole-zero-cancelled PI target.
f_iHz1000
Modal damping ratiozeta_m0.08
Supported body mass
Effective body mass participating in this one-dimensional contact.
m_bkg9
Moving leg massm_lkg0.5
Joint-to-foot moment arm
Local foot displacement per radian of joint rotation.
r_jm0.1
Foot-ground stiffnessk_iN/m200000
Transmission torsional stiffnessk_sN*m/rad10000
Required torque bandwidthf_reqHz30
Minimum directional IMF
0 means locked-joint impact inertia; larger values mean more passive mitigation.
xi_req0.8
Maximum breakaway torqueT_backN*m0.5
Running stance torqueT_runN*m6
Running swing torqueT_swingN*m0.8
Running joint speed
Magnitude used for motoring voltage and friction loss in both running phases.
w_runrad/s8
Stride periodP_runs0.4
Stance fractiond_run0.35
Running durationt_runs120
Jump pulse torqueT_jumpN*m14
Between-jump torqueT_restN*m0.5
Jump joint speed
Magnitude during each jump pulse; between jumps the joint is stationary.
w_jumprad/s12
Jump periodP_jumps2
Jump pulse durationt_pulses0.15
Jumping block durationt_jumps20
Cooling durationt_cools60
Ambient temperatureT_a°C25
Winding temperature limitT_lim°C100
Winding-to-housing resistance
Identify from a winding and housing temperature step test.
R_whK/W0.35
Housing-to-ambient resistanceR_haK/W0.88
Winding heat capacityC_wJ/K32
Housing heat capacityC_hJ/K120
Resistance coefficient at 25 °Calpha_cu1/K0.00385
Other housing heat
Driver and other losses deposited in the housing, including while cooling.
P_auxW1
Transient play timet_views120.075

Results

With the default inputs above, the calc gives:

ResultValue
Selected designScreening targets met
Lowest screened ratio5.25
Highest screened ratio16.5
Reflected rotor and gear inertia0.0023 kg·m²
Passive breakaway torque0.152 N·m
Rigid-drive directional IMF0.924
Mechanical bandwidth82.8 Hz
Current-loop bandwidth1,000 Hz
Cascaded first −3 dB crossing132 Hz
Bandwidth bottleneckMechanical compliance
Peak joint torque at stall16.3 N·m
Continuous joint torque at stall6.96 N·m
Required jump i_q33.01 A
Worst-block RMS phase current6.46 A
Hot motoring voltage headroom4.27 V
Calculated winding peak39.94 °C
Calculated housing peak34.35 °C
Winding temperature margin60.06 K
Thermal history end200 s

Checked against sources

Each case below was calculated by this calc and agrees with the value from its source (within the tolerance where one is shown).

Wensing rigid-drive mechanical frequency

Source: Wensing et al. (2017), Fig. 4 and following discussion, DOI 10.1109/TRO.2016.2640183. Figure inputs give 79.8806 Hz by Eq. (8), versus the stated 79.7 Hz; the 0.18 Hz difference is consistent with a rounded example, so tolerance is 0.25 Hz. The equations and inputs are retained.

Inputs: Gear ratio = 1; Rotor inertia = 100,000 g·cm²; Gear inertia at joint = 0 g·cm²; Supported body mass = 32 kg; Moving leg mass = 3 kg; Foot-ground stiffness = 1,000,000 N/m; Transmission torsional stiffness = 70 N·m/rad; Running stance torque = 0 N·m; Running swing torque = 0 N·m; Jump pulse torque = 0 N·m; Between-jump torque = 0 N·m; Motor Coulomb friction = 0 N·m; Gearbox breakaway torque = 0 N·m; Motor viscous friction = 0 mN·m·s/rad; Running joint speed = 0 rad/s; Jump joint speed = 0 rad/s; Running duration = 0 s; Jumping block duration = 0 s; Cooling duration = 1 s; Other housing heat = 0 W; the others as above.

ResultSourceThis calc
Rigid-transmission mechanical bandwidth79.7 ± 0.25 Hz79.881 Hz

Wensing 70 N·m/rad compliant drive

Source: Wensing et al. (2017), Fig. 4 discussion and Eq. (20), DOI 10.1109/TRO.2016.2640183. I=0.010 kg·m², mb=32 kg, ml=3 kg, r=0.1 m, ki=10^6 N/m, ks=70 N·m/rad. Published value rounded to 0.1 Hz.

Inputs: Gear ratio = 1; Rotor inertia = 100,000 g·cm²; Gear inertia at joint = 0 g·cm²; Supported body mass = 32 kg; Moving leg mass = 3 kg; Foot-ground stiffness = 1,000,000 N/m; Transmission torsional stiffness = 70 N·m/rad; Running stance torque = 0 N·m; Running swing torque = 0 N·m; Jump pulse torque = 0 N·m; Between-jump torque = 0 N·m; Motor Coulomb friction = 0 N·m; Gearbox breakaway torque = 0 N·m; Motor viscous friction = 0 mN·m·s/rad; Running joint speed = 0 rad/s; Jump joint speed = 0 rad/s; Running duration = 0 s; Jumping block duration = 0 s; Cooling duration = 1 s; Other housing heat = 0 W; the others as above.

ResultSourceThis calc
Mechanical bandwidth13.5 ± 0.06 Hz13.474 Hz

Katz forced-air 50 W steady temperature

Source: Katz (2018), §2.5.3, p.54: forced-air measured winding rise 17 K at 50 W, giving 42 °C at 25 °C ambient. Synthetic motor settings generate exactly 50 W throughout both running phases. The thermal resistances sum to the reported 0.34 K/W; capacities of 1 J/K ensure steady state by 10 s. This validates total steady thermal resistance, not the unmeasured split or transient capacities.

Inputs: Gear ratio = 1; Low-current torque constant = 0.1 N·m/A; Torque constant drop at peak = 0; Mesh efficiency = 1; Motor Coulomb friction = 0 N·m; Motor viscous friction = 0 mN·m·s/rad; Gearbox breakaway torque = 0 N·m; Phase resistance at 25 °C = 0.3333 Ω; Resistance coefficient at 25 °C = 0 1/K; Running stance torque = 1 N·m; Running swing torque = 1 N·m; Jump pulse torque = 0 N·m; Between-jump torque = 0 N·m; Running joint speed = 0 rad/s; Jump joint speed = 0 rad/s; Running duration = 10 s; Jumping block duration = 0 s; Cooling duration = 0 s; Winding-to-housing resistance = 0.1 K/W; Housing-to-ambient resistance = 0.24 K/W; Winding heat capacity = 1 J/K; Housing heat capacity = 1 J/K; Other housing heat = 0 W; the others as above.

ResultSourceThis calc
Calculated winding peak42 ± 0.1 °C42 °C
Running copper heat at ambient50 W50 W

Related Resources

Responses

Your email address will not be published. Required fields are marked *

L ading...