---
title: [ROSCon Global 2026] Dynamic Window Pure Pursuit in Nav2 Regulated Pure Pursuit
tags: 
author: [Decwest](https://docswell.com/user/Decwest)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/LELM34D27R.jpg?width=480
description: Dynamic Window Pure Pursuit (DWPP), a Pure Pursuit variant that computes path-tracking velocity commands under velocity and acceleration constraints, has been integrated into Nav2&#039;s Regulated Pure Pursuit (RPP) controller. The feature is available in ROS 2 Rolling and expected for binary release from Lyrical Luth onward. This talk explains the Pure Pursuit-based options in Nav2&#039;s RPP controller, Pure Pursuit (PP), Adaptive Pure Pursuit (APP), RPP, and DWPP, highlighting how each builds on the previous one, comparing their path-tracking behavior under shared conditions, and providing practical guidance on when users should choose each option.  - GitHub (Nav2 Regulated Pure Pursuit Controller): https://github.com/ros-navigation/navigation2/tree/main/nav2_regulated_pure_pursuit_controller - Nav2 RPP documentation: https://docs.nav2.org/configuration/packages/configuring-regulated-pp.html - Nav2 migration guide (Adding DWPP option): https://docs.nav2.org/migration/Kilted.html#add-dynamic-window-pure-pursuit-option-to-regulated-pure-pursuit-controller - Paper (DWPP): https://arxiv.org/abs/2601.15006
published: September 24, 26
canonical: https://docswell.com/s/Decwest/5Q27WE-2026-09-24-003533
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/LELM34D27R.jpg)

Dynamic Window Pure Pursuit
in Nav2 Regulated Pure Pursuit
2026/9/23, Mobile Robots
Fumiya Ohnishi Speaker
Masaki Takahashi
Keio University


# Page. 2

![Page Image](https://bcdn.docswell.com/page/4JMYDKP9JW.jpg)

Overview of Dynamic Window Pure Pursuit (DWPP)
2
◼ Extends Pure Pursuit to handle velocity &amp; acceleration constraints
Decelerates at sharp curves:
tracks the path within velocity
and acceleration constraints
[1] F. Ohnishi and M. Takahashi, “Dynamic Window
Pure Pursuit for Robot Path Tracking Considering
Velocity and Acceleration Constraints,” IAS-19, 2025.
[2] F. Ohnishi and M. Takahashi, “DWPP: Dynamic
Window Pure Pursuit Considering Velocity and
Acceleration Constraints”. arXiv:2601.15006., 2026.
◼ Integration to Official Nav2
➢ DWPP is available as an option of Regulated Pure Pursuit Controller Plugin
from ROS 2 Lyrical Onwards
Goal of this talk: introduce the current Nav2 RPP Controller options
(including DWPP) and share guidelines for using each option
Dynamic Window Pure Pursuit in Nav2 Regulated Pure Pursuit
2026/9/23


# Page. 3

![Page Image](https://bcdn.docswell.com/page/PJR94X1979.jpg)

Nav2 Regulated Pure Pursuit Controller Plugin
3
◼ Nav2
➢ Autonomous navigation framework for ROS 2
− Planner Server: global path planning
− Controller Server: local path planning &amp; tracking
(v, ω)
Goal
Global path
Start
planning
Local planning
&amp; tracking
◼ Regulated Pure Pursuit Controller Plugin
➢ Specialized in path tracking (no obstacle avoidance)
Nav2 architecture[3]
Name
Base algorithm
Function
DWB
Dynamic Window Approach
Path tracking + obstacle avoidance
MPPI
Model Predictive Path Integral
Path tracking + obstacle avoidance
Regulated Pure Pursuit
Pure Pursuit
Path tracking only
Main Controller Plugins included in Nav2
Focus of this talk
[3] S. Macenski, F. Martín, R. White, J. Clavero. The Marathon 2: A Navigation System. IEEE IROS, 2020.
Dynamic Window Pure Pursuit in Nav2 Regulated Pure Pursuit
2026/9/23


# Page. 4

![Page Image](https://bcdn.docswell.com/page/PEXQ26Y3JX.jpg)

Pure Pursuit options in Nav2 RPP Controller
Pure Pursuit (PP)
[Coulter, 1992]
Adaptive
Pure Pursuit (APP)
[Campbell, 2007]
4
Regulated
Pure Pursuit (RPP)
[Macenski et. al., 2023]
Dynamic Window
Pure Pursuit (DWPP)
[Ohnishi et. al., 2026]
Local Path Planning
Compute look ahead point pL
L = l v (Proportional to the linear velocity, APP option)
Look ahead distance L = const.
Compute curvature κ of the circular path toward pL
Command Velocity Computation
Compute regulated linear velocity vreg (RPP option)
Compute linear velocity vcmd = vmax
Compute Dynamic Window
(DWPP option)
Regulate vcmd by vreg (RPP option)
Velocity
Command
(vcmd, ωcmd)
Compute angular velocity ωcmd = κ vcmd
Compute velocity from Dynamic
Window (DWPP option)
Dynamic Window Pure Pursuit in Nav2 Regulated Pure Pursuit
2026/9/23


# Page. 5

![Page Image](https://bcdn.docswell.com/page/3EK9M13NED.jpg)

Pure Pursuit (PP)
5/9
◼ Pure Pursuit
➢ Geometric path-tracking method
➢ Simple, easy to tune, and computationally light (O(1))
still widely used today
◼ Method overview
➢ Local path planning
Path
− From the nearest point on the path, compute the
lookahead point at lookahead distance L ahead
− Compute the arc curvature κ to that point
2sin α
κ=
l
➢ Command velocity computation
pL: lookahead point
Arc κ
l
L: lookahead
distance
v
α
− Velocity (v, ω) at curvature κ
ω
 = v
Robot
Dynamic Window Pure Pursuit in Nav2 Regulated Pure Pursuit
2026/9/23


# Page. 6

![Page Image](https://bcdn.docswell.com/page/L73WYQGZ75.jpg)

Pure Pursuit (PP)
6
Dynamic Window Pure Pursuit in Nav2 Regulated Pure Pursuit
2026/9/23


# Page. 7

![Page Image](https://bcdn.docswell.com/page/87DK5914JG.jpg)

Adaptive Pure Pursuit (APP)
7
◼ Overview
➢ velocity-scaled lookahead distance, where L=lv.
◼ Parameter to use
➢ use_velocity_scaled_lookahead_dist = True
Path
pL: lookahead
point
Arc κ
◼ Characteristics
➢ High speed
less overshoot &amp; oscillation
➢ Low speed
faster convergence
L: lookahead distance
L=lv
l
v
α
ω
Robot
Dynamic Window Pure Pursuit in Nav2 Regulated Pure Pursuit
2026/9/23


# Page. 8

![Page Image](https://bcdn.docswell.com/page/VJPKGZQVE8.jpg)

Adaptive Pure Pursuit (APP)
Dynamic Window Pure Pursuit in Nav2 Regulated Pure Pursuit
8
2026/9/23


# Page. 9

![Page Image](https://bcdn.docswell.com/page/2EVV6W5REQ.jpg)

Regulated Pure Pursuit (RPP)
◼ Overview
➢ curvature-based and obstacle-proximity-based
linear velocity regulation
◼ Parameters to use
➢ curvature-based regulation
− use_regulated_linear_velocity_scaling = True
➢ obstacle-proximity-based regulation
− use_cost_regulated_linear_velocity_scaling = True
◼ Characteristics
➢ Sharp turns / near obstacles
slows down
➢ Slowdown tunable via parameters
9
vreg
vmax
0
1/Rmin
(threshold)
κ
RPP curvature-velocity function
vreg
vmax
0
dprox
(threshold)
dO
RPP obstacle distance-velocity
function
Dynamic Window Pure Pursuit in Nav2 Regulated Pure Pursuit
2026/9/23


# Page. 10

![Page Image](https://bcdn.docswell.com/page/57GLND66EL.jpg)

Regulated Pure Pursuit (RPP)
Dynamic Window Pure Pursuit in Nav2 Regulated Pure Pursuit
10
2026/9/23


# Page. 11

![Page Image](https://bcdn.docswell.com/page/4EQYQ142JP.jpg)

Dynamic Window Pure Pursuit (DWPP)
11
◼ Overview
➢ Computes the velocity command closest to ideal path tracking relation (ω = κv)
within the dynamic window = velocity &amp; acceleration constraints
ω
ωmax
◼ Parameter to use
➢ use_dynamic_window = True
ω = κv
Clipped
◼ Characteristics
➢ Sharp turns
automatic slowdown
➢ No manual tuning needed
Executable
ωt
αmaxΔt
amaxΔt
0
Dynamic Window
Command velocity
(propposed)
= actual velocity
Dynamic Window Pure Pursuit in Nav2 Regulated Pure Pursuit
vt
vmax
v
Command velocity
(conventional)
Actual velocity
(conventional)
2026/9/23


# Page. 12

![Page Image](https://bcdn.docswell.com/page/KJ4WNRQP71.jpg)

Dynamic Window Pure Pursuit (DWPP)
Dynamic Window Pure Pursuit in Nav2 Regulated Pure Pursuit
12
2026/9/23


# Page. 13

![Page Image](https://bcdn.docswell.com/page/LE1Y5QPX7G.jpg)

Comparison and Selection Guide
13
Commanded velocity
DWPP:
reduces undershoot
Actual velocity
No deceleration
PP
Start
APP, RPP, DWPP:
reduces overshoot
APP
Manually tunable (Rmin)
Maximum deceleration
Goal
RPP
Velocity profile
DWPP
Goal
Method
Behavior
Tracking accuracy first
DWPP
Max deceleration within vel./accel. constraints
Travel time first
APP
No deceleration
Balance accuracy &amp; time
RPP
Deceleration adjustable via parameters
Dynamic Window Pure Pursuit in Nav2 Regulated Pure Pursuit
2026/9/23


# Page. 14

![Page Image](https://bcdn.docswell.com/page/GEWG5M2KJ2.jpg)

Summary
14
◼ Nav2 Regulated Pure Pursuit options
Option
APP
RPP
DWPP
Parameter
Feature
Best for
use_velocity_scaled_
lookahead_dist = True
Improves stability and reduces
path-tracking error without slowing down
Travel time
is the priority
use_regulated_linear_
velocity_scaling = True
slowdown based on curvature command
Manually tune
the slowdown
use_cost_regulated_linear_
velocity_scaling = True
slowdown based on obstacle distance
Slow down
near obstacles
use_dynamic_window = True
Tracks the curvature command accurately,
decelerating within vel. /accel. constraints
Tracking accuracy
is the priority
◼ Future work
➢ Extention to omnidirectional mobile robots
DWPP is available in ROS 2 Lyrical — give it a try!
Dynamic Window Pure Pursuit in Nav2 Regulated Pure Pursuit
Nav2 RPP Plugin
Configuration Guide
2026/9/23


# Page. 15

![Page Image](https://bcdn.docswell.com/page/47ZLNQDNJ3.jpg)

15
Back Up
Dynamic Window Pure Pursuit in Nav2 Regulated Pure Pursuit
2026/9/23


# Page. 16

![Page Image](https://bcdn.docswell.com/page/YJ6W8619JV.jpg)

Humble and Jazzy Support
16
◼ Official Nav2 DWPP does not support Humble and Jazzy
➢ No backport, as it includes major parameter-name changes
◼ Instead: Unofficial DWPP Nav2 Plugin for Humble and Jazzy is available!
nav2_dynamic_window_
pure_pursuit_controller
Dynamic Window Pure Pursuit in Nav2 Regulated Pure Pursuit
2026/9/23


# Page. 17

![Page Image](https://bcdn.docswell.com/page/GJ5M964DJ4.jpg)

Experiment Condition
17
◼ Test paths: ISO 18646-2 rectangular path
◼ Compared methods
➢ PP
➢ APP (PP+APP)
➢ RPP (PP+APP+RPP)
➢ DWPP (PP+APP+RPP+DWPP)
◼ Parameters
➢ Parameters common to all methods use the same values
Dynamic Window Pure Pursuit in Nav2 Regulated Pure Pursuit
2026/9/23


# Page. 18

![Page Image](https://bcdn.docswell.com/page/9E292MLM7R.jpg)

Nav2 parameters used in the experiments
18
Parameter
Value
max_linear_vel, min_linear_vel
0.83, 0.0 [m/s]
max_linear_accel, min_linear_accel (DWPP)
0.83, -0.83 [m/s²]
max_angular_vel, min_angular_vel (DWPP)
1.0, -1.0 [rad/s]
max_angular_accel, min_angular_accel (DWPP) 1.0, -1.0 [rad/s²]
controller_frequency
30 [Hz]
lookahead_dist
1.2 [m]
min_lookahead_dist, max_lookahead_dist (APP) 0.50, 1.41 [m]
lookahead_time (APP, l)
1.7
regulated_linear_scaling_min_radius (RPP, Rmin) 1.5 [m]
regulated_linear_scaling_min_speed (RPP)
0.10 [m/s]
Dynamic Window Pure Pursuit in Nav2 Regulated Pure Pursuit
2026/9/23


# Page. 19

![Page Image](https://bcdn.docswell.com/page/D7Y4YXQPEM.jpg)

Quantitative Results
19
◼ Constraint violation rate [%] (Viol.)
➢ % of control steps violating the velocity &amp; acceleration constraints
◼ Mean path-tracking error [m] (Mean Pos.)
➢ Mean lateral deviation from the reference path
◼ Max path-tracking error [m] (Max Pos.)
➢ Maximum lateral deviation
◼ Travel time [s] (Time)
Method
Viol. [%]
Mean Pos. [m]
Max Pos. [m]
Time [s]
PP
25.9 ± 0.5
0.13 ± 0.00
0.50 ± 0.02
24.3 ± 0.1
APP
4.7 ± 0.3
0.12 ± 0.00
0.37 ± 0.01
23.4 ± 0.0
RPP
9.2 ± 0.7
0.07 ± 0.00
0.24 ± 0.01
26.2 ± 0.2
DWPP
0.0 ± 0.0
0.05 ± 0.00
0.20 ± 0.01
29.2 ± 0.4
DWPP &lt; RPP &lt; APP &lt; PP
Dynamic Window Pure Pursuit in Nav2 Regulated Pure Pursuit
APP &lt; PP &lt; RPP &lt; DWPP
2026/9/23


