A Performance Review of Collision ‐ Free Path Planning Algorithms

: Path planning for mobile agents is one of the areas that has drawn the attention of researchers’, as evidenced in the large number of papers related to the collision ‐ free path planning (CFPP) algorithm. The purpose of this paper is to review the findings of those CFPP papers and the methodologies used to generate possible solutions for CFPP for mobile agents. This survey shows that the previous CFPP papers can be divided based on four characteristics. The performance of each method primarily used to solve CFPP in previous research is evaluated and compared. Several methods are implemented and tested in same computing environment to compare the performance of generating solution in specified spatial environment with different obstacles or size. The strengths and weakness of each methodology for CFPP are shown through this survey. Ideally, this paper will provide reference for new future research.


Introduction
The usage of mobile agents (MAs) including unmanned aerial vehicles (UAVs), autonomous robots and automated guided vehicles (AGVs), in areas, such as container terminals, delivery to customers or manufacturing processes only continues to increase [1]. The design problem of Collision-free path planning (CFPP) is to determine a collision-free path of MAs within the target space of a specific environment [2]. Research also refers to this design problem as motion planning or piano mover's problem [3]. The researchers have studied CFPP problem while using several kinematic constraints, including point robots or using robots with specific degree of freedom (DOF) [4][5][6]. Autonomous robots are also required to decide their motion using the logic. Researches have conducted extensive research in response to the increasing importance of MAs.
In this paper, we have arranged the survey papers of the CFPP based problem according to the paper's original research purpose. Schwartz & Sharir [7] focused on classical geometry, topology, algebraic geometry, algebra, and combinatorics. Additionally, they briefly discuss the characteristic and complexity of geometric algorithms that are relevant to the CFPP problem. Hwang & Ahuja [8] researched the different methodologies, obstacles, and algorithms, and discussed the characteristics of the problem known as the gross motion plan. Sariff & Buniyamin [9] reviewed the algorithms for solving CFPP problem in different environments. The study further briefly presented the advantages and disadvantages of the algorithms. Masehian and Sedighizadeh [10] conducted a 35 years period chronological survey regarding the classic and meta-heuristic algorithms for the CFPP problem. Goerzen et al. [11] found that UAVs have significant differing issues than that of other robots, because it operates in a three-dimensional (3D) environment. Roberge et al. [12] reviewed the performance of algorithms, parallel genetic algorithm, and particle swarm optimization pertaining to the non-deterministic CFPP problem. In addition, the researchers examined the dynamic In order to deliver information efficiently, this paper uses shorthand notation. The notation is organized in Table 1.

Environment Type
Environment types in CFPP problem are divided specifically, as follows: obstacle type (O.T.) and point type (P.T.). Each type has specific characteristics and detail descriptions of the characteristics are proposed as follows.
Firstly, the obstacle type is classified as static or dynamic [6,20]. Figure 2a describes static obstacle type and Figure 2b is an example of dynamic obstacle type. The static obstacle environment, which is also called the stationary obstacle environment, is a basic form of the CFPP problem. In this case, the obstacles do not change their shape or position. The CFPP problem in a static environment is the most basic model of the CFPP. This is one of the reasons why many papers use a static environment assumption [13]. The dynamic obstacle environment, which is also called the moving obstacle, can change the obstacle's shape time dependently. This case considers the velocity and acceleration of MAs. Second, point type is classified as certain or uncertain [21]. As there is inherent uncertainty in the MA's sensing, point type should be assumed as certain or uncertain. Certain point type is assumed when the MAs position and goal point is an exact location. The assumption is often used in testing novel approaches while using simulation, because uncertain problem makes it difficult to solve the problem. Uncertain point type is set when the MA's point and goal point is not known exactly. MAs use several sensors to recognize space. The sensors may include some errors, which MAs must recognize in an uncertain space. The type makes the problem more challenging than with a certain point type. This is one of the reasons why it is difficult to solve a CFPP problem with real MAs. The problem is solved while using the stochastic technique, such as the Monte-Carlo method [22][23][24].

Environmental Representation
Environmental representations in a CFPP problem have two different types: workspace representation (W.R.) and obstacle representation (Ob.R.). Diverse studies about these have been previously researched. The details of these studies are characterized below.
First, workspace representation has two representations: the coordinate system model and the network model. The coordinate system model uses Algebra for describing the environment and the MAs' motion. This problem is called the Findspace problem, which is one aspect of spatial planning [25]. The Findspace problem has three different workspaces; the polygonal workspace; the polyhedral workspace; and, the semi-Algebraic workspace [21]. In addition, convexity and non-convexity are also important aspects of the Findspace problem. Simply, the greater the number of edges and vertices in a workspace representation, the greater the complexity of the problem. Therefore, a polyhedral workspace would be more difficult to solve for than a polygonal workspace [6]. Network model, which is also known as the Roadmap approach, uses links and nodes for describing the environment. In this model, researchers have modelled the routes of the MA's as links and nodes using algorithms, such as the Voronoi diagram, the Visibility Graph, the Rapidly-exploring random tree, and the Probabilistic roadmap. Additionally, the algorithms are mainly differentiated from each other mainly by style generated. These include: the sampling-based algorithm and the geometric modeling algorithm [17]. LaValle et al. [26] conducted extensive researched of the sampling-based algorithm while using the Monte Carlo sampling method.
Their conclusions suggest that the basic grid network algorithm provides better performance in certain cases than does a sampling-based algorithm. Thrun et al. [23] proposed a model wherein the Monte Carlo localization is combined with the sampling-based algorithm. Janson et al. [24] posit that the Monte Carlo Motion Planning (MCMP) is effective in solving the CFPP problem. Englot and Hover [27] suggested the sampling-based algorithm under ACO framework to solve multi-goal CFPP problems. This technique allows for a solution that can take into account multi-objects, such as computational complexity and optimality. Ichter et al. [28] studied the sampling-based algorithm in a learning-based framework where non-uniform sampling strategies are used for the CFPP problem in "huge" spaces.
The sampling-based algorithm includes two common algorithms: the Probabilistic roadmap and the Rapidly-exploring random tree. Kavraki et al. [29] solve the CFPP problem for articulated robots while using two phases: the Probabilistic roadmap and the heuristic for searching within the roadmap. The proposed method can be applied to any holonomic robot. The theoretical performance of the Probabilistic roadmap was rarely studied before Kavraki et al. [19]. The paper studies the failure probability of connecting two points. Also, the relationship among the number of nodes, failure probability, and length of paths are studied. The Probabilistic roadmap and the Rapidly-exploring random tree are also studied in practical way with various robots [30,31]. Several simulated and real experiments using specific robots are performed. Complex and large environments, such as dynamic obstacles or urban areas, are considered in the experiments. Kim et al. [32] propose the Tangent Bundle Rapidly exploring random tree (TB-RRT) in order to improve the efficiency of the algorithm in a large space. Also, related works under complex environment are studied in succession [33,34]. A centralized case, such as spot-welding station with two to six robot manipulators in automobile manufacturing field, is researched and an application is made for the case [35,36]. These papers purport that centralized planning is more efficient than decentralized planning. Additionally, the sampling-based algorithms are applied to a geometrically complex problem and a multi-robot problem [37,38]. Wilmarth et al. [39] argue that the basic Probabilistic roadmap is an ineffective method for solving the CFPP problem in a narrow space. Thus, a novel algorithm, named MAPRM, is suggested for solving specific narrow space. Saha et al. [40] concluded the small-step retraction method can be applied to the CFPP problem. Meanwhile, the CFPP problem can be expanded to the tour problem, as can the traveling-salesman problem or task-planning problem [41,42]. The algorithms are mainly divided into two divisions: path finding and tour (sequence) finding in order to solve the problem, Meanwhile, several papers have evaluated the performance of the sampling-based algorithm. The sampling configuration and probability measure are affected by the performance of the Probabilistic roadmap [43]. Further, Karaman and Frazzoli [44] studied the performance of the Probabilistic roadmaps and Rapidly-exploring random trees sampling-based algorithms. Recently, Marble and Bekris [45] discuss and introduce a method providing robust solution qualities. More details about related to sampling-based algorithm research are organized in Table 2.
Whatever path that is generated in a network model, should be smoothed before applying to MAs [17]. Smoothing affects the performance of the algorithm [46], and it has been studied by some papers [47,48]. Table 2. Classification of the papers while using the sampling-based algorithm.

Ref.
Author Secondly, Hwang and Ahuja [8] propose six basic obstacle representations that are chosen in consideration of workspace representation and an approximation of the obstacles. These six obstacle representations are: original objects, gird, cell tree, polygonal approximation, constructive solid geometry, and boundary representation. The representation styles are shown in Figure 3. These obstacle representations are chosen by workspace representation and approximation of the obstacles.

Searching Algorithms
Searching algorithms or query process in probabilistic roadmaps are chosen by workspace representation. Some searching algorithms are applied to specific representations. For example, A* and Dijkstra algorithms are only applicable under network conditions. For instance, to solve problem with network, A*, Dijkstra algorithm or heuristic-based algorithms are often used. On the other hand, optimal approaches are used for problem under a coordinate system. There is extensive research that provides searching algorithms for several conditions in reasonable time. The algorithms can be classified as classic algorithms or heuristic-based algorithms [10,13,18].

Classical Algorithm
Dijkstra Algorithm is a common used algorithm for solving the network problem [52]. This algorithm offers an optimal path in a network, when all of the network link distances are positive. The A* algorithm is also frequently used in order to solve the shortest path problem on network [53]. Some methodologies, which are a combination of a Voronoi diagram and the Dijkstra algorithm, are provided by several researches [54,55]. Additionally, the Dijkstra algorithm was studied as query process of probabilistic roadmaps [33,56]. An application was suggested for solving the CFPP problem while using the Dijkstra algorithm [57]. A* algorithm is broadly used to solve the CFPP problem under network conditions. Several research papers related to a visibility graph were applied to A* algorithm to solve CFPP problem [2,20,58]. On the other hand, some papers provide methods applied under a sampling-based environment [59,60]. Many papers suggested novel algorithms, which were developed using Dijkstra's algorithm or A* algorithm [61][62][63]. Papers about A* and Dijkstra algorithms are shown in Table 3. Table 3. Classification of the papers using the exact algorithm.

Heuristic Based Algorithm
There are many heuristic-based methods for the CFPP problem. Wavefront algorithm is one of the heuristics that adopts the idea of a potential field and it was applied with various characteristics. For instance, the Wavefront algorithm is used for solving a problem with three-dimensional normal distributions transformations [65]. Several kinds of the metaheuristic are applied to the CFPP problem that have a network or coordinate system.
Evolutionary algorithms, such as the Genetic algorithm (GA), are usually studied under network environments [66][67][68][69] that are related to CFPP. Additionally, several algorithms are developed for under coordinate system conditions [70][71][72][73]. Some novel algorithms that are based on GA are provided from related works [74][75][76][77][78]. GA is one of the most applicable algorithms to solve the CFPP problem with multi-robot [79]. Table 4 briefly shows those papers which use Wavefront or GA. Table 4. Classification of the paper using the heuristic-based algorithm (Wavefront and Genetic algorithm (GA)).

Ref.
Author Simulated Annealing (SA) is typically combined with the potential field method [80][81][82][83][84]. The other searching algorithms, such as general heuristic algorithm, population-based metaheuristic algorithm and fuzzy logic, and environmental representations, are also researched with SA [85][86][87][88][89][90]. SA based algorithms have also been applied in CFPP problems to solve vehicle congestion in smart cities. [91]. Papers that are based on SA, which are cited above, are organized in Table 5. Table 5. Classification of the paper using the heuristic-based algorithm (Simulated Annealing (SA)).

Ref.
Author Particle swarm optimization (PSO) was originally defined in a continuous environment, so much CFPP research is studied under a coordinate system [46,[92][93][94][95][96][97][98][99][100]. Chen and Li [99] use a distinguishable method for obstacle representation, which is circle approximation (Ci.A.). They assume the obstacles as being a circle. On the other hand, some research provide methods, which are PSO-based algorithms in a network condition [101][102][103][104]. Some research has focused on solving the multi-robots CFPP problem while using PSO [105,106]. In Table 6, additional information from previous research related to PSO is shown. Table 6. Classification of the paper using the heuristic-based algorithm (PSO).

Ref.
Author

Experimental Type
In experimental type, two characteristics, which are the robot type and experimental method, should be decided. Many previous works researched under different types of the robot, such as car-like robots, UAV, humanoid, and several degree of freedom (DOF) robots. Each robot has its own moving limitation. This constraint is a cause of different kinematic constraints [21]. Kinematic constraints should be considered under experimental method. When making experiments with real robot, computation, and resources for solving the problem is restricted. On the other hand, the simulation method might have some assumptions, which are different from real robot. The assumptions make a problem simplified to solve and this simple problem contributes to test novel methodologies.

Experiments Plan
In this paper, a simulation experiment for performances is considered under simple environments and a single point robot, which is able to move without kinematic constraints. The experiment is contributed to measure the performance of basic searching algorithms, as follows; Dijkstra algorithm, A* algorithm, Wavefront algorithm, Genetic algorithm, Simulated annealing, Ant colony optimization, and particle swarm optimization. Environment type is assumed as certain point type and static obstacle. The experiment uses grid network in order to make environment simple, and obstacles are represented as grid.
The object of the algorithm is to find a shortest path. Therefore, the objective function of the comparison experiment is formulated, as follows [74].
The function is representing a path length from to on network and the meaning of , is network distance from node a to node b.

Algorithms
The Dijkstra algorithm, A* algorithm and Wavefront algorithm have been the most commonly applied algorithms applied to solve the CFPP problem. However, other metaheuristic algorithms have been applied, each a modified version based on flow and heuristics. The paper reviewed each simple form of each algorithm. The flows for each metaheuristic algorithm are shown in Figure 4, Figure 5, Figure 6 and Figure 7.  In Figure 4, flow of GA is divided into two parts: initialization and generation. The initialization part is initializing the GA's population set, which is then improved in Generation part. The generation part has three methods: crossover, mutation, and random generation. Each new population set is generated through these methods and the next generations are updated based on the population set. The generation number is counted when the best solution is not updated and resets to zero when the best solution is updated. Executing a generation count completes the algorithm.  The flow of SA is shown in Figure 5. The algorithm has two different stop criteria; temperature and loop count. When a new solution in next loop fails the Boltzmann factor check, a pre-determined reduction rate reduces the temperature. When a new solution in next loop passes the Boltzmann factor check, the loop number is increased when the best solution is not updated. Again, as in Figure  4, the number is reset to zero when updating the optimal solution. ACO flow has two steps, initialization and improvement step, as shown in Figure 6. Ant colony is initialized in the initialization using the same method used with other algorithms. In the improvement step, a solution will be generated in one of two ways. The first way is a pheromone concept and the other is a reusing method in Initialization step. Each link has its own probability and ants find a path following the probability in order to make pheromone concept. The link probability is added by the following equation.

1
, the improvement step has a step count trigger for escaping the loop. The number is increased by one, when the flow pass a loop and it is set as zero, when the best solution is updated. In Figure 7, flow of PSO is introduced as two parts: initialization and improvement step. The algorithm has a similar structure to that of ACO. However, instead of concept of pheromone, PSO uses a concept of inertia rate for mimicking the movement of swarm. Previous solutions are destroyed by the inertia rates and new solutions are rebuilt using the best solution and an overlapped method for making a new solution. A number for stopping criteria is counted by passing the loop and the number is set as zero, when the best global solution is updated.
A method for making a new initial solution influences the performance of the algorithms. Thus, in Figure 4-7, the algorithms use the same method, called 'makeSol' in order to limit its effects on the algorithms. The flow of the method which includes a concept of potential field attempting to connect to the goal point is shown in Figure 8.

Envionments
In order to test the performance under several different environments, this research uses typical environments. In this paper, three different environment sizes are used for the experiments. Figure 9 shows six environments which have 10 × 10 cells. These environments are formed archetypal patterns, such as 'n' shape, rectangles and slots. Environments, which have 'n' shape obstacle, are presented in Figure 9a, b, d. Figure 9c is a simple environment with squared obstacle and Figure 9e has slot obstacles which are known as difficult problem. The obstacle in Figure 9f is a part of environment in the paper by Karaman [44]. Two environments with 20 × 20 cells are presented on Figure 10. These environments also are reconfigured from the environment which is introduced in the paper by Karaman. An environment shown in Figure 10a is reproduced from the origin figure and Figure 10b is reconstituted based on the environment. Three environments with 40 × 40 girds are presented in in Figure 11. in order to measure the different performance by network size. The environments have same shape as the environments in Figure 9a,c,f, with the only difference being that the figures are divided into smaller grids.

Metaheuristic Parameter
Metaheuristic algorithms are affected by their parameters. This is a reason why parameters must be carefully defined. The parameters used in this paper are determined by each searching algorithm and they are shown in Table 8. This research controlled two styles of parameters: population (ant and particle) number and stop criteria. The population number is set as 10 and stop criteria is set as 100. Many experimental design techniques are used, including full factorial experimental design, in order to tune the algorithm parameters. In this paper, one of the packages in R, named 'irace', is used to set the algorithm parameters [122]. The software package makes automatic sampling configurations and measures the configurations while using Friedman's test or t-test. Additionally, it is designed to redefine the distribution of the sampling and the package iterates this flow. The tuning procedure is performed for environment sets with a budget of 2000 experiments and the initial parameter ranges are defined, as follows: ∈ 0.01, 0.99 ; ∈ 0.01, 0.99 ; ∈ 0.01, 0.20 ; ∈ 1000,10000 ; ∈ 0.50,0.95 ; ∈ 0.01,1.00 ; ℎ ∈ 0.01, 0.50 ; ∈ 0.50, 0.99 ; ∈ 0.50, 0.99 ; ∈ 0.01,0.50 . Each configuration is measured total summation of all environments objective function value. Table 9 shows the result of the tuned parameter.

Computational Results
Using the tuned parameter by 'irace', this paper provides performance of the algorithms through repeatability. The experiment is run 1000 times under the same computational environment, with the following specifications: Intel Core i9-7900X central processing unit (CPU) (3.30GHz) processor; 32 GB of memory; and, Windows 10. The algorithm is developed using Java jdk11.0.1. The used environments for the experiment are three sizes are and they are shown in Figure  9-11. The results of the experiment are organized in following tables. In the table, 'processing time' means that the shortest consumed time of best OFV. The result is rounded off to three decimal places. Additionally, the notated number '0.0' on time means that measured time is less than 1 millisecond. Table 10 and 11 show the results of experiment under 10 10 grid environments. The performances of metaheuristic algorithm are distinguished clearly, depending on obstacle type, the number of obstacles, and algorithms. SA takes a shorter time to solve the problem than population-based algorithms, which are GA, ACO, and PSO, but the solution quality of SA has larger fluctuations. In Table 10, some cases of reported time variances of GA and ACO are larger than others. This shows that the proposed GA and ACO have more unsettled performance than others in some cases. The algorithms have a weakness for a problem with a huge local optimum, termed the 10_4ch problem. Additionally, the larger number of obstacles, which are 10_7n and 10_11s problems, decreases the algorithm performance. The algorithms in Table 11 are heuristic algorithms, so each algorithm provides a unique solution. The algorithms are usually dominantly faster than metaheuristic algorithms when solving this size of problem. Wavefront algorithm is easily trapped in local optimum, such as 10_4ch, 10_4n, 10_7n, and 10_1n problem. However, the processing time of Wavefront algorithm is lower than other algorithms, except for the 10_4ch case. In this case, the algorithm cannot find a reasonable solution, because of local optimum. The algorithms find a unique and the best solution for each problem, as Dijkstra algorithm and A star algorithm function as exact algorithms with the condition of these experiments.  Figure 12 and 13 show the best represented solutions while using the algorithm. Figure 12a shows the notation of the paths. Among the notations, 'others' means that all of the algorithms, except algorithms, which are shown individually in the figure. Some of them find the shortest path and the weakness of wavefront algorithm is easily found. In case of Figure 12d, f, h and Figure 13d, the solutions of wavefront algorithm are trapped by obstacles, which has 'n' shapes or small slots. The results with 20 × 20 cell environments are organized in Table 12 and 13. Average processing time of Dijkstra algorithm and A star algorithm is recognizably increased in comparison with the results of 10 × 10 grid environments. The value, which is OFV variance of 20_4o with SA, is noticeably larger than other OFV variance. On the other hand, the other, the processing time, is only marginally different. For example, wavefront algorithm has a similar level with the outcome from the smaller problem. Metaheuristic algorithms are still slower than other algorithms in this environment size and their average processing time have similar characteristics with the results of 10 × 10 grid environments.  Table 14 and 15 show the experiment results under 40 × 40 cell. On this size of network, the searching speed of metaheuristic algorithms under some environments is faster than the speed of the Dijkstra algorithm and A star algorithm. For instance, PSO is a faster method for problems named 40_1o, 40_1n in comparison with the Dijkstra and A star algorithm. The best OFV of these experiments is the same as the outcome of the exact algorithm, which means that the OFV is the global optimum. The Wavefront algorithm is the fastest algorithm among these seven algorithms, but it is not able to escape from the local optimum, such as the 40_1n case. Meanwhile, in the case of 40_11s, the average processing time of GA and ACO significantly shows the weakness of the algorithms. The number of obstacles make their processing times increase when compared to 40_1o and 40_1n. Time variance is also unstable in the case with GA and ACO. Average processing time of these two algorithms is dramatically increased. In order to recognize the time changes clearly, Figure 14 is presented. The graph is the result of following equation.

,
( As shown in the graph, Dijkstra and A star algorithms are remarkably more sensitive for network size than other algorithms, implying that network size is the weakness of the algorithms.

Conclusion
The problem of collision-free path planning has been studied in various areas resulting in many different criteria for studying the problem. These differences have given rise to several different terms with similar meanings, which, in turn, may actually hinder research for developing new methodologies for the problem of collision-free path planning. Meanwhile, many papers use varied searching algorithms, but their performances are not measured across the board under the exact same experimental conditions. The searching algorithm of research papers was selected from related works, because the algorithm is "typically used" and "good enough". For this reason, some papers provide performance reviews under the same categories, such as sampling-based algorithms. However, the papers do not show the differences between the exact algorithms and heuristic based algorithms at the same time. The algorithms each have their own advantages and disadvantages. Integrated research is required in order to measure the pros and cons. Thus, this paper has two main  Wavefront  GA  SA  ACO  PSO  GA  SA  ACO  PSO  GA  SA  ACO  PSO   1o  11s  1n  1o  11s  1n Times contributions, which are categorization considering criteria and searching algorithms performance review under grid environments. Firstly, this research has organized the problem while considering these criteria as four categories: environment type; environmental representation; searching algorithm; and experimental type. Each category has specific classes of characteristics and the difference in the characteristics make contribution of the other researches about CFPP problem. Through these categories, this research contributes to understand CFPP problem structure and recently studied topics.
Second, a performance review for seven different searching algorithms for a network environment are proposed in this study. Each algorithm has its own significant characteristics. The performance can be altered according to network size, feature of obstacles or number of obstacles. The experiments show that searching speed of Dijkstra and A star algorithm rapidly increases, depending on network size more so than metaheuristic algorithms. Performance of the metaheuristic algorithm fluctuates based on the number or shape of the obstacles. Therefore, this paper evaluated the performance of these searching algorithms.
Recently, CFPP problem is studied under dynamic, stochastic or multi tasks condition recently. However, the performance result of this paper focused on stationary obstacles, network model, and single task condition. Many other conditions, such as kinematic constraint, different environmental representation, or environment type, should be researched for measuring their effect. Also, metaheuristic algorithms are defined as simplified form, thus they may have a performance gap between the suggested algorithms and the studied algorithm recently.
We plan to redeem the limitation of this paper, as follows. Our further research will be studying performance of recent algorithms under various conditions using a car-like robot. Through this plan, various combined conditions of kinematic constraint, environmental representation, and environmental type can be expected to consider. Also, an actual robot has limited specifications, such as the limitation of sensing vague objects in real-time and computational limitations. With this further research, these limitations can be considered while using a car-like robot.
On the other hand, the extension of the algorithm can be adopted and applied to real-time environment specially in vision enabled mobile machines. The information captured by such vision would provide much more accurate information for a mobile agent to aid in avoiding collisions. Thus, future research could include the direction of path planning in a real time environment with a vision enabled system.

Conflicts of Interest:
The authors declare no conflict of interest.