An Improved VFF Approach for Robot Path Planning in Unknown and Dynamic Environments

Robot path planning in unknown and dynamic environments is one of the hot topics in the field of robot control. The virtual force field (VFF) is an efficient path planning method for robot. However, there are some shortcomings of the traditional VFF based methods, such as the local minimum problem and the higher computational complexity, in dealing with the dynamic obstacle avoidance. In this paper, an improved VFF approach is proposed for the real-time robot path planning, where the environment is unknown and changing. An area ratio parameter is introduced into the proposed VFF based approach, where the size of the robot and obstacles are considered. Furthermore, a fuzzy control module is added, to deal with the problem of obstacle avoidance in dynamic environments, by adjusting the rotation angle of the robot. Finally, some simulation experiments are carried out to validate and demonstrate the efficiency of the proposed approach.


Introduction
Path planning is one of the important issues in the field of robot navigation. The goal of path planning is to find an optimal or suboptimal path from the starting position to the target position, which has been widely used in intelligent transportation system, aerospace, military reconnaissance, family services, underwater exploration, and so forth [1][2][3][4][5][6]. Various methods have been used to solve the path planning problem. For example, Jaradat et al. [7] proposed a fuzzybased potential field method for autonomous mobile robot motion planning in dynamic environments including static or moving target and obstacles. Lee et al. [8] presented an approach to a time and energy efficient online complete coverage solution for a mobile robot by using a high-resolution grid map representation to reduce directional constraints on path generation. Antonelli et al. [9] proposed a path following approach based on a fuzzy logic set of rules, which emulates the human driving behavior. Tian et al. [10] used a braininspired simultaneously localization and mapping system to construct a spatial cognitive map of an office environment and then a global path is extracted from the built cognitive map and subsequently used by a local planner to instruct the robot to navigate. Many other artificial intelligent methods have been used to deal with the problem of path planning, such as genetic algorithm [11], particle swarm optimization [12], neural network [13], and bioinspired intelligent method [14]. However, these methods have some limitations. For example, the robot will encounter the local minimum problem by the traditional artificial potential field or virtual force field methods [15]; the methods based on grid map require a high completeness of the environmental information [16]; the fuzzy rule base of fuzzy logic methods is often incomplete [9]; the computation of neural network methods is complex, and the traditional neural network methods need a learning process, which cannot meet the requirements of real-time applications sometimes [17,18].
Aiming at the problems above, some improvements have been proposed recently. Ye et al. [19] presented a virtual obstacles based path planning method for mobile robot in urban road environment, which is based on the benefits of both global and local path planners. Lei and Li [20] proposed a method of behavior-based control for mobile robot path planning in unknown environments using fuzzy logic. Song and Liu [21] proposed an improved artificial potential field method, where the velocity vector is used to modify the potential field force function, and the fuzzy control method is used to adjust the factors of repulsion potential field in real time. Ni and Yang [22] presented a bioinspired neural network for real-time path planning for multirobot cooperative hunting in unknown environments. Those methods introduced above have some advantages; however, much research on path planning focused on algorithms, and few considered real-world problems, such as the size of obstacles and robots. Furthermore, most of methods in the literature are complex, which are not suitable for real-time applications.
In this paper, an improved virtual force field (VFF) approach is proposed to deal with the path planning problem in unknown and dynamic environments. In the proposed approach, an area ratio parameter is introduced into the traditional VFF based method, considering the size of obstacles and robots in real-world applications. In addition, a fuzzy control module is used to adjust the rotation angle of the robot based on the assessment of threats from environments. By this way, the security of the robotic movement can be guaranteed. The experimental results show that the proposed approach is capable of completing the path planning task efficiently in various situations.
The paper is organized as follows. In Section 2, the problem statement is given and the fundamental of VFF method is introduced. Section 3 presents the proposed path planning approach. Some simulation experiments are conducted, and the results are discussed in Section 4. At last, the conclusions are given in Section 5.

Problem Statement and Fundamental of VFF Method
In this paper, the problem of robot path planning in unknown and dynamic environments is studied. The problem is defined as follows.
(1) The robot can obtain its location information in real time by some location technologies.
(2) The robot has no knowledge about the environment, except for the location of the target. (3) There are a lot of obstacles in the environment, denoted by Ω = { , = 1, 2, . . . , }. These obstacles may be static or dynamic. (4) The robot is equipped with some onboard sensors, which are used to detect the obstacles and the target. (5) In this paper, it is assumed that the robot can change the moving direction without delay and move forward at a constant speed. The next location of the robot is where ( , ), V , and Φ are the location, the velocity, and the moving direction of the robot, respectively. The problem definition is close to the path planning problem in real world, such as searching for a crashed aircraft positioned by radio transmitters and extinguishing forest fires. Before the introduction of the proposed approach, the fundamental of the VFF based algorithm is given out. Borenstein and Koren developed VFF method, and the basic idea of the VFF based algorithm is to divide the space of robot into two different computational fields [23,24]. One computational field is defined as low potential energy field, according to the position of the target relative to the instantaneous position of the robot. This field is concave and minimal in the target position, which is also called the attraction field. The other one is defined as high potential energy field, according to the relative position of the obstacles with respect to the robot position. This field is also called the repulsion field. Based on the attraction and repulsion forces computed from the two different computational fields, the resultant force can be obtained. The resultant force is used to lead the robot. A simple example of path planning based on the VFF method is shown in Figure 1. In this example, there are two obstacles, one target, and one robot. The detailed introduction of the traditional VFF based method can be viewed in [23][24][25][26], and a brief introduction of the traditional VFF based method is given out as follows.
(1) The virtual attraction force from the target can be calculated by where is the attraction force parameter, which is a constant; ( , ) is the location of the target; ( , ) is the location of the robot; is the distance between the robot and the target at time ; and are the unit vectors at -axis and -axis, respectively.
(2) The virtual repulsion force from obstacles can be calculated by where is the repulsion force parameter, which is a constant; is the occupied credibility of the cell ( , ) in the environment by the obstacles; ( , ) is the center location of the cell ( , ); and is the distance between the robot and the center of the cell ( , ). Then Mathematical Problems in Engineering 3 the resultant force to the robot in the environment can be calculated by = + ; the angle of the vector is denoted by , which is used as the moving direction Φ for the robot at the next time, namely, (Φ ) +1 = . (4)

The Proposed VFF Based Path Planning Approach
As introduced above, the traditional VFF algorithm is a combination of grid based method and the artificial potential field method, which needs to set up the environmental model based on grid map firstly [23,24]. So there are some limitations in the traditional VFF based method; for example, there is an accumulated error and it needs a large storage space in the grid based method. It is not suitable for real-time applications for the robot navigation in unknown and dynamic environments. In this paper, an improved VFF based path planning approach is proposed. In the proposed approach, the grid method in the traditional VFF based method is simplified, and an area ratio parameter is introduced into the VFF based method to realize the real-time path planning for the robot in unknown environment, which can reduce the computational complexity and solve the local minimum problem in the traditional VFF based method, by adjusting the repulsion forces. Furthermore, a fuzzy control module is used to deal with the obstacle avoidance problem in dynamic environments.

The Area Ratio Parameter.
In this study, an area ratio concept is introduced considering the size of obstacles in the robotic movement. Before the introduction of this area ratio concept, a detection model of the robot is set up. In this paper, the detection range of the robot is represented by a circular area, which is called the perception space. The radius of this circular area is the maximum detection range of the robotic onboard sensors, which is denoted by , and it is determined by real-world applications. An example of the perception space of the robot is shown in Figure 2. In this example, there are three obstacles detected by the robot. The area ratio parameter is denoted by , namely, the area ratio of the th obstacle and the robot. Because the robot cannot know the shape of the obstacle based on its onboard sensors, it is difficult to determine the area of the obstacle accurately. In this study, the projected area is used to estimate the area of the th obstacle in the robotic perception space, which can be calculated as follows: where is the subtended angle of the robot to the th obstacle (its unit is radians); and is the shortest distance between the robot center and the th obstacle (see Figure 2). Then the value of the area ratio parameter can be obtained by where 0 is the projected area of the robot in the working plane; namely, 0 = 2 , where is the radius of the robot. Based on the area ratio parameter , the adjusted virtual repulsion force to the robot can be calculated by where is the number of the obstacles in the robotic perception space, and is the th repulsion force from the th obstacle, which can be obtained based on a simplified computation from (3); namely where ( , ) is the center location of the th obstacle and is the distance between the center of the th obstacle and the robot. Because the shape of the obstacle is unknown, the center of the projected area of the th obstacle is used to estimate the center of this obstacle, namely, is: Remark. All the estimations in this study are conservative, to guarantee the safety of the robot during the process of moving to the target.

The Fuzzy Control Module.
In the traditional VFF based path planning method, the obstacles are always assumed to be static. But as we know, there are often many dynamic obstacles in the real-world robotic applications [27,28], such as the pets and other robots working in the same environment. In this condition, the robot navigated by the traditional VFF method could collide with the dynamic obstacles sometimes.
To deal with this problem, some improved methods have been proposed; however, most of these methods for dynamic environments in the literature are focused on the velocity or acceleration, and few considered the relative position and moving trend of the obstacles and the robot. The real threats of the obstacles have not been assessed, which is very important to reduce the computational complexity of the algorithms [29][30][31].
In this paper, a fuzzy control module is used in the proposed VFF based method to deal with the dynamic obstacle avoidance. For simplification without losing generality, the dynamic obstacles are assumed to move forward at a constant speed, which can be easily detected. The details of the identification and the computing for the movement parameters of the dynamic obstacles are ignored in this paper. The relative velocity between the robot and the dynamic obstacle is denoted as V and the angle between the relative velocity vector V and the line from the robot to the obstacle is denoted as V . The relationship of the robot and the dynamic obstacle is shown in Figure 3.
In Figure 3, the big circle is the detection range of the robot, and its radius is (it is equal to the maximum detection range of the robotic onboard sensors, see Figure 2); the little circle is the safe range of the robot, and its radius is , which is a constant less than . Here, the safe range is just used to judge the risk level of the dynamic obstacles. It does not have a real physical meaning and is different with the definitions in other literature; is the angle between -axis and the line from the robot to the obstacle; is the angle between -axis and the relative speed vector V ; is the distance between the robot and the obstacle; is the collision angle. From Figure 3, we can see that In this study, the fuzzy control module is based on the VFF based method, which is easily realized. The common methods are adopted in this paper to design this fuzzy control module [18,32,33], which are introduced briefly as follows.
(a) The Input and Output of the Fuzzy Control Module. Considering the safety radius of the robot and the effects of the speed of the robot and the dynamic obstacle, two inputs of the fuzzy control module are defined, namely, ‖V cos V ‖ and . The two inputs are denoted as 1 and 2 , respectively, which are used to assess the threat of the dynamic obstacle in the detection range. As introduced above, the fuzzy control module is used to adjust the movement direction of the robot based on the threat level of the dynamic obstacle. The output of the fuzzy control module is the rotation angle, denoted by . In this study, the sign of the rotation angle is decided by the following rules: if the obstacle is located at the left of the robot, the sign of the angle is positive; namely, the robot will rotate at a clockwise direction. Otherwise, the robot will rotate at an anticlockwise direction. If the robot and the obstacle are in a line, the robot will rotate an angle toward the target.

(b) The Fuzzification and Defuzzification of the Inputs and
Output. In this study, the membership function method is used as the fuzzification method of the inputs, and the center of gravity method is used as the defuzzification of the output (see [33,34]). The membership functions of the inputs and output are shown in Figure 4. The parameters 1 and 2 of the membership functions for the inputs and output in Figure 4 are different, which are determined by the experience in real-world applications. In this paper, the values of the parameters 1 and 2 are listed in Table 1.
(c) The Fuzzy Control Rules. The fuzzy control rules used in the fuzzy control module can be obtained based on the realworld application experience, which are listed as follows. Rule 1: If 1 is large and 2 is small, then is large; Rule 2: if 1 is small and 2 is small, then is middle; . . . Rule 9: if 1 is middle and 2 is small, then is large.
The fuzzy control module will be used when a dynamic obstacle enters the detection range of the robot and V < . The inputs are input into the fuzzy control module and then the output can be obtained based on the fuzzy inference of the fuzzy control module. The output is defuzzified and used to adjust the moving angle of the robot obtained by the VFF method introduced in Section 3.1; namely, the moving direction Φ for the robot at the next time is adjusted by Remark. Although there is much research on the fuzzy logic based path planning methods. It is clear that there are some differences between the literature and the proposed approach in this paper. For example, the fuzzy logic of most of the research is directly used to control the robotic movement, which makes the fuzzy logic base of the fuzzy control module more complex than the proposed approach. Furthermore, the fuzzy control module of the proposed approach is used to adjust the rotation angle obtained by the proposed VFF based method, which realizes the static and dynamic obstacle avoidance automatically and it is different from those approaches based on fuzzy logic directly. The work flow of the proposed VFF based path planning approach is summarized as follows.
Step 1. Initialize the task; namely, get the location of the target.
Step 2. Perceive the environment by the robotic onboard sensors.
Step 3. Calculate the virtual resultant force for the robot navigation based on the proposed VFF algorithm.
Step 4. Judge whether there are any dynamic obstacles in the perception space of the robot.
Step 5. Adjust the robot moving direction based on the fuzzy control module, if there are any dynamic obstacles found.
Step 6. Navigate the robot movement based on the proposed approach. Step 7. The task is ended if the target is reached; otherwise go to Step 2. The diagram of the proposed approach is shown in Figure 5.

Simulation Experiment Studies
To demonstrate the effectiveness of the proposed approach for robot path planning in unknown and dynamic environments, some experiments are conducted that are coded in the Mobotsim software. In these experiments, the environment is set as rectangle. In this paper, two experiments for different situations are conducted, and the parameters in all of the experiments are the same (see Table 2).

Experiment under the Destination Unreachable State.
To test the performance of the proposed approach under the destination unreachable state, this experiment is conducted. In the path planning process based on the traditional VFF method, there could be a destination unreachable state. There are two main conditions that will cause the destination unreachable state. One condition is that the resultant force could be zero at some time, when the virtual repulsion force  is equal to the virtual attraction force, but their directions are opposite to each other. The other one is that the obstacle, the target, and the robot are in a line. In this condition, when the robot is near the target, the virtual repulsion force could be bigger than the attraction force [35]. Then the robot will move away from the target and the path planning task will fail. The unreachable state studied in this paper belongs to the local minimum problem in the path planning process based on the traditional VFF method. To show the advantages of the proposed VFF approach based on the area ratio parameter (P-VFF), it is compared with the traditional VFF based method (T-VFF) and the VFF method based on the virtual target (V-VFF). The basic idea of the virtual target based VFF method is to add a virtual target artificially to deal with the shortcomings of the traditional VFF based methods (see [19,36]).

Mathematical Problems in Engineering
The experimental results in the first condition are shown in Figure 6.   The P-VFF based method 12.5 s 6.9 ∘ in Figure 7. In the experiment of the second condition, the initial locations of the robot and the target are the same as the experiment at the first condition, except that the obstacles in the environment are different. The performance comparison results among the three methods in the two conditions are listed in Tables 3 and 4.
The results in Figures 6 and 7 show that the path planning tasks failed based on the T-VFF method in the two conditions (see Figures 6(b) and 7(b), where the robot will stop at the 9.3th second and the 9.7th second, respectively, before reaching the target). The results in Figures 6(c) and 7(c) show that the robot can complete the path planning task by the V-VFF method in the two conditions. However, the location of the virtual target in the V-VFF method is difficult to be determined, which cannot ensure smoothness of the robotic path to the target. The average rotation angle at each step of the robot navigated by the proposed approach is less than that  of the robot navigated by the V-VFF method, which can reduce the energy consumption of the robot (see Tables 3  and 4).
Remark. Of course the V-VFF based method could be better tuned to complete the path planning task more efficiently than the proposed approach, but it needs more experience and time, which are both scarce in the real-world applications of path planning.
The results in the experiments show that the proposed approach can deal with the problems of the path planning task in the two conditions of the destination unreachable state. The trajectory of the robot navigated by the proposed approach is smooth; namely, the energy consumption is less, which is very important for some real-world applications.

Experiment under Dynamic Environment.
To further test the performance of the proposed approach in the dynamic environment, this experiment is conducted. In this experiment, there are two identical robots, which have different targets. One robot is treated as the dynamic obstacle, denoted by 0 . The targets for the dynamic obstacle 0 and the robot 0 are denoted as and , respectively. The dynamic obstacle is navigated by the traditional VFF method. In the dynamic environment, it is difficult to determine the location of the virtual target if the robot is navigated by the virtual target based VFF method. So in this experiment, the proposed approach is only compared with the traditional VFF based method (T-VFF); namely, the robot will be navigated by the traditional VFF method firstly and then navigated by the proposed approach (P-VFF), to show the advantages of the proposed approach. In this experiment, two conditions are considered, the first condition is that the robot will move toward the dynamic obstacle, and the second condition is that a faster dynamic obstacle will track and hit the robot.
In the first condition, the initial locations of the robot 0 and the dynamic obstacle 0 are (8.56, 6.69) and (1.23, 6.54), respectively. The locations of the targets for the robot 0 and the dynamic obstacle 0 are (1.45, 4.84) and (7.78, 4.14), respectively (see Figure 8(a)). In this experiment, the velocity of the dynamic obstacle is the same as that of the robot. The experimental results are shown in Figure 8.
The results in Figure 8 show that the robot and the dynamic obstacle will have the risk to collide, when they move 6.6 seconds in opposite direction face to face. At this moment, the distance between the robot and the dynamic is 0.8 m; the angle V = 27 ∘ ; and the angle = 36 ∘ (see Figure 8(b)). The robot based on the traditional VFF method will collide with the dynamic obstacle (see Figure 8(c)), while the robot based on the proposed approach can avoid the obstacle efficiently and reach the target successfully (see Figure 8(d)).
In the second condition, the initial locations of the robot 0 and the dynamic obstacle 0 are (2.00, 5.24) and (1.12, 5.65), respectively. The locations of the targets for the robot 0 and the dynamic obstacle 0 are (7.20, 4.60) and (8.31, 3.94), respectively (see Figure 9(a)). In this experiment, the velocity of the dynamic obstacle is twice as quick as the robot. The experimental results are shown in Figure 9.
The results in Figure 9 show that the robot based on the traditional VFF method cannot avoid the dynamic obstacle with higher speed, although the robot can detect the dynamic obstacle and adjust its moving direction (see Figure 9(c)). However, the robot based on the proposed approach can avoid the dynamic obstacle timely by adjusting its moving direction with the fuzzy rules (see Figures 9(b) and 9(d)).
The results in these experiments show that the robot will collide with the dynamic obstacle sometimes if it is navigated by the traditional VFF method (see Figures 8(c) and 9(c)). The reason is that the repulsion force in the VFF based method will be very complex and change quickly when the obstacle is moving. In the proposed approach, a fuzzy control module is used to adjust the moving direction of the robot, so the robot can reach the target safely, without collision with the dynamic obstacle (see Figures 8(d) and 9(d)).

Conclusions
The path planning problem for robots in unknown and dynamic environments is investigated. In order to deal with this problem, a novel area ratio parameter based VFF method is proposed. The proposed approach can deal with the destination unreachable state in the path planning process based on the traditional VFF method, by the area ratio parameter considering the size of the obstacles and robots.
Furthermore, a fuzzy control module is proposed to deal with the path planning problem in dynamic environments. The path generated by the proposed approach is smooth, which can reduce the energy consumption of the robot. In addition, the robot navigated by the proposed approach can reach the target safely in the dynamic environments. The feasibility and efficiency of the proposed approach are discussed and illustrated through simulation experimental studies. The results show that the proposed approach can complete the path planning task in various situations efficiently, without complex computing or large fuzzy rule base. The proposed approach is applicable to the navigation of the robot in various unknown environments, such as the forest fires extinguishing and underwater navigation [37,38].
In future work, the real robot experiments should be conducted to test the performance of the proposed approach for path planning in real-world applications considering the physical constraints of the robot, and the parameters in the proposed approach should be optimized to further improve the ability for the robot path planning in complex environments. Some new bioinspired learning method may be considered in the path planning method for robot, which is the development trend in the robot control field [22,39].