1. Introduction
In multi-robot systems, simple robots cooperate with each other to perform complex tasks that are often challenging or even not possible for only one robot to accomplish [
1]. The use of multi-robot systems can be beneficial in several robotic applications where solving a problem requires the cooperation of multiple agents, such as search and rescue, specifically in dangerous areas, underwater and space exploration, autonomous vehicles, and so forth. In these application areas, several simple robots could cooperate to solve a complex problem or perform the assignment in a more fault-tolerant, reliable, faster, or highly cost-effective manner than a single complex robot with all the capabilities [
1]. In comparison to single-robot systems, multi-robotic systems could offer various advantages such as distributed sensing, distributed action because of acting in different places, improved performance through using parallelism, and fault tolerance due to the redundancy of the system [
2]. However, the simplicity of these systems has raised other challenges, such as the higher probability of collisions and uncertainty about other robots’ intentions during the cooperation [
2].
1.1. Swarm Robotics
Swarm robotics is an area of research in the field of artificial life and multi-robot systems, which aims to coordinate multiple and relatively simple robots in a distributed manner [
3]. In robot swarms, robots’ interactions with other robots and the environment could lead to the emergence of desired collective behaviours for specific applications [
4]. Swarm robotics is inspired by biological systems, notably social insects. Each individual in a natural swarm may show simple and single abilities; however, the whole swarm can exhibit complex behaviours, such as migrations of a flock of birds, schools of fishes and foraging behaviour of bee or ant colonies [
5]. It is indicated that individuals do not require sophisticated knowledge to perform these complex behaviours [
6]. Specifically, local communication and information transmission among the individuals of a swam are believed to be responsible for the emergence of these complex behaviours [
5]. The individuals of social insects have no knowledge of global colony or task status. In fact, in a swarm, knowledge is distributed throughout all agents, where a sole individual cannot accomplish a task without help from the rest of the swarm. Thus, individuals cooperate and interact locally to solve complex tasks. These characteristics contribute to the three principal advantages of natural swarms, which are desirable in multi-robotic systems:
scalability, swarms of robots should be able to work either in small groups or in groups of thousands;
adaptability, a swarm must be capable of creating multiple solutions for different types of tasks, and alter each robot’s role according to the situation;
robustness, a swarm of robots must still work, even when some individuals fail or disturbances occur in the environment [
4]. These characteristics can be valuable when applied to artificial systems, leading to more robust engineering designs.
Robotic swarms have been deployed in the past decades in various areas of applications, including mobile sensor networking [
7], odour localization [
8], and search and rescue [
9]. However, developing large robot swarms that coordinate and cooperate to perform a task or solve a problem remains a challenge [
10].
1.2. Aggregation
Research in swarm robotics is typically focused on cooperative and collective behaviours among living things. Aggregation, foraging, coordinated movement, and task allocation are examples of these behaviours. However, among these collective behaviours, the aggregation behaviour plays a fundamental and often pre-conditional role [
11,
12].
Most studies on aggregation behaviour in swarm robotics have been inspired by the observable aggregation behaviour in nature [
13,
14]. Aggregation behaviour is one of the most frequent behaviours observed among many living creatures, such as birds, fish, insects, and mammals [
15]. Different species live in aggregations for different reasons, such as anti-predator reactions, construction of a nest, etc.
Self-organizing and cue-based aggregation are two types of aggregation behaviours that have been observed in nature [
16]. Cue-based aggregation usually relies on environmental cues such as temperature, light, or humidity for aggregation. In contrast, self-organized aggregation depends on emergent cooperative decision-making among individuals without relying on specific external cues[
16]. The behaviour of aggregation in swarm robotics is similarly categorized into two distinct types: cue-based [
17,
18] and self-organizing [
19,
20], mirroring the classification observed in living organisms. Natural phenomena such as bird flocks, mammal herds, and fish schools are interesting examples of such behaviours, offering effective strategies for coordinating numerous autonomous agents when only local information is available [
5].
1.3. Reynolds’ Flocking Rules
In biology, flocking behaviours in natural systems have been investigated for a long time. Reynolds [
21] was the first to develop an algorithm that simulates the flocking behaviours of birds. Reynolds [
21] developed the artificial life program Boids and demonstrated that effective flocking can be achieved in an artificial swarm. In this work, simulated entities use the position and velocity data of nearby neighbours, along with their movement patterns, to collaboratively determine their subsequent actions based on defined behaviours. Reynolds proposed three heuristic rules for successful flocking behaviour, which are as follows:
Separation: Steer to avoid colliding with nearby neighbours.
Alignment: Steer toward the average heading of nearby neighbours.
Cohesion: Steer toward the average position of neighbours.
Reynolds [
21] defined flocking behaviour as “polarized, non-colliding, aggregate motion”. While both aggregation and flocking involve the collective movement of individuals, aggregation tends to focus on individuals coming together without strict coordination, while flocking involves coordinated movement patterns with alignment, cohesion, and separation behaviours. According to these rules, each entity moves toward the center of mass of its neighbours, avoids collisions and aligns its orientation with the average orientation of its neighbours.
This study introduces a method using Reynolds’s rules to aggregate robots scattered in an arena into a single group, addressing integration challenges such as collision among various groups of robots moving in the same direction. To improve the aggregation behaviour, we proposed using the K-means algorithm to identify clusters of agents. This simple approach can handle clustering a large number of individual data points and might, therefore, be useful for a swarm robotics system with large numbers of robots. The performance of the developed system was evaluated under various environments and conditions, such as various obstacles, agent failure, different numbers of robots and arena sizes.
2. Background and Related Works
Swarm robotics is the practice of achieving a goal through a large number of simple robots. This implies that the swarm must be aggregated for cooperation in order to achieve the goal. Various methodologies, such as probabilistic methods, evolutionary methods, artificial physics algorithms, and control algorithms, have been suggested to tackle the challenge of self-organized aggregation in swarm robotics.
In probabilistic methods, aggregation behaviour is achieved using probabilistic finite state machines (PFSMs) inspired by the aggregation behaviour observed in natural systems, such as cockroaches and honey bees (e.g., see [
22]). According to this model, the likelihood of a robot joining or leaving clusters depends on the sizes of the clusters. A greater probability is assigned for a robot to join a larger cluster, while a smaller probability is designated for leaving a smaller cluster (e.g., see [
22,
23]). Cambier et al. [
24] integrated the PFSM model with naming game models [
25] and observed a significant enhancement of aggregation capabilities. Firat et al. [
26] studied the aggregation of swarm robots at specific locations within a predefined scenario controlled by a Finite State Machine (FSM). In their research, the authors used informed robots, which are members of a swarm programmed to stop only at experimenter-defined locations for aggregation [
26]. In some works, artificial evolution techniques have been employed to simulate self-organized aggregation models. In this method, the robot is typically controlled by evolutionary algorithms or neural networks, which map sensory inputs into output commands for the robot’s actuators (e.g., see [
27,
28]).
In artificial physics algorithms, the process of aggregation is commonly realized by applying artificial laws of physics to simulate the interactions between robots. For example, Gasparri et al. [
29] attained effective aggregation results by employing attractive and repulsive artificial forces among a swarm of robots. In another study, Güzel et al. [
30] proposed a decentralized strategy for multi-agent systems to facilitate collective and collaborative behaviours. This framework introduces a new clustering behaviour based on a vision-based goal detection algorithm, allowing swarm agents to autonomously agree to join a group and assign a leader to each group in a decentralized and local manner [
30]. In this work, the leader of each group uses a vision-based goal detection algorithm. Once the leader begins moving, each member follows the leader and moves in the same direction, ensuring the maintenance of the desired formation pattern [
30]. Another work investigated the collective aggregation behaviour within a swarm of foot-bot robots employing a topological method [
31]. This method models inter-robot interactions through virtual viscoelastic forces. Foot-bots only interacted with their K-Nearest Neighbours (KNNs) instead of all neighbours within their field of vision. Each robot selected its KNNs solely based on distance constraints [
31]. The concept is inspired by the observation that individuals in the biological systems interact only with their closest neighbours (around six or seven) rather than with all the available neighbours in their field of view [
32,
33]. Later, an extension of that approach, known as Distance-Weighted K-Nearest Neighbors (DW-KNN), was implemented to include robot density as an additional factor to improve the performance of swarm aggregation [
34,
35]. In this technique, distances to neighbours are adjusted based on density-based estimation values obtained from the neighbours. Subsequently, the robots are virtually drawn toward their K nearest neighbours with the smallest weighted distances.
In studies for control algorithms, Mısır et al. [
36] introduced a novel fuzzy logic-based self-organizing aggregation technique. Unlike conventional self-organizing aggregation methods in swarm robotics, the approach involved the use of fuzzy logic controllers to assess limited sensor data. Fraser [
37] presented a bio-inspired aggregation method based on Reynolds’ flocking rules to achieve the self-organizing aggregation behaviour in a swarm of robots through local interactions. In this algorithm, the flocking behaviour is based on the information that each individual e-puck robot
1 has about its neighbours. To obtain data from the environment, each e-puck robot uses its IR sensors. In addition to the IR sensors’ normal function as proximity or light sensors, they also provide a standard IR communication protocol through which data can be exchanged between multiple e-puck robots. In order to use IR communication between robots, one `Emitter’ and `Receiver’ node of the Webots have been used for each e-puck robot. To enable the robot to receive a localized bearing of the emitter without needing centralized control, a compass module was added to each e-puck in order to simulate the “Range and Bearing Turret” of real e-pucks. Therefore, each robot can communicate with the other. This algorithm contains a message protocol to receive and process the information of each message from another robot. Each communicated message contains the number of e-puck robots in each robot neighbourhood detected using IR sensors, the signal strength, which represents the distance of the message signal, and the message signal direction. Data on angle and Euclidean distance allow the e-puck robot to determine the message’s origin. To implement
heading alignment, each robot obtains directions from the detected robots and calculates the target heading alignment vector. If there are other robots and no obstacles, then the robot will steer toward the direction of its nearest e-puck robot and change its emitter range to send its current orientation. Otherwise, the e-puck robot will perform obstacle avoidance. To enforce the
cohesion rule, every time, the new emitter range is calculated to avoid individuals being too close or too far apart. Finally, to implement the
separation rule, each robot’s IR sensors detect objects and other robots. Obstacle avoidance will be achieved through polling the proximity sensors. The data on the sensor’s position will assist in locating the obstacle. The procedure of this algorithm is shown in
Figure 1.
As indicated in [
37], the main limitation of using Reynolds’ rules for aggregation behaviour is that increasing the arena size results in longer execution times and affects the scalability of the swarm due to poor communication between the agents.
3. Materials and Methods
In this paper, we developed a biologically inspired robot controller to coordinate multiple robots based on Reynolds’ rules. To address the scalability issues of the flocking-based aggregation approaches, we used a K-means algorithm to identify clusters of agents. To evaluate the performance of our proposed method, we compared it with an available robot controller based on the work of [
37]. We will refer to it as the “Reynolds” approach controller in the following. This section details the design and implementation of our proposed algorithm and the approaches employed to address the challenges in multi-agent interactions.
3.1. Simulation World
In this study, Webots simulation software [
38] has been used for 3D simulation and implementation of the experiments. Webots provides a free and open-source professional simulation environment for both virtual and real mobile robots. This software supports different programming languages for robot controllers, where the behaviour of the robots is defined. For this project, all the robot controllers are written in the C and C++ programming languages, and the source code is available at GitHub
2.
3.2. E-Puck Robotic Platform
We used an open-source robotic platform, the e-puck mobile robot [
39]. The e-puck is 7.4 cm in diameter and has two wheels to move. The e-puck’s flexibility, low cost, and small size make it well-suited for a hardware-based research approach. In addition, the e-puck is equipped with different useful sensors and actuators such as 8 Infra-red (IR) sensors for detecting the proximity of obstacles, light sensors, the 3D accelerometer, camera, etc., (see
Figure 2). E-puck’s integration with Webots software makes it easy to program, cross-compile, simulate, and control the robot remotely.
3.3. Reynolds _K-Means Algorithm
This study mainly aims to design a robot controller that could drive the swarm of N e-puck mobile robots to aggregate somewhere within an arena without any predetermined aggregation zones. Thus, to achieve the desired aggregation behaviour, it is necessary to design an aggregation control model to determine the proper input control parameters for e-puck robots.
The Reynolds algorithm has one major drawback, which is that the three defined rules (i.e., Cohesion, Alignment, and Separation) must be calculated by using an entity that knows the position and orientation of each robot as it is an artificial life principle to use only information available from the agent’s own perspective (as much as possible) [
40]. Therefore, in this study, we developed two robot controllers: 1)
“e-puck controller" that is the local controller of each robot and is used to implement the separation Reynolds’ rule and adjust the orientation, speed, etc., for the robot, and 2)
“my_Supervisor controller" where a supervisor node is defined to receive the position of each robot and implement the aggregation and cohesion rules of the Reynolds strategy for robots.
3.3.1. Flocking Behaviour
We developed a robot controller to coordinate the movements of multiple robots in small groups using Reynolds’ flocking rules when these robots are moving to aggregate and form a single final group. To obtain data from the environment, each e-puck robot uses its eight IR sensors. These sensors allow the e-puck robot to observe its immediate environment and react to it based on the processed sensory inputs. In addition to the IR sensors’ normal function as proximity or light sensors, E-pucks also contain a variety of wired and wireless communication channels, primarily used in communication with a host computer (Supervisor node). This technology allows the control of the robot using wireless technology and provides full remote access to the sensory data [
39]. In this study, a compass module is added to each robot that is used for heading alignment. Each robot has to adjust the direction of its heading according to its neighbouring robots’ headings. The compass module provides data that the robot can use to determine its heading in the environment. The achieved data from the compass module is in the format of a three-dimensional vector in the direction of the north point in the simulation.
To implement a flocking-based aggregation behaviour, we use a two-step strategy: i) Find the local groups of robots in close proximity to enforce the rule of aggregation. ii) To promote the rule of cohesion, try to centralize these local groups. For achieving the first step, we use the k-means clustering algorithm [
41]. After that, we change the heading of the robots in each local group (each cluster) in the direction of the global center of all groups.
3.3.2. K-Means
K-means clustering is a popular unsupervised machine learning algorithm [
41]. In machine learning, several data points found to be similar can be aggregated together as a cluster. There are several similarity measures, such as correlation-based distance and Euclidean-based distance, that can be used to identify homogeneous subgroups in data. We minimize the following cost function for implementing the k-means clustering algorithm [
42].
where
N is the number of data points,
, the number
,
is used to determine if data point
is assigned to cluster
k, (
), or not (
for
), and
representing the centers of cluster
kth. The goal is to find
and
values such that J is minimized.
In this study, first, the K-means algorithm selects K cluster centers randomly and distributes robots among clusters using the Euclidean distance (similarity measure) of each robot from the center of the cluster. Thus, the robots that are near each other will aggregate together as one cluster. Then, the algorithm computes new cluster centers based on the current robots’ positions in the cluster. This procedure is repeated until all the robots are clustered. The idea is based on the observation that in biological systems, individuals typically interact with only their immediate neighbours rather than engaging with all potential neighbours [
32,
33]. By executing the K-means algorithm, the robots in each local group will be directed toward the center of their group (swarming behaviour) (see Algorithm 1).
Algorithm 1: Alignment Algorithm |
Input:
K : Number of Clusters
- 1:
- 2:
Use clustering algorithm to find:
- 3:
Membership of each robot to a certain cluster
- 4:
of each cluster
- 5:
For each robot i:
- 6:
|
The supervisor node then computes the global center of the K cluster centers. After reaching the relative maximum cohesion of the swarm of robots, calculated based on Equations
2 and
3, the alignment algorithm is executed once more to direct all the robots to the coordinates of this global center. The heading direction of the robots in each group will be changed in the direction of the global center of all of the groups (see Algorithm 2). Finally, the robots in all of the groups move toward this global center; therefore, at this stage, the flocking behaviour of each group and the cohesion rule will be satisfied (see Algorithm 3).
Algorithm 2: Receiving Message in Each Robot |
Event:
Receiving a Message
- 1:
- 2:
- 3:
IF():
- 4:
For each robot i:
- 5:
- 6:
- 7:
- 8:
|
Algorithm 3: Cohesion Algorithm |
Inputs:
K: Number of Clusters
:Array of cluster Centers
- 1:
- 2:
For each cluster i :
- 3:
- 4:
- 5:
For each robot i:
- 6:
|
3.3.3. Separation Algorithm
Another important factor in flocking behaviour is obstacle avoidance. The IR sensors of each robot are used to control the proximity between the robots in a swarm and avoid obstacles that might be in the way. A threshold is defined for each IR sensor on the robot. If the value of the IR sensor is above the threshold, its information will be saved as proximity information. The data on the sensor’s position will assist in locating the obstacle. In our case, if the IR sensor’s value is more than 90, we set the corresponding value in a boolean array, `Obs’, to true; otherwise, we set it to false. The velocity of the left and right wheels will be adjusted accordingly to avoid obstacles (see Algorithm 4).
Algorithm 4: Separation Algorithm |
Inputs:
Obs[0..7]
- 1:
- 2:
- 3:
- 4:
- 5:
IF
- 6:
- 7:
- 8:
Else If
- 9:
- 10:
- 11:
Else If
- 12:
- 13:
End If
|
3.4. Cohesion Performance Metric
To make an evaluation metric for measuring cohesion, first, we use the following relation to compute the sum of distances between each robot and the global center of the mass:
where
represents Euclidean distance between two positions, and
and
are the global center of the mass and the position of the robot
i at time
t, respectively. After that, we get the cohesion measure at time
t from the equation below:
It can be seen that
. The value near 0 represents weak cohesion and the value near 1 represents strong cohesion for each algorithm at time
t.
4. Research Questions
We have presented the research questions below.
Does the developed swarm system exhibit flocking behaviour using robots’ information?
How quickly do robots aggregate to form a flocking behaviour using robots’ information?
Is the system capable of exhibiting flocking behaviour in the presence of various obstacles in the arena?
Is the swarm of robots able to continue flocking behaviour in the event of a failure of one or more robots?
Is the developed swarm system scalable?
5. Experiments Results and Discussion
In this paper, five experiments were implemented to answer the research questions. To simulate a swarm robotics system, e-puck robots are randomly distributed and oriented towards arbitrary directions in a bounded arena of size 3 m × 3 m with 1 cm wall height.
5.1. Experiment 1: Exhibiting Flocking Behaviour
To answer the first research question, we investigated whether all robots move as a group and exhibit flocking behaviour or not. This was examined by executing the simulation program and observing the robots’ behaviours. In this experiment, robots were scattered randomly in the arena, and by running the algorithm, we expected them to aggregate and move together in a swarm. (Results are shown in
Figure 3).
At the beginning of the simulation, all the robots were scattered randomly in the arena (t=0s); after executing the algorithm, the robots were partitioned into K = 3 clusters and began to form 3 cohesive clusters (t=10s). Then, all the robots in each cluster adapt their heading direction (alignment algorithm) toward the center of all 3 clusters’ centers, and robots in each cluster move together in a swarm (t=15s) to form a bigger swarm of robots. By (t=20s), all the robots have aggregated and formed a uniform cluster (see
Figure 3).
As illustrated in
Figure 4, comparing the cohesion performance measure of the Reynolds algorithm [
37] and our proposed algorithm (Reynolds_K-means algorithm) shows that our algorithm outperformed the Reynolds algorithm [
37] in terms of both the speed of convergence and quality of cohesion measure (the closer the value is to 1, the stronger the cohesion for each algorithm at time
t).
5.2. Experiment 2: Aggregation Time
To answer the second research question, e-puck robots were randomly scattered in the arena, and the average time of multiple simulation runs was calculated. In this experiment, we ensured consistency by using the same parameters and number of robots as in [
37] for a direct comparison of results. As can be seen in
Table 1, our proposed method was faster than the Reynolds approach with the 23.52 seconds average time to aggregation, and also, there is a smaller variance between the run times. It can be argued that defining a higher-level controller (Supervisor node) that directs the behaviour of each e-puck robot can improve the aggregation time.
5.3. Experiment 3: Exhibiting Flocking Behaviour in the Presence of Obstacles
To answer the third research question, we designed an experiment in which the robots were scattered randomly in the arena, and different obstacles of various sizes and shapes were presented in the arena. In this way, we tested our proposed obstacle avoidance strategy, which was built into the Reynolds strategy. As can be seen in
Figure 5, e-puck robots were able to successfully aggregate and exhibit flocking behaviour in the presence of various obstacles. However, a slight increase in aggregation time is observed.
5.4. Experiment 4: Effect of Faulty Robots
To answer the fourth research question, all the robots were scattered randomly in the arena. Then, three robots were powered down to simulate failure at (t=0s). Since the inactive robots do not send any signals to the supervisor node, it is expected that the system continues exhibiting flocking behaviour and treats inactive robots as if they are some obstacles in the environment that the system needs to avoid. Results are shown in
Figure 6. In this figure, the inactive robots are shown in red circles. By running the simulation, the robots are partitioned into K = 3 clusters (blue circles) and begin to form 3 cohesive clusters (t=8s). The robots ignore the three inoperable robots and aggregate at the center of their clusters. Then, all the robots in each cluster adjust their heading direction, using the alignment algorithm, toward the center of all 3 clusters’ centers and move together in a swarm (t=15s) to form a bigger swarm of robots at (t=20s). According to the results of this experiment, our proposed method still works even when some robots fail, which demonstrates the robustness of the algorithm.
5.5. Experiment 5: Scalability Evaluation
The purpose of the fifth research question is to measure the scalability of the system, which is one of the key characteristics of a robot swarm [
4]. To answer this research question, we tested different swarm sizes by introducing more robots to the swarm and observing the system’s flocking behaviour. For instance, starting with 10 robots, we increased the number to 15 and 20 and conducted simulations. Additionally, we varied the area sizes from 3 m × 3 m to 5 m × 5 m and 8 m × 8 m. As can be seen in
Figure 7, increasing the number of robots and arena size does not affect the performance of our proposed method and shows that the proposed algorithm is scalable. The reason could be the scalability of the K-means algorithm, which can handle a large number of individual data points. Thus, the system could adapt to such a change and continue its flocking behaviour even with the added workload of adding extra agents.
However, the performance of the Reynolds algorithm decreased, and for arena size 8 m × 8 m, the robots were not able to aggregate and show flocking and swarming behaviour. The reason could be the fact that the e-puck robots in this approach communicate locally via IR communication, and by increasing the arena size, the robots can not receive the signals they exchange. In a nutshell, while our proposed method is scalable in terms of both increasing the number of robots as well as the size of the arena, the Reynolds algorithm is scalable only in terms of increasing the number of robots, as can be seen in
Figure 7.
6. Conclusion and Future Work
Aggregation represents a fundamental aspect of flock behaviour in most biological systems and is crucial for many robotic systems. It serves as a prerequisite for various collaborative activities and allows robot swarms to perform complex tasks, such as information exchange, self-assembly, collective movement, etc. In this work, we developed a biologically inspired robot controller to coordinate the movements of multiple robots during the aggregation process based on Reynolds’ flocking behaviour.
Reynolds demonstrated that three simple rules of (i) cohesion, (ii) separation, and (iii) alignment are sufficient to achieve flocking behaviour. Robot controllers inspired by Reynolds’ local rules use local information regarding immediate neighbours. However, this approach has its limitations. For instance, increasing the arena size affects the scalability of the swarm of robots due to poor communication between the agents. Thus, we decided to add a second controller that also considers the global behaviour of the entire swarm rather than only local interactions among neighbouring agents. Previous research has also explored the implementation of flocking behaviour in embodied agents based on the global application of Reynolds’ rules, which showed improved global flocking behaviour in comparison to the local application of Reynolds’ rules [
43].
In this work, we proposed using a K-means algorithm that uses distance metrics with Reynolds’ rules to improve the flocking and aggregation behaviour among e-puck mobile robots. The aim was to design a robot controller that could drive the swarm of e-puck robots randomly distributed in an arena to aggregate somewhere within an arena without any predetermined aggregation zones. Using this robot controller, we simulated aggregation behaviour among multiple robots.
To the best of our knowledge, this is the first study to use the K-means algorithm in this field. Since K-means is an efficient method for handling a large number of individual data points, it could be an effective approach and provide a more robust controller in swarm robotics, where scalability, robustness, and adaptability are key factors [
12].
The performance of our proposed method was examined via five different experimental analyses. Various environmental factors and conditions, such as agent failure, obstacles, arena size, and flock merging, have been considered in each experiment to measure the system’s performance. Swarms of robots are often faced with these types of environmental challenges, and our proposed algorithm’s capability to cope effectively with these dynamic environmental conditions could demonstrate a proof of concept of the applicability of our proposed method in swarm robotics. The results of the experiments showed that the proposed algorithm is robust and can easily deal with agent failures. Besides, the Reynolds_K-Means algorithm is scalable in terms of increasing both arena size and the number of robots. However, one limitation of this method is that we need to define the number of clusters of the robots before executing the algorithm.
In this study, we employed K-means, which uses distance metrics to improve aggregation behaviour. While some studies used the distance between robot neighbours as the key factor to implement aggregation behaviour in a swarm of robots [
31], some other recent studies have proposed the incorporation of agent density as a supplementary factor to improve the performance of the swarm aggregation [
11,
34,
35]. Thus, this work can be extended by applying density-based approaches to determine the number of clusters. However, this may increase the complexity of the algorithm in comparison to the K-means, which is a simple and fast algorithm.
Acknowledgments
This research was undertaken, in part, thanks to funding from the Canada 150 Research Chairs Program.
References
- Gautam, A.; Mohan, S. A review of research in multi-robot systems. In Proceedings of the 2012 IEEE 7th International Conference on Industrial and Information Systems (ICIIS). IEEE; 2012; pp. 1–5. [Google Scholar] [CrossRef]
- Arkin, R.C. Behavior-based robotics; MIT Press, 1998.
- Navarro, I.; Matía, F. An introduction to swarm robotics. International Scholarly Research Notices 2013, 2013. [Google Scholar] [CrossRef]
- Şahin, E. Swarm robotics: From sources of inspiration to domains of application. In Proceedings of the International Workshop on Swarm Robotics. Springer; 2004; pp. 10–20. [Google Scholar] [CrossRef]
- Tan, Y.; Zheng, Z.y. Research advance in swarm robotics. Defence Technology 2013, 9, 18–39. [Google Scholar] [CrossRef]
- Garnier, S.; Gautrais, J.; Theraulaz, G. The biological principles of swarm intelligence. Swarm Intelligence 2007, 1, 3–31. [Google Scholar] [CrossRef]
- Kuntze, H.B.; Frey, C.W.; Tchouchenkov, I.; Staehle, B.; Rome, E.; Pfeiffer, K.; Wenzel, A.; Wöllenstein, J. Seneka-sensor network with mobile robots for disaster management. In Proceedings of the 2012 IEEE Conference on Technologies for Homeland Security (HST). IEEE; 2012; pp. 406–410. [Google Scholar] [CrossRef]
- Hayes, A.T.; Martinoli, A.; Goodman, R.M. Swarm robotic odor localization. In Proceedings of the Proceedings 2001 IEEE/RSJ International Conference on Intelligent Robots and Systems. Expanding the Societal Role of Robotics in the Next Millennium (Cat. No. 01CH37180). IEEE, Vol. 2; 2001; pp. 1073–1078. [Google Scholar] [CrossRef]
- Bakhshipour, M.; Ghadi, M.J.; Namdari, F. Swarm robotics search & rescue: A novel artificial intelligence-inspired optimization approach. Applied Soft Computing 2017, 57, 708–726. [Google Scholar] [CrossRef]
- Dorigo, M.; Theraulaz, G.; Trianni, V. Reflections on the future of swarm robotics. Science Robotics 2020, 5, eabe4385. [Google Scholar] [CrossRef]
- Khaldi, B. Flexible and efficient topological approaches for a reliable robots swarm aggregation. IEEE Access 2019, 7, 96372–96383. [Google Scholar] [CrossRef]
- Brambilla, M.; Ferrante, E.; Birattari, M.; Dorigo, M. Swarm robotics: a review from the swarm engineering perspective. Swarm Intelligence 2013, 7, 1–41. [Google Scholar] [CrossRef]
- Khaldi, B.; Cherif, F. An overview of swarm robotics: Swarm intelligence applied to multi-robotics. International Journal of Computer Applications 2015, 126. [Google Scholar] [CrossRef]
- Bayındır, L. A review of swarm robotics tasks. Neurocomputing 2016, 172, 292–321. [Google Scholar] [CrossRef]
- Garnier, S.; Jost, C.; Jeanson, R.; Gautrais, J.; Asadpour, M.; Caprari, G.; Theraulaz, G. Aggregation behaviour as a source of collective decision in a group of cockroach-like-robots. In Proceedings of the European Conference on Artificial Life. Springer; 2005; pp. 169–178. [Google Scholar] [CrossRef]
- Soysal, O.; Bahçeci, E.; Şahin, E. Aggregation in swarm robotic systems: Evolution and probabilistic control. Turkish Journal of Electrical Engineering & Computer Sciences 2007, 15, 199–225. [Google Scholar]
- Arvin, F.; Turgut, A.E.; Bazyari, F.; Arikan, K.B.; Bellotto, N.; Yue, S. Cue-based aggregation with a mobile robot swarm: a novel fuzzy-based method. Adaptive Behavior 2014, 22, 189–206. [Google Scholar] [CrossRef]
- Arvin, F.; Turgut, A.E.; Krajník, T.; Yue, S. Investigation of cue-based aggregation in static and dynamic environments with a mobile robot swarm. Adaptive Behavior 2016, 24, 102–118. [Google Scholar] [CrossRef]
- Khaldi, B.; Harrou, F.; Cherif, F.; Sun, Y. Self-organization in aggregating robot swarms: A DW-KNN topological approach. Biosystems 2018, 165, 106–121. [Google Scholar] [CrossRef] [PubMed]
- Zhou, Y.; Tao, Y.; Lei, X.; Peng, X. Self-organized swarm robot for multi-target trapping based on self-regulated density interaction. Information Sciences 2024, 661, 120119. [Google Scholar] [CrossRef]
- Reynolds, C.W. Flocks, herds and schools: A distributed behavioral model. In Proceedings of the Proceedings of the 14th Annual Conference on Computer Graphics and Interactive Techniques, 1987, pp.; pp. 25–34. [CrossRef]
- Katada, Y. Evolutionary design method of probabilistic finite state machine for swarm robots aggregation. Artificial Life and Robotics 2018, 23, 600–608. [Google Scholar] [CrossRef]
- Hu, D.; Zhong, M.; Zhang, X.; Yao, Y. Self-Organized Aggregation Based on Cockroach Behavior in Swarm Robotics. In Proceedings of the 2014 Sixth International Conference on Intelligent Human-Machine Systems and Cybernetics, Vol. 1; 2014; pp. 349–354. [Google Scholar] [CrossRef]
- Cambier, N.; Frémont, V.; Ferrante, E. Group-size regulation in self-organised aggregation through the naming game. In Proceedings of the International Symposium on Swarm Behavior and Bio-Inspired Robotics (SWARM 2017); 2017. [Google Scholar]
- Loreto, V.; Baronchelli, A.; Puglisi, A. Mathematical Modeling of Language Games. In Evolution of Communication and Language in Embodied Agents; Springer Berlin Heidelberg: Berlin, Heidelberg, 2010; pp. 263–281. [Google Scholar] [CrossRef]
- Firat, Z.; Ferrante, E.; Gillet, Y.; Tuci, E. On self-organised aggregation dynamics in swarms of robots with informed robots. Neural Computing and Applications 2020, 32, 13825–13841. [Google Scholar] [CrossRef]
- Sathiya, V.; Chinnadurai, M. Evolutionary algorithms-based multi-objective optimal mobile robot trajectory planning. Robotica 2019, 37, 1363–1382. [Google Scholar] [CrossRef]
- Pagliuca, P.; Vitanza, A. Evolving Aggregation Behaviorsin Swarmsfroman Evolutionary Algorithms Point of View. In Applications of Artificial Intelligence and Neural Systems to Data Science; Springer Nature Singapore: Singapore, 2023; pp. 317–328. [Google Scholar] [CrossRef]
- Gasparri, A.; Priolo, A.; Ulivi, G. A swarm aggregation algorithm for multi-robot systems based on local interaction. In Proceedings of the 2012 IEEE International Conference on Control Applications; 2012; pp. 1497–1502. [Google Scholar] [CrossRef]
- Güzel, M.S.; Ajabshir, V.B.; Nattharith, P.; Gezer, E.C.; Can, S. A novel framework for multi-agent systems using a decentralized strategy. Robotica 2019, 37, 691–707. [Google Scholar] [CrossRef]
- Khaldi, B.; Cherif, F. A virtual viscoelastic based aggregation model for self-organization of swarm robots system. In Proceedings of the Annual Conference Towards Autonomous Robotic Systems. Springer; 2016; pp. 202–213. [Google Scholar] [CrossRef]
- Ballerini, M.; Cabibbo, N.; Candelier, R.; Cavagna, A.; Cisbani, E.; Giardina, I.; Lecomte, V.; Orlandi, A.; Parisi, G.; Procaccini, A.; et al. Interaction ruling animal collective behavior depends on topological rather than metric distance: Evidence from a field study. Proceedings of the National Academy of Sciences 2008, 105, 1232–1237. [Google Scholar] [CrossRef]
- Ballerini, M.; Cabibbo, N.; Candelier, R.; Cavagna, A.; Cisbani, E.; Giardina, I.; Orlandi, A.; Parisi, G.; Procaccini, A.; Viale, M.; et al. Empirical investigation of starling flocks: a benchmark study in collective animal behaviour. Animal Behaviour 2008, 76, 201–215. [Google Scholar] [CrossRef]
- Khaldi, B.; Harrou, F.; Cherif, F.; Sun, Y. A distance weighted-based approach for self-organized aggregation in robot swarms. In Proceedings of the 2017 5th International Conference on Electrical Engineering-Boumerdes (ICEE-B). IEEE; 2017; pp. 1–6. [Google Scholar] [CrossRef]
- Khaldi, B. Improving robots swarm aggregation performance through the Minkowski distance function. In Proceedings of the 2020 6th International Conference on Mechatronics and Robotics Engineering (ICMRE). IEEE; 2020; pp. 87–91. [Google Scholar] [CrossRef]
- Mısır, O.; Gökrem, L.; Serhat Can, M. Fuzzy-based self organizing aggregation method for swarm robots. Biosystems 2020, 196, 104187. [Google Scholar] [CrossRef] [PubMed]
- Fraser, H. Investigation and Implementation of Biologically Inspired Flocking Behaviour in Swarm Robotics. https://github.com/helmifraser/Swarm, 2017. (Accessed: 01.02.2021).
- Michel, O. Cyberbotics Ltd. Webots™: professional mobile robot simulation. International Journal of Advanced Robotic Systems 2004, 1, 5. [Google Scholar] [CrossRef]
- Mondada, F.; Bonani, M.; Raemy, X.; Pugh, J.; Cianci, C.; Klaptocz, A.; Magnenat, S.; Zufferey, J.C.; Floreano, D.; Martinoli, A. The e-puck, a robot designed for education in engineering. In Proceedings of the Proceedings of the 9th Conference on Autonomous Robot Systems and Competitions.; IPCB: Instituto Politécnico de Castelo Branco, 2009; pp. 159–65. [Google Scholar]
- Antognini, D. ; Doy.; d’Hoffschmidt, M. Optimized simulated flocking algorithm for e-pucks. EPFL, Distributed Intelligent Systems and Algorithms Laboratory, 2015. [Google Scholar]
- MacQueen, J.; et al. Some methods for classification and analysis of multivariate observations. In Proceedings of the Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability. Oakland, CA, USA, 1967, Vol. 1(14), pp. 281–297.
- Bishop, C.M. Pattern Recognition and Machine Learning; Springer, 2006.
- Ramos, R.P.; Oliveira, S.M.; Vieira, S.M.; Christensen, A.L. Evolving flocking in embodied agents based on local and global application of Reynolds’ rules. PLOS One 2019, 14, e0224376. [Google Scholar] [CrossRef]
1 |
|
2 |
Link to the source code at GitHub. |
3 |
|
|
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).