Dynamic window based approach to mobile robot motion control in the presence of moving obstacles Marija Seder and Ivan Petrovi´ c Abstract— This paper presents a motion control method for mobile robots in partially unknown environments populated with moving obstacles. The proposed method is based on the in- tegration of focused D* search algorithm and dynamic window local obstacle avoidance algorithm with some adaptations that provide efficient avoidance of moving obstacles. The moving obstacles are modelled as moving cells in the occupancy grid map and their motion is predicted by applying a procedure similar to the dynamic window approach. The collision points of the robot predicted trajectory and moving cells predicted trajectories form the new fictive obstacles in the environment, which should be avoided. The algorithms are implemented and verified using a Pioneer 3DX mobile robot equipped with laser range finder. I. I NTRODUCTION A mobile robot should perform goal-directed tasks in dynamic and unknown environments. Both global path plan- ning and local reactive obstacle avoidance algorithms must be implemented and integrated in a single motion control module in order to provide the robot with this capability. While a global path planning algorithm calculates optimal path to a specified goal, a reactive local obstacle avoidance module ensures tracking of the global path and takes into account the unknown and changing characteristics of the environment based on the local sensory information. Global path planning is well studied by Latombe in [1] where techniques such as cell-decomposition and road map are examined. Global path planning algorithms produce a graph of possible paths to the goal and then an optimal path is found by a graph search algorithm such as A* [3], D* [4] or focused D* (FD*) [5] algorithm. Some of the most popular reactive collision avoidance techniques can be divided into directional [6]-[8] and ve- locity space based approaches [9]-[11]. The directional ap- proaches generate a direction of the robot to head in. Velocity space approaches take robot’s kinematic and dynamic con- straints directly into account by performing a search in space of translational and rotational velocities. The most popular and here used velocity space approach is Dynamic Window (DW) approach [11]. The major challenge in the motion control of mobile robots is to solve the problems caused by the presence of moving obstacles. Two major categories of the approaches are: the space-time approaches and the potential field extension. While the space-time approaches assume a priori knowledge M. Seder and I. Petrovi´ c are with Faculty of Electrical Engineering and Computing, University of Zagreb, Unska 3, 10000 Zagreb, Croatia, e-mail: {marija.seder, ivan.petrovic}@fer.hr of the moving obstacles trajectories the potential field exten- sion does not and generates an artificial force that repels the robot from obstacles instead [6]. For example, some of the extensive space-time approaches [12]-[13] assume a moving obstacle as stationary at some location in some future time instant based on the known moving obstacle trajectory. Functionality of these approaches depends on a success of moving obstacle tracking algorithms. In this paper the proposed approach fits to the space- time approaches. We extend our original motion control method, which is based on the integration of FD* and DW algorithms [15]. While the original integration method provides reliable real-time control of mobile robot in partially unknown environments with static obstacles, it does not ensure collision-free motion in environments populated with moving obstacles. With three modifications introduced in this paper our method ensures safe and smooth robot motion in the presence of moving obstacles. II. THE ORIGINAL FD* + DW CONTROL METHOD Here we shortly present control method from our previous paper which integrates FD* and DW algorithms. A. FD* Path Planning Algorithm Graph based search algorithms are the most commonly used algorithms for path planning of mobile robots. We use the FD* graph search algorithm [5], which is based on a path cost function g that represents the total cost from the current node of the search to the goal node, and a heuristic function h, which estimates but never overestimates the cheapest solution for achieving the current node from the start node in the (x, y) grid map search space. The total cost function f = g + h determines order of expanding nodes in state space. FD* search fans out from the goal node, expanding neighbor nodes within the contours of increasing f -value until the start node is reached or all possible obstacle free neighbors are exhausted upon which the algorithm declares no path is found. Initial search by FD* algorithm sets pointer from each state in the searched area to the next state and optimal paths to the goal from every state in the expanded area of the environment are computed simply following the pointers. Any discrepancy that is discovered from the earlier sensory information about the vicinity of the robot environment initiates algorithm on-line execution. New path is then determined redirecting the pointers locally. The number of expanded nodes is minimal and consequently the time of execution. 2007 IEEE International Conference on Robotics and Automation Roma, Italy, 10-14 April 2007 ThA11.3 1-4244-0602-1/07/$20.00 ©2007 IEEE. 1986