Fourth Congress of Electronics, Robotics and Automotive Mechanics
Evolving ant colony system for optimizing path planning in mobile robots Beatriz A. Garro, Humberto Sossa and Roberto A. Vázquez Centro de Investigación en Computación-IPN Av. Juan de Dios Batiz esquina con Miguel de Othon de Mendizábal. Mexico City Contact:
[email protected],
[email protected],
[email protected]
Path Planning is one of the problems in robotics. It consists on automatically determine a path from an initial position of the robot to its final position. In this paper we propose a variant of the ant colony system (ACO) applied to optimize the path that a robot can follow to reach its target destination. We also propose to evolve some parameters of the ACO algorithm by using a genetic algorithm (ACO-GA) to optimize the search of the shortest path. We compare the accuracy of ACO against ACO-GA using real environments.
attempt to abstract essential characteristics from evolutionary process aiming to emulate them in a computer. In this paper we discuss alternative ways for determining the best route a mobile robot can follow in any environment from its origin to its target destination with the aim to reach a specified target. We propose to use bio-inspired algorithms to find the shortest path (best path). To evolve some of the parameters of ACO a Genetic Algorithm (ACO-GA) is used. We also corroborate and compare the accuracy of ACO against ACO-GA.
1. Introduction
2. Swarm intelligence and ACO
Path Planning (PP) is one of the most exciting challenges in building autonomous mobile robots. An autonomous robot must be able to learn its environment and programming itself without assistance. PP consists on finding a route from the origin of the robot to its target destination. PP becomes more difficult when some obstacles are added to the environment. When this occurs, it is necessary to find an alternative route. This implies a process of adaptation to the environment. Another important problem is to determine the shortest path from the origin of the robot to its target destination. Methods for finding the shortest path, even through obstacles, have traditionally been based on one of several models, including growing obstacles and force fields, for details refer to [1]. Others classical solutions to this problem could be the probabilistic road map and random maps/path of Kavraki. The reader can find information about classical algorithms in [13]. Ant colony optimization (ACO) is based on swarm intelligence where complex collective behaviour emerging from the behaviour of many simple agents. Individuals possess simple capabilities which, when compared with their collective behaviours, are much more complex such as ants’ colonies when they are looking for food. Holland in [8], defines GAs as an
Swarm Intelligence is a property of a system of agents without intelligence of limited individual capabilities exhibiting collectively intelligent behaviour [3]. Individual ants are behaviourally simple insects with limited memory and exhibit an activity that has a random component. However, collectively ants manage to perform several complicated tasks with a high degree of complexity [4]. Several ant species are able to select the shortest route, among a set of alternative routes, from their nest to a food source [10]. Ants lay a chemical trail called pheromone when they walk; this trail attracts other ants to take the route that has the most pheromone. This reinforcement process results in selecting the shortest path: the first ants coming back to the nest are those that took the shortest path twice (to go from the nest to the source and to return to the nest), so more pheromone is present on the shortest path than on longer paths. This fact occurs immediately after these ants have returned, stimulating other ants to choose the shortest path, see Figure 1. Ant Colony Optimization (ACO) is a stochastic, distributed and collective approach that has been used to solve different hard combinatorial optimization
Abstract
0-7695-2974-7/07 Unrecognized Copyright $25.00Information © 2007 IEEE DOI 10.1109/CERMA.2007.65
444
The transition probability from town i to town j for the k-th ant is defined as:
problems such as the travelling salesperson problem [5], the quadratic assignment problem [6] or the vehicle routing problem [7]. The main idea is to model the problem as the best path in a particular graph. Ants walk through the graph, looking for good paths.
α β α β τ ij ( t ) ⋅ ηij ( t ) ∑k τ il ( t ) ⋅ ηil ( t ) l∈J i p (t ) = 0 k ij
if
j∈Jk
if
j∉Jk
(4)
where J k = {N − taboo k } , α and β are parameters that control the relative importance of trail versus visibility, and η ij is the inverse of the distance from ( i , j ) . Therefore the transition probability is a trade-off between visibility and trail intensity at a time t. Trail intensity says that if at edge ( i , j ) there has
(a) (b) Figure 1. (a) Ants choose their path in a probabilistic way. (b) After certain time, the density of pheromone is higher in the shortest path and this causes that ants choose the shortest path.
been a lot of traffic then it is desirable to select that edge.
Each ant is a simple agent with the following characteristics: it chooses the town to go with a probability that is a function of the town distance and of the amount of trail present on the connecting edge; t o force the ant to make legal tours, transitions to already visited towns are disallowed until a tour is completed. This is controlled by a taboo list; when it completes a tour, it lays a substance called trail on each visited edge ( i , j ) .
3. Principles of evolutionary computing In this section we introduce the basic concepts and notions of evolutionary algorithms (EA). GAS have been used extensively for both continuous and discrete optimization problems [11]. GAS are derivative-free optimization methods based on the concepts of natural selection and an evolutionary process. They were first proposed and investigated by John Holland [8]. GAS encode each point in a parameter (or solution) space into a binary string called chromosome, and each point is associated with a fitness value. Instead of a single point, GAS usually keep a set of points as a population, which is then evolved repeatedly toward a better overall fitness value. In each generation, the GA constructs a new population using genetic operators such as crossover and mutation. Members with higher fitness values are more likely to survive and to participate in mating (crossover) operations. In the natural evolutionary process, selection, crossover, and mutation all occur in the single act of generating offspring. Based on the aforementioned concepts, a simple genetic algorithm for maximization problems is described next:
Let τ ij ( t ) be the intensity of trail on edge ( i , j ) at time t . Each ant at time t chooses the next town, after each ant has completed a tour the trail intensity is updated as:
τ ij ( t + n ) = ρ ⋅τ ij ( t ) + ∆τ ij ( t )
(1)
where ρ is a coefficient such that (1 − ρ ) represents the evaporation of trail, m
∆τ ij ( t ) = ∑ ∆τ ijk ( t )
(2)
k =1
where ∆τ ijk is the quantity per unit of length of trail substance (pheromone in real ants) laid on edge ( i , j )
1. Initialize a population with randomly generated individuals and evaluate the fitness value of each individual. 2. Perform the following operations: - Select two members from the population with probabilities proportional to their fitness values. - Apply crossover with a probability equal to the crossover rate. - Apply mutation with a probability equal to the mutation rate. - Repeat until enough members are generated to form the next generation. 3. Repeat step 2 and 3 until a stopping criterion is met.
by the k-th ant between time t and t + n . ∆τ ijk is given by: k Q L ( t ) ∆τ ijk ( t ) = 0
if if
( i, j ) ∈ T k ( t ) ( i, j ) ∉ T k ( t )
(3)
where T k ( t ) is the tour done by the k-th ant at iteration
t , Lk ( t ) is its length, and Q is a constant.
445
4.1.2. Proposed algorithm. We propose the following algorithm for solving the path-planning problem. In this algorithm, the reader can appreciate the main difference (underlined) of our proposal against the original algorithm described in section 2.
4. Proposed methodology In this section we describe alternative algorithms for solving the problem of path planning. Using these kinds of algorithms, we do not only find a path but the shortest path from an origin to a destination or the nearest path to the optimum path. To achieve this, we apply the next methodology: Firstly, we need to obtain an instance of the environment represented by a graph. This is done as in [12]. Once determined the origin of the robot and the target destination we use a variant of ACO algorithm proposed in next sections. In Figure 2, you can find a general schema of the methodology
1. Initialize: Place the
m
ants on the start node. Create new
ants at a frequency
f
.
2. Starting town of the k-th ant in tabook (s ) . 3. Repeat until destination reached For k := 1 to m do Choose the town j to move to, probability route length
p (t ) k ij
with
given by equation 5. Update
k
cl = cl k + dij
> clmax ) Kill the j in tabook (s ) . k := 1 to m do
If( cl
k-th ant, Else Insert
town
Figure 2. General schema of the methodology.
4. For Move the k-th ant from tabook (n ) to tabook (1) . Update the shortest tour found. For every edge
4.1. Modification of ACO
( i, j )
We cannot directly apply the original algorithm to solve the problem of path planning. To apply ACO to our problem we propose some modifications to the original algorithm. The main differences between the original method and our proposal are that:
apply equation 2.
( i, j ) apply equation 1. edge ( i, j ) set ∆τ ( t ) = 0 ij
5. For every edge For every
6. If(NC clmax ) Kill j in tabook (s ) k := 1 to m do
If( cl
the k-th ant, Else Insert
Figure 3. General schema of crossover operation.
town 4.
For Move the k-th ant from tabook (n ) to tabook (1) Update the shortest tour found. For every edge
( i, j ) apply
equation 2
( i, j ) apply equation 1. edge ( i, j ) set ∆τ ( t ) = 0 ij
5.
For every edge
6.
If (NC