# A Real-Time Obstacle Avoidance Method for Autonomous Vehicles Using an Obstacle-Dependent Gaussian Potential Field

Authors: Jang-Ho Cho; Dong-Sung Pae; Myo-Taeg Lim; Tae-Koo Kang
Journal: Journal of Advanced Transportation
 (2018)

---

## Abstract

A new obstacle avoidance method for autonomous vehicles calledobstacle-dependent Gaussian potential field(ODG-PF) was designed and implemented. It detects obstacles and calculates the likelihood of collision with them. In this paper, we present a novel attractive field and repulsive field calculation method and direction decision approach. Simulations and the experiments were carried out and compared with other potential field-based obstacle avoidance methods. The results show that ODG-PF performed the best in most cases.


---

## Body

## 1. Introduction

Autonomous vehicle systems need path planning, indoor and outdoor localization, obstacle avoidance, object detection, and classification of cars, humans, pets, and traffic signs, signals, etc.Path planning is one of the fundamental technologies in automotive vehicles. There are two categories in path planning, namely, global path planning and local path planning. Global path planning needs information from a geographic information system (GIS) and global localization, while local path planning needs relative position and obstacle avoidance. There are many algorithms for both global and local path planning. In global path planning, graphical methods such as the Voronoi algorithm [1–4], the cell decomposition algorithm [5–7], and fast marching algorithm [4, 8, 9] are used to develop a graph and then find the shortest path to the goal.Obstacle avoidance is one of the essential technologies in local path planning and one of the critical technologies that guarantees human and vehicle safety. For decades, many researches have been performed on this theme and many methods have been developed, a few of which have been implemented in real systems. In order to avoid collision with obstacles, a robot needs not only to detect obstacles but also to recalculate the detouring path and to steer itself toward a safe and efficient path in real time.Khatib [10] formulated the concept of artificial potential field method (PFM) for implementing an obstacle avoidance system. This method consisting of an attractive field and a repulsive field is simple and computationally light. The two different fields are calculated and summed up, after which the robot follows the direction of the calculated vector. Avoiding obstacles is achieved by the repulsive field and heading toward the goal by the attractive field. The concept of artificial potential fields can also be used as a global path planner [11].The bug algorithm was introduced by Lumelsky and Stepanov [12], in which a vehicle runs along the wall of an obstacle whenever it meets one. If the direction toward the goal is available again, the vehicle leaves the obstacle and goes toward the goal.Borenstein and Koren [13] presented a different method to avoid obstacles called the vector field histogram method (VFH), and Ulrich and Borenstein [14] improved the method by considering the robots size and choosing a safe and efficient angle (VFH+: later upgraded to VFH∗ [15]).The dynamic window approach (DWA) using the vehicle’s dynamics was proposed in [16]. This method consists of three velocity-angular velocity windows: the first window is the vehicles’ minimum to maximum velocity-angular velocity window, the second is an obstacle-free zone in the first window, and the last one is the available velocity-angular velocity window feasible from the current velocity-angular velocity pair. In the intersection of the three windows, DWA chooses a velocity-angular velocity pair maximizing the objective function.Anderson et al. [17] used model predictive control (MPC) to develop an optimal control-based path planning method that uses a relatively new control method to predict vehicle movement. The main drawback of this approach is that it is basically a nonlinear optimal control problem, and even when the problem can be linearized, finding the optimal path in real time is not easy. This is highly dependent on CPU performance.The nearness diagram (ND) method was proposed by Minguez and Montano [18], who classified real situations into five categories, each with a different decision-making procedure. Later on, this method was upgraded by several other researchers [19–21].The follow-the-gap method (FGM) was developed by Sezer and Gokasan [22], in which the angle of maximum gap is found and then the weighted average of the angle and the angle toward the goal are calculated.Park et al. [23] devised the advanced fuzzy potential field method (AFPFM) as an improved algorithm of conventional PFM by using fuzzy membership and TS fuzzy inference [24]. In this method, the attractive field of AFPFM is the same as that of the conventional PF, but the repulsive field calculation is carried out using TS fuzzy inference.Many kinds of sensors are used to detect obstacles such as sonar, laser range finder, LIDAR, stereo vision, and 3D depth sensor. In this study, we used a laser range finder and introduced a new method to avoid obstacles that we call the obstacle-dependent Gaussian potential field (ODG-PF) method, which we compared with PFM, FGM, and AFPFM.This article consists of 6 sections. Section1 is the introduction. Algorithms for comparison with ODG-PF are mentioned in Section 2. Section 3 describes ODG-PF in detail. The results of simulations are in Section 4. Corresponding outdoor experiments carried out are in Section 5. The conclusion is in Section 6.


## 2. Related Work

All of the following methods use a range sensor. The blue lines in Figure1(a) are infrared laser beams used to measure the distance. As depicted in Figure 1(b), the data from laser range finder are distances corresponding to predefined angles in the sensor.Figure 1
(a) Illustration of the laser range finder and (b) corresponding sensor data (distance versus angle).
(a) (b)These distance data are manipulated differently in different algorithms.


### 2.1. The Conventional Potential Field Method

Essentially, potential field-based methods use an artificial potential field consisting of an attractive field and a repulsive field. The attractive field attracts the vehicle toward the goal while the repulsive field repels the vehicle from obstacles. The following equations depict conventional potential field calculations:(1)ftotal=fatt+frep,(2)fatt=kattrgoal-rrgoal-r,(3)frep=-krep∑i=1n1di-1dmaxsi,ifdi<dmax0,othewisewhere si=r-oi/r-oi.Equation (1) shows the total field calculation, while the attractive field that “attracts” the vehicle toward the goal is calculated by (2), where rgoal is the position vector of the goal point and r is the position vector of the vehicle. Equation (3) is the calculation for the repulsive field that pushes the vehicle away from obstacles in which oi is the position vector of each obstacle. Figure 2 shows the attractive field and the repulsive field.Figure 2
Attractive field and repulsive field in PFM.As depicted in Figure3, the conventional potential field method has a drawback in that it becomes easily stuck at local minima [25].Figure 3
Local minima problem of conventional PFM.


### 2.2. The Follow-the-Gap Method

FGM is not based on an artificial potential field, but its guild angle decision is somewhat similar. Besides, its obstacle detecting and gap finding methods are somewhat like our ODG-PF.The main idea of FGM is to find the maximum gap in front of the vehicle and calculate the middle angle of the gap (θgap) first. From the received data, we know where the obstacles are and we should enlarge the obstacles to a degree with regard to the width of the vehicle. By enlarging the obstacles, we can easily know whether a gap is good for the vehicle to go through or not. This method also attains the angle toward the goal for which the direction decision is carried out using the weighted average of the angle of maximum gap and the angle toward the goal.In the example in Figure1, the maximum gap is in -14° ~ 18° range and the medium angle (2°) becomes θgap as depicted in Figure 4. The guide angle is chosen by calculating the weighted average of θgap and θgoal as follows:(4)θ=α/dminθgap+θgoalα/dmin+1,where dmin is the minimum distance from all of the distance data from the range sensors and α is a value that we should decide to avoid an obstacle and travel efficiently toward the goal. If it is small, the vehicle will travel more directly toward the goal but will be more likely to collide with obstacles whereas if it is large, the vehicle will travel more safely but the path toward the goal will not be so efficient. If the vehicle is near an obstacle, dmin will be small and α/dminθgap will become greater than θgoal, so the vehicle will travel more toward θgap rather than toward θgoal. If the vehicle is far away from any obstacles, dmin will become large and α/dminθgap will become relatively small, so the vehicle will travel more directly toward θgoal.Figure 4
Finding the maximum gap from sensor data.


### 2.3. The Advanced Fuzzy Potential Field Method

The repulsive force calculation in AFPFM is different from that in conventional PFM. The following equation shows the repulsive force calculation in AFPFM:(5)frep=-krep∑i=1nε+didmax∑p=1nwpdmax/ε+dp1/dp-1/dmaxsp∑p=1nwp,where dmax is the maximum range of the distance sensor, ε is the safety term considering the vehicle’s outer hull, krep is the repulsive field coefficient with basically the same meaning in that of PFM, and wp is a weight that, in TS fuzzy, is the minimum value of three membership functions udp, uϕp, and uψp. The detailed calculation processes are explained in [23].


## 2.1. The Conventional Potential Field Method

Essentially, potential field-based methods use an artificial potential field consisting of an attractive field and a repulsive field. The attractive field attracts the vehicle toward the goal while the repulsive field repels the vehicle from obstacles. The following equations depict conventional potential field calculations:(1)ftotal=fatt+frep,(2)fatt=kattrgoal-rrgoal-r,(3)frep=-krep∑i=1n1di-1dmaxsi,ifdi<dmax0,othewisewhere si=r-oi/r-oi.Equation (1) shows the total field calculation, while the attractive field that “attracts” the vehicle toward the goal is calculated by (2), where rgoal is the position vector of the goal point and r is the position vector of the vehicle. Equation (3) is the calculation for the repulsive field that pushes the vehicle away from obstacles in which oi is the position vector of each obstacle. Figure 2 shows the attractive field and the repulsive field.Figure 2
Attractive field and repulsive field in PFM.As depicted in Figure3, the conventional potential field method has a drawback in that it becomes easily stuck at local minima [25].Figure 3
Local minima problem of conventional PFM.


## 2.2. The Follow-the-Gap Method

FGM is not based on an artificial potential field, but its guild angle decision is somewhat similar. Besides, its obstacle detecting and gap finding methods are somewhat like our ODG-PF.The main idea of FGM is to find the maximum gap in front of the vehicle and calculate the middle angle of the gap (θgap) first. From the received data, we know where the obstacles are and we should enlarge the obstacles to a degree with regard to the width of the vehicle. By enlarging the obstacles, we can easily know whether a gap is good for the vehicle to go through or not. This method also attains the angle toward the goal for which the direction decision is carried out using the weighted average of the angle of maximum gap and the angle toward the goal.In the example in Figure1, the maximum gap is in -14° ~ 18° range and the medium angle (2°) becomes θgap as depicted in Figure 4. The guide angle is chosen by calculating the weighted average of θgap and θgoal as follows:(4)θ=α/dminθgap+θgoalα/dmin+1,where dmin is the minimum distance from all of the distance data from the range sensors and α is a value that we should decide to avoid an obstacle and travel efficiently toward the goal. If it is small, the vehicle will travel more directly toward the goal but will be more likely to collide with obstacles whereas if it is large, the vehicle will travel more safely but the path toward the goal will not be so efficient. If the vehicle is near an obstacle, dmin will be small and α/dminθgap will become greater than θgoal, so the vehicle will travel more toward θgap rather than toward θgoal. If the vehicle is far away from any obstacles, dmin will become large and α/dminθgap will become relatively small, so the vehicle will travel more directly toward θgoal.Figure 4
Finding the maximum gap from sensor data.


## 2.3. The Advanced Fuzzy Potential Field Method

The repulsive force calculation in AFPFM is different from that in conventional PFM. The following equation shows the repulsive force calculation in AFPFM:(5)frep=-krep∑i=1nε+didmax∑p=1nwpdmax/ε+dp1/dp-1/dmaxsp∑p=1nwp,where dmax is the maximum range of the distance sensor, ε is the safety term considering the vehicle’s outer hull, krep is the repulsive field coefficient with basically the same meaning in that of PFM, and wp is a weight that, in TS fuzzy, is the minimum value of three membership functions udp, uϕp, and uψp. The detailed calculation processes are explained in [23].


## 3. The Obstacle-Dependent Gaussian Potential Field

Here, we introduce ODG-PF. The main idea behind this method is that, after receiving distance data from the range sensor(s) (as shown in Figure1(b)), we consider only the objects that are within the threshold range (2 m, for example), enlarge the obstacles with regard to the vehicle’s width, and construct a Gaussian (repulsive) potential field from them. Next, we calculate the attractive field from the yaw angle information from an inertial measurement unit (IMU). The total field is made of these two fields, and, from it, we choose the angle with the minimum total field value. Figure 5 is the flowchart of the whole process.Figure 5
Flowchart of ODG-PF.If some data are spatially continuous within the threshold, they are recognized as an obstacle. Ellipses in Figure6 show that there are two obstacles. Subsequently, we calculate the average distance to each obstacle (dk) and the angle occupied by it. In Figure 6, the average distances to obstacles 1 and 2 are 1.99 and 1.36 m and the corresponding angles (ϕk) occupied by the obstacles are 1.5 and 51.5°, respectively.Figure 6
Sensor data and threshold distance.In real systems, we should consider the vehicle’s width, and, in many algorithms, the vehicle’s width or size is added to the obstacle’s size and the vehicle’s size is shrunk to zero. Figure7 shows the obstacle enlarging process.Figure 7
Enlarging the angle occupied by obstacles.If we consider the vehicle’s width, we need to recalculate angleΦk as(6)Φk=2σk=2·atan2⁡dktan⁡ϕk2+wrobot2,dk,where dk is the average distance to thekth obstacle.As described in (6), Φk is obtained from each obstacle’s average distance and the occupied angle of obstacle. The bright bars added to the left and right sides of the dark bar in Figure 7 are the enlargement of the obstacle after considering the vehicle’s width. If more safety is needed, we can add more margin to the vehicle’s width.Gaussian likelihood functions (repulsive fields) of the obstacles are calculated as(7)fkθi=Akexp⁡-θk-θi22σk2where θk is the center angle of each obstacle. This is a function of θi. The subscript i means that the ith data segment of the sensor data (i = 1…361) and it is the sequence number of each angle. Each Gaussian likelihood function becomes a component of the repulsive field. The coefficient Ak should be set in order that the Gaussian likelihood of each obstacle fully embraces the angle occupied by each obstacle. Subsequently, (8)d~k=Akexp⁡-θk-θk±σk22σk2=Akexp⁡-12.Thus, (9)Ak=d~kexp⁡12,where d~k=dmax-dk. dmax is the maximum detection range of the range sensor and σk is half of the angle occupied by thekth obstacle.In Figure8(a), the angles occupied by and the Gaussian likelihoods of the obstacles are shown. This explains that the Gaussian likelihood of each obstacle fully embraces the occupied angle at d~k.Figure 8
(a) Gaussian likelihood of each obstacle and (b) illustration with vehicle and obstacles.
(a) (b)We obtain the repulsive field by summing up all of the Gaussian likelihood functions of obstacles into one function as(10)frepθi=∑k=1nAkexp⁡-θk-θi22σk2.This is also a function of angle θi. The attractive field is calculated as (11)fattθi=γθgoal-θi.The total field is calculated by adding these two fields. Since these two fields are functions of θi, the total field is also a function of θi:(12)ftotalθi=frepθi+fattθi.In (11), γ is the value that we should choose (it is like katt in PFM and AFPFM). If γ is too small, the vehicle will avoid obstacles but the path will be inefficient whereas if it is too large, the vehicle will be more likely to collide with obstacles. The γ value was chosen as 5.0 by executing several simulations. We used this predetermined value in all the simulations and experiments. The calculation example of the fields is shown in Figure 9. Finally, the angle minimizing the total field is chosen as the heading angle. The small circle in Figure 9 points out this angle.Figure 9
ODG-PF potential fields.This method has some features that are not like in classical potential field-based methods, i.e., used by Ge and Cui [26]. First, instead of putting the range sensor data into equation, ODG-PF defines obstacles (occupied angle, average distance, etc.) from range sensor data and then calculates the repulsive fields of the obstacles. Second, the repulsive field and the attractive field of ODG-PF are functions of angle; that is to say, they are not vectors. In the classical potential field, the direction is decided by the direction of the total vector of the repulsive field and the attractive field. Thus, ODG-PF is very robust that even if there are small changes in the environment, the trajectory is not so much affected by them. Mathematically, the main difference between PFM and ODG-PF is that the attractive field and the repulsive field (as well as the total field) are angle functions while all of the fields in PFM are vector values. The direction decision is made by finding the angle with the minimum value of the total field rather than by calculating the arctangent of a vector.


## 4. Simulations

### 4.1. Settings

Positions of obstacles in the simulations and the vehicle were as in Figure10. The settings were the same as that of the real experiments. The obstacles were set in a zigzag formation and the vehicle was in front of them. To minimize the effect of the wall, the positions of obstacles and the vehicles were not near the walls on either side.Figure 10
Mobile robot and obstacle settings.We compared our novel ODG-PF method to conventional PFM, FGM, and AFPFM. PFM and AFPFM use artificial potential field and it was useful to compare them with the ODG potential field. FGM uses gaps between obstacles and the obstacle dependency of ODG-PF is comparable. All of the algorithms used in this study decide on the direction angle from the received range sensor data. From the sensor data in Figure1(b), we were able to know where the maximum gap in FGM was and to calculate the repulsive fields of PFM, AFPFM, and ODG-PF.Each method had some parameters that needed to be defined. For PFM and AFPFM, we fixed the repulsive field coefficient (krep) at 0.16 and carried out simulations with them while varying the attractive field coefficient (katt) for simplicity.For FGM, we needed to choose an appropriateα in (4), and so we set it to 0.5 m, which meant that angles toward the goal and the maximum gap had the same weights when the minimum distance from the obstacles and the vehicle was 0.5 m.Actually, we should choose the maximum sensor distance for PFM and AFPFM. Our range sensor can detect object as far as 10m, but if we changed thedmax value in PFM and AFPFM, we would have had to change all of the fuzzy inference rules in AFPFM. For a fair comparison, we left it unchanged.We needed to define two things for ODG-PF. One is the threshold distance which we set to 2.0 m in order to be easily adaptable to any low-speed, low-resolution sensors. Another parameter we needed to decide on wasγ, which is like katt in PFM and AFPFM but, as described in (7), is used to apply a penalty proportional to the deviation from the angle toward the goal. We set γ to 5.0, which was obtained by both simulations and experiments. ODG-PF is not very sensitive to γ, and, experimentally, it can be set to 4.0~6.0.θ g o a l, the angle toward the goal in all the algorithms in this study, was fixed. That is to say, there was no goal position but the fixed angle and the purpose of the obstacle avoidance algorithms in this study was to do their best to keep the fixed θgoal without colliding with anything.Thus, we needed to change the vector of the attractive field described in (2) to (13)fatt=kattcos⁡θgoal-θcurrentsin⁡θgoal-θcurrent.


### 4.2. Simulation Results under a Static Environment

We carried out simulations with the algorithms using the same settings shown in Figure10, the results of which are shown in Figure 11. Figure 11(a) exhibits the results of the PFM simulations. As predicted, katt played a key role in the trade-off between safety and efficiency, and PFM did not perform efficiently in any of the cases. As already compared in [23], PFM was very sensitive to the repulsive field and the trajectories were easily affected even when the vehicle was relatively far away from the obstacles. A large katt value made it less sensitive.Figure 11
Simulation results under static environment: (a) PFM, (b) FGM, (c) AFPFM, and (d) ODG-PF.
(a) (b) (c) (d)FGM performed better than PFM in that it tried to find the safest angle, as shown in Figure11(b) and tended to follow the maximum gap if the vehicle came close to the obstacles, as described in (4). Anyway, FGM will be in danger of a collision if an obstacle is between the angle of the maximum gap (θgap) and the angle toward the goal θgoal. AFPFM was better than PFM in all cases, but when katt was large, there were collisions, as shown in Figure 11(c). The value of katt should be much larger (by 10 times, for simplicity) than PFM. The reason for this is that there is a coefficient in calculating repulsive field and there are also weights of TS Fuzzy in AFPFM which are a maximum of 15 times larger than those in PFM when an obstacle is placed close to the front of the vehicle.The simulation of ODG-PF performed the best in all cases. We performed the same experiments several times and there were no collisions. It always avoided the obstacles successfully, and its heading angle finally returned toθgoal, as shown in Figure 11(d).PFM did not attain good results and the final deviation from the initial y position was the largest. When we setkatt to a large value, the deviation became smaller but, as shown in Figure 11(a), the risk of collision also became larger.The results for FGM were not too bad. When we setα to a smaller value, this caused collisions, and larger values caused bigger deviations.The results of AFPFM show that it is dependent onkatt as PFM is, but they also show that this algorithm could be improved. In Figure 11(c), we can imagine that there would be an optimal katt (or membership function) value that efficiently avoids obstacles without much deviation in simulation, but the optimal katt value would vary on a case-by-case basis.


### 4.3. Simulation Results under a Dynamic Environment

Another merit of ODG-PF is that it can successfully avoid obstacles without any adjustment even when they are moving. Any obstacle avoidance method cannot avoid all moving obstacles because of the vehicle’s physical limitations such as velocity, angular velocity, radius of rotation, sensor measurement range, etc. The success of avoiding moving obstacles depends heavily on the relative velocity between the moving obstacle and the vehicle, but it also depends on the obstacle avoidance algorithm.We designed three moving obstacle scenarios. In Scenarios 1 and 2, we used the first two static obstacles used in the previous experiments and a moving obstacle, but the trajectory of the moving obstacle in Scenario 1 was different from that of Scenario 2.Figure12 shows the scenarios and simulations of moving obstacle avoidance in Scenarios 1 and 2. As shown in Figure 12(a), the vehicle using ODG-PF successfully avoided the moving obstacle. The colors of the vehicle and the moving obstacle became darker as they became closer and after they met (the point at which they were closest), their color returned to white. By using different colors, the reader can easily distinguish the movements of the vehicle and the moving obstacle with regard to time steps.Figure 12
Simulation results under dynamic environments: (a) Scenario 1. (b) Scenario 2.
(a) (b)In Scenario 2, the moving obstacle approached from the left side of the vehicle with the same velocity as the vehicle (after the vehicle had gone past the second static obstacle). The vehicle using ODG-PF moved as if it was going along with the obstacle.To compare the algorithms more strictly, we devised another experimental scenario. Figure13(a) shows the static obstacles and the direction of the vehicle and the moving obstacle.Figure 13
Dynamic environment Scenario 3: (a) scenario and (b) simulation results.
(a) (b)The simulation results of this moving obstacle scenario show that vehicles with PFM, AFPFM, and ODG-PF were able to avoid both the static obstacles and the moving obstacle. However, when we saw the details of the simulation results for PFM and AFPFM, their movements were somewhat unstable that the vehicle moved in a zigzag fashion.


## 4.1. Settings

Positions of obstacles in the simulations and the vehicle were as in Figure10. The settings were the same as that of the real experiments. The obstacles were set in a zigzag formation and the vehicle was in front of them. To minimize the effect of the wall, the positions of obstacles and the vehicles were not near the walls on either side.Figure 10
Mobile robot and obstacle settings.We compared our novel ODG-PF method to conventional PFM, FGM, and AFPFM. PFM and AFPFM use artificial potential field and it was useful to compare them with the ODG potential field. FGM uses gaps between obstacles and the obstacle dependency of ODG-PF is comparable. All of the algorithms used in this study decide on the direction angle from the received range sensor data. From the sensor data in Figure1(b), we were able to know where the maximum gap in FGM was and to calculate the repulsive fields of PFM, AFPFM, and ODG-PF.Each method had some parameters that needed to be defined. For PFM and AFPFM, we fixed the repulsive field coefficient (krep) at 0.16 and carried out simulations with them while varying the attractive field coefficient (katt) for simplicity.For FGM, we needed to choose an appropriateα in (4), and so we set it to 0.5 m, which meant that angles toward the goal and the maximum gap had the same weights when the minimum distance from the obstacles and the vehicle was 0.5 m.Actually, we should choose the maximum sensor distance for PFM and AFPFM. Our range sensor can detect object as far as 10m, but if we changed thedmax value in PFM and AFPFM, we would have had to change all of the fuzzy inference rules in AFPFM. For a fair comparison, we left it unchanged.We needed to define two things for ODG-PF. One is the threshold distance which we set to 2.0 m in order to be easily adaptable to any low-speed, low-resolution sensors. Another parameter we needed to decide on wasγ, which is like katt in PFM and AFPFM but, as described in (7), is used to apply a penalty proportional to the deviation from the angle toward the goal. We set γ to 5.0, which was obtained by both simulations and experiments. ODG-PF is not very sensitive to γ, and, experimentally, it can be set to 4.0~6.0.θ g o a l, the angle toward the goal in all the algorithms in this study, was fixed. That is to say, there was no goal position but the fixed angle and the purpose of the obstacle avoidance algorithms in this study was to do their best to keep the fixed θgoal without colliding with anything.Thus, we needed to change the vector of the attractive field described in (2) to (13)fatt=kattcos⁡θgoal-θcurrentsin⁡θgoal-θcurrent.


## 4.2. Simulation Results under a Static Environment

We carried out simulations with the algorithms using the same settings shown in Figure10, the results of which are shown in Figure 11. Figure 11(a) exhibits the results of the PFM simulations. As predicted, katt played a key role in the trade-off between safety and efficiency, and PFM did not perform efficiently in any of the cases. As already compared in [23], PFM was very sensitive to the repulsive field and the trajectories were easily affected even when the vehicle was relatively far away from the obstacles. A large katt value made it less sensitive.Figure 11
Simulation results under static environment: (a) PFM, (b) FGM, (c) AFPFM, and (d) ODG-PF.
(a) (b) (c) (d)FGM performed better than PFM in that it tried to find the safest angle, as shown in Figure11(b) and tended to follow the maximum gap if the vehicle came close to the obstacles, as described in (4). Anyway, FGM will be in danger of a collision if an obstacle is between the angle of the maximum gap (θgap) and the angle toward the goal θgoal. AFPFM was better than PFM in all cases, but when katt was large, there were collisions, as shown in Figure 11(c). The value of katt should be much larger (by 10 times, for simplicity) than PFM. The reason for this is that there is a coefficient in calculating repulsive field and there are also weights of TS Fuzzy in AFPFM which are a maximum of 15 times larger than those in PFM when an obstacle is placed close to the front of the vehicle.The simulation of ODG-PF performed the best in all cases. We performed the same experiments several times and there were no collisions. It always avoided the obstacles successfully, and its heading angle finally returned toθgoal, as shown in Figure 11(d).PFM did not attain good results and the final deviation from the initial y position was the largest. When we setkatt to a large value, the deviation became smaller but, as shown in Figure 11(a), the risk of collision also became larger.The results for FGM were not too bad. When we setα to a smaller value, this caused collisions, and larger values caused bigger deviations.The results of AFPFM show that it is dependent onkatt as PFM is, but they also show that this algorithm could be improved. In Figure 11(c), we can imagine that there would be an optimal katt (or membership function) value that efficiently avoids obstacles without much deviation in simulation, but the optimal katt value would vary on a case-by-case basis.


## 4.3. Simulation Results under a Dynamic Environment

Another merit of ODG-PF is that it can successfully avoid obstacles without any adjustment even when they are moving. Any obstacle avoidance method cannot avoid all moving obstacles because of the vehicle’s physical limitations such as velocity, angular velocity, radius of rotation, sensor measurement range, etc. The success of avoiding moving obstacles depends heavily on the relative velocity between the moving obstacle and the vehicle, but it also depends on the obstacle avoidance algorithm.We designed three moving obstacle scenarios. In Scenarios 1 and 2, we used the first two static obstacles used in the previous experiments and a moving obstacle, but the trajectory of the moving obstacle in Scenario 1 was different from that of Scenario 2.Figure12 shows the scenarios and simulations of moving obstacle avoidance in Scenarios 1 and 2. As shown in Figure 12(a), the vehicle using ODG-PF successfully avoided the moving obstacle. The colors of the vehicle and the moving obstacle became darker as they became closer and after they met (the point at which they were closest), their color returned to white. By using different colors, the reader can easily distinguish the movements of the vehicle and the moving obstacle with regard to time steps.Figure 12
Simulation results under dynamic environments: (a) Scenario 1. (b) Scenario 2.
(a) (b)In Scenario 2, the moving obstacle approached from the left side of the vehicle with the same velocity as the vehicle (after the vehicle had gone past the second static obstacle). The vehicle using ODG-PF moved as if it was going along with the obstacle.To compare the algorithms more strictly, we devised another experimental scenario. Figure13(a) shows the static obstacles and the direction of the vehicle and the moving obstacle.Figure 13
Dynamic environment Scenario 3: (a) scenario and (b) simulation results.
(a) (b)The simulation results of this moving obstacle scenario show that vehicles with PFM, AFPFM, and ODG-PF were able to avoid both the static obstacles and the moving obstacle. However, when we saw the details of the simulation results for PFM and AFPFM, their movements were somewhat unstable that the vehicle moved in a zigzag fashion.


## 5. Experiments

### 5.1. Hardware Specifications and Setup

Figure14 shows the configuration of the system.Figure 14
System configuration.The vehicle used was an Unmanned Solution™ ERP42v1 without a braking system. Its physical dimensions were126×80×30 cm. The range sensor was a SICK™ LMS200 laser measurement system, which could sense the distances from obstacles within ±90° range at 0.5° resolution. We used Xsens™ MTI-100 IMU to calculate the yaw angle of the system using Madgwick’s algorithm [27]. In all cases, the yaw angle of the starting point was 0°. A Hardkernel™ USB-CAM 720P USB camera with the resolution set to 640 x 480 was used to record the experiments. The CPU of the notebook PC was an Intel i5 (2 core, 4 thread, 2.67 GHz) and 4 GB of memory. The OS used was Windows 7. To implement the algorithms and show the graphs, Microsoft Visual C++ and OpenCV library were used. All of the data were recorded in real time. Figure 15 shows a snapshot of a recorded video. As we implemented all the algorithms in one PC program, the user should choose one of them before running the program.Figure 15
Program screen recorded by the PC on the robot.The picture shows ① the front view from the USB camera, ② graphical sensor data, ③ calculated data (ODG-PF in this example), and ④ the parameter values used. Thus, recorded videos can be used to analyze the cause of failure later.


### 5.2. Outdoor Experimental Environment

The experiments were performed at the back of the Innovation Hall at Korea University. One obstacle consisted of two56×36.5×30 cm expanded polystyrene boxes. Basically, the positions of the obstacles and the vehicle were the same as those in the simulation experiments. The outdoor experimental environment is shown in Figure 16.Figure 16
Outdoor experimental environment.


### 5.3. Experiment Results under a Static Environment

The trajectory of each experiment was calculated later from the saved data using(14)xn+1=xn+v·cos⁡θ·Δt,(15)yn+1=yn+v·sin⁡θ·Δt.The value of katt for AFPFM was initially set at 100 because we used this value in the indoor experiments. For conventional PFM, we initially used katt= 10 for the indoor experiments.Figure17 is the trajectories of the experiments. The time interval between markers in all the figures of trajectories is 0.8s. The velocity was set to constant but, in the beginning of each navigation, the robot was accelerated from zero speed. The sampling time of IMU is 0.01s and it was used as the reference clock.Figure 17
Trajectories of the vehicle with (a) PFM, (b) FGM, (c) AFPFM, and (d) ODG-PF.
(a) (b) (c) (d)For the PFM withkatt= 10 (Figure 17(a)), and AFPFM with katt= 100 (Figure 17(c)) cases, the vehicle collided with the second obstacle.As occurred in the simulations, Figure17(a) shows that PFM did not perform well and collided with obstacles when katt was large and strayed from the desired angle when katt was small. When katt was too small, it strayed from the goal angle, and it collided with the second obstacle when katt = 10.The vehicle with FGM performed very well when it is needed to avoid obstacles in complex environments. There were no collisions in several experiments, although it did not attain an efficient trajectory.Figure17(c) shows the performance of the vehicle with AFPFM. When katt was large (katt = 100), the vehicle collided with the second obstacle, which was not the same results as in the simulation, indicating that there might have been a problem in the vehicle’s dynamic model. Moreover, there was a pedestrian at the end of the experiment with katt= 10.ODG-PF performed the best in all cases. We carried out the same experiments several times and there were no collisions. It always managed to avoid the obstacles, as shown in Figure17(d).The experimental results consistently show that ODG-PF efficiently and successfully avoided obstacles. Other algorithms were able to avoid obstacles but the deviations from the original y position were large.


### 5.4. Experiment Results under the Dynamic Environment

As simulated in Figure13, we performed three scenarios for moving obstacle avoidance.In Scenarios 1 and 2, the positions of two static obstacles were the same as for static obstacle avoidance and we performed experiments with all of the aforementioned algorithms. The experimental results of vehicles with PFM, AFPFM, and FGM show that their trajectories were not much different from those of the static obstacle cases because they were far away from the moving obstacle. As shown in Figures17–19, the speed of mobile robot was constant except in the beginning of each experiment, where the mobile robot was accelerated from zero speed to the specified speed. We willl upgrade ODG-PF to consider the acceleration of the mobile robot in the future work.Figure 18
Experimental results of the vehicle with ODG-PF for Scenario 1.
(a) (b)Figure 19
Experimental results of the vehicle with ODG-PF for Scenario 2.
(a) (b)In Scenario 3, we analyzed all of the algorithms using different static obstacle positions and scenarios.Figure18 show some images from the Scenario 1 experiment and the trajectory. The vehicle’s velocity was 0.8 m/s in both the simulations and the experiments.Figure19 show some images of the experiments and the trajectory for Scenario 2. We can see that they also agreed with the simulation results shown in Figure 13(b).As in Scenarios 1 and 2, we performed experiments with the vehicle and all of the aforementioned algorithms for moving obstacle Scenario 3. As shown in Figure13(b), all of the algorithm except for FGM successfully avoided both the static obstacles and the moving obstacles in the simulations. This scenario is harsh because at the end of the experiments, the gap between a static obstacle and the moving obstacle was only slightly wider than the vehicle’s width. In the simulations, we noted that all the algorithms successfully passed through the gap when it was relatively wide. We shrunk the gap in the simulations to a degree where one of them started to move differently. In Figure 13(b), the vehicle with FGM went toward the maximum gap, which was to the left of the vehicle when it started to move. We also performed experiments with a wider gap with which all the algorithms worked well.Figure20 shows some images from Scenario 3 experiments and trajectories. In results different from the simulation, only ODG-PF successfully passed through the gap between the static obstacles and the moving obstacle. The reasons for success and failure are discussed later.Figure 20
Experimental results for Scenario 3: (a) FGM, (b) AFPFM (katt=100), (c) ODG-PF, and (d) trajectories.
(a) (b) (c) (d)For PFM and AFPFM, the direction is decided by the arctangent value of the total field vector. As described in (1), the total field is the sum of the attractive field and the repulsive field. The repulsive field becomes larger when the distance to the obstacles becomes smaller. At a certain point, the repulsive field starts to overwhelm the attractive field and the arctangent value directs the vehicle backwards. We analyzed the reason for failure, which is explained in the next section. The mobile robot was not able to change direction abruptly, which resulted in a collision.Nevertheless, the vehicle avoided both the static obstacles and the moving obstacle closely but successfully with ODG-PF. The Gaussian repulsive field of the ODG-PF described obstacles efficiently and did not fail to detect them.Figure20(d) shows the trajectories of the vehicle using different obstacle avoidance algorithms. Besides the ODG-PF case, the experimental results were not the same as the simulation results, and so we think that the vehicle model used in the simulation might have had some errors in it.The experimental trajectory of FGM was different from that of the simulation, which we think is due to the vehicle model. As in the simulation result shown in Figure13(b), FGM tried to follow the maximum gap.


### 5.5. Evaluation and Discussion

To evaluate the results of the different algorithms, we should consider whether the vehicle with each algorithm collided with any obstacles or not. If the vehicle with a particular algorithm did not collide with any obstacles, we should evaluate the algorithm with some criteria. When considering the efficiency (depicted in Figure21), the maximum deviation from the initial direction line can be a good criterion.Figure 21
Maximum deviation from the initial direction line.Table1 contains the collision results and the maximum deviation from the initial line for each algorithm. Avoiding obstacles is more important than efficiency because this is a matter of safety. Efficiency matters only if there are no collisions with obstacles.Table 1
Experimental results of static obstacle avoidance.
No. Algorithm Parameter Collision Max. Deviation 1 PFM k a t t =10 ○ 3.2 m  2 PFM k a t t =5 - 3.7 m  3 PFM k a t t =1 - 4.6 m  4 FGM α =0.5 - 3.4 m  5 AFPFM k a t t =100 ○ 3.2 m  6 AFPFM k a t t =25 - 3.0 m  7 AFPFM k a t t =10 - 4.3 m  8 ODG-PF γ =5.0 - 0.6 mAs is evident from the results in Table1, ODG-PF avoided obstacles with outstanding efficiency and AFPFM was more efficient than conventional PFM.The experiments with moving obstacles show that only ODG-PF successfully avoided the moving obstacles in all the 3 scenarios. The experimental results of Scenario 3 show that, in a tough situation, only ODG-PF successfully avoided both static and moving obstacles.Failure analyses show why other methods could not avoid the obstacles and there were different reasons for each of these. In PFM and AFPFM, the total field is a vector sum of the repulsive field and the attractive field. The vector direction (recommended angle of the vehicle by PFM or AFPFM) is calculated using the arctangent of the vector. As shown in Figure22, if the attractive field is not large enough to push the repulsive field, the direction of the vector sum will be at the back of the vehicle. The problem is that using a large attractive field is not the solution because the repulsive field is inversely proportional to the distances to obstacles. Furthermore, vehicles have some physical constraints such as turning radii, maximum wheel angles, and body sizes. We cannot abruptly adjust the vehicle’s direction to go backwards. Because turning rate is limited, turns trying to avoid obstacle can often lead to positions that are more dangerous.Figure 22
Total field of PFM and AFPFM with varyingkatt.As depicted in Figure23, the guide angle in FGM is calculated as in (4). The drawback of this calculation is that the direction of guide angle can be toward an obstacle when it is between the maximum gap angle and the goal angle because the guide angle is the weighted average of the two angles.Figure 23
Guide angle calculation in FGM.


## 5.1. Hardware Specifications and Setup

Figure14 shows the configuration of the system.Figure 14
System configuration.The vehicle used was an Unmanned Solution™ ERP42v1 without a braking system. Its physical dimensions were126×80×30 cm. The range sensor was a SICK™ LMS200 laser measurement system, which could sense the distances from obstacles within ±90° range at 0.5° resolution. We used Xsens™ MTI-100 IMU to calculate the yaw angle of the system using Madgwick’s algorithm [27]. In all cases, the yaw angle of the starting point was 0°. A Hardkernel™ USB-CAM 720P USB camera with the resolution set to 640 x 480 was used to record the experiments. The CPU of the notebook PC was an Intel i5 (2 core, 4 thread, 2.67 GHz) and 4 GB of memory. The OS used was Windows 7. To implement the algorithms and show the graphs, Microsoft Visual C++ and OpenCV library were used. All of the data were recorded in real time. Figure 15 shows a snapshot of a recorded video. As we implemented all the algorithms in one PC program, the user should choose one of them before running the program.Figure 15
Program screen recorded by the PC on the robot.The picture shows ① the front view from the USB camera, ② graphical sensor data, ③ calculated data (ODG-PF in this example), and ④ the parameter values used. Thus, recorded videos can be used to analyze the cause of failure later.


## 5.2. Outdoor Experimental Environment

The experiments were performed at the back of the Innovation Hall at Korea University. One obstacle consisted of two56×36.5×30 cm expanded polystyrene boxes. Basically, the positions of the obstacles and the vehicle were the same as those in the simulation experiments. The outdoor experimental environment is shown in Figure 16.Figure 16
Outdoor experimental environment.


## 5.3. Experiment Results under a Static Environment

The trajectory of each experiment was calculated later from the saved data using(14)xn+1=xn+v·cos⁡θ·Δt,(15)yn+1=yn+v·sin⁡θ·Δt.The value of katt for AFPFM was initially set at 100 because we used this value in the indoor experiments. For conventional PFM, we initially used katt= 10 for the indoor experiments.Figure17 is the trajectories of the experiments. The time interval between markers in all the figures of trajectories is 0.8s. The velocity was set to constant but, in the beginning of each navigation, the robot was accelerated from zero speed. The sampling time of IMU is 0.01s and it was used as the reference clock.Figure 17
Trajectories of the vehicle with (a) PFM, (b) FGM, (c) AFPFM, and (d) ODG-PF.
(a) (b) (c) (d)For the PFM withkatt= 10 (Figure 17(a)), and AFPFM with katt= 100 (Figure 17(c)) cases, the vehicle collided with the second obstacle.As occurred in the simulations, Figure17(a) shows that PFM did not perform well and collided with obstacles when katt was large and strayed from the desired angle when katt was small. When katt was too small, it strayed from the goal angle, and it collided with the second obstacle when katt = 10.The vehicle with FGM performed very well when it is needed to avoid obstacles in complex environments. There were no collisions in several experiments, although it did not attain an efficient trajectory.Figure17(c) shows the performance of the vehicle with AFPFM. When katt was large (katt = 100), the vehicle collided with the second obstacle, which was not the same results as in the simulation, indicating that there might have been a problem in the vehicle’s dynamic model. Moreover, there was a pedestrian at the end of the experiment with katt= 10.ODG-PF performed the best in all cases. We carried out the same experiments several times and there were no collisions. It always managed to avoid the obstacles, as shown in Figure17(d).The experimental results consistently show that ODG-PF efficiently and successfully avoided obstacles. Other algorithms were able to avoid obstacles but the deviations from the original y position were large.


## 5.4. Experiment Results under the Dynamic Environment

As simulated in Figure13, we performed three scenarios for moving obstacle avoidance.In Scenarios 1 and 2, the positions of two static obstacles were the same as for static obstacle avoidance and we performed experiments with all of the aforementioned algorithms. The experimental results of vehicles with PFM, AFPFM, and FGM show that their trajectories were not much different from those of the static obstacle cases because they were far away from the moving obstacle. As shown in Figures17–19, the speed of mobile robot was constant except in the beginning of each experiment, where the mobile robot was accelerated from zero speed to the specified speed. We willl upgrade ODG-PF to consider the acceleration of the mobile robot in the future work.Figure 18
Experimental results of the vehicle with ODG-PF for Scenario 1.
(a) (b)Figure 19
Experimental results of the vehicle with ODG-PF for Scenario 2.
(a) (b)In Scenario 3, we analyzed all of the algorithms using different static obstacle positions and scenarios.Figure18 show some images from the Scenario 1 experiment and the trajectory. The vehicle’s velocity was 0.8 m/s in both the simulations and the experiments.Figure19 show some images of the experiments and the trajectory for Scenario 2. We can see that they also agreed with the simulation results shown in Figure 13(b).As in Scenarios 1 and 2, we performed experiments with the vehicle and all of the aforementioned algorithms for moving obstacle Scenario 3. As shown in Figure13(b), all of the algorithm except for FGM successfully avoided both the static obstacles and the moving obstacles in the simulations. This scenario is harsh because at the end of the experiments, the gap between a static obstacle and the moving obstacle was only slightly wider than the vehicle’s width. In the simulations, we noted that all the algorithms successfully passed through the gap when it was relatively wide. We shrunk the gap in the simulations to a degree where one of them started to move differently. In Figure 13(b), the vehicle with FGM went toward the maximum gap, which was to the left of the vehicle when it started to move. We also performed experiments with a wider gap with which all the algorithms worked well.Figure20 shows some images from Scenario 3 experiments and trajectories. In results different from the simulation, only ODG-PF successfully passed through the gap between the static obstacles and the moving obstacle. The reasons for success and failure are discussed later.Figure 20
Experimental results for Scenario 3: (a) FGM, (b) AFPFM (katt=100), (c) ODG-PF, and (d) trajectories.
(a) (b) (c) (d)For PFM and AFPFM, the direction is decided by the arctangent value of the total field vector. As described in (1), the total field is the sum of the attractive field and the repulsive field. The repulsive field becomes larger when the distance to the obstacles becomes smaller. At a certain point, the repulsive field starts to overwhelm the attractive field and the arctangent value directs the vehicle backwards. We analyzed the reason for failure, which is explained in the next section. The mobile robot was not able to change direction abruptly, which resulted in a collision.Nevertheless, the vehicle avoided both the static obstacles and the moving obstacle closely but successfully with ODG-PF. The Gaussian repulsive field of the ODG-PF described obstacles efficiently and did not fail to detect them.Figure20(d) shows the trajectories of the vehicle using different obstacle avoidance algorithms. Besides the ODG-PF case, the experimental results were not the same as the simulation results, and so we think that the vehicle model used in the simulation might have had some errors in it.The experimental trajectory of FGM was different from that of the simulation, which we think is due to the vehicle model. As in the simulation result shown in Figure13(b), FGM tried to follow the maximum gap.


## 5.5. Evaluation and Discussion

To evaluate the results of the different algorithms, we should consider whether the vehicle with each algorithm collided with any obstacles or not. If the vehicle with a particular algorithm did not collide with any obstacles, we should evaluate the algorithm with some criteria. When considering the efficiency (depicted in Figure21), the maximum deviation from the initial direction line can be a good criterion.Figure 21
Maximum deviation from the initial direction line.Table1 contains the collision results and the maximum deviation from the initial line for each algorithm. Avoiding obstacles is more important than efficiency because this is a matter of safety. Efficiency matters only if there are no collisions with obstacles.Table 1
Experimental results of static obstacle avoidance.
No. Algorithm Parameter Collision Max. Deviation 1 PFM k a t t =10 ○ 3.2 m  2 PFM k a t t =5 - 3.7 m  3 PFM k a t t =1 - 4.6 m  4 FGM α =0.5 - 3.4 m  5 AFPFM k a t t =100 ○ 3.2 m  6 AFPFM k a t t =25 - 3.0 m  7 AFPFM k a t t =10 - 4.3 m  8 ODG-PF γ =5.0 - 0.6 mAs is evident from the results in Table1, ODG-PF avoided obstacles with outstanding efficiency and AFPFM was more efficient than conventional PFM.The experiments with moving obstacles show that only ODG-PF successfully avoided the moving obstacles in all the 3 scenarios. The experimental results of Scenario 3 show that, in a tough situation, only ODG-PF successfully avoided both static and moving obstacles.Failure analyses show why other methods could not avoid the obstacles and there were different reasons for each of these. In PFM and AFPFM, the total field is a vector sum of the repulsive field and the attractive field. The vector direction (recommended angle of the vehicle by PFM or AFPFM) is calculated using the arctangent of the vector. As shown in Figure22, if the attractive field is not large enough to push the repulsive field, the direction of the vector sum will be at the back of the vehicle. The problem is that using a large attractive field is not the solution because the repulsive field is inversely proportional to the distances to obstacles. Furthermore, vehicles have some physical constraints such as turning radii, maximum wheel angles, and body sizes. We cannot abruptly adjust the vehicle’s direction to go backwards. Because turning rate is limited, turns trying to avoid obstacle can often lead to positions that are more dangerous.Figure 22
Total field of PFM and AFPFM with varyingkatt.As depicted in Figure23, the guide angle in FGM is calculated as in (4). The drawback of this calculation is that the direction of guide angle can be toward an obstacle when it is between the maximum gap angle and the goal angle because the guide angle is the weighted average of the two angles.Figure 23
Guide angle calculation in FGM.


## 6. Conclusions

In this paper, we introduce a novel method for obstacle avoidance, ODG-PF, which avoids obstacles very efficiently and safely. Although AFPFM is an improvement that avoids the local minima problem, its attractive field coefficient should be adjusted when the environment is changed. As with conventional PFM, when the vehicle is in a narrow environment, the repulsive field becomes strong; thuskatt value needs to be large. Otherwise, the robot will be stuck at a local minimum or go toward the goal very inefficiently.Simulations and experiments showed that vehicle movements with ODG-PF were very stable. It seems that this stable movement is because of two reasons. One reason is that it detects and defines obstacles first rather than directly calculating the repulsive field from the distance data, and the other is that it finds the angle with minimum values from the total field function. Thus, ODG-PF does not have the local minima problem that causes a vehicle to become stuck at certain points.One more merit of ODG-PF is that it avoids both static and moving obstacles without any adjustments. In the performed moving obstacle scenarios, the vehicle using it did not collide with any of the static or moving obstacles and instead avoided them using the same method. This is also quite a good point in that it does not need to carry out any time-consuming activities such as image processing or computer vision processing. ODG-PF can be easily implanted in a real-time system because the overhead when calculating it is relatively light.



---

*Source: 5041401-2018-08-23.xml*