Skip to content

BehaviorTree/BehaviorTree.ROS2

Repository files navigation

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.