diff --git a/README.md b/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..4098da0a6d86aa10815600c8a20de26fe1f6d560
--- /dev/null
+++ b/README.md
@@ -0,0 +1,25 @@
+IRI BehaviorTree
+==============
+
+## Description
+
+It's a library to adapt the [behaviortree](https://github.com/BehaviorTree/BehaviorTree.CPP) library to the use
+of [IRI modules](https://gitlab.iri.upc.edu/labrobotica/ros/iri_core/iri_ros_tools).
+
+It provides the possibility of creating asynchronous actions without the need of creating a class. Its *tick* 
+function is called from the main thread. There isn't implemented any *halt* function.
+
+## ROS dependencies
+
+- [behaviortree_cpp_v3](https://github.com/BehaviorTree/BehaviorTree.CPP)
+
+## Installation
+
+- Move to workspace: `roscd && cd ../src`
+- Clone the repository: `git clone https://gitlab.iri.upc.edu/labrobotica/ros/iri_core/iri_behaviortree.git`
+- Compile:  `roscd && cd .. && catkin_make -DCMAKE_BUILD_TYPE=Release`
+
+## 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.
\ No newline at end of file