# A genetic algorithm for simultaneous localization and mapping

TL;DR: A genetic algorithm is described for solving the problem of simultaneous localization and mapping by a mobile robot, in which a population of candidate solutions is progressively refined in order to find a globally optimal solution.

Abstract: This paper addresses the problem of simultaneous localization and mapping (SLAM) by a mobile robot. The SLAM problem is defined as a global optimization problem in which the objective is to search the space of possible robot maps. A genetic algorithm is described for solving this problem, in which a population of candidate solutions is progressively refined in order to find a globally optimal solution. The fitness values in the genetic algorithm are obtained with a heuristic function that measures the consistency and compactness of the candidate maps. The results show that the maps obtained are very accurate, though the approach is computationally expensive. Directions for future research are also discussed.

## 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

...read more

##### Citations

403 citations

174 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....

[...]

155 citations

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....

[...]

101 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....

[...]

##### References

52,793 citations

32,115 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,378 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,695 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.