ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

ROS implementation of Behavior Trees?

asked 2013-08-23 04:07:39 -0500

Pi Robot gravatar image

updated 2013-08-23 04:08:20 -0500


I have run through the tutorials for both SMACH and teer. I am wondering if anyone has implemented a ROS package based on behavior trees as used in some AI game software?


edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2013-12-18 02:59:13 -0500

updated 2013-12-18 20:46:49 -0500

I have just discovered this package which has its own implementation of behavior trees.

I haven't tried yet, but It might be what you are looking for.

edit flag offensive delete link more


Excellent! Thanks for the pointer.

Pi Robot gravatar image Pi Robot  ( 2013-12-18 03:12:19 -0500 )edit

Recently did my own searching, and also came across as an implementation from this paper:

mrjogo gravatar image mrjogo  ( 2016-06-07 11:45:33 -0500 )edit

I actually found a stable behavior tree implementation here: . I first started first using the almc implementation, but the miccol one has the concept of "halt" that allows an action to be preempted.

addonics gravatar image addonics  ( 2016-06-16 08:15:23 -0500 )edit

I ended up writing my own Python implementation called pi_trees which includes ROS wrappers for actions, topics and services.

Pi Robot gravatar image Pi Robot  ( 2016-06-16 08:56:58 -0500 )edit

answered 2019-08-22 03:51:31 -0500

Thazz gravatar image

New package BehaviorTree.CPP is also available. Looks very promising. There is also video from ROSDevCon.

edit flag offensive delete link more


Thanks! I am currently using Py Trees which seems to be a very thorough implementation, well documented, and actively developed.

Pi Robot gravatar image Pi Robot  ( 2019-08-22 07:42:39 -0500 )edit

Question Tools



Asked: 2013-08-23 04:07:39 -0500

Seen: 1,103 times

Last updated: Dec 18 '13