MCPcopy Create free account
hub / github.com/BehaviorTree/BehaviorTree.ROS2

github.com/BehaviorTree/BehaviorTree.ROS2 @0.3.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.3.0 ↗ · + Follow
130 symbols 153 edges 23 files 22 documented · 17% updated 7mo ago0.3.0 · 2025-10-30★ 33436 open issues

Browse by type

Functions 109 Types & classes 21
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

BehaviorTree.ROS2

Test

This repository contains useful wrappers to use ROS2 and BehaviorTree.CPP together.

In particular, it provides a standard way to implement:

  • Behavior Tree Executor with ROS Action interface.
  • Action clients.
  • Service Clients.
  • Topic Subscribers.
  • Topic Publishers.

Our main goals are:

  • to minimize the amount of boilerplate.
  • to make asynchronous Actions non-blocking.

Documentation

Note that this library is compatible only with:

  • BT.CPP 4.6 or newer.
  • ROS2 Humble or newer.

Additionally, check plugins.hpp to see how to learn how to wrap your Nodes into plugins that can be loaded at run-time.

Acknowledgements

A lot of code is either inspired or copied from Nav2.

For this reason, we retain the same license and copyright.

Core symbols most depended-on inside this repo

Shape

Method 92
Class 19
Function 17
Enum 2

Languages

C++100%

Modules by API surface

behaviortree_ros2/include/behaviortree_ros2/bt_action_node.hpp19 symbols
behaviortree_ros2/include/behaviortree_ros2/bt_service_node.hpp16 symbols
behaviortree_ros2/src/tree_execution_server.cpp11 symbols
behaviortree_ros2/include/behaviortree_ros2/bt_topic_sub_node.hpp11 symbols
behaviortree_ros2/include/behaviortree_ros2/tree_execution_server.hpp9 symbols
btcpp_ros2_samples/src/sleep_server.cpp7 symbols
behaviortree_ros2/include/behaviortree_ros2/bt_topic_pub_node.hpp7 symbols
btcpp_ros2_samples/src/set_bool_node.hpp6 symbols
behaviortree_ros2/src/bt_utils.cpp6 symbols
btcpp_ros2_samples/src/subscriber_test.cpp5 symbols
btcpp_ros2_samples/src/sleep_client.cpp5 symbols
btcpp_ros2_samples/src/sample_bt_executor.cpp5 symbols

For agents

$ claude mcp add BehaviorTree.ROS2 \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page