Next Article in Journal
Acoustic Wave Sensor Detection of an Ovarian Cancer Biomarker with Antifouling Surface Chemistry
Previous Article in Journal
Enhanced Intrusion Detection for ICS Using MS1DCNN and Transformer to Tackle Data Imbalance
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Improved STC-Based Full Coverage Path Planning Algorithm for Cleaning Tasks in Large-Scale Unstructured Social Environments

State Key Laboratory of Robotics and System, Harbin Institute of Technology (HIT), Harbin 150001, China
*
Author to whom correspondence should be addressed.
Sensors 2024, 24(24), 7885; https://doi.org/10.3390/s24247885
Submission received: 30 October 2024 / Revised: 5 December 2024 / Accepted: 6 December 2024 / Published: 10 December 2024
(This article belongs to the Section Sensors and Robotics)

Abstract

:
Some large social environments are expected to use Covered Path Planning (CPP) methods to handle daily tasks such as cleaning and disinfection. These environments are usually large in scale, chaotic in structure, and contain many obstacles. The proposed method is based on the improved SCAN-STC (Spanning Tree Coverage) method and significantly reduces the solution time by optimizing the backtracking module of the algorithm. The proposed method innovatively introduces the concept of optimal backtracking points to sacrifice the spatial complexity of the algorithm to reduce its computational complexity. The necessity of backtracking in such environments is proved to illustrate the generalization ability of the method. Finally, based on secondary coding, the STC solution is explicitly expressed as a continuous and cuttable global path, which can be generalized to Multi-robot Covered Path Planning (MCPP) to avoid the path conflict problem in the multi-robot system, and the paths assigned to each robot have good balance. The method of this study is proven to be effective through simulations in various random environments and a real environment example. Compared with the advanced methods, the computational time is reduced by 82.47%.

1. Introduction

With the increasing severity of virus outbreaks in recent years [1], the demand for cleaning and disinfection work focused on isolating personnel in public spaces has emerged. The development of artificial intelligence technology and the widespread deployment of various robotic products have gradually increased people’s acceptance of using robots to handle tasks such as cleaning and disinfection [2,3,4]. As a result, many social environments have started utilizing robots for routine cleaning and disinfection tasks [5].
System operation efficiency and robustness are significantly improved using multi-robot coverage path planning (MCPP). Problems studied in this area are required to generate a path covering every point within the work area while avoiding obstacles. The common goals of the MCPP method recognized by most scholars are to minimize the total path length, reduce the secondary coverage rate, minimize the number of turns, and reduce the calculation time. The optimization problem of MCPP is a combinatorial optimization problem with high computational complexity, and is considered NP-hard [6]. As the map scale increases and the percentage of obstacles increases, it becomes significantly more challenging. Therefore, it is important to find a feasible MCPP solution with lower computational complexity, reduced secondary coverage, and reduced turns [7,8].
This study focuses on large unstructured social environments, such as luxury hotels and amusement parks [9], where the challenges of cleaning tasks are mainly reflected in three aspects: (1) these environments are unstructured, large in scale, and contain many obstacles. Due to their large scale, it is difficult for a single robot to complete the task within a limited time. The large number of obstacles causes traditional algorithms to generate many sub-areas in the segmentation stage. The scheduling between these sub-areas becomes a Traveling Salesman Problem (TSP), resulting in high computational complexity [10,11]. It is difficult for the Boustrophedon (BP) method to adapt to environments with many obstacles, resulting in a large amount of secondary coverage and an increase in the total path length [12]. (2) These environments often contain many pedestrians and are human–robot coexistence environments. This makes high-complexity computational methods unable to handle the problem of path conflicts with humans due to their insufficient re-planning capabilities [13]. Therefore, the MCPP method based on mixed integers is also not applicable to the environment. (3) Cleaning robots used in industry experience material wear during the cleaning process, such as excessive use of cleaning fluid or brush wear [14]. Therefore, the invalid paths caused by secondary coverage should be reduced as much as possible. Furthermore, their mobile platforms have nonholonomic constraints, meaning they cannot perform lateral movements [15], thus reducing the number of turns; secondary coverage is crucial to minimizing the length of invalid paths.
In order to address these challenges and improve the efficiency of coverage path planning (CPP) operations, and to ensure that our method can be extended to multi-robot systems, a method to reduce the computational complexity of STC by optimizing the backtracking module is proposed. In Section 3.1, this study first constructs a mathematical model for solving CPP for a gridded environment to illustrate the input requirements of this method. In Section 3.2, a feasible framework is proposed to illustrate the relationship between the various modules of the proposed method. In Section 3.3, the concept of optimal backtracking points is innovatively introduced. By optimizing the STC backtracking module, the effect of sacrificing the algorithm space complexity to reduce the computational complexity is achieved. In Section 3.4, secondary encoding is used to make the STC solution explicit as a continuous coverage path, and then balanced cutting is performed. Finally, in Section 3.5, the technical solution for deploying the proposed algorithm to actual robots is introduced.
The contributions of this study are as follows:
(1) An improved STC algorithm is proposed, which reduces the computational complexity of the algorithm by optimizing the backtracking module. And by proving the necessity of backtracking, the generalization ability of the method to random environments is indirectly explained.
(2) A method is proposed to explicitly express the solution of STC as a continuous global reference path using secondary coding and then, distribute the path to the multi-robot system through balanced cutting. This method has been proven to obtain the optimal solution for balance.

2. Related Works

The requirements of the CPP problem vary in priority depending on the scenario. In some applications, such as perception-based coverage [16], 3D scanning [17] or other tasks that allow for repeated coverage of the same point, increase the total path length; however, the demand on the robot’s perception performance is significantly reduced. On the other hand, for another class of applications, such as agriculture, demining, and 3D printing, secondary coverage of the same point should be avoided to save energy or prevent damage. For example, in agricultural applications like ground leveling, passing over already processed areas could lead to excessive soil compaction [18]. These methods are more effective for small-sized areas or obstacle-free environments.
As a classic method for online CPP, the traditional randomly growing STC algorithm is a well-established approach to achieving complete coverage with low secondary coverage rates [19]. After a period of research, scholars have provided feasible solutions for both online and offline settings [20,21]. The advantage of the online spiral STC is that when there are no obstacles around the tree corresponding to the coverage area, new branches are directly generated. This method avoids redundant scanning and reduces the solving time. Such online methods ensure a high path update frequency, allowing the system to avoid dynamic obstacles in the environment. For single-robot system coverage path planning, these methods offer significant advantages in terms of system robustness. Some of the more advanced online path-planning methods are also capable of achieving complete coverage, particularly in narrow or unexplored environments [22,23]. However, they do not consider the potential path conflicts between multiple robots during area scheduling in multi-robot cooperative complete coverage. Some scholars have also used data-driven methods [24], physical model-based methods [25], and artificial intelligence methods to produce valuable results in solving local planning problems [26,27,28,29,30].
The sensitivity of the BP method to obstacles in the environment makes coverage path planning in such settings rely on area segmentation. As the number of obstacles or non-convex polygonal regions in the environment increases, the number of segmented areas also increases, indirectly turning the scheduling between areas into a TSP. In multi-robot systems, there is also the issue of path conflicts during scheduling. To address this, the system often maintains a priority queue for the robots, where the lower-priority robot stops and waits in case of a path conflict. However, this extends the total system operation time. There are also some offline coverage methods that allow for a higher secondary coverage rate. These methods focus on scenarios where the sensor range or the effective working area is large, making secondary coverage inevitable during the complete coverage process, such as signal coverage tasks performed by a group of robots following a moving object. The method based on regional segmentation has also been discussed by many scholars, but it also leads to the problem of scheduling robots between sub-regions [31,32].
For offline methods targeting multi-robot systems, a representative approach is the Mixed Integer-based MSTC [33,34,35]. This method is insensitive to the shape and distribution of obstacles in the environment and can handle weighted scenarios. However, its high computational complexity makes it unsuitable for large-scale environments.

3. Methodology

3.1. Problem Description

Suppose we are given a robot tasked with covering a finite environment using a CPP approach, where the environment’s free space is denoted as S, and the robot’s limited coverage footprint is denoted as the side length of the unit grid cell in the map used in this study. We also assume that the robot can determine its position within the environment and is equipped with sufficiently large distance sensors to detect whether neighboring cells are occupied. This allows the robot to avoid obstacles based on its local map when performing cleaning and disinfection tasks, thereby enhancing the system’s robustness against external disturbances. The parameters used in the study are illustrated in Table 1.
Based on the above assumptions, the problem under discussion is to find a solution that minimizes the total time consumed for the coverage task. To simplify the problem, this study does not consider the cases of uneven speed or system restarts due to crashes during the robot’s operation, meaning that the path length is equivalent to the time consumed for the task. To reduce conflicts in the coverage paths of different robots, the study assumes that during the robots’ collaborative work, the spatial intersection of any two robots in the system must not exceed a threshold S t . The objective function and constraints of this study are as follows:
∀r∈R, ∀i∈R, ∀j∈R
minimize w
s.t. w_r ≤ w
S 1 S 2 S r = S a l l
v r S r
w r = v r
S r
S i S j S t
We summarize the above formulas as follows:
Equation (1): Ensure that the solution to the MCPP problem is a near-optimal solution among feasible solutions.
Equation (2): Describes the operation time of the MCPP solution, which is the time taken by the robot with the longest operation time in the system.
Equations (3)–(5): Ensure that the total coverage area is the sum of the areas covered by each robot, while ignoring redundant paths due to secondary coverage when evaluating the total coverage.
Equations (6) and (7): Ensure that each robot can complete its assigned coverage task without path conflicts that could lead to higher-order deadlock in the multi-robot system, causing task failure.
In addition to the above constraints, we specify that the robots are ground differential-drive robots with complete kinematic constraints, meaning that the discretized path points can be interpolated to enable accurate tracking. The schematic diagram is shown in Figure 1.

3.2. Proposed Solution Framework

To better introduce this method, the basic principles of STC and the terminology used in this study are briefly explained, as shown in Figure 2. In random scenarios where an STC solution is needed, the obstacle distribution and starting point are loaded. Then, the starting point is used as the parent vertex to search for alternative branches in the surrounding area. Feasible branches are determined through evaluation, and the process continues until the entire scene is fully covered.
The proposed solution is expected to improve solving speed, based on two key ideas: (1) Considering the secondary coverage of the solution at the first, there is no STC method without secondary coverage that can achieve complete coverage in any environment from any starting point without requiring backtracking. We support this with a simple proof, as shown in Proposition 1. The traditional backtracking mechanism involves traversing backward through already searched STC nodes, finding the nearest one to the current point that can generate a new branch, and continuing to expand from there until full coverage is achieved. To address this problem, we implemented a list of alternative backtracking points, allowing us to more quickly find feasible root vertices for new branches, thereby reducing computation time, as shown in Section 3.3. (2) According to Equation (2), the problem can be transformed into minimizing the working time of the robot with the longest operation time in a multi-robot system. A more balanced distribution of the area to be covered can significantly improve this metric, and reducing the rate of double coverage indirectly lowers the overall workload, which is also meaningful. The proposed method introduces a technique for balanced path segmentation after generating explicit coverage paths based on the STC. This method has been proven to achieve a maximum gap of G o p t compared to the optimal solution, as shown in Proposition 2. To account for its deployment in practical applications, a feasibility framework based on the proposed method is proposed, as illustrated in Figure 3, in which the yellow parts are our contributions.
Proposition 1.
There is no STC method that can completely cover any environment with any starting point and satisfy the following two constraints. Constraint 1: No backtracking occurs. Constraint 2: No secondary coverage.
Proof of Proposition 1.
Assume that there is an STC method that can achieve full coverage from any starting point in any environment and satisfy the above two conditions. To refute this hypothesis, we can find a counterexample, as shown in Figure 4. First, consider the case where quadratic coverage does not occur. After the first part is covered, no matter which of the two available directions in the figure is chosen to expand the tree, a deadlock area will inevitably be formed. If you cover part 1 first and then expand the tree to part 2, a deadlock will occur after covering part 2, and backtracking will be necessary to cover part 3. Considering the case where full coverage is not achieved by backtracking, still referring to the counterexample, based on the STC solution process, it is necessary to re-pass the generated branches, then secondary coverage will occur, which contradicts the hypothesis. Therefore, the hypothesis is not established, and the proposition is proved. □
The proposed method, when the number of obstacles in the environment, as well as the length and width of the environment’s boundaries, are known, can demonstrate the difference in coverage between its solution and the optimal solution in a grid map.
Proposition 2.
For a grid map where the entire coverage area is connected, the solution obtained by the proposed method can have a maximum difference from the optimal solution, denoted as G o p t which satisfies Equation (8).
G o p t = 3 N o b s + 3 l e v n + h e v n 4 / 2
Proof of Proposition 2.
When the input scene is any form of a grid-based map C 1 , let its length and width be l e v n and h e v n , respectively. It can be transformed into the input required for the STC algorithm. The implementation method is to complete C 1 into a square shape and expand the obstacle regions, converting the original map into a grid map C 2 with both l e v n and h e v n being even, as shown in Figure 4a. Then, a trivial solution can be obtained using traditional STC method [19]. Thus, complete coverage of C 2 has been achieved. The areas that have not achieved 100% coverage can only exist in six possible scenarios near obstacles or boundaries, as shown in Figure 5a,b. Additionally, there are uncovered regions at the boundaries caused by the parity of the scene dimensions, as illustrated in Figure 5c,d. If the number of occupied grid cells by obstacles is N o b s , then the corresponding uncovered area in C 1 does not exceed 3 N o b s cells. In the worst-case scenario, as all the obstacles are not adjacent to the boundary, the total uncovered area can be represented as 3 N o b s . Similarly, for the boundaries, the worst-case scenario can be calculated as Equation (8). Additionally, complete coverage condition 1 indicates that the obstacle occupancy in the original grid map is consistent with that in the grid map used for STC solving, while complete coverage condition 2 means that the redundancy of obstacles in the four corners should be considered during calculations. The proposition is proven. □

3.3. Improved STC Based on Optimized Backtracking Module

The STC method has many variations. To reduce the number of turns [36], we improve upon the SCAN-STC method as a reference [37]. The underlying logic of this type of algorithm is similar to traditional methods, continuously updating the parent vertex to find the next branch vertex and improving its random search into a scanning search. This approach reduces the number of turns while ensuring a low rate of double coverage. When the branches of the spanning tree cannot be extended, resulting in a deadlock, a backtrack is performed. This vertex is referred to as a deadlock point in this study, and the partially completed STC solution is termed the STC intermediate solution.
The backtracking method involves maintaining a vertex list during the expansion of the spanning tree. When backtracking is necessary, it scans the current tree’s vertices for extensibility in reverse order along the list. When an extendable vertex is found, it is used as the new root vertex for the branch, thus regenerating the tree. This point is called a feasible backtracking point in this study. This point needs to have two properties. The first is that the point must be in the already generated tree, and the second is that a new branch can be generated with this point as the new root point and it does not overlap with the already generated tree.
This method not only avoids the issue of the traditional STC method for obtaining optimal solutions, where each expansion requires searching in all four directions, transforming the overall problem into an NP-hard problem, but also retains the advantages of high total coverage and low secondary coverage of the STC, as well as the proximity of the starting and ending points. In a coverage area of the same size, the original backtracking method often encounters backtrack points located near the starting point. When a deadlock occurs, it requires traversing a longer backtrack sub-list to continue expansion. The principle is illustrated in Figure 6. A pattern was observed in the analysis of multiple different STC solutions in a random scene: if a feasible backtracking point can be obtained in a certain way that shortens the number of backtracks, this study refers to it as a superior backtracking point.
This type of backtracking point can be obtained using the following method: if a point is adjacent to an obstacle or boundary and belongs to an uncovered area, it can be connected to the intermediate solution in the reverse direction of the scanning path. The vertex on the connected intermediate solution becomes the superior backtracking point. As illustrated in Figure 6c, the corresponding uncovered points are referred to as backtracking reference points. In contrast, backtracking through non-superior backtracking points can easily lead to additional backtrack counts, as shown in Figure 6a,b.
The proposed method optimizes the backtracking module, with the overall idea of increasing spatial complexity and reducing computational complexity. Two additional new lists are maintained in addition to the original algorithm: the obstacle-adjacent point list and the superior backtracking list. The obstacle-adjacent point list is a static list that sequentially adds grid points to be covered around obstacles based on the SCAN-STC scanning direction. The superior backtracking list is derived from the obstacle-adjacent point list and also includes the original backtracking list, which is updated in real time. The update method involves removing duplicate points from the obstacle-adjacent point list during the process of the spanning tree continuously updating the intermediate solution.
When a deadlock occurs, the method no longer backtracks point-by-point along the STC intermediate solution. Instead, it directly takes the feasible backtracking point with the smallest index from the latest superior backtracking list as the vertex to initiate the generation of a new branch in the tree. This point is then removed from the superior backtracking list until the backtracking point list is empty, at which point the cycle ends. The pseudocode for this process is shown in Algorithm 1, and it works as follows.
The algorithm input includes the scene map and any starting point that is not within an obstacle, and it uses three lists: P S T C , P o p t - l i s t , P b o u n d a r y - n e x t and M c . P S T C is the real-time updated STC intermediate solution list, confirmed in lines 18–50. P o p t - l i s t is the real-time updated superior backtracking point-list. P b o u n d a r y - n e x t is the obstacle-adjacent point-list. M c is used to store the cells around the real-time parent vertex during the STC solving process, with the labels V L , V U , V R , and V D representing the cells to the left, top, right, and bottom of the parent vertex, respectively.
At the initial stage of the algorithm, a grid map M R is initialized to represent the set of space points S r to be covered, and the occupancy status of each cell is stored and labeled as UNOCCUPIED or OCCUPIED. The STC intermediate solution list starts empty, and as the algorithm iterates, it eventually covers all points in S r , ultimately outputting the STC solution P S T C .
Algorithm 1 Improved SCAN-STC to Cover the Area
Input: Grid-based map M R
Output:  STC   solution :   P S T C
S r M R (UNOCCUPIED);
M c V L ,   V U ,   V R ,   V D ; //Four points surrounding the current point
P o p t - l i s t   ; //Initialize the superior backtracking list.
1: P o p t - l i s t P b o u n d a r y - n e x t ; //Load boundary points into the backtracking list.
2:For  i = 1 : n 2
3: Iterate   through   all   points   in   the   scene ,   set   current   point   as   v c ;
4: If  v c is an obstacle or boundary
5: Set   the   four   surrounding   points   of   v c   as   M c ;
6: For  v n e x t M c
7: If  v n e x t P o p t - l i s t
8: If  v n e x t has not exceeded the boundary
9: Add the point to the end of the superior backtracking list;
10: End
11: End
12: End
13: End
14:End
15: Initialize   the   total   number   of   grid   cells   in   the   S r to be covered as h;
16: Initialize   the   STC   iteration   threshold   I h = h ;
17: Update   P o p t - l i s t ;
18: Initialize   the   STC   starting   point   v i ;
19: Initialize   the   STC   intermediate   solution   list   P S T C ;
20:While  i h
21: V c   v i ;
22: Set   w t = 0;
23: If  V U UNOCCUPIED then
24: V U V c   represent   the   extended   branches   of   P S T C ,   with   V U as parent vertex;
25: If  V U P o p t - l i s t
26: Add   V U   to   the   end   of   the   P o p t - l i s t ;
27: w t = w t + 1 ;
28: end
29: Else if  V L UNOCCUPIED then
30: V L V c   represent   the   extended   branches   of   P S T C ,   with   V L as parent vertex;
31: If  V L P o p t - l i s t
32: Add   V L   to   the   end   of   the   P o p t - l i s t ;
33: w t = w t + 1 ;
34: end
35: else if  V D UNOCCUPIED then
36: V D V c   represent   the   extended   branches   of   P S T C ,   with   V D as parent vertex;
37: If  V D P o p t - l i s t
38: Add   V D   to   the   end   of   the   P o p t - l i s t ;
39: w t = w t + 1 ;
40: end
41: else if  V R UNOCCUPIED then
42: V R V c   represent   the   extended   branches   of   P S T C ,   with   V R as parent vertex;
43: If  V R P o p t - l i s t
44: Add   V D   to   the   end   of   the   P o p t - l i s t ;
45: w t = w t + 1 ;
46: end
47: else
48: V c is the deadlock point;
49: end if
50: i = w t ;
51: Update   P S T C ;
52: Update   P o p t - l i s t ;
53: Remove   the   points   of   P S T C   from   P o p t - l i s t ;
54: Update   the   point   with   the   end   of   the   P o p t - l i s t   to   the   V c ;
55:End
56: Update   P S T C ;
57:Return  P S T C

3.4. Balanced Cut of the Explicit Coverage Path for STC

To obtain an explicit STC path P c o v e r for the scene M R and to balance segmentation the P c o v e r to S o l u t i o n c p p = { P 1 , P 2 , P 3 …} for every robot in the system, this study first uses Algorithm 1 to obtain the STC solution on the corresponding map M S T C with dimensions. Its overall process flow is illustrated in Figure 7.
The method proposed in this study initializes a grid-map, M v . Let the size of M R be m × n, then the size of M S T C was m/2 × n/2. The corresponding size of M v is 2m × 2n, where the obstacles in M R are also mapped as obstacles in M v . We can derive the quantification formulas for the corresponding positions between each matrix through simple scaling of the coordinate system. Additionally, we define the edges of all cells in M R as first-type virtual obstacles mapped to M v . Furthermore, all STC-generated branches are defined as second-type virtual obstacles. When an edge of a first-type obstacle corresponds to M R , it intersects with a branch corresponding to a second-type obstacle to remove the first-type obstacle. A loop can be obtained, as illustrated in Figure 7.
The first-type virtual obstacle is equivalent to the grid being occupied, and the second-type virtual obstacle needs to be maintained in a hash table. Each time a new path point is generated, it is determined whether the line segment corresponding to the path intersects with the virtual obstacle in the hash table.
Algorithm 2 Balanced cut of the explicit coverage path
Input:  STC   solution :   P S T C
Output:  Coverage   path :   S o l u t i o n c p p = { P 1 ,   P 2 ,   P 3 …}
S r M R (UNOCCUPIED);
Initialize   the     C i n i t i a l   by   M R ;//Corresponding to the original grid map
Initialize   the     C S T C   as   M S T C ;//Corresponding to the STC sulotion
Initialize   the     C v i r t u a l   as   M v ;//Matrix containing virtual obstacles
M c V L ,   V U ,   V R ,   V D ; //Four points surrounding the current point
1: P S T C - v e c t o r   P S T C ; //Vector matrix of each branch of the STC
2: P o b s   C i n i t i a l ; / / The   grid   edges   of   C i n i t i a l   are   obstacles   of   M v
3: P o b s - v e c t o r   P o b s ; / / Vector   matrix   of   each   branch   of   the   P o b s
4: Sum   the   number   of   Vector   in   P o b s - v e c t o r   as   I o v ;
5: Sum   the   number   of   Vector   in   P S T C - v e c t o r   as   I s v ;
6: Sum   the   number   of   cell   in   M v   as   I m v ;
7: S a l l M v (UNOCCUPIED);
8: Sum   the   number   of   cell   in   S a l l   as   I s a ;
9:For  i = 1 : I s v
10: Extract   the   endpoints   and   line   segments   of   vector   P S T C - v e c t o r ;
11: For  j = 1 : I o v
12: If  P o b s - v e c t o r   intersects   with   P S T C - v e c t o r at a point or line segment
13: Remove  P o b s - v e c t o r from  P o b s ;
14: End
15: End
16:End
17: Update   P o b s ;
18:For  i = 1 : S a l l
19: For  j = 1 : I s v
20: If  v m v   intersects   with   P S T C - v e c t o r at a point or line segment
21: M v ( OCCUPIED )   v m v ;
22: End
23: End
24:End
25: Update   M v ;
26: Initialize   a   random   starting   point   v i   in   M v ;
27: Initialize   a   path   list   M v   as   P a l l ;
28:While  i I s a
29: V c   v i ;
30: Set   w t = 0;
31: If  V U   UNOCCUPIED   and   not   in   the   P a l l  then
32: If  V U V c   not   intersects   with   any   Vector   in   P o b s - v e c t o r
33: P a l l   V U ;
34: w t = w t + 1 ;
35: end
36: Else if  V L   UNOCCUPIED   and   not   in   the   P a l l  then
37: If  V L V c   not   intersects   with   any   Vector   in   P o b s - v e c t o r
38: P a l l   V L ;
39: w t = w t + 1 ;
40: end
41: else if  V D   UNOCCUPIED   and   not   in   the   P a l l  then
42: If  V D V c   not   intersects   with   any   Vector   in   P o b s - v e c t o r
43: P a l l   V D ;
44: w t = w t + 1 ;
45: end
46: else if  V R   UNOCCUPIED   and   not   in   the   P a l l  then
47: If  V R V c   not   intersects   with   any   Vector   in   P o b s - v e c t o r
48: P a l l   V R ;
49: w t = w t + 1 ;
50: end
51: else
52: V c is the end point of the path;
53: end if
54: i = w t ;
55: Update   P a l l ;
56:End
57: Sum   the   number   of   cell   in   P a l l   as   I p a ;
58: Sum   the   number   of   cell   in   M R   as   I m r ;
59: Initialize   a   path   list   M R   as   P c o v e r ;
60: Initialize   a   starting   point   V i   in   M R ;
61:For  i = 1 : I m r
62: For  j = 1 : I p a
63: If  The   cells   in   P a l l   correspond   to   the   cells   in   M R at matching positions
64: P c o v e r   V i ;
65: End
66: End
67:End
68: Remove   duplicate   points   from   P c o v e r ;
69: Update   P c o v e r ;
70: Divide   the   continuous   path   into   R   equal   parts ,   as   P 1 ,   P 2 ,   P 3 ;
71: Update   S o l u t i o n c p p = { P 1 ,   P 2 ,   P 3 …};
72:Return  S o l u t i o n c p p = { P 1 ,   P 2 ,   P 3 …}
Additionally, this loop forms a Hamiltonian circuit, allowing coverage of the area starting from any point on the path and ensuring that the endpoint is adjacent to the starting point. This property is particularly advantageous for disinfection and cleaning robots operating in a cyclic mode, which is one of the main reasons why many researchers use the STC method to address such issues [38,39,40,41,42,43].

3.5. ROS Based Framework for MCPP

This study investigated large-scale scenarios for industrial cleaning robots compatible with both indoor and outdoor environments, and found that few products fully implement kinematic constraints. Therefore, a differential-drive robot was designed and built, as shown in Figure 8. It achieves differential driving through two sets of motors, when the component model is ZLIS57C-10 Φ8 (The manufacturer is Shenzhen Zhongling Technology Co., Ltd., located in Shenzhen, Guangdong, China) and 57CLF gearboxes (The manufacturer is Beijing Times 4D Technology Co., Ltd., located in Beijing, China), based on the CANopen protocol. Communication with the motors is handled by the lower-level system, which integrates an STM32F407 chip (STMicroelectronics) and a CTM1051 module (The manufacturer is Zhiyuan Electronics Co., Ltd., located in Guangzhou, Guangdong, China). The upper-level system, consisting of modules like NUC (Intel, Ltd., Santa Clara, CA, USA) and Tenda routers (The manufacturer is Shenzhen Jixiang Tengda Technology Co., Ltd., located in Shenzhen, Guangdong, China), handles the transmission of kinematic commands to the lower system, as well as the collection of sensor information and the deployment of localization algorithms.
By publishing global path sequence points in real-time within the network via a TOPIC [44], the robot achieves navigation functionality. Cubic spline interpolation is applied to the global path reference points, and the Dynamic Window Approach (DWA) is used to track the smoothed path after interpolation.
The robot kinematic interface corresponding to the smooth path deployed on the robot is speed parameter and angular velocity parameter, where the speed is achieved by the rotation of the two driving wheels, and the angular velocity is achieved by the two driving wheels rotating in opposite directions. The kinematic diagram of the robot is shown in Figure 9.
To implement this framework, we preprocess the constructed map and use Octave to obtain the STC solution, generating explicit discrete global path points. These paths are then published to the differential-drive robot via the ROS Topic functions integrated in Simulink. The differential-drive robot is equipped with a 2D LIDAR and an inertial navigation module, with a cartographer deployed for localization.
Using the robot’s coordinates and the upcoming two consecutive discrete global path points, we apply cubic spline interpolation and compute the second derivative along the tangent direction as input for the DWA. When the Manhattan distance to the next global path point e 1 is less than e h 1 , the next global path point is set as the target. If the current point’s error e 2 exceeds e h 2 , the smooth local path is updated until all path points have been traversed. The values e 1 and e 2 are defined by Equations (9) and (10).
e 1 = x g l o b a l x v + y g l o b a l y v
e 2 = max x g l o b a l x v , y g l o b a l y v
When the endpoint is the target point, and only two points remain between the target and the robot’s current location, the previous global path point is used as a supplementary point if the local path needs updating. Based on engineering experience, in this study, we set e h 1 = 0.25 m and e h 2   = 0.10 m.

4. Experiment and Discussion

To verify the effectiveness of the method, this study conducted 210 simulation tests and performed experimental testing on a real robot.
Firstly, we set the lower boundary of single-robot operations to the standard size of a classic industrial cleaning robot, with the upper boundary based on the size of Beijing Universal Studios [45]. For different scene sizes, we generated 10 random maps per size based on a random seed, resulting in a total of 180 simulation tests to demonstrate the effectiveness of this study in social environments. For each environment size, a single case was selected to illustrate the effectiveness of the STC solution.
Under different environment sizes, obstacles are randomly generated and arranged in them, and then the total number of grids that need to be covered S s u m can be obtained. T s t c represents the solution time of the method in the literature, T o u r represents the solution time of the proposed method, and the results of this study are obtained through secondary development, that is, the percentage of calculation time reduction ( T r ). The above test results are shown in Table 2. In order to save space, we provide 40 sets of scene data to prove the superiority of our method.
The test results indicate that the proposed method can effectively reduce computation time, achieving a reduction of up to 82.47% in favorable cases. The underlying principles of our method’s superiority have been discussed in detail in Section 3.3. Our method was applied to six scenarios with sizes of 40 × 40, 80 × 80, 120 × 120, 160 × 160, 250 × 250, and 400 × 400, along with the corresponding solution cases, as shown in Figure 10.
Mainstream methods that consider computational complexity include RW (Random Walk), DFS (Depth First Search) [46], and DARP [47]. Additionally, the BP [48,49] method introduces new TSP issues due to region partitioning and does not address path conflicts between multiple robots. Other offline methods, such as MSTC and MIP, can obtain optimal solutions, but their high computational complexity makes them challenging to apply in large-scale scenarios and, thus, they were not included in the comparisons in this study.
We generated 10 random obstacle-containing scenarios of size 80 × 80 and conducted 30 simulation tests using the methods RW, DARP (both effective in obstacle environments), and our proposed method. We compared the results based on three metrics: coverage rate, secondary coverage rate, and system operation time. The results are shown in Table 3.
The results show that our method shows significant advantages in terms of secondary coverage and operation time. RW shows considerable advantages in unknown scenarios due to its high frequency of solution updates and ability to be deployed in unknown environments. Its frequent updates to local paths help mitigate path conflicts during multi-robot collaboration by maintaining a priority queue for robots in the cloud. However, in large known scenes, the inherent stochasticity of RW can lead to excessive secondary coverage, resulting in longer overall operation times.
The RW and DFS methods have higher quadratic coverage, which indirectly leads to longer total coverage paths. At the same time, the solution of the DARP method does not show obvious advantages in the comparison of multiple groups of random environments.
Through the aforementioned simulation tests, the robots deployed in their operational areas for scenarios not exceeding the dimensions of 80 × 80 exhibit a re-planning time of less than 3 s. This means that when the robots navigate between two adjacent global path points that are 1 m apart at a typical operational speed of 0.35 m/s, they can successfully complete the re-planning process when new obstacles appear. This capability meets the demands of practical applications, rendering the DARP method unable to demonstrate a clear advantage in the issues discussed in this study. Finally, we constructed a scene model near the HIT-BIT building and transformed it into a two-dimensional map through processing, as shown in Figure 11.
Based on the framework proposed in Section 3.5, the solved path was published to the differential robot for hardware validation, and the results are shown in Figure 12.
After processing the three-dimensional point cloud, a grid map with a resolution of 1 m2 was obtained. The total number of grids that need to be covered in this map is 9500. After being solved by the proposed method, the number of grids assigned to each robot was 3166, 3166, and 3168, respectively, and the solution time was 1.6 s. Based on the robot referenced in this study, when covering the operation at a speed of 0.35 m/s, the passing time between two grids was 2.85 s. If a person or vehicle occupies the next grid in the robot’s global reference path at the next moment, the system can achieve re-planning capability.

5. Conclusions

This study first innovatively introduced the concept of superior backtracking points and explained the principle of reducing the number of backtracking times during the backtracking process. Then, based on the original SCAN-STC algorithm, by additionally maintaining two designed data lists, the algorithm starts backtracking from the superior backtracking point in the process of solving the problem, which reduces the algorithm solution time and ultimately achieves the purpose of reducing computational complexity at the expense of space complexity.
And through secondary encoding, the STC solution is explicitly represented as a continuous path, and finally the cut is balanced. Finally, a framework is provided to illustrate the method’s input requirements and kinematic requirements for the deployment platform.
This study also indirectly illustrates the generalization ability of the method in reducing computational complexity by proving the necessity of backtracking. The effectiveness of the method was proved by simulation tests in a series of random environments with other recent methods in the literature, and the calculation time was reduced by 82.47% in the best case.
In 10 random environments containing obstacles, it was compared with the RW and DFS methods, with path planning as the main module, and the DARP method with region segmentation as the main module. The results show that in this type of environment, the RW and DFS methods have high real-time performance, but high quadratic coverage. The solution of the DARP method does not show obvious advantages in the comparison of multiple groups of random environments.
Our method achieves a high update frequency while ensuring low quadratic coverage, improving the robot’s path re-planning ability when performing coverage tasks in social environments.
With the support of the new project, we will optimize the bandwidth of data synchronization between robots to achieve the ability of system information sharing in hardware. At the same time, by optimizing the robot dynamics, we will further improve the algorithm’s ability to resist interference from the external environment when facing outdoor unevenness, and provide better protection for the online solution of MCPP problems in social environments.

Author Contributions

Designed the research, processed the data, and drafted the manuscript: C.W. and W.D.; designed the experimental platform: R.L.; system communication function: H.L.; optimizing the experiment: Y.G. and H.D. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

No ethical approval was required for this study.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data sharing is not applicable.

Acknowledgments

ChatGPT is only used for translation and grammar correction.

Conflicts of Interest

The authors declare that they have no known competing financial interest or personal relationships that could have appeared to influence the work reported in this paper.

References

  1. Chen, Y.; Luo, Y.; Ozkan Yerebakan, M.; Hu, B. Human Acceptance of the Cleaning Robot in Grocery Environments During the COVID-19 Pandemic. In Proceedings of the Human Factors and Ergonomics Society Annual Meeting; SAGE Publications: Los Angeles, CA, USA, 2022; Volume 66, pp. 177–181. [Google Scholar]
  2. Mavrogiannis, C.; Baldini, F.; Wang, A.; Zhao, D.; Trautman, P.; Steinfeld, A.; Oh, J. Core challenges of social robot navigation: A survey. ACM Trans. Hum.-Robot. Interact. 2023, 12, 1–39. [Google Scholar] [CrossRef]
  3. Aldinhas Ferreira, M.I.; Sequeira, J.S. Robots in Ageing Societies. In A World with Robots. Intelligent Systems, Control and Automation: Science and Engineering; Aldinhas Ferreira, M., Silva Sequeira, J., Tokhi, M., E. Kadar, E., Virk, G., Eds.; Springer: Cham, Switzerland, 2017; Volume 84. [Google Scholar] [CrossRef]
  4. Garcia-Haro, J.M.; Oña, E.D.; Hernandez-Vicen, J.; Martinez, S.; Balaguer, C. Service robots in catering applications: A review and future challenges. Electronics 2020, 10, 47. [Google Scholar] [CrossRef]
  5. Shin, H.; Kang, J. Reducing perceived health risk to attract hotel customers in the COVID-19 pandemic era: Focused on technology innovation for social distancing and cleanliness. Int. J. Hosp. Manag. 2020, 91, 102664. [Google Scholar] [CrossRef]
  6. Dogru, S.; Marques, L. ECO-CPP: Energy constrained online coverage path planning. Robot. Auton. Syst. 2022, 157, 104242. [Google Scholar] [CrossRef]
  7. Bradner, K.M. Path Planning for Variable Scrutiny Multi-Robot Coverage. Master’s Thesis, Case Western Reserve University, Cleveland, OH, USA, 2020. [Google Scholar]
  8. Tang, J.; Ma, H. Mixed Integer Programming for Time-Optimal Multi-Robot Coverage Path Planning with Heuristics. IEEE Robot. Autom. Lett. 2023, 8, 6491–6498. [Google Scholar] [CrossRef]
  9. Lin, Q. Design Characteristics of Culturally-Themed Luxury Hotel Lobbies in Las Vegas: Perceptual, Sensorial, and Emotional Impacts of Fantasy Environments. Master’s Thesis, Iowa State University, Ames, IA, USA, 2020. [Google Scholar]
  10. Liu, L.; Wang, X.; Yang, X.; Liu, H.; Li, J.; Wang, P. Path planning techniques for mobile robots: Review and prospect. Expert Syst. Appl. 2023, 227, 120254. [Google Scholar] [CrossRef]
  11. Wang, N.; Yang, X.; Wang, T.; Xiao, J.; Zhang, M.; Wang, H.; Li, H. Collaborative path planning and task allocation for multiple agricultural machines. Comput. Electron. Agric. 2023, 213, 108218. [Google Scholar] [CrossRef]
  12. Abdulsaheb, J.A.; Kadhim, D.J. Classical and heuristic approaches for mobile robot path planning: A survey. Robotics 2023, 12, 93. [Google Scholar] [CrossRef]
  13. Tonola, C.; Faroni, M.; Pedrocchi, N.; Beschi, M. Anytime informed path re-planning and optimization for human-robot collaboration. In Proceedings of the 2021 30th IEEE International Conference on Robot & Human Interactive Communication (RO-MAN), Vancouver, BC, Canada, 8–12 August 2021; IEEE: Piscataway, NJ, USA, 2021; pp. 997–1002. [Google Scholar]
  14. Pedergnana, A.; Calandra, I.; Bob, K.; Gneisinger, W.; Paixao, E.; Schunk, L.; Hildebrandt, A.; Marreiros, J. Evaluating the microscopic effect of brushing stone tools as a cleaning procedure. Quat. Int. 2020, 569, 263–276. [Google Scholar] [CrossRef]
  15. Karwowski, J.; Szynkiewicz, W. Quantitative metrics for benchmarking human-aware robot navigation. IEEE Access 2023, 11, 79941–79953. [Google Scholar] [CrossRef]
  16. Kumar, K.; Kumar, N. Region coverage-aware path planning for unmanned aerial vehicles: A systematic review. Phys. Commun. 2023, 59, 102073. [Google Scholar] [CrossRef]
  17. Glorieux, E.; Franciosa, P.; Ceglarek, D. Coverage path planning with targetted viewpoint sampling for robotic free-form surface inspection. Robot. Comput. Integr. Manuf. 2020, 61, 101843. [Google Scholar] [CrossRef]
  18. Prassler, E.; Munich, M.E.; Pirjanian, P.; Kosuge, K. Domestic robotics. In Springer Handbook of Robotics; Springer: Berlin/Heidelberg, Germany, 2016; pp. 1729–1758. [Google Scholar]
  19. Gabriely, Y.; Rimon, E. Spanning-tree based coverage of continuous areas by a mobile robot. Ann. Math. Artif. Intell. 2001, 31, 77–98. [Google Scholar] [CrossRef]
  20. Viet, H.H.; Dang, V.H.; Laskar, M.N.; Chung, T. BA*: An online complete coverage algorithm for cleaning robots. Appl. Intell. 2013, 39, 217–235. [Google Scholar] [CrossRef]
  21. Acar, E.U.; Choset, H. Sensor-based coverage of unknown environments: Incremental construction of morse decompositions. Int. J. Robot. Res. 2002, 21, 345–366. [Google Scholar] [CrossRef]
  22. Liu, H.; Dong, W.; Zhang, Z.; Wang, C.; Li, R.; Gao, Y. Optimization-based local planner for a nonholonomic autonomous mobile robot in semi-structured environments. Robot. Auton. Syst. 2024, 171, 104565. [Google Scholar] [CrossRef]
  23. Zhang, B.; Liu, Y.; Lu, Q.; Wang, J. A path planning strategy for searching the most reliable path in uncertain environments. Int. J. Adv. Robot. Syst. 2016, 13, 1729881416657751. [Google Scholar] [CrossRef]
  24. Tolstaya, E.; Paulos, J.; Kumar, V.; Ribeiro, A. Multi-robot coverage and exploration using spatial graph neural networks. In Proceedings of the 2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Prague, Czech Republic, 27 Setember–1 October 2021; IEEE: Piscataway, NJ, USA, 2021; pp. 8944–8950. [Google Scholar]
  25. Amorim, D.; Ventura, R. A physics-based optimization approach for path planning on rough terrains. In Proceedings of the 2015 12th International Conference on Informatics in Control, Automation and Robotics (ICINCO), Colmar, France, 21–23 July 2015; IEEE: Piscataway, NJ, USA, 2015; Volume 2, pp. 259–266. [Google Scholar]
  26. Zhong, Y.; Shirinzadeh, B.; Yuan, X. Optimal robot path planning with cellular neural network. Int. J. Intell. Mechatron. Robot. (IJIMR) 2011, 1, 20–39. [Google Scholar] [CrossRef]
  27. Zhou, Q.; Gao, S.; Qu, B.; Gao, X.; Zhong, Y. Crossover recombination-based global-best brain storm optimization algorithm for uav path planning. Proc. Rom. Acad. Ser. A-Math. Phys. Tech. Sci. Inf. Sci. 2022, 23, 207–216. [Google Scholar]
  28. Bahwini, T.; Zhong, Y.; Gu, C. Path planning in the presence of soft tissue deformation. Int. J. Interact. Des. Manuf. (IJIDeM) 2019, 13, 1603–1616. [Google Scholar] [CrossRef]
  29. Hills, J.; Zhong, Y. Cellular neural network-based thermal modelling for real-time robotic path planning. Int. J. Agil. Syst. Manag. 20 2014, 7, 261–281. [Google Scholar] [CrossRef]
  30. Zhong, Y.; Shirinzadeh, B.; Tian, Y. A new neural network for robot path planning. In Proceedings of the2008 IEEE/ASME International Conference on Advanced Intelligent Mechatronics, Xi’an, China, 2–5 July 2008; IEEE: Piscataway, NJ, USA, 2008; pp. 1361–1366. [Google Scholar]
  31. Choset, H.; Pignon, P. Coverage path planning: The boustrophedon cellular decomposition. In Field and Service Robotics; Springer: London, UK, 1998; pp. 203–209. [Google Scholar]
  32. Zhang, B.; Hong, T.; Xiong, R.; Chepinskiy, S.A. A terrain segmentation method based on pyramid scene parsing-mobile network for outdoor robots. Int. J. Adv. Robot. Syst. 2021, 18, 17298814211048633. [Google Scholar] [CrossRef]
  33. Tang, J.; Sun, C.; Zhang, X. MSTC∗: Multi-robot coverage path planning under physical constrain. In Proceedings of the 2021 IEEE International Conference on Robotics and Automation (ICRA), Xi’an, China, 30 May 2021–5 June 2021; IEEE: Piscataway, NJ, USA, 2021; pp. 2518–2524. [Google Scholar]
  34. Lu, J.; Zeng, B.; Tang, J.; Lam, T.L. Tmstc*: A turn-minimizing algorithm for multi-robot coverage path planning. arXiv 2022, arXiv:2212.02231. [Google Scholar] [CrossRef]
  35. Yang, Y.; He, D.; Mao, H.; Chen, H.; Wu, H.; Liu, Z.W. RP-MSTC*: Multi-Agent Coverage Path Planning Algorithm Emphasizing Local Area Updates. In Proceedings of the 2023 International Conference on Neuromorphic Computing (ICNC), Wuhan, China, 15–17 December 2023; IEEE: Piscataway, NJ, USA, 2023; pp. 532–537. [Google Scholar]
  36. Vandermeulen, I.; Groß, R.; Kolling, A. Turn-minimizing multirobot coverage. In Proceedings of the 2019 International Conference on Robotics and Automation (ICRA), Montreal, QC, Canada, 20–24 May 2018; IEEE: Piscataway, NJ, USA, 2019; pp. 1014–1020. [Google Scholar]
  37. Nair, V.G.; Guruprasad, K.R. Geodesic-VPC: Spatial partitioning for multi-robot coverage problem. Int. J. Robot. Autom. 2020, 33, 189–198. [Google Scholar] [CrossRef]
  38. Gabriely, Y.; Rimon, E. Spiral-STC: An on-line coverage algorithm of grid environments by a mobile robot. In Proceedings of the 2002 IEEE International Conference on Robotics and Automation (Cat. No. 02CH37292), Washington, DC, USA, 11–15 May 2022; IEEE: Piscataway, NJ, USA, 2002; Volume 1, pp. 954–960. [Google Scholar]
  39. Guruprasad, K.R. X-stc: An extended spanning tree-based coverage algorithm for mobile robots. In Proceedings of the 2019 4th International Conference on Advances in Robotics, Chennai, India, 2–6 July 2019; pp. 1–6. [Google Scholar]
  40. Gao, G.Q.; Xin, B. A-STC: Auction-based spanning tree coverage algorithm for motion planning of cooperative robots. Front. Inf. Technol. Electron. Eng. 2019, 20, 18–31. [Google Scholar] [CrossRef]
  41. Tang, J.; Ma, H. Large-Scale Multi-Robot Coverage Path Planning via Local Search. Proc. AAAI Conf. Artif. Intell. 2024, 38, 17567–17574. [Google Scholar] [CrossRef]
  42. Gabriely, Y.; Rimon, E. Competitive on-line coverage of grid environments by a mobile robot. Comput. Geom. 2003, 24, 197–224. [Google Scholar] [CrossRef]
  43. Thiayagarajan, K.; Balaji, C.G. Traversal algorithm for complete coverage. J. Comput. Sci. 2012, 8, 2032. [Google Scholar] [CrossRef]
  44. Hazem, Z.B.; Ince, R.; Dilibal, S. Joint Control Implementation of 4-DOF Robotic Arm Using Robot Operating System. In Proceedings of the 2022 International Conference on Theoretical and Applied Computer Science and Engineering (ICTASCE), Ankara, Turkey, 29 September–1 October 2022; Available online: https://ieeexplore.ieee.org/abstract/document/10009733 (accessed on 16 November 2024).
  45. Available online: https://en.wikipedia.org/wiki/Universal_Studios_Beijing (accessed on 18 November 2024).
  46. Tan, C.S.; Mohd-Mokhtar, R.; Arshad, M.R. A comprehensive review of coverage path planning in robotics using classical and heuristic algorithms. IEEE Access 2021, 9, 119310–119342. [Google Scholar] [CrossRef]
  47. Kapoutsis, A.C.; Chatzichristofis, S.A.; Kosmatopoulos, E.B. DARP: Divide Areas Algorithm for Optimal Multi-Robot Coverage Path Planning. J. Intell. Robot Syst. 2017, 86, 663–680. [Google Scholar] [CrossRef]
  48. Guastella, D.C.; Cantelli, L.; Giammello, G.; Melita, C.D.; Spatino, G.; Muscato, G. Complete coverage path planning for aerial vehicle flocks deployed in outdoor environments. Comput. Electr. Eng. 2019, 75, 189–201. [Google Scholar] [CrossRef]
  49. Chen, G.; Shen, Y.; Zhang, Y.; Zhang, W.; Wang, D.; He, B. 2D multi-area coverage path planning using L-SHADE in simulated ocean survey. Appl. Soft Comput. 2021, 112, 107754. [Google Scholar] [CrossRef]
Figure 1. Schematic diagram of CPP.
Figure 1. Schematic diagram of CPP.
Sensors 24 07885 g001
Figure 2. The basic principles of STC and a representation of terms used in this study.
Figure 2. The basic principles of STC and a representation of terms used in this study.
Sensors 24 07885 g002
Figure 3. A feasibility framework based the proposed method.
Figure 3. A feasibility framework based the proposed method.
Sensors 24 07885 g003
Figure 4. Illustrative diagram of a case with an inevitable backtracking situation: (a) illustrative diagram of a scenario used as a counterexample; (b) illustrative diagram of a deadlock situation; (c) illustrative diagram of an alternative backtracking method for a deadlock situation; (d) a solution method for the generated tree after backtracking; (e) an example of complete coverage after backtracking; (f) another example of complete coverage after backtracking.
Figure 4. Illustrative diagram of a case with an inevitable backtracking situation: (a) illustrative diagram of a scenario used as a counterexample; (b) illustrative diagram of a deadlock situation; (c) illustrative diagram of an alternative backtracking method for a deadlock situation; (d) a solution method for the generated tree after backtracking; (e) an example of complete coverage after backtracking; (f) another example of complete coverage after backtracking.
Sensors 24 07885 g004
Figure 5. Schematic diagram of the principles behind the occurrence of incomplete coverage: (a) an example scenario; (b) example of situations leading to incomplete coverage when restoring STC grid maps to original grids; (c) a situation where an odd edge size prevents complete coverage by STC; (d) another situation where an odd edge size prevents complete coverage by STC.
Figure 5. Schematic diagram of the principles behind the occurrence of incomplete coverage: (a) an example scenario; (b) example of situations leading to incomplete coverage when restoring STC grid maps to original grids; (c) a situation where an odd edge size prevents complete coverage by STC; (d) another situation where an odd edge size prevents complete coverage by STC.
Sensors 24 07885 g005
Figure 6. The principle of STC backtracking: (a) illustrative diagram of the situation after a deadlock occurs; (b) areas that require backtracking for coverage; (c) schematic diagram of the principles behind different backtracking methods leading to varying backtracking counts.
Figure 6. The principle of STC backtracking: (a) illustrative diagram of the situation after a deadlock occurs; (b) areas that require backtracking for coverage; (c) schematic diagram of the principles behind different backtracking methods leading to varying backtracking counts.
Sensors 24 07885 g006
Figure 7. Flowchart of explicit STC coverage path. The black background is the real obstacle, and the gray-white background is the free area. In addition, the red line represents the proposed STC solution, the blue line represents the first-type virtual obstacle, the green background represents the second-type virtual obstacle, and the yellow background indicates that it is necessary to judge whether the robot has avoided the first-type virtual obstacle in this area.: (a) flowchart for obtaining the STC solution based on the original grid map; (b) original grid coordinates at the corresponding positions in M R ; (c) coordinates at the corresponding positions in the M S T C ; (d) illustration of coordinates at corresponding positions in M v ; (e) illustration of the unprocessed M v with first-type obstacle and second-type obstacle; (f) illustration of M v after processing with Algorithm 2; (g) reference path list P c o v e r   obtained from solving M v ; (h) path-list P a l l obtained by mapping to M R .
Figure 7. Flowchart of explicit STC coverage path. The black background is the real obstacle, and the gray-white background is the free area. In addition, the red line represents the proposed STC solution, the blue line represents the first-type virtual obstacle, the green background represents the second-type virtual obstacle, and the yellow background indicates that it is necessary to judge whether the robot has avoided the first-type virtual obstacle in this area.: (a) flowchart for obtaining the STC solution based on the original grid map; (b) original grid coordinates at the corresponding positions in M R ; (c) coordinates at the corresponding positions in the M S T C ; (d) illustration of coordinates at corresponding positions in M v ; (e) illustration of the unprocessed M v with first-type obstacle and second-type obstacle; (f) illustration of M v after processing with Algorithm 2; (g) reference path list P c o v e r   obtained from solving M v ; (h) path-list P a l l obtained by mapping to M R .
Sensors 24 07885 g007
Figure 8. Differential robot platform for experimental validation.
Figure 8. Differential robot platform for experimental validation.
Sensors 24 07885 g008
Figure 9. Kinematic model of the robot used to validate the method. The black arrow indicates the direction of the robot’s velocity, and the blue line indicates the target posture that needs to be achieved after receiving the deflection command.
Figure 9. Kinematic model of the robot used to validate the method. The black arrow indicates the direction of the robot’s velocity, and the blue line indicates the target posture that needs to be achieved after receiving the deflection command.
Sensors 24 07885 g009
Figure 10. Environments and solution cases in six conditions, The black part in the figure represents the obstacles, and the red line represents the obtained STC solution: (a) size 40 × 40; (b) size 40 × 40 solution; (c) size 80 × 80; (d) size 80 × 80 solution; (e) size 120 × 120; (f) size 120 × 120 solution; (g) size 160 × 160; (h) size 160 × 160 solution; (i) size 250 × 250; (j) size 250 × 250 solution; (k) size 400 × 400; (l) size 400 × 400 solution.
Figure 10. Environments and solution cases in six conditions, The black part in the figure represents the obstacles, and the red line represents the obtained STC solution: (a) size 40 × 40; (b) size 40 × 40 solution; (c) size 80 × 80; (d) size 80 × 80 solution; (e) size 120 × 120; (f) size 120 × 120 solution; (g) size 160 × 160; (h) size 160 × 160 solution; (i) size 250 × 250; (j) size 250 × 250 solution; (k) size 400 × 400; (l) size 400 × 400 solution.
Sensors 24 07885 g010
Figure 11. Instance scenario environment construction and grid map conversion. The figure in the lower right corner is a rasterized map of the area to be covered after processing, where the white part represents the area to be covered and the black part represents the obstacles.
Figure 11. Instance scenario environment construction and grid map conversion. The figure in the lower right corner is a rasterized map of the area to be covered after processing, where the white part represents the area to be covered and the black part represents the obstacles.
Sensors 24 07885 g011
Figure 12. Three-robot coverage path generation.
Figure 12. Three-robot coverage path generation.
Sensors 24 07885 g012
Table 1. Parameters and settings for modeling.
Table 1. Parameters and settings for modeling.
ParametersSettings
rSet of robots’ labels for CPP task, indexed by r
RSet of robot number for CPP task
I h The number of iterations in the algorithm for STC
S 1 The area that robot number 1 needs to cover
S a l l The area that all robots in the system need to cover
M R The grid-map corresponding to the CPP problem
v r Points on the coverage path of robot numbered r
w r Total workload of robot numbered r
S t Maximum threshold of the intersection of the covered areas
G o p t The difference between obtained solution and optimal solution
C Represents   the   matrix ,   where   C 1 denotes matrix numbered as 1
l e v n The width of the environment under study
h e v n The length of the environment under study
N o b s The number of cells occupied by obstacles in grid map
P S T C The real-time STC solution queue
P o p t - l i s t The real-time updated superior backtracking point list
P b o u n d a r y - n e x t The obstacle-adjacent point list
M c The cells list which around the vertex
v c The current point used in the loop instruction of the algorithm
v n e x t The Adjacent point used in the instructions of the algorithm
V c One end of the vector or line segment
M v Virtual grid map required for balance cut Algorithm
M s t c The STC solution map for Algorithm
C i n i t i a l Matrix corresponding to the original grid map
C s t c Matrix corresponding to the STC grid map
C v i r t u a l Matrix   corresponding   to   the   grid   map   M v
P o b s The   grid   edges   of   C i n i t i a l
P S T C - v e c t o r Vector matrix of each branch of the STC solution
P o b s - v e c t o r Vector   matrix   of   each   branch   of   P o b s
I o v The   number   of   Vector   in   P o b s - v e c t o r
I s v The   number   of   Vector   in   P S T C - v e c t o r
I m v The   number   of   cells   in   M v
I s a The   number   of   cells   in   S a l l
P a l l   Feasible   solution   for   a   complete   coverage   path   in   M v
I p a The   number   of   cells   in   P a l l
I m r The   number   of   cells   in   M R
V i The points with STC solution explicitization path
P r The coverage path assigned to the robot, indexed by r
e 1 Global Navigation Path Error Value
e 2 Local Planning Path Error Value
e h 1 Permissible Error for Global Navigation Planning
e h 2 Permissible Error for Local Navigation Planning
x g l o b a l Global Target Point coordinate value in the X Direction
y g l o b a l Global Target Point coordinate value in the Y Direction
x v X Coordinate Value of the Robot in Global Coordinates
y v Y Coordinate Value of the Robot in Global Coordinates
N s u m Total grid number to be covered for comparison
T s t c Solution time of the relatively advanced STC method
T o u r Solution time of our STC method
T r The solution time reduction percentage
Table 2. Reduction in computational time by ours in the selected 40 random scenarios.
Table 2. Reduction in computational time by ours in the selected 40 random scenarios.
Size of
Case
S s u m T s t c (s) T o u r (s) T r (%)Size of
Case
S s u m T s t c (s) T o u r (s) T r (%)
40 × 4015001.11860.221680.19200 × 20023,764772.9788209.180472.94
15081.16690.237279.6724,176597.5242241.951359.51
15321.31080.308876.4423,848504.8885214.286757.56
15361.27280.269778.8122,628646.2358239.290362.97
15241.36390.239082.4724,828759.1654203.226873.23
80 × 8060568.26712.207973.29250 × 25038,9722020.1102680.045466.34
61205.38401.533971.5137,3601570.5011656.225558.18
61046.36082.011768.3737,1801691.3564746.549455.86
61045.68261.712069.8738,4481433.5215598.221758.27
61046.58642.220166.2939,0121717.2946741.440056.84
120 × 12013,63229.605512.703657.09350 × 35075,4283103.91351623.315647.69
13,71220.10427.048964.9472,0724022.19561693.325157.91
13,73629.387012.286258.1976,7923552.52191680.914352.70
13,68422.02938.844059.8576,1564498.89561708.112562.03
13,66825.08108.982064.1873,8403049.80121417.401953.55
160 × 16024,25287.228634.946959.93400 × 40097,76015,051.12544435.715670.53
24,34086.767532.235562.8496,43614,480.53404740.954367.26
24,44077.716333.895556.3897,72414,406.00114376.365969.62
24,27674.875028.269459.8497,5769805.24504612.152452.96
24,40475.968334.113955.0998,1689842.71524616.521453.11
Table 3. Comparative simulation testing of different algorithms.
Table 3. Comparative simulation testing of different algorithms.
Case LabelQuantitative Comparison ItemsRWDFSDARPOurs
1Coverage rate90.62%93.98%100%100%
Secondary coverage315.21%17.18%0%0%
Total path length6283 177415141514
Update frequency8.33 Hz5.52 Hz0.03 Hz0.40 Hz
2Coverage rate92.49%92.45%100%100%
Secondary coverage152.21%21.51%0%0%
Total path length0.09 s185915301530
Update frequency11.11 Hz4.21 Hz0.05 Hz0.53 Hz
3Coverage rate91.11%91.12%100%100%
Secondary coverage255.21%32.48%0%0%
Total path length5630209315861586
Update frequency11.11 Hz5.15 Hz0.19 Hz0.42 Hz
4Coverage rate93.10%94.49%100%100%
Secondary coverage145.21%42.12%0%0%
Total path length3848223015711571
Update frequency10.00 Hz2.18 Hz0.14 Hz0.52 Hz
5Coverage rate90.98%93.01%100%100%
Secondary coverage385.21%35.24%0%0%
Total path length7478208115421542
Update frequency9.09 Hz3.15 Hz0.03 Hz0.51 Hz
6Coverage rate88.34%90.11%100%100%
Secondary coverage485.21%25.69%0%0%
Total path length8769187314991499
Update frequency11.11 Hz6.01 Hz0.05 Hz0.52 Hz
7Coverage rate91.28%92.52%100%100%
Secondary coverage354.21%46.11%0%0%
Total path length6819217715021502
Update frequency10.00 Hz3.11 Hz0.05 Hz0.49 Hz
8Coverage rate89.05%88.98%100%100%
Secondary coverage264.21%19.77%0%0%
Total path length5179169314231423
Update frequency7.69 Hz2.45 Hz0.05 Hz0.41 Hz
9Coverage rate93.31%95.09%100%100%
Secondary coverage157.21%45.29%0%0%
Total path length3957223315401540
Update frequency7.14 Hz2.00 Hz0.16 Hz0.81 Hz
10Coverage rate91.22%91.74%100%100%
Secondary coverage246.21%46.15%0%0%
Total path length4927207914241424
Update frequency12.5 Hz4.98 Hz0.09 Hz0.79 Hz
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Wang, C.; Dong, W.; Li, R.; Dong, H.; Liu, H.; Gao, Y. An Improved STC-Based Full Coverage Path Planning Algorithm for Cleaning Tasks in Large-Scale Unstructured Social Environments. Sensors 2024, 24, 7885. https://doi.org/10.3390/s24247885

AMA Style

Wang C, Dong W, Li R, Dong H, Liu H, Gao Y. An Improved STC-Based Full Coverage Path Planning Algorithm for Cleaning Tasks in Large-Scale Unstructured Social Environments. Sensors. 2024; 24(24):7885. https://doi.org/10.3390/s24247885

Chicago/Turabian Style

Wang, Chao, Wei Dong, Renjie Li, Hui Dong, Huajian Liu, and Yongzhuo Gao. 2024. "An Improved STC-Based Full Coverage Path Planning Algorithm for Cleaning Tasks in Large-Scale Unstructured Social Environments" Sensors 24, no. 24: 7885. https://doi.org/10.3390/s24247885

APA Style

Wang, C., Dong, W., Li, R., Dong, H., Liu, H., & Gao, Y. (2024). An Improved STC-Based Full Coverage Path Planning Algorithm for Cleaning Tasks in Large-Scale Unstructured Social Environments. Sensors, 24(24), 7885. https://doi.org/10.3390/s24247885

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop