Pure pursuit and its variants are widely used for mobile robot path tracking owing to their simplicity and computational efficiency. However, many conventional approaches do not explicitly account for velocity and acceleration constraints, resulting in discrepancies between commanded and actual velocities that result in overshoot and degraded tracking performance. To address this problem, this paper proposes dynamic window pure pursuit (DWPP), which fundamentally reformulates the command velocity computation process to explicitly incorporate velocity and acceleration constraints. Specifically, DWPP formulates command velocity computation in the velocity space (the v-ω plane) and selects the command velocity as the point within the dynamic window that is closest to the line ω=κv. Experimental results demonstrate that DWPP avoids constraint-violating commands and achieves superior path-tracking accuracy compared with conventional pure pursuit methods. The proposed method has been integrated into the official Nav2 repository and is publicly available (https://github.com/ros-navigation/navigation2).
Figures & tables
Figure 1: Processing flow of conventional pure pursuit methods and the proposed method.
Figure 2: Geometric relationships between robot position, path, and lookahead position.
Figure 3: Comparison of command velocity computations in the v – ω space. (a) DWPP selects an executable velocity within the dynamic window closest to the line ω=κv , whereas (b) conventional PP may select a velocity outside the dynamic window, which is subsequently clipped by constraints.
Figure 4: Robot used in the experiment.
Figure 5: Experimental environment.
Figure 6: Reference paths used in the experiment.
Parameter
Value
vmax,vmin
0.5, 0.0 [m/s]
amaxacc,amaxdcc
0.5, 0.5 [m/s 2 ]
ωmax,ωmin
1.0, −1.0 [rad/s]
αmaxacc,αmaxdcc
1.0, 1.0 [rad/s 2 ]
Δt
0.033 [s]
L
0.6 [m]
Table 1: Parameters of the PP family used in the experiment
Path
PP
APP
RPP
DWPP
MPPI
Path A
3.3±1.4
2.0±1.1
1.4±0.5
0.0±0.0
0.1±0.1
Path B
22.4±2.7
13.9±1.7
10.1±0.8
0.0±0.0
0.2±0.1
Path C
55.0±2.8
34.6±0.6
32.1±2.1
0.0±0.0
0.4±0.1
Table 2: Constraint violation ratio [%] (Mean ± SD)
Figure 7: Experimental results in Path A: (a) paths tracked in all five trials of each controller, shown in separate panels, and (b)–(f) velocity profiles of a representative trial of each controller, where black dashed lines show the velocity limits.
Figure 8: Experimental results in Path B: (a) paths tracked in all five trials of each controller, shown in separate panels, and (b)–(f) velocity profiles of a representative trial of each controller, where black dashed lines show the velocity limits.
Figure 9: Experimental results in Path C: (a) paths tracked in all five trials (left: PP, APP, RPP, and DWPP, right: MPPI), and (b)–(f) velocity profiles of a representative trial of each controller, where black dashed lines show the velocity limits.
Figure 10: Paths tracked in the confined corridor experiment for a representative trial (color bar from 0 to 0.5 m/s, red for fast and blue for slow).
Metric
RPP
DWPP
Constraint violation ratio [%]
6.5±1.6
0.0±0.0
Mean cross track error [m]
0.03±0.00
0.03±0.00
Max cross track error [m]
0.11±0.00
0.11±0.01
Travel time [s]
24.0±0.2
24.1±0.1
Table 6: Results of the confined corridor experiment (Mean ± SD)
Figure 11: Time series of a representative trial in the confined corridor experiment.
Table 7: Effect of the APP lookahead-time gain lt on Path C.
Figure 12: Effect of the APP lookahead-time gain lt on Path C.
Table 8: Effect of the curvature-heuristic threshold Rmin on Path C.
Figure 13: Effect of the curvature-heuristic threshold Rmin of RPP and RPP+DW on Path C.
Controller
vmax [m/s]
Rmin [m]
Viol. [%]
Mean [m]
Max [m]
Time [s]
PP
0.424
–
26.0
0.10
0.46
23.2
APP
0.426
–
27.8
0.10
0.47
23.3
RPP
0.500
2.0
27.8
0.05
0.22
23.1
DWPP
0.500
0.4
0.0
0.03
0.12
23.3
Table 9: Comparison under matched travel time on Path C.
Figure 14: Effect of scaling the acceleration limits by γ on Path C.
Figure 15: Velocity profiles of each controller on Path C at σxy=0.05 m (representative seed), where the black dashed lines show the velocity limits.
Table 10: Effect of localization noise on Path C. Nonzero-noise entries are mean ± SD over 20 seeds, and the noise level σxy is in meters. Dashes mark settings that never reached the goal within the 120 s timeout, whose error metrics cover the truncated run.
Table 11: Effect of the lookahead distance L of DWPP on Path C. The σxy=0.05 m entries are mean ± standard deviation over 20 seeds. Dashes mark settings that never reached the goal within the 120 s timeout.
Figure 16: Effect of the lookahead distance L of DWPP on Path C under localization noise. The settings with L≤0.3 m at σxy=0.05 m did not reach the goal within the timeout and are excluded from the curves.
Figure 17: Analysis of command velocity computation. (a) Command velocity profile; (b) and (c) dynamic window transitions at the specific time frames indicated above each plot.
Figure 18: Actuator-level dynamic windows in the v – ω plane.
Robot trajectory tracking develops methods that make robots follow desired paths or motions accurately despite disturbances, uncertainty, and physical constraints.