diff --git a/README.md b/README.md index a29f8eb7e0bb73b6adea853e8581418126a91de5..ed826a985052c7c52fa0f59fcf1f0f51352c7f68 100644 --- a/README.md +++ b/README.md @@ -16,11 +16,14 @@ This library is intendend to expand the [behaviortree](https://github.com/Behavi This is acomplished with the definition of a new class **IriBehaviorTreeBasicNodes** that implements this basic BT nodes and provides a function called *init* to register these BT nodes. + The basic nodes provided are: + * **NOP:** Action that always return running. + On the following image a general overview of the inheritance is shown: <img src="doc/images/general_overview.png" alt="Image: General overview"> -These new features allow us to adapt the use of BehaviorTrees to the IRI framework and to add a BehaviorTree layer for the [IRI modules](https://gitlab.iri.upc.edu/labrobotica/ros/iri_core/iri_ros_tools#iri-ros-modules). This module BT layer is just a shared library that wraps the C++ Module API providing a set of BehaviorTree actions and conditions to allow the user to use the module inside a behavior tree. On the following image, a sketch of this wrapper ism shown: +These new features allow us to adapt the use of BehaviorTrees to the IRI framework and to add a BehaviorTree layer for the [IRI modules](https://gitlab.iri.upc.edu/labrobotica/ros/iri_core/iri_ros_tools#iri-ros-modules). This module BT layer is just a shared library that wraps the C++ Module API providing a set of BehaviorTree actions and conditions to allow the user to use the module inside a behavior tree. On the following image, a sketch of this wrapper is shown: <img src="doc/images/bt_module_layer.png" alt="Image: BT module layer sketch"> @@ -36,7 +39,6 @@ These new features allow us to adapt the use of BehaviorTrees to the IRI framewo ## How to use it -Substitute the *BehaviorTreeFactory* object with an *IriBehaviorTreeFactory* object. To add an *IriAsyncActionNode* -just call *registerIriAsyncAction* on the same way that a *registerSimpleAction* would be called. +Add the iri_behaviortree ROS dependency to your node and create (or substitute the *BehaviorTreeFactory* object with) an *IriBehaviorTreeFactory* object. To add an *IriAsyncActionNode* just call *registerIriAsyncAction* on the same way that a *registerSimpleAction* would be called. To register the basic BT nodes just create an object of *IriBehaviorTreeBasicNodes* and call its *init* function.