What problem does it solve? Designing robots that must visit multiple goals in sequence is tricky: you must choose between NavigateThroughPoses, sequential NavigateToPose calls, and the FollowWaypoints action server, each with different trade-offs for per-waypoint tasks, failure handling, and path optimality. This Skill provides proven BT.CPP v4 XML patterns for each approach so you avoid common pitfalls like all-or-nothing failures and patrol restarts. ## Core Features & Use Cases - Three Multi-Goal Strategies: Guidance and XML for NavigateThroughPoses (single optimized path), sequential NavigateToPose with interleaved per-waypoint tasks, and Nav2's FollowWaypoints with task executor plugins like WaitAtWaypoint and PhotoAtWaypoint. - Recovery and Resilience Patterns: Per-waypoint Retry wrappers, ForceSuccess to skip unreachable goals, RecoveryNode subtrees with costmap clearing, and SequenceWithMemory so interrupted patrols resume from the last incomplete waypoint. - Dynamic Goal Handling: Patterns for updating goal lists from ROS 2 topics via the blackboard and index-based waypoint cycling with Script nodes. - Use Case: Build a patrol robot that visits the living room, kitchen, and garage, taking a photo or sensor reading at each stop, skipping unreachable rooms, and resuming correctly after a battery-check interruption. ## Quick Start Ask the AI to create a Nav2 behavior tree that patrols four waypoints with a wait and spin at each stop and recovery behavior on navigation failure.