**1. Introduction**

Coverage path planning (CPP) is the process of calculating a viable path through all points in a region of interest to scan or investigate a region of interest in the environment [1]. As shown in **Figure 1**, it is largely applied to the coverage problem of patrol robots and cleaning robots.

Early CPP studies [2] defined six robot requirements as follows:


**Figure 1.**

*Various robot platforms with coverage algorithms. (a) K5 robot, (b) D-Bot, (c) Samsung robot cleaner, and (d) Mi robot cleaner.*

In addition, it requires robot positioning, autonomous driving capabilities, path planning, detection, and recognition. However, these conditions are not always possible in complex environments. Thus, sometimes only a few conditions are needed.

As aforementioned, CPP is the process of navigating or exhaustively searching a workspace. The CPP must also determine all locations to be visited while avoiding all possible obstacles [2, 3]. Essentially, applications, such as structural painting, object reconstruction, lawn mowing, surveillance, geospatial mapping, agricultural surveying, and floor cleaning, require full coverage. In general, in CPP, it is common to construct a model in real time using a sensor mounted on a robot and to provide information, such as a region of interest in advance [4–7].

The three main components of CPP are viewpoint generation, path planning, and coverage integrity quantification. In each implementation, CPP can be performed online or offline. Offline CPP requires a reference model. On the other hand, in the case of online CPP, since it is necessary to utilize sensor information, a step to process sensor information is required.

#### **2. Model/non-model-based CPP**

There are several research methods for performing CPP using a single robot. These methods can be broadly divided into model-based approaches and nonmodel-based approaches. In Ref. [8], a heuristic-based approach based on the art gallery problem (AGP) approach [9] was proposed. **Figure 2** shows a visual representation of the AGP. In addition, this method solved the traveling salesman problem (TSP) to generate optimized routes for each structure and then randomly assign them based on the time constraints of the UAV and the travel routes of the traveling salesman.

There is also an example of performing a TSP algorithm using PSO [10]. PSO is a particle swarm optimization technique that progressively finds an optimal solution using N particles. The solution giving the best score among particles is the output of the PSO. **Figure 3**(**a**) shows the structure of the PSO algorithm. It can be seen that the algorithm is configured in the form of finally finding the optimal solution while optimizing the objective function until the termination condition is satisfied. **Figure 3**(**b**) shows how each particle converges.

The second approach of the single-robot CPP approach follows a non-modelbased approach. The work presented in Ref. [12] proposed an extended CPP approach [13] by utilizing surface information to plan coverage paths online using *Coverage Technology of Autonomous Mobile Mapping Robots DOI: http://dx.doi.org/10.5772/intechopen.108645*

#### **Figure 2.**

*Visual representation of AGP [9]. This problem refers to the problem of protecting the entire museum with the minimum number of guards. In general, AGP is to ensure that the guard represented by a point on a polygonal map is sufficient to detect all spaces.*

#### **Figure 3.**

*The representation of the PSO algorithm and convergence [11]. The pseudo-code of PSO is represented in (a). The movements of particles are shown in (b). (a) PSO algorithm (b) visualization of PSO.*

truncated signed distance fields (TSDF). The search space is divided into a surface area and a cuboid area, which are used to create a volume map of the bounding area. The volume map is used to calculate the information gain by considering the cube volume and path length. The Hamiltonian path problem is to compute the visit order for each cuboid while generating the path using the generalized TSP. As shown in **Figure 4**, the Hamiltonian path problem can be solved by finding out a path through all vertices once in graph theory.

In Ref. [15], another non-model-based approach, that is, a search algorithm, was presented that selects the next best view (NBV) that maximizes the predicted information gain, taking into account distance and battery life cost. The proposed task dynamically builds a hull surrounding a predefined bounding box that updates based on new information. The visited points are uniformly sampled with a fixed number pointing to the vertical axis through the center of the bounding box. The planning

**Figure 4.** *Hamiltonian path generation problems [14]. Hamiltonian path generation results for various examples are shown.*

approach follows a probabilistic approach using utility functions that reduce 3D reconstructed model uncertainty, divert combat paths, and generate safe paths based on time constraints. The energy aspect of the non-model-based single-robot approach is considered an important part, especially since the CPP is performed online. Using this type of approach on a single robot makes it difficult to achieve high coverage ratios and increases computational complexity. This difficulty arises from the complexity of environments that contain enclosed areas that are difficult to find with a single robot and require a lot of time to navigate. Single-robot CPP approaches were reviewed and analyzed in Ref. [16].

#### **3. Single/multi-robot**

For large areas and structures, leveraging a multi-robot CPP strategy can be a huge advantage to quickly achieve full coverage. Using one robot to cover a large structure or a large area has various disadvantages, such as time, length, robot energy, and quality and quantity of information [6, 7]. The multi-robot CPP approach follows the same approach as single-robot coverage, but requires additional factors and requirements to be considered. These factors include the type of collaboration, information sharing, robustness of agent failure handling, level of autonomy, robot durability, and task assignment. It is necessary to explore different approaches utilizing multi-robot systems in terms of CPP components, including viewpoint generation and path planning approaches. Path planning approaches can be divided into grid-based navigation approaches, geometric approaches, reward-based approaches, NBV approaches, and random incremental planning approaches.

Performing CPP using a multi-robot system for model reconstruction and mapping requires various aspects to be considered. Two key CPP-related aspects for creating feasible coverage routes include viewpoint generation and path planning. The remaining aspects are communication/task assignment and mapping in multi-robot systems, which are important to model or construct regions of interest using the collected data.

## **3.1 Viewpoint generation**

In most studies, the coverage search method is largely divided into the modelbased method and the non-model-based method. Model-based methods rely on a reference model of the environment or structure provided first, whereas non-modelbased ones perform planning and exploration without prior knowledge of the structure or environment [4, 5]. Based on these classifications, viewpoints are generated to form the search space of the planner. Some methods of generating them are uniformly generated due to the existence of structural or regional models and their dependencies on specific regional or structural models. Other types of viewpoint generators are also randomly assigned due to lack of knowledge of structural or domain models. Viewpoint generation is treated as important in the multi-robot CPP process because it aims to output a set of optimized routes that represent an acceptable set of viewpoints containing the structure or environment of interest. Depending on the search method used and the scope of its application, various techniques for performing viewpoint generation are mentioned in the relevant papers.
