**1. Introduction**

Moving in free space while avoiding collisions within the dynamic environment is known as obstacle avoidance or path planning, which is the backbone of mobile robots. Many well-known path planning algorithms have been proposed in robotics research literature. The reward-based planning algorithms [1–3] propose to give the robot a positive reward when it reaches the target, and give the robot a negative reward when it collides with the obstacle. The path is then obtained by maximizing the cumulative future reward. However, due to the discretization of the state and control space, their trajectories are mostly not smooth [4]. The sampling-base planning algorithms, such as the Rapidly exploring Random Tree (RRT) [5] and the Probabilistic Road Maps (PRM) [6], generally connect a series of randomly sampled points from a barrier-free space, and attempt to establish a path from the initial position to the target position. Although their time cost is less, the random sampling introduces the randomness of the planned path. Therefore, we cannot predict the result of the path planner, which is not optimal in general. The grid-based planning algorithms, such as the A\* [7] and the Dijkstra's [8] algorithm, which have been used in the robotic operating systems (ROS), can find the optimal trajectory, but their time cost and memory usage grow exponentially with the dimension of the state space [4]. The novel artificial potential field (APF) developed by Khatib [9–11] is a simple and effective path planning method. The theory behind APF is simple and straightforward: it has an attractive potential field for attracting the robot to the target point, and a repulsive potential field for pushing the robot away from obstacles. The APF approach can be used for global and local path planning.

However, there are some inherent problems in traditional artificial potential field approaches: (1) oscillations in the presence of obstacles due to the large move step of the robot; (2) goal nonreachable with obstacles nearby (GNRON); (3) trapped in a local minimum region; and (4) moving obstacles avoidance. Solving these problems has become an interesting topic in the field of APF based path planning [12,13]. Park et al. [14] deal with the local minimum region by filling it with the virtual obstacle. Zhu et al. [15] introduce simulated annealing to look for the global minimum and escape the local minimum region. Doria et al. [16] use the Deterministic Annealing (DA) approach to avoid local minima in APF by adding a temperature parameter into the cost function of the APF approach. The value of the temperature parameter starts to increase until the robot goes away from the local minimum region. Lee et al. [17] propose to use two modes to control the APF, i.e., one mode is to go directly to the target using traditional APF and the other mode uses a new point APF algorithm to avoid collisions with the static obstacle. Mode 1 can be switched to mode 2 when the robot is trapped in a local minimum region or blocked in front of the obstacle. A new direction is synthesized using the robot motion information and direction between the robot and the goal point, which can guide the robot to escape the local minimum region. Weerakoon et al. [18] propose an improved repulsive force for overcoming a local minima problem, which generates a new repulsive force to the primary force when the robot detects an obstacle within its sensory range. The new repulsive force component turns the robot smoothly away from the obstacles. Kim et al. [19] modify the APF approach with the collision cone approach, which adds an artificial force to the existing attractive and repulsive forces when the relative velocity vector between the robot and obstacle is included in a collision cone. The improved resultant force can guide the robot to reach the goal. These algorithms may help the robot to escape the local minimum region in a simple statistic environment, but require to detect whether the robot is trapped in the local minimum region.

For the dynamic environment, the moving objects can affect the performance of the APF. Ge et al. [20] define a virtual force which is the negative gradient of the potential with respect to both relative position and velocity between the robot and the target or obstacles. The motion of the mobile robot is then determined by the total virtual force through the Newtons Law or steering control depending on the driving type of the robot. Cao et al. [21] propose a simultaneous target tracking and moving obstacle avoidance method using a threat coefficient based force function by taking into account the relative velocities of the target with respect to the robot and the relative velocities of the robot with respect to the obstacles. Montiel et al. [22] introduce a parallel evolutionary artificial potential field for the dynamic environment, which makes possible controllability in complex real-world sceneries with dynamic obstacles if a reachable configuration set exists. These methods make decisions according to the relative position and velocity direction between robot and obstacle, but the magnitude of the obstacle speed is not fully considered.

In this paper, we propose a dynamic APF approach (DAPF). The contributions of our work are the following: first, to predict and avoid the local minimum region, we combine the APF with the dynamic window approach [23], which employs a cost function to evaluate simulated trajectories, such that the local minimum region can be found in the prior step, and the robot can avoid the obstacle in a short path without any oscillations. Second, we propose an evolutionary potential field function based on an improved minimum danger index (DI) [24,25], which can plan an optimal path using not only the relative distance and velocity direction information, but also the magnitude information of the robot and obstacle speeds. The robot can make a smart decision to avoid moving obstacles, e.g., if the obstacle moves fast, the robot goes behind the obstacle. We demonstrate the proposed ideas using a real mobile robot system in static and dynamic environment, respectively, which shows the improved performance using our idea.
