Design Principles of the Component-Based Robot Software Framework Fawkes

The idea of component-based software engineering was proposed more that 40 years ago, yet only few robotics software frameworks follow these ideas. The main problem with robotics software usually is that it runs on a particular platform and transferring source code to another platform is crucial. In this paper, we present our software framework Fawkes which follows the component-based software design paradigm by featuring a clear component concept with well-defined communication interfaces. We deployed Fawkes on several different robot platforms ranging from service robots to biped soccer robots. Following the component concept with clearly defined communication interfaces shows great benefit when porting robot software from one robot to the other. Fawkes comes with a number of useful plugins for tasks like timing, logging, data visualization, software configuration, and even high-level decision making. These make it particularly easy to create and to debug productive code, shortening the typical development cycle for robot software.

[1]  Alexei Makarenko,et al.  Orca: A Component Model and Repository , 2005, PPSDR@ICRA.

[2]  Luiz Chaimowicz,et al.  ROCI: a distributed framework for multi-robot perception and control , 2003, Proceedings 2003 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2003) (Cat. No.03CH37453).

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

[4]  A.C. Dominguez-Brito,et al.  Component software in robotics , 2004, 2004 2nd International IEEE Conference on 'Intelligent Systems'. Proceedings (IEEE Cat. No.04EX791).

[5]  Michi Henning,et al.  The Rise and Fall of CORBA , 2006, ACM Queue.

[6]  Dominic Létourneau,et al.  Trends in Component-Based Robotics , 2005, PPSDR@ICRA.

[7]  Hector J. Levesque,et al.  GOLOG: A Logic Programming Language for Dynamic Domains , 1997, J. Log. Program..

[8]  François Michaud,et al.  Robotic Software Integration Using MARIE , 2006 .

[9]  Jacky Baltes,et al.  RoboCup 2009: Robot Soccer World Cup XIII [papers from the 13th annual RoboCup International Symposium, Graz, Austria, June 29 - July 5, 2009] , 2010, RoboCup.

[10]  William D. Smart,et al.  Trends in Robot Software Domain Engineering , 2005, PPSDR@ICRA.

[11]  Alexander Ferrein,et al.  A Lua-based Behavior Engine for Controlling the Humanoid Robot Nao , 2009, RoboCup.

[12]  Alexei Makarenko,et al.  Towards component-based robotics , 2005, 2005 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[13]  Anders Orebäck,et al.  Evaluation of Architectures for Mobile Robotics , 2003, Auton. Robots.

[14]  Dirk Riehle,et al.  Framework Design: A Role Modeling Approach , 2000, Softwaretechnik-Trends.

[15]  Davide Brugali,et al.  Software Engineering for Experimental Robotics , 2007 .

[16]  하수철,et al.  [서평]「Component Software」 - Beyond Object-Oriented Programming - , 2000 .

[17]  Thomas J. Mowbray Architecture in the large , 1997 .