A genetic algorithm for simultaneous localization and mapping
Summary (2 min read)
I. INTRODUCTION
- Maps are very useful for navigation by mobile robots in complex environments, being needed for tasks such as self-localization, path planning, manipulation of objects, and interaction with humans.
- Without this assumption, the robot must somehow search the space of possible maps, since alternative assignments in data association can induce very different maps.
- Each of these trajectories is then evaluated by constructing a global occupancy map using the recorded range-finder data of the robot along the travelled path.
- A fitness value is calculated for each of the candidate solutions, based on the consistency and compactness of the maps produced, and the search proceeds using a genetic algorithm (GA).
III. SLAM AS A GLOBAL OPTIMIZATION PROBLEM
- In a global optimization problem, there may be many solutions which are locally optimal.
- The goal is to find the one best solution, avoiding the local optima [15] .
- A global search algorithm can be used to search the space of possible trajectories.
- The goal is to find the vector of noise parameters, and therefore the inferred trajectory, which produces the best map.
- Each iteration or "generation" involves a competitive selection procedure that favours fitter solutions and rejects poorer solutions.
A. Chromosome Encoding
- Each chromosome is encoded as a string of floating point numbers corresponding to the correction factors applied to the recorded odometry data.
- In the experiments presented here, the odometer trace was divided into segments of 3 meters in length.
- That is, the measured values of δ j and α j obtained from the robot's odometry are assumed to lie within a fixed range of their true values (in the experiments presented here, a range of ±2% was assumed for both the distances and angles).
- It would also be possible to assume some parametric distribution (e.g., Gaussian) for the correction factors during initialization.
B. Fitness Function
- The fitness function contains domain specific knowledge that is used to assess the quality of the candidate solutions.
- A much simplified version of the occupancy grid model [12] is used to construct a map for each candidate solution, then two heuristics are combined to obtain a fitness value for each map.
- The recorded odometry data is corrected using the correction factors encoded in the chromosome.
- The following heuristic functions are then calculated:.
1) Map Consistency (MC1):
- The idea here is to measure the overall consistency of the sensory information contained in the gridmap.
- The authors try to measure the degree of disagreement or "conflict" between the sensor readings.
- A similar metric was proposed by Murphy et al. [13] based on Dempster-Shafer theory.
2) Map Compactness (MC2):
- Early experiments with the map consistency measure showed that the genetic algorithm could produce maps with very low conflict but which were obviously incorrect to the human eye.
- The GA would try to avoid conflictrather than resolving it -by "twisting" certain critical areas of the map away from one another, when the represented regions were in fact physically adjacent (see Fig. 2 ).
- The idea here is to reward the GA for producing smaller, more compact maps.
- Note that better maps produce lower values of F.
C. Selection, Crossover and Mutation
- The selection phase in a genetic algorithm involves creating a "mating pool" by picking individual solutions that are fitter with higher probability.
- Individuals are then assigned an offspring count that is solely a function of their rank, using the scheme proposed by Baker [1] .
- Instead, a scheme known as Remainder Stochastic Sampling Without Replacement is used.
- The remaining strings needed to fill out the population are then obtained randomly by generating new offspring for each string with probability equal to the fractional part of e l .
- Pairs of selected strings are then combined by crossover.
V. EXPERIMENTAL RESULTS
- The algorithm was first tested using data recorded by a Pioneer I mobile robot equipped with a SICK laser scanner at the Artificial Intelligence Lab of the University of Freiburg [6] .
- The genetic algorithm was run for 150 generations with a population size of 50, i.e., a total of 7500 candidate maps were evaluated, taking around 2 hours on a 200MHz Pentium II processor.
- Fig. 4 shows the resulting fitness values produced, illustrating the convergence of the algorithm over time.
- The corrected sensor data obtained from the fittest solution, together with the corresponding gridmap, is shown in Fig. 3 .
Did you find this useful? Give us your feedback
Citations
5 citations
Cites methods from "A genetic algorithm for simultaneou..."
...Moreover, compared with Duckett’s [27] method, our approach is able to find the optimal solution much faster, because we used the EP for training the weight of the NN and this means that search space of the EP is much smaller than with Duckett’s approach....
[...]
...Feature maps were also generated using Duckett’s GA-based SLAM [27] and EKF-SLAM....
[...]
...The feature map from GAbased SLAM was smaller than the actual one because the cost function of the GA in Duckett’s method is a combination of map consistency and compactness....
[...]
...Duckett [27] also used a GA-approach to solve the SLAM problem....
[...]
...In addition, it can find an optimal solution more easily than Duckett’s [27] method, because the NN is able to ‘learn’ the relationship between the robot’s motion increment and the robot’s odometric error under consideration about the sensor uncertainty....
[...]
4 citations
Cites methods from "A genetic algorithm for simultaneou..."
...In recent years, the evolutionary algorithms are widely used to solve the SLAM problems [3-12]....
[...]
...In [3], a genetic algorithm was used to solve the SLAM problem which was defined as a global optimization problem....
[...]
4 citations
Cites background from "A genetic algorithm for simultaneou..."
...[ 9 ]. To sum up, the algorithm proposed in this paper can increase the convergence rate of evolutionary computation for CML....
[...]
4 citations
Additional excerpts
...Duckett [12] reported a GA based SLAM with global optimisation....
[...]
4 citations
Cites background from "A genetic algorithm for simultaneou..."
...L'un des premiers articles à avoir traité le problème du SLAM en utilisant les algorithmes génétiques est [69]....
[...]
References
52,797 citations
32,573 citations
"A genetic algorithm for simultaneou..." refers methods in this paper
...GAs are a well-known search technique in which simplified, numerical forms of the biological processes of selection, inheritance and variation are used to improve the average fitness of the population through successive iterations [7]....
[...]
12,457 citations
"A genetic algorithm for simultaneou..." refers background in this paper
...Genetic algorithms are particularly useful for solving environment modelling problems because they exploit the building block hypothesis, whereby better and better strings are constructed from the best partial solutions (i.e., schemata or building blocks) of previous generations [ 4 ]....
[...]
2,834 citations
2,358 citations
"A genetic algorithm for simultaneou..." refers methods in this paper
...[11] introduced a hybrid approach using a particle filter to track the pose of the robot, where each particle is associated with a set of Kalman filters estimating the position for each landmark....
[...]
Related Papers (5)
Frequently Asked Questions (2)
Q2. What are the future works in "A genetic algorithm for simultaneous localization and mapping" ?
A further possibility would be to combine the global search algorithm with a local optimization method, e. g., EKF [ 5 ], consistent pose estimation [ 10 ], relaxation [ 3 ], etc. A further possibility would be to investigate implementation of the algorithm on parallel processors, given the parallel nature of evolutionary computation. Future work should also include more detailed theoretical and empirical analysis of the problem and the algorithm required to solve it, e. g., with respect to the fitness criteria needed for different environments.