nav2-architecture-overview

Explain Nav2 architecture and component interactions across lifecycle-managed servers.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Understand Nav2 architecture and component interactions. This guide helps engineers quickly grasp how the Nav2 navigation stack components interact, enabling faster task planning and debugging.

Core Features & Use Cases

  • System overview of Nav2 architecture, including BT Navigator, Planner Server, Controller Server, and costmap integration.
  • Visualization of the data flow from goals to cmd_vel, lifecycle transitions, and launch structure for nav2_bringup.
  • Use Case: A developer can reason about how changing a planner or BT tree affects the control flow and safety checks.

Quick Start

Provide a concise, diagram-friendly explanation of how the Nav2 components (planner, controller, BT navigator, and costmaps) cooperate to move the robot.

Frequently Asked Questions about nav2-architecture-overview

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

FAQPage Schema
How does Nav2 architecture connect the planner, controller, and costmaps?

Nav2 architecture connects the planner, controller, and costmaps through lifecycle-managed servers orchestrated by the BT Navigator. The Behavior Tree dictates the control flow, routing goals to the Planner and Controller servers while they read shared costmap data.

What is the role of the BT Navigator in the Nav2 navigation stack?

The BT Navigator in the Nav2 navigation stack serves as the central orchestrator for system behavior. It executes Behavior Trees to coordinate the Planner and Controller servers, managing the data flow from initial goal reception to final velocity commands.

How do I trace the data flow from a navigation goal to cmd_vel in Nav2?

To trace the data flow from a navigation goal to cmd_vel in Nav2, follow the lifecycle transitions and topic subscriptions across the stack. Goals enter the BT Navigator, which calls the Planner and Controller servers, ultimately publishing velocity commands to the cmd_vel topic.

Why does changing a planner in Nav2 affect the control flow and safety checks?

Changing a planner in Nav2 affects the control flow and safety checks because the BT Navigator dynamically routes execution based on the active server configuration. Different planners interact uniquely with shared costmaps, altering how the Controller server evaluates path safety.

Can I visualize the lifecycle management and launch structure for nav2_bringup?

You can visualize lifecycle management and the launch structure for nav2_bringup through a system architecture overview. This illustrates how lifecycle-managed servers transition between states and how component nodes are initialized and configured during the startup sequence.

When do I need to understand Nav2 component interactions for debugging?

You need to understand Nav2 component interactions for debugging when a robot fails to reach its goal or exhibits unexpected navigation behavior. Reasoning about the architecture helps isolate issues across the BT Navigator, Planner, Controller, and costmap data flows.