Preprint
Article

Full Coverage Path Planning for Torpedo-type AUVs’ Marine Survey Confined in Convex Polygon Area

Altmetrics

Downloads

91

Views

29

Comments

0

A peer-reviewed article of this preprint also exists.

Submitted:

24 July 2024

Posted:

24 July 2024

You are already at the latest version

Alerts
Abstract
In this paper, we present a full coverage path planning (CPP) algorithm for the marine surveys conducted in the convex polygon shaped search area. The survey is supposed to carry out by torpedo-type AUVs (autonomous underwater vehicles). Due to their nonholonomic mechanical characteristics, these vehicles have nonzero minimum turning radius. For any given polygon shaped search area, it can always be partitioned into one or more convex polygons. With this in mind, this paper proposes a novel search algorithm called CbSPSA (Calculation based Shortest Path Search Algorithm) for full coverage of any given convex polygon shaped search area. By aligning the search inter-tracks alongside the edge with the minimum height, we can guarantee the minimum number of the vehicle’s turns. In addition, the proposed method can guarantee the planned path is strictly located inside the polygon area without overlapped or crossed path lines, and also has the total path length as short as possible. Considering the vehicle’s nonzero minimum turning radius, we also propose a sort of smoothing algorithm to smooth the waypoint path searched by CbSPSA so as for the vehicle to exactly follow it. The smoothed path is also guaranteed to be strictly located inside the polygon. Numerical simulation analyses are also carried out to verify the effectiveness of the proposed schemes.
Keywords: 
Subject: Engineering  -   Marine Engineering

1. Introduction

As the name suggests, CPP is the task of determining a path that passes over all points of an area or volume of interest while avoiding obstacles [12,34]. In the past decades, this kind of path planning problem has attracted significant research interest in the robotics community, due to its coverage of various practical applications, including lawn mowing [5,67], NC pocket machine [6,8,9,10,1112], vacuum cleaning robot [13141516], demining robot [17,18], and automated agricultural harvester [19,20]. Apart from the differences in their working purposes, from the perspective of the robot’s mechanical moving restriction, these works can be further classified into two groups [5]: lawn mowing [5,67,17,18,19,20] and milling problems [6,8,9,10,1112,131415,16]. It is worth to mention that since the robot cannot move out the cleaning area such as indoor environment, the vacuum cleaning robot should be classified as milling problem. In addition, some other specific applications [21,22] also should be considered as milling case. In the case of lawn mowing, the cutter head is permitted to mow over non-grass regions, while it cannot exit the pocket area in the milling process. Therefore, full coverage, which is one of the most important issue in CPP, can be easily achieved in the case of lawn mowing. On the contrary, it is difficult, if not impossible, to guarantee this kind of full coverage in the milling problem, especially in the case where the pocket has irregular corner area.
In this paper, we consider the marine survey case where torpedo-type AUVs are utilized to search given area using acoustic sonar devices [23,24,2526]. For this kind of marine survey, usually there are two restricting conditions should be carefully considered in practice. One is that the vehicle cannot exit the search area (ex., port and harbor survey), and the second is that the vehicle has nonzero turning radius. At a glance, since the vehicle cannot exit its search area, this is a milling problem. However, due to its operational characteristics, the sonar sensing area can pass over this bound line. Undoubtedly, this is a significant advantage for us to design a full coverage path for marine vehicles. That said, the full coverage issue still remains as a challenge in this case, due to the fact that the vehicle is restricted to move inside the search area with nonzero turning radius.
Due to the fact that the sonar sensing area can cross over the bound line of search area, in [27], the authors proposed a novel scheme called CbSPSA to search for a sort of optimal full coverage path for any given convex polygon. Indeed, CbSPSA is a kind of geometric solution to search a sort of shortest path in the corner area (around each vertex) of any given convex polygon. In the case of any given polygon, due to the fact that this polygon can always be divided into one or more convex polygons [28], the CPP problem for this polygon is easy to be solved by using CbSPSA. However, in [27], the vehicle is modeled as a particle so that can completely follow the straight line waypoint path searched by CbSPSA.
As mentioned before, for most of marine survey vehicles, they have torpedo-type mechanical appearance, and only have three control inputs (surge force, pitch and yaw moments) to handle their 6DOF 3D motion. Due to this kind of mechanical characteristics, the vehicles have nonzero turning radius. This means that in practice it is impossible for these vehicles to exactly track the straight line waypoint path, and therefore it is difficult to guarantee the vehicles’ movements to be strictly restricted inside the search area. For this reason, in this paper we extend the result of [27] to the case where the vehicle has this kind of nonzero turning radius. In addition, some of the algorithms in [27] are corrected and also described in more details in this paper in order for the readers more easily understand the algorithm. Here it should be noted that, for the convenience of discussion, in this paper we only consider the convex polygon case. However, due to the fact that any given polygon can always be partitioned into one or several convex polygons [28], it is straightforward to extend the result in this paper to the general polygon case as in [27].
The remainder of this paper is organized as follows. Section 2 presents some of preliminaries and also clarifies the main objective of this paper. Section 3 includes the main algorithms, both of CbSPSA and smoothing algorithm. Some numerical study is carried out in Section 4 to demonstrate the effectiveness of proposed planning algorithms. Finally, a brief conclusion is summarized in Section 5.
Notations: Throughout the paper, c P 2 × n denotes a convex polygon with p i 2 , i = 1 , , n , the vertices of which are arranged in clockwise. C P ( c P ) 3 × N presents the full coverage path of c P with N the number of the path waypoints1. | | v | | denotes the Euclidean norm of vector v and p i p j presents the azimuth angle of p i p j . O ( x , r ) denotes a circle with x the center point and r the radius.

2. Problem Statement

Recently, quite a number of unmanned vehicles have been widely utilized in the various marine surveys. And most of these vehicles, from control engineering perspective, are underactuated systems ([29] and references therein). Due to this kind of mechanical characteristics, these vehicle have to have nonzero steady turning radius [30]. For the convenience of discussion, the parameter r m > 0 is used to denote the minimum steady turning radius.
Most of the marine surveys are aiming to search the specific sea floor area using various sonar devices [23,24,2526], and the survey mission is carried out by scanning the area using sonar beam width (or swatch). Here the sonar swath is determined by the device specifications, and varies with the vehicle’s altitude from the sea floor. For the convenience of discussion, this paper only considers the simple case where the sonar swath L s is kept as a constant value. This kind of constant sonar swath can be achieved in practice by forcing the underwater vehicles to keep constant altitude during the survey.
In practice, the search area for most of marine surveys is determined by a series of waypoints marked on the map. By simply connecting these points using straight lines, it is easy to get one or multiple polygons. For any given polygon, it can always be partitioned into one or several convex polygons [28], and the coverage path for this polygon can be easily get by simply integrating all the paths in each of convex polygons [27]. Under this consideration, in this paper we only tackle the simple convex polygon case so that can better convey the main idea of the proposed scheme.
Another interesting issue for this marine survey using acoustic sonar is that, to improve the acquired sonar image quality, the vehicle is usually required to take as less turn numbers (or inter-track numbers) as possible during the survey. Here a inter-track means a long corridor with the width of L s . With this in mind, the optimal concept in this paper is dedicated to that, for any given search area, the searched coverage path has the minimum turn numbers with the corresponding shortest total path length.
Consequently, for any given c P , the objective of thl coverage path through solving the following three sub-problemthrough solving the following three sub-problems:
SP1.
Full coverage path with the minimum turn numbers.
SP2.
The whole path is strictly located inside the search area with none of overlapped or crossed path lines. Moreover, the total length of the path should be as short as possible.
SP3.
The vehicle is allowed to have nonzero turning radius.
The c P considered in this paper is required to satisfy the following condition.
Assumption 1. For any given c P , each of its interior angles is larger than 2 a s i n ( r m / L s ) and also each length of its edges is larger than L s .
In most of the practical operations, we have L s r m . That said, appropriate attention still needs to be paid while determining the search area through selecting a series of waypoints on the map.

3. Proposed Method

3.1. Overview

The strategy for full CPP in this paper can be summarized as follows,
  • To solve SP1 for any given c P , the idea in this paper is simple that we pile the inter-tracks alongside a specific edge of c P so that we can cover c P with the minimum number of these inter-tracks.
  • Apply CbSPSA to solve the SP2.
  • Also, apply a method similar to CbSPSA combined with the circle whose radius is r m to round the path at each waypoint (solving SP3).

3.2. c P Partition: SolvingSP1and Some ofSP2

For any given c P , according to its definition, it is always monotone with respect to each of its edge [31]. For each edge p i p j m o d ( i 1 , n ) , i = 1 , , 7 , where j m o d is the same function of m o d except that j m o d ( 0 , n ) = n , h i M denotes the maximum height among the vertices p j , j = i + 1 , , j m o d ( i 2 , n ) to the edge p i p j m o d ( i 1 , n ) [27]. Here we define h M = m i n { h i M , i = 1 , , n } , from which it is easy to verify that c e i l ( h M / L s ) is the minimum number of inter-tracks need to full cover the area c P . Consequently, the strategy in this paper for the vehicle’s minimum turn number is straightforward that the vehicle is forced to search the area alongside the inter-tracks parallel to the edge corresponding to h M so as to minimize the vehicle’s turn numbers.
For the convenience of discussion, in this paper all convex polygons take the same form of [ p 1 , , p n ] , where p 1 p n is the edge corresponding to h M . Indeed, this kind of expression is of help to simplify the search algorithms proposed in this paper. In this case, we apply t p = [ m , 1 , n ] to denote the specific vertices information for given c P [27], where p m is the vertex of h M to the edge p 1 p n . Moreover, for vertex p i , if 1 i < m , then the vertex is said to be on the LEFT; otherwise, if m < i n , then it is on the RIGHT.
In this paper, the vehicle’s start and end points are all set at the polygon vertices. More specifically, the start point is set as i n c P = [ i , d i r i ] and the end point is o u t c P = [ j , d i r j ] with d i r i , d i r j = ± 1 , i , j = 1 , , n , where the exact position of x = [ k , d i r k ] , k = 1 , , n is defined as following
x = p k + 0.5 L s [ c o s α k ; s i n α k ]
where α k = p i p j m o d ( i + d i r k , n ) .
For any given i n c P and o u t c P , in order to avoid the possible overlapped or crossed path occurrence, the polygon c P is further partitioned into three parts: i n L e t , c P c , and o u t L e t , as seen in Figure 1. The rule of partition is that: 1) both the end of i n L e t and the start of o u t L e t are connected to the one of vertices p t p ( i ) , i { 1 , 2 , 3 } ; 2) if the end of i n L e t is linked to p t p ( 1 ) , then the start part of o u t L e t is to p t p ( 2 ) or p t p ( 3 ) , and vice versa. For details of this partition will be discussed later.
According to the partition rule, the overall full coverage for c P can be constructed by
C P ( c P ) = C P ( i n L e t ) + C P ( c P c ) + C P ( o u t L e t ) .
To guarantee the coverage path calculated through (2) to have the minimum turn numbers, we need the following condition to be satisfied.
Assumption 2. Considering c P c in Figure 1, its t p c is the same as t p for c P .
According to the partition rule, it is not difficult to verify that even in the case where the Assumption 2 is not satisfied, the maximum increasing turn number calculated through (2) will be less than 2 compare to the true minimum turn number. Therefore, in the case h M L s , which is a very common case in practice, whether Assumption 2 is true or not becomes less critical.

3.3. CbSPSA for C P ( c P ) : SolvingSP2

For any given c P , according to the different locations of i n c P and o u t c P , there are different partition methods. At first, the different locations of i n c P and o u t c P can be divided into two main categories: 1) both of them are on the same side (LEFT or RIGHT), 2) each on the other side. It is notable that in this paper we only consider the case where i n c P and o u t c P are not on the same vertex. In the case 1), the partition method is straightforward that: if i n c P is closer to p m , then i n L e t = i n c P p m and o u t L e t = o u t c P p 1 (on the LEFT) or p n (on the RIGHT), and vice versa. In the latter case, also there are two different methods, one is i n L e t = i n c P p m and o u t L e t links to p 1 p n and the other one is vice versa. However, in this case, it’s difficult to determine which one is best. In [27], the authors choose the one whose sum of edge lengths is shorter. In this paper, this method is upgraded to that we choose the one whose total length of consequent C P ( c P ) is shorter.
Consequently, according to (2), simply connecting the C P ( i n L e t ) , C P ( c P c ) , and C P ( o u t L e t ) at each of end and start points, we can search out the full CPP for c P .
Algorithm 1 shows the overall flowchart of CbSPSA for any given convex polygon c P . For given c P , s e a r c h S H ( c P ) return t p = [ m , 1 , n ] , details of which are described in the previous subsection 3.2. The function c a r v e P o l y g o n ( c P , t p , i n c P , o u t c P ) carries out the partition of c P as seen in (2) according to given i n c P and o u t c P ) . Usually, the result of c a r v e P o l y g o n ( ) is not unique, instead it’s possible there are several different ways of partitions, among which we will choice the one with the shortest overall waypoint path length. For the remained functions C P ( i n L e t ) , C P ( o u t L e t ) , and S e a r c h c P o l y g o n ( ) , they will be described in details in the following subsections.
Algorithm 1: S e a r c h _ P o l y g o n ( c P , i n c P , o u t c P )
   Input:  c P , i n c P , o u t c P ,  Output:  C P ( c P )
1     t p = s e a r S H ( c P )
2     [ c P i c , i n L e t i , O u t L e t i ] i = 1 n = c a r v e P o l y g o n ( c P , t p , i n c P , o u t c P )       
3    for  i = 1 : n
4        C P ( c P i )
5        C P ( c P i ) a d d C P ( i n L e t i )
6        C P ( c P i ) a d d S e a r c h c P o l y g o n ( c P i c , i n c P i c , o u t c P i c )
7        C P ( c P i ) a d d C P ( o u t L e t i )
8    end for
9    return The shortest path among C P ( c P i ) , i = 1 , , n

3.3.1. CbSPSA for C P ( i n L e t ) and C P ( o u t L e t )

The search algorithms for i n L e t and o u t L e t are the same except at the end point. At start and end points, the paths are searched using the function c a l P o i n t 31 ( x 1 , x 2 , β , d i r ) as illustrated as in Figure 2, and at the intermediate vertices, using c a l P o i n t 32 ( x , α , β , d i r ) which is depicted in Figure 3. It is notable that in the case of i n L e t , at the end point, the waypoints are still searched using c a l P o i n t 32 ( · ) .

3.3.2. CbSPSA for C P ( c P c )

As depicted in Figure 1, c P c consists of a number of trapezoids, in other words, inter-tracks. If the vehicle is allowed to move out of the search area as in the case of lawn mowing problem [5,67,17,18,19,20], then CPP problem becomes straightforward that we simply extend the each centerline to the outside of the search area and just link them one by one. Unfortunately, the vehicle is restricted to move inside the search area and also has nonzero turning radius. In this case, the key issues for CPP are as follows: 1) how to link the centerlines one-by-one in the corner areas, and 2) how to design a shortest pass to cover the area c P m c . Accordingly, the proposed search algorithm CbSPSA for C P ( c P c ) is presented as the pseudo-codes in Algorithm 2 and Algorithm 3. For the convenience of discussion, in the algorithm we set i n c P c = [ m , ± 1 ] and o u t c P c = [ 1 , + 1 ] or o u t c P c = [ n , 1 ] .
In Algorithm 2, the state variable s t a t is defined as in Table 4 and accordingly c P m c is constructed as c P m c = [ p L 1 , p 2 , p m , p 4 , p R 1 ] , where p 2 = p j m o d ( m 1 , n ) if s t a t [ 2 ] = 1 and p 4 = p j m o d ( m + 1 , n ) if s t a t [ 3 ] = 1 2. Also, the parameter d i r i in the algorithm can be determined according to Table 5. Here it is worth to mention that, considering Figure 1 where i n L e t is connected to p 1 of c P c which is taken as o u t c P c in the algorithm, the direction of C P ( c P c ) should be reversed.
Algorithm 2: S e a r c h _ c P o l y g o n ( c P c , i n c P c , o u t c P c )
   Input:  c P c , i n c P c , o u t c P c ,  Output:  C P ( c P c )
1     C P ( c P c )
2     n c = c e i l ( h M / L s )
3     L Q := [ p L 1 , p L 2 , , p L n c ] ,   R Q := [ p R 1 , p R 2 , , p R n c ]         
4    for  i = 1 : n c
5         if  i = = 1
6              Set s t a t with i n c P c , o u t c P c , and n c
7               C P ( c P c ) a d d S e a r c h _ c m P o l y g o n ( c P m c , s t a t )
8         else
9              X:=last way point of C P ( c P c )
10              C P ( c P c ) a d d c a l P o i n t 12 ( X , i , d i r i , L Q , R Q )
11             if  i < n c
12                   C P ( c P c ) a d d c a l P o i n t 13 ( i , d i r i , L Q , R Q )
13             end if
14        end if
15    end for
16    return  C P ( c P c )
As mentioned before, one of main upgrade in this paper is that each waypoint of C P ( c P ) consists of w p i = ( x i , d i ) instead of w p i = x i as in [27], where x i 2 is the horizontal position and the integer parameter d i indicates an additional information about w p i . If w p i is located on the center line of inter-track, then we set d i = 2 , otherwise d i = 2 . This kind of information will be used in the later smoothing process for C P ( c P ) . On the other hand, in the algorithm, the function c a l P o i n t 12 ( · ) is similar to c a l P o i n t s 4 ( · ) [27] and c a l P o i n t 13 ( · ) is to c a l P o i n t s 5 ( · ) in [27], respectively. The difference is that the differentiation criteria is changed from α π / 2 as in Figure 6 in [27] to α 3 π / 2 . This is for the convenience of path smoothing for the vehicle’s nonzero turning radius, details of which will be discussed later.
The Algorithm 2 in [27] is also upgraded as follows. Here the detailed description of c a l P o i n t s 21 ( · ) and c a l P o i n t s 22 ( · ) are presented in Appendix A and B. This kind of detailed presentation is supposed to be of help for the readers’ in depth understanding of the proposed algorithm. The remainder of c a l P o i n t s 23 ( · ) is similar to c a l P o i n t s 22 ( · ) and c a l P o i n t s 24 ( · ) is to c a l P o i n t s 21 ( · ) . The only difference is the search direction.
Algorithm 3: S e a r c h _ c m P o l y g o n ( c P m c , s t a t )
   Input:  c P m c , s t a t ,  Output:  C P ( c P m c )
1     C P ( c P m c ) a d d x 1 : = i n c P m c = [ m , s t a t [ 0 ] ]                     
2    case 1.  s t a t [ 0 ] = + 1 , s t a t [ 1 ] = + 1
3          c a l P o i n t s 21 ( x 1 , c P m c , s t a t )
4    case 2.  s t a t [ 0 ] = + 1 , s t a t [ 1 ] = 1
5          c a l P o i n t s 22 ( x 1 , c P m c , s t a t )
6    case 3.  s t a t [ 0 ] = 1 , s t a t [ 1 ] = + 1
7          c a l P o i n t s 23 ( x 1 , c P m c , s t a t )
8    case 4.  s t a t [ 0 ] = 1 , s t a t [ 1 ] = 1
9          c a l P o i n t s 24 ( x 1 , c P m c , s t a t )
10    end case
11    return  C P ( c P m c )

3.4. Smoothing C P ( c P ) : Solving SP3

Here we recall some features of C P ( c P ) searched by CbSPSA. For given c P , since there are total of n c 1 number of trapezoids, there are same number of center line pieces in C P ( c P ) [27], each of which corresponds to two adjacent waypoints. Therefore, there are total of 2 ( n c 1 ) number of waypoints in C P ( c P ) on the center lines, and the remainder ones are not on these lines. This kind of information is encoded to the integer parameter in w p i = [ x i , d i ] . d i = + 2 indicates w p i is on the center line, and d i = 2 means it is not. Furthermore, each pair of adjacent waypoints are connected by straight lines [27]. In order for the vehicles, which have nonzero turning radius, to exactly follow it, this C P ( c P ) has to go through a specific smoothing process.
The smoothing process proposed in this paper is as the following Algorithm 4, and also depicted in Figure 4, Figure 5 and Figure 6. In the algorithm, the function c h e c k P o i n t ( x , c P ) is used to check if the point x is located inside the polygon c P ) . If it is, then returns TRUE; otherwise, return FALSE. The integer parameter d i in f C P ( c P ) is encoded in different way. d i = 1 indicates the path from w p i is turning clockwise alongside the circle with r m the radius until the next waypoint, d i = 1 means anticlockwise, and d i = 0 is the straightforward motion.
There are a few points need to be mentioned here. First, according to the Assumption 1, it is not difficult to verify that two points x i and x i + , as in the case of Figure 5, cannot be located outside of c P at the same time. And more interestingly, it is always possible for us to find out a proper value of δ α so that both of x i and x i + are all located inside c P . Second, consider the case where one of x i 1 and x i + 1 is located inside the circle3, see Figure 5. In this case, we can easily turn around the circle until the inside point is relocated outside the circle. For example, if x i 1 is located inside the circle, then clockwise turning around the circle can easily relocate the point outside of it. Finally, let us consider an exceptional case as seen in Figure 3, which is the combination of Figure 4 and Figure 5. In this case, the path smoothing process can be depicted as in Figure 6, from which we can see that it seems possible that two circles O ( o i 1 , r m ) and O ( o i , r m ) can cross each other. In this case, it’s impossible to search out a path using Algorithm 4. With this in mind, in this paper we propose the following proposition.
Algorithm 4: S m o o t h i n g P a t h ( C P ( c P ) )
   Input:  C P ( c P ) ,  Output:  f C P ( c P )
1     f C P ( c P ) a d d ( x 1 , 0 )
2    for i=2:(N-1)
3         if  d i = = 2
4              Calculate x i or x i + 1 + as in Figure 5
5               f C P ( c P ) a d d ( x i , 1 ) , ( x i , 0 ) or ( x i + 1 , + 1 ) , ( x i + 1 + , 0 )
6         else if  d i = = 2
7              Calculate x i and x i + according to Figure 6(a)
8              while(! c h e c k P o i n t ( x i , c P ) )
                  Increasing δ α and calculate x i and x i + according to Figure 6(b)      
9              while(! c h e c k P o i n t ( x i + , c P ) )
                  Increasing δ α and calculate x i and x i + according to Figure 6(c)      
10              f C P ( c P ) a d d ( x i , 1 ) , ( x i + , 0 )
11        end if
12    end for
13     f C P ( c P ) a d d ( x N , 0 )
14    return  f C P ( c P )
Proposition 1. Consider Figure 6. If r m satisfies r m ( 5 2 ) R , then we have | | o i o i 1 | | > 2 r m , α [ α m i n , π ) .
Proof 
(Proof of Proposition 1). See Appendix. □
Figure 6. Path smoothing in the case of Figure 3.
Figure 6. Path smoothing in the case of Figure 3.
Preprints 113134 g006
Here it’s notable that r m ( 5 2 ) R is a kind of sufficient condition, not a necessary one. With this condition, we can guarantee that all the waypoints in C P ( c P ) can be properly smoothed so that the vehicle can exactly follow the path and further can guarantee the coverage path planning objective mentioned in Section II to be achieved.

4. Numerical Study

In this section, we carry out some of numerical simulations in MATLAB to further illustrate the proposed path planning algorithm. In the simulation, we consider the convex polygon as c P = [ p 1 ; p 2 ; p 3 ; p 4 ; p 5 ; p 6 ; p 7 ] = [ 181.2 m , 676.1 m ; 850.4 m , 82.7 m ; 1591.2 m , 143 m ; 2661.6 m , 1046.8 m ; 2611.7 m , 2406 m ; 1582 m , 3199.6 m ; 802.3 m , 2994.4 m ] T with i n c P = [ 3 , 1 ] and o u t c P = [ 5 , 1 ] as seen in Figure 1. For the parameters, the sonar swath is taken as L s = 160 m , and the vehicle’s minimum turn radius is set as r m = 15 m so that can satisfy the condition in Proposition 1.
First, t p = s e a r c h S H ( c P ) returns t p = [ 4 , 1 , 7 ] , which means the height from the vertex p 4 to the edge p 1 p 7 is the shortest. So the inter-track will be piled alongside p 1 p 7 . Then, we investigate the convex polygon partition method c a r v e P o l y g o n ( c P , t p , i n c P , o u t c P ) . As mentioned before, since i n c P = [ 3 , 1 ] is located on LEFT side and o u t c P = [ 5 , 1 ] is on the RIGHT side, there are total of two partition methods, which means i = 1 , 2 in Algorithm 1. Corresponding results are shown in Figure 7. In the left case, the total length of C P ( c P ) is 39382m, and for right one, the length is 38326m. Therefore, Algorithm 1 return the coverage path as shown in right side in Figure 7.
Now consider the path smoothing algorithm proposed in this paper. For the coverage path C P ( c P ) searched by Algorithm 1, we apply the smoothing method (Algorithm 4 in subsection 3.4) and the corresponding result is shown in Figure 8. And Figure 9 shows some of the enlarged corner screen of Figure 8. From these results, we can see that the proposed smoothing method can provide a sort of satisfactory smoothing performance while can guarantee the result path all restricted inside the search area. Here it is worth to mention that in the case A as seen in Figure 9(b), since d 1 d 2 , which is the common tangent between c P c and o u t L e t , is located inside the polygon c P , the smoothed path has intersection with d 1 d 2 . In contrast, in the case of B as seen in Figure 9(c), d 3 d 4 is the edge of c P , therefore the smoothed path has this kind of form so that to locate the path inside the polygon c P .
Finally, Figure 10 shows the final sonar full coverage result after the vehicle finishes the trajectory following for given smoothed coverage path. Each green line indicates the sonar swath, and from Figure 10, we can see that the sonar swath fully covers the given polygon area c P , while the vehicle keeps moving inside the polygon.

5. Conclusion

A full CPP method for marine survey where the vehicles have nonzero minimum turn radius has been presented in this paper. For any given convex polygon search area, it can be partitioned into three parts: i n L e t , c P c , and o u t L e t . At each area, the coverage path is searched using proposed CbSPSA algorithm, and finally integrating these three path can easily construct the final waypoint path. For this straight line waypoint path, we have further proposed a smoothing algorithm so that for the vehicles with nonzero turning radius can exactly track the searched coverage path. Numerical analysis also has been carried out to illustrate the effectiveness of proposed schemes.
The current results in both of this paper and [27] are limited to the convex polygon and some of relatively simple polygon cases. How to extend these results to the case of more general form of polygon search areas might be one of our interesting future works.

Author Contributions

Conceptualization, J.-H.L. and H.K.; methodology, J.-H.L.; software, J.-H.L., H.K., and H.-S.J.; validation, J.-H.L., H.K., M.-G.K., M.-J.L., and H.-S.J; formal analysis, J.-H.L. and H.K.; investigation, J.-H.L.; resources, J.-H.L.; data curation, J.-H.L.; writing—original draft preparation, J.-H.L.; writing—review and editing, J.-H.L.; visualization, J.-H.L. and M.-G.K.; supervision, J.-H.L.; project administration, J.-H.L.; funding acquisition, J.-H.L. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported in part by the project titled “AUV Fleet and its Operation System Development for Quick Response of Search on Maritime Disasters" of Korea Institute of Marine Science & Technology Promotion (KIMST) funded by the Korea Coast Guard Agency (KIMST-20210547), and in part by Korea Institute of Marine Science & Technology Promotion(KIMST) funded by the Ministry of Oceans and Fisheries(RS-2023-00256122), both in Republic of Korea.

Institutional Review Board Statement

The study did not require ethical approval.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data available on request.

Conflicts of Interest

The authors declare no conflicts of interest.

Abbreviations

The following abbreviations are used in this manuscript:
CPP Coverage path planning
AUV Autonomous underwater vehicle
CbSPSA Calculation based shortest path search algorithm
DOF Degree of freedom

Appendix A. Function calPoints21(x 1 ,cP m c ,stat)

1   [ x 2 , b 2 ] = c a l P o i n t 1 ( x 1 , p R 1 , p L 1 )
2  if  b 2 > 0
3   if  s t a t [ 2 ] > 0
4      [ x 3 , b 3 ] = c a l P o i n t 1 ( x 1 , x 2 , p j m o d ( m 1 , n ) )
5     if  b 3 > 0
6       C P ( c P m c ) a d d ( x 3 , 2 )
7     end if
8    end if
9     C P ( c P m c ) a d d ( x 2 , 2 )
10     if  s t a t [ 3 ] > 0
11       [ x 4 , b 4 ] = c a l P o i n t 1 ( x 2 , p R 1 , p j m o d ( m + 1 , n ) )
12     if  b 4 > 0
13       C P ( c P m c ) a d d ( x 4 , 2 )
14     end if
15    end if
16  else if  s t a t [ 3 ] > 0
17    [ x 3 , b 3 ] = c a l p o i n t 1 ( x 1 , p R 1 , p j m o d ( m + 1 , n ) )
18   if  b 3 > 0
19       C P ( c P m c ) a d d ( x 3 , 2 )
20     end if
21  end if
22    x 5 last waypoint of C P ( c P m c )
23   x 6 = p R 1 + 0.5 L s [ c o s p R 1 x 5 ; s i n p R 1 x 5 ]
24   C P ( c P m c ) a d d ( x 6 , 2 )
25  return  C P ( c P m c )

Appendix B. Function calPoints22(x 1 ,cP m c ,stat)

1   [ x 2 , b 2 ] = c a l P o i n t 1 ( x 1 , p L 1 , p R 1 )
2  if  b 2 > 0
3   if  s t a t [ 3 ] > 0
4     [ x 3 , b 3 ] = c a l P o i n t 1 ( x 1 , x 2 , p j m o d ( m 1 , n ) )
5     if  b 3 > 0
6      C P ( c P m c ) a d d ( x 3 , 2 )
7    end if
8  end if
9   C P ( c P m c ) a d d ( x 2 , 2 )
10    [ x 4 , b 4 ] = c a l P o i n t 1 ( x 2 , p L 1 , p m )
11    if  b 4 > 0
12     C P ( c P m c ) a d d ( x 4 , 2 )
13    if  s t a t [ 2 ] > 0
14      [ x 5 , b 5 ] = c a l P o i n t 1 ( x 4 , p L 1 , p j m o d ( m 1 , n ) )
15     if  b 5 > 0
16       C P ( c P m c ) a d d ( x 5 , 2 )
17     end if
18    end if
19   else if  s t a t [ 2 ] > 0
20     [ x 5 , b 5 ] = c a l P o i n t 1 ( x 2 , p L 1 , p j m o d ( m 1 , n ) )
21    if  b 5 > 0
22        C P ( c P m c ) a d d ( x 5 , 2 )
23    end if
24   end if
25  end if
26  return  C P ( c P m c )

Appendix C. Proof of Proposition 1

From Figure 7, it is easy to get o i 1 = ( R r m , 0 ) and o i = ( ( R + r m ) s i n ( α / 2 ) , 2 R / t a n ( α / 2 ) ( R + r m ) c o s ( α / 2 ) ) , from which further we have
| | o i o i 1 | | 2 = 2 ( r m 2 R 2 ) + 2 ( R + r m ) 2 s i n ( α / 2 ) 4 R ( R + 1 ) s i n ( α / 2 ) + 4 R 2 s i n 2 ( α / 2 ) .
With y = s i n ( α / 2 ) , (A1) can be rewritten as following
f ( y ) = 2 ( r m 2 R 2 ) + 2 ( R + r m ) 2 y 4 R ( R + 1 ) y + 4 R 2 y 2 ,
from which it is easy to get
f ( y ) = 2 ( R + r m ) 2 + 4 R ( R + 1 ) y 2 8 R 2 y 3 ,
f ( y ) = 24 R 2 y 4 8 R ( R + r m ) y 3 .
Since r m / R α / 2 π / 2 , we have y [ r m / R , 1 ) , from which it isn’t difficult to verify that, if r m < 2 R , then we have f ( y ) < 0 , y [ r m , 1 ) . This means that f ( y ) is a strictly monotone increasing function. On the other hand, if we set y = 1 in (A3), then we have f ( 1 ) = 2 r m 2 + 8 R r m 2 R 2 , from which it is easy to verify that if r m < ( 5 2 ) R , then f ( 1 ) < 0 . As a result, we can get f ( y ) < f ( 1 ) < 0 , which means that f ( y ) is monotone decreasing function with f ( 1 ) = 4 r m 2 . Consequently, we can get that if r m < ( 5 2 ) R , then | | o i o i 1 | | > 2 r m . This concludes the proof. □

References

  1. Choset, H. Coverage for robotics – A survey of recent results. Annals of Mathematics and Artificial Intelligence 2001, 31, 113–126. [Google Scholar] [CrossRef]
  2. Galceran, E.; Carreras, M. A survey on coverage path planning for robotics. Robotics and Autonomous Systems 2013, 61, 1258–1276. [Google Scholar] [CrossRef]
  3. Bormann, R.; Jordan, F.; Hampp, J.; Hagele, M. Indoor Coverage Path Planning: Survey, Implementation, Analysis. In Proceedings of IEEE International Conference on Robotics and Automation, Brisbane, Australia, 2018, 1717–1725.
  4. Taua, M. C.; Lisane, B. B.; Ferreira, R. R. Survey on Coverage Path Planning with Unmanned Aerial Vehicles. Drones 2019, 3. [Google Scholar] [CrossRef]
  5. Arkin, E. M.; Fekete, S. P.; Mitchell, S. B. Approximation algorithms for lawn mowing and milling. Computational Geometry 2000, 17, 25–50. [Google Scholar] [CrossRef]
  6. Huang, Y. Y.; Cao, Z. L.; Oh, S. J.; Kattan, E. U.; Hall, E. L. Automatic Operation for a Robot Lawn Mower. In Proceedings of SPIE 0727, Feb., 2000. [Google Scholar]
  7. Hofmann, M.; Clemens, J.; Stronzek-Pfeifer, D.; Simonelli, R.; Serov, A.; Schettino, S.; Runge, M.; Schill, K.; Buskens, C. Coverage Path Planning and Precise Localization for Autonomous Lawn Mowers. In Proceedings of 6th IEEE International Conference on Robotic Computing, 3–5 Dec., 2022, 238–242.
  8. Vosniakos, G. and Papapanagiotou, P. Multiple tool path planning for NC machining of convex pockets without islands. Robotics and Computer Integrated Manufacturing 2000, 16, 425–435. [Google Scholar] [CrossRef]
  9. Chen, X.; Tucker, T. T.; Kurfess, T. R.; Vuduc, R.; Hu, L. Max orientation coverage: efficient path planning to avoid collisions in the CNC milling of 3D objects. Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems, Oct. 2020, Las Vegas, NV; 6862–6869. [Google Scholar]
  10. Held, M. On the Computational Geometry of Pocket Maching, Lecture Notes in Computer Science, 500, Springer, New York, 1991.
  11. Dhanik, S. and Xirouchakis, R. Contour parallel milling tool path generation for arbitrary pocket shape using a fast marching method. International Journal of Advanced Manufacturing Technology 2010, 50, 1101–1111. [Google Scholar] [CrossRef]
  12. Venkatesh, R.; Vijayan, V.; Parthiban, A.; Sathish, T.; Chandran, S. S. Comparison of different tool path pocket milling. International Journal of Mechanical Engineering and Technology 2018, 9, 922–927. [Google Scholar]
  13. Yasutomi, F.; Yamada, M.; Tsukamoto, K. Cleaning robot control. In Proceedings of IEEE International Conference on Robotics and Automation, 1988, Philadelphia, PA, 1839–1841.
  14. Hofner, C. and Schmidt, G. Path planning and guidance techniques for an autonomous mobile cleaning robot. Robotics and Autonomous 1995, 14, 199–212. [Google Scholar] [CrossRef]
  15. Prassler, E.; Ritter, A.; Schaeffer, C.; Fiorini, P. A Short History of Cleaning Robots. Autonomous Robots 2000, 9, 211–226. [Google Scholar] [CrossRef]
  16. Miao, X.; Lee, J.; Kang, B. Y. Scalable Coverage Path Planning for Cleaning Robots Using Rectangular Map Decomposition on Large Environments. IEEE Access 2018, 6, 38200–38215. [Google Scholar] [CrossRef]
  17. Acar, E. U.; Choset, H.; Zhang, Y.; Schervish, M. Path Planning for Robotic Demining: Robust Sensor-based Coverage of Unstructured Environments and Probabilistic Methods. The International Journal of Robotics Research 2003, 22, 441–466. [Google Scholar] [CrossRef]
  18. Seder, M. and Petrovic, I. Complete coverage path planning of mobile robots for humanitarian demining. Industrial Robot 2012, 39, 484–493. [Google Scholar]
  19. Stoll, A. and Kutzbach, D. Guidance of a Forage Harvester with GPS. Precision Agriculter 2000, 2, 281–291. [Google Scholar] [CrossRef]
  20. Oksanen, T. and Visala, A. Coverage Path Planning Algorithms for Agricultural Field Machines. Journal of Field Robotics 2009, 26, 651–668. [Google Scholar] [CrossRef]
  21. Wong, S. C. and MacDonald, B. A. A topological coverage algorithm for mobile robots. In Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems, Oct. 2003, Las Vegas, NV; 1685–1690. [Google Scholar]
  22. Tang, J.; Sun, C.; Zhang, X. MSTC*:Multi-robot Coverage Path Planning under Physical Constraints. Proceedings of 2021 IEEE International Conference on Robotics and Automation, Xi’an, China, 2518–2524. 2021. [Google Scholar]
  23. Paull, L.; Saeedi, S.; Seto, M.; Li, H. Sensor-Driven Online Coverage Planning for Autonomous Underwater Vehicles. IEEE/ASME Transactions on Mechatronics 2013, 18, 1827–1838. [Google Scholar] [CrossRef]
  24. Sun, B.; Zhu, D.; Tian, C.; Luo, C. Complete Coverage Autonomous Underwater Vehicles Path Planning Based on Glasius Bio-Inspired Neural Network Algorithm for Discrete and Centralized Programming. IEEE Transactions on Cognitive and Developmental Systems 2019, 11, 73–84. [Google Scholar] [CrossRef]
  25. Yordanova, V.; Gips, B. Coverage Path Planning With Trackn Spacing Adaptation for Autonomous Underwater Vehicles. IEEE Robotics and Automation Letters 2020, 5, 4774–4780. [Google Scholar] [CrossRef]
  26. Bagnitckii, A.; Inzartsev, A.; Pavin, A. Planning and correction of the AUV coverage path in real time. Proceedings of 2017 IEEE Underwater Technology, Busan, Korea, Feb. 2017. [Google Scholar] [CrossRef]
  27. Li, J. H.; Kang, H.; Kim, M. G.; Jin, H.; Lee, M. J.; Cho, G. R.; Bae, C. Full Coverage of Confined Irregular Polygon Area for Marine Survey. IEEE Access 2023, 11, 92200–92208. [Google Scholar] [CrossRef]
  28. Stefan, H.; Kurt, M. Fast triangulation of simple polygons. Foundations of Computation Theory 1983, Lecture Notes in Computer Science. Berlin, Heidelberg, Springer, 158: 207–218.
  29. Li, J. H. 3D trajectory tracking of underactuated non-minimum phase underwater vehicles. Automatica 2023, 155, 111149. [Google Scholar] [CrossRef]
  30. Fossen, T. I. Guidance and Control of Ocean Vehicles. John Wiley & Sons Ltd., chichester, UK.
  31. Heckbert, P. S. Testing the Convexity of a Polygon. Academic Press, London, UK.
1
This kind of redefinition of full coverage path is another main upgrade to the authors’ previous work [25].
2
In this paper we only consider the case where there is maximum of one vertex between p j m o d ( m 1 , n ) and p m . Also, maximum of one vertex between p m and p j m o d ( m + 1 , n ) . From the practical point of view, this is also quite a reasonable consideration.
3
Fortunately, so far the authors have not encounter the case where these two points are inside the circle at the same time. Indeed, with this in mind, the point x c in Figure 2(a2) and Figure 2(b2) is set away L s from x 1 .
Figure 1. Convex polygon partition with i n L e t , c P c , and o u t L e t for given i n c P = [ 3 , 1 ] and o u t c P = [ 5 , 1 ] .
Figure 1. Convex polygon partition with i n L e t , c P c , and o u t L e t for given i n c P = [ 3 , 1 ] and o u t c P = [ 5 , 1 ] .
Preprints 113134 g001
Figure 2. Illustration of c a l P o i n t 31 ( x 1 , x 2 , β , d i r ) .
Figure 2. Illustration of c a l P o i n t 31 ( x 1 , x 2 , β , d i r ) .
Preprints 113134 g002
Figure 3. Illustration of c a l P o i n t 32 ( x , α , β , d i r ) .
Figure 3. Illustration of c a l P o i n t 32 ( x , α , β , d i r ) .
Preprints 113134 g003
Figure 4. Path smoothing for the waypoint ( x i , 2 ) .
Figure 4. Path smoothing for the waypoint ( x i , 2 ) .
Preprints 113134 g004
Figure 5. Path smoothing for the waypoint ( x i , 2 ) .
Figure 5. Path smoothing for the waypoint ( x i , 2 ) .
Preprints 113134 g005
Figure 7. Comparison of different partition methods for given c P .
Figure 7. Comparison of different partition methods for given c P .
Preprints 113134 g007
Figure 8. Straight line wayponts path and its smoothing.
Figure 8. Straight line wayponts path and its smoothing.
Preprints 113134 g008
Figure 9. Comparison of straight line path and its smoothing in some corner areas.
Figure 9. Comparison of straight line path and its smoothing in some corner areas.
Preprints 113134 g009
Figure 10. Full coverage of c P using sonar swath.
Figure 10. Full coverage of c P using sonar swath.
Preprints 113134 g010
Table 1. Definition of the state variable s t a t .
Table 1. Definition of the state variable s t a t .
Bytes Values Descriptions
s t a t [ 0 ] ± 1 Used to determine i n c P m c = [ m , s t a t [ 0 ] ]
s t a t [ 1 ] ± 1 Indicates the path direction. +1: p L 1 p R 1 , -1: p R 1 p L 1 .
s t a t [ 2 ] 1,0  Indicates if there is a vertex between p L 1 and p m (clockwise). 1: yes, 0: no
s t a t [ 3 ] 1,0  Indicates if there is a vertex between p m and p R 1 (clockwise). 1: yes, 0: no
Table 2. Determination of d i r i in Algorithm 2.
Table 2. Determination of d i r i in Algorithm 2.
o u t c P c ( 1 ) n c i d i r i
1 odd odd R L
1 odd even L R
1 even odd L R
1 even even R L
n odd odd L R
n odd even R L
n even odd R L
n even even L R
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.
Copyright: This open access article is published under a Creative Commons CC BY 4.0 license, which permit the free download, distribution, and reuse, provided that the author and preprint are cited in any reuse.
Prerpints.org logo

Preprints.org is a free preprint server supported by MDPI in Basel, Switzerland.

Subscribe

© 2024 MDPI (Basel, Switzerland) unless otherwise stated