YARP-ROS Inter-Operation in a 2D Navigation Task - Randazzo, Marco; Ruzzenenti, Andrea; Natale, Lorenzo (Frontiers in Robotics and AI, 2018)
This work presents some recent developments in YARP middleware, aimed to improve its integration with ROS. They include a new mechanism able to read/write ROS frame transforms and a new set of standard interfaces to %perform navigation tasks and intercommunicate with 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 provide compatible functionalities to well-known packages available inside ROS framework. The paper also discusses how developers can customize their own hybrid YARP-ROS system 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 \href{https://github.com/robotology}{https://github.com/robotology}.