bt-control-nodes

Define and execute deterministic robot decision flows with Behavior Tree control nodes.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Provides a structured framework for designing robot task execution flows using Behavior Tree control nodes to select between Sequence, Fallback, Parallel, ReactiveFallback, ReactiveSequence, and RoundRobin.

Core Features & Use Cases

  • Sequence: ticks children left-to-right, restarts on completion and handles success/failure semantics for deterministic sequencing.
  • ReactiveSequence: continuously re-ticks from the first child so conditions are monitored during navigation.
  • SequenceWithMemory: remembers the last RUNNING child and resumes from there, skipping completed nodes.
  • Fallback: tries children until one succeeds, enabling failover strategies.
  • ReactiveFallback: re-ticks from the first child each tick to prioritize higher-priority checks.
  • Parallel: runs all children concurrently with configurable success and failure thresholds.
  • IfThenElse: branches based on a condition to either execute a then-branch or an else-branch.
  • WhileDoElse: re-evaluates condition while the do-branch runs and switches to else when the condition fails.
  • Switch: multi-branch selection based on a runtime variable, with a default case.
  • Choosing the Right Control Node: guidance on selecting appropriate node types for common patterns.

Quick Start

Define a small BT using Sequence and ReactiveSequence to execute conditional actions and wire it to your robot's behavior.

Frequently Asked Questions about bt-control-nodes

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

FAQPage Schema
What is the difference between ReactiveSequence and SequenceWithMemory in behavior trees?

ReactiveSequence re-ticks from the first child each cycle to continuously monitor conditions during navigation, while SequenceWithMemory remembers the last RUNNING child and resumes from there, skipping completed nodes for efficient task sequencing.

How do I implement a failover strategy for ROS 2 robot tasks using behavior tree control nodes?

Use the Fallback control node to try children left-to-right until one succeeds, or ReactiveFallback to re-tick from the first child each cycle, prioritizing higher-priority condition checks and enabling robust failover strategies for ROS 2 workflows.

When should I use Parallel control nodes instead of Sequence nodes in robot decision flows?

Use Parallel control nodes to run all children concurrently with configurable success and failure thresholds, instead of Sequence nodes which tick children left-to-right for deterministic, sequential action execution in robot decision flows.

Can I use IfThenElse and Switch nodes for multi-branch decision making in ROS 2 navigation?

Yes, IfThenElse branches robot execution based on a condition to either a then-branch or else-branch, while Switch enables multi-branch selection based on a runtime variable with a default case for ROS 2 navigation workflows.

How do I choose the right BT control node for a specific robot task pattern?

Choosing the right BT control node depends on whether you need deterministic sequencing, continuous condition monitoring, concurrent execution, or multi-branch decision logic, with specific nodes like Sequence, ReactiveSequence, Fallback, and Parallel matching distinct task patterns.