# Path Planning Based on Artificial Potential Field with an Enhanced Virtual Hill Algorithm
## 4 Simulations  
Some conditions for simulation are referred to in [32]. The virtual hill algorithm has several parameters for controlling the robot, such as the constant coefficients of the extra force, the application distance of the reactive force, and the like. Depending on the setting, the degree to which the robot approaches or moves away from obstacles, the straightness of the driving, and similar parameters may vary. Some maps provided by MATLAB are applied in sizes of 10 [m] \(\times\) 10 [m]. The total artificial force is converted into linear velocity and angular velocity by the force-to-velocity conversion method [32]. The path length is indicated in each figure description. Figures 12 and 13 show the results of the enhanced virtual hill algorithm. In the previous algorithm, when the robot is trapped in an LM (local minimum), the direction of progress is determined by the relative positions of \(\mathbf{P}(\mathbf{t}_{0})\), \(\mathbf{P}_{to}\), and the goal. According to this algorithm, as shown in Figure 12a, the robot moves along the obstacle BCDE. On the other hand, when the enhanced virtual hill algorithm including \(new\ \mathbf{e}_{b}\) is applied, the robot moves along the obstacle BA, as shown in Figure 12b. When the robot reaches the goal by following the obstacle BA, the efficiency of the driving path may be improved. In the case of Figure 13, according to the direction determination by the previous virtual hill algorithm, that is, \(previous\ \mathbf{e}_{b}\), the robot goes around in the \((+)\) direction, as shown in Figure 13a. The robot moves along the obstacle ABCDEFGH until it escapes the LM. Since the path determined by \(new\ \mathbf{e}_{b}\) goes to the goal along obstacle OA, unnecessary driving may be avoided. In Figure 13, the driving distance varies considerably depending on the direction determination at the LM. Figures 14-19 show the simulations of the driving path by \(new\ \mathbf{e}_{b}\) and the dead-end algorithm. If the robot recognizes that it is at a dead end while driving in the LM section, it returns to the robot's position \(\mathbf{P}(\mathbf{t}_{0})\). At \(\mathbf{P}(\mathbf{t}_{0})\), the robot moves in the opposite direction and follows a closer obstacle to its goal. In the case of Figure 14a, at the point of \(\mathbf{t}_{0}\), it travels in the \((-)\) direction and travels along the obstacle ABCDEFGH for a long distance. Figure 14b travels along the \((+)\) direction according to \(new\ \mathbf{e}_{b}\) and travels the shortest distance along  
Figure 12: Driving paths: (**a**) Determined by \(previous\ \mathbf{e}_{b}\). The path length is 16.51 [m]. (**b**) Determined by \(new\ \mathbf{e}_{b}\). The path length is 11 [m]. the obstacle BA. Figure 14c shows the result of applying the dead-end algorithm during driving, as shown in Figure 14a. After recognizing the obstacle BCDE as a blocked road, the robot returns to \(\textbf{P}(\textbf{t}_{0})\) and moves in the direction of obstacle BA. In Figure 17c, as the robot rotates in the \((+)\) direction, the recognition of the blocked road, arrival at \(\textbf{P}(\textbf{t}_{0})\), and setting of the opposite direction occur almost simultaneously, drawing a path similar to that in Figure 17b without any special driving. Figure 14: Driving paths: (**a**) Determined by _previous_\(\textbf{e}_{b}\). The path length is 36.66 [m]. (**b**) Determined by _new_\(\textbf{e}_{b}\). The path length is 12.87 [m]. (**c**) Determined by _previous_\(\textbf{e}_{b}\) and the dead-end algorithm. The path length is 21.7 [m]. Figure 13: Driving paths: (**a**) Determined by _previous_\(\textbf{e}_{b}\). The path length is 41.08 [m]. (**b**) Determined by _new_\(\textbf{e}_{b}\). The path length is 12.91 [m]. Figure 16: Driving paths: (**a**) Determined by _previous_\(\mathbf{e}_{b}\). The path length is 25.6 [m]. (**b**) Determined by _new_\(\mathbf{e}_{b}\). The path length is 17.33 [m]. (**c**) Determined by _previous_\(\mathbf{e}_{b}\) and the dead-end algorithm. The path length is 19.02 [m].