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
406 citations
176 citations
Cites background or methods from "A genetic algorithm for simultaneou..."
...Duckett (2003) searches through the space of possible robot trajectories using a genetic algorithm....
[...]
...topologies. Duckett (2003) searches through the space of possible robot trajectories using a genetic algorithm....
[...]
165 citations
115 citations
Cites methods from "A genetic algorithm for simultaneou..."
...In [17], a GA with a simple fitness function design was applied in mobile robot localization and mapping but insights into the algorithm were not reported either....
[...]
102 citations
Cites background from "A genetic algorithm for simultaneou..."
...Recent work by Duckett [7] on the SLAM problem is similar to our own, in the sense that he too deals with the space of possible maps....
[...]
References
967 citations
"A genetic algorithm for simultaneou..." refers methods in this paper
...Individuals are then assigned an offspring count that is solely a function of their rank, using the scheme proposed by Baker [1]....
[...]
...REFERENCES [1] J. Baker....
[...]
836 citations
"A genetic algorithm for simultaneou..." refers background in this paper
...The EKF requires analytic models of the vehicle motion and observations, it makes a number of assumptions which are often violated in practice, and it will fail whenever data association fails....
[...]
...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....
[...]
...The EKF is used for normal operation, only switching to the sampling technique to resolve ambiguities in landmark identification, e.g., when a large loop is to be closed....
[...]
...Nebot et al. [14] extended the EKF with a Monte Carlo sampling technique for handling possible data association errors....
[...]
..., EKF [5], consistent pose estimation [10], relaxation [3], etc....
[...]
826 citations
648 citations
"A genetic algorithm for simultaneou..." refers background or methods in this paper
...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]....
[...]
...[8] K. Konolige and K. Chou....
[...]
...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]....
[...]
...Gutmann and Konolige [6] considered mapping of large, circular environments using a combination of topological and metric representations....
[...]
...Raw sensor data from the Artificial Intelligence Lab, Freiburg, as in [6], showing the odometry trace and laser rangefinger readings....
[...]
145 citations
"A genetic algorithm for simultaneou..." refers methods in this paper
...Then a global correlation procedure [8] was used to detect when a previously visited location had been reached....
[...]
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.