Pure Pursuit Algorithm

Geometric path tracking for autonomous vehicles.

Introduction

Pure Pursuit is a path tracking algorithm that computes the steering angle needed to follow a path by “chasing” a point ahead on the path.

Geometric Derivation

The algorithm finds the arc that connects the vehicle’s rear axle to a lookahead point on the path.

\[\kappa = \frac{2 \sin(\alpha)}{L_d}\]

Where:

  • \(\kappa\) = curvature

  • \(\alpha\) = angle between vehicle heading and lookahead point

  • \(L_d\) = lookahead distance

The steering angle \(\delta\) for a bicycle model:

\[\delta = \arctan(L \cdot \kappa) = \arctan\left(\frac{2 L \sin(\alpha)}{L_d}\right)\]

Where \(L\) is the wheel base.

Lookahead Distance

The lookahead distance affects tracking behavior:

  • Short lookahead: Tight tracking, but oscillation prone

  • Long lookahead: Smooth tracking, but cuts corners

Speed-adaptive lookahead:

\[L_d = K_{dd} \cdot v + L_{min}\]

Stability Analysis

Pure Pursuit is stable when:

  • Lookahead distance is greater than zero

  • Path curvature is bounded

  • Speed is within limits

Limitations

  • May cut corners on tight turns

  • Cannot handle reverse driving

  • Assumes bicycle model kinematics

References

  • Coulter, R. Craig. “Implementation of the Pure Pursuit Path Tracking Algorithm.” Carnegie Mellon University, 1992.