Roborobo! a Fast Robot Simulator
for Swarm and Collective Robotics
Nicolas Bredeche

arXiv:1304.2888v1 [cs.RO] 10 Apr 2013

UPMC, CNRS
Paris, France
nicolas.bredeche@isir.upmc.fr

NTNU
Trondheim, Norway
montanier.jeanmarc@gmail.com

Berend Weel

Evert Haasdijk

Vrije Universiteit Amsterdam
The Netherlands
b.weel@vu.nl

Vrije Universiteit Amsterdam
The Netherlands
e.haasdijk@vu.nl

ABSTRACT
Roborobo! is a multi-platform, highly portable, robot simulator for large-scale collective robotics experiments. Roborobo!
is coded in C++, and follows the KISS guideline (”Keep it
simple”). Therefore, its external dependency is solely limited to the widely available SDL library for fast 2D Graphics.
Roborobo! is based on a Khepera/ePuck model. It is targeted for fast single and multi-robots simulation, and has
already been used in more than a dozen published research
mainly concerned with evolutionary swarm robotics, including environment-driven self-adaptation and distributed evolutionary optimization, as well as online onboard embodied
evolution and embodied morphogenesis.

Keywords
robot simulator, evolutionary robotics, swarm robotics, collective adaptive systems, C++, SDL graphics library

1.

Jean-Marc Montanier

INTRODUCTION

This paper introduces Roborobo!, a light-weight multiplatform simulator for extensive robotics experiment, based
on basic robotic hardware setup similar to the famous ePuck [5]
or Khepera [13] robotic platforms. Roborobo! is mostly intended at, but not limited to, researchers and practictionners interested in collective adaptive systems and evolutionary robotics, with a particular emphasis on embodied evolution (ie. online evolution) and swarm robotics (> 100
robots, as illustrated in Figure 1). The underlying idea is to
provide a versatile framework for easy development of new
ideas and very fast and robust implementation for extensive
experiments. Roborobo! is available under the new BSD
Licence [18] at https://code.google.com/p/Roborobo/.
With respect to other robotic simulators, Roborobo! takes
an intermediate approach to model a robotic setup in order to combine (pseudo-)realistic modelling with fast-paced
simulation. As such, it stands inbetween realistic, but slow,
robotic simulation framework (such as Player/Stage [8], Webots [26], V-Rep [25], Gazebo [7] or Microsoft Robotic Developper Studio [17]), and unrealistic, but easy to use, agentbased simulation tools such as Netlogo [24] and MASON [12].
It also differs from easy-access and fast robotic agent simu-

lators such as Breve [11] and Simbad [9], by focusing solely
on swarm and aggregate of robotic units, focusing on largescale population of robots1 in 2-dimensional worlds rather
than more complex 3-dimensional models.
Roborobo! is written in C + + with the multi-platform
SDL graphics library [22] as unique dependency, enabling
easy and fast deployment. It has been tested on a large set of
platforms (PC, Mac, OpenPandora [20], Raspberry Pi [21])
and operating systems (Linux, MacOS X, MS Windows). It
has also been deployed on large clusters, such as the french
Grid5000 [4] national clusters. Roborobo! has been initiated
in 2009 and is used on a daily basis in several universities
for both research and education, including Universite ParisSud and Universite Pierre et Marie Curie (France), Vrije
Universiteit Amsterdam (NL), and NTNU (Norway).
Roborobo! was originaly developped by Nicolas Bredeche
in 2009 in the context of the european Symbrion Integrated
Project [23], and has been continuously extended since then.
It has been extensively used in various contexts, mostly
concerned with evolutionary robotics and swarm robotics,
including embodied evolution [10, 6], environment-driven
evolutionary adaptation [14, 1, 16, 15, 3, 2, 19] and selfassembly [28, 27].

Acknowledgments
The authors wish to thank all people who contributed to this
project, including Leo Cazenille. This work was made possible by
the European Union FET Proactive Initiative: Pervasive Adaptation funding the Symbrion project under grant agreement 216342.
Roborobo! was extensively tested in a cluster environment using
the Grid’5000 experimental testbed, being developed under the
INRIA ALADDIN development action with support from CNRS,
RENATER and several Universities as well as other funding bodies (see https://www.grid5000.fr).

2. REFERENCES
[1] N. Bredeche and J.-M. Montanier. Environment-driven
Embodied Evolution in a Population of Autonomous
Agents. In The 11th International Conference on Parallel
Problem Solving From Nature (PPSN 2010), pages
290–299, 2010.
1
e.g. Roborobo! is able to run with up to 6000 robots on a
4GB laptop computer.

Figure 1: Classic examples with 1 virtual (e-puck) agent, incl. IR sensor rays (left) ; 100 virtual agents
(center) ; 5000 virtual agents (right).
[2] N. Bredeche and J.-M. Montanier. Open-ended evolution
with a population of autonomous robots. In Workshop on
Evolution of Physical Systems at ALIFE XIII, July 2012.
[3] N. Bredeche, J.-M. Montanier, W. Liu, and A. F. Winfield.
Environment-driven Distributed Evolutionary Adaptation
in a Population of Autonomous Robotic Agents.
Mathematical and Computer Modelling of Dynamical
Systems, Special Issue: Modelling the swarm – analysing
biological and engineered swarm systems, 18(1):101–129,
2012.
[4] F. Cappello, E. Caron, M. Daydé, F. Desprez, Y. Jégou,
P. Primet, E. Jeannot, S. Lanteri, J. Leduc, N. Melab,
G. Mornet, R. Namyst, B. Quetier, and O. Richard.
Grid’5000: a large scale and highly reconfigurable grid
experimental testbed. In Grid Computing, 2005. The 6th
IEEE/ACM International Workshop on, pages 8 pp.+,
2005.
[5] http://www.e-puck.org.
[6] P. Garcı́a-Sánchez, A. Eiben, E. Haasdijk, B. Weel, and
J.-J. Merelo-Guervós. Testing diversity-enhancing
migration policies for hybrid on-line evolution of robot
controllers. pages 52–62, 2012.
[7] http://gazebosim.org.
[8] B. P. Gerkey, R. T. Vaughan, and A. Howard. The
player/stage project: Tools for multi-robot and distributed
sensor systems. In In Proceedings of the 11th International
Conference on Advanced Robotics, pages 317–323, 2003.
[9] L. Hugues and N. Bredeche. Simbad: An autonomous robot
simulation package for education and research. In From
Animals to Animats 9, 9th International Conference on
Simulation of Adaptive Behavior, Proceedings, pages
831–842, 2006.
[10] R.-J. Huijsman, E. Haasdijk, and A. E. Eiben. An on-line
on-board distributed algorithm for evolutionary robotics.
pages 119–131, 2011.
[11] J. Klein. breve: a 3d environment for the simulation of
decentralized systems and artificial life. In Proceedings of
the eighth international conference on Artificial life, ICAL
2003, pages 329–334, Cambridge, MA, USA, 2003. MIT
Press.
[12] http://cs.gmu.edu/ eclab/projects/mason.
[13] F. Mondada, E. Franzi, and A. Guignard. The
Development of Khepera. In Experiments with the
Mini-Robot Khepera, Proceedings of the First International
Khepera Workshop, HNI-Verlagsschriftenreihe, Heinz
Nixdorf Institut, pages 7–14, 1999.
[14] J.-M. Montanier and N. Bredeche. Embedded evolutionary
robotics: the (1+1)-restart-online adaptation algorithm. In
IEEE IROS Workshop on Exploring new horizons in
Evolutionary Design of Robots (Evoderob09), pages 37–43,

Oct. 2009.
[15] J.-M. Montanier and N. Bredeche. Emergence of altruism
in open-ended evolution in a population of autonomous
agents. (poster). In Proceedings of GECCO 2011, pages
25–26, July 2011.
[16] J.-M. Montanier and N. Bredeche. Surviving the tragedy of
commons: Emergence of altruism in a population of
evolving autonomous agents. In Proceedings of the 11th
European Conference on Artificial Life (ECAL’11), pages
550–557, Aug. 2011.
[17] http://www.microsoft.com/robotics.
[18] http://opensource.org/licenses/BSD-3-Clause.
[19] N. Noskov, E. Haasdijk, B. Weel, and A. Eiben. Monee:
Multi-objective and open-ended evolution. In Applications
of Evolutionary Computation: EvoApplications 2013.
Springer-Verlag, 2013. to be published.
[20] http://www.openpandora.org/.
[21] http://www.raspberrypi.org/.
[22] http://www.libsdl.org/.
[23] http://www.symbrion.eu.
[24] S. Tisue and U. Wilensky. Netlogo: A simple environment
for modeling complexity. In in International Conference on
Complex Systems, pages 16–21, 2004.
[25] http://www.coppeliarobotics.com.
[26] http://www.cyberbotics.com.
[27] B. Weel, E. Haasdijk, and A. Eiben. Body building:
Hatching robot organisms. In Proceedings of the 2013 IEEE
Symposium Series on Computational Intelligence. IEEE,
IEEE Press, 2013. to be published.
[28] B. Weel, E. Haasdijk, and A. E. Eiben. The emergence of
multi-cellular robot organisms through on-line on-board
evolution. In C. Di Chio et al, editor, Applications of
Evolutionary Computation, volume 7248 of Lecture Notes
in Computer Science, pages 124–134. Springer, 2012.

