Genetic Algorithm for Local Path Planning in

advertisement
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:
mapmap_point  = Pathmap_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)
 mapmap_point 
(2)
map_pointPath
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)
Download