Mobile manipulation with the TIAGo robot: perception and task manager
Tutor / directorRosell Gratacòs, Jan
Document typeMaster thesis
Rights accessOpen Access
This project aims to design and implement a solution for a complex mobile manipulation task using PAL Robotics’ robot TIAGo. The goal is to use the platform as an assistive robot, making it capable of picking a chosen object from a certain location and moving it to another. More precisely the task in which the project will focus will be to pick a certain soda can from a table with several of them on it and pour its contents into a glass placed on another table for the user to have his/her drink . For that, all the perception, interaction, planning and mobile capabilities of the robotic platform will be exploited in order to develop a suitable and complete solution. The generated solution is a modular method that can be launched as a whole process to complete the entire challenge, but this solution also gives the possibility of using each one of the modules independently. This way it is feasible to easily integrate them to other processes in order to complete other similar tasks, making the packages more versatile and adaptable. The entire project has been divided in two parts. One focused on developing the packages in charge of navigation and arm manipulation, carried out by Xavier Garcia Peroy. The other one, focused on developing perception and task management part, and described in this report. For the perception part, some computer vision capabilities have been implemented using TIAGo’s camera. These capabilities were added in order to get knowledge about the objects with which the robot needs to interact. In this case, these objects were cans of soda which the robot needed to detect and, using some image processing steps, determine their position in order to pick the can of soda chosen by the user. On the other hand, for task management part, a solution based on behavior trees was developed. This solution has been done in a modular way, removing a big part of the complexity of executing each necessary task to achieve the goal of this project, and also decreasing the necessity of going deep in programming in order to make changes and check partial functionalities. That has been achieved with the use of the BehaviorTree library and Groot, a visual tool that has allowed to create the task manager functionalities graphically. Both solutions have been checked to work properly in order to achieve the established goal. However, specially in perception part, some functionalities should still be improved in order to increase the robustness of the method and decrease some limitations. Future work is suggested in order to make these enhancements.