dwb-controller

Configure Nav2 DWB local planner velocity sampling, acceleration limits, and trajectory critics.

Updated Aug 16, 2026
One-click install
npx skills add https://github.com/three1324/yeonjinautomotive --skill dwb-controller-three1324
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dwb-controller
Source: https://github.com/three1324/yeonjinautomotive/tree/main/.claude/skills/dwb-controller
Command: npx skills add https://github.com/three1324/yeonjinautomotive --skill dwb-controller-three1324

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Tuning the Nav2 DWB local planner requires understanding dozens of interdependent parameters for velocity sampling, acceleration limits, and critic scoring, and misconfiguration causes oscillation, corner clipping, or excessive CPU load. ## Core Features & Use Cases - Parameter Reference: Documents velocity limits, acceleration limits, and trajectory generation settings (sim_time, vx_samples, vtheta_samples) with typical values for differential-drive robots. - Critic Configuration: Explains the critic plugin list (RotateToGoal, Oscillation, BaseObstacle, GoalAlign, PathAlign, PathDist, GoalDist) and ordering effects with short-circuit evaluation. - Troubleshooting Guidance: Maps common symptoms like wobbling, corner clipping, and high CPU usage to specific parameter adjustments. - Use Case: A robotics engineer setting up a differential-drive robot in Nav2 copies the complete YAML template, then tunes critic scales to stop the robot from clipping corners in narrow hallways. ## Quick Start Ask the AI to generate a DWB controller configuration for a differential-drive robot with a max speed of 0.5 m/s using this skill.

Frequently Asked Questions about dwb-controller

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I configure the Nav2 DWB controller for a differential drive robot?

Set the FollowPath plugin to dwb_core::DWBLocalPlanner, define velocity and acceleration limits with vy_samples set to 1, and list critics such as RotateToGoal, Oscillation, BaseObstacle, PathAlign, and GoalDist. A complete YAML template with typical values is provided in the skill.

What is the difference between DWB and MPPI controllers in Nav2?

DWB samples discrete velocity commands and forward-simulates each one, scoring trajectories independently. MPPI samples trajectory perturbations over the full horizon and uses Boltzmann-weighted averaging. DWB is less computationally demanding but produces less-optimal trajectories in complex environments.

Why does my robot oscillate or wobble with the DWB controller?

Oscillation typically comes from insufficient Oscillation critic scale, too many angular velocity samples, or a high angular acceleration limit. Increase the Oscillation scale, reduce vtheta_samples, or lower acc_lim_theta to damp the wobble.

How many trajectories does DWB evaluate per control cycle?

The total equals vx_samples times vy_samples times vtheta_samples, so 20x1x20 yields 400 trajectories. DWB typically evaluates 200 to 600 per cycle, and enabling short_circuit_trajectory_evaluation reduces CPU cost.

When should I use DWB instead of other Nav2 controllers?

DWB suits moderately complex environments as a middle ground between MPPI, which is heavier but more optimal, and Regulated Pure Pursuit, which is lighter but simpler. It is also familiar to users of the ROS1 dwa_local_planner.