Expanded Douglas – Peucker Polygonal Approximation and Opposite Angle-Based Exact Cell Decomposition for Path Planning with Curvilinear Obstacles

The Expanded Douglas–Peucker (EDP) polygonal approximation algorithm and its application method for the Opposite Angle-Based Exact Cell Decomposition (OAECD) are proposed for the mobile robot path-planning problem with curvilinear obstacles. The performance of the proposed algorithm is compared with the existing Douglas–Peucker (DP) polygonal approximation and vertical cell decomposition algorithm. The experimental results show that the path generated by the OAECD algorithm with EDP approximation appears much more natural and efficient than the path generated by the vertical cell decomposition algorithm with DP approximation.


Introduction
The path-planning process of a mobile robot aims at finding a collision-free path to move the robot from the current posture to the goal posture [1][2][3].If there are multiple available paths, the optimal path in the sense of an objective function, such as the minimum distance, can be chosen.The algorithms for mobile-robot path planning can be grouped into four categories: roadmap approaches, such as the visibility graph or generalized Voronoi graph; cell decomposition approaches, such as the vertical cell decomposition (VCD) or approximate cell decomposition; sampling-based planning methods, such as the rapidly exploring random tree (RRT) or probabilistic roadmap (PRM), and potential field methods [2][3][4][5].Among these methods, roadmap approaches are generally fast and easy to implement, but an intrinsic way to describe environmental information is not provided [1][2][3].Sampling-based planning methods are more practical, but they do not provide completeness so we cannot recognize the non-existence of a path [2,3].Potential field methods are useful to control the robot by generating a differentiable smooth path, but they cannot give explicit information on the roadmap and easily fall into a local minimum [1][2][3].There are also some hybrid approaches, such as a potential field with RRT [6] or potential field with cell decomposition [7].
Cell decomposition, which is a classical and representative method for mobile-robot path planning, decomposes the given environment into several cells and finds a collision-free path based on the connectivity graph of these cells [2][3][4][5][6][7][8][9][10].Here, each node of a connectivity graph is made by the representative point of each cell or its border line.Each link of the connectivity graph between the nodes indicates that the corresponding cell is adjacent to each other [11].In various cell decomposition algorithms [12][13][14][15][16][17], one of the most widely known algorithms is vertical cell decomposition (VCD), but it does not generate an efficient path because it uses too many cells [8]. Figure 1 shows an example of the previous exact cell decomposition using VCD.VCD makes vertical lines from the convex vertices to decompose the environment into cells.The adjacency relationship among the cells is represented by the connectivity graph and used to find a path using graph search algorithms.VCD does not guarantee the optimality of the number of decomposed cells since there is no consideration of the shape of the obstacle.Reducing the number of decomposed cells directly increases the efficiency in path planning, but finding the optimal decomposition case is known as an NP-hard problem [1][2][3].
Figure 1 shows an example of the previous exact cell decomposition using VCD.VCD makes vertical lines from the convex vertices to decompose the environment into cells.The adjacency relationship among the cells is represented by the connectivity graph and used to find a path using graph search algorithms.VCD does not guarantee the optimality of the number of decomposed cells since there is no consideration of the shape of the obstacle.Reducing the number of decomposed cells directly increases the efficiency in path planning, but finding the optimal decomposition case is known as an NP-hard problem [1][2][3].
To supplement this drawback, the Opposite Angle-based Exact Cell Decomposition (OAECD) [18] was proposed by using a type of greedy approach to minimize the number of cells and increase efficiency.However, the OAECD can only be applied for polygonal obstacles, since it is operated based on the relationship among the vertices of the obstacles.In other words, path planning in an environment with curvilinear obstacles is impossible by itself.Therefore, in this paper, a novel expanded polygonal approximation method based on Douglas-Peucker (DP) algorithm is proposed to apply OAECD path planning to the cases with curvilinear obstacles.In Chapter 2, a novel polygonal approximation algorithm for curvilinear obstacles is addressed.Then, the algorithm is applied to a modified OAECD algorithm in Chapter 3. The experimental results are shown in Chapter 4, and the paper is concluded in Chapter 5.

Polygonal Approximation Algorithm of Curvilinear Obstacle
In this chapter, the Douglas-Peucker (DP) algorithm [19], which is one of the most popular algorithms for polygonal approximation, is reviewed.An Expanded Douglas-Peucker (EDP) algorithm for the application with curvilinear obstacles is proposed with mathematical validation on the circumscription of the EDP Algorithm.

Douglas-Peucker Algorithm
The DP algorithm is a representative method of polygonal approximation.The purpose of a DP algorithm is to find a similar piecewise linear curve with fewer points given a closed curve.The algorithm uses the concept of dissimilarity based on the maximum distance between the original curve points and their simplified piecewise linear curve [17,18].To supplement this drawback, the Opposite Angle-based Exact Cell Decomposition (OAECD) [18] was proposed by using a type of greedy approach to minimize the number of cells and increase efficiency.However, the OAECD can only be applied for polygonal obstacles, since it is operated based on the relationship among the vertices of the obstacles.In other words, path planning in an environment with curvilinear obstacles is impossible by itself.Therefore, in this paper, a novel expanded polygonal approximation method based on Douglas-Peucker (DP) algorithm is proposed to apply OAECD path planning to the cases with curvilinear obstacles.
In Chapter 2, a novel polygonal approximation algorithm for curvilinear obstacles is addressed.Then, the algorithm is applied to a modified OAECD algorithm in Chapter 3. The experimental results are shown in Chapter 4, and the paper is concluded in Chapter 5.

Polygonal Approximation Algorithm of Curvilinear Obstacle
In this chapter, the Douglas-Peucker (DP) algorithm [19], which is one of the most popular algorithms for polygonal approximation, is reviewed.An Expanded Douglas-Peucker (EDP) algorithm for the application with curvilinear obstacles is proposed with mathematical validation on the circumscription of the EDP Algorithm.

Douglas-Peucker Algorithm
The DP algorithm is a representative method of polygonal approximation.The purpose of a DP algorithm is to find a similar piecewise linear curve with fewer points given a closed curve.The algorithm uses the concept of dissimilarity based on the maximum distance between the original curve points and their simplified piecewise linear curve [17,18].
The algorithm (Algorithm 1) measures the distance between each point of a curve and the base line, which is the line segment with the same first and last points with the curve, to find the farthest point from the line segment with the maximum perpendicular distance.
Here, C is the set of obstacle contours, which is the set of point lists of the obstacle; ε is the threshold value for the maximum dissimilarity tolerance; R is the final result of the polygonal approximation of all obstacles; c is a point list of the obstacle contour, which is arranged in counter-clockwise order; pl is a point list; r 1 and r 2 indicate each result of the recursiveDP procedure; r indicates the final result of the polygonal approximation of an obstacle by DP algorithm.In the recursive procedure of DP algorithm (Algorithm 2), the line segment is further divided into two sub-line segments using the farthest point as the via-point whenever the maximum perpendicular distance is greater than or equal to the threshold value for maximum dissimilarity tolerance, ε.This process is recursively repeated until the maximum perpendicular distance is less than ε.
Here, r 1 and r 2 are each the result of the recursiveDP procedure, and r is the result of the polygonal approximation of the given curve.
Figure 2 shows the process of the DP algorithm.l b is the base line, which is identical to line base in Algorithm 2. l b1 is determined with the starting point P 1 and ending point P 2 , which makes the widest width of the given obstacle.Then, we check whether dist max is less than ε.If dist max is less than ε, two vertices of l b1 are inserted into the point list of the polygonal approximation.If dist max is greater than or equal to ε, a new base line l b2 with P 1 and P 3 is made, new dist max is found again based on l b2 , and the above procedures are repeated.
The obstacle approximation result by DP algorithm does not guarantee the circumscription of the original obstacle.In other words, some interior points of the obstacle region may not be included inside the polygon by the DP algorithm.Similarly, some exterior points of the obstacle region may be included inside the polygon by the DP algorithm.
Thus, if the result of the DP algorithm on a curvilinear obstacle is directly used for path planning, the generated path may penetrate inside the real obstacle region, and the robot may easily collide with the obstacle.To overcome this problem, a modified DP algorithm is proposed in this paper.Appl.Sci.2019, 9, 638 5 of 17

Proposed Expanded Douglas-Peucker (EDP) Algorithm
The path planning for curvilinear obstacles using DP algorithm may not be collision-free.The basic philosophy of the EDP algorithm is to guarantee the circumscription of obstacles by expanding the polygon of the DP algorithm with the maximum dissimilarity tolerance.In addition, by appending additional points near the convex corner, the convex corner clearance is considered, where the robot control may become more difficult during path following.
Figure 3 shows the operation of EDP based on the counter-clockwise traversal.The first step is to perform the DP algorithm.If the half angle between line segments l 0 and l 1 is 0-90 • , i.e., the corner of DP polygon is convex, the perpendicular half-lined to l 0 and l 1 are v 0 and v 1 at the corner point, respectively.Then, the points on the arc, with the center point as the convex corner and the radius of ε, are appended starting from v 0 and rotating with angle θ rot until they meet v 1 in the counter-clockwise direction.These points are added for the convex corner clearance.If the half angle between line segments l 0 and l 1 is 90 • or more, i.e., the corner of DP polygon is concave, the point far from the cross point of l 0 and l 1 with distance ε to the outer direction of the obstacle is appended.The above procedures are repeated for the remaining corner points of the DP polygon.
the original obstacle.In other words, some interior points of the obstacle region may not be included inside the polygon by the DP algorithm.Similarly, some exterior points of the obstacle region may be included inside the polygon by the DP algorithm.
Thus, if the result of the DP algorithm on a curvilinear obstacle is directly used for path planning, the generated path may penetrate inside the real obstacle region, and the robot may easily collide with the obstacle.To overcome this problem, a modified DP algorithm is proposed in this paper.

Proposed Expanded Douglas-Peucker (EDP) Algorithm
The path planning for curvilinear obstacles using DP algorithm may not be collision-free.The basic philosophy of the EDP algorithm is to guarantee the circumscription of obstacles by expanding the polygon of the DP algorithm with the maximum dissimilarity tolerance.In addition, by appending additional points near the convex corner, the convex corner clearance is considered, where the robot control may become more difficult during path following.
Figure 3 shows the operation of EDP based on the counter-clockwise traversal.The first step is to perform the DP algorithm.If the half angle between line segments l0 and l1 is 0-90°, i.e., the corner of DP polygon is convex, the perpendicular half-lined to l0 and l1 are v0 and v1 at the corner point, respectively.Then, the points on the arc, with the center point as the convex corner and the radius of ε, are appended starting from v0 and rotating with angle θrot until they meet v1 in the counterclockwise direction.These points are added for the convex corner clearance.If the half angle between line segments l0 and l1 is 90° or more, i.e., the corner of DP polygon is concave, the point far from the cross point of l0 and l1 with distance ε to the outer direction of the obstacle is appended.The above procedures are repeated for the remaining corner points of the DP polygon.Algorithm 3 shows the abstract version of the pseudo code of the EDP algorithm.Here, R DP is the set of point lists of the polygonal approximation of the obstacles by the DP algorithm; ε is the threshold value for maximum dissimilarity tolerance; θ rot is a constant angle for obstacle corner clearance; R is the final result of the polygonal approximation of all obstacles by the EDP algorithm, and r DP is a point list of the obstacle polygonal approximation by the DP algorithm, which is arranged in counter-clockwise order.
Figure 4 illustrates the detailed version of the EDP algorithm (Algorithm 4).
Around the convex vertex of DP polygon, the concept of θrot is used for the convex corner clearance.When θrot ≥ ∠ 0     , there is no additionally appending vertex, and Qm = Q1; when θrot < ∠Q 0 P n Q m , there are additionally appending vertices Q1, Q2, …, which makes the effect of securing additional free space near the obstacle corner relatively difficult to path following. Therefore, In addition, since Q i (i = 1, 2, . . ., m − 1) are on the arc with center point P n and radius ε, rotating Q i with angle θ rot in the counter-clockwise direction yields Similarly, in the case of a concave corner, Around the convex vertex of DP polygon, the concept of θ rot is used for the convex corner clearance.When θ rot ≥ ∠Q 0 P n Q m , there is no additionally appending vertex, and Q m = Q 1 ; when θ rot < ∠Q 0 P n Q m , there are additionally appending vertices Q 1 , Q 2 , . . ., which makes the effect of securing additional free space near the obstacle corner relatively difficult to path following.
Algorithm 4 shows the detailed version of the pseudo code of the EDP algorithm.
end for 21 end for End Expanded-DP Procedure

Mathematical Validation on the Circumscription of the EDP Algorithm
[Theorem] The polygon that consists of the resulting points from the expanded DP (EDP) algorithm on an obstacle includes all points of the original obstacle, i.e., no point of the obstacle region is outside of the polygon that consists of the resulting points from EDP on that obstacle.
(Proof ) Let P n be the n-th point from the DP polygonal approximation of an obstacle.Then, the following propositions are always true by the DP algorithm.
[P1] P n−1 , P n , P n+1 are points included in the boundary line of the obstacle.
[P2] P n is the farthest point from the line segment P n−1 P n+1 among the boundary points of the obstacle in [P n−1 , P n+1 ].
[P3] Every boundary point of the obstacle in [P n−1 , P n ] has a shorter distance than ε from the line segment P n−1 P n .
[P4] Every boundary point of the obstacle in [P n , P n+1 ] has a shorter distance than ε from the line segment P n P n+1 If P n is a convex point.Let us assume that there is a boundary point c ∈ [P n−1 , P n+1 ] of the obstacle such that c is located outside the polygon Q m , Q' 0 , Q' 1 , . . ., Q' m , Q" 0 such as Figure 5a, which consists of the resulting points from the EDP algorithm on the obstacle.Since P n−1 , P n , and P n+1 are points on the boundary If point c is identical to Pn, it is trivial that c cannot be located outside of the polygon with vertices Qm, Q'0, Q'1, …, Q'm, and Q''0, since Pn is inside the polygon.If point c is identical to P n , it is trivial that c cannot be located outside of the polygon with vertices Q m , Q' 0 , Q' 1 , . . ., Q' m , and Q" 0 , since P n is inside the polygon.
If point c is included in the range of [P n−1 , P n ), the distance from point c to the line segment P n−1 P n should be less than ε by proposition [P3].Therefore, c cannot be located outside of the polygon with vertices Q m ~Q' 0 .
If point c is included in the range of (P n , P n+1 ], the distance from point c to the line segment P n P n+1 should be less than ε by proposition [P4].Therefore, c cannot be located outside of the polygon with vertices Q' m ~Q" 0 .
Therefore, no boundary point of the obstacle region is outside of the polygon with vertices Q m , Q' 0 , Q' 1 , . . ., Q' m , and Q" 0 in the case of convex P n .
If P n is a concave point, Let us assume that there is a boundary point c ∈ [P n−1 , P n+1 ] of the obstacle such that c is located outside of the polygon Q m , Q' s , Q" 0 such as Figure 5b, which consists of the resulting points from the EDP algorithm on the obstacle.Since P n−1 , P n , and P n+1 are points on the boundary line of the obstacle by proposition [P1], boundary point c should be identical to P n or included in the range of [P n−1 , P n ] or (P n , P n+1 ).
If point c is identical to P n , it is trivial that c cannot be located outside of the polygon with vertices Q m , Q' s , and Q" 0 , since P n is inside the polygon.
If point c is included in the range of [P n−1 , P n ), the distance from point c to the line segment P n−1 P n should be less than ε by proposition [P3].Therefore, c cannot be located outside of the polygon with vertices Q m and Q' s .
If point c is included in the range of (P n , P n+1 ], the distance from point c to the line segment P n P n+1 should be less than ε by proposition [P4].Therefore, c cannot be located outside of the polygon with vertices Q' s and Q" 0 . Therefore, no boundary point of the obstacle region is outside the polygon with vertices Q m , Q' s , and Q" 0 in the case of concave P n (Q.E.D.).
Once the polygonal approximation with the EDP algorithm is completed, it is possible to solve the obstacle collision problem that may occur when DP algorithm is used for the polygonal approximation of a curvilinear obstacle.Since the polygon created by the EDP algorithm can guarantee the circumscription of obstacles, this result of EDP can be used to apply OAECD in path planning with curvilinear obstacles.

Modified Opposite Angle-Based Exact Cell Decomposition (OAECD) Algorithm for Path Planning with Curvilinear Obstacles
The basic concept of the modified OAECD algorithm is to reduce as possible as many cells after the execution of the EDP algorithm and increase the calculation efficiency.Using the concept of inclusion of an opposite angle, OAECD first tries to connect the closest neighboring cell in the opposite angle region.OAECD does not randomly or sequentially process the points but processes in the order from a close pair to a far pair through three consecutive steps, which are similar to the human method.In addition, OAECD does not try to make an additional decomposition if the shape of the generating cell is convex.
The detailed algorithm for the modified OAECD consists of three steps [18].Figure 6 shows how the decomposing lines are formed between the obstacles for each step of the modified OAECD algorithm.In the first step, the modified OAECD finds the closest neighboring vertex in the set of all vertices of other obstacles for every convex vertex (CV) of each obstacle.For every CV of each obstacle and its closest neighboring vertex (NV) in other obstacles, a new decomposing line is drawn if there is no existing decomposing line with the current CV, its closest NV is inside the region of the opposite angle of the current CV, and no intersection is made with other obstacles or other decomposing lines.
Appl.Sci.2019, 9, x 10 of 17 Finally, in the third step, for every CV of the remaining vertices, a new decomposing line is drawn in the direction of the equiangular line of the opposite angle of the current CV until it intersects with the boundary of the environment, obstacle, or another decomposing line, if no decomposing line is connected with the current CV or more than one decomposing line is already connected from another CV, and the created angle near the current CV is larger than 180°.
The OAECD can be properly applied in a static environment.Although a single-sensed map may generate noise, it can sense multiple times for the same environment in a short period and remove the noise on the map by the moving average method [20] or the median method Based on these methods, one can plan the route.However, this process is only accurate in the static environment.In the dynamic environment, it is difficult to resolve the sensor noise completely by the moving average method or the median method for the same position because the obstacle moves.Algorithms 5-7 show the pseudo code of the modified OAECD algorithm for each step in the process.Here, vc1 is a convex vertex of an obstacle; Vc is the set of point lists, which is the result of the EDP polygonal approximation of all obstacles; va1 is the closest neighboring vertex from vc1; V is the set of all vertices of the obstacles; Vcheck is the point set to check for processing.In the second step, for every CV among the remaining vertices and a vertex (AV) in another obstacle inside the region of the opposite angle of the current CV, a new decomposing line is drawn if there is no decomposing line with the current CV, the AV in another obstacle is the shortest one from the current CV among all available AVs, and there is no intersection with other obstacles or other decomposing lines.
Finally, in the third step, for every CV of the remaining vertices, a new decomposing line is drawn in the direction of the equiangular line of the opposite angle of the current CV until it intersects with the boundary of the environment, obstacle, or another decomposing line, if no decomposing line is connected with the current CV or more than one decomposing line is already connected from another CV, and the created angle near the current CV is larger than 180 • .
The OAECD can be properly applied in a static environment.Although a single-sensed map may generate noise, it can sense multiple times for the same environment in a short period and remove the noise on the map by the moving average method [20] or the median method [21].Based on these methods, one can plan the route.However, this process is only accurate in the static environment.In the dynamic environment, it is difficult to resolve the sensor noise completely by the moving average method or the median for the same position because the obstacle moves.
Algorithms 5-7 show the pseudo code of the modified OAECD algorithm for each step in the process.Here, v c1 is a convex vertex of an obstacle; V c is the set of point lists, which is the result of the EDP polygonal approximation of all obstacles; v a1 is the closest neighboring vertex from v c1 ; V is the set of all vertices of the obstacles; V check is the point set to check for processing.Generally, the cells created by the cell decomposition methods are shaped as a convex polygon to avoid being penetrated by obstacles.Therefore, only the convex vertices of the obstacles are considered in this step because the concave vertices of the obstacles obviously result in convex vertices of the free cell.In other words, there is no need to make an additional decomposing line from some vertices if they preserve the concaveness.In addition, the closest neighboring vertex is chosen to reduce the number of possible cells and the possibility of crossing with other decomposing lines.Here, v c2 is a convex vertex of an obstacle in V c -V check , v a2 is a vertex in the region of the opposite angle of v c2 , and V i is the set of all vertices inside the region of the opposite angle of v c2 .Algorithm 6. Pseudo Code of the modified OAECD (Step 2).

Input:
V c ← R//R: Result of the EDP polygonal approximation of all obstacles represented as a set of point lists M ← Environment map V check ← Point set check for processing (Result of previous step 1) Output: V check ← Point set to check for processing (Result of this step) M ← Environment map with the decomposing lines of step 1 and 2 if there is no decomposing line that is already connected with v c2 then 3 if v a2 has the shortest distance with v c2 compared with those in V i -{v a2 } and line(v c2 , v a2 in V i ) is not intersected with the obstacle and other lines then 4 draw decomposing line from v c2 to v a2 and insert v c2 to V check 5 end if 6 else if all angles near v c2 are less than or equal to 180 end for End OAECD-Algorithm Procedure From Step 2, the decomposing line from v c2 to v a2 is drawn, and v c2 is inserted into V check although v a2 is not the closest vertex in V. Here, v c3 is an unchecked convex vertex of each obstacle.

Input:
V c ← R//R: Result of the EDP polygonal approximation of all obstacles represented as a set of point lists M ← Environment map V check ← Point set to check for processing (Result of previous step 2) Output: M ← The final environment map with decomposing lines of steps 1, 2, and 3 The time complexity of the modified OAECD is O(n 2 ) because the sub-time complexity is basically all O(n 2 ) for Step 1, Step 2, and Step 3. In addition, the time complexity for Step 3 can be reduced to O(nlogn) approximately when the sweep-line method [22,23] is applied.

Experimental Results
Two types of experiments were conducted to find the performance of the proposed EDP and modified OAECD algorithm.An additional simulation has been performed to verify the feasibility of the modified OAECD algorithm for a map with curvilinear obstacles.The first experiment is conducted to compare the approximation error and the number of vertices of approximated polygon made by EDP and DP.In each experiment, twenty maps were chosen in the pre-created one hundred fifty random maps, each of which is assumed to be 20 × 20 m 2 in size and randomly have the position of the obstacle, position of the vertices of each obstacle, and area of the obstacle by using the random function in the math library of the MS Visual C++ compiler.The number of obstacles and vertices of each obstacle were fixed at fifteen.Bezier curve was used for the curvilinear obstacle representation by interconnecting the vertices of each obstacle and creating naturally curved obstacles.Each map was created by an image in bitmap format.
The second experiment was conducted to compare the performance of the OAECD algorithm and the VCD algorithm.Similar to the first experiment, the size of the map was assumed as 20 × 20 m 2 , and the position of the obstacle, positions of the vertices of each obstacle, number of vertices of each obstacle, and number of obstacles in the map were random variables.
Table 1 shows the experimental results by averaging the results of each experiment.Here, IA is the percentage area of the inner space of the approximated polygons outside the obstacle regions in comparison with the area of the original obstacle region.OA is the percentage area of the outer space of the approximated polygons inside the obstacle regions in comparison with the area of the original obstacle region.SA is the sum of IA and OA.AVG is the average values for various ε.From Table 1, the average approximation error of the result of the EDP algorithm is approximately 5 times larger than that of DP algorithm to cover the entire area of the original obstacle regions.
Table 2 shows the experimental results by averaging the results of ten experiments with 15 random obstacles and 15 random vertices for each obstacle.
From Table 2, on average, the result of the EDP algorithm has 2.88 times more vertices than the result of the DP algorithm when θ rot for EDP is 30 • .
Figure 7 shows a graphical representation of Tables 1 and 2. The approximation performance of EDP is worse than DP in the aspects of IA, SA, and average number of vertices.Nonetheless, OA of EDP is completely zero and better than DP since the result of the EDP can cover the entire area of the original obstacle regions.From Table 2, on average, the result of the EDP algorithm has 2.88 times more vertices than the result of the DP algorithm when θrot for EDP is 30°.
Figure 7 shows a graphical representation of Tables 1 and 2. The approximation performance of EDP is worse than DP in the aspects of IA, SA, and average number of vertices.Nonetheless, OA of EDP is completely zero and better than DP since the result of the EDP can cover the entire area of the original obstacle regions.Table 3 compares the performance of the modified OAECD algorithm and VCD algorithm.Here, NV is the total number of vertices in the connectivity graph, VV is the number of vertices that composes the generated path by the A* algorithm, and PL is the path length.Table 3 compares the performance of the modified OAECD algorithm and VCD algorithm.Here, NV is the total number of vertices in the connectivity graph, VV is the number of vertices that composes the generated path by the A* algorithm, and PL is the path length.From Table 3, the path length by the modified OAECD algorithm is 60.7% shorter than the path length by VCD algorithm on average.
Figure 8 shows the comparison of VCD with DP and OAECD with EDP to show the feasibility of the modified OAECD algorithm for maps with static curvilinear obstacles.From Table 3, the path length by the modified OAECD algorithm is 60.7% shorter than the path length by VCD algorithm on average.
Figure 8 shows the comparison of VCD with DP and OAECD with EDP to show the feasibility of the modified OAECD algorithm for maps with static curvilinear obstacles.
The EDP shows that the polygonal approximation completely covers each obstacle.In addition, the OAECD shows a more natural-looking and efficient path than VCD in Figure 8a.The path from VCD with the DP algorithm may also easily collide with the obstacle, such as Figure 8b.Even though the path in Figure 8a is more natural looking than that in Figure 8b, there are still some sharp corners which may occur generating an additional problem of motion control for real- The EDP shows that the polygonal approximation completely covers each obstacle.In addition, the OAECD shows a more natural-looking and efficient path than VCD in Figure 8a.The path from VCD with the DP algorithm may also easily collide with the obstacle, such as Figure 8b.
Even though the path in Figure 8a is more natural looking than that in Figure 8b, there are still some sharp corners which may occur generating an additional problem of motion control for real-world robots due to kinematic constraints.These corners can be smoothed by some path smoothing techniques [5,24].

Conclusions
In this paper, the Expanded Douglas-Peucker (EDP) polygonal approximation algorithm and its application method for the Opposite Angle-based Exact Cell Decomposition (OAECD) are proposed for the mobile-robot path-planning problem with curvilinear obstacles.In addition, mathematical analysis has been conducted to guarantee the circumscription of obstacle regions by the EDP approximation.Since OAECD is basically focused on the static environment, OAECD is not robust enough to sensor noises in the dynamic environment.Nonetheless, the proposed method is useful with both polygonal and curvilinear obstacles, since the EDP approximation can guarantee the circumscription of obstacle regions, and the modified OAECD algorithm can effectively reduce the number of decomposing cells.
The experimental results show that the path generated by the OAECD algorithm with the EDP approximation looks much more natural and is collision-free.That path is also more efficient than the path generated by the VCD algorithm with DP approximation, although on average, the EDP approximation may induce a larger approximation error and more approximation vertices than DP approximation.

Figure 1 .
Figure 1.An example of Vertical Cell Decomposition (VCD) and its path.

Figure 1 .
Figure 1.An example of Vertical Cell Decomposition (VCD) and its path.

Figure 2 Figure 2 .
Figure2shows the process of the DP algorithm.lb is the base line, which is identical to linebase in Algorithm 2. lb1 is determined with the starting point P1 and ending point P2, which makes the widest width of the given obstacle.Then, we check whether distmax is less than ε.If distmax is less than ε, two vertices of lb1 are inserted into the point list of the polygonal approximation.If distmax is greater than or equal to ε, a new base line lb2 with P1 and P3 is made, new distmax is found again based on lb2, and the above procedures are repeated.

Figure 2 .
Figure 2. Douglas-Peucker (DP) process between P 1 and P 2 : (a) If dist max ≥ ε, then (b) l b2 between P 1 and dist max point P 3 is used for the next base line; (c) If dist max < ε, then (d) l b3 between P 3 and P 2 is used for the next base line.

Figure 3 .
Figure 3. Abstract process of Expanded Douglas-Peucker (EDP) algorithm: (a) Before applying EDP for a convex corner; (b) After applying EDP for a convex corner; (c) Before applying EDP for a concave corner; (d) Overall appearance after applying EDP for a concave corner.

Figure 3 .
Figure 3. Abstract process of Expanded Douglas-Peucker (EDP) algorithm: (a) Before applying EDP for a convex corner; (b) After applying EDP for a convex corner; (c) Before applying EDP for a concave corner; (d) Overall appearance after applying EDP for a concave corner.

Figure 6 .
Figure 6.Decomposition results of each step in the modified Opposite Angle-Based Exact Cell Decomposition (OAECD) algorithm after the EDP algorithm: (a) Environment; (b) Result of step 1; (c) Result of step 2; (d) Result of step 3.

Figure 6 .
Figure 6.Decomposition results of each step in the modified Opposite Angle-Based Exact Cell Decomposition (OAECD) algorithm after the EDP algorithm: (a) Environment; (b) Result of step 1; (c) Result of step 2; (d) Result of step 3.

Figure 7 .
Figure 7. Performance comparison between EDP and DP for various ε values: (a) Ratio of the inner space of the approximated polygons outside the obstacle region (IA); (b) Ratio of the outer space of the approximated polygons inside the obstacle region (OA); (c) Sum of IA and OA (SA); (d) Average number of vertices created by EDP and DP (The numbers of obstacles and vertices of each obstacle were fixed as 15, and θrot for EDP was fixed as 30°).

Figure 7 .
Figure 7. Performance comparison between EDP and DP for various ε values: (a) Ratio of the inner space of the approximated polygons outside the obstacle region (IA); (b) Ratio of the outer space of the approximated polygons inside the obstacle region (OA); (c) Sum of IA and OA (SA); (d) Average number of vertices created by EDP and DP (The numbers of obstacles and vertices of each obstacle were fixed as 15, and θ rot for EDP was fixed as 30 • ).

Table 3 .
Performance comparison between modified Opposite Angle-Based Exact Cell Decomposition (OAECD) and Vertical Cell Decomposition (VCD) (The numbers of obstacles and vertices of each obstacle were fixed as 15).

Figure 8 .
Figure 8.Comparison between OAECD with EDP and VCD with DP (ε = 0.05 m): (a) Path planning using EDP and OAECD; (b) Path planning using DP and VCD (The numbers of obstacles and vertices of each obstacle were fixed as 15, and θrot for EDP was fixed as 30°).

Figure 8 .
Figure 8.Comparison between OAECD with EDP and VCD with DP (ε = 0.05 m): (a) Path planning using EDP and OAECD; (b) Path planning using DP and VCD (The numbers of obstacles and vertices of each obstacle were fixed as 15, and θ rot for EDP was fixed as 30 • ).

Algorithm 1 .
Pseudo Code of the Initial DP.Final result of polygonal approximation of all obstacles represented as a set of point lists

Algorithm 2 .
Pseudo Code of the Recursive DP.

Algorithm 3 .
Pseudo Code of EDP (Abstract version).Result of DP polygonal approximation of all obstacles represented as a set of point lists ε ← Threshold value for maximum dissimilarity tolerance θ rot ← Constant angle for obstacle corner clearance Output: R ← Final result of the EDP polygonal approximation represented as a set of point lists 0 ← line segment connected from the previous point of p to p 8 l 1 ← line segment connected from p to the next point of p 9 v 0 ← perpendicular half-line to l 1 started from p 10 v 1 ← perpendicular half-line to l 2 started from p 11 loop 12 insert points p cv on the arc with center point p and radius ε, which is consisted of the points according to θ rot angle from v 0 to v 1 , to R 13 end loop 14 else 15 θ ← half outer angle of p 16 dist ← ε/sinθ 17 insert point p cc far from p with distance dist to the outer direction of the obstacle to R

Algorithm 4 .
Pseudo Code of EDP (Detailed version).Result of DP polygonal approximation of all obstacles represented as a set of point lists ε ← Threshold value for maximum dissimilarity tolerance θ rot ← Constant angle for obstacle corner clearance Output: R ← Final result of the EDP polygonal approximation represented as a set of point lists Result of the EDP polygonal approximation of all obstacles represented as a set of point lists M ← Environment map Output: V chec ← Point set to check for processing M ← Environment map with decomposing lines of step 1 is included in the region of the opposite angle of v c1 and line(v c1 , v a1 in V) is not intersected with other obstacles or other lines then 7 draw decomposing line from v c1 to v a1 and insert v c1 to V check there is no decomposing line that is already connected with v c3 then 3 draw decomposing line from v c3 in the direction of half angle of the opposite angle of v c3 until it intersects with the boundary of the environment, other obstacles, or other lines and insert v c3 to V check 4 else if all angles near v c3 are less than or equal to 180 • then

Table 1 .
Performance comparison between Expanded Douglas-Peucker (EDP) algorithm and Douglas-Peucker (DP) alogrithm for various ε values (The number of obstacles and vertices of each obstacle were fixed as 15, and θ rot for EDP was fixed as 30 • ).

Table 2 .
Average number of vertices created by EDP and DP (The numbers of obstacles and vertices of each obstacle were fixed as 15, and θ rot for EDP was fixed as 30 • ).

Table 3 .
Performance comparison between modified Opposite Angle-Based Exact Cell Decomposition (OAECD) and Vertical Cell Decomposition (VCD) (The numbers of obstacles and vertices of each obstacle were fixed as 15).