navfn-planner

Configure NavFn planner parameters for Dijkstra or A* global planning in ROS 2 Nav2.

18|2|Updated Apr 20, 2026
One-click install
npx skills add https://github.com/wimblerobotics/ros2-copilot-skills --skill navfn-planner
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: navfn-planner
Source: https://github.com/wimblerobotics/ros2-copilot-skills/tree/main/navfn-planner
Command: npx skills add https://github.com/wimblerobotics/ros2-copilot-skills --skill navfn-planner

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

The NavFn planner configuration skill makes it simple to enable Dijkstra or A* global planning by tuning core parameters (use_astar, tolerance, allow_unknown) and selecting the appropriate planner plugin for your Nav2 deployment, ensuring reliable path generation on 2D costmaps.

Core Features & Use Cases

  • Exposes key planner parameters (use_astar, tolerance, allow_unknown) for straightforward tuning across ROS 2 Nav2 projects.
  • Supports multiple planner configurations within planner_server to compare GridBased and HybridBased options and swap between plans at runtime.
  • Use Case: configure global planning for indoor environments with obstacles and unknown areas, then validate path quality in simulation or in real robot runs.

Quick Start

Edit planner_server YAML to configure use_astar, tolerance, and allow_unknown, then run the Nav2 navigation stack

Frequently Asked Questions about navfn-planner

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

FAQPage Schema
How do I configure Nav2 global planning to use A* instead of Dijkstra?

Configure Nav2 global planning by setting the 'use_astar' parameter to true in your planner_server YAML file, which switches the NavFn planner from Dijkstra to A* path generation across 2D costmaps.

What is the NavFn planner used for in ROS 2 navigation?

The NavFn planner is a global planning plugin for ROS 2 Nav2 that generates reliable paths across 2D costmaps using Dijkstra or A* algorithms to navigate goals and manage tolerance configurations.

How do I allow path planning through unknown areas on a 2D costmap?

To allow path planning through unknown areas, configure the 'allow_unknown' parameter in your NavFn planner YAML setup, enabling the global planner to generate paths across unexplored regions of the costmap.

Can I run multiple planner configurations in the Nav2 planner_server?

Yes, you can configure multiple planner instances within the Nav2 planner_server to compare GridBased and HybridBased options, allowing you to validate path quality and swap between plans at runtime.

Does the NavFn planner configuration require external dependencies?

No, the NavFn planner configuration is a portable YAML setup that does not require external dependencies, exposing and validating parameters like 'tolerance' and 'use_astar' directly within the Nav2 stack.

Why does my Nav2 path planner fail to generate a valid path near obstacles?

Path generation fails when the 'tolerance' parameter is too restrictive for the obstacle density. Adjusting tolerance and 'allow_unknown' settings in the planner YAML ensures the NavFn planner can navigate around or through these areas.