Swarm robotics is a relatively new and emerging research area that inspires swarm intelligence and robotics. It is the result of applying swarm intelligence technics into multi-robotics.
Inspired by the complex behaviors observed in natural swarm systems (e.g., social insects and order living animals), swarm robotics explores how to coordinate large groups of relatively simple robots through the use of local rules. It focuses on studying the design of many relatively simple robots, their physical bodies, and their controlling behaviors.
Swarm robotics aims to build fully distributed de-centralized systems in which system functionality emerges from the interaction of individuals with each other and with their environment.
Since its inception in 2000, several successful swarm robotics projects have been created. This post will explore the top 11 swarm robotics simulation platforms. The list is not exhaustive for all the available projects, but it shows the most used swarm robots platforms.
1. Player/stage
Player/stage is a combined package of free Software tools for robot and sensor applications developed by the international robotics researchers under the GNU license. Player component is one of the most widely used robot control interfaces globally that provides a network interface to a variety of robot and sensor hardware. The control of robots can be programmed throw multi-programming language that can be run on any computer with a network connection to the robot. Stage component is a multiple robot simulator interfaced to Player; it simulates a population of mobile robots moving in and sensing a two-dimensional 2D bitmapped environment.
2. Gazebo
Gazebo is a simulator that extends the stage for 3D outdoor environments. It includes an accurate simulation of rigid-body physics; hence both realistic sensor feedback and possible interactions between objects can be generated. Gazebo presents a standard Player interface in addition to its native interface. In this way, the controllers written for the stage can be used in Gazebo and vice-versa.
3. UberSim
The UberSim is a simulator developed at Carnegie Mellon for rapid validation before loading the program to real robot soccer scenarios. UberSim uses the ODE physics engine for realistic motions and interactions. Although originally designed for Soccer robots, the custom robots and sensors can be written in C in the simulator. The program can be uploaded to the robots using TCP/IP.
4. USARSim
USARSim, shorted for Unified System for Automation and Robot Simulation, is a high fidelity multi-robot simulator originally developed for search and rescue (SAR) research activities of the Robocup contest. It has now become one of the complete general-purpose tools for robotics research and education. It is built upon a widely used commercial game engine, Unreal Engine 2.0. The simulator takes full advantage of high accuracy physics, noise simulation, and numerous geometrics and models from the engine. Evaluations have shown that USARSim can simulate real-time robots well enough for researchers due to the high fidelity physics engine.
5. Enki
Enki is an open-source, fast 2D physics-based robot simulator written in C++. It can simulate the robot swarms hundred times faster on the desktop computer than real-time robots. It can also simulate the kinematics, collision, sensors, and cameras of robots working on a flat surface. Enki is built to support several existing real robot systems, including swarm-bots and E-puck, while the user can customize their robots into the platform.
6. Webots
Webots is a development environment to model, program, and simulate the mobile robots available for more than ten years. With Webots, an user is able to design complex robotic setups with one or several similar or different robots with a wide choice of pre-defined sensors and actuators. The user can customize the objects in the environment. Webots also provides a remote controller for testing real robots. The Webots robot simulator has been used in more than 1018 universities and research centers worldwide.
7. Breve
Breve is a free, open-source software package, making it easy to build 3D simulations of multi-agent systems and artificial life. Behaviors and interactions of agents are defined using Python. Breve uses the ODE physics engine and OpenGL library that allows the observers to view the simulation in the 3D world from any position and direction. Users can interact at run time with the simulation using a web interface. Multiple simulations can interact and exchange individuals over the network.
8. V-REP
V- REP is an open-source 3D robot simulator that allows creating entire robotic systems, simulating, and interacting with dedicated hardware. V-REP is based on distributed control architecture: each object/model can be individually controlled via an embedded script, a plugin, a remote API client, or a custom solution. Controllers can be written in C/C++, Python, Java, Lua, Matlab, Octave, or Urbi in V-REP. They can be directly attached to the objects in the scene and run simultaneously in both threaded and non-threaded fashions. This makes it very versatile and ideal for multi-robot applications. V-REP is used for fast algorithm development, factory automation simulations, fast prototyping and verification, robotics-related education, remote monitoring, safety double-checking, etc.
9. ARGoS
ARGoS was the official simulator of the Swarmanoid project; it is currently the main robot simulation tool for many European projects. ARGoS is a new pluggable, multi-physics engine for simulating the massive heterogeneous swarm robotics in real-time. Contrary to other simulators, every entity in ARGoS is described as a plugin and easy to implement and use. In this way, the multiple physics engines can be used in one experiment, and the robots can migrate from one to another in a transparent way. Results have shown that ARGoS can simulate about 10 000 wheeled robots with full dynamics in real-time. ARGoS is also able to be implemented in parallel in the simulation.
10. TeamBots
TeamBots is a collection of Java applications and java packages for multi-agent mobile robotics research. The simulation environment is fully based on java; however, some execution on mobile robots sometimes requires low-level libraries in C. It supports the prototyping, simulation, and execution of multi-robot control systems, which might be run either in simulation using the TBSim simulation application or on mobile robots using the TBHard robot execution environment.
11. MORSE
MORSE is a Blender Game Engine-based simulator designed to provide a realistic 3D simulation of small to large environments, indoor or outdoor, with the ability to simulate one to tenths of autonomous robots. It comes with a set of robots base models (such as quadrotors, ATRV, Pioneer3DX, generic four-wheel vehicle, PR2…), with the possibility to add new ones.