01.12.2019 | Research | Ausgabe 1/2019 Open Access

# Obstacle avoidance of mobile robots using modified artificial potential field algorithm

## 1 Introduction

^{‐}and VFH

^{+}[8]. The next algorithm is the sensor fusion in certainty grids for mobile robots which is one of the well-known, powerful, and efficient algorithms for using a multi-sensor combination to identify the environment and determine the direction of movement. In this algorithm, the robot’s motion space is decomposed into non-overlapping cells and is provided with a graphical motion environment, and then based on the algorithms for searching the graph, the path of the movement is determined [9]. In the following, the Follow the Gap method (2012) was proposed [10]; in this algorithm, the robot calculates its distance with each obstacle. The robot can know the distance between obstacles by knowing its distance with each obstacle. The robot then detects the greatest distance between obstacles and calculates the center angles of the empty space. After the central angular momentum, the robot calculates the empty space, combines it with the target angle, and shows the ending angle. Obviously, in this combination, it is done on a weight basis, so that the obstacles that are closer to the robot are weighing more because their avoidance is a priority for the robot. Figure 4 shows how this method works.

## 2 Problem statement and formulation

### 2.1 Methods

_{D}indicates the target position, the control of the robot with respect to the obstacle O can be done in the artificial potential as follows:

_{A}, U

_{R}, and U

_{ALL}respectively represent attraction potential energy, repulsive potential energy, and artificial potential field. Then its gradient function can be written as follows:

_{A}is the attraction generated by the robot to reach the target position of X

_{D}and F

_{R}represents the force created by U

_{R}(X), which is caused by the repulsion of the obstacle. F

_{A}is proportional to the distance between the robot and the target. Then, the attraction k

_{S}factor is also considered, and the attraction potential U

_{A}(x) field is simply obtained as follows:

_{R}(X) is a non-negative, non-linear function that is continuous and differentiable, and its potential penetration must be limited to a particular region around the obstacle without undesired turbulence forces. Therefore, the equation U

_{rep}(X) is as follows:

_{OB}= (x

_{OB}, y

_{OB}) is the position of the obstacles, and X

_{D}= (x

_{D}, y

_{D}) is the target position. \( {R}_{\mathrm{A}}=\sqrt{{\left(X-{X}_{\mathrm{D}}\right)}^2+{\left(Y-{Y}_{\mathrm{D}}\right)}^2} \) is the shortest distance between a robot and a target in a planar space, Z is the repulsive increase factor, \( {R}_{\mathrm{R}}=\sqrt{{\left(X-{X}_{\mathrm{OB}}\right)}^2+{\left(Y-{Y}_{\mathrm{OB}}\right)}^2} \) is the shortest distance between the robot and obstacles in the planar space, and G

_{0}represents a safe distance from the obstacles [24]. According to the kinetic theory, the relation G

_{0}≥ V

_{MAX}/2A

_{MAX}is used, where V

_{MAX}denotes the maximum speed of the robot and A

_{MAX}represents the maximum speed of the acceleration (negative acceleration). So attraction and repulsion functions are written as follows:

_{f}and Y

_{f}represented the next position of the robot. Then, if the obstacles are simple particles, the artificial potential field model is used to secure the robot to the point of the target. However, there are several problems. First, the result from the sum of the two forces of attraction and repulsion in some places is zero, which results in stopping the robot moving or wandering around those points that are called local minimum. Second, when the target is surrounded by obstacles, the path cannot converge, and the robot cannot reach the target. In order to overcome these shortcomings, Section 3 addresses the modification of the artificial potential field algorithm.

## 3 Algorithm design

### 3.1 Modified artificial potential field model

_{ob}= (x

_{ob}, y

_{ob}) is the position of the obstacles, and X

_{d}= (x

_{d}, y

_{d}) is the target position. R

_{A}is the shortest distance between the robot and the target in the planar space, and R

_{A}

^{N}is the regulative factor. The attraction function is the gradient across the attraction field, which is obtained as follows:

_{R}is decomposed into F

_{R1}and F

_{R2}, where F

_{R1}is the component’s force in the direction of the line between the robot and the obstacle and F

_{R2}is the component’s force in the direction of the line between the robot and the target.

_{f}and Y

_{f}represent the next position of the robot. The regulative factor R

_{A}

^{M}is added to the modified model of this article. The function of this regulative factor is that if the robot cannot reach the target and M is in the interval (0, 1), F

_{R1}when the robot is close to the target, it tends to be infinite and the path of convergence is created only with F

_{R2}and F

_{A}. If M = 1, F

_{rep2}tends to be constant and F

_{R1}will be zero, and the path of convergence will be created only with F

_{R2}and F

_{A}. If M = 0, F

_{R1}and F

_{R2}will all tend to be zero, and the path of convergence will be created only by attraction. In the final state, generally, if M is a real positive number, the robot does not face the local minimum cases or the inaccessibility of the target.

## 4 Simulation results and analysis

_{S}= 1.1, G

_{0}= 0.11, and L = 0.1 and obstacles on a circle of the radius R = 0.18, the result is as shown in Fig. 8; the robot is trapped and stands at the local minimum. Figure 9 shows that the repulsive force is more than the attraction at all stages, which means the robot is trapped at the local minimum. If these parameters are changed to any desired extent other than these values, there will be no change to the status of the robot at the local minimum. The mesh plot of this simulation as shown in Fig. 10. It describes the obstacles like summit, target act cavity and absorb the robot inside itself.

_{S}= 1.1, G

_{0}= 0.11, and L = 0.1 and obstacles on a circle of the radius R = 0.18, the result is as shown in Fig. 11. By comparing Figs. 8 and 11, it can be seen that in the artificial potential field algorithm, the robot cannot reach the target and is trapped in a local minimum, but with the same conditions, in the modified artificial potential field algorithm, it achieves the target by avoiding obstacles.

_{S}= 1.1, G

_{0}= 5, and L = 0.1 and obstacles on a circle of the radius R = 40, the result is as shown in Fig. 14. It shows that the robot achieves the target by avoiding obstacles.

_{S}= 1.1, G

_{0}= 2.1, and L = 0.5 and obstacles on a circle of the radius R = 7, the result is as shown in Fig. 17. It shows that the robot achieves the target by avoiding obstacles.

_{S}= 1.1, G

_{0}= 0.2, and L = 0.03 and the obstacle is considered as \( Y={\left(\frac{1}{X}\right)}^2+0.5;X\in \left(0.7,3.5\right) \), the result is as shown in Fig. 20. It shows that the robot achieves the target by avoiding obstacles.

_{S}= 1.1, G

_{0}= 0.3, and L = 0.1 and the obstacle is considered as X = 4; 4 ≤ Y ≤ 7, the result is as shown in Fig. 23. It shows that the robot achieves the target by avoiding obstacles.

_{S}= 1.1, G

_{0}= 0.2, and L = 0.03 and the obstacle is considered as Y = 4; 4 ≤ X ≤ 6 and x = 4; 3 ≤ y ≤ 4, the result is as shown in Fig. 26. It shows that the robot achieves the target by avoiding obstacles.