Publications related to Fawkes

Design Principles of the Component-Based Robot Software Framework Fawkes

In Proc. Second International Conference on Simulation, Modeling, and Programming for Autonomous Robots

Authors: Tim Niemueller, Alexander Ferrein, Daniel Beck, Gerhard Lakemeyer
Type: Article in Conference Proceedings
Publication Date: August 2010
Conference: Second International Conference on Simulation, Modeling, and Programming for Autonomous Robots, Darmstadt, Germany
Series: Lecture Notes in Computer Science
Download: fawkes-design-principles-simpar2010.pdf

Abstract: 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.

BibTeX
@InProceedings{simpar2010-fawkes-design-principles-2010,
  title =	{{Design Principles of the Component-Based Robot Software Framework Fawkes}},
  author =	{Tim Niemueller and Alexander Ferrein and Daniel Beck and Gerhard Lakemeyer},
  booktitle =	{Proc. of Second International Conference on Simulation, Modeling, and Programming for Autonomous Robots},
  address =	{Darmstadt, Germany},
  year =	{2010},
  publisher =	{Springer},
  series =	{Lecture Notes in Computer Science},
}