In robotics, the process of searching for a specified target in an unknown environment by a group of robots is important for solving various problems in unknown environments, such as navigation [
This paper focuses on a special case of exploration for swarm robotics: the path formation. The goal of this task is to find a collective path of robots between two locations. Most of the research studies on exploration address the process of exploration, which is easy to realize by some robots with complex functions. However, the exploration tasks addressed in swarm robot with limited cognitive abilities are not always easy to realize it. This kind of exploration task poses the following challenges: (1) The robots not only need to coordinate to find item sources in an unknown environment but also need to self-organize to form a path that connects item sources. (2) Each robot has limited cognitive abilities without any complicated centralized control, communication, and positioning. This means that the realization of the entire task can only rely on the perception and interaction between the robot and the environment. (3) Meanwhile, compared with the entire area, the communication range between robots is also very limited. When the robot is far away from other robots, the robot will lose communication with the group, which will cause the swarm system search efficiency to decrease. Therefore, robots not only need to search efficiently but also need to continuously maintain communication with the group. The foraging behaviour of a slime mould from nature gives us a new way for solving these challenges.
The foraging behaviour of a particular primitive single-cell slime mould, called
So, we draw inspiration from the foraging behaviour of
Our results are of potential interest to both swarm engineers and behavioural ecologists, in that they demonstrate the sufficiency of very simple individual agents to generate sophisticated collective behaviour, as well as its scalability, and reveal the potential of the
The slime mould
Network formation in
Despite the lack of central control,
In swarm robotics, although a large number of swarm algorithms were used to swarm robot exploration problem, little attention has been paid to the path formation tasks under the exploration tasks. Even for exploration tasks, many algorithms still rely on centralized control and the accurate positioning system, and even the principal idea of swarm robotics of distributed decision making is neglected [
The above these three kinds of studies are representative of a common methodology in the path formation tasks for swarm robotics and the researches about
The task that we have chosen as a test bed to analyse our control algorithm is described as follows. A group of robots must search an unknown environment and form a path between two objects, called the nest and food. In our test bed, as described in Figure
A network constructed by our control algorithm.
For the robots, we use the marXbot robot [
The kinematic model of the robots. The
According to the above description of the task and robot model, the proposed control algorithm has the following challenges: The robot generally cannot acquire or calculate its own position. Even if it can obtain its own position, the robot cannot broadcast its position information to other individuals to induce them to search in a specific area or stop searching in a certain area in time because of the lack of a global communication system. The communication connectivity of a swarm system with only short-range communication capabilities will be greatly reduced and result in the failure of the search task when using some random search algorithms [
In this section, we first establish the mapping relationship between the foraging principle of
The mapping relationship between our controller and the foraging principle of
Each robot is an independent execution unit, and we define three behaviour states, namely, Robot_Node, Robot_Explorer, and Robot_Lost, in accordance with different behaviour rules. Robot_Node: the network formed by Robot_Explorer: during the foraging process of Robot_Lost: different from the protoplasm of
The networks constructed by
Our control algorithm is based on a behaviour-based architecture. Robots in different states will perform different execution mechanisms. All execution mechanisms are inspired by
The most prominent ability of
The implementation of the gradient distribution mechanism can be described as follows: the Robot_Nest and Robot_Food each continuously broadcast a message with a fixed value of 0, indicating that they are gradient sources. Each robot in the Robot_Node state that receives this message will traverse the messages of neighbouring Robot_Nodes, the Robot_Nest, and the Robot_Food to obtain the minimum gradient value
An illustration of the gradient mechanism. During the search process, two independent network structures will gradually be formed, as shown in the blue dotted box and red dotted box, where the numbers represent the gradient value of each Robot_Node.
The purpose of gradient formation is to create a long-range sense of distance across the swarm system, thus providing a rough measure of the distance from the nest to the end of the network. In this way, the shortest path can be clearly and easily obtained when multiple paths are connected to the Robot_Food. Meanwhile, with the help of such gradient formation in the robot network structure, Robot_Explorers can determine their directions of movement in accordance with changes in gradient and whether they are at the end of the robot chain.
Moreover, based on the gradient distribution, each Robot_Node can also calculate the Root_ID of the branch to which it belongs. Specifically, each Robot_Node determines whether there are multiple child nodes surrounding it. If so, the robot will set the Root_ID to its own ID and broadcast it. Otherwise, it will read the Root_ID of the parent node and broadcast it. An example of this identification process is shown in Figure
loop gradient_value (self) ← GRADIENT_MAX SOURCE_TYPE(self) ← Robot_Food //Store the minimum gradient value from Robot_Nest in the neighbor neighbor_min_gradient_1 ← GRADIENT_MAX //Store the minimum gradient value from Robot_Nest in the neighbor neighbor_min_gradient_2 ← GRADIENT_MAX neighbor_min_gradient_1 ← neighbor_min_gradient_1 else neighbor_min_gradient_1 ← neighbor_min_gradient_2 //Update the gradient and SOURCE_TYPE SOURCE_TYPE (self) ← Robot_Nest gradient_value (self) ← neighbor_min_gradient_1 + 1 transmit gradient_value (self) SOURCE_TYPE (self) ← Robot_Food gradient_value (self) ← neighbor_min_gradient_2 + 1 transmit gradient_value (self)
When
The implementation of the extinction mechanism can be described as follows: the Robot_Node at the end of each network branch determines whether any Robot_Explorer is present nearby within a certain period of time (denoted by
counter_l ← 0//counterl is used to record the time when Robot_Explorer does not exist around counter_2 ← 0//counter2 is used to record the time when Robot_Explorer exists around Flag_Contraction ← False//Flag_Contraction is used to determine whether this branch is in a contracted state. loop counter_2 ++ counter_1 = 0 break counter_l ++ counter_2 = 0 //Robot_Explorers can expand on this branch but they do not exist at the end for a long time. state ← Robot_Lost //No child nodes generated for a long time Flag_Contraction = true transmit Flag_Contraction (self)//pass the message that this branch is in a contracted state. state ← Robot_Explorer //Robot_Explorers cannot expand on this branch and they do not exist at the end of it. //Keep the last Robot_Node as a marker. Do not repeat the search in this area. state ← Robot_Explorer else//not at the end of branch Flag_Contraction (self ← Flag_Contraction (C_Node) transmit Flag_Contraction (self) break
In Section
The extension zone to which the protoplasm is transported is near the food source. In our experiments, the robots have no a priori knowledge about the Robot_Food location. However, based on the gradient distribution mechanism described above, Robot_Explorers can guide the extension of the robot swarm by reading the gradient values broadcast by the Robot_Nodes and moving to the positions with the largest gradient values, that is, the ends of the network branches. In this way, the Robot_Explorers can constantly swarm to areas that have not yet been explored. We propose a mathematical model that can be used by a Robot_Explorer to calculate the direction for its next step based on the gradient distribution, as shown in Figure
Example of the motion mechanism. The dash-dotted lines represent the interrobot communication network. The purple arrows
The model is divided into two terms, as shown in equation (
Here,
After obtaining its next direction of motion
//calculate the angle between the direction of the current direction and the angle ← atan2 Left_Velocity ← 0 Right_Velocity ← 0 Left_Velocity = m_fWheelVelocity Right_Velocity = m_fWheelVelocity else Left_Velocity = m_fWheelVelocity Right_Velocity = m_fWheelVelocity Set wheel speed (Left_Velocity, Right_Velocity)
We use the extension mechanism to implement the state transition from the Robot_Explorer state to the Robot_Node state in order to expand the interrobot communication network, similar to the expansion of the
When a Robot_Explorer moves to the end of a network branch, it will determine whether the current branch can be expanded and whether the distance between its current position and that of the Robot_Node at the end of the branch meets the requirements for extension (Algorithm
loop N_Num ← 0//N_Num will store the number of Robot_Nests and Robot_Nodes in neighbors. Object_N ← MAX_DISTANCE//Object_N will store the neighbor object. N_Num = Object_N ← state ← Robot_Explorer
The probabilistic finite state machine (PFSM) of the individual robot behaviours is presented in Figure
The probabilistic finite state machine (PFSM) of the individual robot behaviours.
The goal of our experimental activity was to evaluate our algorithm under different experimental conditions and to compare them with other algorithms. Section
Our algorithm is a multirobot exploration algorithm inspired by the foraging behaviour of
The parameters used in the simulation experiment (Table
Parameter settings for simulation experiments in a maze arena.
Symbol | Meaning | Units | Value |
---|---|---|---|
Search space | m × m | 10×10 | |
Communication radius | m | 1.5 | |
Detection radius | m | 1.5 | |
B_UL | Distance between the Robot_Nodes in a branch | m | 0.7 |
Distance between the Robot_Nest and Robot_Food | m | 7.07 | |
System size | Count | {40, 45, 50,55,60,65,70} | |
Number of obstacles | Count | Non | |
Speed | Robot movement speed | cm/s | 20 |
The simulation process. (a) 0 time steps. (b) 708 time steps. (c) 1418 time steps. (d) 2126 time steps. (e) 2835 time steps. (f) 3544 time steps.
In Figure
In these tests, we also use the maze arena, again with an obstacle-free environment. A summary of the results is given in Figure
Box-and-whisker plots (Becker et al. 1998 [
We employ a bounded arena of size
Parameter settings for experiments in a square arena.
Symbol | Meaning | Units | Value |
---|---|---|---|
Search space | m × m | 5×5 | |
Communication radius | m | {0.6} | |
Detection radius | m | {0.6} | |
B_UL | Distance between the Robot_Nodes in a branch | m | 0.7 |
Distance between the Robot_Nest and Robot_Food | m | {1.0, 1.2, 1.40, …, 3.0} | |
System size | Count | {5, 10, 15, 20} | |
Number of obstacles | Count | {0, 5, 10, …, 30} | |
Speed | Robot movement speed | cm/s | 5 |
To assess the performance with small groups, we conducted an experiment employing 15 robots in an obstacle-free environment. In this experiment, we measure the completion time when we vary the distance
Box-and-whisker plots (Becker et al. 1998 [
Effect of task difficulty on the success rate for a group size of
First, for the behaviour-based architecture algorithms (TSASR, PFIAS, and the EAIPP algorithm proposed in this paper). It is apparent that, for each distance, the green box is generally lower than the blue box, while the red box is generally at the lowest position. This indicates that the TSASR algorithm proposed in our previous work has higher efficiency than the PFIAS algorithm, while the algorithm proposed in this paper has the highest efficiency among these four algorithms. It is worth noting that the efficiency of the TSASR algorithm is higher than the efficiency of the algorithm proposed in this paper when the distance
Secondly, for neural network evolution algorithm (NNEA) based on prior knowledge, it can be clearly seen that the stability of the purple box is in the time range of 2000–4000 when the data are
In order to access the performance in the presence of obstacles, we tested our algorithm by the standard arena with a random configuration of obstacle cylinders. In this test, we also compared with the PFIAS algorithm [
Figure
Box-and-whisker plots (Becker et al. 1998 [
The effect of obstacles on the success rate of the task.
We generate different noise data for different sensors and add them to the corresponding sensors. Specifically, we vary the noise in the directions to other robots perceived by the range-and-bearing system (Figures
Box-and-whisker plots (Becker et al. 1998 [
Box-and-whisker plots (Becker et al. 1998 [
Box-and-whisker plots (Becker et al. 1998 [
The noise is varied as follows: Regarding the directions to other robots, noise is implemented as a random vector added to the vector joining two communicating robots in the range-and-bearing system. For this random vector, the azimuth is chosen uniformly from the range [0 : 2PI], and the length is drawn from a Gaussian distribution. By adjusting the value of the standard deviation, we can obtain random vectors of different lengths. These random vectors are added to the perceived directions between robots. In Figure Regarding packet loss, we assume that the robots have some probability of packet loss during communication with others. In this experiment, we specify the probability that a packet will be lost even though the robot should have received it. The results are shown in Figure Regarding the differential steering drive control, we increase the noise by controlling the differential wheel actuation using equation (
Path formation is a more challenging problem in multirobot exploration and navigation. The robots not only need to coordinate to find item sources in an unknown environment but also need to self-organize to form a path that connects item sources. In this paper, we succeed in designing a new method inspired by
In future work, we intend to enhance the proposed algorithm to improve the efficiency of the robot system and its coverage for area exploration and to test its ability to adapt to changes in dynamic environments.
The data used to support the findings of this study are included within the article. The experimental data such as success rate and completion time used to support the findings of this study are included within the article.
The authors declare there are no conflicts of interest regarding the publication of this paper.
This work was supported by the National Natural Science Foundation of China (grant number: 61703102), the National Natural Science Foundation of China (grant number: 51975121), the Department of Education of Guangdong in China (grant numbers: 2017KZDXM082 and 2018KTSCX224), and the Industrial-Academic-Research Cooperation Demonstration Base of DGUT-HengLi Town.