Wave algorithm applied to collective navigation of robotic swarms
Graphical abstract
Introduction
A swarm of robots is a group of mobile agents working cooperatively to achieve some collective behavior [1]. Individual swarm robots are devices with limited capabilities of computational processing, sensing, communication and movement. Swarm robotics approach contrasts with the idea of a single, complex and expensive robot performing tasks that are hard or unhealthy for humans. To perform different kinds of tasks, the robotic swarm must be robust, flexible and scalable, which are characteristics of many multi-agent systems [2]. Such tasks deal with the spatial organization among robots, the motion of the robots in the search of objects and collective decision-making. The tasks performed by robotic swarms have been extensively investigated, as it can be seen in [1], [3], [4], [5], [6], [7]. The interaction of these agents follow rules based on communication existing in animals groups, such as insect societies [8], [9]. The behavior of an individual robot can be defined by a local algorithm that makes use of basic concepts of distributed systems, such as the direct communication with explicit messages between the agents. Nonetheless, swarm robotics may also use indirect communication, sensing the objects the environment.
A way to make the swarm able to perform complex tasks is the division of the entire behavior into subtasks. Usually, the behavior describes, in a high level of abstraction, the work of the swarm as a whole. This behavior can be interpreted as a sequence of specific subtasks. In this work, a class of distributed algorithms, termed wave algorithms, is exploited to mark the start and end of sequential subtasks. Furthermore, the swarm may be divided into groups to perform the same – or different – subtasks in parallel. In heterogeneous swarms, it is possible to group robots according to their functionalities. However, in a homogeneous swarm, there is no physical difference between the swarm members. In this case, robots must collectively achieve a consensus to form clusters. Wave algorithms can be used to form a group of robots in a subtask called recruitment. The characteristics of this wave-based recruitment has been studied in previous works, as it can be seen in [10], [11]. In this approach, the number of groups is defined by the number of recruiter robots present in the swarm.
For many tasks performed by mobile robots, such as the foraging [4] and the collaborative transport [12], the agents must be able to move in the environment without losing contact with the group members along the way. In this work, this collective navigation is achieved with three subtasks: (i) the recruitment of robots, forming one or more clusters, (ii) the alignment of robots relative to the direction of the recruiter robot of the respective group, and (iii) the movement of robots in a leader-following scheme [13]. These subtasks are sequentialized by the propagation of messages originated from an initiator robot. The first wave is regarding the recruitment, with the selection of the robots that will participate of the controlled navigational movement. The second wave is regarding the alignment, when all the robots must adjust their position, pointing towards the same direction. When all the recruited robots achieve the same direction, they receive the permission of the initiator to start the movement.
The division of the swarm's work into subtasks was explored in the work of Brutschy et al. [14]. In their work, the execution of a task is controlled by hardware devices. They inform the robots when each subtask starts and ends. Parhi and Mohanta [15] implemented a multi-robot controller based on Petri Net Model incorporating a set of rules to perform the collision avoidance in the navigation. Such rules can also be interpreted as the subtasks, which compose the collision prevention task. In the study of navigation, the boids, a flocking control described by Reynolds, is one of the best known in the literature [16]. The flocking is the flight control of multiple agents based on the flock of bands. The agents fly collectively using three rules: alignment, cohesion and separation.
This paper is organized as follows. In Section 2, the strategy of management of tasks based on wave algorithms is presented. The main aspects of the collective navigation addressed in this study are shown in Section 3. Section 4 presents simulation results of different scenarios involving the navigation of single and multiple groups of robots. In this section, we also provide and analyze the execution time of the recruitment and alignment tasks considering different scenarios. The conclusion of this paper is presented in Section 5, in which we also point out some relevant future work.
Section snippets
Wave Swarm
Numerous tasks in swarm robotics seen in literature are simple behaviors which emerge from the interaction among the robots [17]. Such tasks, even though of hard implementation, are still simple if compared with real-world applications. Such complex tasks include the movement of robots, the identification of characteristics of the environment, the decision-making, and so on. A classical example of complex swarm task is the foraging, where the robots need to find and retrieve some object found
Collective navigation
The collective navigation can be defined as the coordinated movement of a group of robots from a point to another of the environment without the loss of swarm members. The movement may be done by all or a well-defined group of robots. In any case, the communication among neighboring robots must be maintained all the way, or else the group will be untied. In other words, the swarm/cluster must move in such way that connectivity among the robots is always guaranteed.
Simulation results
The evaluation of the proposed swarm behavior was done by simulations, using the V-Rep Version 3.2.3 [22]. A simulation model based on Kilobot robot [23] is used. This robot has 3 legs that supports the circuit board above the surface. It moves through vibration resulted by the activation of the two step motors in its circuit board. The vibration allows the robot to move forward and/or make curves. It also has an infrared communication system that allows the robot to send/receive messages
Conclusions
In this paper, the Wave Swarm is introduced as a general strategy to control the execution of tasks by swarm robotic systems. The robots are organized into a connected topology, with one robot being able to communicate with any other robot within the vicinity in the swarm via message passing scheme. With this idea, the collective navigation task is divided into three sequential subtasks. Collective navigation in robotic systems is of great interest because it is the basis for many other
Acknowledgments
We are grateful to Brazilian agencies FAPERJ (Fundação de Amparo à Pesquisa do Estado do Rio de Janeiro, www.faperj.br), CNPq (Conselho Nacional de Desenvolvimento Científico e Tecnológico, www.cnpq.br) and CAPES (Coordenação de Aperfeiçoamento de Pessoal de Ensino Superior, www.capes.gov.br) for their continuous financial support.
References (23)
- et al.
Bio-insect and artificial robot interaction using cooperative reinforcement learning
Appl. Soft Comput.
(2014) - et al.
Cooperative transport by ants and robots
Robot. Auton. Syst.
(2000) - et al.
Navigational control of several mobile robotic agents using petri-potential-fuzzy hybrid controller
Appl. Soft Comput.
(2011) A review of swarm robotics tasks
Neurocomputing
(2016)- et al.
Kilobot: a low cost robot with scalable operations designed for collective behaviors
Robot. Auton. Syst.
(2014) Swarm robotics: from sources of inspiration to domains of application
- et al.
Self-Organization in Biological Systems
(2001) - et al.
A taxonomy for swarm robots
- et al.
Cooperative mobile robotics: antecedents and directions
Auton. Robot.
(1997) - et al.
Reactivity and deliberation: a survey on multi-robot systems
Balancing Reactivity and Social Deliberation in Multi-Agent Systems
(2001)
An introduction to swarm robotics
ISRN Robot.
Cited by (11)
Distributed strategy for communication between multiple robots during formation navigation task
2023, Robotics and Autonomous SystemsA strategy based on Wave Swarm for the formation task inspired by the Traveling Salesman Problem
2023, Engineering Applications of Artificial IntelligenceCommunication optimization for efficient dynamic task allocation in swarm robotics
2021, Applied Soft ComputingCitation Excerpt :Swarm intelligence when applied to a physical robotic platforms is usually called as swarm robotics [1,2,7]. Composed of multiple interacting autonomous robots, swarm robotics can solve complex problems through cooperation between robots that, by performing simple basic tasks can often lead to reach the common goal, which is the emergence of an intelligent good solution of the problem, such as distributed robot clustering [8], robot localization where no external positioning system is available [9,10] and robot recruitment for robot cluster control in a systematic manner [11]. An exhaustive survey of such complex behaviors can be found in [2].
Multi-objective optimization of a quadrotor flock performing target zone search
2021, Swarm and Evolutionary ComputationCitation Excerpt :Our proposal uses an universal swarm algorithm so it belongs to this class. Heuristics that include hybrids use a mixture between heuristics with bio-inspired algorithms, i.e. the use of wave algorithms to obtain collective behaviors [17], algorithms based on adaptive response threshold model [18,19] and algorithms that combine PSO with evolutionary techniques called Robotic Darwinian PSO (RDPSO) [20] and Fractional Order RDPSO [21]. Swarm robotics is an approach to steer systems of multiple robots that mainly takes inspiration from swarm intelligence (e.g. biological systems that are only capable to perceive local information as insect colonies, bacterial colonies, bird flocks or fish schools) [22].
Review of methodologies and tasks in swarm robotics towards standardization
2019, Swarm and Evolutionary ComputationCitation Excerpt :When the process finally converges, the swarm is spatially partitioned into the predefined number of clusters. The recruitment of robots is investigated in the work of Silva Junior and Nedjah [114,203]. This process starts with one robot, which discovers when investigating the environment, that a given task must be performed.