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.