Swerve drive

Top linear speed, drive-base radius and maximum rotation rate of a swerve drive.

Inputs

12 V vendor specs; see the motor database.

:1

Drive reduction, e.g. 6.75 for SDS MK4i L2.

%

Real top speed as a share of free speed.

Result

Top linear speed

4.256
Maximum rotation rate
10.42
Free speed
15.51
Drive-base radius
0.4086
Time for a 180° turn
0.3016

How it’s calculated

Formula

vmax=k ωfreeR d2v_\text{max} = k \, \frac{\omega_\text{free}}{R} \, \frac{d}{2}
r=(t/2)2+(b/2)2,ωmax=vmaxrr = \sqrt{(t/2)^2 + (b/2)^2}, \qquad \omega_\text{max} = \frac{v_\text{max}}{r}

With your numbers (converted to SI units)

vmax=0.9×628.3 rad/s6.75×0.0508 m=4.256 m/sv_\text{max} = 0.9 \times \frac{628.3\,\text{rad/s}}{6.75} \times 0.0508\,\text{m} = 4.256\,\text{m/s}
r=(0.2889 m)2+(0.2889 m)2=0.4086 mr = \sqrt{(0.2889\,\text{m})^2 + (0.2889\,\text{m})^2} = 0.4086\,\text{m}
ωmax=4.256 m/s0.4086 m=10.42 rad/s\omega_\text{max} = \frac{4.256\,\text{m/s}}{0.4086\,\text{m}} = 10.42\,\text{rad/s}

What it means

Every module can reach the same top speed. When the robot spins in place, the modules sit on a circle of radius r, so the fastest spin is when they all run at top speed tangent to that circle. Use v_max and ω_max as the limits in your drive code, and desaturate wheel speeds when a combined command asks for more.

Assumptions

  • Modules at the corners of a rectangle centred on the robot’s centre of rotation.
  • Translation and rotation share the same module speed limit.

Learn the concepts behind this on resources.simbotics.org · All formulas