custom-planner-plugin

Implement a custom Nav2 global planner plugin with the nav2_core::GlobalPlanner interface.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Nav2 users can extend planning behavior by implementing the nav2_core::GlobalPlanner interface to create bespoke global planners that integrate with the global costmap.

Core Features & Use Cases

  • Implements the nav2_core::GlobalPlanner interface and exposes configure, cleanup, activate, deactivate, and createPlan methods.
  • Provides a complete C++ skeleton including header and source with plugin registration for ROS 2 Nav2.
  • Use Case: integrate a user-defined global planning algorithm to handle domain-specific constraints or custom costmaps.

Quick Start

Create a new planner plugin class inheriting from nav2_core::GlobalPlanner and register it as a plugin.

Frequently Asked Questions about custom-planner-plugin

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

FAQPage Schema
How do I create a custom global planner plugin for Nav2 in ROS 2?

You create a custom Nav2 global planner by implementing the nav2_core::GlobalPlanner interface in C++, which requires exposing configure, cleanup, activate, deactivate, and createPlan methods along with plugin registration.

What methods are required to implement the nav2_core::GlobalPlanner interface?

The nav2_core::GlobalPlanner interface requires you to implement configure, cleanup, activate, deactivate, and createPlan methods so your custom planner integrates seamlessly with the Nav2 lifecycle and global costmap.

When do I need a custom global planner in Nav2?

You need a custom Nav2 global planner when your ROS 2 project requires bespoke path planning to handle domain-specific constraints or operate within a specialized costmap-driven environment.

Does Nav2 support custom path planning algorithms with costmap integration?

Nav2 supports custom path planning algorithms by allowing you to implement the nav2_core::GlobalPlanner interface, enabling bespoke global planners that integrate directly with the global costmap in ROS 2.

What's the best way to add a bespoke path planning algorithm to ROS 2 Nav2?

The best way to add a bespoke path planning algorithm to Nav2 is creating a C++ plugin that implements the nav2_core::GlobalPlanner interface and registering it for seamless ROS 2 integration.