Abstract
Building distributed applications for cooperative service robots systems is a very challenging task from software engineering perspective. Indeed, apart from the complexity of designing software components for the control of a single autonomous robot, cooperative multi-robot systems require additional care in the design of software components to ensure communication and coordination between the robotic agents. This chapter proposes COROS, a new multi-agent software architecture for cooperative and autonomous service robots with the objective to make easier the design and development of multi-robot applications. We present a high-level conceptual architecture for multi-agent robotics systems that represents a generic framework for cooperative multi-robot applications. Furthermore, we present an instantiation of this generic architecture with an implementation software architecture on top of the Robot Operating System (ROS) middleware. The proposed concrete software architecture follows a component-based approach to ensure modularity, software reuse, extensibility and scalability of the multi-robot operational software. In addition, one major added value of our architecture is that it provides a tangible solution to supporting multi-robot software development for the ROS middleware, as ROS was originally designed for single-robot applications. We also demonstrate a sample of real-world case studies of cooperative and autonomous service robots applications in an office-like environment, including discovery and courier delivery applications.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
World Robotics 2013 Service Robots: http://www.ifr.org/service-robots/statistics/ (2013)
The Player/Stage Project: http://playerstage.sourceforge.net/
The MIRA Project: http://www.mira-project.org/
Mobile Robot Programming Toolkit (MRPT): http://www.mrpt.org/
Robot Operating System (ROS): http://www.ros.org
Westhoff, D., Zhang, J.: A unified Robotic software architecture for service Robotics and networks of smart sensors. In: Berns, K., Luksch, T. (eds.) Autonome Mobile Systeme 2007, Informatik Aktuell, pp. 126–132. Springer, Berlin (2007)
Kim, M., Kim, S., Park, S., Choi, M.-T., Kim, M., Gomaa, H.: UML-based service robot software development: a case study. In: Proceedings of the 28th International Conference on Software Engineering, ICSE’06, pp. 534–543. ACM, New York, USA (2006). doi:10.1145/1134285.1134360, http://doi.acm.org/10.1145/1134285.1134360
Kim, M., Kim, S., Park, S., Choi, M.-T., Kim, M., Gomaa, H.: UML-based service robot software development: a case study. In: Advances in Service Robotics, InTech, pp. 127–148 (2008).doi:10.5772/5947
Wojtczyk, M.: A new model to design software architectures for mobile service robots, Dissertation, Technische Universität München, München, Germany (2010)
Viguria, A., Maza, I., Ollero, A.: Distributed service-based cooperation in aerial/ground robot teams applied to fire detection and extinguishing missions. Adv. Robot. 24(1–2), 1–23 (2010)
The Iroboapp Project: http://www.iroboapp.org (2014)
O’Kane, J.M.: A gentle introduction to ROS, independently published (2013). http://www.cse.sc.edu/jokane/agitr/
Wyrobek, K., Berger, E., Van der Loos, H., Salisbury, J.: Towards a personal Robotics development platform: rationale and design of an intrinsically safe personal Robot. In: IEEE International Conference on Robotics and Automation, ICRA 2008, pp. 2165–2170. IEEE (2008)
Quigley, M., Berger, E., Ng, A.Y.: Stair: hardware and software architecture. In: AAAI 2007 Robotics Workshop, Vancouver, BC, pp. 31–37 (2007)
Tardioli, D.: Real-time communication in wireless Ad-Hoc networks. The RT-WMP Protocol, Ph.D. thesis, Universidad de Zaragoza (October 2010)
Brugali, D., Prassler, E.: Software engineering for Robotics [from the guest editors]. IEEE Robot. Autom. Mag. 16(1), 9–15 (2009)
Calisi, D., Censi, A., Iocchi, L., Nardi, D.: Design choices for modular and flexible Robotic software development: the OpenRDK viewpoint. J. Softw. Eng. Robot. 3(1), 13–27 (2012)
Brooks, A., Kaupp, T., Makarenko, A., Williams, S., Oreback, A.: Towards component-based Robotics. In: 2005 IEEE/RSJ International Conference on Intelligent Robots and Systems, (IROS 2005), pp. 163–168. IEEE (2005)
Lee, T.-Y., Seo, H.-R., Lee, B.-H., Shin, D.-R.: A software component model and middleware architecture for intelligent mobile Robot. In: 2010 The 2nd International Conference on Computer and Automation Engineering (ICCAE), vol. 4, pp. 453–456. IEEE (2010)
Hasselbring, W.: Component-Based Software Engineering. Handbook of Software Engineering and Knowledge Engineering
Broten, G., Mackay, D., Monckton, S., Collier, J.: The robotics experience. IEEE Robot. Autom. Mag. 16(1), 46–54 (2009). doi:10.1109/MRA.2008.931632
Iborra, A., Caceres, D., Ortiz, F., Franco, J., Palma, P., Alvarez, B.: Design of service robots. IEEE Robot. Autom. Mag. 16(1), 24–33 (2009)
Lau, K.-K., Wang, Z.: Software component models. IEEE Trans. Softw. Eng. 33(10), 709–724 (2007)
Bruyninckx, H.: Open Robot control software: the OROCOS project. In: IEEE International Conference on Robotics and Automation. Proceedings 2001 ICRA, vol. 3, pp. 2523–2528. IEEE (2001)
Lütkebohle, I., Philippsen, R., Pradeep, V., Marder-Eppstein, E., Wachsmuth, S.: Generic middleware support for coordinating Robot software components: the task-state-pattern. J. Softw. Eng. Robot. 2(1), 20–39 (2011)
Angerer, A., Hoffmann, A., Schierl, A., Vistein, M., Reif, W.: Robotics API: object-oriented software development for industrial Robots. J. Softw. Eng. Robot. 4(1), 1–22 (2013)
Limbu, D., Tan, Y.-K., Jiang, R., Dung, T.A.: A software architecture framework for service Robots. In: 2011 IEEE International Conference on Robotics and Biomimetics (ROBIO), pp. 1736–1741. doi:10.1109/ROBIO.2011.6181540 (2011)
Luzzana, A.: Classification and integration of software component models for Robotics, Ph.D. thesis, Università degli studi di Bergamo (April 2013)
DeLoach, S.A., Matson, E.T., Li, Y.: Exploiting agent oriented software engineering in cooperative Robotics search and rescue. Int. J. Pattern Recognit. Artif. Intell. 17(05), 817–835 (2003)
DeLoach, S.A., Wood, M.F., Sparkman, C.H.: Multiagent systems engineering. Int. J. Softw. Eng. Knowl. Eng. 11(03), 231–258 (2001)
Parker, L.E.: Current state of the art in distributed autonomous mobile robotics. In: Distributed Autonomous Robotic Systems, vol. 4, pp. 3–12. Springer, Heidelberg (2000)
Matson, E., DeLoach, S.: Enabling intra-robotic capabilities adaptation using an organization-based multiagent system. In: 2004 IEEE International Conference on Robotics and Automation. Proceedings. ICRA’04, vol. 3, pp. 2135–2140. doi:10.1109/ROBOT.2004.1307378 (2004)
Silva, D., Braga, R.A.M., Reis, L., Oliveira, E.: A generic model for a Robotic agent system using GAIA methodology: two distinct implementations. In: 2010 IEEE Conference on Robotics Automation and Mechatronics (RAM), pp. 280–285. doi:10.1109/RAMECH.2010.5513176 (2010)
Wooldridge, M., Jennings, N.R., Kinny, D.: The Gaia methodology for agent-oriented analysis and design. Auton. Agent. Multi-Agent Syst. 3(3), 285–312 (2000)
Zambonelli, F., Jennings, N.R., Wooldridge, M.: Developing multiagent systems: the Gaia methodology. ACM Trans. Softw. Eng. Methodol. (TOSEM) 12(3), 317–370 (2003)
COROS: http://www.iroboapp.org/index.php?title=COROS (2014)
Office courier delivery application. video demonstration, iroboapp project. http://www.iroboapp.org/index.php?title=Videos (2014)
Acknowledgments
This work is supported by the iroboapp project “Design and Analysis of Intelligent Algorithms for Robotic Problems and Applications” under the grant of the National Plan for Sciences, Technology and Innovation (NPSTI), managed by the Science and Technology Unit of Al-Imam Mohamed bin Saud University and by King AbdulAziz Center for Science and Technology (KACST). This work is also supported by the myBot project entitled “MyBot: A Personal Assistant Robot Case Study for Elderly People Care” under the grant from King AbdulAziz City for Science and Technology (KACST). This work is partially supported by National Funds through FCT (Portuguese Foundation for Science and Technology) and by ERDF (European Regional Development Fund) through COMPETE (Operational Programme ‘Thematic Factors of Competitiveness’), within project FCOMP-01-0124-FEDER-037281 (CISTER); by Prince Sultan University.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this chapter
Cite this chapter
Koubâa, A. et al. (2015). COROS: A Multi-Agent Software Architecture for Cooperative and Autonomous Service Robots. In: Koubâa, A., Martínez-de Dios, J. (eds) Cooperative Robots and Sensor Networks 2015. Studies in Computational Intelligence, vol 604. Springer, Cham. https://doi.org/10.1007/978-3-319-18299-5_1
Download citation
DOI: https://doi.org/10.1007/978-3-319-18299-5_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-18298-8
Online ISBN: 978-3-319-18299-5
eBook Packages: EngineeringEngineering (R0)