Skip to content

This package provides tutorials and useful utilities on top of BehaviorTree.CPP v4.

License

Notifications You must be signed in to change notification settings

NTU-Mecatron/BehaviorTree.ROS

 
 

Repository files navigation

BehaviorTree.ROS

This is a fork of the original BehaviorTree.ROS repo, with more elaborate instructions on how to incorporate Behavior Trees with ROS1. The scripts have also been modified to work with the latest version of BehaviorTree.CPP (v4).

Overall information

Currently, two wrappers are provided:

Most recently, two new wrappers have been added:

  • RosSubscriberNode that can be used to subscribe to a ROS topic and check whether the data satisfies a condition.

  • RosPublisherNode that can be used to publish to a ROS topic.

This package also provides an example of how to implement BT in ROS. Specifically:

  • src/main.cpp is an example of how to create a simple BT that calls a ROS Service and a ROS Action, and connect it to Groot2.

  • In the src directory, you can also find add_two_ints_client.h, fibonacci_client.h and print_value.h which are header files to define the three different BT action nodes used in the example.

Tutorials

To skip to running the example, go to Tutorial 4.

How to change your current nodes for Task into a service server

Refer to this https://github.com/NTU-Mecatron/BehaviorTree.ROS/blob/BT-JH/src/python_service.py

How to create a condition node that communicates with rostopic

ROS condition node wrapper: https://github.com/NTU-Mecatron/BehaviorTree.ROS/blob/BT-JH/include/behaviortree_ros/bt_condition_node.h

Example usage of wrapper: https://github.com/NTU-Mecatron/BehaviorTree.ROS/blob/BT-JH/src/condition_nodes.h

Screencast.from.02-09-24.23.01.26.webm

About

This package provides tutorials and useful utilities on top of BehaviorTree.CPP v4.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 92.6%
  • CMake 7.4%