3
where κ is the path curvature required to drive
the robot from its starting position to the looka-
head carrot, y
′
l
is the lateral coordinate of the
lookahead point p
′
l
, and L is the desired distance
between p
r
and p
l
.
Figure 1 shows this visually, where L is rep-
resented geometrically as the circle’s chord. With
curvature to drive towards the lookahead point,
the commands can be send to a robot controller.
This process is then updated at the desired rate.
The primary parameters of the Pure Pursuit
path tracker are simply the velocity of travel v
t
and the distance L along the path used to select
the lookahead point p
l
. In the standard formu-
lation, this lookahead point p
l
is a distance L
from the robot tuned to achieve an acceptable
trade-off between oscillations centered around the
path (shorter distances) and slower convergence
(longer distances). There exists a broad range of
admissible lookahead distances [6].
PP and its variants are applicable to Acker-
mann and differential-drive robots due to PP’s
formulation supporting dynamics with longitu-
dinal motion and a turning rate in body-fixed
frame. For Ackermann robots to use PP, the path
must be feasible given the kinematic-constraints
of the platform - while differential-drive robots
may follow any holonomic path using PP. While
omni-directional robots may utilize PP variants,
they will be restricted from performing lateral
movements.
Fig. 1 Geometry of finding the path curvature.
There are several known downsides of this
approach. In high curvature situations, Pure Pur-
suit is known to have overshoot or undershoot
behaviors resulting in path deviations, even in
a well tuned system [6]. This is typically not
a major concern for autonomous driving appli-
cations which naturally has a minimum turn-
ing radius limit, but a more substantive issue
for smaller-scale applications like industrial and
consumer robots. It also does not specify any
translational velocity specification criteria during
execution. While this can be beneficial as it allows
for a great deal of flexibility with different lin-
ear velocity profiles, in practice, without described
methods, nearly all known variants use a constant
translational velocity profile. This is an unsafe
defacto-standard.
Variants of this algorithm have been proposed
to increase path tracking stability by varying com-
putations of the lookahead point. MIT’s entry into
the DARPA Urban Challenge implemented the
Adaptive Pure Pursuit (APP) algorithm for lane
following while varying the lookahead distances
proportionally to the translational velocity [7]. For
velocities in the operating range, a mapping of
lookahead distances to velocities is required such
that they have an acceptable trade-off between
oscillation and slower convergence to the path. A
common formulation for this is in Eq. 4, where L
t
is the lookahead distance, v
t
is the translational
velocity, and l
t
is a lookahead gain representing
the amount of time to project v
t
forward [8].
L
t
= v
t
l
t
(4)
A recent variant has been created to signif-
icantly improve path tracking accuracy of Pure
Pursuit [? ]. This variant also modifies the process
of determining the lookahead point, but instead
adjusts this point off the path to address the long-
standing edge case of short-cutting during path
tracking in substantial turns. While it also con-
tains a heuristic change to the translational veloc-
ity during that edge-case, its policy is derived from
on-road properties and ackermann kinematics that
does not generalize to other applications outside of
on-road driving of Ackermann vehicles. It does not
solve the problems facing deployment of PP tech-
niques to general mobile robotics applications for
which this work focuses (e.g. practicable transla-
tional velocity control); though its improvements
in path tracking accuracies are notable.