diff --git a/README.md b/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..da3faf4a3c4fdae1a14e96272554b8044a5b8cf9
--- /dev/null
+++ b/README.md
@@ -0,0 +1,74 @@
+# Description
+
+This ROS package provides both the module and behavior tree layers to control the play motion feature of the TIAGo robot. The play motion feature allows the robot to execute a predefined motion including all the joints of the robot (arms, grippers, torso and head) but not the mobile platform.
+
+For further information on the TIAGo native interface to the play motion feature see chapter 29 in the [robot's handbook](https://drive.google.com/file/d/1gX6Twci7MKl5pHaDE6Qt4hsYe9T1PET3/view?usp=sharing).
+
+For further details on the concept of module check the [iri_ros_tools documentation](https://gitlab.iri.upc.edu/labrobotica/ros/iri_core/iri_ros_tools#iri-ros-modules).
+
+For further details on the use of behavior trees at IRI check the [iri_behaviortree documentation](https://gitlab.iri.upc.edu/labrobotica/ros/iri_core/iri_behaviortree).
+
+## Module layer
+
+The main features provided by this module are:
+* The desired motion is identified by its name.
+* Since each robot can have different pre-defined motions, the existence of the desired motion is checked before trying to execute it.
+* Interfaces with the TIAGO native play motion action server
+* Handles all possible outcomes of the action.
+
+### ROS interfaces
+
+#### Action clients
+
+* **play_motion**<play_motion_msgs::PlayMotionAction>: Client of the play motion action of the TIAGo robot.
+
+#### Parameters
+
+* **play_motion_module_rate_hz** (default=1.0): 
+* **play_num_retries** (default=1): The maximum number of attempts to start the action before reporting and error.
+* **play_feedback_watchdog_time_s** (default=1.0): The maximum time between two consecutive feedback messages before reporting an error.
+* **play_enable_watchdog** (defaul=False): Whether to enable or disable the watchdog feature.
+* **play_timeout_s** (default=10.0): The maximum time allowed to complete the action before reporting an error.
+* **play_enable_timeout** (default=True=: Whether to enable or disable the timeout feature.
+* **play_enabled** (default=True): Whether to enable or disable the module. If disabled, all action will immediately finish successfully.
+
+See the [action wrapper documentation](https://gitlab.iri.upc.edu/labrobotica/ros/iri_core/iri_ros_tools#action-client-wrapper) for more detailed description of these parameters.
+
+* **motions_param_path** (default=/play_motion/motions): parameter server namspace where all motions are defined.
+
+### Dependencies
+This package requires the following packages:
+
+* [iri_ros_tools](https://gitlab.iri.upc.edu/labrobotica/ros/iri_core/iri_ros_tools):
+* [iri_base_algorithm](https://gitlab.iri.upc.edu/labrobotica/ros/iri_core/iri_base_algorithm):
+* [iri_base_bt_client](https://gitlab.iri.upc.edu/labrobotica/ros/iri_core/iri_base_bt_client):
+* [iri_behaviortree](https://gitlab.iri.upc.edu/labrobotica/ros/iri_core/iri_behaviortree):
+
+## Behavior tree layer
+
+The Behavior tree layer exports all the module's features to be used in the context of a Behavior tree.
+
+# Installation
+Move to the active workspace:
+```bash
+roscd && cd ../src
+```
+
+Clone the repository: 
+```bash
+git clone ssh://git@gitlab.iri.upc.edu:2202/labrobotica/ros/platforms/tiago/iri_tiago_play_motion_module.git
+```
+
+Install ROS dependencies:
+```
+roscd
+cd ..
+rosdep install -i -r --from-paths src
+```
+
+Compile the workspace:
+```
+catkin_make
+```
+
+# Launch