Next Article in Journal
Enhancements of Wave Power Absorption with Arrays and a Vertical Breakwater
Previous Article in Journal
Multi Autonomous Underwater Vehicle (AUV) Distributed Collaborative Search Method Based on a Fuzzy Clustering Map and Policy Iteration
Previous Article in Special Issue
MSFE-UIENet: A Multi-Scale Feature Extraction Network for Marine Underwater Image Enhancement
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

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

by
Ji-Hong Li
*,
Hyungjoo Kang
,
Min-Gyu Kim
,
Mun-Jik Lee
and
Han-Sol Jin
Autonomous Systems R&D Division, Korea Institute of Robotics and Technology Convergence, Jigok-Ro 39, Nam-Gu, Pohang 37666, Republic of Korea
*
Author to whom correspondence should be addressed.
J. Mar. Sci. Eng. 2024, 12(9), 1522; https://doi.org/10.3390/jmse12091522
Submission received: 24 July 2024 / Revised: 16 August 2024 / Accepted: 28 August 2024 / Published: 2 September 2024
(This article belongs to the Special Issue Advancements in New Concepts of Underwater Robotics)

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 which can smooth the waypoint path searched by CbSPSA so that the vehicle can 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.

1. Introduction

As the name implies, CPP is the task of determining a path that passes over all points of an area or volume of interest while avoiding obstacles [1,2,3,4]. In the past decades, this kind of path planning problem has attracted significant research interest in the robotics community. Indeed, this coverage problem involves various practical applications, including lawn mowing [5,6,7], NC pocket machine [6,8,9,10,11,12], vacuum cleaning robot [13,14,15,16], 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,6,7,17,18,19,20] and milling problems [6,7,8,9,10,11,12,13,14,15,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 problem. 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 a given area using acoustic sonar devices [23,24,25,26]. For this kind of marine survey, usually there are two restricting conditions that 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 borderline. 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 borderline 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 it 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 method of [27] to the case where the vehicle has this kind of nonzero turning radius. In addition, some of the algorithms in [27] are upgraded 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. Most of these vehicles, from control engineering perspective, are underactuated systems ([29] and references therein). Due to this kind of mechanical characteristics, these vehicles have to have nonzero steady turning radii [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,25,26], 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 are 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 this paper is to search a full coverage path through 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 A1.
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 . However, careful attention is still required when determining the search area by 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).
As mentioned before, the main contribution of this paper is to extend the results in the previous work [27] to the case where the vehicle has nonzero turning radius. In addition, some of the algorithms in [27] also have been upgraded in this paper, which can be further summarized as follows.
  • Upgrade and more detailed description of Algorithm 2.
  • Upgrade and detailed description of search algorithm for c P m c , see Figure 1.

3.2. c P Partition: Solving SP1 and Some of SP2

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 , , n , 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 that can 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 helpful 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 occurrence of overlapped or crossed path, 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 waypoints 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 ) .
In order to guarantee the coverage path calculated through (2) to have the minimum turn numbers, we need the following condition to be satisfied.
Assumption A2.
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 compared to the true minimum turn number. Therefore, in the case h M L s , which is a very common in practice, whether Assumption 2 is true or not becomes less critical.

3.3. CbSPSA for C P ( c P ) : Solving SP2

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 proposed a sort of selection law for an optimal partition of any given polygon through defining a criteria function Equation (4) as in [27]. This paper applies the similar way to choose the better partition of i n c P and o u t c P .
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 Section 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,6,7,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 Algorithms 2 and 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 ] .
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 )
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 )
In Algorithm 2, the state variable s t a t is defined as in Table 1 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 2. 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.
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 Appendix 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.

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

Here we recall some characteristics 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.
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 5a
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 5b      
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 5c      
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 )
There are some 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.
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 of Proposition 1.
See Appendix A. □
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 2 to be achieved.

4. Numerical Study

In this section, we carry out some of numerical simulations in MATLAB to further illustrate the effectiveness of 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 39,382 m and the total turn numbers4 are 18, and for right one, the length is 38,326 m and the turn numbers are 16. Therefore, Algorithm 1 return the coverage path as shown in right side in Figure 7. As for details of how to calculate the selection criteria for these two cases, refer to [27].
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 Section 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 9b, 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 9c, 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. Conclusions

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 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. Also, it might be interesting to explore whether the current results can be easily extended to some of practical cases, such as marine surveys carried out by multiple AUVs and survey in 3D underwater space.

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:
CPPCoverage path planning
AUVAutonomous underwater vehicle
CbSPSACalculation based shortest path search algorithm
DOFDegree of freedom

Appendix A. Function calPoints21(x1, c P 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(x1, c P 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 A1

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. □

Notes

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,b2) is set away L s from x 1 .
4
In this paper, we only count the vehicle turn with more than π / 2 of heading change as one.

References

  1. Choset, H. Coverage for robotics—A survey of recent results. Ann. Math. Artif. Intell. 2001, 31, 113–126. [Google Scholar] [CrossRef]
  2. Galceran, E.; Carreras, M. A survey on coverage path planning for robotics. Robot. Auton. Syst. 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 the IEEE International Conference on Robotics and Automation, Brisbane, Australia, 21–25 May 2018; pp. 1717–1725. [Google Scholar]
  4. Taua, M.C.; Lisane, B.B.; Ferreira, R.R. Survey on Coverage Path Planning with Unmanned Aerial Vehicles. Drones 2019, 3, 4. [Google Scholar] [CrossRef]
  5. Arkin, E.M.; Fekete, S.P.; Mitchell, S.B. Approximation algorithms for lawn mowing and milling. Comput. Geom. 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. SPIE Conf. Mob. Robot. 1987, 727. [Google Scholar] [CrossRef]
  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 the 6th IEEE International Conference on Robotic Computing, Naples, Italy, 5–7 December 2022; pp. 238–242. [Google Scholar]
  8. Vosniakos, G.; Papapanagiotou, P. Multiple tool path planning for NC machining of convex pockets without islands. Robot. Comput. Integr. Manuf. 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. In Proceedings of the 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems, Las Vegas, NV, USA, 24 October 2020–24 January 2021; pp. 6862–6869. [Google Scholar]
  10. Held, M. On the Computational Geometry of Pocket Maching; Lecture Notes in Computer Science; Springer: New York, NY, USA, 1991; Volume 500. [Google Scholar]
  11. Dhanik, S.; Xirouchakis, R. Contour parallel milling tool path generation for arbitrary pocket shape using a fast marching method. Int. J. Adv. Manuf. Technol. 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. Int. J. Mech. Eng. Technol. 2018, 9, 922–927. [Google Scholar]
  13. Yasutomi, F.; Yamada, M.; Tsukamoto, K. Cleaning robot control. In Proceedings of the IEEE International Conference on Robotics and Automation, Philadelphia, PA, USA, 24–29 April 1988; pp. 1839–1841. [Google Scholar]
  14. Hofner, C.; Schmidt, G. Path planning and guidance techniques for an autonomous mobile cleaning robot. Robot. Auton. 1995, 14, 199–212. [Google Scholar] [CrossRef]
  15. Prassler, E.; Ritter, A.; Schaeffer, C.; Fiorini, P. A Short History of Cleaning Robots. Auton. Robot. 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. Int. J. Robot. Res. 2003, 22, 441–466. [Google Scholar] [CrossRef]
  18. Seder, M.; Petrovic, I. Complete coverage path planning of mobile robots for humanitarian demining. Ind. Robot. 2012, 39, 484–493. [Google Scholar]
  19. Stoll, A.; Kutzbach, D. Guidance of a Forage Harvester with GPS. Precis. Agric. 2000, 2, 281–291. [Google Scholar] [CrossRef]
  20. Oksanen, T.; Visala, A. Coverage Path Planning Algorithms for Agricultural Field Machines. J. Field Robot. 2009, 26, 651–668. [Google Scholar] [CrossRef]
  21. Wong, S.C.; MacDonald, B.A. A topological coverage algorithm for mobile robots. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, Las Vegas, NV, USA, 27–31 October 2003; pp. 1685–1690. [Google Scholar]
  22. Tang, J.; Sun, C.; Zhang, X. MSTC*: Multi-robot Coverage Path Planning under Physical Constraints. In Proceedings of the 2021 IEEE International Conference on Robotics and Automation, Xi’an, China, 30 May–5 June 2021; pp. 2518–2524. [Google Scholar]
  23. Paull, L.; Saeedi, S.; Seto, M.; Li, H. Sensor-Driven Online Coverage Planning for Autonomous Underwater Vehicles. IEEE/ASME Trans. 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 Trans. Cogn. Dev. Syst. 2019, 11, 73–84. [Google Scholar] [CrossRef]
  25. Yordanova, V.; Gips, B. Coverage Path Planning With Trackn Spacing Adaptation for Autonomous Underwater Vehicles. IEEE Robot. Autom. Lett. 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. In Proceedings of the 2017 IEEE Underwater Technology, Busan, Republic of Korea, 21–24 February 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. In Foundations of Computation Theory; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 1983; Volume 158, pp. 207–218. [Google Scholar]
  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, 1994. [Google Scholar]
  31. Heckbert, P.S. Testing the Convexity of a Polygon; Academic Press: London, UK, 1994. [Google Scholar]
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 ] .
Jmse 12 01522 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 ) .
Jmse 12 01522 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 ) .
Jmse 12 01522 g003
Figure 4. Path smoothing for the waypoint ( x i , 2 ) .
Figure 4. Path smoothing for the waypoint ( x i , 2 ) .
Jmse 12 01522 g004
Figure 5. Path smoothing for the waypoint ( x i , 2 ) .
Figure 5. Path smoothing for the waypoint ( x i , 2 ) .
Jmse 12 01522 g005
Figure 6. Path smoothing in the case of Figure 3.
Figure 6. Path smoothing in the case of Figure 3.
Jmse 12 01522 g006
Figure 7. Comparison of different partition methods for given c P .
Figure 7. Comparison of different partition methods for given c P .
Jmse 12 01522 g007
Figure 8. Straight line wayponts path and its smoothing.
Figure 8. Straight line wayponts path and its smoothing.
Jmse 12 01522 g008
Figure 9. Comparison of straight line path (black-line) and its smoothing (red-line) in some corner areas.
Figure 9. Comparison of straight line path (black-line) and its smoothing (red-line) in some corner areas.
Jmse 12 01522 g009
Figure 10. Full coverage of c P using sonar swath.
Figure 10. Full coverage of c P using sonar swath.
Jmse 12 01522 g010
Table 1. Definition of the state variable s t a t .
Table 1. Definition of the state variable s t a t .
BytesValuesDescriptions
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.
outc P c ( 1 ) n c i dir i
1oddodd R L
1oddeven L R
1evenodd L R
1eveneven R L
noddodd L R
noddeven R L
nevenodd R L
neveneven 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.

Share and Cite

MDPI and ACS Style

Li, J.-H.; Kang, H.; Kim, M.-G.; Lee, M.-J.; Jin, H.-S. Full Coverage Path Planning for Torpedo-Type AUVs’ Marine Survey Confined in Convex Polygon Area. J. Mar. Sci. Eng. 2024, 12, 1522. https://doi.org/10.3390/jmse12091522

AMA Style

Li J-H, Kang H, Kim M-G, Lee M-J, Jin H-S. Full Coverage Path Planning for Torpedo-Type AUVs’ Marine Survey Confined in Convex Polygon Area. Journal of Marine Science and Engineering. 2024; 12(9):1522. https://doi.org/10.3390/jmse12091522

Chicago/Turabian Style

Li, Ji-Hong, Hyungjoo Kang, Min-Gyu Kim, Mun-Jik Lee, and Han-Sol Jin. 2024. "Full Coverage Path Planning for Torpedo-Type AUVs’ Marine Survey Confined in Convex Polygon Area" Journal of Marine Science and Engineering 12, no. 9: 1522. https://doi.org/10.3390/jmse12091522

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