A Genetic Algorithm with Local Map for Path Planning in Dynamic Environments Ivan Koryakovskiy Nguyen Xuan Hoai Kyoung Mu Lee School of EECS, ASRI, Seoul National University 151-742, Seoul, Korea School of CSE, Seoul National University 151-742, Seoul, Korea School of EECS, ASRI, Seoul National University 151-742, Seoul, Korea i.koryakovskiy@gmail.com nxhoai@gmail.com kyoungmu@snu.ac.kr ABSTRACT In this paper, a new genetic algorithm (GA) for solving the path planning in dynamic environments is proposed. The new genetic algorithm uses local maps, therefore, does not require the knowledge of exact or estimated position of the destination point as other approaches in the literature. Consequently, the new GA could be used to solve the problem of dynamic path planning under an assumption that makes the problem more restrictive but more close to reality (in searching tasks). Categories and Subject Descriptors: I.2.8 [Computing Methodologies]: control theory, heuristic methods, path planning, plan execution, formation, and generation. General Terms: Algorithms, Experimentation. Keywords. Genetic algorithms, path planning, variable-length chromosome, mobile robot, dynamic environments, local map. 1. PROBLEM DEFINITION is different from [2, 4] in a number of ways. Firstly, the proposed GA here uses a local map. Unlike [2, 4], our GA does not need the global destination point in its encoded chromosomes. Any border point of a local map is a candidate local destination, but distance penalties for them are different. Secondly, 3-point interpolation by Bezier curves is used to generate smooth paths in the initial population. The same technique is used for the mutation operator. This helps to eliminate the need for using Repair, Shortcut and Smooth operators as in [2]. Thirdly, representing objects using a directed Gaussian function on a local map makes the path clear (i.e. less dangerous for robot). Each point of a local neighborhood of an obstacle has an additional cost, which according to a directed Gaussian function, has higher values in the direction of obstacle’s velocity. Using place cost information, GA tries to avoid such places or at least stay away from the points to which obstacles are moving toward. Contrary to our algorithm, most of other methods proposed in the literature must have coordinates of the destination point either to represent a path [2, 4, 6] or an estimate of distance to it (like A*). The problem in this paper is formally defined as follows [3]: Given n moving obstacles O1 ,..., On represented as discs in the plane. The centers of the discs (i.e. the positions of the obstacles) at time t 0 are given by the coordinates p1 ,..., pn 2 , and the radii of the discs as r1 ,..., rn . All of the obstacles have a maximal velocity as v1 ,..., vn . The robot is a point finding for a path between a starting point s 2 and a goal g 2 . The robot has a maximal velocity V , vi : V vi . The task is to compute the shortest possible path P , such that P(0) s and P (t g ) g (i.e., a minimal time path with minimal t g ) that is as collision-free as possible. The path P should obey the maximum velocity constraint V of the robot, i.e. t1 , t 2 [0, t g ] : t1 t 2 : d ( P(t1 ) P(t 2 )) 3.2. The Proposed GA Local map is a map with a fixed size S and a robot in a center. The value of each map’s point is calculated as follows: mapmap_point = Pathmap_point + , + Obstcle map_point + ObstacleCl ear map_point where Path(map_point) measures how close the map point is to the local destination point, Obstacles(map_point) represents obstacle constraint calculated for each obstacle on the local map and ObstacleClear(map_point) denotes how far the current point on the path is from the moving obstacles. E(path) is the fitness function for a path which sums up weights of each point of the map where the path goes. For the problem, the task is to find the path with smallest possible fitness value E*(path) over all possible paths. Thus: V (t1 t 2 ) where d : 2 2 is the Euclidean distance between two E * path = argmin points in the plane. The problem of path planning in dynamic environments for mobile autonomous robot is known to be an NPhard problem [1]. Our GA comprises of 6 following steps: 2. A NEW GA FOR PATH PLANNING 3.1. Related work The GA in this paper is inspired by the work of [2, 4]. However, it (1) mapmap_point (2) map_pointPath 1. Local map construction; 2. Generate population of size N using 3-point interpolation; 3. For t number of iterations repeat: 4. Reset all paths taboo values to 0 and mark each path as unused. Calculate E pathi , i {1,2,..., N 1} ; 5. For fixed number of paths n N with the smallest E * pathi repeat MAX _ ITER times: 5.1. Select a best unused path A (with the smallest E * pathi ) and find an unused path B in the population with which it intersects and B has the smallest E * pathi . Both paths A and B are then marked as used; runs and the results collected are the best, worst, average and the collisions (Table 1). The distance between the starting point and global destination point is 89 in robot steps (that is the best possible solution obtained when there is no obstacle). As it is seen from table 1 for environments with low and medium density, the proposal algorithm generates solutions with almost no collision and reasonable average path lengths. High density environments do not frequently occur in practical situations, which let’s us to state that the overall performance of the new GA is satisfactory (and obtained in real-time). Figure 2 shows the minimum and mean cost of each generation. 5.2. If B is not found go to step 5.3, otherwise go to step 5.4; 105000 5.3. Do mutation on A and if the mutated child is better than its parent, replace the parent in the population with the mutant and mark it as unused. Go to step 5.1; 95000 85000 75000 6. Return the path in smallest E * pathi . the final population with cost 5.4. Do crossover on paths A and B, then mutation and select 3 best paths among the two parents and two offsprings. Override two parents A and B and the worst solution in population by these 3 selected paths and mark them as unused. Apply taboo for parents during next k number of iterations and go to step 5.1; 65000 Min Mea n 55000 45000 35000 2 5000 0 5 10 15 20 25 generation the Figure 2: Graph of mean and minimal cost over generation. Acknowledgement 3.3. GA Operators The crossover operator is applied only if both selected paths have an intersection point (crossover “cut point”). If the paths have more than two intersection points, one of them is chosen at random. Two children paths are created by swapping the parts of parents (as in Figure 1). Figure 1. Left: before crossover, Middle: after crossover; Right: mutation. The mutation operator slightly changes a part of a path. This is done by selecting three different genes in the chromosome and randomly changing the location of the middle point then applying 3-point Bezier interpolation (see Figure 1). 3. RESULTS Our GA is implemented in C++ programming language and could be downloaded from: sc.anu.ac.kr/~xuan/DynamicPLCode.zip. Each of the tests on each benchmark problem was allocated 30 standard deviation values of path lengths and the number of This work was supported by the Korea Research Foundation Grant funded by the Korean Government(MOEHRD) (KRF-2008314-D00377) 4. REFERANCE [1] Canny, J. and Reif, J. New lower bound techniques for robot motion planning problems. In Proc. IEEE Symposium on the Foundations of Computer Science, Los Angeles, CA, 1987. [2] Elshamli, A., Abdullah, A. H. and Areibi, S. Genetic algorithm for dynamic path planning. Proceedings of the Canadian Conference on Electrical and Computer Engineering, Niagara Falls, vol.2, pp. 677-680, 2004. [3] Jur van den Berg. Path Planning in Dynamic Environments. PhD Thesis, Utrecht University, The Netherlands, 2007. [4] Lei, L., Wang, H. J. and Wu, Q. S. Improved Genetic Algorithms Based Path planning of Mobile Robot Under Dynamic Unknown Environment. In Proc. 2006 IEEE International Conference on Mechatronics and Automation, Luoyang, China, pp.25-28, June 2006. [5] Van der Stappen, A. F., Overmars, M. H., de Berg, M. and Vleugels, J. Motion planning in environments with low obstacle density. Technical report, UU-CS-1997-19. Dept. of Computer Science, Utrecht University, 1997. [6] Yuan, M., Wang, S. and Li, P. A model of ant colony and immune network and its application in path planning. IEEE Conference on Industrial Electronics and Applications, 2008. Table 1. Simulation results. Benchmark Generated path length Number of collisions Environment density best worst avg. std. dev best worst avg. std. dev 20 obstacles 89 95 91,2 1,69 0 0 0,0 0,00 0,01 (low) 80 obstacles 97 187 120,4 25,67 0 1 0,2 0,42 0,04 (medium) 200 obstacles 143 301 211,3 53,49 1 18 9,1 5,63 0,12 (high)