Conference PaperPDF Available

Multi-robot mapping for rescue robotics

Authors:
  • Constructor University

Abstract and Figures

We illustrate our progresses in developing multi-robot systems to be used for mapping in rescue scenarios. The problem we are currently investigating is to combine poor quality multiple maps produced by different robots into a single map to be used by human operators. In particular we motivate our approach and we illustrate the different techniques we implemented and that are at the moment being compared.
Content may be subject to copyright.
Multi-robot mapping for rescue robotics
S. Carpin V. Jucikas A. Birk
International University of Bremen
Campus Ring 1 Bremen, 28725, Germany
E-mail {s.carpin,v.jucikas,a.birk}@iu-bremen.de
Abstract
We illustrate our progresses in developing multi-
robot systems to be used for mapping in rescue sce-
narios. The problem we are currently investigating
is to combine poor quality multiple maps produced by
different robots into a single map to be used by human
operators. In particular we motivate our approach and
we illustrate the different techniques we implemented
and that are at the moment being compared.
Keywords: stochastic processes, robot mapping
1 Introduction
One of the main tasks to be carried out by robots
operating in a rescue scenario is to produce useful
maps to be used by human rescue operators. Res-
cue environments lack a well defined structure, be-
cause of collapsed parts and debris. As a reference sce-
nario, one can consider the rescue arenas used in the
Robocup rescue league competition. Classical map-
ping algorithms are hard to implement and use in
these environments, as issues like feature extraction
and data association are hard to address. Moreover
robots are supposed to move over uneven surfaces and
to face significant skidding while operating. It fol-
lows that maps generated using odometric informa-
tion and cheap proximity range sensors turn out to be
very inaccurate. In the robotic systems we have de-
veloped this aspect is even more emphasized by our
choice to implement simple mapping algorithms for
their real-time execution on devices with possible low
computational power [4],[7]. One of the possible ways
to overcome this problem is to use multiple robots to
map the same environment. The multi-robot approach
has some well known advantages in itself [10],[1], most
notably robustness. In the rescue framework, multi-
robot systems are even more appealing because of the
possibility to perform a faster exploration of the in-
spected area, thus increasing the chances to quickly
locate victims and hazards. As the goal is to gather
as much information as possible, it is evident that the
maps produced by different robots will only partially
overlap, as they are likely to spread around in different
regions and not to stick together for the whole mission.
It is then a practical issue of enormous importance to
merge together such partially overlapping maps before
they are used by the human operators. The problem of
map merging can be seen as an optimization problem,
i.e. it is necessary to find the merging parameters that
produce the best matching between partially overlap-
ping maps, accordingly to some metric. For this rea-
son we implemented some well known optimization
algorithms and we compared them with a new itera-
tive optimization procedure we recently developed [6].
All the results we provide are not obtained via sim-
ulations, but from data collected while running our
robots in the newly setup IUB rescue arena [3]. In
the following we will describe the robots we developed
for rescue robotics and that has been tested in the
robocup rescue competition. We will then define the
map merging problem and we will describe the differ-
ent approaches that can be used to solve the problem.
Finally, we will give numerical results and offer the
conclusions.
2 The IUB rescue robots
The results presented later in section 4 are based on
real-world data collected with the IUB rescue robots.
The robots fall into two classes, the so-called papa
goose and the mama goose design. Papa geese (figures
1.a and 1.b) are 6-wheeled robots with a footprint of
400mm ×450mm. Mother geese (figures 1.c and 1.d)
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 pay-
load, which is much higher for robots of the papa type.
A detailed description of the robots is found in [4].
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 de-
fault localization method is odometry based on motor
encoder data and the robots’ kinematics. The pre-
cision of the odometry is significantly improved by
(a) Papa goose
(b) Papa goose in the red arena
(c) Mama goose
(d) Mama goose in the orange arena
Figure 1: The IUB robots at the Robocup 2003 com-
petition in Padua, Italy
fusing compass data into the orientation estimation
of the robot. Nevertheless, 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
2). The sensor provides rather accurate data, but it
suffers from occasional spurious readings adding hence
to the uncertainty in the map data.
Figure 2: On the left, the Hokuyo PB9-11 sensor.
On the right, 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 left, two meters
ahead), as well as spurious readings (on the right)
Data acquired by onboard sensors is in transmitted in
realtime to the operator station via the Framework Ar-
chitecture for Selfcontrolled and Teleoperated Robots
(FAST-Robots), an object-oriented network control
architecture framework for robotics experiments that
supports mixed teleoperation and autonomy [9]. On
the operator station a map is built. Figure 3 illus-
trates a map produced while the robot was operating
in a rescue arena setup by NIST. Maps are organized
as occupancy grids. The occupancy grid accounts for
three different kinds of information, namely obstacle
detected, free area detected, and no information avail-
able. This information is expressed in terms of be-
liefs. The robot starts with a completely empty grid.
At every time step, the input from the range scan-
ner is acquired. By combining this with the actual
pose (x,yand orientation θ) coming from the odom-
etry measurement subsystem, it is possible to update
the beliefs of the covered grid cells. Technically, every
grid cell holds an integer value, initially set to 0. This
means that no information is available for that grid
cell. When an obstacle is detected in the grid cell,
the value is incremented. When the grid cell is de-
Figure 3: A map produced by the IUB rescue robot
while performing in a rescue arena. Green points in-
dicate free space, red points ocuppied space and white
points indicate unknown space. The path followed by
the robot is indicated by the blue dots, and the current
robot position is indicated by the circle. The number
1in the middle of the map has been put by the human
operator to indicate the position of a found victim.
termined to be free, such value is decremented. Both
increments and decrements are bounded. This means
that such beliefs cannot arbitrarily grow or decrease
when the robot is standing at a fixed position (similar
to what happens with [5]).
Algorithm 1 provides the algorithmic sketch of the
procedure. In order to find out if a cell is free or not
(lines 5 and 11), we remind that once the position
and orientation are known this is a matter of simple
geometric computation. In the current setup, the cur-
rent position and orientation of the robot are based
on odometry and a magnetic compass, respectively.
The IUB rescue robots obtained the 4th place dur-
ing the 2003 Robocup Rescue competition held in
Padova (Italy) and the 2nd place during the 2004
American Open. The robots are currently being im-
proved with map merging capabilities. The map merg-
ing is again done on the operator station, so that a
human rescue worker gets an overview of the overall
terrain including location marks for victims and haz-
ards.
3 Map merging
We start with the formal definition of a map.
Definition 1 Let Nand Mbe two positive real num-
bers. An N×Mmap is a function
m: [0, N ]×[0, M]R.
Algorithm 1 Mapping procedure
1: Initialization: fill the grid map with 0s
2: loop
3: Get data from scanner: vector vof
MAX READIN GS distances
4: Get x,yand θfrom odometry
5: for n1 to MAX READIN GS do
6: if v[n]< RELIAB LE DI ST AN C E then
7: Let G[i][j] be the corresponding occupied
grid cell (computed from x,y,θand v[n])
8: if G[i][j]< MAX then
9: Increase G[i][j]
10: for all intermediate free cells G[i][j]do
11: if G[i][j]> MIN then
12: Decrease G[i][j]
13: else
14: Discard v[n]
We furthermore denote with IN×Mthe set of N×M
maps. Finally, for each map, a point from its domain
is declared to be the reference point. The reference
point of map mwill be indicated as R(m).
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 oppo-
site. Moreover, 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. From now
on, for sake of simplicity, we will assume N=M, but
the whole approach holds also for N6=M.
Definition 2 Let x,yand θbe three real numbers and
m1IN×N. We define the {x, y, θ}-transformation
to be the functional which transforms the map m1
into the map m2obtained by the translation of R(m1)
to the point (x, y)followed by a rotation of θde-
grees. We will indicate it as Tx,y,θ , and we will
write m2=Tx,y,θ (m1)to indicate that m2is obtained
from m1after the application of the given {x, y, θ}-
transformation.
Definition 3 Adissimilarity function ψover IN×N
is a function
ψ:IN,N ×IN,N R+ {0}
such that
m1IN,N ψ(m1, m1) = 0
given two maps m1and m2and a 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 are able to
build two perfectly overlapping maps, their dissimilar-
ity will be 0. When the maps cannot be superimposed
the ψfunction will return positive values.
Having set the scene, the map matching problem can
be defined as follows.
Given m1IN,N ,m2IN,N and a dissim-
ilarity function ψover IN×N, determine the
{x, y, θ}-transformation T(x,y )which mini-
mizes
ψ(m1, T(x,y,θ)(m2)).
The devised problem is clearly an optimization prob-
lem over R3. To solve optimization problems like this
one, different algorithms have been proposed [11] in
literature, like multipoint hill climbing or simulated
annealing. In multipoint hill climbing, a population
of random transformations is created, and each one is
update by following a gradient descent. The approach
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]
is illustrated in algorithm 2. Using a set of transfor-
mations rather than a single one, the algorithm de-
creases the chances of getting trapped into local min-
ima. Simulated annealing is a well known alternative
or complementary technique. The advantage is that
in the early stage of its execution simulated anneal-
ing allows to accept samples which do not result in
an improvement in terms of the cost function. Algo-
rithm 3 shows our implementation of the simulated
annealing approach for map fusion. In addition, we
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 > f itnessRatio 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]
recently introduced a further algorithm [6] which per-
forms a randomized search based on random walks on
the space of possible transformations, i.e. translations
and rotations. The algorithm performs a random walk
over the space of possible transformations. The inter-
esting part is that new transformations are generated
using a Gaussian distribution whose parameters are
updated at each iteration. This idea comes from a re-
cent motion planning algorithm we recent developed
[8]. It is possible to prove that the proposed algo-
rithm is probabilistic complete, i.e. if enough time is
allotted it will find the optimal transformation which
obtains the best overlapping between the maps being
considered.
4 Numerical Results
In our implementation a map is a grid of 200 by
200 elements, whose elements can assume integer val-
ues between -255 and 255. This is actually the output
Algorithm 4 Random walk
Require: numSteps 0
1: k0, tktstart,Σ0Σinit , µ0µinit
2: c0ψ(m1, Ttstart (m2))
3: while k < numSteps do
4: Generate a new sample sxk+vk
5: csψ(m1, Ts(m2))
6: if cs< ckOR RS(tk, s) = sthen
7: kk+ 1, tks, ck=cs
8: ΣkUpdate(tk, tk1, tk2, . . . , tkM)
9: µkUpdate(xk, tk1, tk2, . . . , tkM)
10: else
11: discard the sample s
of the mapping system we described in [7]. According
to such implementation, positive values indicate free
space, while negative values indicate obstacles. As an-
ticipated, the absolute value indicates the belief, while
a 0 value indicates lack of knowledge. The function ψ
used for driving the search over the space Sis defined
upon a map distance function borrowed from picture
distance computation [2]. Given the maps m1and m2,
the function is defined as follows
ψ(m1, m2) = X
c∈C
d(m1, m2, c) + d(m2, m1, c)
d(m1, m2, c) = Pm1[p1]=cmin{md(p1, p2)|m2[p2] = c}
#c(a)
where
C denotes a 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 p1and p2,
#c(m1) = #{p1|m1[p1] = c}is the number of
cells in m1with value c.
Before computing D, we preprocess the maps m1and
m2setting all positive values to 255 and all negative
values to -255. In our case then C={−255,255}, i.e.,
locations mapped as unknown are neglected. A less
obvious part of the linear time implementation of the
picture distance function is the computation of the
numerator in the d(m1, m2, c)-equation. It 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 m2for all
positions p1= (x1, y1):
d-mapc[x1][y1] = min{md(p1, p2)|m2[p2] = c}
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. Algorithm 5 gives the pseu-
docode for the three steps carried out to built it.
Algorithm 5 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][y
1] + 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 match-
ing of each grid cell in m1against each grid cell in m2.
We have implemented the three algorithms illustrated
in the former section and we compared their perfor-
mance while merging different maps in terms of speed
of computation and accuracy. In addition we imple-
mented the naive brute force algorithms that tries all
the possible transformation to determine the optimal
one. The results are illustrated in table 4 where we
compare the different algorithms in terms of quality
of matching and of execution speed, while an example
of matching is illustrated in figure 4.
5 Conclusions
We have reported on our experience implement-
ing and developing different algorithms for fusing par-
tially overlapping maps produced by multiple robots
exploring different parts of the disaster area. Different
techniques have been implemented and compared over
data gathered running real robots in the IUB rescue
arena. The random walk algorithm we have recently
introduced shows promise and appears to be an inter-
esting approach to investigate.
Map Brute force Multipoint Simulated Annealing Random walk
Case 1 15493.3/3.06955 6.07066/4.14678 9.3172/3.2926 1.00072/4.4132
Case 2 43462.5/3.48718 8.97039/4.42068 12.9822/3.64833 1.3959/4.3684
Case 3 38994.7/6.52768 7.77098/6.92824 12.0962/6.68582 1.24792/7.1016
Case 4 16798.7/3.43908 7.2469/3.81709 9.73415/3.67773 1.07923/4.0440
Table 1: Comparative results. In each column the first number is the time spent (in seconds) and the second
number is the obtained dissimilarity value.
20 40 60 80 100 120 140 160 180 200
20
40
60
80
100
120
140
160
180
200
(a)
20 40 60 80 100 120 140 160 180 200
20
40
60
80
100
120
140
160
180
200
(b)
20 40 60 80 100 120 140 160 180 200
20
40
60
80
100
120
140
160
180
200
(c)
Figure 4: Different maps created by the robots and their combination obtained by our matching technique.
References
[1] T. Arai, E. Pagello, and L.E. Parker. Guest edito-
rial advances in multirobot systems. IEEE Trans-
actions on Robotics and Automation, 18(5):655–
661, 2002.
[2] A. Birk. Learning geometric concepts with an
evolutionary algorithm. In Proc. of The Fifth An-
nual Conference on Evolutionary Programming.
The MIT Press, Cambridge, 1996.
[3] A. Birk. The iub rescue arena, a testbed for rescue
robots research. In Proceedings of SSRR 2004,
2004.
[4] A. Birk, S. Carpin, and H. Kenn. The iub 2003
rescue robot team. In Robocup 2003. Springer,
2003.
[5] S. Biswas, B. Limketkai, S. Sanner, and S. Thrun.
Towards object mapping in dynamic environ-
ments with mobile robots. In Proceedings of
the IEEE/RSJ International Conference on In-
telliegent Robots and Systems, pages 1014–1019,
2002.
[6] S. Carpin and A. Birk. Stochastic map merging in
rescue environments. In Robocup 2004. Springer,
2004. Accepted for pubblication.
[7] S. Carpin, H. Kenn, and A. Birk. Autonomous
mapping in the real robot rescue league. In
Robocup 2003. Springer, 2003.
[8] S. Carpin and G. Pillonetto. Motion planning
using adaptive random walks. IEEE Transactions
on Robotics and Automation, To appear.
[9] H. Kenn, S. Carpin, M. Pfingsthorn, B. Liebald,
I. Hepes, C. Ciocov, and A. Birk. Fast-robots: A
rapid-prototyping framework for intelligent mo-
bile robots. In Proceedings of the 3rd Interna-
tional Conference on Artificial Intelligence and
Applications, pages 76–81. ACTA Press, 2003.
[10] L.E. Parker. Current state of the art in dis-
tributed autonomous mobile robots. In L.E.
Parker, G. Bekey, and J.Barhen, editors, Dis-
tributed Autonomous Robotic Systems 4, pages 3–
12. Springer, 2000.
[11] S. Russel and P. Norwig. Artificial Intelligence -
A modern approach. Prentice Hall International,
1995.
Article
A remote controlled robot for collecting information in disasters, e.g. earthquakes, is one of most effective applications of robots, because it is very dangerous for human beings to locate survivors in collapsed buildings and, in addition, small robots can move into narrow spaces to find survivors. However, previous rescue systems that use robots have a significant problem — a shortage of operators. In catastrophic disasters, in order to save victims, we must explore wide areas within a limited time. Thus, many rescue robots should be employed simultaneously. However, human interfaces of previous rescue robots were complicated, so that well-trained professional operators were needed to operate the robots and, thus, to use many rescue robots, many professional operators were required. However, in such catastrophic disasters it is difficult to get many professional operators together within a short time. In this paper we address the problem and propose a concept of rescue team organization in which professional rescue staff and volunteer staff work together for handling a catastrophic disaster. We point out the necessity for rescue robots which can be operated easily by non-professional volunteer staff. To realize a rescue robot which can be operated easily, we propose a rescue robot system which has a human interface seen in typical, everyday vehicles and a snake-like robot which has mechanical intelligence. We have demonstrated the validity and the effectiveness of the proposed concept by developing a prototype system.
Article
Rescue robotics is an important steppingstone in the scientific chal- lenge to create autonomous systems. There is a significant market for res- cue robots, which has unique features that allow a fruitful combination of application oriented developments and basic research. Unlike other mar- kets for advanced robotics systems like service robots, the rescue robotics domain benefits from the fact that there is a human in the loop, which allows a stepwise transition from dumb teleoperated devices to truly au- tonomous systems. Current teleoperated devices are already very useful in this domain and they benefit from any bit of autonomy added. Human rescue workers are a scarce resource at disaster scenarios. A single op- erator should hence ideally supervise a multitude of robots. We present results from the rescue robots at the International University Bremen (IUB) in a core area supporting autonomy, namely mapping.
Conference Paper
Full-text available
Mobile robots can be highly valuable tools in Urban Rescue Missions, inspecting collapsed buildings, assessing the situation, looking for victims and establishing a first contact to them. At the International University Bremen (IUB), rescue robots for these tasks are developed since 2001. All components of the robots, ranging from mechanics over computational hardware to all software levels have been to a large extent custom designed for the difficult task of rescue missions. The newly established rescue arena at IUB plays an important role in the development cycle of the robots. It provides the necessary complex and realistic test-scenario to provide feedback about the deficiencies of the robots and to allow the investigation of advanced algorithms, especially for control, localization and mapping.
Conference Paper
Full-text available
FAST-Robots (Framework Architecture for Selfcontroled and Teleoperated Robots) is an object-oriented network control architecture framework for robotics experiments that supports mixed teleoperation and autonomy. Its fea-tures are the abstraction from the underlying communica-tion system and its simplicity and flexibility towards mod-ification and extension. This architecture is used aboard mobile robots in the Robocup Rescue Robots League.
Conference Paper
Full-text available
We address the problem of merging multiple noisy maps,in the rescue environment. The problem is tackled by performing a stochastic search in the space of possible map,transformations. The proposed technique has its roots in a motion planning algorithm we recent developed, and turns out to be a generalization of other search techniques like hill-climbing or simulated annealing. We provide the proofs of its probabilistic convergence and we provide numerical examples of its performance while merging partial maps build by our rescue robots. Final Version
Article
Full-text available
As research progresses in distributed robotic systems, more and more aspects of multirobot systems are being explored. This Special Issue on Advances in Multirobot Systems provides a broad sampling of the research that is currently ongoing in the field of distributed mobile robot systems. To help categorize this research, we have identified seven primary research topics within multirobot systems: biological inspirations, communication, architectures, localization/mapping/exploration, object transport and manipulation, motion coordination, and reconfigurable robots. This editorial examines these research areas and discusses the Special Issue papers in this context. We conclude by identifying several additional open research issues in distributed mobile robotic systems.
Article
Full-text available
As research progresses in distributed robotic systems, more and more aspects of multi-robot systems are being explored. This article surveys the current state of the art in distributed mobile robot systems. Our focus is principally on research that has been demonstrated in physical robot implementations. We have identified eight primary research topics within multi-robot systems -- biological inspirations, communication, architectures, localization/mapping/exploration, object transport and manipulation, motion coordination, reconfigurable robots, and learning - and discuss the current state of research in these areas. As we describe each research area, we identify some key open issues in multi-robot team research. We conclude by identifying several additional open research issues in distributed mobile robotic systems.
Article
We propose a novel single-shot motion-planning algorithm based on adaptive random walks. The proposed algorithm turns out to be simple to implement, and the solution it produces can be easily and efficiently optimized. Furthermore, the algorithm can incorporate adaptive components, so the developer is not required to specify all the parameters of the random distributions involved, and the algorithm itself can adapt to the environment it is moving in. Proofs of the theoretical soundness of the algorithm are provided, as well as implementation details. Numerical comparisons with well-known algorithms illustrate its effectiveness.
Learning geometric concepts with an evolutionary algorithm
  • A Birk
A. Birk. Learning geometric concepts with an evolutionary algorithm. In Proc. of The Fifth Annual Conference on Evolutionary Programming. The MIT Press, Cambridge, 1996.
The iub 2003 rescue robot team
  • A Birk
  • S Carpin
  • H Kenn
A. Birk, S. Carpin, and H. Kenn. The iub 2003 rescue robot team. In Robocup 2003. Springer, 2003.
Towards object mapping in dynamic environments with mobile robots
  • S Biswas
  • B Limketkai
  • S Sanner
  • S Thrun
S. Biswas, B. Limketkai, S. Sanner, and S. Thrun. Towards object mapping in dynamic environments with mobile robots. In Proceedings of the IEEE/RSJ International Conference on Intelliegent Robots and Systems, pages 1014-1019, 2002.