# A Self-Organizing Area Coverage Method for Swarm Robots Based on Gradient and Grouping
## 1 Introduction
A sensor coverage optimization algorithm based on PSO is proposed in [35], and the Voronoi diagram was used to realize the coverage of the region. An artificial bee colony algorithm and particle swarm optimization algorithm was used to solve the sensor configuration problem [36], and then the heuristic algorithm was used for scheduling. However, these methods are not suitable for complex environments and large-scale robots.Teruel et al. [37] proposed a distributed self-deployment mechanism (Centroidal Voronoi Tessellations (CVT), which enables the swarm robots to self-organize and evenly cover the dynamic region, greatly improving the convergence of the system through feedforward actions. [PERSON] et al. [38] proposed the coordination algorithm for mobile agent groups to perform deployment and coverage tasks, and based on the geometric properties of Voronoi partitions and adjacent graphs, a class of clustering objective functions is analyzed, and continuous-time and discrete-time covering algorithms are proposed. The convergence speed of this method is improved greatly, but it cannot adapt to a complex environment. Moreover, the deployment method based on Vornoni graphs can only solve the problem when the target region is a convex polygon. [PERSON] et al. [39] proposed a local rule based on following the leadership. When the robot is a primitive finite automaton with only local communication, local sensors and constants, the time needed to fill the whole area can be minimized. However, it cannot adapt to the dynamic environment and too much reliance on leaders, resulting in its slow convergence speed. [PERSON] et al. [40] described a set of a distributed algorithm, the algorithm uses the directional diffusion method to achieve the area coverage of swarm robots. Besides, the gradient-based routing protocol is used for remote communication, which allows the robot to explore the large and complex indoor environment. However, this method has low efficiency, and the robot has strong jitter during regional coverage, so it cannot achieve a stable coverage state. [PERSON] 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 unknown 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.