Abstract
Free space algorithms are kind of graphics-based methods for path planning. With previously known map information, graphics-based methods have high computational efficiency in providing a feasible path. However, the existing free space algorithms do not guarantee the global optimality because they always search in one connected domain but not all the possible connected domains. To overcome this drawback, this article presents an improved free space algorithm based on map decomposition with multiple connected domains and artificial bee colony algorithm. First, a decomposition algorithm of single-connected concave polygon is introduced based on the principle of concave polygon convex decomposition. Any map without obstacle is taken as single-connected concave polygon (the convex polygon map can be seen as already decomposed and will not be discussed here). Single concave polygon can be decomposed into convex polygons by connecting concave points with their visible vertex. Second, decomposition algorithm for multi-connected concave polygon (any map with obstacles) is designed. It can be converted into single-connected concave polygon by excluding obstacles using virtual links. The map can be decomposed into several convex polygons which form multiple connected domains. Third, artificial bee colony algorithm is used to search the optimal path in all the connected domains so as to avoid falling into the local minimum. Numerical simulations and comparisons with existing free space algorithm and rapidly exploring random tree star algorithm are carried out to evaluate the performance of the proposed method. The results show that this method is able to find the optimal path with high computational efficiency and accuracy. It has advantages especially for complex maps. Furthermore, parameter sensitivity analysis is provided and the suggested values for parameters are given.
Introduction
Path planning problems include coverage path planning, obstacle avoidance path planning, and target tracking path planning. There are many methods for obstacle avoidance path planning from the initial point to the target point, such as Voronoi graph algorithm, artificial potential field (APF) method, A* algorithm, D* algorithm, and rapidly exploring random tree (RRT) algorithm. These algorithms are usually divided into classic methods, heuristic methods, graphics methods, and so on. 1,2
The classic approaches suffer from great time consumption in high dimensions and trapping in local minima, which make them inefficient in practice. As a typical classic method, APF guides the robot to the target point through the potential field generated by the obstacles and the target point. Although the APF can quickly compute the solution, it suffers from the problem of trap area. 3,4
To improve the efficiency of classic methods, heuristic methods have been developed. A* algorithm is a fast search algorithm that can find a feasible path in a complex map environment, but the searching time and memory usage increase as the complexity of the map environment grows. 5,6 Such searching algorithms also include D* algorithms which can dynamically reconstruct map for moving obstacles. 7 RRT and probabilistic road maps are algorithms based on sampling, ensuring probabilistic completeness. 8 This means with enough iteration times, the probability of finding path, if exists, approaches one. Based on the RRT algorithm, an algorithm called rapidly exploring random tree star (RRT*) was proposed in 2011, which can make the path converge faster. 9 –13
The Voronoi graph algorithm belongs to graphics-based path planning methods. 14,15 This algorithm finds a feasible path by generating several arcs or lines that are at the same distance from the edge of the obstacle. For tangent graph algorithm, the path is created by connecting tangents of obstacles or common tangents between obstacles. 16 –19 The obstacles can be modeled as polygon or curve and the paths are searched while boundaries are determining. These algorithms usually need on-board sensors for obstacles detection while finding suboptimal results for unknown environment. 17,18 For known maps, global optimal results can be obtained. 19 Graphics-based algorithm also includes cell decomposition (also known as multi-resolution path planning): the map is decomposed into a set of simple cells, and the adjacency relationships among the cells are computed. A collision-free path between the start and the goal configuration of the robot is found by first identifying the two cells containing the start and the goal and then connecting them with a sequence of connected cells. 20
The research work of this article is based on free space algorithm, which also belongs to graphic methods. The main idea is to decompose the map into several polygonal subregions and select a set of subregions to obtain connected regions. And then feasible paths are found in the connected region with optimization algorithms. Chatila suggested a method to break up the free area into nonoverlapping convex polygons and then the connected region would be existed. 21 Based on this, Habib and Asama use the Dijkstra algorithm (DA) to find one of the connected regions and plan a feasible path in it. 22 After that, various optimization algorithms have been used to optimize the path obtained by DA, like particle swarm optimization (PSO), simulated annealing algorithm, ant colony algorithm, genetic algorithm (GA), and so on. 16,23 –28
These above DA-based methods search feasible path just in one of the connected domains; however, the global optimal path is not necessarily right in this connected domain. There is such a situation that a local optimal path is obtained in a certain connected domain while the global optimal one is in another domain. In this article, we consider using artificial bee colony (ABC) algorithm to search all the connected domains to improve the optimality of the searching results. At first, a new map decomposing algorithm is designed and multiple connected domains formed by different convex polygons are obtained. Then ABC algorithm is used to search all the connected domains for the global optimal path. It can avoid falling into the local minimum. The main idea of the map decomposition algorithm is converting the multi-connected concave polygon (map with obstacles) into single-connected domain polygons (map without obstacle) by introducing virtual links. And then the single-connected concave polygon is decomposed based on the principle of concave polygon convex decomposition. The simulation results for simple map and complex map are both given and it turns out that the proposed method can find the global optimal path with fast speed. Furthermore, comparisons with traditional free space algorithm and RRT* are carried out to demonstrate the efficiency and rapidity of the new method. The traditional free space algorithm just finds a local feasible path while the proposed method successfully finds the global optimal one for the same map. Compared with RRT*, the proposed method can obtain shorter length path for simple maps and has remarkable advantages for complex maps in both planning time and path length. At last, we provide the suggested values of two important parameters based on sensitivity analysis with a great number of simulations.
Preliminary material of free space method
The preliminary material of this article is presented in this section.
Given the state space X, the obstacle space is represented as
Free space consists of a number of free links, and free links can be expressed as follows: A line whose two ends are either corners of two polygonal obstacles or one of them is a polygonal corner and the other is a point on a working space boundary wall. A connection among the corners of the same obstacle is also considered. Each free link is an open edge between two adjacent free convex areas. A free link should not intersect with any edge of the obstacles within the environment. The boundary of each free convex area to be constructed will have at least two links as a part of its total number of edges.
The method for finding a feasible path in the free space G is as follows:
Select a node

A feasible path in free subspace.
Several paths

A feasible path in free space.
However, the result obtained by this method is not necessarily the optimal path. For example, as shown in the case of Figure 3, the DA algorithm will get the path

A feasible path found by the traditional free space method.
From the above analysis, it can be seen that the traditional methods based on DA algorithm cannot guarantee that the global optimal path is in the selected connected domain and the optimization result can only be called local optimal path. Instead of using the DA algorithm to select connected domain and optimal algorithms to search the path, in this article a new map decomposition algorithm is designed to obtain multiple connected domains and each of them is composed of convex polygons. Then the ABC algorithm is used to search the optimal path in all the connected domains. The ABC algorithm will constantly search for new connected domain and discard the worse domains according to the searching results. It can guarantee that the result will not fall into a local minimum.
A new map decomposition method
The basic idea of the free space methods is to decompose the map into several free subspaces which are convex polygons. This article transforms the process of constructing free space into a problem of decomposing a concave polygon into several convex polygons. Firstly, we design a map decomposing algorithm for single-connected concave polygon (it stands for map without obstacle) based on the principle of concave polygon convex decomposition in the “Decomposition of single-connected concave polygon” section. Then, the algorithm for multi-connected concave polygon (it stands for map with obstacles) is proposed in the “Decomposition of multi-connected concave polygon” section. The multi-connected concave polygon can be converted into a single-connected concave polygon by excluding obstacles using virtual links. Thus, any map with obstacles can be decomposed into convex polygons.
Decomposition of single-connected concave polygon
Positive and negative determination of a polygon
The positive or negative of a polygon refers to the order of the vertices of the polygon. A polygon is positive if the vertices are arranged counterclockwise, or negative if the vertices are arranged clockwise. The determining steps are as follows: Find the convex vertices of the polygon Mi
: the extreme point of the contour must be the convex vertex of the polygon. Use convex vertices to determine whether the polygon is positive or negative: the two points adjacent to the convex vertex Mi
are
If
If
Because three consecutive vertices of a polygon are not collinear, that

Positive and negative determination of a polygon.
The concave vertex of polygon
For a vertex Mi
of a positive polygon, the two points that are adjacent to the vertex Mi
are
If
If
Because three consecutive vertices of a polygon are not collinear, that

The visible vertex.
The visible vertex
For a given vertex Mi
of a polygon, its connection to any vertex Mj
is
For a given concave vertex Mi
, the two points that are adjacent to the vertex are
Decomposition steps
Determine whether the polygon is positive or negative. If the polygon is positive, go to the next step. Otherwise, reverse the order of the vertices of the polygon.
Search for concave vertices starting from the first vertex. If there is no concave vertex, the polygon is a convex polygon. Otherwise go to the next step.
Select one of the concave vertices and search for the visible points of the concave vertex.
If there are concave vertices in the visible vertices, select the optimal visible vertices in the concave vertices. If there are no concave vertices in the visible vertices, the optimal visible vertex is selected among all visible vertices.
Connect the concave vertices and the optimal visible vertices. Decompose a polygon into multiple sub-polygons until all sub-polygons are convex polygons.
Decomposition of multi-connected concave polygon
Basic ideas and principles
According to the “Decomposition of single-connected concave polygon” section, any concave polygon without obstacle can be decomposed into several convex polygons. Here we consider a multi-connected concave polygon (map with obstacles). The main idea of this section is to convert a multi-connected concave polygon into a single-connected concave polygon. The most critical part is the introducing of virtual links which can exclude the obstacles from the original map and the left part of the map will be a single-connected concave polygon. Then the single-connected concave polygon can be decomposed into several convex polygons through the algorithm described in the “Decomposition of single-connected concave polygon” section.
As Figure 6 shows, there is an obstacle

A map with single obstacle.

Local amplification of the link

A map with multi-obstacle.
Converting steps
Given a set of map boundary vertices Mp
, the set of obstacle polygons is
Connect a pair of vertices with the shortest distance. Insert the obstacle vertices sequence into the map boundary vertices sequence to form a new map boundary
If the set
ABC algorithm
In the ABC algorithm, the colony of artificial bees contains three groups of bees: employed bees, onlooker bees, and scout bees. The scout bees are responsible for searching a new food source (global search). The employed bees can send the nectar information of the food sources to onlooker bees. The onlooker bees can evaluate the nectar information taken from all employed bees and choose a food source with a probability related to its nectar amount. Moreover, the employed bees and the onlooker bees can find a new food source in the neighborhood of the present one (neighborhood search). The employed bee whose food source has been abandoned becomes a scout.
Based on the above behavior of the bees, each cycle of the search consists of three steps for the ABC algorithm:
At the initialization stage, each half of the colony consists of the employed bees and the onlooker bees, respectively. A set of food source positions are randomly selected by the employed bees and their nectar amounts are determined. Each employed bee finds a new food source in the neighborhood of the present one and selects the better one.
At the second stage, the employed bees send the nectar information of the food sources to onlooker bees. Each onlooker bee chooses food source according to the nectar information (quality of the food source). As the nectar amount of a food source increases, the probability with which that food source is chosen by an onlooker increases, too.
At the third stage, after arriving at the selected area, each of the onlooker bees finds a new food source in the neighborhood of the present one and selects the better one. If a food source is not improved by a predetermined number of trials, then it will be abandoned by its employed bee or the employed bee is converted to a scout.
Each position of food source
An artificial onlooker bee chooses a food source depending on the probability value associated with that food source, pi , which is calculated by the following expression
where
In the ABC algorithm, while the exploration process carried out by artificial scouts is good for global optimization, the exploitation process managed by artificial onlookers and employed bees is very efficient for local optimization.
Karaboga and Basturk 29 compared the performance of the ABC with GA, PSO, and PS-EA by testing them on five high-dimensional numerical benchmark functions that have multimodality. They pointed out that the ABC algorithm has the ability to get out of a local minimum and can be efficiently used for multivariable, multimodal function optimization. Generally speaking, global searching methods such as ant colony algorithms and GAs can be used here. There are no restrictions on the use of global optimal algorithm for the proposed method. In this article, we give preference to ABC for its advantages in multimodal problems.
Path planning method
The path planning method proposed in this article mainly includes two parts:
Constructing a free space map.
Using the constructed free space and ABC algorithm to find the shortest path. The main structure is shown in algorithm 1.
Body.
Algorithm 2 is a sub-function of algorithm 1. It is the process of constructing a free space by decomposing the map into free subspaces of several convex polygons. The meanings of the variables are given as follows:
ConstructFreeSpace.
The function in algorithm 2 is introduced as follows: ConstructPolygon: Construct a map with obstacles to a single-connected domain polygon. The method and steps are shown in the “Decomposition of multi-connected concave polygon” section. Judge: Determine whether the polygon is a concave polygon or a convex polygon, and save it in the corresponding set. PolygonDecomposition: Decompose a polygon into two polygons. The method and steps are shown in the “Decomposition of single-connected concave polygon” section.
GeneratePath.
InitialPath (search the initial feasible path): Perform a global search to find a set of free links. Take the path nodes in the free links, and create an initial path by connecting them with the start point and the end point. The steps are as follows, and the illustration is shown in Figure 9: The illustration of how the initial path obtained.
Decompose the free area
Determine the starting point and the target point to which the convex polygon
Find all the free links that belong to
Find another convex polygon
Find another convex polygon
Take a point on each free link in the set E, and connect them with the start and end points to generate the initial path.
Cost: Calculate the cost
SearchTimes: Determine the times of each neighborhood search based on
NeighbourhoodPath: This function is used to search for feasible paths in the neighborhood of the present one. In this method, the neighborhood search is defined as moving a certain path node on its own free link. The methods and steps are as follows:
Randomly select a free link ep
in set E. The path node on the free link is Random selection of free link ep
.
Randomly adjust the position of the path node

The neighborhood search of the path.
Results and discussion
Simulation of the proposed method
Usually obstacles in a map can be taken as simple polygons. A map with polygon obstacles, as shown in Figure 12, is taken for example to explain the method of this article. After convex decomposition, it can be seen that the map has been decomposed into several convex polygons and multiple connected domains can be obtained by composing different convex polygons. Figures 13 and 14 show two examples of the connected domain. There are many other connected domains in the map, which are not enumerated out one by one here. It means there will be different feasible paths in different connected domains. The simulation result of the proposed method is shown in Figure 12, the path is the shortest one. Figures 13 and 14 will be used to demonstrate the virtue of the proposed method in the next section while comparing with traditional free space methods.

A map with simple multi-obstacle.

Connected domain A.

Connected domain B.
Besides the ordinary polygon obstacle cases, there are also some complex maps for path searching. From the simulation results of Qureshi and Ayaz, 13 we can find that it is very difficult to get a feasible path in this kind of map as Figure 15 using classic methods or heuristic methods. This kind of map is usually a labyrinth or the target point surrounded by a continuous obstacle. It is easy to fall into local minimum and always takes a very long time to get a path. The proposed method has advantages in finding the shortest path easily and quickly. Take the map of Figure 15 for example, the searching time is about 1 s using the proposed method while about more than 10 s for the methods by Qureshi and Ayaz. 13

A map with complex obstacle.
To prove the efficiency and the applicability of the proposed method, we consider the more complicated situation by adding both of the above obstacles to the map at the same time. The results are shown in Figure 16. It can be seen that it is the shortest path from the start point to the end point. And the searching time is also about 1 s.

A map with combination obstacles.
Parameter sensitivity analysis
There are several important parameters of the ABC algorithm such as the maximum global search times
To conduct the analysis, we will adjust one parameter at a time while the others are fixed. First, it is found that in the case of the above map in Figure 16, the path quality is high when the number of employed bees N is 3–5, and the planning process takes a short time. So the number of employed bees N is set to 3. Then, the maximum global search times

Average path length for different
Also, we can get the average time consumption as shown in Figure 18. It can be seen that the average planning time increases while the maximum global search times

Average time consumption for different
The impacts of the maximum global search times

Standard deviation of path length.

Standard deviation of time consumption.
From the statistical results in Figures 19 and 20, it can be seen that when the maximum neighborhood search times
Based on the above results, the influence of employed bees number N on the length of path and time consumption is analyzed under the following conditions: (1)
As shown in Figures 21 and 22, when the number of employed bees N changes from 1 to 2, the average path length drops sharply. However, when the number of employed bees N gradually increases, the average path length does not change significantly. With the increase of the number of employed bees N, the average planning time gradually increases, but the increasing rate gradually decreases, and the planning time tends to converge.

Average path length for different parameters.

Average time consumption for different parameters.
From the above simulation results of this section, it can be seen that the proposed method can get a high-quality path in a short time by choosing appropriate parameters. The simulation time is usually within 1 s.
Comparison with the other free space method
DA was widely used in the free space methods to find the connected domain from the starting point to the end point. 16,22 –28 . In DA-based methods, usually the midpoints of two free links are connected and the length of the connected line is set as the weight to choose the better connected domain. Then, the shortest path from the starting point to the end point will be searched in the chosen connected domain by using optimization algorithms. Local minimum path can be found in the connected domain, but the global shortest path may not be in the selected connected domain.
Here we still take the map of Figure 12 for example. The shadow parts in Figures 23 and 25 present two different connected domains, and the length of the line from the start point to the end point is the weight of the connected domain. The connected domain in Figure 23 is better than the one in Figure 25 for it has less weight. Thus the domain in Figure 23 will be selected and the DA-based method searches the shortest path in it. The line in Figure 24 is the local shortest path found by DA-based method.

The weight of connected domain A.

The shortest path in connected domain of Figure 23.

The weight of connected domain B.
However, the global shortest path in this map is actually in the connected domain of Figure 25. The path shown in Figure 26 is the global shortest one which is obtained by the method proposed in this article. It is shorter than the one in Figure 24. The using of the bee colony algorithm can help searching multiple connected domains and avoid falling into the local solution.

The shortest path in connected domain of Figure 25.
Comparison with RRT* algorithm
For the map of Figure 12, the performances of RRT* and the proposed method are compared based on a great number of simulations. One thousand simulations have been conducted for different values of global maximum search times

The result of RRT* algorithm for simple-obstacle map. RRT*: rapidly exploring random tree star.
Comparison with RRT* for simple-obstacle map.
RRT*: rapidly exploring random tree star.
Then we take a complex map for example to show the advantages of the proposed method. In this map, obstacles are no longer independent simple convex polygons, but are irregular obstacles which increase difficulties for path planning. The two methods are simulated under different groups of parameters. Each group is simulated for 1000 times and the average planning time and average path length are shown in Table 2. The proposed method can get better paths while the planning time is much shorter than RRT*. Figures 28 and 29 show the results obtained by the proposed method and RRT*.
Comparison with RRT* for complex-obstacle map.
RRT*: rapidly exploring random tree star.

The result of the proposed method for complex-obstacle map.

The result of RRT* algorithm for complex-obstacle map. RRT*: rapidly exploring random tree star.
However, for the maps shown in Figures 15 and 16, which are even more complex than Figures 12 and 28 as there is labyrinth obstacle in it, the proposed method has more advantages than RRT*. Here also 1000 simulations have been conducted for each different parameter to find shortest path in Figure 16. RRT* algorithm cannot find a feasible path in a very long time (about 1 min), but the proposed method can still find the shortest path in a short time (about 1 s). The results are shown in Table 3.
The results of the proposed method for combination-obstacle map.
Application
The proposed method can be applied on the situation of urban environment and field environment, for both mobile robot and UAV. It is especially efficient for planar mobile robot in the urban environment since the maps are easier to simplify. An example is given to show the application in urban environment.
Figure 30 is a satellite map. We need to find a shortest path from A to B. The buildings in the map are taken as obstacles. First these obstacles are simplified as polygons by defining their boundaries (black lines as shown in Figure 31). Then the problem is turned to search path from A to B avoiding these obstacles. The red line shown in Figure 31 is the result obtained by the proposed method.

The satellite map.

The result of proposed method for satellite map.
To further illustrate the application scenario of this method, the following satellite map of the sea surface is taken. The method is applied for ship route planning between A and B. First the coastline has been redrawn in straight lines and the boundary is determined (the black thick lines in the figure). Then the islands are taken as obstacles presented by black thin lines. The original satellite map now becomes a polygon map. The shortest route from A to B can be obtained by the proposed method (as the red line shown in Figure 32).

The result of proposed method for another satellite map.
Based on the above two examples, it can be seen that the proposed method can be applied in many different scenarios. It has short time consumption even for complex maps such as narrow or labyrinth terrain. Unlike Shiller, 17 Savkin and Hoy, 18 and Liu and Arimoto, 19 to apply the method, the obstacles in the map and the map boundaries should be treated as polygons first. The polygonization of map may cause small loss of accuracy for some irregular maps, but it is still acceptable. For most cases, the proposed method can find the optimal path with high accuracy and short time consumption.
As the development of robot technique, path planning technology in future will be widely applied in robot field such as multi-robot collaboration, complex environment, multi-dimensional environment, and so on. Also the characteristics of robot should be taken into account for more application scenario such as bionic robot, space robot, and other under-actuated robotics. 30 The robot ability of path tracking should be considered when planning a feasible path. Furthermore, real-time planning should be considered for unknown environment such as in the study of Shiller 17 and Savkin and Hoy, 18 and the proposed method needs to be improved based on the information obtained by detection sensors.
Conclusions
This article presents a new path planning method based on concave polygon convex decomposition and ABC algorithm. Several simulation and comparison with other methods are carried out. The results show that the proposed method has high computational efficiency in providing the optimal path due to its high efficiency in segmenting the map and the multi-domain searching. Compared with the traditional free space methods and RRT*, it is more able to find the global optimal path with efficiency and rapidity, especially for complex maps. Also, numerical sensitivity analysis on critical parameters is done. It is found that the maximum neighborhood search times,
NeighbourhoodSearch.
Footnotes
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) received no financial support for the research, authorship, and/or publication of this article.
