What problem does it solve? Setting up a global path planner in ROS 2 Nav2 requires choosing between Dijkstra and A*, tuning tolerance and unknown-space handling, and diagnosing planning failures. This Skill provides the complete NavFn planner configuration reference so you can get reliable grid-based global planning working without digging through Nav2 source code. ## Core Features & Use Cases - Planner Configuration: Complete YAML setup for the nav2_navfn_planner::NavfnPlanner plugin, including use_astar, tolerance, and allow_unknown parameters. - Algorithm Guidance: Explains the Dijkstra vs A* tradeoff, potential field behavior, and path characteristics so you can pick the right mode for your map size. - Troubleshooting & Migration: Covers common failures (unreachable goals, slow planning, paths through narrow gaps) and migration notes when moving to SMAC planners. - Use Case: You are bringing up a differential-drive robot with Nav2 and need a global planner that produces optimal grid paths on a 50m indoor map, plus a smoother to clean up staircase segments. ## Quick Start Ask the assistant to configure the Nav2 planner server with the NavFn planner using Dijkstra, a 0.5 meter goal tolerance, and unknown space allowed.