Skip to main content

The Industry Standard for Robot Behaviors

BehaviorTree.CPP is the most popular, production-ready framework for building reactive, modular, and debuggable robot behaviors.

MIT
Open-Source License
3.7k+
GitHub Stars
100+
Companies

Used by some of the most popular robotics frameworks:

Nav2MoveIt

Why BehaviorTree.CPP?

Built for real-world robotics, not just demos

More scalable than State Machines

Behavior Trees enable complex behaviors with less code and more modularity, making them easier to maintain and extend, compared to traditional state machines.

Async Actions

Non-blocking actions and reactive behaviors as first-class citizens.

Modular Architecture

Build reusable building blocks, load custom nodes at runtime.

XML-Defined Trees

Separation of concerns between logic (XML) and implementation (C++).

Built-in Logging

Record, replay, and analyze state transitions for easier debugging.

ROS2 Integration

The most widely used Robot Deliberation library in the ROS2 ecosystem. The main library is ROS-agnostic, but we provide seamless ROS2 integration.

Boost your productivity with Groot2

Visual EditorDrag-and-drop interface for rapid prototyping
Real-time MonitoringWatch your tree execute live on your robot
Log Replay & AnalysisDebug past runs with full state reconstruction
Breakpoints & Fault InjectionPause execution and simulate failures
Learn More About Groot2