Phototropism rapidly exploring random tree: An efficient rapidly exploring random tree approach based on the phototropism of plants

Inspired by the phototropism of plants, a novel variant of the rapidly exploring random tree algorithm as called phototropism rapidly exploring random tree is proposed. The phototropism rapidly exploring random tree algorithm expands less tree nodes during the exploration period and has shorter path length than the original rapidly exploring random tree algorithm. In the algorithm, a virtual light source is set up at the goal point, and a light beam propagation method is adopted on the map to generate a map of light intensity distribution. The phototropism rapidly exploring random tree expands its node toward the space where the light intensity is higher, while the original rapidly exploring random tree expands its node based on the uniform sampling strategy. The performance of the phototropism rapidly exploring random tree is tested in three scenarios which include the simulation environment and the real-world environment. The experimental results show that the proposed phototropism rapidly exploring random tree algorithm has a higher sampling efficiency than the original rapidly exploring random tree, and the path length is close to the optimal solution of the rapidly exploring random tree* algorithm without considering the non-holonomic constraint.


Introduction
Path planning is a fundamental research topic in the field of robotics. The purpose of path planning is to find a collisionfree path for the mobile robot from the current configuration to the desired configuration with the least possible cost, including shortest path length, minimum moving time, minimum energy consumption, and so on. In the past decades, numerous approaches for path planning have been proposed, including graph-based methods, 1-3 artificial potential field (APF) method, 4 reinforcement learning (RL), 5,6 sample-based methods, [7][8][9] and so on.
The common graph-based methods include A*, Dijkstra, D*, and so on. These methods can find a high-quality path depend on the resolution of the discrete map. The higher the map resolution is, the stronger the ability of searching path is, but the efficiency of searching will be reduced and the resulting path is not smooth enough to be tracked by the robot.
The APF was first proposed by Khatib. 10 The principle of APF method is to construct an APF in the working environment of mobile robots. The goal point will generate attractive potential field and the obstacle will generate repulsive potential field. This method is simple in calculation and has good real-time performance. However, there are significant problems that inherent to APF method, such as trap solution due to local minima, oscillations in narrow passages, and so on.
RL is a machine learning framework for sequential decision-making problems. 11 In the RL framework, the robot can learn an optimal behavior policy through trialand-error by interacting with the working environment. Zuo et al. 11 propose an improved A* algorithm which uses the least squares policy iteration to learn a near-optimal local planning policy that can generate smooth trajectories under kinematic constraints of the robot. Plaza et al. 12 combine the RL strategies with cell-mapping techniques to solve the optimal-control problem for the car-like robot.
Prior sample-based methods, like probabilistic roadmaps and rapidly exploring random tree (RRT), 13 work well in the field of path planning due to their efficiency and simplicity. Owing to its great performance, RRT has been one of the most popular sample-based path planning algorithms, which can be used in high dimensional spaces under the non-holonomic constraint such as car-like robot. In recent years, many variants of RRT algorithm have been proposed. Some variants aim to improve the sampling efficiency of the explore tree, but the optimization performance is poor. 14,15 Some other variants try to improve the quality of the path by optimization methods, but they often need a lot of computation cost. 16,17 In this article, a novel variant of the RRT algorithm called phototropism rapidly exploring random tree (P-RRT) algorithm is proposed, which is inspired by the phototropism of plants. The P-RRT algorithm sets up a virtual light source at the goal point, then the light source lights up the map according to the principle of the light beam propagation. The farther away from the light source, the weaker the intensity of light. Then the P-RRT extends its branch toward the space where the intensity of light is strong like a real plant. This extension can reduce the total nodes of the explore tree and accelerate the speed of the explore. In addition, P-RRT usually results a shorter path than the original RRT.

Related work
The complexity of path planning problem is usually determined by the computing model of the search space. Initially, the search space is modeled by the explicit representation such as cell decomposition, configuration space, potential field, and so on to solve the planning problems. The cell decomposition 18 method divides the working space into regular grid with specific shape and size, so it is easy to realize. However, the efficiency and effectiveness of the planning algorithm in the grid map depend on the resolution used in the discretization degree of the working space.
The configuration space method divides the working space into free C-space and obstacle C-space. Then it analyzes the geometric topological relationship of free C-space and establishes the connected graph through methods such as visibility graph method and Voronoi graph method. Visibility graph method 19 connects the start point and goal point with the vertexes of polygonal obstacle and ensures that these lines do not intersect with the obstacle. Voronoi graph method 1 divides the working space into several subspace where all edges of the graph are constructed by using equidistant points from the adjacent two points on the obstacle's boundaries. These methods are simple and effective, but when there are many obstacles in the search space, they will produce excessive computation cost. 16 The methods mentioned above are all depend on the explicit representation of the working space which may result in an excessive computational cost in high dimensions. In order to overcome the problem, the samplingbased algorithms are proposed. The RRT algorithm, which is proposed by Lavalle in 1998, is designed for efficiently searching nonconvex high-dimensional spaces. It explores the configuration space by selecting random point and moving toward that points from the nearest node of the tree. The RRT algorithm is probabilistically complete, that is, it can be guaranteed to find a solution, if one exists, given a sufficient amount of time. 20 However, in many applications, the RRT algorithm must be terminated under certain conditions in advance, such as a specific run time or a maximum number of the samples. Many variants of RRT algorithm have been proposed to improve the exploring efficiency of the tree.
One strategy can improve the explore efficiency is that using the goal point instead of the sample point with a certain probability (5-10% is common). This modification can make the tree grow toward the goal point quickly. In Bi-RRT algorithm, 14 two trees are set up which grow from start point and goal point, respectively; a solution is found if the two RRTs meet. Another extension is given by RRTconnect, 15 which is a greedy algorithm. When a sample point is determined, RRT-connect applies the extend procedure toward the sample point repeatedly until the sample point or an obstacle is reached. This greedy strategy performs well when the robot traverses the relatively open and obstacle-free area. However, the planned paths of the original RRT and most of its variants with improved efficiency exploration are far from optimal.
Although RRT algorithm is probabilistically complete, there is no guarantee that an optimal solution will be found due to its random sampling strategy. The RRT* 16 algorithm is proposed to improve the optimality of the RRT. In RRT* algorithm, the planner continues to "rewire" the tree's edge in one iteration as it discovers a new low-cost connection between the node inserted newly and the node that already in the tree. It is proved theoretically that RRT* is asymptotically optimal, that is, with the increase of planning time, the planning path tends to be optimal. However, RRT* consumes a lot of memory and converges slowly. To overcome these shortcomings, Nasir et al. 17 proposed RRT*-smart algorithm which optimizes the initial path of RRT* and intelligently samples around the nodes belong to the optimized path. IB-RRT* 21 combines Bi-RRT and RRT*, then uses Euclidean distance as heuristic information to reconnect the edge of the trees and connect two trees in a spherical area which is centered on the sample node. In RRT*-SV 22 algorithm, Sukharev grids and convex vertices of the security hulls of obstacles are used to accelerate the planning of the shortest path possible in a minor planning time.

Background
In this section, the definitions utilized in the path planning problem and explanation of the main procedures used in original RRT and RRT* algorithm is introduced.

Path planning problem and related terminologies
Let X be a bounded connected open subset of R d , where d 2 N, d ! 2. Let X obs and X goal , called obstacle region and the goal region, respectively, be open subsets of X. 21 Let X f ree ¼ X \X obs defines the obstacle-free space. Let x init 2 X f ree be the initial state. Given a set X, a path in X is a continuous function s : ½0; s ! X , where s is the length of the path. The path planning problem is to find a path s : ½0; s ! X f ree such that sð0Þ ¼ x init and sðsÞ 2 X goal .

RRT and RRT* algorithms
The RRT and RRT* algorithms are described in Algorithms 1 and 2, respectively. The basic procedures of RRT and RRT* rely on are described as follows: Sample: The Sample function randomly samples a state x rand 2 X f ree . N earestðx; V Þ: Given a state x 2 X and tree T ¼ ðV ; EÞ, the N earest function returns the nearest node of state x from T :V using an Euclidean distance. Steerðx; x 0 Þ: Given two states x; x 0 2 X , the Steer function steers from x to x 0 along a local path s : ½0; s and returns a state x new 2 X such that sð0Þ ¼ x and sðs 0 Þ ¼ x new . CollisionCheckðx; x 0 Þ: Given two states x; x 0 2 X , the Boolean CollisionCheck function returns true if the path s : ½0; s ! X f ree such that sð0Þ ¼ x and sðs 0 Þ ¼ x 0 . If the CollisionCheck function returns true, the new vertex and edge will be added to the tree. N otReachStop: returns true if the stop criteria for iterating or the goal point are not reached.
Comparing Algorithms 1 and 2, the essential behavior of RRT* is identical to the RRT's except the process of extending an existing node in the tree toward a new node (lines 9-13 in Algorithm 2). There are some newly added procedures in RRT* algorithm which are described as follows: KN earestðx; T :V Þ: Given a state x 2 X , the KN earest function returns k vertices in T :V that are near x. CostðxÞ: The Cost function returns the total cost value that connects x with x init going through the whole tree T. Cðx; x 0 Þ: The C function returns the cost value of the path that connects x with x 0 . RewireðT ; x min ; X near ; x new Þ: The x new is the node newly added to the tree through its parent node Algorithm 1. RRT algorithm. Algorithm 2. RRT* algorithm.
that yields the lowest cost value. The Rewire function check each node x near 2 X knear in the vicinity of x new to see whether reaching x near via x new would obtain lower cost value than through its current parent node. RRT* algorithm utilizes the Rewire function to optimize the connection of the whole tree in each iteration.

Proposed P-RRT approach
Inspired by the phototropism of plants, we propose a P-RRT approach. With the help of the virtual light source, the tree can efficiently extend toward the space where the light intensity is high. In the following, the mechanism of virtual light source and the proposed P-RRT algorithm are introduced in detail.

Virtual light source and light beam propagation
Hawa 23 proposes a light-assisted A* algorithm (LA*) to improve the search efficiency of A* algorithm. The LA* algorithm utilizes a light source, which is set up at the goal point, to light up the map. Because of the characteristics of light propagation along a line, some regions, which is obscured by the obstacles, are dark. When the A* algorithm searches the goal in the lighted map, the dark regions are avoided that can speed up the solution to be found. The original RRT algorithm extends its tree in a stochastic manner, and it explores the workspace bias toward places not yet visited. This makes the original RRT algorithm inefficient in searching goal point. In nature, the growth of plants is phototropic which means that the sunshine attracts the growth of tree's branches and leaves. Adopting the lighted map described as above to RRT algorithm, the RRT can extends its branches like a real plant due to use of the light intensity as a priori information.
The beam from the virtual light source spreads out just as the beam from a flash light does. The direction of the beam is toward the start node and the angle of the beam is less than or equal to 180 . In the following discussion, and without loss of generality, this article will assume that the start node is located to the bottom of the map and the goal node is located to the top of the map.
As shown in Figure 1(a), the beam starts from the goal node and each node lighted up by the beam has a brightness value. The goal node is assigned the brightness value of BRIGHT, which is equal to 0 . When the light beam propagates from one node to its subsequent affected nodes, the brightness value is increased by the distance between them. In the lighted map, the higher is the brightness value, the farther away from the light source. As shown in Figure 2, the lighted map is displayed in grayscale. The light areas have the small brightness value, while the dark areas have the large brightness value. In the following, the lighted map is noted by LMap for convenience.
The number of subsequent affected nodes is given by q. Figure 1(a) shows the case of q ¼ q min ¼ 3, and the subsequent affected nodes of the goal node are the three nodes a, b and c. The brightness value of each of these three nodes is equal to BRIGHT þ DIST, and they become new light sources, thus affecting the subsequent three nodes of theirs. The value of DIST is the distance from the light source to its subsequent node. This procedure continues until the light beam reaches all the places it can reach. When a node is affected by multiple nodes, its brightness value is set to be the minimum value which means that the light beam travels at the shortest distance.
The value of q determines the angle width of the light beam. The minimum value of q is 3, which corresponds to 90 pattern as shown in Figure 1(a). The maximum value of q is the width (or height) of map, which corresponds to 180 pattern. A generalized angle light beam pattern is shown in Figure 1(b). If a node blocked by obstacle whose width is greater than q and the light beam may not reach this node, then the brightness value of the node is assigned to be DARK. The exact value of DARK depends on the size of the map and the distance that the light beam travels.
The light beam propagation algorithm is described in Algorithm 5. Firstly, all the nodes' brightness value in the LMap are set to be DARK except the goal node's brightness value which is set to be BRIGHT. Then the node's brightness value is updated when the light beam propagates to the node. For example, q is 3 in Figure 1(a), and the brightness value of node f can be calculated as The brightness value of node f is equal to the brightness value of its predecessor node plus the distance which the light beam propagated. LMapðn f Þ is firstly set to be LMapðn b Þ þ STEP (line 11 in Algorithm 5), then LMapðn f Þ will be updated if there is a smaller value exist (lines 17 and 24 in Algorithm 5). Note that, nodes a, b, and c have the same distance, which is equal to STEP Â 1, to node f as shown in Algorithm 5. This method of calculating distance is slightly different from Manhattan distance.
In the proposed P-RRT algorithm, Euclidean distance is adopted to calculate the propagation distance. Hence, the distance from nodes a and c to node f becomes STEP Â ffiffiffi 2 p . In order to see the difference more clearly, the approximate counter map of brightness value is generated as shown in Figure 2(b). It is more reasonable to use Euclidean distance than the calculation method in LA* due to that the tree will grow toward the goal node more easily.

Phototropism RRT
The P-RRT algorithm pseudocode is shown in Algorithm 6. There are some differences from the RRT algorithm. Initially, the P-RRT algorithm generates the light beam propagation map (line 1). Then the tree grows toward the light source, which is the goal node, on the light beam propagation map. The SampleðÞ and N earestðÞ functions are just as the same as in RRT algorithm (lines 5 and 6). The ReSampleðÞ function is called to resample n random nodes around the node x nearest (line 8). As shown in Figure 3, a semicircle brightness detection area, which is facing to the node x rand , is generated with node x nearest as the center. In Figure 3, there are six nodes resampled in the brightness detection area and the node x 2 with the minimum brightness value is chosen as node x 0 rand . Then the SteerðÞ function is called and returns a node x new (line 8). If the edge connecting x nearest and x new does not collide with any obstacle (line 9), the node x new and its corresponding edge ðx nearest ; x new Þ is added into the tree T (lines 10 and 11).
At last, the AdjustSampleSpaceðÞ function is called to reduce the sample space in order to improve the sampling efficiency. The random node is sampled in the whole workspace at the first iteration process. Then the sample space  will be adjusted in subsequent iteration process. As shown in Figure 4(a), node x r2 is an effective sampling node while node x r1 is not, and node x new is added into the tree T as described in Algorithm 6. If the brightness value of node x new is the minimum in the tree T, the sample space will be adjusted as shown in Figure 4(b). This will enable the SampleðÞ function to sample from the space which is better for the tree to grow toward the goal node. Note that, the P-RRT algorithm can still find a solution when the sample space is reduced. It is because that node x new is still under the light when the sample space is adjusted, thus there is a path, along which light beam propagates, exist between node x new and the goal node. In addition, if there is no node under the light at the first iteration process, the P-RRT will work as the same as the RRT algorithm until any node reach the light. Although in the P-RRT algorithm, the tree grows toward the light source and the P-RRT's path length is shorter than the RRT's, there are redundant nodes on the P-RRT's path due to the inherent randomness of the algorithm. When the P-RRT algorithm finds a path between the start node and the goal node, an optimization process, which is based on the concept of line of sight (LOS), is adopted to optimize the path. As shown in Figure 5, the P-RRT's path is A À B À C À D À E. The optimization process firstly tries to connect nodes A and E directly, which are the two end points of the path. Because of the path A À E is blocked by the obstacle, then the optimization process tries to connect nodes A and D while keeping the path D À E. The path A À D is collision free, thus the final path is A À D À E. The optimization process can also be seen as building a visibility graph. In order to distinguish with the result of P-RRT algorithm described above, P-RRT algorithm added the optimization process is called OP-RRT algorithm.

Experiments
To test the proposed algorithm performance, RRT, RRT*, P-RRT, and OP-RRT are realized and tested in the same experimental environment which is developed by Matlab and runs on PC with 2.3 GHz CPU and 16 GB RAM. Two experiment scenarios are designed as follows.

Comparisons on scenario 1
In scenario 1, the map size is 406 Â 710 (see Figure 6) and some obstacles are placed with random orientations across the map. The start node is located at the bottom of the map and the goal node is located at the top of the map. The angle q is 23 which is proved that can provide the minimum possible overhead while maintaining zero probability of blocking light. 23 The performance of RRT, RRT*, P-RRT, and OP-RRT is compared by averaging the results of the 100 generated instances. Two groups of experiments are carried out. In the first group, all algorithms do not consider the non-holonomic constraints of mobile robot. In the second group, the non-holonomic of mobile robot is considered and realized by RRT and P-RRT which are noted by RRTu and P-RRTu, respectively. In all experiments, the velocity of the robot is 10 m/s.   In the first group, the final planning paths of each algorithm in one experiment are shown in Figure 6. In RRT algorithm, the goal node is chosen as the sample node with probability of 0.05 which is a common skill for speeding up RRT algorithm to find the path. The final path of the RRT* is the result of 30,000 iterations (see Figure 6(b)). Although it takes a lot of computing resources to optimize the solution, RRT* only finds a suboptimal solution approaching to the optimal solution.
As shown in Figure 6(c) and (d), the map is lit up by the virtual light source which is set at the same place as the goal node on the top of the map. The dark regions in the map are the areas where the light beam cannot reach. Guiding by the light beam, the P-RRT algorithm can find the path in a shorter time than RRT algorithm while its final path is also shorter than RRT's. As shown in Figure 6(d), OP-RRT algorithm firstly works as the same as the P-RRT algorithm and then optimizes the path based on the concept of LOS as described above. The path length of OP-RRT is quite close to the path length of RRT* and the OP-RRT algorithm takes quite smaller computation cost than RRT* algorithm. Due to the inherent randomness and additional optimization process, OP-RRT algorithm takes a little bit more computation cost than P-RRT algorithm.
The statistical results of each algorithm are shown in Table 1. The node number of RRT* is the largest one due to that RRT* algorithm takes a lot of time to optimize the connection of the tree. It needs more memory to maintain such a big tree structure. The node number of RRT algorithm is the second one. P-RRT algorithm and OP-RRT algorithm use the same grow strategy proposed in this article, thus they have the similar minimum node number.
In Table 1, the computation cost of the RRT* is also the largest one due to it takes more time to extend a node as the total nodes of tree become large. In scenario 1, it takes nearly 400 s on average to execute 30,000 iterations. RRT algorithm expands a lots of nodes which are not good for the tree grows toward the goal due to there are "trap" areas in scenario 1. This led to RRT algorithm that takes 445.7 ms on average to find the solution. In contrast to that, the proposed algorithm utilizes the LMap to optimize the sample process so that the tree will extends its branches to the areas where the brightness value decreases and avoids the "trap" areas at the same time. Therefore, the computation cost of the proposed algorithm is lower than RRT algorithm. Note that, the computation cost of generating the LMap is shown in Table 2, and the statistical results are based on running LMap function 100 times. The maximum and average time are 19.1 and 15.1 ms, respectively, which compared with the computation cost of main process  RRT: rapidly exploring random tree; P-RRT: phototropism rapidly exploring random tree. is relatively small. Thus, the main computation cost of P-RRT and OP-RRT is still the growth of the tree. The average path length of RRT* is the shortest in all comparison algorithms and the result still has room for optimization as long as it continues to iteration. In contrast to that, the average path length of RRT is the longest in all comparison algorithms. Compared with RRT algorithm, P-RRT algorithm can shorten the average path length by 20.8% due to the LMap can guide the growth direction of the tree. By using the optimization process of LOS, OP-RRT algorithm can further shorten the average path length by 9.1%.
In the second group, the final planning paths of each algorithm in one experiment are shown in Figure 7. The statistical results of 100 times experiments are shown in Table 3. When considering the non-holonomic constrain, the random sample node is hard to be a valid expand node. Accordingly, RRTu and P-RRTu both take more computation memory and time to find the solution. Hence, the runtime of this group of experiments is measured in seconds and it is the same in scenario 2. To further test the performance, the maximum number of tree nodes is set to be 10,000. If the number of nodes reaches the maximum number, the algorithm stops immediately and is treated as failure to find the solution in this experiment. As shown in Table 3, the success rate of RRTu and P-RRTu is 88% and 98%, respectively. P-RRTu algorithm has a higher success rate due to the LMap improves the effective of the sample node. At the same time, the other indexes of P-RRTu are also better than RRTu.

Comparisons on scenario 2
In scenario 2, the map size is 160 Â 320 (see Figure 8) and n square-shaped obstacles are placed at random locations throughout the map. The start node is located at the bottom right corner of the map and the goal node is located at the top left corner of the map. In this scenario, several maps are randomly generated according to the gradual increase of obstacles. The performance of RRT, RRT*, P-RRT, and OP-RRT is compared by averaging the results of the 100 generated instances in each map. Two groups of experiments are carried out as same as in scenario 1.
As shown in Figure 8, this is the case of 500 obstacles randomly placed in the map. The statistical results of 100 times experiments are shown in Table 4. RRT* algorithm has the shortest average path length while it has the most average nodes and computation cost. P-RRT and OP-RRT have the similar minimum nodes due to the same reason as described above. The computation cost of P-RRT is the minimum. There are no "trap" areas in scenario 2, thus the sampling efficiency of RRT algorithm is increased. But it still takes more computation memory and cost than P-RRT and OP-RRT on average. The path length of OP-RRT is shorter than P-RRT, but the computation cost is higher than P-RRT. Note that, the maximum time of OP-RRT is relatively high. In scenario 2, the LOS process sometimes takes long time to optimize the path due to there are a lots of random obstacles which have high probability of blocking the LOS. Hence, it increases the processing time.
The computation cost of generating the LMap is shown in Table 5, and the statistical results are based on running LMap function 100 times. The results still relatively small compared to the main processing flow.
In the second group, the final planning paths of each algorithm in one experiment are shown in Figure 9. The statistical results of 100 times experiments are shown in Table 6. In terms of each index, the performance of P-RRTu is better than RRTu. Note that, the success rate of RRTu is very low which will be analyzed below.
The performance profile in the case of different number of obstacles in scenario 2 without non-holonomic constrain  is shown in Figure 10. All results are the average of 100 generated instances. Note that, the results of RRT* algorithm are not drawn on the graph due to the computation cost is much larger than other algorithms. As shown in Figure 10(a), the node number of RRT algorithm increases with the number of obstacles. The node number of P-RRP and OP-RRT have barely increased because of the LMap can guide the tree grow effectively. When the number of obstacles is less than 400, the CPU runtime of the three     algorithms is almost similar. As obstacles continue to increase, CPU runtime of the three algorithms begin to increase. RRT algorithm is the most obvious one. OP-RRT algorithm also has a small increase because of that the computation cost of LOS process increases. When there are many obstacles in the map, the efficiency of LOS process will be greatly reduced. Although the final path length of the three algorithms all grow slightly, the results of OP-RRT algorithm are always the shortest. From this set of experimental data, it can be seen that OP-RRT algorithm trades time for a shorter path than P-RRT algorithm, but with the increase of obstacles, the cost will become less cost-effective. The performance profile in the case of different number of obstacles in scenario 2 with non-holonomic constrain are shown in Figure 11. As shown in Figure 11 P-RRTu algorithm is smaller than that of RRTu algorithm. The path length of P-RRTu algorithm increases very small with the increase of obstacle. The increase of obstacle makes the path length of RRTu become longer and reduces the effectiveness of sampling nodes. Therefore, the success rate of RRTu algorithm is relatively low. When the number of obstacles exceeds 500, the success rate of RRTu drops sharply. In contrast, when the number of obstacles exceeds 700, the success rate of P-RRTu algorithm is reduced to less than 50%.

Results of different distance functions
As described in the above section, the propagation distance calculated by different distance functions will influence the path along which light propagate. This will also influence the growth of the P-RRT. As shown in Figure 12, P-RRT grows toward the light source more easily when using the Euclidean distance. The statistical results of 100 times experiments are shown in Table 7. The results show that P-RRT with the Euclidean distance has better performance than with LA* distance.

Conclusions
In this article, an improved RRT algorithm which is inspired by the phototropism of plants is proposed. A virtual light source is set at the goal node to light up the whole map. The lighted map, which is called LMap, is treated as the heuristic information. In the LMap, the lower is the brightness value, the higher is the actual light intensity value. Therefore, the explore tree extends its branches toward the areas with high light intensity value like a real plants. The sampling efficiency is improved by designing the resample function and adjusting the sample space. The results of experiments show that the P-RRT algorithm can effectively reduce the cost of computing memory and time. The path length of P-RRT is also shorter than the RRT algorithm.
The optimization process, which is based on the concept of LOS, is used to further shorten the path length. Although the computation time is increased, the path length obtained by OP-RRT algorithm is very close to the approximate optimal solution of RRT* algorithm which is obtained by consuming a lot of computing resources. The results of experiments show that the optimization effect is better when the number of obstacles is relatively small. The results of experiments also show that the time of optimization process is increased significantly with the further increase of obstacles. When considering the nonholonomic constraint of the mobile robot, the proposed algorithm can still improve the sampling efficiency and guide the growth of the explore tree to ensure a high success rate to find the solution.