ArticlePDF Available

On map merging

Authors:
  • Constructor University

Abstract and Figures

We illustrate our experience in developing and implementing algorithms for map merging, i.e., the problem of fusing two or more partial maps without common reference frames into one large global map. The partial maps may for example be acquired by multiple robots, or during several runs of a single robot from varying starting positions. Our work deals with low quality maps based on probabilistic grids, motivated by the goal to develop multiple mobile platforms to be used in rescue environments. Several contributions to map merging are presented. First of all, we address map merging using a motion planning algorithm. The merging process can be done by rotating and translating the partial maps until similar regions overlap. Second, a motion planning algorithm is presented which is particular suited for this task. Third, a special metric is presented which guides the motion planning algorithm towards the goal of optimally overlapping partial maps. Results with our approach are presented based on data gathered from real robots developed for the RoboCupRescue real robot league.
Content may be subject to copyright.
On Map Merging
Stefano Carpin, Andreas Birk, Viktoras Jucikas
School of engineering and science
International University Bremen
D-28725 Bremen, Germany
Abstract
We illustrate our experience in developing and implementing algorithms for map merging,
i.e., the problem of fusing two or more partial maps without common reference frames into
one large global map. The partial maps may for example be acquired by multiple robots or
during several runs of a single robot from varying starting positions. Our work deals with
low quality maps based on probabilistic grids, motivated by the goal to develop multiple
mobile platforms to be used in rescue environments. Several important contributions to map
merging are presented. First of all, we treat map merging as a motion planning problem.
The merging process can be done by rotating and translating the partial maps until identical
regions overlap, somewhat similar to protein docking. Second, a motion planning algorithm is
presented which is particular suited for this task. Third, a special metric is presented which
guides the motion planning algorithm toward the goal of optimally overlapping partial maps.
Results with our approach are presented based on data gathered from real robots developed
for the real robot rescue league of RoboCup.
Final Version:
International Journal of Robotics and Autonomous Systems,
vol. 53, pp. 1-14, 2005.
@article{multimap_ras05,
author = {Carpin, Stefano and Birk, Andreas and Jucikas, Victoras},
title = {On Map Merging},
journal = {International Journal of Robotics and Autonomous Systems},
volume = {53},
pages = {1-14},
year = {2005},
}
1 Introduction
The ability to build a map of an unknown environment is one of the fundamental enabling capa-
bilities for mobile robots. Having an accurate map enables the robot to perform certain tasks like
navigation, localization and so forth much faster and more accurately. In fact, in the past years a
significant amount of research has been devoted to the subject (see for example [1] for a survey on
mapping algorithms). A generalized problem often addressed in the same context is the so called
SLAM (Simultaneous Localization And Mapping), where the robot is required to build a map and
localize itself at the same time. Some common aspects of the former literature are the following.
First, the map is produced and used by the robot for tasks like navigation, motion and mission
planning, etc. Second, the robot is equipped with sensors and algorithms which if correctly used
1
can produce highly precise maps. Finally, the robot is supposed to move in a structured environ-
ment, like the interior of a building, where certain features like doors, corridors intersections and
so on can be easily extracted and identified.
In this paper we address an important variant of the mapping problem. Our goal is to combine,
or merge, two or more planar maps. As pointed out in [2], map merging is an interesting and
difficult problem, which has not enjoyed the same attention that localization and map building have.
The problem of map merging has been partially addressed in [3], where local maps are periodically
merged into a global map, to reduce the computational efforts of constantly maintaining a global
map. Online multi-robot mapping has been addressed in various researches like [4],[5], but the
underlying hypothesis and operating scenarios are different. Our main assumption for map merging
is that there is no knowledge about the relative positions of the partial maps which are to be
combined. Take for example multiple robots that independently explore an environment. If there
is no global reference frame on which the starting poses of the robots can be mapped, there is
no known relation between the individual maps the robots generate. Each of them has its own
reference frame based on the initial poses of the robots. The same holds if a single robot does
multiple runs from different starting positions in the same environment. If the starting positions
are not on known locations on a global reference frame, i.e. if no global map already exists, the
reference frames of the acquired maps will be based on the unknown initial starting points. The
individual maps, from individual robots in the multi-robot case or individual runs in the single
robot case, will typically only cover a part of the environment; we hence dub them partial maps.
So, the challenge for the merging process is therefore to identify regions that occur in at least two
partial maps to join them at this region. Throughout the paper it is assumed that maps to be
merged exhibit at least some overlap. The proposed approach is not applicable when the two maps
do not share any part. In such case, in fact, the whole map merging problem loses significance.
Our research efforts are motivated by the goal to develop rescue robots, to be used in the
Robocup Rescue League at the moment, and in real world applications in a following stage. We
therefore want fast and complete exploration, since the ultimate goal is to locate injured persons
and to extract them. It is then reasonable to use more than one robot, also to exploit other well
known advantages of multi-robot systems, like robustness, heterogeneity and so on [6]. In the
context of the Robocup Rescue League, we developed some robots which enter and map the same
environment at the same time. Because of the time issue, it is foreseeable that they will end up
exploring different parts of the rescue scenario. Then, when their exploration is completed, the
partially overlapping maps should be combined to produce a useful tool for humans as described
in [7], where an early form of this work is presented.
The problem of merging two or more maps into a single one can be seen as an optimization
problem, as usually more than a single matching is possible and the system is required to de-
termine the best one, according to some metric. In this article, we present several contributions
to map merging. First of all, we observe that the map merging problem is conceptually similar
to the ligand docking problem studied in computational biology. Both require to determine a
transformation that minimizes a given cost (or energy) function. Building on the fact that motion
planning algorithms are being currently used to address problems coming from computational
biology [8],[9], we propose to use a motion planning algorithm for studying map merging. The
merging process can be done by rotating and translating the partial maps until identical regions
overlap, somewhat similar to protein docking. Second, a motion planning algorithm is presented
which is particular suited for this task. Third, a special metric is presented which guides the
motion planning algorithm toward the goal of optimally overlapping partial maps.
In section 2 we elucidate how the map merging problem can be formulated as an optimization
problem and we describe a motion planning algorithm for solving this problem. Section 3 describes
a metric which guides the motion planning algorithm. The robots we built for the Robocup Rescue
competition are briefly depicted in section 4, where also the experimental results are presented.
Section 5 concludes the article.
2
2 Merging via random walks
The maps we aim to merge are based on the mapping software we developed for the Robocup 2003
competition, and that received the technical award from the organizers for having been the first
example of autonomous mapping system in the league [10],[11]. The mapping algorithm produces a
grid where beliefs are encoded, according to the sensor inputs. Each grid cell is assigned a certain
belief that it is free or occupied. While one could correctly argue that more refined mapping
algorithms might be developed, all the remaining parts of the paper still remain valid. Our goal
is to merge maps, independently from how they have been created. In particular, as we wish to
merge low quality maps, simple mapping strategies yield more challenging problems and allow to
better test and compare the different techniques. Moreover, given the peculiar characteristics of
the environment being mapped, the use of probabilistic maps appears appropriate [12]. Before
getting into the description of the algorithmic aspects, we begin with a formal definition of the
problem we are addressing. We start with the definition of a map.
Definition 1 Let Nand Mbe two positive real numbers. An N×Mmap is a function
m: [0, N ]×[0, M]R.
We furthermore denote with IN×Mthe set of N×Mmaps. Finally, for each map, a point
from R2is declared to be its reference point1. The reference point of map mwill be indicated as
R(m)=(rm
x, rm
y).
The function mis a model of the beliefs encoded in the map. For example, one could assume that
a positive value of m(x, y) is the belief that the point (x, y) in the map is free, while a negative
value indicates the opposite. The absolute value indicates the degree of belief. The important
point is that we assume that if m(x, y) = 0 no information is available. In the current problem
formulation we are for generality assuming that maps are functions from subsets of R2to R. It is
nevertheless evident that some discretization will be needed when implementing these algorithms.
This aspect will be addressed while discussing practical implementation details. We next define a
planar transformation which will be used to try different relative placements of two maps to find
a good matching. The formal definition is the following.
Definition 2 Let tx,tyand θbe three real numbers. The transformation associated with tx,tyand
θis the function
T Rtx,ty(x, y ) : R2R2
defined as follows:
T Rtx,ty(x, y ) = 100
010
cos θsin θ tx
sin θcos θ ty
0 0 1
x
y
1
(1)
As known, the transformation given in equation 1 corresponds to a rotation around the origin of
the the point (x, y) counterclockwise of θfollowed by a translation by (tx, ty). This transformation
is an injective function and this fact will be useful in what follows.
Definition 3 Let tx,tyand θbe three real numbers. The associated {tx, ty, θ}-map transformation
over IN×Mis the functional
Ttx,ty:IN×MIN×M
which transforms the map m1IN×Minto the map m2IN×Mdefined as follows:
m2(x, y) =
m1(x0, y0)if (x0, y0)[0, N ]×[0, M ]|
T Rtx,ty(x0rm1
x, y0rm1
y) = (x, y)
0elsewhere
(2)
Moreover, the reference point of m2is defined as R(m2) = (tx, ty).
1the reader should note that the reference point does not necessary belong to the domain. This will make some
notation easier later on.
3
The first case of equation 2 is well defined in light of the injectivity of equation 1. The rationale
behind the former definition is to define how a map is transformed into another when it is rotated
and translated. As in general arbitrary translations can be applied, the formulation given in
equation 2 assures that the transformed map m2is well defined and has the same domain of m1.
Definition 4 Adissimilarity function ψover IN×Mis a function
ψ:IN,M ×IN,M R+∪ {0}(3)
such that
m1IN,M ψ(m1, m1) = 0
given two maps m1and m2and a map transformation Tx,y,θ, then
ψ(m1, Tx,y,θ (m2)) is continuous with respect to x,yand θ.
The dissimilarity function measures how much two maps differ. In an ideal world, where robots
would be able to build maps which correspond to the ground truth and completely cover the
operating environment, it would be possible to find a transformation which yields a 0 value for
the dissimilarity function. In the real applications this is obviously not the case, so the challenge
is to find a transformation which gives a low dissimilarity value.
Having set the scene, the map merging problem can be defined as follows.
Given m1IN,M ,m2IN,M and a dissimilarity function ψover IN×M, determine the {x, y , θ}-
map transformation T(x,y,θ)which minimizes
ψ(m1, Tx,y,θ (m2)).
The devised problem is clearly an optimization problem, where it is required to minimize a cost
function, that in our case is the dissimilarity function ψ. The optimization has to be performed
over a three dimensional space involving two translations and one rotation. In the following we
will indicate with Sthe set of the possible translations and rotations and with sia specific element
of S, i.e. si={xi, yi, θi}. We will assume that when we are looking for the optimal matching
between m1IN×Mand m2IN×Mthe set of possible transformations will be
S= [N, N ]×[M, M ]×[0,2π]
For problems like this, a certain number of algorithms like multi-point hill climbing and simulated
annealing have been developed and are part of the standard literature. They will be described in
section 2.1 where they will be related to the technique we present in this section. The algorithm
was inspired by a motion planning algorithm one of the authors recently developed [13],[14],[15],
and by the recent successful application of motion planning algorithms to bioinformatics problems
like ligand binding and protein folding [9],[16]. In a sense, the problems of ligand binding and
map merging are not so different. In both cases it is in fact required to determine the relative
placements of two entities, chemical compounds or maps, so that a certain cost function is min-
imized. In ligand binding it is required to minimize the total energy, while in map merging we
wish to minimize dissimilarity, i.e. maximize the overlap of regions that appear in two or more
partial maps. The algorithm explores the space of possible transformations performing a random
walk whose probability distribution is a time variant Gaussian. This means that it evolves from
transformation sito transformation si+1 generating random variations with a Gaussian distribu-
tion. The important aspect is that distributions’ parameters are not a priori fixed, but rather
updated from iteration to iteration. Before describing the algorithm, we provide the theoretical
foundations. We start then by defining a probability space as the triplet (Ω,Γ, η) where Ω is the
sample space, whose generic element is denoted ω. Γ is a σalgebra on Ω and ηa probability
measure on Γ.
Definition 5 Let {f1, f2, . . .}be a sequence of mass distributions whose events space is binary.
The random selector induced by {f1, f2, . . .}over a domain Dis a function
RSfk(a, b) : D×DD
which randomly selects one of its two arguments according to the mass distribution fk.
4
The random selector is the stochastic process which is used to accept or reject a new candidate
random transformation. The dependency on fkevidences that the probability of accepting or
refusing is not constant but can rather updated during the execution.
Definition 6 Let ψbe a dissimilarity function over IN×M,{f1, f2, . . .}be a sequence of mass
distributions as in definition 5, and RSfkbe the associated random selector. The acceptance
function associated with ψand RSfkis defined as follows
Ak:S×SS
Ak(si, si+1) = si+1 if ψ(m1, Tsi+1 (m2)) < ψ(m1, Tsi(m2))
RSk(si, si+1)if ψ(m1, Tsi+1 (m2)) > ψ(m1, Tsi(m2))
The acceptance function associated with a given random selector and dissimilarity function governs
the process which accepts or rejects a candidate transformation which does not bring any benefit,
i.e. a transformation associated with an increase in the dissimilarity. From now on the dependency
of Akon ψand RSfwill be implicit, and we will not explicitly mention it. We now have the
mathematical tools to define a Gaussian random walk stochastic process, which will be used to
search for the optimal transformation in S.
Definition 7 Let sstart be a point in S, and let Abe an acceptance function. We call transfor-
mation random walk the following discrete time stochastic process {Tk}k=0,1,2,3,...
T0(ω) = sstart
Tk(ω) = A(Tk1(ω), Tk1(ω) + vk(ω)) k= 1,2,3, . . . (4)
where vk(ω)is a Gaussian vector with mean µkand covariance matrix Σk.
From now on the dependence on ωwill be implicit and then we will omit to indicate it.
Assumption We assume that there exist three positive real numbers ε1,ε2and ε3such that for
each kthe following inequalities are satisfied
ε1IΣkε2I(5)
||µk||2ε3(6)
where the matrix inequality ABmeans that BAis positive semidefinite.
The following theorem proves that the stochastic process defined in equation 4 will eventually
discover the optimal transformation in S.
Theorem 1 Let sSbe an element which minimizes ψ(m1, Ts(m2)), and let {T0, T1, T2. . .}be
the sequence of transformations generated by the transformation random walk defined in equation
4. Let Tk
bbe the best one generated among the first ktransformations, i.e. the one yielding the
smallest value of ψ. Then for each ε > 0
lim
k+Pr[|ψ(m1, T k
b(m2)) ψ(m1, Ts)(m2))|> ε] = 0 (7)
Proof. We first point out that the element sindeed exists, as the function ψis continuous by
definition, and we have assumed Sto be a closed bounded set. So there must be a transformation
sSwhich minimizes ψ. In addition it has to be pointed out that such an element is not
necessarily unique, as two transformations may result to the same dissimilarity.
Let Bs(φ) be the ball centered in sand with radius φ. As consequence of the continuity of the
function ψ, for each ε > 0 it is possible to determine a suitable ball Bs(δ) such that
ˆsBs(δ)|ψ(m1, Tˆs(m2)) ψ(m1, Ts)(m2))|< ε
Let us consider the time step k, when the transformation Tkis generated from Tk1. Because of
the assumptions stated in equations 5 and 6, the following inequality holds
Pr[ψ(m1, Tk(m2)) Bs(δ)] = ZBs(δ)
NTk1+µk,Σk(x)dx L
5
where NTk1+µk,Σkis the probability density of a Gaussian distribution with mean vector Tk1+µk
and covariance matrix Σk. It is important to realize that the same L holds for each k. Given the
sequence of transformations {T0, T1, . . . , Tk}, the probability that none of them is in Bs(δ) is the
following
Pr[T0/Bs(δ). . . Tk/Bs(δ)] (1 L)k(8)
According to the definition of the stochastic process given in 4, it is easy to verify that this proba-
bility is an upper bound for equation 7. Clearly, when kdiverges the right side of equation 8 goes
to 0 and this proves the theorem. QED
One can expect that a random walk evolving over Swill eventually cover it completely, thus de-
termining the optimal value of ψ. The important part however is that by using a random walk
whose mean and covariance can be updated at each iteration, it is possible to focus the search
more effectively. In addition, one is relieved from the daunting task of fine tuning the parameters,
i.e. determining good values for µkand Σk. This was indeed the lesson that was learned while
developing the motion planner described in [15].
Algorithm 1 illustrates how the stochastic machinery described before can be turned into an algo-
rithmic searching procedure. As the optimal value for the dissimilarity function is unknown, the
overall number of iterations should be limited. This aspect will be later clarified when describing
the practical results. Another point of practical importance is the necessity to store the best
transformation generated so far, i.e. the one associated with the lowest dissimilarity value. With
regard to local minima, which are likely to occur, the use of the random selector RS leaves a
chance to escape from them.
Algorithm 1 Random walk
Require: numSteps 0
1: k0, tksstart
2: Σ0Σinit, µ0µinit
3: c0ψ(m1, Ttstart (m2))
4: while k < numSteps do
5: Generate a new sample stk+vk
6: csψ(m1, Ts(m2))
7: if cs< ckOR RS(tk, s) = sthen
8: kk+ 1, tks, ck=cs
9: ΣkUpdate(tk, tk1, tk2, . . . , tkM)
10: µkUpdate(xk, tk1, tk2, . . . , tkM)
11: else
12: discard the sample s
Lines 9 and 10 in algorithm 1 illustrate that the mean µkand the covariance Σkcan be updated at
each step, according to the last accepted Msamples. For example, if the last accepted M samples
did not decrease the dissimilarity functional it means that the random walk is into a local minima
region and then the covariance matrix should be increased in order to increase the chances of
getting out of it. On the other hand, when the last accepted samples have resulted in a decrease
of the dissimilarity, it is worth reducing the covariance and to set the mean in the direction of the
gradient. In this way the random walk is biased to follow a local gradient descent.
2.1 Relation to other search techniques
As mentioned before, there are other techniques that could be used for this kind of search problem.
We here describe two of the most common ones and we discuss how they relate to the formerly
described technique. An obvious first approach to the problem is to perform a gradient descent
search following a multipoint paradigm (see for example [17]), as illustrated in algorithm 2. The
algorithm operates over a set of candidate transformations, and at each iteration it expands the
6
Algorithm 2 multi-point hill climbing
Require: numSteps 0
Require: numBestSamples > 0
Require: samples array contains different samples for position/rotation and is sorted according
to their dissimilarity
Ensure: samples[1] is the best sample found
1: step 0
2: while step < numSteps do
3: clear newSamples
4: for all sin samples do
5: for all sin possible position/rotation changes do
6: Generate a new sample ns s+ ∆s
7: cns ψ(m1, Tns(m2))
8: if cns < csthen
9: Add ns to newSamples
10: else
11: Discard sample ns
12: step step + 1
13: samples newSamples
14: sort samples according to their dissimilarity
15: samples samples[1..numBestSamples]
more promising ones toward directions which result in a decrease of the dissimilarity function.
Using a set of transformations rather than a single one, the algorithm decreases the chances of
getting trapped into local minima. Gradient descent is a particular case of algorithm 1, where the
vector the mean µkis fixed to be equal to the most promising direction ∆sand the covariance Σk
tends to the 0 matrix2. One could argue that this violates the hypothesis of theorem 1. This is
indeed true, but at the same time it is necessary to consider that the gradient descent algorithm is
not guaranteed to find the optimal solution, then the correctness of the framework is not affected.
The multi-point approach used in 2 can still be seen as a paricular case of algorithm 1. This can
be accomodated by fixing µk= ∆sfor numSteps steps and then resetting it to a random value
uniformly picked over S. Repeating this process numBestSamples times will indeed replicate the
same search procedure.
An obvious alternative to hill climbing is simulated annealing [18],[19]. The well known advan-
tage is that in the early stage of its execution simulated annealing allows to accept samples which
do not give an adavantege in terms of the cost function. Algorithm 3 shows our implementation
of the simulated annealing approach for map fusion.
It is again straightforward to observe that also simulated annealing can be seen as a special case
of the Gaussian random walk. In addition to what has been described for the gradient descent
algorithm, it is sufficient to embed the temperature profile into the random selector.
3 The dissimilarity function
A fundamental aspect of the depicted framework is the choice of the dissimilarity function ψ. For
this purpose we use a function borrowed from a metric introduced before by one of the authors
to measure the similarity of images [20]. The metric is conceptually similar to the Grassfire
transform used in computer vision. Given two maps m1and m2, the dissimilarity function is
defined as follows:
ψ(m1, m2) = X
c∈C
d(m1, m2, c) + d(m2, m1, c)
2with this we mean that the added Gaussian component is not present.
7
Algorithm 3 simulated annealing
Require: numSteps 0
Require: numBestSamples > 0
Require: samples array contains different samples for position/rotation and is sorted according
to their fitness
Require: fitnessRatio 1
Ensure: samples[1] is the best sample found
1: step 0
2: bestF itness csamples[1]
3: lastF itness +
4: while step < numSteps AND lastF itness/bestF itness > fitnessRatio do
5: clear newSamples
6: for all sin samples do
7: for all sin possible position/rotation changes do
8: Generate a new sample ns s+ ∆s/step
9: cns ψ(m1, Tns(m2))
10: if cns < csthen
11: Add ns to newSamples
12: else
13: Discard sample ns
14: step step + 1
15: samples newSamples
16: sort samples according to their fitness
17: samples samples[1..numBestSamples]
18: lastF itness bestF itness
19: bestF itness csamples[1]
d(m1, m2, c) = Pm1[p1]=cmin{md(p1, p2)|m2[p2] = c}
#c(m1)
where
Cdenotes the set of values assumed by m1or m2,
m1[p] denotes the value cof map m1at position p= (x, y),
md(p1, p2) = |x1x2|+|y1y2|is the Manhattan-distance between points p1and p2,
#c(m1)=#{p1|m1[p1] = c}is the number of cells in m1with value c.
While computing md, the choice of the Manhattan-distance has the advantage to be fast to
compute and not to perform worse than other distances. Before computing d, we preprocess the
maps m1and m2setting all positive values to 255 and all negative values to -255. The purpose
of this operation is to reduce the set of different values ccontained in the map. This simplifies
the summation to the sum of two terms, thus speeding up it computation. In our case then
C={−255,255}, i.e., locations mapped as unknown are neglected. As the dissimilarity function
has to be evaluated each time a new candidate sample is proposed, it is important to have an
efficient algorithm for its computation. Quite surprisingly, it is possible to compute the function
ψin linear time. The algorithm is based on a so called distance-map d-mapcfor a value c. The
distance-map is an array of the Manhattan-distances to the nearest point with value cin map m2
for all positions p1= (x1, y1):
d-mapc[x1][y1] = min{md(p1, p2)|m2[p2] = c}
8
The distance-map d-mapcfor a value cis used as lookup-table for the computation of the sum over
all cells in m1with value c. Figure 1 shows an example of a distance-map, while algorithm 4 gives
the pseudocode for the three steps carried out to built it. The underlying principle is illustrated
in figure 2.
= map cell with value c
3 2 2 1 2 3 4 5
2 1 1 0 1 2 3 4
1 0 0 0 0 1 2 3
2 1 1 1 1 0 1 2
2 1 0 1 1 0 0 1
3 2 1 0 1 0 0 1
3 2 1 0 0 0 1 2
4 3 2 1 1 1 2 3
d-mapc
Figure 1: A distance-map d-mapc
Algorithm 4 The algorithm for computing d-mapc
1: for y0 to n1do
2: for x0 to n1do
3: if M(x, y) = cthen
4: d-mapc[x][y]0
5: else
6: d-mapc[x][y]← ∞
7: for y0 to n1do
8: for x0 to n1do
9: hmin(d-mapc[x1][y]+1, d-mapc[x][y1] + 1)
10: d-mapc[x][y] = min(d-mapc[x][y], h)
11: for yn1 downto 0 do
12: for xn1 downto 0 do
13: hmin(d-mapc[x+ 1][y]+1, d-mapc[x][y+ 1] + 1)
14: d-mapc[x][y] = min(d-mapc[x][y], h)
It can be appreciated that to build the lookup map it is necessary just to scan the target map
for three times. In this case it is possible to avoid the quadratic matching of each grid cell in m1
against each grid cell in m2.
9
= neighbor= visited position
Relaxation Step 2Relaxation Step 1Init
0 0 0
0
0
0
0
0
0 0
00
0
0
88
0
88
8
88
8
8
8 8
88
8
88
8888
88
8
8
8
8
88
8
888
8
8
88
8
8
88
8
8
8
8
88
8
88
Figure 2: The working principle for computing d-mapc
4 Results
4.1 The Rescue Robots
The experimental results are based on real-world data collected with the rescue robots we devel-
oped. The robots fall into two classes, the so-called papa goose and the mama goose design. Papa
geese (figure 3.a) are 6-wheeled robots with a footprint of 400mm ×450mm. Mother geese (figure
3.c) are smaller with a footprint of 300mm ×400mm and they are based on a tracked drive. In
addition to their mechanical differences, they differ in their sensor payload, which is much higher
for robots of the papa type. A detailed description of the robots is found in [21].
(a) Papa goose in the red arena (b) Mama goose in the orange arena
Figure 3: The IUB robots at the Robocup 2003 competition in Padua, Italy
For the purpose of this paper, the merging of noisy maps of an unstructured environment, both
robots type can be viewed to behave in the same way. The default localization method is odom-
etry based on motor encoder data and the robots’ kinematics. The precision of the odometry is
significantly improved by fusing compass data into the orientation estimation of the robot. Nev-
ertheless, the basic pose estimation suffers from the well known problems of accumulative errors,
leading to one of the noise sources in the map-building process. For gathering obstacle data, each
robot has a low-cost laser scanner. This PB9-11 laser-scanner from Hokuyo Automatic covers 162
degrees in 91 steps up to 3m depth with a 1cm resolution (figure 4). The sensor provides rather
accurate data, but it suffers from occasional spurious readings adding hence to the uncertainty in
the map data.
Each individual map is created online on board of each robot and can be used for various au-
tonomous behaviors according to the mission of the robot. The data is in addition transmitted
10
Figure 4: A snapshot of the data provided by the PB911 sensor. It is possible to see that the
robot is facing a corner in the walls (on its right, two meters ahead), as well as spurious readings
(on the left)
in realtime to the operator station via the Framework Architecture for Selfcontrolled and Tele-
operated Robots (FAST-Robots)[22], an object-oriented network control architecture framework
for robotics experiments that supports mixed teleoperation and autonomy. The map merging is
then done on the operator station, so that a human rescue worker gets an overview of the overall
terrain including location marks for victims and hazards.
4.2 Numerical Results
The algorithms described in the former sections have been implemented and tested over data sets
gathered by our robots while performing in the Rescue arena recently set up at the International
University Bremen. The maps produced by the mapping software are grids with 200 ×200 cells,
each one containing a belief value between -255 and +255. Positive values indicate a belief that
the associated cell is free, while negative values indicate the opposite. As anticipated, the absolute
value indicates the degree of the belief. According to this protocol, cells with a 0 belief value
do not encode any belief, i.e. no information can be associated with them. In all the illustrated
experiments two maps are merged. If more maps are available, the method can be iterated. This
means that the map resulting from the merging of the first two is merged with a third one, and
so on.
The algorithms have been implemented in C++ and run on a Pentium IV 2.2 GHz running
Linux. In addition we implemented also a deterministic brute force algorithm which tries all the
possible transformations, and a random walk algorithm without adaptive components. In this
way we can better evaluate the tradeoff between speed and accuracy of the different algorithms
implemented. Table 1 illustrate the results of the different approaches tried in terms of dissimilarity
function, while figure 5 shows the different maps merged. The experimental setup is square of
about 100 m2, and in the different runs the robots map about half of it. From a qualitative
point of view, the merged maps offer more information than the two partial maps, and this closely
resembles the area being mapped by the robots.
In all the tests we tuned the algorithms so that the number of generated and analyzed trans-
formations was the same, i.e. is 20003. This means that each algorithm terminates after the same
number of rototranslations have been processed. This number turns out to be more than enough
as usually all the algorithms converge to their final point in about half of these iterations. At the
same time this allows to get a fair comparison between them as the amount of alloted resources
is the same. For what concern execution time all the analyzed algorithms spend more or less the
same, i.e. below three seconds. One should not forget the initial goal of the current research, i.e.
to determine the optimal composition of the given maps in a quick time and without too much
parameters’ tuning. This point will be better addressed in the conclusions, but for the moment it
3Of course this is not the case for the brute force search, where the number of analyzed configurations is 14400000
and the time taken to process all of them is in the order of three hours.
11
Case Brute force Multi-point Simulated
annealing
Random
walk
Gaussian
Random
Walk
1 4.21 5.89 6.43 4.82 4.86
2 1.23 2.55 3.33 2.27 1.84
3 1.19 1.82 2.96 1.58 1.74
4 3.67 4.42 4.33 4.28 4.20
Table 1: Comparison of the different algorithms implemented. The table shows the dissimilarity
value for the optimal merging found. Data of randomized search techniques are averaged over 50
executions.
should be clear that the achieved speed is sufficient and it does not make so much sense to try to
improve the speed, although technically possible. Figure 6 illustrates an example of maps created
by the IUB robots as well as their determined composition using the proposed adaptive random
walk algorithm. Subfigure 6.d illustrates how the algorithm behaves. It is possible to observe a
repeated pattern of steps where the dissimilarity function decreases followed by spikes where the
fitness function increases.
The results indicate that the proposed optimization algorithm behaves better than traditional
approaches like multi-point hill climbing or simulated annealing. When compared with the tradi-
tional random walk algorithm without adaptive components the advantages in terms of obtained
result seem to disappear. In two cases adaptivity seems to pay off and two cases it seems it does
not. This is because of an appropriate selection of the parameters for the traditional random
walk. In general, however, determining good values for the parameters is not trivial. The great
advantage of the proposed algorithm is that one does not have to tune parameters, as they are
modified during execution. For example, one could choose weak distributions’ parameters for the
classic random walk algorithm, say picking a too narrow variance which does not allow the pro-
cedure to effectively explore the search space. Or one could fix a too big variance, resulting in
an algorithm which widely jumps between far apart configuration, without exploring the possible
minima it discovers. Good values for these parameters are very much instance dependent and
hard to determine, if not by reiterated experience. The adaptive random walk algorithm instead
allows the user to fix the values without putting too much efforts on fine tuning. Rather, it will be
the algorithm itself to self-tune its own distribution. This lesson, which was learned while working
on the motion planner previously discussed turned out be effective also in the apparently very
different domain of map merging.
5 Conclusions
Map merging is an important robotics problem, which deals with the fusion of several partial
maps into a global one. Partial maps are common, for example when multiple robots explore
an environment or when a single robot does multiple runs starting from different locations. It
was demonstrated that map merging can be treated as motion planning problem. The partial
maps have to be rotated and translated such that regions which appear in two ore more partial
maps overlap. For this purpose, a special motion planning algorithm and a similarity metric
were introduced. The special motion planning algorithm is highly efficient, also when compared
to alternative techniques, and it does not suffer from the requirement to tune parameters. The
similarity metric successfully guides the motion planning algorithm in the presented experiments
and it significantly contributes to the overall efficiency as it can be computed in a very fast manner.
The experimental results are based on real world data from the IUB rescue robots. The results
show that the suggested approach even works with rather low quality maps that were generated
without high-end sensors and in a very unstructured environment.
12
References
[1] S. Thrun, Robotic mapping: A survey, in: G. Lakemeyer, B. Nebel (Eds.), Exploring Artificial
Intelligence in the New Millenium, Morgan Kaufmann, 2002.
[2] K. Konolige, D. F. anx B. Limketkai, J. Ko, B. Steward, Map merging for distributed robot navigation,
in: Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, 2003,
pp. 212–217.
[3] S. Williams, G. Dissanyake, H. Durrant-Whyte, Towards multi-wehicle simultaneous localisation and
mapping, in: Proceedings of the IEEE International Conference on Robotics and Automation, 2002,
pp. 2743–2748.
[4] S. Thrun, W. Burgard, D. Fox, A real-time algorithm for mobile robot mapping with applications to
multi-robot and 3d mapping, in: Proceedings of the IEEE International Conference on Robotics and
Automation, 2000, pp. 321–328.
[5] L. Parker, K. Fregene, Y. Guo, R. Madhavan, Distributed heterogeneous sensing for outdoor multi-
robot localization, mapping, and path planning, in: A. Schultz (Ed.), Multi-Robot Systems: From
Swarms to Intelligent Automata, Kluwer, 2002, pp. 21–30.
[6] L. Parker, Current state of the art in distributed autonomous mobile robots, in: L. Parker, G. Bekey,
J.Barhen (Eds.), Distributed Autonomous Robotic Systems 4, Springer, 2000, pp. 3–12.
[7] S. Carpin, A. Birk, Stochastic map merging in rescue environments, in: Robocup 2004: Robot Soccer
World Cup VIII, Springer, 2005.
[8] N. Amato, K. Dill, G.Song, Using motion planning to map protein folding landscapes and analyze
folding kinetics of known native structures, in: Proceedings the 6th International Conference on
Computational Molecular Biology (RECOMB), 2002, pp. 2–11.
[9] G. Song, N. Amato, A motion-planning approach to folding: From paper craft to protein folding,
IEEE Transactions on Robotics and Automation 20 (1) (2004) pp. 60–71.
[10] S. Carpin, H. Kenn, A. Birk, Autonomous mapping in the real robot rescue league, in: Robocup
2003, Springer, 2003.
[11] A. Jacoff, B. Weiss, E. Messina, Evolution of a performance metric for urban search and rescue (2003),
in: Performance Metrics for Intelligent Systems, 2003.
[12] H. Moravec, Sensor fusion in certainty grids for mobile robots, AI Magazine 9 (3) (1988), pp. 61–74.
[13] S. Carpin, G. Pillonetto, Robot motion planning using adaptive random walks, in: Proceedings of
the IEEE International Conference on Robotics and Automation, 2003, pp. 3809–3814.
[14] S. Carpin, G. Pillonetto, Learning sample distribution for randomized robot motion planning: role
of history size, in: Proceedings of the 3rd International Conference on Artificial Intelligence and
Applications, ACTA press, 2003, pp. 58–63.
[15] S. Carpin, G. Pillonetto, Motion planning using adaptive random walks, IEEE Transactions on
Robotics 21 (1) (2005) 129–136.
[16] A. Singh, J. Latombe, D. Brutlag, A motion planning approach to flexible ligand binding, in: Pro-
ceedings of the Int. Conf. on Intelligent Systems for Molecular Biology, 1999, pp. 252–261.
[17] S. Russel, P. Norvig, Artificial Intelligence - A modern approach, Prentice Hall International, 1995.
[18] S. Kirkpatrick, C. Gelatt, M. Vecchi, Optimization by simulated annealing, Science 220 (4598) (1983),
pp. 671–680.
[19] M. Locatelli, Simulated annealing algorithms for continuous global optimization, in: P. Pardalos,
H. Romeijn (Eds.), Handbook of Global Optimization, Vol. 2, 2002, pp. 179–229.
[20] A. Birk, Learning geometric concepts with an evolutionary algorithm, in: Proc. of The Fifth Annual
Conference on Evolutionary Programming, The MIT Press, Cambridge, 1996.
[21] A. Birk, S. Carpin, H. Kenn, The IUB 2003 rescue robot team, in: Robocup 2003, Springer, 2003.
[22] H. Kenn, S. Carpin, M. Pfingsthorn, B. Liebald, I. Hepes, C. Ciocov, A. Birk, Fast-robots: A
rapid-prototyping framework for intelligent mobile robots, in: Proceedings of the 3rd International
Conference on Artificial Intelligence and Applications, ACTA Press, 2003, pp. 76–81.
13
Figure 5: The four rows illustrate, in sequence, the four case studies whose results are given in
table 1. For each row, the first two pictures display the maps to be merged, while the third one
illustrates the merged map.
14
(a)
(b)
(c)
0 10 20 30 40 50 60 70 80 90 100
10
20
30
40
50
60
70
80
Iterations
Fitness Function
(d)
Figure 6: Subfigures a and b illustrate the maps created by two robots while exploring two different
parts of the same environment. To make the matching task more challenging the magnetic compass
and the odometry system were differently calibrated. Subfigure c shows the best matching found
after 200 iterations of the search algorithm and subfigure d plots the trend of the dissimilarity
function during the first 100 iterations.
15
Article
In this article, a novel approach for merging 3D point cloud maps in the context of egocentric multi-robot exploration is presented. Unlike traditional methods, the proposed approach leverages state-of-the-art place recognition and learned descriptors to efficiently detect overlap between maps, eliminating the need for the time-consuming global feature extraction and feature matching process. The estimated overlapping regions are used to calculate a homogeneous rigid transform, which serves as an initial condition for the GICP point cloud registration algorithm to refine the alignment between the maps. The advantages of this approach include faster processing time, improved accuracy, and increased robustness in challenging environments. Furthermore, the effectiveness of the proposed framework is successfully demonstrated through multiple field missions of robot exploration in a variety of different underground environments.
Article
Full-text available
The multi-robot system is employed to map the different parts of the indoor environment because it maps more quickly than a single robot. Two robots are used in the multi-robot system, each robot is equipped with 2D LIDAR and made to drive in an environment to develop occupancy grid maps. However, the main challenge in multi-robot mapping is to combine the occupancy grid map data from various robots into a single global map. Numerous studies have been conducted on ways to estimate the relative robot poses before or during the mapping process in multi-robot mapping. However, with map merging, the robots create local occupancy grid maps on their own without being aware of how they relate to one another. The next step is to find points where the local maps overlap to combine them. After finding the overlap between the two maps, the merging algorithm is implemented to combine the maps. Results from experiments with two robots are presented.
Article
Full-text available
The merging of environmental maps constructed by individual UAVs alone and the sharing of information are key to improving the efficiency of distributed multi-UAVexploration. This paper investigates the raster map-merging problem in the absence of a common reference coordinate system and the relative position information of UAVs, and proposes a raster map-merging method with a directed crossover multidimensional perturbation variational genetic algorithm (DCPGA). The algorithm uses an optimization function reflecting the degree of dissimilarity between the overlapping regions of two raster maps as the fitness function, with each possible rotation translation transformation corresponding to a chromosome, and the binary encoding of the coordinates as the gene string. The experimental results show that the algorithm could converge quickly and had a strong global search capability to search for the optimal overlap area of the two raster maps, thus achieving map merging.
Article
Building an accurate map is essential for autonomous robot navigation in the environment without GPS. Compared with single-robot, the multiple-robot system has much better performance in terms of accuracy, efficiency and robustness for the simultaneous localization and mapping (SLAM). As a critical component of multiple-robot SLAM, the problem of map merging still remains a challenge. To this end, this article casts it into point set registration problem and proposes an effective map merging method based on the context-based descriptors and correspondence expansion. It first extracts interest points from grid maps by the Harris corner detector. By exploiting neighborhood information of interest points, it automatically calculates the maximum response radius as scale information to compute the context-based descriptor, which includes eigenvalues and normals computed from local structures of each interest point. Then, it effectively establishes origin matches with low precision by applying the nearest neighbor search on the context-based descriptor. Further, it designs a scale-based corresponding expansion strategy to expand each origin match into a set of feature matches, where one similarity transformation between two grid maps can be estimated by the Random Sample Consensus algorithm. Subsequently, a measure function formulated from the trimmed mean square error is utilized to confirm the best similarity transformation and accomplish the coarse map merging. Finally, it utilizes the scaling trimmed iterative closest point algorithm to refine initial similarity transformation so as to achieve accurate merging. As the proposed method considers scale information in the context-based descriptor, it is able to merge grid maps in diverse resolutions. Experimental results on real robot datasets demonstrate its superior performance over other related methods on accuracy and robustness.
Article
Full-text available
The map matching method gets simpler with higher precision positioning systems, but because the positioning framework is still not sufficiently precise or too costly for marginal map matching in practice, it is still a hot research domain. Several researchers have worked on map-matching methods and reported their finding of in-depth studies of domain. This literature review provides extensive information on the above map-matching methods related to digital maps with respect to convergence and outline the problems, information sources, as well as future demands identified by industry/society. It focuses on past research work approaches, implementations, capabilities, and their weaknesses using linear search and citation chaining. Finally, this work concludes with recommendations of the future direction of research and ideas to develop new algorithms for advanced applications.
Article
Full-text available
Topological maps are often used in robotics. This paper presents a novel topological map representation, the Area Graph, and how to extract it from 2D grid maps. This representation is then utilized for map matching, which we present in two variants. Experiments are presented which evaluate these methods and explore the effects of the important parameters. The Area Graph generation algorithm is based on the Voronoi Diagram (VD), which is filtered and pruned to get the Topology Graph. During this process, the faces of the regions are maintained and then used as the areas of the Area Graph, which is then post-processed with a room detection step to avoid over-segmentation. The map matching is utilizing extracted features from the Area Graph and also using the neighborhood information encoded in it to find matching areas. The results of the experiments show that the Area Graph generation algorithm outperforms the other methods in terms of accuracy. Additionally, our matching algorithm is superior to image-based as well as state of the art map matching approaches.
Article
Full-text available
For the map building of unknown indoor environment, compared with single robot, multi-robot collaborative mapping has higher efficiency. Map merging is one of the fundamental problems in multi-robot collaborative mapping. However, in the process of grid map merging, image processing methods such as feature matching, as a basic method, are challenged by low feature matching rate. Driven by this challenge, a novel map merging method based on suppositional box that is constructed by right-angled points and vertical lines is proposed. The paper firstly extracts right-angled points of suppositional box selected from the vertical point which is the intersection of the vertical line. Secondly, based on the common edge characteristics between the right-angled points, suppositional box in the map is constructed. Then the transformation matrix is obtained according to the matching pair of suppositional boxes. Finally, for matching errors based on the length of pairs, Kalman filter is used to optimize the transformation matrix. Experimental results show that this method can effectively merge map in different scenes and the successful matching rate is greater than that of other features.
Article
Full-text available
This paper discusses the advancement and proliferation of the Reference Test Arenas for Urban Search and Rescue Robots as representative search and rescue environments, which allow objective performance evaluation of mobile robot capabilities. These arenas have hosted annual rescue robot competitions sponsored by the American Association for Artificial Intelligence since 2000 and the RoboCupRescue Robot League since 2001. The rules of these competitions have evolved each year to encourage robots to negotiate complex and collapsed structures, find simulated victims, determine their condition and location, and generate human readable maps to enable victim recovery. The associated performance metric has also evolved as it attempts to quantify and encourage these and other robot capabilities pertinent to urban search and rescue applications. This paper presents the competition rules, performance metric, and generalized results of the 2003 competitions which included some inspiring robotic implementations. Performance data captured during these competitions is discussed along with recently available development tools which can quicken the pace of innovation in the field of search and rescue robotics. readable maps to enable victim recovery. The rules encourage robots to demonstrate their capabilities in mobility, sensory perception, planning, mapping, and practical operator interfaces, while searching for simulated victims. The performance metric attempts to quantify these and other robot capabilities pertinent to USAR applications for the purposes of comparison between diverse robotic implementations and team strategies. Each year, the AAAI and RoboCupRescue competitions follow the same rules. These competition rules and the associated performance metric evolve as necessary to encourage technical advances, discourage certain unhelpful team strategies, and increase the operational relevance of successful teams to real world disaster situations. These year- to-year refinements attempt to guide researchers toward the following league vision:
Conference Paper
Full-text available
FAST-Robots (Framework Architecture for Self-controlled and Teleoperated Robots) is an object-oriented network control architecture framework for robotics experiments that supports mixed teleoperation and autonomy. Its features are the abstraction from the underlying communication system and its simplicity and flexibility towards modification and extension. This architecture is used aboard mobile robots in the Robocup Rescue Robots League.
Conference Paper
Full-text available
Most computational models of protein-ligand interactions consider only the energetics of the final bound state of the complex and do not examine the dynamics of the ligand as it enters the binding site. We have developed a novel approach to study the dynamics of protein-ligand interactions based on motion planning algorithms from the field of robotics. Our algorithm uses electrostatic and van der Waals potentials to compute the most energetically favorable path between any given initial and goal ligand configurations. We use probabilistic motion planning to sample the distribution of possible paths to a given goal configuration and compute an energy-based "difficulty weight" for each path. By statistically averaging this weight over several randomly generated starting configurations, we compute the relative difficulty of entering and leaving a given binding configuration. This approach yields details of the energy contours around the binding site and can be used to characterize and predict good binding sites. Results from tests with three protein- ligand complexes indicate that our algorithm is able to detect energy barriers around the true binding site that distinguish this site from other predicted low-energy binding sites.
Article
We present a framework for studying folding problems from a motion planning perspective. Modeling foldable objects as tree-like multi-link objects allows one to apply motion planning techniques to folding problems. An important feature of this approach is that it not only allows one to study foldability questions, such as, can an object be folded (or unfolded) into another object, but also provides one with another tool for investigating the dynamic folding process itself. The framework proposed here has application to traditional motion planning areas such as automation and animation, and presents a novel approach for studying protein folding pathways. Preliminary experimental results with traditional paper crafts (e.g., box folding) and small proteins (approximately 60 residues) are quite encouraging.
Chapter
Our objective is to develop a team of autonomous mobile robots that are able to operate in previously unfamiliar outdoor environments. In these environments, the robot teams should be able to cooperatively localize even when DGPS is not consistently available, to autonomously generate rough elevation maps of their terrain, and to use these generated maps to plan multi-robot paths that enable them to accomplish their mission objective, such as reconnaissance and surveillance or perimeter security. This paper briefly outlines our approaches to achieving this objective, along with some of our implementation results on our team of four ATRV-mini mobile robots.
Article
We present a novel approach for studying the kinetics of pro-tein folding. The framework has evolved from robotics mo-tion planning techniques called probabilistic roadmap meth-ods (prms) that have been applied in many diverse ˉelds with great success. In our previous work, we used a prm-based technique to study protein folding pathways of several small proteins and obtained encouraging results. In this pa-per, we describe how our motion planning framework can be used to study protein folding kinetics. In particular, we present a reˉned version of our prm-based framework and describe how it can be used to produce potential energy landscapes, free energy landscapes, and many folding path-ways all from a single roadmap which is computed in a few hours on a desktop PC. Results are presented for 14 pro-teins. Our ability to produce large sets of unrelated folding pathways may potentially provide crucial insight into some aspects of folding kinetics, such as proteins that exhibit both two-state and three-state kinetics, that are not captured by other theoretical techniques.
Article
In this paper, simulated annealing algorithms for continuous global optimization are considered. After a review of recent convergence results from the literature, a class of algorithms is presented for which strong convergence results can be proved without introducing assumptions which are too restrictive. The main idea of the paper is that of relating both the temperature value and the support dimension of the next candidate point, so that they are small at points with function value close to the current record and bounded away from zero otherwise.
Article
In this paper, simulated annealing algorithms for continuous global optimization are considered. After a review of recent convergence results from the literature, a class of algorithms is presented for which strong convergence results can be proved without introducing assumptions which are too restrictive. The main idea of the paper is that of relating both the temperature value and the support dimension of the next candidate point, so that they are small at points with function value close to the current record and bounded away from zero otherwise.