[ROSCon Global 2026] Dynamic Window Pure Pursuit in Nav2 Regulated Pure Pursuit

-- Views

September 24, 26

スライド概要

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'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'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

profile-image

自律移動ロボットのナビゲーションとROSに興味があります.

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

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

2.

Overview of Dynamic Window Pure Pursuit (DWPP) 2 ◼ Extends Pure Pursuit to handle velocity & 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

3.

Nav2 Regulated Pure Pursuit Controller Plugin 3 ◼ Nav2 ➢ Autonomous navigation framework for ROS 2 − Planner Server: global path planning − Controller Server: local path planning & tracking (v, ω) Goal Global path Start planning Local planning & 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

4.

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

5.

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

6.

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

7.

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 & 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

8.

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

9.

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

10.

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

11.

Dynamic Window Pure Pursuit (DWPP) 11 ◼ Overview ➢ Computes the velocity command closest to ideal path tracking relation (ω = κv) within the dynamic window = velocity & 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

12.

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

13.

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 & time RPP Deceleration adjustable via parameters Dynamic Window Pure Pursuit in Nav2 Regulated Pure Pursuit 2026/9/23

14.

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

15.

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

16.

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

17.

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

18.

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

19.

Quantitative Results 19 ◼ Constraint violation rate [%] (Viol.) ➢ % of control steps violating the velocity & 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 < RPP < APP < PP Dynamic Window Pure Pursuit in Nav2 Regulated Pure Pursuit APP < PP < RPP < DWPP 2026/9/23