multi-goal-navigation-bt

Coordinates multi-goal navigation in ROS 2 Nav2 using Behavior Trees.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Coordinates multi-goal navigation using Behavior Trees to sequence NavigateToPose goals and waypoint following.

Core Features & Use Cases

  • NavigateThroughPoses: batch-plans a global path through multiple goals.
  • SequentialNavigateToPose: per-goal execution with recovery and per-goal tasks.
  • Waypoint Follower integration: leverages FollowWaypoints with task plugins.
  • Dynamic goals on the blackboard: adjust patrol goals at runtime without restarting the tree.
  • Memory-enabled sequences: remembers completed goals to resume progress after interruptions.

Quick Start

Define a MultiGoalPatrol BehaviorTree and load goals on the blackboard, then execute the tree in a ROS 2 Nav2 session.

Frequently Asked Questions about multi-goal-navigation-bt

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

FAQPage Schema
How do I sequence multiple navigation goals in ROS 2 Nav2 using behavior trees?

You can sequence multiple navigation goals by orchestrating NavigateToPose actions within a behavior tree. This enables dynamic patrols and waypoint following by chaining goals sequentially in your ROS 2 Nav2 deployment.

What is the difference between NavigateThroughPoses and sequential waypoint following in Nav2?

NavigateThroughPoses batch-plans a single global path through multiple goals, while sequential execution processes each goal individually. Sequential processing supports per-goal tasks, custom recovery via nested SubTrees, and memory-based progression tracking.

Can I update patrol goals dynamically at runtime without restarting the behavior tree?

Yes, you can adjust patrol goals dynamically at runtime using blackboard-driven inputs. Writing new goal coordinates to the blackboard allows the behavior tree to process updated targets without requiring a restart.

How do behavior trees handle recovery when a robot fails to reach a specific waypoint?

Behavior trees handle failed waypoints by executing per-goal recovery through nested SubTrees. If a specific navigation goal fails, the tree triggers the associated SubTree to execute recovery actions before attempting the next goal.

Does multi-goal navigation remember completed goals to resume patrols after an interruption?

Yes, memory-enabled sequences remember completed goals to resume progress after interruptions. Using SequenceWithMemory behavior, the tree tracks which waypoints are finished and continues from the last uncompleted goal.

What is needed to integrate a waypoint follower with task plugins for ROS 2 patrols?

Integrating a waypoint follower requires defining a MultiGoalPatrol behavior tree and loading goals onto the blackboard. You then execute the tree within a ROS 2 Nav2 session to leverage FollowWaypoints with task plugins.