Skip to main content

Design Principles of the Component-Based Robot Software Framework Fawkes

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 6472))

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Mcilroy, M.D.: ’mass produced’ software components. In: Software Engineering: Report On a Conference Sponsored by the NATO Science Committee, pp. 138–155 (1968)

    Google Scholar 

  2. Szyperski, C.: Component Software – Beyond Object-oriented Programming. Addison-Wesley, Reading (2002)

    MATH  Google Scholar 

  3. Brugali, D., Brooks, A., Cowley, A., Côté, C., Domínguez-Brito, A.C., Létourneau, D., Michaud, F., Schlegel, C.: Trends in robot software domain engineering. In: Brugali, D. (ed.) Software Engineering for Experimental Robotics. Springer Tracts in Advanced Robotics, vol. 30, pp. 135–142. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  4. Collins-Cope, M.: Component based development and advanced OO design. Technical report, Ratio Group Ltd. (2001), http://www.markcollinscope.info/W7.html

  5. Chaimowicz, L., Cowley, A., Sabella, V., Taylor, C.: Roci: a distributed framework for multi-robot perception and control. In: Proceedings of the 2003 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 266–271 (2003)

    Google Scholar 

  6. Dominguez-Brito, A., Hernandez-Sosa, D., Isern-Gonzalez, J., Cabrera-Gamez, J.: Component software in robotics. In: Proceedings of the 2004 2nd International IEEE Conference on Intelligent Systems, vol. 2, pp. 560–565. IEEE Press, Los Alamitos (2004)

    Google Scholar 

  7. Côté, C., Brosseau, Y., Létourneau, D., Raïevsky, C., Michaud, F.: Robotic software integration using marie. International Journal of Advanced Robotic Systems 3(1), 55–60 (2006)

    Article  Google Scholar 

  8. Brooks, A., Kaupp, T., Makarenko, A., Williams, S., Orebäck, A.: Towards component-based robotics. In: Proc. IROS 2005, pp. 163–168. IEEE Press, Los Alamitos (2005)

    Google Scholar 

  9. Brooks, A., Kaupp, T., Makarenko, A., Williams, S., Oreback, A.: Orca: a component model and repository. In: Brugali, D. (ed.) Software Engineering for Experimental Robotic, pp. 231–251. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  10. Niemüller, T., Ferrein, A., Lakemeyer, G.: A Lua-based Behavior Engine for Controlling the Humanoid Robot Nao. In: Baltes, J., Lagoudakis, M.G., Naruse, T., Ghidary, S.S. (eds.) RoboCup 2009: Robot Soccer World Cup XIII. LNCS, vol. 5949, pp. 240–251. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  11. Soetens, P.: A Software Framework for Real-Time and Distributed Robot and Machine Control. PhD thesis, Department of Mechanical Engineering, Katholieke Universiteit Leuven, Belgium (May 2006)

    Google Scholar 

  12. Henning, M.: The rise and fall of corba. Queue 4(5), 28–34 (2006)

    Article  Google Scholar 

  13. Quigley, M., Conley, K., Gerkey, B., Faust, J., Leibs, T.B.F.J., Wheeler, R., Ng, A.Y.: ROS: an open-source Robot Operating System. In: Proc. of the Open-Source Software Workshop at the International Conference on Robotics and Automation (2009)

    Google Scholar 

  14. Mowbray, T.J.: Architecture in the large. Object Mag. 7(10), 24–26 (1997)

    MathSciNet  Google Scholar 

  15. Riehle, D.: Framework Design – A Role Modeling Approach. PhD thesis, ETH Zürich (2000)

    Google Scholar 

  16. Orebäck, A., Christensen, H.: Evaluation of architectures for mobile robotics. Autonomous Robots 13(1), 33–49 (2003)

    Article  MATH  Google Scholar 

  17. Levesque, H., Reiter, R., Lespérance, Y., Lin, F., Scherl, R.: GOLOG: A Logic Programming Language for Dynamic Domains. J. of Logic Programming 31 (1997)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Niemueller, T., Ferrein, A., Beck, D., Lakemeyer, G. (2010). Design Principles of the Component-Based Robot Software Framework Fawkes. In: Ando, N., Balakirsky, S., Hemker, T., Reggiani, M., von Stryk, O. (eds) Simulation, Modeling, and Programming for Autonomous Robots. SIMPAR 2010. Lecture Notes in Computer Science(), vol 6472. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-17319-6_29

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-17319-6_29

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-17318-9

  • Online ISBN: 978-3-642-17319-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics