Skip to content
Snippets Groups Projects
Commit 62225ab7 authored by Sergi Hernandez's avatar Sergi Hernandez
Browse files

Initial version of the documentation (incomplete).

parent ca64233d
No related branches found
No related tags found
No related merge requests found
# 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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment