ARGoS: a modular, parallel, multi-engine simulator for multi-robot systems

Abstract

We present a novel multi-robot simulator named ARGoS. ARGoS is designed to simulate complex experiments involving large swarms of robots of different types. ARGoS is the first multi-robot simulator that is at the same time both efficient (fast performance with many robots) and flexible (highly customizable for specific experiments). Novel design choices in ARGoS have enabled this breakthrough. First, in ARGoS, it is possible to partition the simulated space into multiple sub-spaces, managed by different physics engines running in parallel. Second, ARGoS’ architecture is multi-threaded, thus designed to optimize the usage of modern multi-core CPUs. Finally, the architecture of ARGoS is highly modular, enabling easy addition of custom features and appropriate allocation of computational resources. We assess the efficiency of ARGoS and showcase its flexibility with targeted experiments. Experimental results demonstrate that simulation run-time increases linearly with the number of robots. A 2D-dynamics simulation of 10,000 e-puck robots can be performed in 60 % of the time taken by the corresponding real-world experiment. We show how ARGoS can be extended to suit the needs of an experiment in which custom functionality is necessary to achieve sufficient simulation accuracy. ARGoS is open source software licensed under GPL3 and is downloadable free of charge.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Notes

  1. 1.

    http://www.swarmanoid.org.

  2. 2.

    http://ascens-ist.eu.

  3. 3.

    http://www.esf.org/activities/eurocores/running-programmes/eurobiosas/collaborative-research-projects-crps/h2swarm.html.

  4. 4.

    http://www.e-swarm.org/.

  5. 5.

    http://www.ode.org/.

  6. 6.

    http://www.epicgames.com/.

  7. 7.

    http://www.cs.cmu.edu/~claytronics/.

  8. 8.

    http://code.google.com/p/chipmunk-physics/.

  9. 9.

    http://qt.nokia.com/.

  10. 10.

    http://www.opengl.org/.

  11. 11.

    http://www.povray.org/.

  12. 12.

    http://www.mathworks.com/products/matlab/.

  13. 13.

    http://www.arm.com/.

  14. 14.

    http://www.lua.org/.

  15. 15.

    Each machine has two AMD Opteron Magny-Cours processors type 6128, each processor with 8 cores. The total size of the RAM is 16 GB.

  16. 16.

    However, the sense+control and act phases are still executed in parallel.

  17. 17.

    With N=105 robots, ARGoS used about 800 MB of RAM.

References

  1. Ashley-Rollman, M. P., Pillai, P., & Goodstein, M. L. (2011). Simulating multi-million-robot ensembles. In 2011 IEEE international conference on robotics and automation (pp. 1006–1013). Piscataway: IEEE Press.

    Google Scholar 

  2. Bachrach, J., Beal, J., & McLurkin, J. (2010). Composable continuous-space programs for robotic swarms. Neural Computing & Applications, 19, 825–847.

    Article  Google Scholar 

  3. Bonani, M., Magnenat, S., Rétornaz, P., & Mondada, F. (2009). The hand-bot, a robot design for simultaneous climbing and manipulation. In Lecture notes in computer science: Vol. 5928. Proceedings of the second international conference on intelligent robotics and applications (ICIRA 2009) (pp. 11–22). Berlin: Springer.

    Google Scholar 

  4. Bonani, M., Longchamp, V., Magnenat, S., Rétornaz, P., Burnier, D., Roulet, G., Vaussard, F., Bleuler, H., & Mondada, F. (2010). The marXbot, a miniature mobile robot opening new perspectives for the collective-robotic research. In Proceedings of the IEEE/RSJ international conference on intelligent robots and systems (IROS) (pp. 4187–4193). Piscataway: IEEE Press.

    Google Scholar 

  5. Carpin, S., Lewis, M., Wang, J., Balakirsky, S., & Scrapper, C. (2007). USARSim: a robot simulator for research and education. In Proceedings of the IEEE conference on robotics and automation (ICRA) (pp. 1400–1405). Piscataway: IEEE Press.

    Google Scholar 

  6. Dorigo, M., Floreano, D., Gambardella, L., Mondada, F., Nolfi, S., Baaboura, T., Birattari, M., Bonani, M., Brambilla, M., Brutschy, A., Burnier, D., Campo, A., Christensen, A., Decugnière, A., Di Caro, G., Ducatelle, F., Ferrante, E., Förster, A., Martinez Gonzales, J., Guzzi, J., Longchamp, V., Magnenat, S., Mathews, N., Montes de Oca, M., O’Grady, R., Pinciroli, C., Pini, G., Rétornaz, P., Roberts, J., Sperati, V., Stirling, T., Stranieri, A., Stützle, T., Trianni, V., Tuci, E., Turgut, A., & Vaussard, F. (2013) Swarmanoid: a novel concept for the study of heterogeneous robotic swarms. IEEE Robotics and Automation Magazine (In press).

  7. Ducatelle, F., Di Caro, G., & Gambardella, L. (2010). Cooperative self-organization in a heterogeneous swarm robotic system. In Proceedings of the genetic and evolutionary computation conference (GECCO), New York: ACM. Proceedings on CD-ROM.

    Google Scholar 

  8. Ducatelle, F., Di Caro, G., Pinciroli, C., & Gambardella, L. M. (2011). Self-organised cooperation between robotic swarms. Swarm Intelligence, 5(2), 73–96.

    Article  Google Scholar 

  9. Ferrante, E., Turgut, A. E., Mathews, N., Birattari, M., & Dorigo, M. (2010). Flocking in stationary and non-stationary environments: a novel communication strategy for heading alignment. In R. Schaefer, C. Cotta, J. Kołodziej, & G. Rudolph (Eds.), LNCS: Vol. 6239. Parallel problem solving from nature—PPSN XI (pp. 331–340). Berlin: Springer.

    Google Scholar 

  10. Friedman, M. (2010). Simulation of autonomous robot teams with adaptable levels of abstraction. PhD thesis, Technische Universität Darmstadt, Germany.

  11. Holmes, D. W., Williams, J. R., & Tilke, P. (2010). An events based algorithm for distributing concurrent tasks on multi-core architectures. Computer Physics Communications, 181(2), 341–354.

    Article  Google Scholar 

  12. Howard, A., Matarić, M., & Sukhatme, G. (2002). Mobile sensor network deployment using potential fields: a distributed, scalable solution to the area coverage problem. In Proceedings of the international symposium on distributed autonomous robotic systems (DARS) (pp. 299–308). New York: Springer.

    Google Scholar 

  13. Koenig, N., & Howard, A. (2004). Design and use paradigms for Gazebo, an open-source multi-robot simulator. In Proceedings of the IEEE/RSJ international conference on intelligent robots and systems (IROS) (pp. 2149–2154). Piscataway: IEEE Press.

    Google Scholar 

  14. Kramer, J., & Schultz, M. (2007). Development environments for autonomous mobile robots: a survey. Autonomous Robots, 22(2), 101–132.

    Article  Google Scholar 

  15. Magnenat, S., Rétornaz, P., Bonani, M., Longchamp, V., & Mondada, F. (2010). ASEBA: a modular architecture for event-based control of complex robots. IEEE/ASME Transactions on Mechatronics, PP(99), 1–9.

    Google Scholar 

  16. Mathews, N., Christensen, A., Ferrante, E., O’Grady, R., & Dorigo, M. (2010). Establishing spatially targeted communication in a heterogeneous robot swarm. In Proceedings of 9th international conference on autonomous agents and multiagent systems (AAMAS 2010) (pp. 939–946). Toronto: IFAAMAS.

    Google Scholar 

  17. Michel, O. (2004). Cyberbotics Ltd.—Webots: professional mobile robot simulation. International Journal of Advanced Robotic Systems, 1(1), 39–42.

    Google Scholar 

  18. Mondada, F., Bonani, M., Raemy, X., Pugh, J., Cianci, C., Klaptocz, A., Magnenat, S., Zufferey, J.-C., Floreano, D., & Martinoli, A. (2009). The e-puck, a robot designed for education in engineering. In Proceedings of the 9th conference on autonomous robot systems and competitions (Vol. 1, pp. 59–65). Castelo Branco: IPCB.

    Google Scholar 

  19. Montes de Oca, M. A., Ferrante, E., Mathews, N., Birattari, M., & Dorigo, M. (2010). Opinion dynamics for decentralized decision-making in a robot swarm. In M. Dorigo et al. (Eds.), LNCS: Vol. 6234. Proceedings of the seventh international conference on swarm intelligence (ANTS 2010) (pp. 251–262). Berlin: Springer.

    Google Scholar 

  20. Pinciroli, C., O’Grady, R., Christensen, A., & Dorigo, M. (2009). Self-organised recruitment in a heterogeneous swarm. In The 14th international conference on advanced robotics (ICAR 2009) (p. 8). Proceedings on CD-ROM, paper ID 176.

    Google Scholar 

  21. Pinciroli, C., Trianni, V., O’Grady, R., Pini, G., Brutschy, A., Brambilla, M., Mathews, N., Ferrante, E., Caro, G. D., Ducatelle, F., Stirling, T., Gutiérrez, A., Gambardella, L. M., & Dorigo, M. (2011). ARGoS: a modular, multi-engine simulator for heterogeneous swarm robotics. In Proceedings of the IEEE/RSJ international conference on intelligent robots and systems (IROS 2011) (pp. 5027–5034). Los Alamitos: IEEE Comput. Soc.

    Google Scholar 

  22. Pini, G., Brutschy, A., Scheidler, A., Dorigo, M., & Birattari, M. (2012). Task partitioning in a robot swarm: retrieving objects by transferring them directly between sequential sub-tasks. Technical report TR/IRIDIA/2012-010, IRIDIA, Université Libre de Bruxelles, Brussels, Belgium.

  23. Roberts, J., Stirling, T., Zufferey, J., & Floreano, D. (2007). Quadrotor using minimal sensing for autonomous indoor flight. In European micro air vehicle conference and flight competition (EMAV). Proceedings on CD-ROM.

    Google Scholar 

  24. Roberts, J., Stirling, T., Zufferey, J.-C., & Floreano, D. (2009). 2.5d infrared range and bearing system for collective robotics. In IEEE/RSJ international conference on intelligent robots and systems (IROS 2009), Piscataway: IEEE Press.

    Google Scholar 

  25. Tanenbaum, A. S. (2001). Modern operating systems (2nd ed.). New Jersey: Prentice-Hall.

    Google Scholar 

  26. Teschner, M., Heidelberger, B., Mueller, M., Pomeranets, D., & Gross, M. (2003). Optimized spatial hashing for collision detection of deformable objects. In Proceedings of the vision, modeling, and visualization conference (pp. 47–54). Heidelberg: Aka.

    Google Scholar 

  27. Vaughan, R. (2008). Massively multi-robot simulation in Stage. Swarm Intelligence, 2(2), 189–208.

    Article  Google Scholar 

Download references

Acknowledgements

The research presented in this paper was carried out in the framework of Swarmanoid, a project funded by the Future and Emerging Technologies programme (IST-FET) of the European Commission under grant IST-022888. This work was also partially supported by the ERC Advance Grant “E-SWARM: Engineering Swarm Intelligence Systems” (grant 246939), and by the EU project ASCENS (grant 257414). Giovanni Pini acknowledges support from Université Libre de Bruxelles through the “Fonds David & Alice Van Buuren”. Manuele Brambilla acknowledges support from the Fund for Industrial and Agricultural Research FRIA-FNRS of Belgium’s French Community. Nithin Mathews thanks Wallonia-Brussels-International (WBI) for its support in the form of a Scholarship for Excellence grant (IN.WBI). Arne Brutschy, Rehan O’Grady, Mauro Birattari and Marco Dorigo acknowledge support from the Belgian F.R.S.-FNRS, of which they are a Research Fellow, a Postdoctoral Researcher, a Research Assistant and a Research Director, respectively.

Author information

Affiliations

Authors

Corresponding author

Correspondence to Carlo Pinciroli.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Pinciroli, C., Trianni, V., O’Grady, R. et al. ARGoS: a modular, parallel, multi-engine simulator for multi-robot systems. Swarm Intell 6, 271–295 (2012). https://doi.org/10.1007/s11721-012-0072-5

Download citation

Keywords

  • Simulation
  • Swarm robotics
  • Multi-robot systems
  • High-performance
  • ARGoS