Swarm robotics resources

This page provides some useful resources I have collected for swarm robotics.

(Thanks  Professor Melanie Moses in the CS department of U of New Mexico introduced me to swarm robotics.)

Intro

“Swarm robotics is an approach to the coordination of multiple robots as a system which consist of large numbers of mostly simple physical robots. It is supposed that a desired collective behavior emerges from the interactions between the robots and interactions of robots with the environment. This approach emerged on the field of artificial swarm intelligence, as well as the biological studies of insects, ants and other fields in nature, where swarm behaviour occurs.” — Swarm robotics (wiki page)

See the following for some good intro to Swarm robotics:

Marco Dorigo et al. (2014), Scholarpedia, 9(1):1463.

“Swarm robotics is the study of how to design groups of robots that operate without relying on any external infrastructure or on any form of centralized control. In a robot swarm, the collective behavior of the robots results from local interactions between the robots and between the robots and the environment in which they act. The design of robot swarms is guided by swarm intelligence principles. These principles promote the realization of systems that are fault tolerant, scalable and flexible. Swarm robotics appears to be a promising approach when different activities must be performed concurrently, when high redundancy and the lack of a single point of failure are desired, and when it is technically infeasible to set up the infrastructure required to control the robots in a centralized way. Examples of tasks that could be profitably tackled using swarm robotics are demining, search and rescue, planetary or underwater exploration, and surveillance.”

Origins: Swarm robotics has its origins in swarm intelligence and, in fact, could be defined as “embodied swarm intelligence”. Initially, the main focus of swarm robotics research was to study and validate biological research (Beni, 2005). Early collaboration between roboticists and biologists helped bootstrap swarm robotics research, which has since become a research field in its own right. In recent years, the focus of swarm robotics has been shifting: from a bio-inspired field of robotics, swarm robotics is increasingly becoming an engineering field whose focus is on the development of tools and methods to solve real problems (Brambilla et al., 2013).

“Swarm robotics is a new approach to the coordination of multi-robot systems which consist of large numbers of mostly simple physical robots. It is supposed that a desired collective behavior emerges from the interaction between the robots and the interaction of robots with the environment. This approach emerged in the field of artificial swarm intelligence as well as the biological study of insects, ants and other fields in the nature, where a swarm behavior occurs.

The research on the swarm robotics is to study the design of large amount of relatively simple robots, their physical body and their controlling behaviors. The individuals in the swarm are normally simple, small and low cost so as to take the advantage of a large population. A key component of the system is the communication between the agents in the group which is normally local, and guarantees the system to be scalable and robust.

A plain set of rules at individual level can produce a large set of complex behaviors at the swarm level. The rules of controlling the individuals are abstracted from the cooperative behavior in the nature swarm. The swarm is distributed and de-centralized, and the system shows high efficiency, parallelism, scalability and robustness.”

One major drawback of swarm robotics is that the robot collectives controlled using its principles of simplicity and local interaction are usually inefficient in carrying out a given task, trading efficiency for robustness. Another source of inspiration for the control of large collectives that attempt to handle this problem is based on the social sciences. Although our approach in this chapter draws on biological concepts, a reference to this other paradigm is relevant here, to put things in perspective.

In order to avoid robot to robot collisions, we rely on the marker detection to predict positions and speeds of the other robots. This information can be used to efficiently compute a noncolliding speed vector as we have developed previously in Claes et al. (2012). In contrast to this previous approach, in which the robot-robot detection was avoided by using a global reference frame and broadcasting the positions to all robots via Wi-Fi, solely the marker detection and the predictions using a Kalman filter are used. This means that a few collisions still might occur due to failure to detect the markers of the other robots and additionally, there are certain configurations in which the robots cannot see each other due to the field of view of the Kinect sensor, e.g., when two robots drive in a V-shape toward each other, the field of view of the Kinect is too narrow to detect the other robot.

Research papers

 Hamann, H. (2018). Swarm Robotics: A Formal Approach. New York: Springer International Publishing. 

Bayındır, L. (2016). A review of swarm robotics tasksNeurocomputing172, 292-321. ( Cited by 183 as of 3/5/2020)

Tan, Y., & Zheng, Z. Y. (2013). Research advance in swarm roboticsDefence Technology9(1), 18-39. ( Cited by 232 as of 3/5/2020)

Brambilla, M., Ferrante, E., Birattari, M., & Dorigo, M. (2013). Swarm robotics: a review from the swarm engineering perspectiveSwarm Intelligence7(1), 1-41. (Cited by 915 as of 3/5/2020)

Navarro, I., & Matía, F. (2012). An introduction to swarm roboticsIsrn robotics2013. ( Cited by 150 as of 3/5/2020)

Şahin, E. (2004, July). Swarm robotics: From sources of inspiration to domains of application. In International workshop on swarm robotics (pp. 10-20). Springer, Berlin, Heidelberg. (Cited by 920 as of 3/5/2020)

 

Applications

“Potential applications for swarm robotics are many. They include tasks that demand miniaturization (nanoroboticsmicrobotics), like distributed sensing tasks in micromachinery or the human body. One of the most promising uses of swarm robotics is in disaster rescue missions. Swarms of robots of different sizes could be sent to places rescue workers can’t reach safely, to detect the presence of life via infra-red sensors. On the other hand, swarm robotics can be suited to tasks that demand cheap designs, for instance mining or agricultural foraging tasks.” — Swarm robotics (wiki page)

Potential applications of swarm robotics

“The properties of swarm robotics systems make them appealing in several potential application domains.

The use of robots for tackling dangerous tasks is clearly appealing as it eliminates or reduces risks for humans. The dangerous nature of these tasks implies a high risk of losing robots. Therefore, a fault-tolerant approach is required, making dangerous tasks an ideal application domain for robot swarms. Example of dangerous tasks that could be tackled using robot swarms are demining, search and rescue, and cleaning up toxic spills.

Potential applications for robot swarms are those in which it is difficult or even impossible to estimate in advance the resources needed to accomplish the task. For instance, allocating resources to manage an oil leak can be very hard because it is often difficult to estimate the oil output and to foresee its temporal evolution. In these cases, a solution is needed that is scalable and flexible. A robot swarm could be an appealing solution: robots can be added or removed in time to provide the appropriate amount of resources and meet the requirements of the specific task. Example of tasks that might require an a priori unknown amount of resources are search and rescue, tracking, and cleaning.

Another potential application domain for swarm robotics are tasks that have to be accomplished in large or unstructured environments, in which there is no available infrastructure that can be used to control the robots—e.g., no available communication network or global localization system. Robot swarms could be employed for such applications because they are able to act autonomously without the need of any infrastructure or any form of external coordination. Examples of tasks in unstructured and large environments are underwater or extraterrestrial planetary exploration, surveillance, demining, and search and rescue.

Some environments might change rapidly over time. For instance, in a post earthquake situation, buildings might collapse—thereby changing the layout of the environment and creating new hazards. In these cases, it is necessary to adopt solutions that are flexible and can react quickly to events. Swarm robotics could be used to develop flexible systems that can rapidly adapt to new operating conditions. Example of tasks in environments that change over time are patrolling, disaster recovery, and search and rescue.” — Swarm robotics (Scholarpedia)