A Self-Organizing Area Coverage Method for Swarm Robots Based on Gradient and Grouping

: The openness of the environment brings great challenges to the swarm robotic system to cover the task area quickly and effectively. In this paper, a coverage method based on gradient and grouping (GGC) is proposed. What is novel about our proposed solution is that it is suitable for extremely simple robots that lack computing or storage power. Through the change of the robot gradient, the swarm robot system with very simple functions can effectively self-organize to cover the unknown task area. By grouping the swarm robots, each group can cover the task area in parallel, which greatly improves the coverage speed. We veriﬁed our proposed method through experimental simulation and found that the gradient and grouping-based method in this paper was superior to other methods in terms of coverage, coverage completion time, and other aspects. Simultaneously, the robustness of the proposed method is analyzed and admirable experimental results are obtained. Because the applicable robot is very simple, the method in this paper can be applied to the submillimeter swarm robot system, which will lay the foundation for micro medicine.


Introduction
Swarm robots are composed of a large number of simple agents with autonomous capabilities, local communication, and perceived energy. Through a few simple rules, the whole system can show complex swarm behavior characteristics such as self-organization and cooperation [1]. Swarm robots were inspired by the many biological species that demonstrate collective behavior in nature [2][3][4]. In this kind of collective behavior, local interactions between individuals and the environment lead to a set of independent agents in a distributed way to solve complex tasks, without the central control unit. The locality of interaction and communication between robots may be seen as a limitation, but it has a good effect on the scalability and robustness of the system and is therefore generally superior to the use of global communication and global perception.
Wireless sensor coverage can be widely used in forest monitoring [5,6], industrial monitoring [7,8], battlefield monitoring [9,10], disaster prevention [11,12], and other application fields, by deploying a large number of wireless sensors in some specific task areas to form a network to collect the data. Using large-scale swarm robots to replace sensors for regional coverage will improve the coverage rate of the area, while the robots can patrol a local area [13][14][15]. At the same time, the swarm robotic system also has better robustness and scalability for regional coverage.
The neural network (NN) method has been widely used in robot motion planning, control and coverage [16][17][18]. Luo et al. [19] proposed a neurodynamic method for multi-robot region full coverage navigation and designed a bionic neural network to build a workspace model and guide the multi-robot to complete the coverage task. The method does not need Rubenstein et al. [41] proposed a programmable self-assembly method for large-scale robots, which can support thousands of robots to form a various complex patterns by self-organization. However, the pattern must be predefined, and the speed of coverage is very slow.
For the swarm robotic system with simple functions, it can only carry out local perception and local communication. Limited computing power and communication bandwidth make it unable to be extended to large-scale and more complex tasks. For the dynamic unknown environment, there are many challenges for swarm robots to cover the task area quickly and effectively through self-organization. • It is very difficult to cover the unknow area effectively for the swarm robots by self-organization. • A large number of swarm robots are needed for a large area, and the coverage may take a long time.
Given the above challenges, this paper proposes a self-organization blanket coverage method based on gradient and grouping for large-scale swarm robots, which can cover the unknown complex area effectively and quickly. The two contributions are as follows: • Gradient generation is only carried out through distance perception of adjacent robots and the self-organizing movement of robots is controlled by gradient change, which can effectively realize the coverage of unknown areas by a large-scale swarm robotic system. • By dividing the swarm robots into several groups to cover the region in parallel, the coverage speed of the region is greatly improved. The collision avoidance and deadlock release mechanism can effectively solve the collision and deadlock caused by the parallel movement of the robots between different groups.
The paper is organized as follows. Section 2 is the problem description, and Section 3 describes self-organizing coverage based on gradient. Section 4 describes the area coverage based on grouping. Section 5 presents the experiment and analysis, and Section 6 outlines the research conclusions and future work.

Problem Description
Assuming that the individual robot can complete the tasks within its coverage area. Through reasonable and uniform coverage, not only the maximum coverage of the task area is guaranteed, but also the number of robots is reduced as much as possible. Figure 1 shows a scenario in which a group of robots self-organize to cover an unknown task area. Swarm robots enter the task area through self-organization and form the pattern of the adaptive region as soon as possible in the task area. While avoiding collision, the distance between robots should not only maintain the communication connection but also cover the task area effectively. Table 1 shows the notation definitions for this article.
The two-dimensional environment A The swarm robotic system x The position of robot v The speed of Robot status The current status of robot g The group of robot leader The leader of the swarm robots grad The gradient of robot D The covered area S A The coverage area of swarm robotic system S D Total area to be covered P(A, D) The coverage rate t dpl (A, D) The completion time of coverage d sa f e The safe distance d cover The coverage distance R c The communication distance Definition 1 (Swarm robotic system). The swarm robotic system is defined as a set of n robots in a two-dimensional Euclidean space, i.e., A = {α 1 , α 2 , α 3 , · · · , α n }(n ≥ 3). Each robot α is a 6-tuple x,v,status,g,leder,grad , Where (1) x is the position of robot α; (2) v is the speed of Robot α; (3) status is the current status of robot α; (4) g is the group of robot α; (5) leder means whether robot α is the leader or not; (6) grad is the gradient of robot α. The swarm robotic system has the following assumptions.
• All robots are homogeneous and have the same speed. • Each robot is treated as a point of motion. • Robots communicate with each other locally and obtain the state of other robots within the communication range.
Definition 2 (Covered area). The covered area D is defined as a set of points on the two-dimensional environment R , D ⊆ R 2 .
Definition 3 (Coverage rate). Let the coverage area of swarm robotic system be S A .The coverage rate is defined as P(A, D) = S A /S D × 100%. That is the percentage of the total target area covered by all robots, and the overlapped area of each robot should be eliminated.
Definition 4 (Completion time of coverage). When the coverage error is less than ε 0 , the coverage rate of the swarm robotic system is large enough to meet the requirements of task completion. The completion time of coverage is defined as t dpl (A, D), i.e.: The swarm robots cover the unknown area, and the coverage of the individual robot is a circle with a center of the robot and a radius of r. The adjacent robots can form a network through local communication. The shape of the covered area is usually irregular and unknown, which requires the swarm robots to cover the area as much as possible. At the same time, the urgency of each task point in the area requires the swarm robot to have a smaller coverage time.
The more robots there are, the greater coverage for the static area, but it will lead to a waste of resources. Assuming that all the robots move at the same speed, the swarm robotic system needs to be able to cover the task area as quickly as possible by self-organizing.

Gradient Generation Mechanism
The gradient is generated by setting different gradient values according to the distance between the robots. As shown in Figure 2, the gradient value of the leader robot (red cross mark) is set to 0, and the gradient value of the robot nearest to the leader robot is 1, and so on. According to the distance from the leader robot, the gradient value of the robot increases by 1 each time. For ordinary robots, by periodically querying the gradient of neighbors in the range of d sa f e , and setting its gradient value to the minimum gradient value of the neighbor plus 1. When the robot moves to other positions, its gradient value can be continuously updated to ensure the gradient value of the swarm robots is always increased layer by layer and increases from the inside out from the leader robot. The number marked on the robot in Figure 2 is the gradient value of the robot. The gradient generation algorithm is shown in Algorithm 1. Initially, the gradient of the leader robot is set to 0 (lines 1-2). Robot α searches for the minimum gradient (grad min ) of adjacent robots within d min distance (lines [4][5]. If the gradient of the robot is greater than 1 than the minimum gradient, then the gradient of the robot will be updated to grad min + 1 (lines 6-7).

Self-Organizing Coverage Mechanism
The area coverage process based on gradient has four status. (1) Initial status; (2) Detection status; (3) Coverage status; (4) Arrival status.And the four status transition relationships are shown in Figure 3.  • Initial status: before covering the target area, all robots are in the Initial status and complete the gradient initialization. • Detection status: the coverage of the target area requires the robot to carry out one by one in order, and the Detection status requires the robot to check its neighbors to determine whether it can cover. • Coverage status: the robot breaks away from the formation and moves towards the target area to achieve the coverage of the target area. • Arrival status: if the robot has reached the appropriate position, it will stop.

Algorithm 1
The idea of self-organizing area coverage method based on gradient is as follows: Firstly, all robots are in the Initial status, and the robots initialize their gradient by monitoring the adjacent neighbors within d m in distance. The initial gradient will determine the sequence of motion of the swarm robots. Secondly, the robot with the largest gradient will be Coverage status. Thirdly, the robot carries on the covering movement through the boundary circling and the gradient updating two self-organizing behaviors, until the stop condition occurs, the robot status transitions to the Arrival status and complete the covering. The stop conditions are as follows: • If the robot is in the target area and is about to leave the target area, it will stop moving and change to the Arrival status. • If the gradient of the robot surrounding the object is greater than or equal to its gradient, the robot in the target area will stop moving and convert to the Arrival status.
After the swarm robots generate the gradient according to the distance self-organization, the gradient descent principle can be used to carry out the self-organization area coverage task. The distance d cover (d cover ≥ d sa f e )is the radius of the robot's coverage. Each robot circles with radius d cover and changes its center of the circle when its nearest neighbor changes, then all robots on the boundary will continue to move. The robot gradient can be automatically updated to the surrounding robot gradient plus 1. Figure 4 describes the self-organizing area coverage process of swarm robots based on gradient. The swarm robots move to the edge of the area in a well-formed formation led by the leader robot, as shown in Figure 4a. All the robots will stop when the leader robot arrives at the boundary of the area. Then the robot with the largest gradient (on the outermost side) will move along the edge of the swarm robots according to the safe distance as the radius, and move towards the direction with low gradient value, and update the gradient at any time, as shown in Figure 4b. Finally, the robot enters the covered area and continues to move until it stops just before leaving the boundary of the area. If the front robot has the same gradient and has stopped while the robot is walking along the edge, the robot will also stop according to the covering distance. If the robot stops outside the covered area, the robot will continue to walk along the edge and enter the area. At this time, the gradient of the robot will increase by 1, as shown in Figure 4c. The self-organizing coverage algorithm based on gradient is shown in Algorithm 2. Algorithm 2 Self-organizing coverage algorithm. Input:Robot α outside the target area with gradient Output: Robot α covered the target area α.status = Arrive; //the robot α will stop 11. if α.grad = α .grad ∧ α .v = 0 then 12.

The Coverage Mechanism Based on Grouping
To improve the coverage speed, the swarm robots are divided into several groups to cover the area in parallel. Figure 5 shows the area covered by multiple groups of robots. In the coverage process of multiple groups of robots, the self-organization behavior of coverage is consistent with that of a single group. Each group will execute the area coverage algorithm based on gradient independently. However, different from the single group coverage, the simultaneous coverage of multiple groups of robots will lead to collisions and deadlock problems among different groups of robots. To solve these two problems, a Stop status is added in Figure 4 to prevent the robot from the collision and release the deadlock.
As shown in Figure 6, when a collision or deadlock occurs in the Coverage status, the robot will switch to the Stop status and stop its movement temporarily. The robots will not continue to cover the area until there are no more conflicts and deadlocks are lifted.

Grouping Method
The robots in the swarm robotic system are randomly distributed on the two-dimensional plane and they are divided into several different groups by grouping method. Then each group can perform the covering action in parallel during the covering process, to improve the coverage speed. Some problems need to be considered in the grouping process. (1) The leader robot in the right position should be selected quickly. (2) The number of robots in each group should be about the same. (3) The distance between the groups is large enough to reduce collisions between the robots.
For the initial random distribution of swarm robots, we should first determine the number of groups K, and then K robots will be selected as the current leaders. Each leader robot has a different group number. The leader of the robot broadcasts its group number and location information to other robots. All robots are not isolated, and the communication range of robots is defined as R c means that all robots in the communication range of robot α are their neighbors. The swarm robot system will randomly select K robots as the leader robots firstly, and set as L = {l k } k=1,2,. . . ,K , but the distribution of the initial selected leader robots is not necessarily reasonable. For example, the distance may be close, which will affect the effect of grouping. Therefore, it is necessary to update the leader robots automatically. The leader robot chooses a neighbor as the new leader according to the neighbor's position and the current position of other leaders. The sum of the distance to other leaders of the new leader robot l k should be greater than the old leader robot l k , which satisfies the following equation.
where α.N represents all neighbor robots within the communication range of robot α, and α.x represents the position of robot α in two-dimensional space. Once a new leader robot satisfies Equation (2), the original leader robot will be replaced. The new leader will find the next robot which satisfies Equation (2) as the next leader robot, so as to complete the update of the leader robot of the whole swarm robot system.
To update the leader robot quickly, we define one farthest hop number h according to the lifetime of the network packet. The message specifying the next new leader should contain h, and h will decrease after finding the new leader. The leader whose h value is 0 is the final leader. If there is no new leader in l k 's neighborhood, h should be reduced automatically within a certain period of time. The self-organizing updating algorithm of the leader robot is shown in Algorithm 3.
Calculate the sum of the distances ∑d between α and all its neighbors and other leader robots; 9.
end if 15. end while The self-organizing grouping algorithm borrows the idea of the breadth-first search. Each robot that is not in the group will search the neighboring robots in its communication range, and ask whether to join the group according to the distance until a neighbor who has already joined the group is found and joined the group. The adjacent robots of each leader robot will join the group first. Therefore, through this parallel algorithm, K robot groups with K leading robots as the center can be formed. The self-organizing grouping algorithm is shown in Algorithm 4. Algorithm 4 Self-organizing grouping algorithm. Input: the swarm robots and K leader robots Output: the swarm robots and K leader robots if α neighbor · g! = 0 then 4.
end if 6. end while

Aggregation Behavior
Aggregation behavior is to make the groups that have been divided together first to form a relatively regular pattern so that they can better move together in the way of the group to cover the area. During the aggregation process, the robot will have some status transformation, mainly including the following five status.

•
Approach status: It is the initial status of the normal robot. and the robot should gradually approach the leader robot. • Stop status: This is to prevent the robot from colliding with the approaching the leader robot. • Pend status:The Pend status also stops the robot's motion because there are robots with Pend status or Arrive status. • Join status:The robot will approach the group and find a suitable position to join the formation. • Arrive status:when the robot has found a suitable position, it will stop moving.
The leader robot is in the Arrival status, and the ordinary robot is in the Approach status, which is constantly approaching the leader.
In the Approach status, if the robot detects that there are other Pend, Join or Arrive status within a certain distance d sa f e , it will switch to the Pend status. The Pend status and the Stop status perform similar operations. In addition, if the robot in the Pend status receives the join instruction from the robot in the Arrive status and detects that it will not collide with the robot in the Join status, it will switch to the Join status.The robot should approach the formation until the distance between the robot and a certain Arrive status is d min . Then the robot keeps a distance of d min from the formation and moves around until it reaches a suitable position, and then it switches to the Arrive status.
On the one hand, the robot should detect whether there is still space in the d min range around it for the other robot to arrive; on the other hand, the robot should detect the undetermined status robot in the d sa f e range and sends the status switch instruction. The total flow of aggregation behavior is shown in Figure 8.

Collision Avoidance
When there is only one group to cover the area, the Detection status of the robot will be converted to the Coverage status in order according to the initial gradient value and ID number, so there is no collision between robots. However, when the number of groups is greater than 2(k ≥ 2), the motion between the robot belonging to different groups cannot be predicted, so it will lead to a collision. As shown in Figure 9, the blue robots are in Arrive status and the yellow robots are in Coverage status. In Figure 9a, the robot α 2 moves around the robot α 0 , and the robot α 3 moves around the robot α 1 , which may cause a collision. In Figure 9b, the robot α 4 moves outside, and the robot α 5 moves inward, which can also cause a collision. Once the robot in the Coverage status detects that there are other robots in the Coverage status that are too close to it within the range of d cover , the robot will switch to the Stop status. When there are no other robots in the Coverage status within the scope of the robot d cover and no other robots move around it, the Coverage status will be restored.

Deadlock Detection and Release
In addition to collision avoidance, the grouping method can also cause deadlock. As shown in Figure 9b, if the robot α 5 detects that the robot α 4 with the Coverage status in its d cover range, then the robot α 5 will stop moving until the robot α 4 has left. The robot α 4 cannot leave because the robot α 5 is in the way, then the robot α 4 is hovering in the same position. While α 4 and α 5 are waiting for the other to move first, which leads to the deadlock. Therefore, it is necessary to detect and release the deadlock in time.
(1) Deadlock detection The position information of the robot is recorded once every time after time T r , and the position information of the two adjacent times is constantly compared. If the Euclidean distance between the two robots is less than the distance threshold θ, it is considered that there is a deadlock that is shown in Equation (3): where α.x(t) is the current position of robot α, α.x(t + T r ) represents the position of the robot after the time T r , and θ is the distance threshold. Since the two robots in deadlock must be moving within the d cover range, the maximum value of θ should not exceed 2 * d cover . The deadlock detection algorithm is shown in Algorithm 5. (2) Deadlock release A robot that detects a deadlock will switch to a Stop status. Unlike a robot that detects a collision and switches to a Stop status, the robot that detects a deadlock may meet the above-mentioned conditions for restoring the cover state, so it should wait for a while before switching to the cover state. The robot that detects the deadlock may meet the conditions for restoring the Coverage status, so it should wait for some time before switching to the Covered status. The deadlock release algorithm is shown in Algorithm 6.

Grouping-Based Coverage Algorithm
It is important to note that during the coverage based on grouping, T r needs to be initialized and α.x(t) is recorded when the robot switches from the Detection status to the Coverage status. The coverage algorithm based on grouping is shown in Algorithm 7.

Robust Analysis
In the study of swarm robots covering unknown environments, the large number of robots is a prominent feature. In a large number of swarm robots, the failure of individual robots is inevitable. Therefore, the correctness and robustness of the coverage algorithm should be fully considered when studying the coverage algorithm of swarm robots.
In the process of gradient formation, robot α fails to obtain the gradient of its neighbor within the range of d sa f e due to α fault. In this case, the gradient of α is infinite. There are two situations in the position of robot α, as shown in Figure 10. Figure 10a shows that the failure robot is at the edge of the swarm robot group. Since the gradient of α is infinite at this time, according to the region coverage algorithm in algorithm II, the failure robot is in the coverage state first, still moves around the nearest robot, updates the gradient at all times, and finally covers normally. Figure 10b shows that the failure robot is in the closed-loop surrounded by the swarm robot group. At this time, the failure robot α should take the lead in covering. Because the failure robot is surrounded by other robots, it cannot move, and only when the closed-loop is lifted, the failure robot α can move. In both cases, when there is a robot failure, the whole system cannot be brought to a state of paralysis, and the normal coverage task can be completed in the end. When the swarm robot is covering the region, it stops due to the failure of robot α. There are two stopping position states at this time, as shown in Figure 11, which are stopping outside the region to be covered and stopping inside the region to be covered. As shown in Figure 12, when robot α stops outside the area to be covered due to a fault, the status of α at this time is α.status = Coverage , the gradient of α is α.grad, other running robots are also outside the area to be covered, if the around center of the other robot α is robot α, its gradient will increase adaptively, i.e., α .grad = α.grad + 1 , so that α can continue the coverage work according to algorithm II. As shown in Figure 13, when robot α stops in the area to be covered due to a fault, at this point, the status of the failure robot α is α.status = Coverage, if the other robots in the covering state are centered around robot α, they stop moving and line up until α reaches the edge of the area to be covered, the status of α is α .status = Coverage, if the surround center of other robots is α , the situation is the same as that of the failure robot α stopping outside the area to be covered.

Experiment and Analysis
To evaluate the effectiveness of the proposed method, a series of experiments are carried out to realize the self-organized coverage of the unknown areas by swarm robots. We used multi-agent simulation software Netlogo to experiment. The operating system is Win10, and the hardware resources include 4G memory and I5 CPU processor. The experimental parameters are set as shown in Table 2. To calculate the coverage rate, the target area is divided into a 100 × 100 pixel grid. Coverage rate is represented by the ratio of the number of pixels covered to the total number of pixels in the target area. Figures 14 and 15 show the process of self-organizing covering the 'K' area and the 'house' area. There are 603 robots and 942 robots were used respectively, and the number of groups was 3. In Figure 16, a total of 2000 robots are divided into 10 groups to self-organize the 'K' area.   Different colors of the robot in the figure represent different gradients of the robot (due to the limited number of colors in Netlogo software, 14 different colors are taken as a cycle, i.e., the colors of 0 gradient and 14 gradient are the same, and so on). The gradientbased method can self-organize the coverage of the target area, and the speed of coverage can be improved by the grouping method. Although the experiment demonstrates the effectiveness of the method proposed in this section to cover the target area, some gaps cannot be completely covered at the junction of each group due to the robot conflict between the groups.

The Influence of Coverage Radius on Coverage Rate
Keeping other parameter values unchanged, we studied the coverage rate changes with time when the swarm robots were not grouped or the swarm robots were divided into 3 groups, and the coverage distance d cover was 1, 2, 4, 6, 8, and 10 respectively. Repeat the experiment for 30 times for each case and take the average result, as shown in Figures 17 and 18. As can be seen from the figures, the experimental effect is consistent whether the swarm robots are grouping or not. If the number of robots is large enough, as the coverage distance increases, the number of robots for coverage will decrease, and the time for coverage rate to reach a stable level will also decrease, which means that the coverage time will also decrease continuously.
If the coverage radius r of the individual robot remains unchanged, the factors affecting the coverage rate mainly include the coverage distance of the robot and the number of robots entering the coverage area. When the coverage distance of the robot increases to greater than its coverage radius (d cover > r), it will lead to the coverage rate less than 100%. The larger the coverage distance is, the smaller the coverage rate will be.  By comparing Figures 17 and 18, we can see some differences between ungrouped coverage and grouping coverage. With the same coverage distance, the stable coverage time of grouping coverage is significantly less than that of without grouping coverage. When the coverage distance is no more than 8, the coverage rate of the two cases is the same. When the coverage distance is equal to 10, it can be seen that in the case of grouping, the coverage rate decreases greatly. The main reason is that when the coverage distance is large, the gaps caused by conflicts between groups will also become larger and larger.

The Influence of the Number of Groups on the Total Moving Distance of Robots
The total moving distance of the robot reflects the total moving energy consumption of the whole robot system. The smaller the moving distance, the smaller the energy consumption of the robot. It is one of the conditions to judge whether the coverage distance is suitable to discuss the influence of the coverage distance on the total moving distance of the robot. Similarly, keeping other parameters unchanged, we explored the changes of the total moving distance of the robot with time when the covering distance d cover was 1, 2, 4, 6, 8, and 10 when the robot was not grouped or divided into 3 groups. Repeat the experiment for 30 times for each case and take the average result, as shown in Figures 19 and 20.  It can be seen from Figures 19 and 20 that the larger the coverage distance is, the smaller the total moving distance of the swarm robots will be, and the shorter the time for the curve of the total moving distance of the robot to reach a flat level. This is because as the coverage distance increases, the number of robots needed to cover the same area decreases, resulting in a decrease in the total distance traveled by the robots. By comparing Figures 19 and 20, it can be seen that the total moving distance of the swarm robots covered by groups is much smaller than that of the robots not covered by groups. The reason is that in the case of grouping, each group of robots has a smaller size and can enter from different locations in the region at the same time, which makes the maximum radius of the robot surrounding the leader robot with a gradient of 0 smaller, and thus leads to the decrease of the total distance of the robots.

The Influence of the Number of Groups on the Coverage Rate
As can be seen from the previous experiments, when the robot's coverage distance d cover is set as 6, various performance measures are relatively good. Therefore, under the condition that d cover is set as 6 and other parameters are the same, we also explored the influence of the number of packets on the coverage. Figure 21 shows the change of average coverage over time in 30 experiments when the number of grouping K is 1, 3, 4, 6, 8, and 10, respectively. As shown in Figure 21, when the number of groups K is less than 6, the coverage curve of the robot decreases gradually with the increase of the number of groups, and the coverage rate can reach 100%. When the number of groups K varies from 6 to 10, the time when the robot's coverage curve reaches a plateau increases, and the coverage rate decreases. It can be concluded from the experiment that the increase of the number of robot groups can improve the coverage speed of swarm robotic system to a certain extent, but when the number of groups is too much, the conflicts between different groups will be more and more, which leads to the decrease of coverage rate and the slowing down of coverage speed.

The Influence of the Number of Groups on the Total Moving Distance of Swarm Robots
When the cover distance is 6 and other parameters are the same, 30 experiments are carried out under the condition of without grouping, 3 groups, 4 groups, 6 groups, 8 groups, and 10 groups, and the total moving distance is analyzed by average value, as shown in Figure 22.
As can be seen from Figure 22, when the swarm robots are not grouped, since there is no inter-group conflict, the distance moved by each robot is the effective distance (that is, it can directly participate in the area coverage without the edge of the area being blocked). The total distance moved by the swarm robotic system is the shortest, but its coverage time is also the longest. When the number of groups is less than 6, the total moving distance of the swarm robots will be shorter with the increase in the number of groups. When the number of robot groups is greater than 6, with the increase of the number of groups, the conflict between groups will increase gradually, which leads to the increase of the total moving distance of the swarm robots.

Robust Analysis
We studied the coverage completion time and coverage rate of GGC under the condition of no abnormality (failure of individual robots). In large-scale swarm robots, the failure of individual robots is inevitable. Therefore, in the case of a robot failure, it is necessary to analyze the robot's influence on the experimental results.
The environment was kept consistent, the number of robot groups was set as 3, and the coverage distance was set as 6. In the gradient generation process and the self-organizing coverage process of the robot, 0, 1, 5, 10, and 20 robots were randomly set to fail, which made the robot unable to carry out any work. The experimental results obtained are shown in Figure 23. Figure 23a shows that in the process of gradient formation, a different number of individual robots cannot obtain the gradient of neighbor robots, so the gradient cannot be formed normally. The coverage rate curves shown in the figure roughly coincide. When there are 20 robots with failures, the early coverage speed is faster than the early coverage speed when the other number of robots fail, and this is because the failure robot is close to the leader robot, and the fault robot is at the edge of the swarm robot team. At this point, the gradient of the failure robot is infinite, so that it is in the coverage state first, which reduces the time it takes to move around other robots and faster enters the area to be covered. Figure 23b is the coverage rate and time curve of failures of individual robots in the coverage process. As can be seen from Figure 23b, the curves obtained in all abnormal cases are roughly coincident. When there are 20 robots with failures, the time of other robots moving around the failed robots is increased to some extent, therefore, when N is 20, the coverage speed of the swarm robot is slightly slower in the later stage. In general, the GGC algorithm has good robustness when the robot fails.

Comparison of Coverage Time and Coverage rate of Different Coverage Algorithms
For the above experiments, the influences of different coverage distances and the number of groups in GGC on the coverage completion time and coverage rate are analyzed, and the optimal coverage distances and number of groups in GGC are obtained. In order to study the advantages of GGC and other coverage algorithms, we conducted experimental analysis and comparison of four coverage algorithms GGC, kilobot [41], DASH [42] and FCDFS [43] in the same coverage environment. We obtained the experimental results, as shown in Figure 24. We intuitively found that the GGC algorithm was optimal in both coverage completion time and coverage. Because the DASH algorithm dynamically adjusts the distance between the robots in real time, the speed of covering completion is relatively slow. In the angle-first (FCDFS) algorithm, the swarm robots continuously enter the area to be covered according to the line state, which makes the curve of the experimental results relatively smooth, at the same time, in the coverage process of the FCDFS algorithm, the arrangement of swarm robots is relatively standard, and there is an interval between adjacent robots, resulting in the coverage rate cannot reach 1. We can also see that the GGC and Kilobot algorithms start to enter the area to be covered after a certain period of time. This is because robots with a higher gradient are the farthest from the area to be covered and need to move around robots with a lower gradient first before they can enter the area to be covered and perform the covering task.

Qualitative Analysis of Different Coverage Algorithms
In this paper, the GGC algorithm has great advantages in coverage-rate and convergence speed and is also superior to other coverage algorithms in environmental scale, complexity, communication cost, and stability. As shown in Table 3, we can see that other coverage algorithms that do not participate in the quantitative analysis are not suitable for large-scale robot environments and cannot cover complex areas. For CVT, LFS, DD, CADT and other algorithms, there is a large amount of communication between each other and communication delay, and these algorithms require much computation to cover the region. By contrast, GGC does not just adapt to the coverage model of large-scale swarm robots, but also in the same complex area environment, and swarm robots can carry out coverage work with small communication costs and minimal computation. Moreover, because GGC has good robustness, its stability is better than other algorithms. × exist large poor higher fast LFS [39] × exist large poor high slow DD [40] exist large poor high fast CADT [38] × exist large poor higher fast SCWC [33] × not exist small good high fast DASH [42] not exist small good low slow FCDFS [43] not exist small poor high fast Kilobot [41] not exist small good higher slow GGC not exist small good higher fast

Conclusions and Future Work
In this paper, a method of sensing dynamic gradient only by adjacent robots is proposed, which can effectively realize swarm robots to cover unknown areas by selforganization. Furthermore, the swarm robots are grouped and each group covers the area in parallel to improve the coverage speed. This coverage method can be applied to robots with very simple functions and lack of computing and storage capacity, and the communication cost between robots is very low. Through the experimental analysis, the following conclusions can be drawn: (1) The coverage method based on gradient can make the large-scale robot system self-organize to cover the unknown area effectively; (2) The grouping-based coverage method can effectively improve the regional coverage speed of the swarm robot system and reduce the total moving distance of the swarm robots. However, the number of groups should not be too large, and the coverage distance of the robot should also be taken as a reasonable value. In our future work, other related algorithms will be used to solve the problem of adaptive coverage of dynamically changing regions. Finally, through the application of very simple swarm robots for distributed area coverage, our method can further realize self-organizing control of the collective behavior of submillimeter robots. This will lay the foundation for future microscopic fields such as medicine.

Conflicts of Interest:
The authors declare no conflict of interest.