Pure Pursuit
纯追踪算法AdvancedA path-tracking method that picks a lookahead point ahead on the path and steers along the arc needed to reach it.
Pure pursuit is a geometric path-tracking algorithm. Carnegie Mellon first used it in the 1980s on the Terragator mobile robot and later on the NavLab self-driving car; R. Craig Coulter's 1992 technical report gives the standard derivation. The method: find a target point on the path at a fixed 'lookahead distance' L from the vehicle, construct an arc from the vehicle's current position that is tangent to its heading and passes through the target point, and compute its curvature as κ = 2x/L², where x is the target point's lateral offset in the vehicle's own coordinate frame. That curvature is then converted into a steering angle or angular velocity. The only tuning parameter is L: a larger L returns to the path more smoothly with less oscillation but cuts corners; a smaller L tracks more tightly but is prone to oscillating. Pure pursuit only handles geometry, not vehicle dynamics or obstacles, so it is usually paired with a global planner and local obstacle avoidance.
ExampleThe ROS 2 navigation stack Nav2 ships a Regulated Pure Pursuit controller for differential-drive, Ackermann-steered, and legged robots: it varies the lookahead distance with speed and automatically slows down on sharp turns or near obstacles.
- Also called
- Pure Pursuit Controller, Pure Tracking
- Related
- Trajectory Tracking · Path Planning · Global Planning and Local Planning · Dynamic Window Approach · Timed Elastic Band · ROS 2 Navigation Stack (Nav2)
- Sources
- R. C. Coulter, Implementation of the Pure Pursuit Path Tracking Algorithm (CMU-RI-TR-92-01, 1992)
Nav2 Regulated Pure Pursuit Controller README