bt-condition-nodes-nav2

Gate Nav2 navigation actions using BT condition nodes that return SUCCESS or FAILURE.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Nav2 navigation often stalls or recovers unreliably without proper gating based on world state. This Skill provides built-in BT condition nodes that observe goal status, battery state, path validity, and timing to trigger replanning or recovery when needed.

Core Features & Use Cases

  • Leaf nodes return SUCCESS or FAILURE (never RUNNING) and are designed to be placed as the first child of a ReactiveSequence or ReactiveFallback.
  • Supports Condition nodes such as GoalUpdated, GoalReached, IsBatteryLow, IsPathValid, TimeExpired, TransformAvailable, and InitialPoseReceived for gating navigation.
  • Use Case: insert a GoalUpdated node to cancel a recovery sequence when a new goal arrives, triggering immediate re-planning.

Quick Start

Add the Nav2 BT condition nodes to a ReactiveSequence or ReactiveFallback in your Nav2 tree.

Frequently Asked Questions about bt-condition-nodes-nav2

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

FAQPage Schema
How do I gate Nav2 navigation actions based on real-time ROS 2 world state?

Gate Nav2 navigation actions by inserting BT condition nodes into ReactiveSequence or ReactiveFallback patterns. These leaf nodes read real-time state from standard navigation topics and return SUCCESS or FAILURE to trigger replanning or recovery.

Why does my Nav2 behavior tree stall or recover unreliably without condition nodes?

Nav2 behavior trees stall without proper gating based on world state. BT condition nodes observe goal status, battery state, path validity, and timing to trigger necessary replanning or recovery actions dynamically.

How do I cancel a Nav2 recovery sequence when a new goal is received?

Insert a GoalUpdated BT condition node as the first child of a ReactiveFallback or ReactiveSequence in your Nav2 tree. It detects new goal arrivals and cancels the active recovery sequence to trigger immediate re-planning.

Can I use Nav2 BT condition nodes to monitor battery state and path validity?

Yes, Nav2 BT condition nodes include IsBatteryLow and IsPathValid specifically for monitoring battery state and path validity. They return SUCCESS or FAILURE to gate navigation actions based on real-time world state.

What Nav2 BT condition nodes are available for timing and transform triggers?

Available Nav2 BT condition nodes include TimeExpired, TransformAvailable, and InitialPoseReceived. These timing-based and spatial triggers read standard navigation topics to enforce replanning or verify state within behavior trees.

Do Nav2 BT condition nodes return RUNNING states during execution?

No, Nav2 BT condition nodes are leaf nodes that return only SUCCESS or FAILURE, never RUNNING. This design ensures they function correctly when placed as the first child of ReactiveSequence or ReactiveFallback patterns.