COROS: A Multi-Agent Software Architecture for Cooperative and Autonomous Service Robots

  • Anis Koubâa
  • Mohamed-Foued Sriti
  • Hachemi Bennaceur
  • Adel Ammar
  • Yasir Javed
  • Maram Alajlan
  • Nada Al-Elaiwi
  • Mohamed Tounsi
  • Elhadi Shakshuki

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.

Keywords

Autonomous service robots Cooperative robots Robotic software engineering Multi-agent systems Robot operating system (ROS) 

References

  1. 1.
    World Robotics 2013 Service Robots: http://www.ifr.org/service-robots/statistics/ (2013)
  2. 2.
    The Player/Stage Project: http://playerstage.sourceforge.net/
  3. 3.
    The MIRA Project: http://www.mira-project.org/
  4. 4.
    Mobile Robot Programming Toolkit (MRPT): http://www.mrpt.org/
  5. 5.
    Robot Operating System (ROS): http://www.ros.org
  6. 6.
    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)CrossRefGoogle Scholar
  7. 7.
    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
  8. 8.
    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
  9. 9.
    Wojtczyk, M.: A new model to design software architectures for mobile service robots, Dissertation, Technische Universität München, München, Germany (2010)Google Scholar
  10. 10.
    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)CrossRefGoogle Scholar
  11. 11.
    The Iroboapp Project: http://www.iroboapp.org (2014)
  12. 12.
    O’Kane, J.M.: A gentle introduction to ROS, independently published (2013). http://www.cse.sc.edu/jokane/agitr/
  13. 13.
    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)Google Scholar
  14. 14.
    Quigley, M., Berger, E., Ng, A.Y.: Stair: hardware and software architecture. In: AAAI 2007 Robotics Workshop, Vancouver, BC, pp. 31–37 (2007)Google Scholar
  15. 15.
    Tardioli, D.: Real-time communication in wireless Ad-Hoc networks. The RT-WMP Protocol, Ph.D. thesis, Universidad de Zaragoza (October 2010)Google Scholar
  16. 16.
    Brugali, D., Prassler, E.: Software engineering for Robotics [from the guest editors]. IEEE Robot. Autom. Mag. 16(1), 9–15 (2009)CrossRefGoogle Scholar
  17. 17.
    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)Google Scholar
  18. 18.
    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)Google Scholar
  19. 19.
    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)Google Scholar
  20. 20.
    Hasselbring, W.: Component-Based Software Engineering. Handbook of Software Engineering and Knowledge EngineeringGoogle Scholar
  21. 21.
    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
  22. 22.
    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)CrossRefGoogle Scholar
  23. 23.
    Lau, K.-K., Wang, Z.: Software component models. IEEE Trans. Softw. Eng. 33(10), 709–724 (2007)CrossRefGoogle Scholar
  24. 24.
    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)Google Scholar
  25. 25.
    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)Google Scholar
  26. 26.
    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)Google Scholar
  27. 27.
    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)
  28. 28.
    Luzzana, A.: Classification and integration of software component models for Robotics, Ph.D. thesis, Università degli studi di Bergamo (April 2013)Google Scholar
  29. 29.
    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)CrossRefGoogle Scholar
  30. 30.
    DeLoach, S.A., Wood, M.F., Sparkman, C.H.: Multiagent systems engineering. Int. J. Softw. Eng. Knowl. Eng. 11(03), 231–258 (2001)CrossRefGoogle Scholar
  31. 31.
    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)Google Scholar
  32. 32.
    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)
  33. 33.
    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)
  34. 34.
    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)CrossRefGoogle Scholar
  35. 35.
    Zambonelli, F., Jennings, N.R., Wooldridge, M.: Developing multiagent systems: the Gaia methodology. ACM Trans. Softw. Eng. Methodol. (TOSEM) 12(3), 317–370 (2003)CrossRefGoogle Scholar
  36. 36.
  37. 37.
    Office courier delivery application. video demonstration, iroboapp project. http://www.iroboapp.org/index.php?title=Videos (2014)

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Anis Koubâa
    • 1
    • 3
    • 4
  • Mohamed-Foued Sriti
    • 2
  • Hachemi Bennaceur
    • 2
  • Adel Ammar
    • 2
  • Yasir Javed
    • 1
    • 3
  • Maram Alajlan
    • 2
    • 3
  • Nada Al-Elaiwi
    • 3
    • 6
  • Mohamed Tounsi
    • 1
  • Elhadi Shakshuki
    • 5
  1. 1.Prince Sultan UniversityRiyadhSaudi Arabia
  2. 2.College of Computer and Information SciencesAl Imam Mohammad Ibn Saud Islamic University (IMSIU)RiyadhKingdom of Saudi Arabia
  3. 3.COINS Research GroupRiyadhSaudi Arabia
  4. 4.CISTER/INESC-TEC, ISEPPolytechnic Institute of PortoPortoPortugal
  5. 5.Acadia UniversityWolfvilleCanada
  6. 6.King Abdulaziz City for Science and Technology (KACST)RiyadhSaudi Arabia

Personalised recommendations