Randazzo Marco, Ruzzenenti Andrea, Natale Lorenzo
iCub Facility, Istituto Italiano di Tecnologia, Genova, Italy.
Front Robot AI. 2018 Feb 16;5:5. doi: 10.3389/frobt.2018.00005. eCollection 2018.
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.
本文介绍了YARP中间件的一些最新进展,旨在改善其与ROS的集成。这些进展包括一种读取/写入ROS变换帧的新机制以及一组用于与ROS导航堆栈进行交互通信的新的标准接口。还介绍了一组新颖的YARP配套模块,这些模块为无法运行ROS的机器人提供基本导航功能。这些模块是可选的,相互独立,并且它们为ROS框架内的知名软件包提供兼容功能。本文还讨论了开发人员如何以最适合其需求的方式自定义自己的混合YARP-ROS环境(例如,系统可以配置为让YARP应用程序向ROS路径规划器发送导航命令,反之亦然)。通过应用于真实和模拟机器人的一组选定测试用例展示了多种可用的可能性。最后,通过提供代码片段和指向托管在github仓库https://github.com/robotology上的源文件的链接,本文中讨论的示例应用程序也可供社区使用。