ORIGINAL RESEARCH article

Front. Robot. AI, 27 January 2023

Sec. Robotic Control Systems

Volume 9 - 2022 | https://doi.org/10.3389/frobt.2022.1076897

Fast and optimal branch-and-bound planner for the grid-based coverage path planning problem based on an admissible heuristic function

  • GDAC-LIA, Computer Science Department, UniversitĆ© du QuĆ©bec Ć  MontrĆ©al, MontrĆ©al, QC, Canada

Article metrics

View details

15

Citations

7,2k

Views

1,8k

Downloads

Abstract

This paper introduces an optimal algorithm for solving the discrete grid-based coverage path planning (CPP) problem. This problem consists in finding a path that covers a given region completely. First, we propose a CPP-solving baseline algorithm based on the iterative deepening depth-first search (ID-DFS) approach. Then, we introduce two branch-and-bound strategies (Loop detection and an Admissible heuristic function) to improve the results of our baseline algorithm. We evaluate the performance of our planner using six types of benchmark grids considered in this study: Coast-like, Random links, Random walk, Simple-shapes, Labyrinth and Wide-Labyrinth grids. We are first to consider these types of grids in the context of CPP. All of them find their practical applications in real-world CPP problems from a variety of fields. The obtained results suggest that the proposed branch-and-bound algorithm solves the problem optimally (i.e., the exact solution is found in each case) orders of magnitude faster than an exhaustive search CPP planner. To the best of our knowledge, no general CPP-solving exact algorithms, apart from an exhaustive search planner, have been proposed in the literature.

1 Introduction

The field of automated planning (sometimes called

AI planning

) focuses on finding a sequence of actions that allows an intelligent agent (for example, a robot) to reach a goal state (for example, a specific position in the environment) from a given initial state (

GhallabĀ etĀ al., 2016

). An example of a real-world application of automated planning is the problem of finding an optimal path for an electric vehicle (

ChampagneĀ GareauĀ etĀ al., 2021a

). Another problem studied in automated planning is the complete Coverage Path-Planning (CPP) problem, where the objective is to find an optimal or quasi-optimal path that covers every area in the region (we call such a path a

complete coverage path

of the region). This problem has many practical applications, such as:

FigureĀ 1 gives a visual representation of these applications. All of them rely on efficient CPP algorithms to accomplish their task (Choset, 2001; Galceran and Carreras, 2013; KhanĀ etĀ al., 2017).

FIGURE 1

Many variants of the CPP problem exist. The algorithm to be used depends a lot on the variant under study. The working environment can be either discrete (e.g., grid-based, graph-based, etc.) or continuous, 2D or 3D, known a priori (i.e., off-line algorithms), or discovered while doing the coverage (i.e., on-line algorithms). Moreover, the coverage can be done by a single agent, or by the cooperation of multiple agents. Some variants also restrict the type of allowed movements or add different kinds of sensors to the agent (e.g., proximity sensor, GPS, gyroscopic sensor, etc.). Some variants even consider positional uncertainties and energetic constraints of the agent. In this paper, we focus on the classical variant consisting of a single agent in a 2D discrete grid-based environment with no specific constraints or uncertainties.

The objective of our study is to present an optimal CPP planner that runs orders of magnitude faster than a naive search algorithm through the state-space. Our main research contributions are as follows. We propose:

  • 1) A novel branch-and-bound optimal planner to the grid CPP problem;

  • 2) An informative, admissible, efficient heuristic to the grid CPP problem;

  • 3) Realistic environments for discrete grid-based CPP benchmarking.

This article is an extended version of our conference paper presented at the IDEAL2021 meeting (

ChampagneĀ GareauĀ etĀ al., 2021b

). We extend our previous work by:

  • • greatly expanding the Introduction and Related Work sections to present various applications of CPP and to better show how our algorithm (including the two proposed improvements) compares to the existing approaches;

  • • improving the proposed heuristic function;

  • • improving the empirical evaluation, including additionnal experiments, new plots and two new type of benchmark grids;

  • • expanding the analysis of our results, by explaining more deeply the causes of the observed improvements and what these results mean in practice.

Below, we present an overview of existing CPP solving approaches and their practical applications in the field of robotics.

Grid-based methods decompose the environment that we want to explore into a collection of uniform grid cells. A grid-based representation was first proposed by Moravec and Elfes (1985). A classical algorithm to solve the CPP problem in a grid-based environment is the wavefront algorithm (ZelinskyĀ etĀ al., 1993). When given a start and a goal position (which can be the same), this algorithm propagates a wave from the goal to the neighboring grid cells (i.e., with a breadth-first search through the state-space). When the wave reaches a new grid cell, we label the cell with the next number with respect to the highest label number of the already visited neighboring cells.

After the propagation, each grid cell will be labeled with a number corresponding to the minimum number of cells (or equivalently, the minimum number of moves/actions) an agent must visit (or equivalently, the minimum number of moves/actions it must execute) to reach the goal from a given cell. The second phase of the algorithm is as follows: the agent always visits first the unvisited neighboring cell with the highest label number, breaking ties arbitrarily. One disadvantage of this strategy is the necessity to specify the ending position. In some applications, the ending position is not important, and not specifying it allows for finding shorter paths. The algorithm runs in , where n is the number of states, but has no guarantee of finding an optimal solution. There exists an on-line variant of the wavefront algorithm (ShivashankarĀ etĀ al., 2011) which can be used when the environment to cover is a priori unknown.

Each grid cell in grid-based methods is typically a square or a rectangle (as in the wavefront algorithm). OhĀ etĀ al. (2004) proposed instead to consider a grid of triangular cells which allows for a higher resolution in comparison to square or rectangular cells of similar size. However, as Galceran and Carreras (2013) mention in their survey: ā€œMost mobile robots are not capable of making very fine movement adjustments, and hence there is no need for ultra high resolution in coverage path planning. Therefore, the extra effort devoted to implementing a triangular grid seems not to be worthwhileā€.

Grid-based CPP methods have been proposed to cover irregularly shaped areas using UAVs (Unmanned Aerial Vehicles). For example, the algorithm of CabreiraĀ etĀ al., 2019b searches for a path that covers in the most ā€œenergy-efficientā€ way the area to be explored. In contrast, most other CPP methods for UAVs consider the number of ā€œturning maneuversā€, thus minimizing the energy consumption only indirectly (see, e.g., ValenteĀ etĀ al. (2013)). The algorithm of Cabreira etĀ al. is similar to the baseline algorithm we present in SectionĀ 3.1 (the authors seem to use a variant of the ID-DFS algorithm, even though it is not clearly mentioned in their paper). They propose two pruning techniques to reduce the computation time. The former technique keeps in memory the best (i.e., smallest) cost of the solutions found to date, and prunes the current subtree whenever the length of the best current solution exceeds that cost. The latter technique reduces the computation by keeping intermediate cost in memory and computing the cost to reach newly encountered cells using the stored cost of its neighbors instead of computing the cost of travel from the initial cell. These pruning techniques cannot be applied to solve the grid-based CPP problem described in the following sections, because we consider the number of visited cells (including multiple visits) instead of the energy or cost of the path, and ID-DFS already prevents such implausible states from being visited.

Another algorithm based on a grid representation of the problem uses minimum spanning trees (Gabriely and Rimon, 2001). It can be used either as an on-line or off-line planner. The algorithm of Gabriely and Rimon, named Spanning Tree Covering, solves a relaxed CPP problem assuming that the environment can be discretized using squares of size twice as large as the agent. In this simplified problem, the algorithm finds an optimal solution and has a time complexity of .

When a CPP algorithm is applied to a road network (e.g., a street cleaning vehicle that needs to pass by every street), a graph representation (instead of a grid one) is more advantageous. It allows one to model environmental constraints, such as one-way roads, and a priori incomplete information. Many algorithms have been proposed to solve the discrete CPP using graph-based representations (see the survey by Xu (2011)). Some authors have considered the discrete CPP problem with a different objective function to be optimized. For example, instead of minimizing the number of steps required to cover a region, one might be interested in minimizing the number of rotations of the agent since, depending on the type of agent, a rotation can be costly in energy (e.g., for skid-steered robots) or in time (e.g., for differential drive robots). An algorithm based on the A* algorithm has been proposed to solve this problem (Dogru and Marques, 2018). Finally, a neural-network representation of the problem has also been proposed (Yang and Luo, 2004). One advantage of this representation is that it can handle dynamic environments.

When the environment to be covered is continuous, cellular decomposition methods can be used (Choset and Pignon, 1998). These methods consist in partitioning complex regions in many simpler, non-overlapping regions, called cells. These simpler regions do not contain obstacles, and are thus easy to cover. Within this approach, the CPP problem can be viewed as two different sub-problems: (1) to find a ā€œgoodā€ cell decomposition of the environment, and (2) to find the optimal order of visits of the cells. The simplest and most popular algorithm that uses this strategy is the boustrophedon decomposition algorithm (Choset and Pignon, 1998). A more general type of decomposition is the Morse decomposition which, unlike the boustrophedon decomposition, can handle non-polygonal obstacles (AcarĀ etĀ al., 2002). Instead of using cellular decomposition, continuous regions can also be discretized, which allows the usage of any of the aforementioned discrete planners for the complete coverage of the environment.

For a more detailed description of traditional CPP algorithms, we refer the reader to the seminal surveys of Choset (2001) and Galceran and Carreras (2013). More recent surveys, focusing on specific variants or applications of CPP also exist. For example, in their survey, KhanĀ etĀ al. (2017) focus on optimized backtracking and smoothness techniques, which have not been covered previously. Finally, the review of CabreiraĀ etĀ al., 2019a concentrates on CPP techniques applied to unmanned aerial vehicles (UAVs).

Several works in the field are dedicated to practical applications of the CPP problem. For instance, NasirianĀ etĀ al. (2021) have proposed a new representation of the problem, using a Markov Decision Process (MDP), and an algorithm based on deep reinforcement learning for finding a continuous path for a disinfectant robot that minimizes the disinfection task completion time in a hospital, to lower COVID-19 or other virus transmission risks.

All of the above algorithms have a relatively fast running time, but they either focus on a relaxed instance of the CPP problem (e.g., the aforementioned spanning-tree covering algorithm) or have no guarantee of optimality (e.g., the aforementioned wave-front algorithm). It is important to mention that there exists a reduction from the Traveling Salesman Problem (TSP) to the general discrete CPP problem, making CPP a part of the NP-complete class of problems (Mitchell, 2017). Therefore, the CPP planners described in the literature either provide approximate problem solutions, or work only within a relaxed version of the CPP problem with additional constraints on the environment. To the best of our knowledge, no discrete CPP planner that are both optimal and general has been proposed in the literature (other than the trivial, naive algorithm consisting on exploring the entire state-space).

The rest of the article is organized as follows. In SectionĀ 2, we formally introduce the CPP variant of interest. SectionĀ 3 and SectionĀ 4 describe, respectively, our method and the results obtained. Finally, SectionĀ 5 presents the main findings of our study, and discusses some ideas for future investigation.

2 Problem modeling

In this section, we mathematically define the coverage path planning theoretical framework we used in this research. DefinitionsĀ 1–3 describe more formally the environment to cover, the agent and the state-space model considered in our study.

Definition 1

A 2D

environment

is an

m

Ɨ

n

grid represented by a matrix

, where

gij

∈ {

O

,

X

}, and:

  • • O indicates that a cell is accessible and needs to be covered;

  • • X means that the cell is inaccessible (blocked by an obstacle).

Definition 2An agent is an entity with a position somewhere on the grid. It can move to neighboring grid cells by using an action a from the set of actions . The effect of each action is as follows.If p = (i, j) denotes the agent’s current position (i.e., the agent is on the grid cell gij) and it executes action a = (a1, a2), then its new position is:

Definition 3

A

state

is a tuple

s

= (

is

,

js

,

R

), where:

  • • (is, js) is the position (row, column) of the agent;

  • • R = {(i, j)∣gij = OĀ andĀ position (i, j)Ā hasĀ notĀ yetĀ beenĀ explored}.

Assuming a square grid of size n Ɨ n, the state-space (the set of all states) has cardinality . It is thus important to note that the state-space is exponentially larger than the size of the grid environment. We now formally define what we mean by a CPP problem instance, a solution to such an instance, and our optimization criterion (see DefinitionsĀ 4–6), and give an example of a problem instance in FigureĀ 2.

FIGURE 2

Definition 4An instance of our CPP problem variant is given by a tuple (G, s0), where G is an environment, as defined in definition 1, and s0 = (i0, j0, R0) is the initial state, where R0 = {(i, j)∣gij = O}.

Definition 5A solution to such an instance (G, s0) is an ordered list of actions p = ⟨a1, a2, … , ak⟩ (also called a plan) that moves the agent through positions:with R0 āŠ† L (i.e., the final state is (ik, jk, āˆ…)).

Definition 6Let be the set of solutions (plans) of a CPP problem instance. The objective is to find an optimal solution . Namely, p⋆ is a minimal ordered list of actions that solves the problem.

3 Proposed methods

As previously noted, existing methods used to solve the grid-based CPP problem are either non-general (they work only in some specific cases) or non-optimal (they don’t necessarily provide the optimal, i.e., shortest-path, solution). To illustrate how suboptimal they can be, we present in FigureĀ 3 the path obtained on the same 4 Ɨ 4 grid by an optimal solver (on the left) and by the wavefront algorithm described in Section 1 (on the right). The optimal solution has a length of 11, while the solution found by the wavefront algorithm has a length of 19. The optimal solution thus requires 8 moves less, which is about 40% shorter. Note that this example is a worst-case scenario for the wavefront algorithm in a 4 Ɨ 4 grid. Thus, the difference in solution quality between classical algorithms like the wavefront algorithm and optimal algorithms can be significant.

FIGURE 3

In the first part of this section, we present an optimal CPP planner based on the ID-DFS algorithm. Because the problem is NP-complete, the algorithm has a worst-case exponential time complexity. The second part of this section describes the two improvements we propose (i.e., loop detection and an admissible heuristic function) which preserve the optimality of the obtained solutions, while running orders of magnitude faster than an exhaustive search algorithm.

3.1 Iterative deepening depth-first search (ID-DFS)

Since there is no optimal and general discrete CPP planner described in the literature, we begin by presenting an exhaustive search planner, on which our two proposed improvements are based on.

First, we observe that our problem can be viewed as a search in a graph where every node represents a state in the state-space (as defined in DefinitionĀ 3). Thus, we can theoretically use any standard graph search algorithm, such as the well-known depth-first search (DFS) and breadth-first search (BFS) algorithms. However, because of the huge size of the graph representing the state-space (i.e., the state-space is exponentially larger than the problem grid), BFS is impractical. Indeed, this search algorithm needs in the worst-case scenario to store the complete state-space in the working memory, which is too large even for a small problem grid (e.g., a 20 Ɨ 20 grid has a state-space of 200 Ɨ 2200 states). In practice, we can’t use BFS or other algorithms based on BFS, such as the Dijkstra and A⋆ algorithms.

Algorithm 1

CPP planner based on ID-DFS.

On the other hand, the DFS algorithm can go arbitrarily deep in the search tree even when the solution is close to the root (e.g., it can get stuck by expanding nodes over and over indefinitely, never backtracking and thus never finding a solution). A safeguard is to use a variant of DFS, called iterative deepening depth-first search (ID-DFS)Ā (Russell and Norvig, 2009), which works similarly to DFS but considers a depth limit. When a solution is not found within the current depth limit k, the algorithm restarts its search but with the depth limit k+1 and continues until a solution is found. It ensures that the algorithm never goes deeper than necessary and that the algorithm terminates (if a solution exists). AlgorithmĀ 1 presents the details of a CPP planner based on ID-DFS. We recall from the previous section that R0 is the set of grid cells that need to be covered. The rest of the pseudocode should be self-explanatory.

3.2 Pruning using loop detection

AlgorithmĀ 1 provides an optimal solution for each problem instance and is guaranteed to terminate if a solution exists. However, it has to analyze many branches of the search tree that are not promising (i.e., that have a little chance or no chance at all to lead to an optimal solution). Our branch-and-bound planner aims at alleviating this problem by pruning the unpromising parts of the search tree during the search. There are many different types of unpromising subtrees. One such type occurs when the agent arrives in an already visited grid cell (i, j) without having covered any new grid cell since its last visit (i.e., we found a loop in the state-space). In order to find such loops, we introduce the matrix , where mij is the number of grid cells that remained to be covered the last time the agent was in position (i, j). We modify AlgorithmĀ 1 to consider and update this new matrix M. When a new recursive call starts, and the agent is in position (i, j), a condition is inserted to check if mij ≤ |R|. If this condition is true, then the current path is clearly suboptimal, and the current subtree is thus pruned from the search tree.

3.3 Pruning using an admissible CPP heuristic function

A second way to improve AlgorithmĀ 1 is to introduce an admissible heuristic cost function , i.e., a function that takes as input states s = (i, j, R) from the set of states and returns as output a lower bound h(s) on the number of actions needed to cover the remaining uncovered grid cells (the cells in R). Such a heuristic can be used in two ways: (1) It allows pruning even more unpromising subtrees than what is possible using the Loop-Detection method (see SectionĀ 3.2), and (2) it allows ranking the successors of a state depending on how much promising they are, and thus finding an optimal solution faster by exploring the most promising subtrees first.

We describe our novel heuristic and explain how it computes the lower bound using an example presented in FigureĀ 4 (Example 1, on the left). In this figure, three grid cells (A, B and C) remain to be covered. Our heuristic computes the minimum number of actions (for each of the four possible moves) in that need to be executed to cover the remaining cells. For example, the action corresponding to ā€œgo leftā€ must be executed at least max(4, 3, 0) = 4 times and the action corresponding to ā€œgo rightā€ must be executed at least max(0, 0, 2) = 2 times. To obtain a tighter lower-bound, we observe that if the agent goes 2Ā cells to the right, the minimum number of moves to the left will now be two more than for the previous minimum of 4, i.e., 6. We can thus add min(left, right) to the number of ā€œleft movesā€ and ā€œright movesā€. The same computation is carried out for the ā€œgo upā€ and ā€œgo downā€ moves. We thus finally obtain a heuristic value of:

FIGURE 4

In Example 1, the obtained heuristic value of 12 is not higher than the actual number of actions necessary to cover A, B and C, and is a much more informative heuristic value than the number of uncovered cells (i.e., 3). However, under some (rare) circumstances, the number of uncovered cells can be more informative than the heuristic value computed as explained above. For instance, if we look at Example 2 in FigureĀ 4, the heuristic value we would obtain is:which is lower than the number of uncovered cells (i.e., 11). To further improve the informativeness of our heuristic function (i.e., obtain tighter lower bounds on the remaining number of actions), our heuristic function returns the maximum of the two values.

AlgorithmĀ 2 shows more precisely how the heuristic value h(s) of a given state s is computed.

Algorithm 2

Heuristic cost computation.

3.4 ID-DFS CPP planner using the proposed pruning techniques

AlgorithmĀ 3 presents the planner we obtain when modifying the ID-DFS planner (AlgorithmĀ 1) to prune the state-space using the two proposed techniques (pruning using loop detection, and pruning using the admissible heuristic function). In AlgorithmĀ 3, the added instructions related to the loop detection are colored in green, while those related to the use of the heuristic function are colored in blue.

Pruning using loop-detection is done exactly as described in SectionĀ 3.2. The matrix defined on Line four is used on Line 13 to prune the detected loops in the state-space.

The heuristic function (i.e., the function defined in AlgorithmĀ 2) is used in two ways. Firstly, it is used on Line six to provide an initial depth limit for ID-DFS. This allows the algorithm to start with a higher initial depth limit than in AlgorithmĀ 1 in the case when the heuristic value is higher than the number |R0| of cells to be covered in the initial grid. Secondly, it is used on Line 11 to prune the currently explored subtree in the state-space if kāˆ’d, i.e., the number of remaining moves that can be done before reaching the depth limit, is less than the lower-bound, given by the heuristic function, of the number of necessary moves to complete the coverage.

Algorithm 3

Heuristic cost computation.

4 Results and analysis

The algorithms described in SectionĀ 3 were implemented in C++. The tests were carried out on a PC computer equipped with an Intel Core i5 7600k processor and 32Ā GB of RAM. Thanks to ID-DFS’s low memory consumption, all tested algorithms have never used more than 10Ā MB of RAM memory, even on the largest test environments. Thus, the memory usage is not an interesting benchmarking metric here. The obtained solutions’ quality is also not an interesting metric to compare the proposed algorithms (the baseline, ID-DFS, and the two proposed improvements, Loop-Detection and Heuristic function) because all of them always provide optimal solutions, i.e., plans with the same minimal length (number of actions). However, for each tested grid, our program returns the length of an optimal solution as well as the solution found by the classical (non-optimal) wavefront algorithm (described in Section 1) to give an idea of the difference in the quality of solution we can expect between an optimal and a classical, approximate algorithm.

We propose six types of synthetic grids which cover many completely different scenarios. We believe that by using these synthetic grids in our evaluation, we are able to measure more generally the strenghts and weaknesses of each proposed algorithm (compared to testing it on a specific real-world grid-environment, which would have a particular shape and not cover as many scenarios).

Every planner was tested with each of the six kinds of artificial grids shown in FigureĀ 5. Type (a) grids were generated with the Diamond-Square algorithm. They have the shape of a coast (FournierĀ etĀ al., 1982). Type (b) grids include cells with randomly added ā€œlinksā€ between neighboring positions on the grid. Type (c) grids mimic a random walk on a grid. Type (d) grids were generated by randomly placing simple shapes (triangles, discs and rectangles). Type (e) grids are perfect labyrinths (i.e., labyrinths with no cycle). Finally, type (f) are wide labyrinths (i.e., labyrinths were each "path" has a width of 2Ā cells). All grid types were generated with an inaccessible cells density of (50 ± 1)%. To measure the performance of our algorithms, we ran each of them 50 times for each parameter combination (type of grid, size of grid) using randomly generated grids, and taking the average of the obtained results.

FIGURE 5

TableĀ 1 reports the average running times measured for each planner on each instance of the considered types of test grids. Every grid we generated had the same number of rows and columns, shown in column Size. The columns L and H, respectively, stand for our two improvements over the ID-DFS (AlgorithmĀ 1) planner, i.e., (L)oop detection and (H)euristic pruning. In TableĀ 1, the character ’-’ means that the planner failed to solve the problem within 5Ā min. The length of an optimal solution (which is also the length of the solution obtained by each of our proposed planners, since all of them are optimal) is given by column OS. For reference, we also provide the length of the solution obtained by the classical wavefront algorithm. FiguresĀ 6–11 illustrate the obtained results graphically.

TABLE 1

TypeSizeID-DFSLHL + HOSWFS
(a)30.010.010.000.0044
(a)41.790.680.020.0299
(a)5877.4575.351.100.911416
(a)687,595.501220.182.681.631819
(a)7-14,598.20377.89169.612427
(a)8--7369.904605.853438
(a)9--91,806.7086,891.904247
(a)10--259,001.00228,610.004852
(b)30.000.000.000.0033
(b)40.080.060.010.0189
(b)56.102.050.040.041213
(b)618,475.704225.291.401.041920
(b)7275,006.00196,072.0041.9814.912426
(b)8--17,688.505481.633335
(b)9--94,546.6063,041.104043
(b)10--285,868.00244,529.004752
(c)30.000.010.000.0055
(c)40.040.030.010.0179
(c)515.035.840.030.031314
(c)621,457.501024.130.620.411821
(c)7-197,872.0076.9553.622627
(c)8-280,669.0097.4575.263236
(c)9--22,104.5020,105.503942
(c)10--105,775.00102,159.005257
(d)30.000.000.000.0022
(d)40.010.010.000.0066
(d)58.031.610.010.011012
(d)654,370.609442.4074.9638.262225
(d)7260,308.0096,891.802219.24257.492732
(d)8-243,374.0085,053.1022,908.103742
(d)9--260,703.00197,377.003952
(d)10---266,157.005762
(e)30.010.010.010.0177
(e)56443.8011.298.780.382226
(e)7-78,432.002241.601291.274553
(e)9---78,432.147383
(f)3218,413.00251.600.050.042627
(f)5-76,982.30702.31423.796767
(f)7--278,412.0041,247.00109124
(f)9---259,001.00157181

Average running times (in ms) obtained by the proposed planners. Columns ā€œOSā€ and ā€œWFSā€ give the length of an optimal solution and of the solution obtained with the approximate wavefront solver. The symbol ā€˜-’ indicates when a solver could not solve an instance within 5Ā min.

FIGURE 6

FIGURE 7

FIGURE 8

FIGURE 9

FIGURE 10

FIGURE 11

As we can see, the L variant is about an order of magnitude faster than the baseline ID-DFS implementation. The H variant is many orders of magnitude faster than the baseline ID-DFS. The combination of both improvements (L + H) led to an even greater speedup, albeit the difference between H and L + H is smaller than the difference between ID-DFS and H, or between ID-DFS and L. This is not surprising, since there is an overlap between the unpromising states detected due to the loop detection and those detected by using the proposed heuristic function. The relative performance of the tested algorithms is the same in every type of test grids (ID-DFS ≺ L ≺ H ≺ L + H). That being said, since the overhead of L + H over H (in terms of the memory usage for the matrix designed to detect loops, and in terms of an added programming complexity) is minimal, there is no reason not to always use L + H in practice.

TableĀ 2 reports the average speedup factors provided by each of the three proposed algorithmic improvements (L, H, L + H) on the six types of grids. It also reports (in the ASLD column) the Average Solution Length Difference between an optimal solution (returned by our algorithms) and an approximate solution (returned by the wavefront algorithm). As we can see, L + H has been able to find optimal solutions thousands to millions of times (depending on the grid type) faster than our baseline ID-DFS planner. Furthermore, we see that the average solution length difference between an optimal and approximate solution is at 12% (over all grid types), which can be an important improvement in some real-world problems.

TABLE 2

TypeLHL + HASLD
(a) Coast-Like68.2623,282.8334,560.451.10
(b) Random Links1.476757.7218,342.991.08
(c) Random Walk20.8532,534.2047,716.821.10
(d) Simple Shapes2.96137.171063.991.17
(e) Labyrinth570.25768.038156.721.15
(f) Labyrinth-Wide868.104,3682605,4603251.11
Average255.31738,623.32928,361.001.12

Average speedup factors produced by each of the three proposed algorithmic improvements on the six types of grids.

5 Conclusion

This paper considers the highly relevant optimal complete coverage path planning (CPP) problem. We first briefly reviewed practical applications of CPP. Then, we showed how an exhaustive algorithm based on iterative deepening depth-first search (ID-DFS) can be efficiently accelerated using a branch-and-bound approach. The proposed improvements (loop-detection and an admissible heuristic function) allow the planner to find an optimal CPP solution many orders of magnitude faster than a baseline ID-DFS implementation, making it highly suitable for practical applications where having an optimal solution is important.

As future work, we plan to develop and test a method similar to particle swarm optimization (PSO) considering an initial particle that splits the problem into several sub-problems every time there is more than one eligible neighbor. The splitting process will take place until the number of particles reaches a certain threshold. When this happens, a pruning process destroying the least promising particles can be carried out according to an evaluation heuristic to be determined. We also envisage using clustering algorithms (Mirkin, 2005) to decompose a given grid into smaller, mostly independent sub-grids (i.e., similar to cellular decomposition, but for grid environments), which could be covered optimally one by one. Such an algorithm could also be easily parallelized.

Statements

Data availability statement

The raw data supporting the conclusions of this article will be made available by the authors, without undue reservation.

Author contributions

Conception and design of the study: JG, EB, and VM. First Draft of the manuscript: JG. Implementation of the algorithms: JG. Manuscript Revision: EB and VM.

Funding

This work was supported by a grant from the Natural Sciences and Engineering Research Council of Canada (NSERC, Grant BESCD3-534817-2019) and by a grant from the Fonds de Recherche du QuĆ©bec—Nature et Technologies (FRQNT, Grant 284673).

Acknowledgments

The authors would like to thank Guillaume Gosset and Alexandre Blondin-MassƩ for various contributions on preliminary work related to this research.

Conflict of interest

The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.

Publisher’s note

All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.

References

  • 1

    AcarE. U.ChosetH.RizziA. A.AtkarP. N.HullD. (2002). Morse decompositions for coverage tasks. Int. J. Robotics Res.21, 331–344. 10.1177/027836402320556359

  • 2

    AfzalZ. R.PrabhakarP.PrabhakarP. (2019). ā€œOptimal tool path planning for 3D printing with spatio-temporal and thermal constraints,ā€ in 2019 Sixth Indian Control Conference (ICC), Hyderabad, India, 18-20 December 2019 (IEEE), 176–181. 10.1109/ICC47138.2019.9123182

  • 3

    AhmadzadehA.KellerJ.PappasG. J.JadbabaieA.KumarV. (2008). ā€œAn optimization-based approach to time critical cooperative surveillance and coverage with unmanned aerial vehicles,ā€ in Experimental robotics: The 10th international symposium on experimental robotics (Springer Berlin Heidelberg), 491–500.

  • 4

    AiB.JiaM.XuH.XuJ.WenZ.LiB.et al (2021). Coverage path planning for maritime search and rescue using reinforcement learning. Ocean. Eng.241, 110098. 10.1016/j.oceaneng.2021.110098

  • 5

    CabreiraT.BrisolaraL.FerreiraP. R.Jr. (2019a). Survey on coverage path planning with unmanned aerial vehicles. Drones3, 4. 10.3390/drones3010004

  • 6

    CabreiraT. M.FerreiraP. R.FrancoC. D.ButtazzoG. C. (2019b). ā€œGrid-based coverage path planning with minimum energy over irregular-shaped areas with uavs,ā€ in 2019 International Conference on Unmanned Aircraft Systems (ICUAS), Atlanta, GA, USA, 11-14 June 2019 (IEEE), 758–767. 10.1109/ICUAS.2019.8797937

  • 7

    Champagne GareauJ.BeaudryƉ.MakarenkovV. (2021a). ā€œA fast electric vehicle planner using clustering,ā€ in Studies in classification, data analysis, and knowledge organization (Springer Science and Business Media Deutschland GmbH), 5, 17–25.

  • 8

    Champagne GareauJ.BeaudryƉ.MakarenkovV. (2021b). ā€œFast and optimal planner for the discrete grid-based coverage path-planning problem,ā€ in Intelligent data engineering and automated learning – IDEAL 2021 (Springer International Publishing), 87–96.

  • 9

    ChoS. W.ParkH. J.LeeH.ShimD. H.KimS.-Y. (2021). Coverage path planning for multiple unmanned aerial vehicles in maritime search and rescue operations. Comput. Industrial Eng.161, 107612. 10.1016/j.cie.2021.107612

  • 10

    ChosetH. (2001). Coverage for robotics - a survey of recent results. Ann. Math. Artif. Intell.31, 113–126. 10.1023/a:1016639210559

  • 11

    ChosetH.PignonP. (1998). ā€œCoverage path planning: The boustrophedon cellular decomposition,ā€ in Field and service robotics (Springer), 203–209.

  • 12

    ConroyJ.ThieraufC.RuleP.KrauseE.AkitayaH.GoncziA.et al (2021). ā€œRobot development and path planning for indoor ultraviolet light disinfection,ā€ in 2021 IEEE international conference on robotics and automation, May 30–June 5, 2021, Xi’an, China (New York: Institute for Electrical and Electronics Engineers (IEEE)), 7795–7801. 10.1109/ICRA48506.2021.9561405

  • 13

    ƐakulovicM.PetrovicI. (2012). Complete coverage path planning of mobile robots for humanitarian demining. Industrial Robot Int. J.39, 484–493. 10.1108/01439911211249779

  • 14

    DogruS.MarquesL. (2018). ā€œA*-based solution to the coverage path planning problem,ā€ in Advances in intelligent Systems and computing (Springer-Verlag), 693, 240–248.

  • 15

    EdwardsT.SƶrmeJ. (2018). A comparison of path planning algorithms for robotic vacuum cleaners. Ph.D. thesis (Stockholm, Sweden: KTH Royal Institute of Technology).

  • 16

    FarsiM.RatcliffK.JohnsonJ.AllenC.KaramK.PawsonR. (1994). ā€œRobot control system for window cleaning,ā€ in Proceedings of 1994 American Control Conference - ACC ’94, Baltimore, MD, USA, 29 June 1994-01 July 1994 (IEEE), 994–995.

  • 17

    FournierA.FussellD.CarpenterL. (1982). Computer rendering of stochastic models. Commun. ACM25, 371–384. 10.1145/358523.358553

  • 18

    GabrielyY.RimonE. (2001). ā€œSpanning-tree based coverage of continuous areas by a mobile robot,ā€ in Proceedings 2001 ICRA. IEEE International Conference on Robotics and Automation (Cat. No.01CH37164), Seoul, South Korea, 21-26 May 2001 (IEEE), 1927–1933.

  • 19

    GalceranE.CarrerasM. (2013). A survey on coverage path planning for robotics. Robotics Aut. Syst.61, 1258–1276. 10.1016/j.robot.2013.09.004

  • 20

    GhallabM.NauD. S.TraversoP. (2016). Automated planning and acting. Cambridge University Press.

  • 21

    GuptaP. (2021). Algorithms for path planning in 3D printing. Ph.D. thesis (Ann Arbor, United States: Washington State University).

  • 22

    HanG.ZhouZ.ZhangT.WangH.LiuL.PengY.et al (2020). Ant-colony-based complete-coverage path-planning algorithm for underwater gliders in ocean areas with thermoclines. IEEE Trans. Veh. Technol.69, 8959–8971. 10.1109/TVT.2020.2998137

  • 23

    HayatS.YanmazE.BettstetterC.BrownT. X. (2020). Multi-objective drone path planning for search and rescue with quality-of-service requirements. Aut. Robots44, 1183–1198. 10.1007/s10514-020-09926-9

  • 24

    HealeyA. (2001). ā€œApplication of formation control for multi-vehicle robotic minesweeping,ā€ in Proceedings of the 40th IEEE Conference on Decision and Control (Cat. No.01CH37228), Orlando, FL, USA, 04-07 December 2001, 1497–1502. 10.1109/CDC.2001.981106

  • 25

    JinJ.L. Tang (2010). Optimal coverage path planning for arable farming on 2D surfaces. Trans. ASABE53, 283–295. 10.13031/2013.29488

  • 26

    John DhanaseelyA.DrSrinivasanP. (2021). ā€œRemote controlled painter combined window washer using quadopter,ā€ in 2021 Third International Conference on Intelligent Communication Technologies and Virtual Mobile Networks (ICICV), Tirunelveli, India, 04-06 February 2021, 1458–1461. 10.1109/ICICV50876.2021.9388383

  • 27

    KhanA.NoreenI.HabibZ. (2017). On complete coverage path planning algorithms for non-holonomic mobile robots: Survey and challenges. J. Inf. Sci. Eng.33, 101–121.

  • 28

    LechowiczP.KoszalkaL.Pozniak-KoszalkaI.KasprzakA. (2016). ā€œPath optimization in 3D printer: Algorithms and experimentation system,ā€ in 4th International Symposium on Computational and Business Intelligence (ISCBI), Olten, Switzerland, 05-07 September 2016 (IEEE), 137–142.

  • 29

    LiuH.MaJ.HuangW. (2018). Sensor-based complete coverage path planning in dynamic environment for cleaning robot. CAAI Trans. Intell. Technol.3, 65–72. 10.1049/trit.2018.0009

  • 30

    MirkinB. (2005). Clustering for data mining. Chapman and Hall/CRC.

  • 31

    MitchellJ. S. (2017). ā€œShortest paths and networks,ā€ in Handbook of discrete and computational geometry. Third Edition (Chapman and Hall/CRC), 811–848.

  • 32

    ModaresJ.GhaneiF.MastronardeN.DantuK. (2017). ā€œUB-ANC planner: Energy efficient coverage path planning with multiple drones,ā€ in 2017 IEEE International Conference on Robotics and Automation (ICRA), Singapore, 29 May 2017-03 June 2017, 6182–6189. 10.1109/ICRA.2017.7989732

  • 33

    MoravecH.ElfesA. (1985). ā€œHigh resolution maps from wide angle sonar,ā€ in 1985 IEEE International Conference on Robotics and Automation Proceedings, St. Louis, MO, USA, 25-28 March 1985, 116–121. 10.1109/ROBOT.1985.1087316

  • 34

    NasirianB.MehrandezhM.Janabi-SharifiF. (2021). Efficient coverage path planning for mobile disinfecting robots using graph-based representation of environment. Front. Robotics AI8, 624333. 10.3389/frobt.2021.624333

  • 35

    OhJ. S.ChoiY. H.ParkJ. B.ZhengY. (2004). Complete coverage navigation of cleaning robots using triangular-cell-based map. IEEE Trans. Industrial Electron.51, 718–726. 10.1109/TIE.2004.825197

  • 36

    OksanenT.VisalaA. (2009). Coverage path planning algorithms for agricultural field machines. J. Field Robotics26, 651–668. 10.1002/rob.20300

  • 37

    RussellS.NorvigP. (2009). Artificial intelligence: A modern approach. 3rd edn. Upper Saddle River, NJ, USA: Prentice Hall Press.

  • 38

    SantosL. C.SantosF. N.Solteiro PiresE. J.ValenteA.CostaP.MagalhĆ£esS. (2020). ā€œPath planning for ground robots in agriculture: A short review,ā€ in 2020 IEEE International Conference on Autonomous Robot Systems and Competitions (ICARSC), Ponta Delgada, Portugal, 15-17 April 2020, 61–66. 10.1109/ICARSC49921.2020.9096177

  • 39

    ShivashankarV.JainR.KuterU.NauD. (2011). ā€œReal-time planning for covering an initially-unknown spatial environment,ā€ in Proceedings of the 24th international Florida artificial intelligence research society, 63–68. FLAIRS - 24.

  • 40

    ValenteJ.SanzD.BarrientosA.de FrutosM. Ɓ. (2013). Del CerroNear-optimal coverage trajectories for image mosaicing using a mini quad-rotor over irregular-shaped fields. Precis. Agric.14, 115–132. 10.1007/s11119-012-9287-0

  • 41

    Vasquez-GomezJ. I.Herrera-LozadaJ.-C.Olguin-CarbajalM. (2018). ā€œCoverage path planning for surveying disjoint areas,ā€ in 2018 International Conference on Unmanned Aircraft Systems (ICUAS), Dallas, TX, USA, 12-15 June 2018, 899–904. 10.1109/ICUAS.2018.8453386

  • 42

    Vazquez-CarmonaE. V.Vasquez-GomezJ. I.Herrera-LozadaJ. C.Antonio-CruzM. (2022). Coverage path planning for spraying drones. Comput. Industrial Eng.168, 108125. 10.1016/j.cie.2022.108125

  • 43

    VietH. H.DangV.-H.LaskarM. N. U.ChungT. (2013). BA*: An online complete coverage algorithm for cleaning robots. Appl. Intell.39, 217–235. 10.1007/s10489-012-0406-4

  • 44

    WilliamsD. P. (2010). ā€œOn optimal AUV track-spacing for underwater mine detection,ā€ in 2010 IEEE International Conference on Robotics and Automation, Anchorage, AK, USA, 03-07 May 2010 (IEEE), 4755–4762. 10.1109/ROBOT.2010.5509435

  • 45

    XuL. (2011). Graph planning for environmental coverage. Thesis (Carnegie Mellon University).

  • 46

    YakoubiM. A.LaskriM. T. (2016). The path planning of cleaner robot for coverage region using Genetic Algorithms. J. Innovation Digital Ecosyst.3, 37–43. 10.1016/j.jides.2016.05.004

  • 47

    YangS. X.LuoC. (2004). A neural network approach to complete coverage path planning. IEEE Trans. Syst. Man, Cybern. Part B Cybern.34, 718–724. 10.1109/tsmcb.2003.811769

  • 48

    YordanovaV.GipsB. (2020). Coverage path planning with track spacing adaptation for autonomous underwater vehicles. IEEE Robotics Automation Lett.5, 4774–4780. 10.1109/LRA.2020.3003886

  • 49

    ZelinskyA.JarvisR. A.ByrneJ.YutaS. (1993). Planning paths of complete coverage of an unstructured environment by a mobile robot. Proc. Int’l Conf. Adv. Robotics Mechatronics (ICARM)13, 533–538.

  • 50

    ZhuD.TianC.SunB.LuoC. (2019). Complete coverage path planning of autonomous underwater vehicle based on GBNN algorithm. J. Intelligent Robotic Syst. Theory Appl.94, 237–249. 10.1007/s10846-018-0787-7

Summary

Keywords

coverage path planning (CPP), robotics, iterative deepening depth-first search, branch-and-bound, heuristic search, optimal solution, pruning, intelligent decision making

Citation

Champagne Gareau J, Beaudry Ɖ and Makarenkov V (2023) Fast and optimal branch-and-bound planner for the grid-based coverage path planning problem based on an admissible heuristic function. Front. Robot. AI 9:1076897. doi: 10.3389/frobt.2022.1076897

Received

22 October 2022

Accepted

28 December 2022

Published

27 January 2023

Volume

9 - 2022

Edited by

Liang Li, Tsinghua University, China

Reviewed by

Yuhang Zhang, Beijing Institute of Technology, China

Shuo Cheng, The University of Tokyo, Japan

Updates

Copyright

*Correspondence: Jaƫl Champagne Gareau,

This article was submitted to Robotic Control Systems, a section of the journal Frontiers in Robotics and AI

Disclaimer

All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article or claim that may be made by its manufacturer is not guaranteed or endorsed by the publisher.

Outline

Figures

Cite article

Copy to clipboard


Export citation file


Share article

Article metrics