Submit
Icon for BehaviorTree.CPPIcon for Nav2

BehaviorTree.CPP supplies Nav2's behavior-tree execution layer

Enhances

BehaviorTree.CPP underpins the behavior-tree layer used in Nav2. Nav2's documentation explicitly shows users loading Nav2 palettes into Groot and editing BT.CPP-based navigation trees, which makes this a concrete implementation relationship rather than a generic ecosystem association.

Complementary roles

BehaviorTree.CPP supplies the execution model, XML tree format, blackboard concepts, and node abstraction pattern for robot behaviors. Nav2 builds on that foundation with navigation-specific nodes, default recovery trees, and application logic for path planning and execution in ROS 2 mobile robots.

Use cases

  • Modeling navigation and recovery behaviors for autonomous mobile robots
  • Editing and testing Nav2 trees with Groot before deploying them to robots
  • Extending Nav2 with custom BT nodes for domain-specific actions and conditions
  • Separating high-level task logic from lower-level navigation services in ROS 2 systems