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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Mcilroy, M.D.: ’mass produced’ software components. In: Software Engineering: Report On a Conference Sponsored by the NATO Science Committee, pp. 138–155 (1968)
Szyperski, C.: Component Software – Beyond Object-oriented Programming. Addison-Wesley, Reading (2002)
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)
Collins-Cope, M.: Component based development and advanced OO design. Technical report, Ratio Group Ltd. (2001), http://www.markcollinscope.info/W7.html
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)
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)
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)
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)
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)
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)
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)
Henning, M.: The rise and fall of corba. Queue 4(5), 28–34 (2006)
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)
Mowbray, T.J.: Architecture in the large. Object Mag. 7(10), 24–26 (1997)
Riehle, D.: Framework Design – A Role Modeling Approach. PhD thesis, ETH Zürich (2000)
Orebäck, A., Christensen, H.: Evaluation of architectures for mobile robotics. Autonomous Robots 13(1), 33–49 (2003)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)