A middle way for robotics middleware

Robotics is changing. The amount of software available (and needed) is growing. For better or worse, the glue that holds thatsoftware together, the middleware, has a big impact on its viability. YARP is a middleware for robotics, with over a decade’s continuoususe on various humanoid robots. YARP was designed to help code survive changes, to easily experiment with new code and integratewith other systems. In a world of constant transition, with a steady stream of hardware and software upgrades, YARP helps code lastlong enough to make a real impact, and avoid premature loss of good code through middleware muddles. We review the features ofYARP that support this flexibility, describing those situations in which they have been practically useful.

[1]  Giorgio Metta,et al.  Data Flow Port's Monitoring and Arbitration , 2014 .

[2]  Richard T. Vaughan,et al.  The Player/Stage Project: Tools for Multi-Robot and Distributed Sensor Systems , 2003 .

[3]  Ashish B. Shah,et al.  Common Object Request Broker Architecture (CORBA) , 2015 .

[4]  Jameela Al-Jaroodi,et al.  Middleware for Robotics: A Survey , 2008, 2008 IEEE Conference on Robotics, Automation and Mechatronics.

[5]  Giorgio Metta,et al.  A port-arbitrated mechanism for behavior selection in humanoid robotics , 2013, 2013 16th International Conference on Advanced Robotics (ICAR).

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

[7]  Giorgio Metta,et al.  Enhancing software module reusability using port plug-ins: An experiment with the iCub robot , 2014, 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[8]  Giorgio Metta,et al.  Towards long-lived robot genes , 2008, Robotics Auton. Syst..

[9]  Giorgio Metta,et al.  YARP: Yet Another Robot Platform , 2006 .

[10]  Horst-Michael Groß,et al.  MIRA - middleware for robotic applications , 2012, 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[11]  Hans Utz,et al.  Miro - middleware for mobile robot applications , 2002, IEEE Trans. Robotics Autom..

[12]  Herman Bruyninckx,et al.  Open robot control software: the OROCOS project , 2001, Proceedings 2001 ICRA. IEEE International Conference on Robotics and Automation (Cat. No.01CH37164).

[13]  Edwin Olson,et al.  LCM: Lightweight Communications and Marshalling , 2010, 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[14]  Matthias Scheutz,et al.  Development environments for autonomous mobile robots: A survey , 2007, Auton. Robots.