scispace - formally typeset
Search or ask a question
Proceedings ArticleDOI

A genetic algorithm for simultaneous localization and mapping

Tom Duckett1
10 Nov 2003-Vol. 1, pp 434-439
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

Content maybe subject to copyright    Report

A Genetic Algorithm for Simultaneous Localization and Mapping
Tom Duckett
Centre for Applied Autonomous Sensor Systems
Dept. of Technology,
¨
Orebro University
SE-70182
¨
Orebro, Sweden
http://www.aass.oru.se
AbstractThis 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 al-
gorithm 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.
I. INTRODUCTION
Maps are very useful for navigation by mobile
robots in complex environments, being needed for
tasks such as self-localization, path planning, manip-
ulation of objects, and interaction with humans. To
navigate in unknown environments, an autonomous
robot requires the ability to build its own map while
simultaneously maintaining an estimate of its own
position. This is a hard problem because the same,
noisy sensor data must be used for both mapping and
localization. We can separate two major sources of
uncertainty in solving this problem:
(i.) the continuous uncertainty in the positions of the
vehicle and the observed environmental features
(e.g., due to sensor noise, uncertain execution of
motor commands, etc.), and
(ii.) the combinatorial labelling problem of data as-
sociation (e.g., landmark identification, feature
recognition, place recognition, etc.) in which a
correspondence must be found between sensor
measurements and the features already repre-
sented in the map.
Most current solutions to the SLAM problem con-
sider only the first type of uncertainty, and assume
that the data association problem is solved when
observations are integrated into the map (e.g., it is
typical to assume that all landmarks can be identified
uniquely). However, this assumption is bound to fail
sooner or later for robots operating in complex envi-
ronments. In short, data association failures produce
localization errors, which can lead to catastrophic
errors in the map. Without this assumption, the robot
must somehow search the space of possible maps,
since alternative assignments in data association can
induce very different maps.
In this paper, a new approach is proposed in which
SLAM is defined as a global optimization problem,
and the objective is to search the space of possible
robot trajectories. There is no explicit data associa-
tion or self-localization phase. Instead, the recorded
odometry data of the robot is used as a model from
which an initial population of possible trajectories
is randomly generated. 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). 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].
The rest of this paper is structured as follows.
After a brief review of related work, SLAM is
defined as a global optimization problem (Section
3), followed by a description of the genetic algorithm
developed to solve it (Section 4). Experimental re-
sults using sensor data from a real robot are then
presented, followed by conclusions and suggestions
for future work.

II. RELATED WORK
A classical solution to the SLAM problem is the
Extended Kalman Filter (EKF), a linear recursive
filter that estimates the absolute position of the robot
and all of the landmarks in the map (see e.g., [2],
[5]). 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.
Nebot et al. [14] extended the EKF with a Monte
Carlo sampling technique for handling possible data
association errors. 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. While this
approach may reduce the number of data association
errors, it does not preclude them in all situations.
Measurements for incorrectly identified landmarks
would still be integrated by the EKF, producing an
incorrect map.
Gutmann and Konolige [6] considered mapping
of large, circular environments using a combination
of topological and metric representations. An in-
cremental version of the Lu and Milios algorithm
for registration of laser scans [10] was first used
to find the most consistent metric representation
given the current topology. Then a global correlation
procedure [8] was used to detect when a previously
visited location had been reached. This would trigger
iteration of the local registration algorithm to obtain
a new metric map based on the corrected topology,
thus “closing the loop”. A drawback of this approach
is that false matches in the global registration proce-
dure could produce catastrophic mapping errors.
Thrun et al. [16] used an expectation maximization
(EM) algorithm for robot mapping, which alternates
between an ‘E-step’ that estimates the trajectory of
the robot given the current map and an ‘M-step’ that
estimates the map given the current trajectory. While
effective, this technique is basically a gradientbased
hill-climber or local optimization technique, so it de-
pends upon a good initial solution to avoid becoming
trapped in a local optimum.
Montemerlo et al. [11] introduced a hybrid ap-
proach 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. This approach has the advantage that it
is able to represent and search between multiple
hypotheses for the full map (i.e., each hypothesis
comprises the robot pose and all landmark positions).
It has the disadvantage that the particle set must be
large enough to include a particle sufficiently close
to the true pose of the robot at all times, which may
not be practical when closing very large loops.
III. SLAM AS A GLOBAL OPTIMIZATION
PROBLEM
In an optimization problem, the aim is to minimize
or maximize some objective function. 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].
In this paper, SLAM is treated as a continuous
global optimization problem with the following ele-
ments:
(i.) The search is carried out in the space of possible
robot trajectories. A trajectory can be defined as
a vector [δ
1
, α
1
, ..., δ
N
, α
N
] where δ
j
and α
j
are
the relative distance and rotation travelled by the
robot in one small step j, and there are N steps
in total.
(ii.) The robot’s own measurements of its trajectory
are used as a generative model. In general, these
measurements will be corrupted by noise, e.g.,
due to odometer drift error. We use the recorded
odometry trace of the robot to generate candi-
date solutions by applying different correction
factors to the measured values of δ
j
and α
j
.
(iii.) Candidate solutions are coded as a vector of cor-
rection factors. The trajectory of the robot is first
divided into M segments, where M N in gen-
eral, in order to reduce the number of variables
optimized to a manageable level. One solu-
tion consists of a vector [δ
1
, α
1
, ..., δ
M
, α
M
]
where δ
k
, α
k
are the correction factors ap-
plied to the distance and angle measurements
within one segment k. We assume that the
noise properties are uniform along the trajectory
within each segment.
(iv.) A set of allowed moves for generating new
solutions from previous ones is defined.
(v.) An evaluation function is used to assess the
quality of the candidate solutions. This is imple-
mented by inferring a map from each candidate
trajectory, then using a heuristic function to
assess the quality of the maps obtained.
With this approach, 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. In this paper, the SLAM problem is thus
solved by a genetic algorithm, described as follows.
IV. THE GENETIC ALGORITHM
Genetic algorithms are a global search technique
which mimic aspects of biological evolution, namely
the process of natural selection and the principle
of “survival of the fittest”. They use an adaptive
search procedure based on a population of candidate
solutions or “chromosomes”. Each iteration or “gen-
eration” involves a competitive selection procedure
that favours fitter solutions and rejects poorer solu-
tions. The successful candidates are then recombined
with other solutions by swapping components with
one other; they can also be mutated by making a
small change to a single component. The procedure
is repeated for many generations, producing new
solutions that are biased towards regions of the
search space in which good solutions have already
been found.
A. Chromosome Encoding
Each chromosome is encoded as a string of float-
ing 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. For
the environment of Fig. 1, there were 50 segments
corresponding to the 150 meters travelled by the
robot.
For each segment k, the chromosome contains two
floating point numbers d
max
δ
k
+d
max
and
a
max
α
k
+a
max
that encode the correction
factors applied to the distance and angle measure-
ments respectively. 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).
The initial population of chromosome is obtained
by randomly initializing the values of δ
k
and α
k
in this range. 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. An important property is that it
must be very fast, since it may be executed thousands
of times in one run of the algorithm.
In this paper, 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
whole procedure runs in approximately 0.95 seconds
on a 200MHz Pentium II processor for one candidate
solution using the map data of Fig. 1 with 25971
readings from a SICK laser scanner (only 1 out of
every 5 readings is used in each scan, where the scans
are taken at intervals of 10 cm, and the remaining
readings are discarded). The procedure is described
as follows.
The recorded odometry data is corrected using
the correction factors encoded in the chromosome.
Then the corrected odometry is combined with the
recorded laser range-finder data of the robot to
build an occupancy grid with a resolution of 10 cm.
Because of the use of laser data, we do not need
complex ray or cone models; a simple line model is
sufficient. For each cell i in the grid, two quantities
are calculated: occ
i
, the number of laser readings
which indicate that the cell is occupied, and emp
i
,
the number of readings which indicate that the cell
is empty. 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. We 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. The measure is calculated as
MC
1
=
i
min(occ
i
, emp
i
)
by taking the minimum of the occ
i
and emp
i
values
for all cells i.
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 conflict
rather 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

Fig. 1. Raw sensor data from the Artificial Intelligence Lab,
Freiburg, as in [6], showing the odometry trace and laser range-
finger readings.
smaller, more compact maps. This is done by fitting
a bounding box to the map that indicates the total
area covered by cells with occ
i
> 0. The measure is
calculated as
MC
2
= (x
max
x
min
) × (y
max
y
min
)
where x
max
and x
min
refer to the maximum and
minimum x-coordinates of the bounding box,
measured in number of grid cells.
Fitness Value: Finally, the two metrics are com-
bined as
F = MC
1
+ wMC
2
where the weight w = 0.3 determines the relative im-
portance of the two heuristics in the fitness function.
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 so-
lutions that are fitter with higher probability. The
selected individuals in the mating pool are then com-
bined to make a new population using the crossover
operator, with occasional small random changes due
to the mutation operator, described as follows.
In the GA presented here, the population is first
sorted according to the values produced by the fitness
function. Individuals are then assigned an offspring
count that is solely a function of their rank, using the
scheme proposed by Baker [1]. In this method, each
Fig. 2. Corrected sensor data obtained using only the fitness
function F = MC
1
and the corresponding gridmap.
string l is assigned an expected offspring count e
l
.
The fittest individual is assigned a value of e
l
= λ
max
,
the weakest individual is assigned a value of e
l
=
λ
min
, and the other members of the population are as-
signed an intermediate value by linear interpolation.
In this paper, values of λ
max
= 1.5 and λ
min
= 0.5
were used.
The standard selection method in a GA is the
weighted roulette wheel [7]. However, this scheme
has the problem that the best individuals may fail
to produce offspring in the next generation, resulting
in a so-called stochastic error [9]. Instead, a scheme
known as Remainder Stochastic Sampling Without
Replacement is used. Each individual is first allo-
cated offspring according to the integer part of e
l
in completely deterministic fashion. 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
. “Without replacement” means that strings
can only be selected once in the non-deterministic
phase, so that a string with e
l
= 1.5 would receive
either 1 or 2 offspring in total.
Pairs of selected strings are then combined by
crossover. Multiple crossover sites are used, so that
the encoded values in the two mating strings are
completely mixed up in the two strings produced.
This is achieved by randomly choosing between
the two parents at each site in the chromosome.
Crossover is carried out with probability p = 0.85,
otherwise the selected strings are left unchanged.
Mutation is carried out by picking single values

Fig. 3. Corrected sensor data obtained using the full fitness
function F = MC
1
+ wMC
2
and the corresponding gridmap.
within the strings with very low probability p =
0.005 and replacing those values with randomly
generated values, as upon initialization.
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 raw sensor data is
shown in Fig. 1. 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, il-
lustrating 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.
VI. CONCLUSIONS AND FUTURE WORK
The major contribution of this paper is that the
problem of simultaneous localization and mapping
(SLAM) has been defined for the first time as a
global optimization problem. A genetic algorithm
was developed to solve this problem, producing a
global solution by searching the space of possible
robot maps.
Genetic algorithms are particularly useful for solv-
ing environment modelling problems because they
Fig. 4. Fitness values over time for the genetic algorithm using
the data of Fig. 1, showing the fitness of both the best and median
members of the population in each generation.
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]. Most real world envi-
ronments can be decomposed spatially into natu-
ral building blocks such as rooms, corridors, open
spaces, etc.
A major benefit of the approach is that it makes
very few assumptions about the underlying problem,
and the only critical parameter is the weighting
between the consistency and compactness heuristics
in the fitness function. A disadvantage of the ap-
proach at present is that it requires large amounts of
computation.
There are other possible algorithms for performing
global optimization [15], such as branch and bound
algorithms, simulated annealing, etc., which should
also be investigated. 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. In the case of
the GA, this could dramatically reduce the overall
computation time.
Another important direction is to implement an on-
line version of the algorithm suitable for use in real-
time on a self-navigating mobile robot. This would
involve continually searching the space of possible
maps while the robot is in motion, automatically ex-
tending the candidate maps with the incoming sensor
information. The current best map would be used
for decision making, e.g., path planning. A further
possibility would be to investigate implementation
of the algorithm on parallel processors, given the
parallel nature of evolutionary computation.

Citations
More filters
Book ChapterDOI
01 Jul 2005
TL;DR: A new version of Monte Carlo localization (MCL) is proposed to overcome some limitations and to get higher localization precision, to improve efficiency and to prevent premature convergence of MCL are the key concerns of the researchers.
Abstract: Self-localization, a basic problem in mobile robot systems, can be divided into two subproblems: pose tracking and global localization. In pose tracking, the initial robot pose is known, and localization seeks to identify small, incremental errors in a robot’s odometry (Leonard & Durrant-Whyte, 1991). In global localization, however the robot is required to estimate its pose by local and incomplete observed information under the condition of uncertain initial pose. Global localization is a more challenging problem. Only most recently, several approaches based on probabilistic theory are proposed for global localization, including grid-based approaches (Burgard et al., 1996), topological approaches (Kaelbling et al., 1996) (Simmons & Koenig, 1995), Monte Carlo localization (Dellaert et al., 1999) and multi-hypothesis tracking (Jensfelt & Kristensen, 2001) (Roumeliotis & Bekey, 2000). By representing probability densities with sets of samples and using the sequential Monte Carlo importance sampling (Andrieu & Doucet, 2002), Monte Carlo localization (MCL) can represent non-linear and non-Gaussian models well and focus the computational resources on regions with high likelihood. So MCL has attracted wide attention and has been applied in many real robot systems. But traditional MCL has some shortcomings. Since samples are actually drawn from a proposal density, if the observation density moves into one of the tails of the proposal density, most of the samples’ non-normalized importance factors will be small. In this case, a large sample size is needed to represent the true posterior density to ensure stable and precise localization. Another problem is that samples often too quickly converge to a single, high likelihood pose. This might be undesirable in the case of localization in symmetric environments, where multiple distinct hypotheses have to be tracked for extended periods of time. How to get higher localization precision, to improve efficiency and to prevent premature convergence of MCL are the key concerns of the researchers. To make the samples represent the posterior density better, Thrun et al. proposed mixtureMCL (Thrun et al., 2001), but it needs much additional computation in the sampling process. To improve the efficiency of MCL, methods adjusting sample size adaptively over time are proposed (Fox, 2003) (Koller & Fratkina, 1998), but they increase the probability of premature convergence. Although clustered particle filters are applied to solve premature convergence (Milstein et al., 2002), the method loses the advantage of focusing the computational resources on regions with high likelihood because it maintains the same sample size for all clusters. In this paper, a new version of MCL is proposed to overcome those limitations. Samples are clustered into groups which are also called species. A coevolutionary model derived from competition of ecological species is introduced to

14 citations


Cites background or methods from "A genetic algorithm for simultaneou..."

  • ..., 1996), map building (Duckett, 2003) and even pose tracking for robot localization (Moreno et al....

    [...]

  • ...Evolutionary algorithms (EAs), especially genetic algorithms, have been successfully used in different mobile robot applications, such as path planning (Chen & Zalzala, 1995) (Potvin et al., 1996), map building (Duckett, 2003) and even pose tracking for robot localization (Moreno et al., 2002)....

    [...]

Book ChapterDOI
07 Oct 2019
TL;DR: The use of Genetic Algorithm to optimize parameters with reference to LIMO and maximize LIMO's localization and motion estimation performance is argued and it is shown that the genetic algorithm helps LIMO to reduce translation error in different datasets.
Abstract: Lidar-Monocular Visual Odometry (LIMO), an odometry estimation algorithm, combines camera and LIght Detection And Ranging sensor (LIDAR) for visual localization by tracking features from camera images and LIDAR measurements. LIMO then estimates the motion using Bundle Adjustment based on robust key frames. LIMO uses semantic labelling and weights of the vegetation landmarks for rejecting outliers. A drawback of LIMO as well as many other odometry estimation algorithms is that it has many parameters that need to be manually adjusted according to dynamic changes in the environment in order to decrease translational errors. In this paper, we present and argue the use of Genetic Algorithm (GA) to optimize parameters with reference to LIMO and maximize LIMO’s localization and motion estimation performance. We evaluate our approach on the well-known KITTI odometry dataset and show that the GA helps LIMO to reduce translation error in different datasets.

14 citations


Cites methods from "A genetic algorithm for simultaneou..."

  • ...Closer to our research, GAs have been applied to early SLAM optimization problems [32], mobile localization using ultrasonic sensors [33] [34], and in deep reinforcement learning [35]....

    [...]

Dissertation
15 May 2014
TL;DR: The proposed localization and mapping algorithm is well suited for confined environments including but not limited to: geological folds, boulder areas, caves, man-made walls and structures, where a horizontal scanning sonar can constantly detect and distinguish its surroundings over most of the vehicle's trajectory.
Abstract: This thesis presents the development of a localization and mapping algorithm for an autonomous underwater vehicle (AUV). It is based on probabilistic scan matching of raw sonar scans within a pose-based SLAM framework. To address the motion-induced distortions affecting the generation of full sector scans, an Extended Kalman Filter (EKF) is used to estimate the robot motion during that scan. The filter uses a constant velocity model with acceleration noise for motion prediction. Velocities from doppler velocity log (DVL) and heading measurements from attitude and heading reference system (AHRS) are fed asynchronously and update the state. The scan is undistorted by compounding the relative robot position in the scan, with the range and bearing measurements of the beams gathered by the sonar. Assuming Gaussian noise, the algorithm is able to estimate the uncertainty of the sonar measurements with respect to a frame located at the center of the scan. For estimating the global trajectory of the vehicle, a second filter, an augmented-state EKF (ASEKF), stores the pose of the vehicle where each full scan was completed. Each new full scan is cross registered with all the previous scans that are in a certain range and a modified pIC algorithm is applied. This technique has a twofold effect: first, we obtain a better estimate of the vehicle's displacement that is then used to update the ASEKF, and second, loop-closing events are updated automatically and simultaneously. In addition, we present a closed form method for estimating the uncertainty of the scan matching result. The proposed method is well suited for confined environments including but not limited to: geological folds, boulder areas, caves, man-made walls and structures, where a horizontal scanning sonar can constantly detect and distinguish its surroundings over most of the vehicle's trajectory. The method was tested with three real-world datasets: one obtained in an abandoned marina during an engineering test mission, and two additional ones in the natural environment of underwater cavern systems. In the marina dataset, the results show the quality of our algorithm by comparing it to the ground truth from a GPS receiver and to other previously published algorithms.For the cavern datasets, the results are compared against fixed ground truth points that the vehicle visits twice along the trajectory it travels. In all the experiments the trajectory correction is notable and the unoptimized algorithm execution time is much faster than the experiment time, indicating the potential of the algorithm for real-time on-board AUV operation.

13 citations


Cites methods from "A genetic algorithm for simultaneou..."

  • ...Duckett (2003) introduce the genetic algorithm to a SLAM problem using laser scans. Mart́ınez et al. (2006) and Ze-Su et al. (2007) worked both on a mixed ICP algorithm aided by a genetic algorithm....

    [...]

  • ...Duckett (2003) introduce the genetic algorithm to a SLAM problem using laser scans....

    [...]

Proceedings ArticleDOI
01 Oct 2006
TL;DR: This paper replaces the "Evolve" step of the particle filter by the mutation and crossover operators in the GA to solve the conventional Monte Carlo methods problems.
Abstract: Probabilistic visual tracking has been an active research area in the computer vision community in the last few years Recently, the popular approach to analyze human motion is the use of particle filtering and its extension which mainly based on the Bayes' rule It has been pointed out that an essential structure involved in the particle filter is quite similar to that in the genetic algorithm In the sampling stage and resampling stage of the particle filter, particles are drawn from the prior probability distribution of the state evolution Consequently, the algorithm demands a large number of particles and computationally expensive In this paper, we elaborate on the relationship of the particle filter and genetic algorithm, then we replace the "Evolve" step of the particle filter by the mutation and crossover operators in the GA to solve the conventional Monte Carlo methods problems Experiments with tracking real image sequences are made to compare the performance of the two algorithm

11 citations

Proceedings ArticleDOI
23 Sep 2011
TL;DR: The advances made in improving the tinySLAM algorithm, until version 1.1.1 are discussed, which allowed us to run two loops of position estimation in parallel, with different characteristics, and found the algorithm has a better chance to find a good estimate of the position.
Abstract: This paper presents the tinySLAM algorithm, which enables a mobile robot to perform automatic localization and mapping, called SLAM. Indeed, it is one of the essential bricks to build an autonomous robot that can evolve in an unknown environment. Several methods and algorithms have been developed to solve this problem, using various techniques and sensors. TinySLAM is a SLAM algorithm based on the principle of IML (Incremental Maximum Likelihood). It uses data from a laser sensor to estimate the most probable position of the robot in a 2D map. We have worked extensively on improving the computation speed of this estimate. Results obtained allowed us to run two loops of position estimation in parallel, with different characteristics. The algorithm has a better chance to find a good estimate of the position. In previous work, we presented a first version of this algorithm. This paper talks about the advances made in improving the tinySLAM algorithm, until version 1.1.

11 citations


Cites background from "A genetic algorithm for simultaneou..."

  • ...One of the first papers to address the SLAM problem using a genetic algorithm is [4]....

    [...]

References
More filters
Book
01 Sep 1988
TL;DR: In this article, the authors present the computer techniques, mathematical tools, and research results that will enable both students and practitioners to apply genetic algorithms to problems in many fields, including computer programming and mathematics.
Abstract: From the Publisher: This book brings together - in an informal and tutorial fashion - the computer techniques, mathematical tools, and research results that will enable both students and practitioners to apply genetic algorithms to problems in many fields Major concepts are illustrated with running examples, and major algorithms are illustrated by Pascal computer programs No prior knowledge of GAs or genetics is assumed, and only a minimum of computer programming and mathematics background is required

52,797 citations

Book
01 Jan 1975
TL;DR: Names of founding work in the area of Adaptation and modiication, which aims to mimic biological optimization, and some (Non-GA) branches of AI.
Abstract: Name of founding work in the area. Adaptation is key to survival and evolution. Evolution implicitly optimizes organisims. AI wants to mimic biological optimization { Survival of the ttest { Exploration and exploitation { Niche nding { Robust across changing environments (Mammals v. Dinos) { Self-regulation,-repair and-reproduction 2 Artiicial Inteligence Some deenitions { "Making computers do what they do in the movies" { "Making computers do what humans (currently) do best" { "Giving computers common sense; letting them make simple deci-sions" (do as I want, not what I say) { "Anything too new to be pidgeonholed" Adaptation and modiication is root of intelligence Some (Non-GA) branches of AI: { Expert Systems (Rule based deduction)

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

    [...]

01 Jan 1989

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

    [...]

Journal ArticleDOI
01 Jun 2001
TL;DR: The paper proves that a solution to the SLAM problem is indeed possible and discusses a number of key issues raised by the solution including suboptimal map-building algorithms and map management.
Abstract: The simultaneous localization and map building (SLAM) problem asks if it is possible for an autonomous vehicle to start in an unknown location in an unknown environment and then to incrementally build a map of this environment while simultaneously using this map to compute absolute vehicle location. Starting from estimation-theoretic foundations of this problem, the paper proves that a solution to the SLAM problem is indeed possible. The underlying structure of the SLAM problem is first elucidated. A proof that the estimated map converges monotonically to a relative map with zero uncertainty is then developed. It is then shown that the absolute accuracy of the map and the vehicle location reach a lower bound defined only by the initial vehicle uncertainty. Together, these results show that it is possible for an autonomous vehicle to start in an unknown location in an unknown environment and, using relative observations only, incrementally build a perfect map of the world and to compute simultaneously a bounded estimate of vehicle location. The paper also describes a substantial implementation of the SLAM algorithm on a vehicle operating in an outdoor environment using millimeter-wave radar to provide relative map observations. This implementation is used to demonstrate how some key issues such as map management and data association can be handled in a practical environment. The results obtained are cross-compared with absolute locations of the map landmarks obtained by surveying. In conclusion, the paper discusses a number of key issues raised by the solution to the SLAM problem including suboptimal map-building algorithms and map management.

2,834 citations

01 Jan 2003
TL;DR: This paper presents FastSLAM, an algorithm that recursively estimates the full posterior distribution over robot pose and landmark locations, yet scales logarithmically with the number of landmarks in the map.
Abstract: Simultaneous Localization and Mapping (SLAM) is an essential capability for mobile robots exploring unknown environments. The Extended Kalman Filter (EKF) has served as the de-facto approach to SLAM for the last fifteen years. However, EKF-based SLAM algorithms suffer from two well-known shortcomings that complicate their application to large, real-world environments: quadratic complexity and sensitivity to failures in data association. I will present an alternative approach to SLAM that specifically addresses these two areas. This approach, called FastSLAM, factors the full SLAM posterior exactly into a product of a robot path posterior, and N landmark posteriors conditioned on the robot path estimate. This factored posterior can be approximated efficiently using a particle filter. The time required to incorporate an observation into FastSLAM scales logarithmically with the number of landmarks in the map. In addition to sampling over robot paths, FastSLAM can sample over potential data associations. Sampling over data associations enables FastSLAM to be used in environments with highly ambiguous landmark identities. This dissertation will describe the FastSLAM algorithm given both known and unknown data association. The performance of FastSLAM will be compared against the EKF on simulated and real-world data sets. Results will show that FastSLAM can produce accurate maps in extremely large environments, and in environments with substantial data association ambiguity. Finally, a convergence proof for FastSLAM in linear-Gaussian worlds will be presented.

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

    [...]

Frequently Asked Questions (2)
Q1. What are the contributions in "A genetic algorithm for simultaneous localization and mapping" ?

This paper addresses the problem of simultaneous localization and mapping ( SLAM ) by a mobile robot. 

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.