ROBOTICS 101Concept explainer

Differential Drive Kinematics

A differential drive robot has two wheels it can turn at different speeds. The difference between them decides whether it drives straight, follows an arc, or spins in place.

The equations

With wheel speeds \(v_L\) and \(v_R\) and wheel separation \(L\), the robot's forward speed \(v\), turn rate \(\omega\), and turning radius \(R\) are:

$$v = \frac{v_R + v_L}{2} \qquad \omega = \frac{v_R - v_L}{L} \qquad R = \frac{v}{\omega}$$

What to notice

The dashed circle is the turning circle, and the dot at its center is the instantaneous center of curvature (ICC). Equal speeds push the ICC infinitely far away, so the path is a straight line. Equal and opposite speeds put the ICC at the robot's center, so it spins in place. Stopping one wheel puts the ICC on that wheel.

Notice also that the robot can never move sideways. That limit is called a nonholonomic constraint, and it is why parallel parking needs several moves.