4.1.2. Visibility Graph Update Simulation Experiment

Different values of *η*, ranging from 5 to 25, are set in representative indoor and outdoor environments in order to select an appropriate value. The robot in the simulation experiment travels throughout the entire environment to count all of the vertices in the v-graph and logs the average update speed. As the Table 1 shows, it can be seen that the number of vertices in the v-graph and the update speed of the v-graph are positively correlated with the value of *η*, but *η* is not as small as possible.


**Table 1.** Relevances among *η*, total vertices besides the speed of v-graph update.

Theoretically, a smaller *η* value should lead to fewer vertices in the v-graph. However, a value of *η* that is too small will have some drawbacks. The function of collision detection may be affected when some minor obstacles are ignored, as shown in Figure 17a, and this phenomenon also occurs in forest environments. When *η* is equal to 5, there are two small trees missing from the v-graph in Figure 17b. When *η* is greater than or equal to 15 and less than or equal to 20, with the increase of *η*, the outline of the obstacle is well guaranteed, and the update speed of the v-graph is also relatively fast. When *η* is greater than 25, the number of vertices in the v-graph gradually increases toward the direction of none *η*. After several rounds of testing, a preliminary conclusion can be drawn that when the value of *η* is between 15 and 20, the algorithm is most suitable for generating obstacle vertices.

(**a**)Indoor environment

(**b**) Forest environment

**Figure 17.** Different *η* in the indoor and forest environment.

In the v-graph update simulation experiment, seven different environments are used to compare our v-graph update method with FAR Planner's, and the parameter of *η* is set to 20. In different environments, a series of target points are established for the mobile robot to travel. These points are fixed, and both methods let the mobile robot pass through them in sequence. For example, in the indoor environment, the robot will pass through the six target points 1, 2, 3, 4, 5, and 6 in sequence. During the driving process of the robot, the update speed of the v-graph will be recorded, and similarly, all the vertices in the v-graph will be recorded. The experimental results are shown in Figure 18.

**Figure 18.** (**a**) shows that the robot runs in different environments and passes through a series of target points. (**b**) shows the geometric outline of obstacles and the connection of edges, red points are valid vertices, and cyan lines represent effective edges. The last one in (**b**) is the optimized global map. (**c**) shows the update speed of our method and the original method in different environments. (**d**) shows the number of vertices in the v-graph after running the same trajectory.

In each environment in Figure 18a, the robot passes through a series of target points, and the known environment information is reset after reaching each target point. Figure 18b shows the optimized nodes and edges for complex irregular objects. For complex obstacles, ours simplifies the vertex information of the obstacle. When the redundant vertices are reduced, the redundant edges will also be correspondingly reduced. As shown in Figure 18b, the cyan and blue edges and red nodes in the optimized v-graph are significantly reduced, respectively.

Figure 18c shows the average speed of the v-graph update, and Figure 18d shows the total number of vertices in the v-graph. For simple terrain and most of the obstacles with simple shapes and corners, such as the tunnel and 17DRP5sb8fy, our method obtains similar results to FAR Planner, and the improvement is only 10∼20%; for large-scale maps containing complex obstacles, such as the forest, 2azQ1b91cZZ, PX4nDJXEHrG, indoor, etc., our method significantly improves the efficiency by 40∼60% compared to FAR Planner.

It is evident from Figure 19 that for environments with complex terrain, our method greatly reduces the number of vertices for obstacles in the v-graph. In Figure 19e,f, the original method has a total of 73 vertices while our method has only 49 vertices.

**Figure 19.** From (**a**–**f**) is the comparison result of the extracted obstacle vertices.

4.1.3. Path Planning Simulation Experiment

For the path exploration in the unknown environment, we compared the slightly complex indoor environment and the tunnel environment with complex network structures, respectively. Similar to the graph update simulation experiment, a series of waypoints are

set up in each environment, allowing the robot to pass one by one. Define the robot to accumulate environmental information while exploring the unknown environment.

FAR Planner (v-graph-based), A\*, and D\* Lite (occupancy grid-based) are all added for comparison with our algorithm. Figure 20 shows the trajectory paths generated by our algorithm and other algorithms in navigation. In the case of reaching the same navigation point, our algorithm can avoid unnecessary exploration space to a greater extent than the FAR Planner and A\*, D\* Lite, so as to achieve a shorter distance and less time.

**Figure 20.** (**a**,**b**) show that the trajectory of the robot using different algorithms to navigate in indoor and tunnel simulation environments respectively and passes through a series of target points. (**c**,**d**) show the time consumption for each target point. (**e**,**f**) show the distance robot takes to travel to each target point. (**g**,**h**) show different path-searching algorithms' time consumption.

Figure 20c–f show the time and distance it takes for the robot to travel from one navigation point to another, and the robot accumulates map information during driving. Tables 2 and 3 (FAR Planner denoted as FAR) gives a summary of the overall travel time, distance, and search time used for each map robot navigation.

As can be seen from Figure 20a for the indoor environment, the search space is wasted to varying degrees when using FAR Planner, A\*, and D\* Lite to navigate from point 1 to point 2. They are more inclined to explore the place where point 3 is located and then turn back after finding that there is no passage leading to point 2. The possible reason for this is that most of their cost functions only refer to the cost of the current node itself and the cost of the Euclidean distance between the endpoint and the current node. This causes the robot to tend to drive towards the node with the lowest total cost in a single direction, even though that node may not be able to reach the goal.

For adjacent navigation points with relatively short distances, such as from navigation point 4 to navigation point 5 in an indoor environment, the time and distance consumed by all algorithms are not much different.

The A\* and D\* Lite are known for their search integrity in finding the optimal path. However, those methods are difficult to scale as the computational cost increases significantly when environments are large and complex [19]. For the tunnel environment, although the environment contains a series of complex #- and *T*-shaped structures, there are almost no dead ends, that is, the goal can be reached in any direction, so the robot hardly needs to be turned back during the running process. For traditional A\* and D\* Lite, due to the increase in scene scale, the number of grids that need to be calculated increases sharply, and the cost of algorithm operation increases significantly in large-scale scenes. However, for us, the use of bidirectional BFS allows us to avoid some bifurcations and travel a shorter distance to the destination point.


**Table 2.** The overall time spent by the robot using different algorithms in [s] in Indoor environment.

**Table 3.** The overall time spent by the robot using different algorithms in [s] in Tunnel environment.


As shown in Figure 20a,b, our planner is able to search for shorter paths and generate effective trajectories. Table 2 shows that in the indoor case, our method reduces travel time by 23% compared to A\*, 28% compared to D\* Lite, and 21% compared to FAR Planner's original algorithm. In terms of increased time, FAR Planner has the most time wasted due to ineffective exploration, while A\* and D\* Lite are time-consuming when the robot is constantly swinging back and forth in a certain position, but what all three have in common is wasted search space between some navigation points. Table 3 shows that in the tunnel case, our method produces the shortest distance, which is 8% shorter than A\*, 32% shorter than D\* Lite, and 25% shorter than FAR Planner.

Tables 2 and 3 show that our planning algorithm can run faster because of the use of a hole-structured mesh to update the graph and vertex optimization for complex obstacles. Compared to FAR Planner, our search algorithm update rate is 43% faster.
