YARP-ROS Inter-Operation in a 2D Navigation Task

This paper presents some recent developments in YARP middleware, aimed to improve its integration with ROS. They include a new mechanism to read/write ROS transform frames and a new set of standard interfaces to intercommunicate with the ROS navigation stack. A novel set of YARP companion modules, which provide basic navigation functionalities for robots unable to run ROS, is also presented. These modules are optional, independent from each other, and they provide compatible functionalities to well-known packages available inside ROS framework. This paper also discusses how developers can customize their own hybrid YARP-ROS environment in the way it best suits their needs (e.g., the system can be configured to have a YARP application sending navigation commands to a ROS path planner, or vice versa). A number of available possibilities is presented through a set of chosen test cases applied to both real and simulated robots. Finally, example applications discussed in this paper are also made available to the community by providing snippets of code and links to source files hosted on github repository https://github.com/robotology.1

[1]  Morgan Quigley,et al.  ROS: an open-source Robot Operating System , 2009, ICRA 2009.

[2]  Katja D. Mombaur,et al.  Walking of the iCub humanoid robot in different scenarios: Implementation and performance analysis , 2016, 2016 IEEE-RAS 16th International Conference on Humanoid Robots (Humanoids).

[3]  Giorgio Metta,et al.  The design and validation of the R1 personal humanoid , 2017, 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).

[4]  Kurt Konolige,et al.  The Office Marathon: Robust navigation in an indoor office environment , 2010, 2010 IEEE International Conference on Robotics and Automation.

[5]  Giorgio Metta,et al.  A middle way for robotics middleware , 2014 .

[6]  Nikolaos G. Tsagarakis,et al.  Yarp Based Plugins for Gazebo Simulator , 2014, MESAS.

[7]  Lorenzo Natale,et al.  The iCub Software Architecture: Evolution and Lessons Learned , 2016, Front. Robot. AI.

[8]  Giulio Sandini,et al.  The iCub humanoid robot: An open-systems platform for research in cognitive development , 2010, Neural Networks.

[9]  Gabriele Nava,et al.  Stability analysis and design of momentum-based controllers for humanoid robots , 2016, 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).

[10]  S Cousins,et al.  ROS on the PR2 [ROS Topics] , 2010 .