Abstract

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

Highlights

  • YARP is an open-source robotics middleware, designed to be modular, non-invasive, and flexible

  • YARP development is historically correlated to the iCub robot (Metta et al, 2010; Natale et al, 2016), a child-sized humanoid platform for the study of cognitive robotics

  • Available methods allow the user to query the server about the registered YARP and ROS transforms, to perform kinematic computations, and to register on the server new transforms computed by YARP modules

Read more

Summary

INTRODUCTION

YARP is an open-source robotics middleware, designed to be modular, non-invasive, and flexible. YARP development is historically correlated to the iCub robot (Metta et al, 2010; Natale et al, 2016), a child-sized humanoid platform for the study of cognitive robotics. Balancing a bipedal walking robot like iCub is a problem that has been addressed only recently by some research groups (Hu et al, 2016; Nava et al, 2016) This is the reason why a standard navigation interface was missing in YARP so far. Yarp can be used to interface applications belonging to the two different frameworks and running on different operating systems. This goal is accomplished through a set of dedicated YARP classes and interfaces, as shown

YARP Ports and ROS Topics
TransformServer and TransformClient
MapGrid2D
Map2DLocation
YARP MODULES AND TOOLS FOR NAVIGATION
Map2DServer
BaseControl
Mapper2D
LocalizationServer
RobotGoto
RobotPathPlanner
NAVIGATION INTEGRATION AND EXAMPLES
CONCLUSION AND FUTURE WORK

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.