Swarm Intelligence

, Volume 8, Issue 2, pp 89–112 | Cite as

AutoMoDe: A novel approach to the automatic design of control software for robot swarms

  • Gianpiero FrancescaEmail author
  • Manuele Brambilla
  • Arne Brutschy
  • Vito Trianni
  • Mauro BirattariEmail author


We introduce AutoMoDe: a novel approach to the automatic design of control software for robot swarms. The core idea in AutoMoDe recalls the approach commonly adopted in machine learning for dealing with the bias–variance tradedoff: to obtain suitably general solutions with low variance, an appropriate design bias is injected. AutoMoDe produces robot control software by selecting, instantiating, and combining preexisting parametric modules—the injected bias. The resulting control software is a probabilistic finite state machine in which the topology, the transition rules and the values of the parameters are obtained automatically via an optimization process that maximizes a task-specific objective function. As a proof of concept, we define AutoMoDe-Vanilla, which is a specialization of AutoMoDe for the e-puck robot. We use AutoMoDe-Vanilla to design the robot control software for two different tasks: aggregation and foraging. The results show that the control software produced by AutoMoDe-Vanilla (i) yields good results, (ii) appears to be robust to the so called reality gap, and (iii) is naturally human-readable.


Swarm robotics Automatic design AutoMoDe Evolutionary robotics 



The research leading to the results presented in this paper has received funding from the European Research Council under the European Union’s Seventh Framework Programme (FP7/2007-2013) / ERC grant agreement no. 246939. G. Francesca acknowledges support by the META-X project, an Action de Recherche Concertée funded by the Scientific Research Directorate of the French Community of Belgium. M. Brambilla, A. Brutschy, and M. Birattari acknowledge support from the Belgian F.R.S.-FNRS. Vito Trianni acknowledges support by the Italian National Research Council (CNR) within the EUROCORES Programme EuroBioSAS of the European Science Foundation. The authors thank the anonymous reviewers for their useful comments.


  1. Baldassarre, G., Trianni, V., Bonani, M., Mondada, F., Dorigo, M., & Nolfi, S. (2007). Self-organised coordinated motion in groups of physically connected robots. IEEE Transactions on Systems, Man and Cybernetics-Part B, 37(1), 224–239.CrossRefGoogle Scholar
  2. Berman, S., Kumar V., & Nagpal. R. (2011). Design of control policies for spatially inhomogeneous robot swarms with application to commercial pollination. In 2011 IEEE International Conference on Robotics and Automation (ICRA) (pp. 378–385). Piscataway, NJ: IEEE Press.Google Scholar
  3. Birattari, M. (2004). On the estimation of the expected performance of a metaheuristic on a class of instances. How many instances, how many runs? Technical report TR/IRIDIA/2004-001, IRIDIA, Université Libre de Bruxelles, Brussels, Belgium.Google Scholar
  4. Birattari, M. (2009). Tuning metaheuristics: A machine learning perspective. Berlin, Germany: Springer.CrossRefGoogle Scholar
  5. Birattari, M., & Dorigo, M. (2007). How to assess and report the performance of a stochastic algorithm on a benchmark problem: Mean or best result on a number of runs? Optimization Letters, 1(3), 309–311.CrossRefzbMATHMathSciNetGoogle Scholar
  6. Birattari, M., Stützle, T., Paquete, L., & Varrentrapp, K. (2002). A racing algorithm for configuring metaheuristics. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2002) (pp. 11–18). San Francisco: Morgan KaufmannGoogle Scholar
  7. Bishop, C. (1995). Training with noise is equivalent to Tikhonov regularization. Neural Computation, 7(1), 108–116.CrossRefGoogle Scholar
  8. Bongard, J., Zykov, V., & Lipson, H. (2006). Resilient machines through continuous self-modeling. Science, 314(5802), 1118–1121.CrossRefGoogle Scholar
  9. Bongard, J. C. (2013). Evolutionary robotics. Communications of the ACM, 56(8), 74–83.CrossRefGoogle Scholar
  10. Brambilla, M., Pinciroli, C., Birattari, M., & Dorigo. M. (2012). Property-driven design for swarm robotics. In Proceedings of the 11th International Conference on Autonomous Agents and Multiagent Systems (AAMAS 2012) (pp. 139–146). Richland, SC: IFAAMAS.Google Scholar
  11. Brambilla, M., Ferrante, E., Birattari, M., & Dorigo, M. (2013). Swarm robotics: A review from the swarm engineering perspective. Swarm Intelligence, 7(1), 1–41.CrossRefGoogle Scholar
  12. Brooks, R. A. (1986). A robust layered control system for a mobile robot. IEEE Journal of Robotics and Automation, 2(1), 14–23.CrossRefGoogle Scholar
  13. Şahin, E. (2005). Swarm robotics: From sources of inspiration to domains of application. In Proceedings of the 2004 International Conference on Swarm Robotics, volume 3342 of LNCS, (pp. 10–20). Berlin, Germany: Springer.Google Scholar
  14. Dietterich, T., & Kong, E. B. (1995). Machine learning bias, statistical bias, and statistical variance of decision tree algorithms. Technical report: Department of Computer Science, Oregon State University.Google Scholar
  15. Dorigo, M., Birattari, M., & Brambilla, M. (2014). Swarm robotics. Scholarpedia, 9(1), 1463.CrossRefGoogle Scholar
  16. Duarte, M., Oliveira, S., & Christensen, A. L. (2012a). Automatic synthesis of controllers for real robots based on preprogrammed behaviors. In From animals to animats 12, volume 7426 of LNCS (pp. 249–258). Berlin, Germany: Springer.Google Scholar
  17. Duarte, M., Oliveira, S., & Christensen, A. L. (2012b). Hierarchical evolution of robotic controllers for complex tasks. In 2012 IEEE International Conference on Development and Learning and Epigenetic Robotics (ICDL) (pp. 1–6). Piscataway, NJ: IEEE Press.Google Scholar
  18. Ferrante, E., Guzmán, E. D., Turgut, A. E., & Wenseleers, T. (2013). GESwarm: Grammatical evolution for the automatic synthesis of collective behaviors in swarm robotics. In Proceedings of the Fifteenth International Conference on Genetic and Evolutionary Computation Conference Companion (pp. 17–24). New York: ACM.Google Scholar
  19. Floreano, D., & Keller, L. (2010). Evolution of adaptive behaviour in robots by means of Darwinian selection. Plos Biology, 8(1), e1000292.CrossRefGoogle Scholar
  20. Floreano, D., Husbands, P., & Nolfi, S. (2008). Evolutionary robotics. Springer handbook of robotics (pp. 1423–1451). Berlin, Germany: Springer.CrossRefGoogle Scholar
  21. Francesca, G., Brambilla, M., Trianni, V., Dorigo, M., & Birattari. M. (2012). Analysing an evolved robotic behaviour using a biological model of collegial decision making. In From animals to animats 12, volume 7426 of LNCS (pp. 381–390) Berlin, Germany: Springer.Google Scholar
  22. Francesca, G., Brambilla, M., Brutschy, A., Trianni, V., & Birattari, M. (2013). AutoMoDe: A novel approach to the automatic design of control software for robot swarms. Supplementary information page at
  23. Geman, S., Bienenstock, E., & Doursat, R. (1992). Neural networks and the bias/variance dilemma. Neural Computation, 4(1), 1–58.CrossRefGoogle Scholar
  24. Gutiérrez, Á., Campo, A., Dorigo, M., Donate, J., Monasterio-Huelin, F., & Magdalena, L. (2009). Open E-puck range & bearing miniaturized board for local communication in swarm robotics. In 2009 IEEE International Conference on Robotics and Automation (ICRA) (pp. 3111–3116). Piscataway, NJ: IEEE Press.Google Scholar
  25. Hamann, H., & Wörn, H. (2008). A framework of space-time continuous models for algorithm design in swarm robotics. Swarm Intelligence, 2(2), 209–239.CrossRefGoogle Scholar
  26. Harvey, I., Husbands, P., Cliff, D., Thompson, A., & Jakobi, N. (1997). Evolutionary robotics: The Sussex approach. Robotics and Autonomous Systems, 20(2), 205–224.CrossRefGoogle Scholar
  27. Hauert, S., Zufferey, J.-C., & Floreano, D. (2008). Evolved swarming without positioning information: An application in aerial communication relay. Autonomous Robots, 26(1), 21–32.CrossRefGoogle Scholar
  28. Jakobi, N. (1997). Evolutionary robotics and the radical envelope-of-noise hypothesis. Adaptive Behavior, 6(2), 325–368.CrossRefGoogle Scholar
  29. Jakobi, N., Husbands, P., & Harvey, I. (1995). Noise and the reality gap: The use of simulation in evolutionary robotics. In Advances in Artificial Life (ECAL’95), volume 929 of LNCS (pp. 704–720) Berlin, Germany: Springer.Google Scholar
  30. Kazadi, S., Lee, J. R., & Lee, J. (2009). Model independence in swarm robotics. International Journal of Intelligent Computing and Cybernetics, 2(4), 672–694.CrossRefzbMATHMathSciNetGoogle Scholar
  31. Koos, S., Mouret, J., & Doncieux, S. (2013). The transferability approach: Crossing the reality gap in evolutionary robotics. IEEE Transactions on Evolutionary Computation, 17(1), 122–145.CrossRefGoogle Scholar
  32. Liu, W., Winfield, A., Sa, J., Chen, J., & Dou, L. (2007). Strategies for energy optimisation in a swarm of foraging robots. Swarm Robotics, volume 4433 of LNCS (pp. 14–26). Berlin, Germany: Springer.Google Scholar
  33. López-Ibáñez, M., Dubois-Lacoste, J., Stützle, T., & Birattari, M. (2011). The irace package, iterated race for automatic algorithm configuration. Technical report TR/IRIDIA/2011-004, IRIDIA, Université Libre de Bruxelles, Brussels, Belgium.Google Scholar
  34. Maes, P. (1991). The agent network architecture (ANA). ACM SIGART Bulletin, 2(4), 115–120.CrossRefGoogle Scholar
  35. Marocco, D., & Nolfi, S. (2007). Emergence of communication in embodied agents evolved for the ability to solve a collective navigation problem. Connection Science, 19(1), 53–74.CrossRefGoogle Scholar
  36. Matarić, M. (1997a). Learning social behavior. Robotics and Autonomous Systems, 20(2–4), 191–204.CrossRefGoogle Scholar
  37. Matarić, M. (1997b). Reinforcement learning in the multi-robot domain. Autonomous Robots, 4(1), 73–83.Google Scholar
  38. Miglino, O., Lund, H. H., & Nolfi, S. (1995). Evolving mobile robots in simulated and real environments. Artificial Life, 2(4), 417–434.Google Scholar
  39. Mitri, S., Floreano, D., & Keller, L. (2011). Relatedness influences signal reliability in evolving robots. Proceedings of the Royal Society of London. Series B: Biological Sciences, 278(1704), 378–383.CrossRefGoogle Scholar
  40. Mondada, F., Bonani, M., Raemy, X., Pugh, J., Cianci, C., Klaptocz, A., Magnenat, S., Zufferey, J.-C., Floreano, D., & Martinoli, A. (2009a). The e-puck, a robot designed for education in engineering. In Proceedings of the 9th Conference on Autonomous Robot Systems and Competitions (pp. 59–65). Castelo Branco, Portugal: IPCB: Instituto Politécnico de Castelo Branco.Google Scholar
  41. Mondada, F., Bonani, M., Raemy, X., Pugh, J., Cianci, C., Klaptocz, A., Magnenat, S., Zufferey, J.-C., Floreano, D., & Martinoli, A. (2009b). E-puck website. URL Accessed Nov 2013.
  42. Nolfi, S. (2002). Power and the limits of reactive agents. Neurocomputing, 42(1), 119–145.CrossRefzbMATHGoogle Scholar
  43. Nolfi, S., & Floreano, D. (2000). Evolutionary robotics: The biology, intelligence, and technology of self-organizing machines. Cambridge, MA: MIT Press.Google Scholar
  44. Panait, L., & Luke, S. (2005). Cooperative multi-agent learning: The state of the art. Autonomous Agents and Multi-Agent Systems, 11(3), 387–434.CrossRefGoogle Scholar
  45. Parker, L. E. (1996). L-ALLIANCE: Task-oriented multi-robot learning in behavior-based systems. Advanced Robotics, 11(4), 305–322.CrossRefGoogle Scholar
  46. Pinciroli, C., Trianni, V., O’Grady, R., Pini, G., Brutschy, A., Brambilla, M., et al. (2012). ARGoS: A modular, parallel, multi-engine simulator for multi-robot systems. Swarm Intelligence, 6(4), 271–295.CrossRefGoogle Scholar
  47. Pinville, T., Koos, S., Mouret, J.-B., & Doncieux, S. (2011). How to promote generalisation in evolutionary robotics: The ProGAb approach. In Proceedings of the 13th Annual Conference on Genetic and Evolutionary Computation (pp. 259–266). New York: ACM.Google Scholar
  48. R Development Core Team. (2008). R: A language and environment for statistical computing. Vienna, Austria: R Foundation for Statistical Computing. URL
  49. Riano, L., & McGinnity, T. M. (2012). Automatically composing and parameterizing skills by evolving finite state automata. Robotics and Autonomous Systems, 60(4), 639–650.CrossRefGoogle Scholar
  50. Stranieri, A., Turgut, A., Francesca, G., Reina, A., Dorigo, M., & Birattari, M. (2013). IRIDIA’s arena tracking system. Technical report TR/IRIDIA/2013-013, IRIDIA, Université Libre de Bruxelles, Brussels, Belgium.Google Scholar
  51. Trianni, V., & Dorigo, M. (2006). Self-organisation and communication in groups of simulated and physical robots. Biological Cybernetics, 95(3), 213–231.CrossRefzbMATHGoogle Scholar
  52. Trianni, V., & Nolfi, S. (2009). Self-organising sync in a robotic swarm. A dynamical system view. IEEE Transactions on Evolutionary Computation, 13(4), 722–741.CrossRefGoogle Scholar
  53. Trianni, V., & Nolfi, S. (2011). Engineering the evolution of self-organizing behaviors in swarm robotics: A case study. Artificial Life, 17(3), 183–202.CrossRefGoogle Scholar
  54. Tuci, E. (2009). An investigation of the evolutionary origin of reciprocal communication using simulated autonomous agents. Biological Cybernetics, 101(3), 183–199.CrossRefGoogle Scholar
  55. Urzelai, J., Floreano, D., Dorigo, M., & Colombetti, M. (1998). Incremental robot shaping. Connection Science, 10(3–4), 341–360.CrossRefGoogle Scholar
  56. Waibel, M., Keller, L., & Floreano, D. (2009). Genetic team composition and level of selection in the evolution of cooperation. IEEE Transactions on Evolutionary Computation, 13(3), 648–660.CrossRefGoogle Scholar
  57. Winfield, A. F. T., & Erbas, M. D. (2011). On embodied memetic evolution and the emergence of behavioural traditions in robots. Memetic Computing, 3(4), 261–270.CrossRefGoogle Scholar
  58. Wischmann, S., Floreano, D., & Keller, L. (2012). Historical contingency affects signaling strategies and competitive abilities in evolving populations of simulated robots. Proceedings of the National Academy of Sciences, 109(3), 864–868.CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  1. 1.IRIDIA, Université Libre de BruxellesBrusselsBelgium
  2. 2.ISTC-CNRRomeItaly

Personalised recommendations