31.01.2014 Views

Mapping and Exploration for Search and Rescue with Humans and ...

Mapping and Exploration for Search and Rescue with Humans and ...

Mapping and Exploration for Search and Rescue with Humans and ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Dissertation zur Erlangung des Doktorgrades der Fakultät für Angew<strong>and</strong>te<br />

Wissenschaften der Albert-Ludwigs-Universität Freiburg im Breisgau<br />

<strong>Mapping</strong> <strong>and</strong> <strong>Exploration</strong> <strong>for</strong> <strong>Search</strong> <strong>and</strong><br />

<strong>Rescue</strong> <strong>with</strong> <strong>Humans</strong> <strong>and</strong> Mobile Robots<br />

Alex<strong>and</strong>er D. Kleiner<br />

2007


2<br />

Tag der Disputation:<br />

20. Februar 2008<br />

Dekan:<br />

Prof. Dr. Bernhard Nebel, Albert-Ludwigs-Universität Freiburg<br />

Gutachter:<br />

Prof. Dr. Bernhard Nebel, Albert-Ludwigs-Universität Freiburg<br />

Prof. Dr. Daniele Nardi, University of Rome “Sapienza”


Zusammenfassung<br />

Katastrophenhilfe ist eine zeitkritische Aufgabe bei der Überlebende innerhalb der ersten 72<br />

Stunden gerettet werden müssen. Ein Ziel der Rettungsrobotik ist die Unterstützung dieser<br />

Aufgabe mit kooperierenden Teams bestehend aus Menschen und Robotern. Dabei sollen das<br />

Katastrophengebiet flächendeckend erkundet und Positionen Überlebender an eine zentrale Befehlsstelle<br />

zur Planung von Rettungsmissionen gemeldet werden. Dies kann nur effizient erfolgen<br />

wenn Menschen und Roboter das Katastrophengebiet gemeinsam kartieren und gleichzeitig<br />

ihre Suche koordinieren. Roboter sollten dabei in der Lage sein, Teilprobleme, wie z.B. Navigation<br />

und das Aufspüren von Opfern, autonom durchzuführen. Aufgrund der unstrukturierten<br />

Beschaffenheit von Katastrophengebieten und der Unzugänglichkeit des Geländes ist die Bewältigung<br />

dieser Aufgaben außerordentlich schwierig. Des Weiteren müssen entwickelte Lösungen<br />

auch bei einem Totalausfall der Kommunikation dezentral funktionsfähig sein.<br />

In dieser Dissertation wird ein vereinheitlichter Ansatz für Menschen und Roboter zur Lösung<br />

dieser Probleme vorgestellt. Dabei werden Kernprobleme, wie z.B. Positionsbestimmung<br />

auf unwegsamen Gelände, Kartenerstellung durch heterogene Teams und dezentrale Team Koordination<br />

mit eingeschränkter Kommunikation direkt beh<strong>and</strong>elt. Es wird die Methode “RFID-<br />

SLAM” zur robusten und effiziente Kartierung großräumiger Gebiete vorgestellt, welche RFID<br />

Technologie zur Wiedererkennung von Orten einsetzt. Die vorgestellte Methode beinhaltet<br />

einerseits die <strong>for</strong>twährende Positionsbestimmung von Menschen und Robotern, jeweils mittels<br />

Fußgänger-Koppelnavigation und rutschemfindlicher Radodometrie, und <strong>and</strong>ererseits eine<br />

graphenbasierte Kartenoptimierung. Das Verfahren kann zentral oder dezentral erfolgen, wobei<br />

im Gegensatz zu herkömmlichen Methoden, ein wiederholtes Besuchen von Orten einzelner<br />

Teammitglieder zum optimieren der Karte nicht er<strong>for</strong>derlich ist. Aufbauend auf dieser Kartenrepräsentation<br />

werden für die Koordination größerer Rettungsteams eine deliberative Methode<br />

zur Bestimmung der Aufgabenverteilung und Multiagenten-Pfadplanung und eine Methode zur<br />

lokalen Suche unter der Verwendung des Speichers von RFIDs, vorgestellt.<br />

Zur autonomen Navigation von Robotern auf unwegsamen Gelände und automatischen Erkennung<br />

von Menschen in Katastrophengebieten werden einerseits eine effiziente Methode zur Erstellung<br />

von Höhenkarten und <strong>and</strong>ererseits ein Ansatz zur genetischen Optimierung von “Markov<br />

R<strong>and</strong>om Field” Modellen präsentiert. Abschließend wird eine human in the loop Architektur<br />

vorgestellt, welche die Integration von gesammelten Daten einzelner Rettungseinheiten in ein<br />

Multiagentensystem erlaubt. In diesem Zusammenhang wird die zentrale Koordination großräumiger<br />

Katastrophenhilfe mittels Agententechnologie beschrieben.<br />

Die in dieser Arbeit vorgestellten Verfahren wurden weitgehend in Outdoor-Szenarien und offiziellen<br />

Testszenarien zum Katastrophenschutz getestet. Sie waren ein wesentlicher Best<strong>and</strong>teil<br />

von Systemen, die insgesamt mehr als zehn mal den ersten Platz bei internationalen Wettbewerben,<br />

wie z.B. den RoboCup Weltmeisterschaften, erreichten.<br />

i


Abstract<br />

Urban <strong>Search</strong> And <strong>Rescue</strong> (USAR) is a time critical task since all survivors have to be rescued<br />

<strong>with</strong>in the first 72 hours. One goal in <strong>Rescue</strong> Robotics is to support emergency response by<br />

mixed-initiative teams consisting of humans <strong>and</strong> robots. Their task is to explore the disaster<br />

area rapidly while reporting victim locations <strong>and</strong> hazardous areas to a central station, which<br />

then can be utilized <strong>for</strong> planning rescue missions.<br />

To fulfill this task efficiently, humans <strong>and</strong> robots have to map disaster areas jointly while coordinating<br />

their search at the same time. Additionally, robots have to per<strong>for</strong>m subproblems, such<br />

as victim detection <strong>and</strong> navigation, autonomously. In disaster areas these problems are extraordinarily<br />

challenging due to the unstructured environment <strong>and</strong> rough terrain. Furthermore, when<br />

communication fails, methods that are deployed under such conditions have to be decentralized,<br />

i.e. operational <strong>with</strong>out a central station.<br />

In this thesis a unified approach joining human <strong>and</strong> robot resources <strong>for</strong> solving these problems<br />

is contributed. Following the vision of combined multi-robot <strong>and</strong> multi-human teamwork, core<br />

problems, such as position tracking on rough terrain, mapping by mixed teams, <strong>and</strong> decentralized<br />

team coordination <strong>with</strong> limited radio communication, are directly addressed. More specific,<br />

RFID-SLAM, a novel method <strong>for</strong> robust <strong>and</strong> efficient loop closure in large-scale environments<br />

that utilizes RFID technology <strong>for</strong> data association, is contributed. The method is capable of<br />

jointly improving multiple maps from humans <strong>and</strong> robots in a centralized <strong>and</strong> decentralized<br />

manner <strong>with</strong>out requiring team members to per<strong>for</strong>m loops on their routes. Thereby positions<br />

of humans are tracked by PDR (Pedestrian Dead Reckoning), <strong>and</strong> robot positions by slippagesensitive<br />

odometry, respectively. The joint-graph emerging from these trajectories serves as an<br />

input <strong>for</strong> an iterative map optimization procedure. The introduced map representation is further<br />

utilized <strong>for</strong> solving the centralized <strong>and</strong> decentralized coordination of large rescue teams. On<br />

the one h<strong>and</strong>, a deliberate method <strong>for</strong> combined task assignment <strong>and</strong> multi-agent path planning,<br />

<strong>and</strong> on the other h<strong>and</strong>, a local search method using the memory of RFIDs <strong>for</strong> coordination, are<br />

proposed.<br />

For autonomous robot navigation on rough terrain <strong>and</strong> real-time victim detection in disaster<br />

areas an efficient method <strong>for</strong> elevation map building <strong>and</strong> a novel approach to genetic MRF<br />

(Markov R<strong>and</strong>om Field) model optimization are contributed. Finally, a human in the loop architecture<br />

is presented that integrates data collected by first responders into a multi-agent system<br />

via wearable computing. In this context, the support <strong>and</strong> coordination of disaster mitigation in<br />

large-scale environments from a central-comm<strong>and</strong>-post-perspective are described.<br />

Methods introduced in this thesis were extensively evaluated in outdoor environments <strong>and</strong><br />

official USAR testing arenas designed by the National Institute of St<strong>and</strong>ards <strong>and</strong> Technology<br />

(NIST). Furthermore, they were an integral part of systems that won in total more than 10 times<br />

the first prize at international competitions, such as the RoboCup world championships.<br />

i


To Wei Fang ( ) <strong>and</strong> my family,<br />

<strong>for</strong> their love <strong>and</strong> support,<br />

who provided the foundation<br />

of all my endeavors.


Acknowledgements<br />

My work was accompanied <strong>and</strong> supported by many people which took influence by<br />

different means. In my opinion, there are basically three different categories of good<br />

influence: motivation/virtue, team work/learning experience, <strong>and</strong> entertainment, which<br />

are all equally important. Although these three categories overlap <strong>with</strong> either friends or<br />

colleagues, <strong>and</strong> in some cases influence came through simply exchanging a few words,<br />

<strong>and</strong> in other cases through years of joint work, I would like to thank them in this way.<br />

First of all, I would like to thank my adviser Professor Bernhard Nebel who generously<br />

made the building of each robot <strong>and</strong> agent system that we designed financially<br />

possible, but more importantly, who motivated me. Furthermore, his integrity <strong>and</strong> correctness<br />

polarized my personal development from the very beginning, <strong>and</strong> I very much<br />

appreciate the liberties I received to work on my projects.<br />

During my first years in Freiburg I very much enjoyed the time <strong>with</strong> the CS Freiburg<br />

robot soccer team, particularly the work <strong>with</strong> Thilo Weigel, Markus Dietl, <strong>and</strong> Steffen<br />

Gutmann. From the nights I spent <strong>with</strong> them in the laboratory or at RoboCup venues I<br />

learned, above all, endurance <strong>and</strong> determination, which I later carried on to many other<br />

teams.<br />

During visits of <strong>Rescue</strong> Robotics related conferences <strong>and</strong> events I met a lot of highly<br />

active people in the community, which greatly motivated my work. Hence, I would<br />

like to thank Adam Jacoff <strong>for</strong> his restless ef<strong>for</strong>ts in setting up every year new per<strong>for</strong>mance<br />

metrics, even if it means to saw countless cubic meters of wood. Furthermore,<br />

he motivated robotics researchers by enabling discussions on disaster mitigation <strong>with</strong><br />

emergency responders from the field. My work was also motivated by the commitment<br />

of Prof. Satoshi Tadokoro, Prof. Mike Lewis, <strong>and</strong> Prof. Daniele Nardi. I like to thank<br />

them <strong>for</strong> all the ef<strong>for</strong>ts they have undertaken <strong>for</strong> the community, <strong>and</strong> also <strong>for</strong> giving<br />

research directions.<br />

Many thanks to Dirk Hähnel <strong>for</strong> the straight<strong>for</strong>ward discussions we had on SLAM,<br />

<strong>and</strong> supporting our team while building-up the first rescue robot.<br />

Many thanks to my friends <strong>and</strong> colleagues <strong>for</strong> the wonderful team work we experienced.<br />

First of all I would like to thank Christian Dornhege, who accompanied me <strong>for</strong><br />

the longest time. Besides his broad knowledge <strong>and</strong> ability to solve problems practically,<br />

his diligence <strong>and</strong> discipline enabled many systems to function as they should. Furthermore,<br />

I like to thank Rainer Kümmerle <strong>and</strong> Bastian Steder <strong>for</strong> their brilliant work <strong>with</strong><br />

<strong>Rescue</strong> Robots Freiburg. It is their individual skills that lay the basis <strong>for</strong> strong team<br />

work, particularly Basti’s ability to solve any mechanical <strong>and</strong> electronic problem by<br />

iii


iv<br />

Acknowledgements<br />

a hot-glue gun, cable fixer <strong>and</strong> shrink tubing, <strong>and</strong> Rainer’s underst<strong>and</strong>ing of putting<br />

mathematics into source code. Thanks to all other team members contributing essential<br />

parts to the systems that we built <strong>with</strong> ResQ Freiburg <strong>and</strong> <strong>Rescue</strong> Robots Freiburg<br />

from 2004-2006: Tobias Bräuer, Michael Brenner, Jörg Stückler, Moritz Göbelbecker,<br />

Mathias Luber, Daniel Meyer-Delius, Johann Prediger, Michael Ruhnke, <strong>and</strong> Michael<br />

Schnell. Also many thanks to Dali Sun who walked several kilometers to collect PDR<br />

(Pedestrian Dead Reckoning) data evaluated in this thesis.<br />

Vittorio Amos Ziparo (Don Vito) from Italy visited our laboratory <strong>for</strong> one year as a<br />

guest researcher. On the one h<strong>and</strong> his way of making jokes <strong>and</strong> taking things easy made<br />

working together very pleasant. On the other h<strong>and</strong> his strong motivation to bring things<br />

to an end, which I was certain about as he still did not want to sleep after two days <strong>and</strong><br />

nights of intensive work, <strong>and</strong> his way of taking the consequences from decisions made,<br />

finally lead to the success we had.<br />

I would like to thank Holger Kenn, <strong>for</strong> the nice team work we had, his optimistic<br />

thinking, <strong>and</strong> his directness. Anyway, he was the first person working on rescue robots<br />

who I met.<br />

My thanks to all my friends <strong>and</strong> colleagues <strong>for</strong> the great time I had in Freiburg. Special<br />

thanks to Michael Brenner <strong>for</strong> all the meaningful discussions on multi-agent planning<br />

<strong>and</strong> also <strong>for</strong> enduring me in our office <strong>for</strong> so long. Thanks to Sebastian Kupferschmidt,<br />

Dapeng Zhang, <strong>and</strong> Malte Helmert <strong>for</strong> having table sports <strong>and</strong> beer garden<br />

events. Also many thanks to Gian Diego Tipaldi <strong>and</strong> Giorgio Grisetti <strong>for</strong> the late night<br />

excursions, as well as <strong>for</strong> teaching me on SLAM.<br />

Finally, most thanks to my oldest friend Jörg Ziegler, my family Julia, Brigitte, <strong>and</strong><br />

Dieter Kleiner, <strong>and</strong> most of all Wei Fang, <strong>for</strong> supporting me <strong>and</strong> enjoying life <strong>with</strong> me.


Table of Contents<br />

1 Introduction 1<br />

1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1<br />

1.2 Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4<br />

1.3 RoboCup <strong>Rescue</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8<br />

1.4 Structure of the thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />

1.5 Relevant publications <strong>and</strong> awards . . . . . . . . . . . . . . . . . . . . . 10<br />

2 <strong>Rescue</strong> Robotics Hardware 15<br />

2.1 Design criteria <strong>for</strong> robot plat<strong>for</strong>ms . . . . . . . . . . . . . . . . . . . . 15<br />

2.2 Sensors <strong>for</strong> navigation . . . . . . . . . . . . . . . . . . . . . . . . . . 18<br />

2.2.1 Inertial Measurement Unit (IMU) . . . . . . . . . . . . . . . . 18<br />

2.2.2 Laser Range Finder (LRF) . . . . . . . . . . . . . . . . . . . . 20<br />

2.2.3 Global Navigation Satellite System (GNSS) . . . . . . . . . . . 21<br />

2.3 Sensors <strong>for</strong> detecting humans . . . . . . . . . . . . . . . . . . . . . . . 24<br />

2.3.1 Video <strong>and</strong> infra-red cameras . . . . . . . . . . . . . . . . . . . 24<br />

2.3.2 3D Laser Range Finder (LRF) . . . . . . . . . . . . . . . . . . 25<br />

2.3.3 Audio <strong>and</strong> CO 2 sensors . . . . . . . . . . . . . . . . . . . . . . 26<br />

2.4 RFID technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28<br />

2.4.1 RFIDs in robotic applications . . . . . . . . . . . . . . . . . . 30<br />

2.4.2 Importance <strong>for</strong> Urban <strong>Search</strong> <strong>and</strong> <strong>Rescue</strong> (USAR) . . . . . . . 30<br />

2.5 <strong>Rescue</strong> Robots Freiburg . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br />

2.5.1 Lurker robot . . . . . . . . . . . . . . . . . . . . . . . . . . . 33<br />

2.5.2 Zerg robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33<br />

2.5.3 Human-Robot Interaction (HRI) . . . . . . . . . . . . . . . . . 34<br />

3 Pose Tracking In Disaster Areas 37<br />

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />

v


vi<br />

Table of Contents<br />

3.2 Conventional techniques . . . . . . . . . . . . . . . . . . . . . . . . . 39<br />

3.2.1 Dead reckoning . . . . . . . . . . . . . . . . . . . . . . . . . . 39<br />

3.2.2 Scan matching . . . . . . . . . . . . . . . . . . . . . . . . . . 40<br />

3.3 Slippage sensitive wheel odometry . . . . . . . . . . . . . . . . . . . . 42<br />

3.4 Visual odometry based pose tracking . . . . . . . . . . . . . . . . . . . 43<br />

3.4.1 Feature tracking . . . . . . . . . . . . . . . . . . . . . . . . . 44<br />

3.4.2 Filtering of rotations around the pitch angle . . . . . . . . . . . 45<br />

3.4.3 Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . 47<br />

3.5 Pedestrian Dead Reckoning (PDR) . . . . . . . . . . . . . . . . . . . . 49<br />

3.5.1 Distance estimation . . . . . . . . . . . . . . . . . . . . . . . . 49<br />

3.5.2 Heading estimation . . . . . . . . . . . . . . . . . . . . . . . . 51<br />

3.6 Experimental results . . . . . . . . . . . . . . . . . . . . . . . . . . . 52<br />

3.6.1 Pose tracking under heavy slippage . . . . . . . . . . . . . . . 52<br />

3.6.2 Pose tracking on tracked vehicles . . . . . . . . . . . . . . . . 54<br />

3.6.3 Pose tracking of human walking . . . . . . . . . . . . . . . . . 59<br />

3.7 Related work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59<br />

3.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br />

4 RFID Technology-based SLAM 63<br />

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63<br />

4.2 Conventional techniques . . . . . . . . . . . . . . . . . . . . . . . . . 65<br />

4.2.1 EKF-based SLAM . . . . . . . . . . . . . . . . . . . . . . . . 65<br />

4.2.2 FastSLAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68<br />

4.3 Centralized RFID-SLAM . . . . . . . . . . . . . . . . . . . . . . . . . 68<br />

4.3.1 Building RFID graphs . . . . . . . . . . . . . . . . . . . . . . 69<br />

4.3.2 Linear optimization . . . . . . . . . . . . . . . . . . . . . . . . 70<br />

4.3.3 Non-linear optimization . . . . . . . . . . . . . . . . . . . . . 72<br />

4.3.4 Trajectory interpolation . . . . . . . . . . . . . . . . . . . . . . 74<br />

4.3.5 Sensor model . . . . . . . . . . . . . . . . . . . . . . . . . . . 75<br />

4.4 Decentralized RFID-SLAM (DRFID-SLAM) . . . . . . . . . . . . . . 75<br />

4.5 Experimental results . . . . . . . . . . . . . . . . . . . . . . . . . . . 78<br />

4.5.1 Experimental setup . . . . . . . . . . . . . . . . . . . . . . . . 78<br />

4.5.2 RFID-SLAM <strong>with</strong> robots . . . . . . . . . . . . . . . . . . . . . 80<br />

4.5.3 RFID-SLAM <strong>with</strong> humans . . . . . . . . . . . . . . . . . . . . 85


Table of Contents<br />

vii<br />

4.5.4 RFID-SLAM jointly <strong>with</strong> humans <strong>and</strong> robot . . . . . . . . . . . 88<br />

4.6 Related work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90<br />

4.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92<br />

5 Real-time Elevation <strong>Mapping</strong> 93<br />

5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93<br />

5.2 Conventional techniques . . . . . . . . . . . . . . . . . . . . . . . . . 94<br />

5.2.1 Occupancy grid maps . . . . . . . . . . . . . . . . . . . . . . . 94<br />

5.3 Building elevation maps in real-time . . . . . . . . . . . . . . . . . . . 96<br />

5.3.1 Single cell update from sensor readings . . . . . . . . . . . . . 96<br />

5.3.2 Map filtering <strong>with</strong> a convolution kernel . . . . . . . . . . . . . 99<br />

5.3.3 Estimation of the three-dimensional pose . . . . . . . . . . . . 100<br />

5.4 Experimental results . . . . . . . . . . . . . . . . . . . . . . . . . . . 101<br />

5.5 Related work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103<br />

5.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105<br />

6 RFID Technology-based Multi-Robot <strong>Exploration</strong> 107<br />

6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107<br />

6.2 Coordinated local exploration . . . . . . . . . . . . . . . . . . . . . . . 109<br />

6.2.1 Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109<br />

6.2.2 Local exploration . . . . . . . . . . . . . . . . . . . . . . . . . 111<br />

6.3 Multi-robot topological maps . . . . . . . . . . . . . . . . . . . . . . . 112<br />

6.4 Global exploration monitoring . . . . . . . . . . . . . . . . . . . . . . 114<br />

6.4.1 Problem modeling . . . . . . . . . . . . . . . . . . . . . . . . 114<br />

6.4.2 Global task assignment <strong>and</strong> path planning . . . . . . . . . . . . 117<br />

6.4.3 Monitoring agent . . . . . . . . . . . . . . . . . . . . . . . . . 119<br />

6.5 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120<br />

6.5.1 Evaluation of the local approach . . . . . . . . . . . . . . . . . 120<br />

6.5.2 Evaluation of the global approach . . . . . . . . . . . . . . . . 122<br />

6.6 Related work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125<br />

6.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126<br />

7 Victim Detection 129<br />

7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129<br />

7.2 Vision data processing . . . . . . . . . . . . . . . . . . . . . . . . . . 130


viii<br />

Table of Contents<br />

7.3 Genetic model optimization . . . . . . . . . . . . . . . . . . . . . . . . 132<br />

7.3.1 Markov R<strong>and</strong>om Fields (MRFs) . . . . . . . . . . . . . . . . . 132<br />

7.3.2 Model selection . . . . . . . . . . . . . . . . . . . . . . . . . . 134<br />

7.4 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136<br />

7.5 Related work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138<br />

7.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139<br />

8 Human In The Loop 143<br />

8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143<br />

8.2 Interfacing human first responders . . . . . . . . . . . . . . . . . . . . 144<br />

8.2.1 Preliminary test system . . . . . . . . . . . . . . . . . . . . . . 145<br />

8.2.2 Wearable emergency-response system . . . . . . . . . . . . . . 146<br />

8.3 Multi Agent Systems (MAS) <strong>for</strong> disaster management . . . . . . . . . . 147<br />

8.3.1 Real-world data integration . . . . . . . . . . . . . . . . . . . . 148<br />

8.3.2 Coordinated victim search . . . . . . . . . . . . . . . . . . . . 149<br />

8.3.3 <strong>Rescue</strong> sequence optimization . . . . . . . . . . . . . . . . . . 153<br />

8.4 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155<br />

8.4.1 Data integration from wearable devices . . . . . . . . . . . . . 155<br />

8.4.2 Coordinated victim search . . . . . . . . . . . . . . . . . . . . 155<br />

8.4.3 Victim rescue sequence optimization . . . . . . . . . . . . . . . 158<br />

8.5 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160<br />

8.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160<br />

9 Summary And Future Work 163<br />

9.1 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164<br />

9.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166<br />

10 Appendix 169<br />

10.1 <strong>Rescue</strong> communication protocol . . . . . . . . . . . . . . . . . . . . . 169<br />

10.2 Construction drawings . . . . . . . . . . . . . . . . . . . . . . . . . . 173<br />

10.2.1 3D Laser Range Finder (LRF) . . . . . . . . . . . . . . . . . . 173<br />

10.2.2 Zerg robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174<br />

10.2.3 RFID tag releaser . . . . . . . . . . . . . . . . . . . . . . . . . 179<br />

10.3 Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184<br />

Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194


1 Introduction<br />

1.1 Motivation<br />

Large scale urban disaster situations, such as earthquakes, floods or terrorist attacks<br />

pose an immense threat to modern urban civilization centers. Examples such as the<br />

Great Hanshin earthquake in Kobe, the Pacific Tsunami, the hurricane Kathrina or the<br />

terrorist attacks of 9/11 demonstrate that although disaster response plans were in place,<br />

these events pushed existing countermeasures over their limits, resulting in loss of human<br />

lives, <strong>and</strong> long-term adversary effects on the affected regions.<br />

During Urban <strong>Search</strong> And <strong>Rescue</strong> (USAR), time is of utmost importance. <strong>Rescue</strong><br />

teams have to explore large terrain <strong>with</strong>in a short amount of time in order to locate survivors<br />

after a disaster. In this scenario, the number of survivors decreases drastically by<br />

each day due to hostile environmental conditions <strong>and</strong> the victims’ injuries. There<strong>for</strong>e,<br />

the survival rate depends significantly on the efficiency of rescue teams.<br />

Furthermore, cooperation is a must during rescue operations <strong>for</strong> disaster mitigation.<br />

In general the problem is not solvable by a single unit, yet a heterogeneous team that dynamically<br />

combines individual capabilities in order to solve the task is needed [Murphy<br />

et al., 2000]. This is due to the structural diversity of disaster areas, variety of evidence<br />

on human presence that sensors can perceive, <strong>and</strong> the necessity to quickly <strong>and</strong> reliably<br />

examining targeted regions. Mixed teams not only offer the possibility to field such diverse<br />

capabilities, they also exhibit increased robustness due to redundancy [Dias et al.,<br />

2004], <strong>and</strong> increased per<strong>for</strong>mance due to parallel task execution.<br />

Particularly the aspect of integrating mobile robots in human search teams, <strong>and</strong> thus<br />

to combine robotics technology <strong>with</strong> human expertise, attracted increasing attention<br />

in recent years. One goal there is to build mixed-initiative teams [Wang <strong>and</strong> Lewis,<br />

2007], consisting of autonomous robots that are partially controlled by human incident<br />

comm<strong>and</strong>ers. Their task is to jointly create a map of the disaster area <strong>and</strong> to register<br />

victim locations, which are further utilized by human task <strong>for</strong>ces to schedule rescue<br />

missions.<br />

To deploy robots <strong>for</strong> exploration <strong>and</strong> mapping has multiple advantages. Miniature<br />

robots can enter either confined or toxic spaces that humans <strong>and</strong> search dogs cannot.<br />

<strong>Search</strong> dogs are of great assistance during emergency response. However, at the WTC<br />

at 9/11 they were hindered by rain, which limited their sense of smell to only 0.3<br />

meters. While victims were assumed to be located at a depth of 30 meters they could<br />

1


2 Chapter 1. Introduction<br />

(a)<br />

(b)<br />

Figure 1.1: First responders <strong>and</strong> destroyed building structures after the 9/11 incident.<br />

Courtesy of Robin Murphy.<br />

not go deeper than half a meter into the rubble because there was no air [AAAI, 2002].<br />

Furthermore, rescue safety <strong>and</strong> effectiveness is a serious issue. In the case of the Mexico<br />

City earthquake in 1985, 135 rescuers died, many of them while searching confined<br />

spaces that were flooded [Casper et al., 2000]. Figure 1.1 depicts collapsed building<br />

structures after 9/11.<br />

<strong>Rescue</strong> workers have not enough time to thoroughly search the area since they are<br />

needed <strong>for</strong> rescuing as many victims as possible <strong>with</strong>in the first 72 hours, which are<br />

there<strong>for</strong>e also called the golden 72 hours. After this time, the survival rate decreases<br />

drastically (see Figure 1.2). For example, it takes in average 10 trained professionals approximately<br />

4 hours to remove a victim in a void space <strong>and</strong> 10 trained professionals 10<br />

hours to remove an entombed victim [Administration <strong>and</strong> Agency, 1995]. Here, robotic<br />

technology can be allocated to find victims thereby enabling the humans to concentrate<br />

on the rescue. Also, robotic technology can influence rescue missions substantially by<br />

providing in<strong>for</strong>mation on human activities in the field. Tom Haus, a firefighter at 9/11,<br />

pointed out these problems when I met him at the NIST emergency responder exercise.<br />

He depicted the difficulties first responders encounter in terms of situation awareness<br />

<strong>and</strong> keeping orientation. He noticed during a panel discussion: “We need a tracking<br />

system that tells us where we are, where we have been, <strong>and</strong> where we have to go to”.<br />

A thorough analysis of the requirements <strong>for</strong> the per<strong>for</strong>mance of robots that can<br />

support USAR roles <strong>and</strong> tasks has been undertaken by the US authorities NIST (National<br />

Institute of St<strong>and</strong>ards <strong>and</strong> Technology) <strong>and</strong> DHS (Department of Homel<strong>and</strong> Security)<br />

[Messina et al., 2005]. They acquired expert knowledge by polling members<br />

from twenty FEMA (Federal Emergency Management Agency) task <strong>for</strong>ces <strong>and</strong> the US<br />

National Guard. Among other USAR tasks, they identified reconnaissance <strong>and</strong> primary<br />

search as the two highest priorities <strong>for</strong> applying robots.


1.1. Motivation 3<br />

Number<br />

1600<br />

1400<br />

1200<br />

1000<br />

800<br />

600<br />

400<br />

200<br />

0<br />

16 18 20 22 24 26 28 30 32<br />

Date (Jan. 1995)<br />

(a)<br />

Dead<br />

Survive<br />

<strong>Rescue</strong>d total<br />

Survival Rate [%]<br />

100<br />

90<br />

80<br />

70<br />

60<br />

50<br />

40<br />

30<br />

20<br />

10<br />

0<br />

30 minutes<br />

1 Day<br />

2 Day 3 Day<br />

Time<br />

(b)<br />

4 Day<br />

5 Day<br />

Figure 1.2: Disaster mitigation statistics: (a) death <strong>and</strong> survival after the Kobe earthquake,<br />

(b) survival rate from the Federal Emergency Management Agency (FEMA).<br />

Courtesy of Satoshi Tadokoro.<br />

Due to the fact that <strong>Rescue</strong> Robotics faces extraordinary challenging problems, such<br />

as unstructured environments <strong>and</strong> hostile conditions, qualitative <strong>and</strong> quantitative per<strong>for</strong>mance<br />

metrics are indispensable. During the last years, researchers <strong>and</strong> organizations<br />

developed such per<strong>for</strong>mance metrics in order to asses the deployment of robots <strong>for</strong> disaster<br />

mitigation. Casper <strong>and</strong> Murphy analyzed experiences from a robot deployment<br />

at 9/11 [Casper <strong>and</strong> Murphy, 2003]. They concluded that robot portability <strong>and</strong> Human<br />

Robot Interfaces (HRI) are the most pressing needs. Burke et al. examined operator situation<br />

awareness during tele-operated search team interaction during a disaster rescue<br />

drill by analyzing communications. Pratt et al. photo documented <strong>with</strong> an iSENSYS IP3<br />

micro air vehicle damage in multi-story buildings after hurricane Kathrina [Pratt et al.,<br />

2006]. They provide logged sensor data <strong>and</strong> useful hints on their homepage [CRASAR,<br />

2007]. The special project <strong>for</strong> Earthquake Disaster Mitigation in Urban Areas (DDT<br />

Project), started by the Japanese Ministry of Education, Sports, Culture, Science <strong>and</strong><br />

Technology in 2002, concentrates on the development of robotic solutions <strong>for</strong> reconnaissance<br />

of victim bodies, structural damage <strong>and</strong> environmental conditions to assist<br />

rescue teams in large-scale urban earthquake disasters [Tadokoro, 2005,Tadokoro et al.,<br />

2003]. Furthermore, NIST developed a USAR test-bed <strong>for</strong> the RoboCup/AAAI robot<br />

urban search <strong>and</strong> rescue competition <strong>with</strong> the goal to promote research in designing<br />

intelligent fieldable robots <strong>and</strong> to provide a benchmark <strong>for</strong> testing current robot plat<strong>for</strong>ms<br />

[Jacoff et al., 2000, Kitano <strong>and</strong> Tadokoro, 2001] (see Section 1.3).<br />

One research challenge in <strong>Rescue</strong> Robotics is to acquire a map of the environment.<br />

This involves autonomously solving in real-time the problem of Simultaneous Localization<br />

<strong>and</strong> <strong>Mapping</strong> (SLAM), consisting of a continuous state estimation problem <strong>and</strong><br />

a discrete data association problem. In disaster areas, these problems are extraordinarily<br />

challenging. On the one h<strong>and</strong>, state estimation is difficult due to the extremely unreli-


4 Chapter 1. Introduction<br />

able odometry measurements usually found on robots operating on rough terrain. On<br />

the other h<strong>and</strong>, data association, i.e. to recognize locations from sensor data, is challenging<br />

due to the unstructured environment. Collapsed building structures, <strong>and</strong> limited<br />

visibility conditions due to smoke, dust, <strong>and</strong> fire, prevent an easy distinction of different<br />

places. This problem is also relevant to st<strong>and</strong>ard SLAM approaches, which recognize<br />

places by associating vision-based <strong>and</strong> LRF-based features. These extraordinary circumstances<br />

make it very difficult to apply common techniques from robotics. Many<br />

of these techniques have been developed under strong assumptions, <strong>for</strong> example, they<br />

require polygonal structures, such as typically found in office-like environments [Gutmann<br />

<strong>and</strong> Schlegel, 1996, Grisetti et al., 2002] or depend on predictable covariance<br />

bounds from pose tracking <strong>for</strong> solving the data association problem by validation gating<br />

[Dissanayake et al., 2001]. Moreover, SLAM methods work <strong>with</strong> the principle<br />

of map improvement through loop-closure, i.e. to improve the map globally each time<br />

places have been re-observed. However, when facing the reality of emergency response,<br />

firefighters will intentionally try to avoid per<strong>for</strong>ming loops, e.g. while they are searching<br />

<strong>for</strong> victims.<br />

To facilitate teamwork among humans <strong>and</strong> robots is another challenge in <strong>Rescue</strong><br />

Robotics. One difficulty that arises is that designing approaches <strong>for</strong> supporting emergency<br />

response from a single robot/human perspective is prone to yield suboptimal<br />

solutions. The joint per<strong>for</strong>mance of a team depends on assembling the right mixture<br />

of individual human <strong>and</strong> robot capabilities, <strong>and</strong> thus has to be designed as a whole.<br />

Another difficulty that arises is the exchange of in<strong>for</strong>mation, such as map data <strong>and</strong> victim<br />

locations, e.g. requiring reliable methods <strong>for</strong> merging individually generated map<br />

pieces. While there has been extensive research on building maps from a single agent<br />

perspective, <strong>and</strong> also on combining multiple maps offline, there has been only little<br />

attention on addressing the problem of decentralized SLAM, i.e. to jointly improve a<br />

map online based on sporadic point-to-point communications between the agents. In<br />

emergency response scenarios, this issue is of major importance since communication<br />

b<strong>and</strong>width is a truly limited resource. This also affects the problem of team coordination,<br />

i.e. requiring approaches being operational even if communication is not possible<br />

at all. Finally, robots have to be capable of detecting victims in the field, which is rather<br />

difficult in real-time given arbitrary shapes <strong>and</strong> colors found in disaster areas.<br />

1.2 Contribution<br />

In this thesis a unified approach combining human <strong>and</strong> robot resources <strong>for</strong> supporting<br />

disaster mitigation is presented. Whereas the main contribution is on autonomous mapping<br />

<strong>and</strong> exploration of disaster areas, also solutions <strong>for</strong> human detection <strong>and</strong> top-level<br />

coordination of rescue teams are presented. Following the vision of building an overall<br />

approach of combined multi-robot <strong>and</strong> multi-human teamwork, core problems, such as


1.2. Contribution 5<br />

position tracking on rough terrain, joint route graph optimization of multiple units, <strong>and</strong><br />

team coordination <strong>with</strong> limited radio communication are directly addressed. Conventional<br />

approaches <strong>for</strong> solving these problems are scrutinized, <strong>and</strong> improved solutions<br />

regarding efficiency <strong>and</strong> robustness in harsh environments are presented. The thesis<br />

describes the following contributions, which will be further explained in detail:<br />

• The design <strong>and</strong> construction of low-cost robotic hardware <strong>for</strong> search <strong>and</strong> rescue<br />

research<br />

• A method <strong>for</strong> slippage sensitive pose tracking on wheeled vehicles<br />

• A method <strong>for</strong> visual odometry-based pose tracking on tracked vehicles<br />

• RFID-SLAM: an algorithm <strong>for</strong> decentralized <strong>and</strong> centralized SLAM<br />

• A local search method <strong>for</strong> decentralized team coordination<br />

• A deliberative approach <strong>for</strong> centralized team coordination<br />

• A method <strong>for</strong> building elevation maps on rough terrain in real-time<br />

• A method <strong>for</strong> genetic optimization of MRF (Markov R<strong>and</strong>om Field) models <strong>for</strong><br />

real-time victim detection<br />

• A human-in-the-loop architecture building upon the RoboCup <strong>Rescue</strong> simulation<br />

kernel <strong>for</strong> disaster mitigation<br />

RFID-SLAM is a novel method <strong>for</strong> robust <strong>and</strong> efficient loop closure in large-scale<br />

environments that utilizes RFID tags <strong>for</strong> data association. RFID tags are small devices<br />

that carry a worldwide unique number that can be read from distant places, hence,<br />

offering a robust way to label <strong>and</strong> recognize locations in unstructured environments.<br />

Passive RFID tags do not require to be equipped <strong>with</strong> batteries since they are powered<br />

by the reader if they are <strong>with</strong>in reading distance. Their reading <strong>and</strong> writing distance,<br />

which depends on the employed communication frequency, can be assumed to be <strong>with</strong>in<br />

a range of meters.<br />

RFID-SLAM is capable of jointly improving multiple trajectories from humans <strong>and</strong><br />

robots <strong>and</strong> requires the autonomous deployment of RFID tags in the environment <strong>for</strong><br />

building a network of connected locations. Thereby the pose of each human is automatically<br />

tracked by PDR (Pedestrian Dead Reckoning), which recognizes human footsteps<br />

analytically from acceleration patterns. For the purpose of robot tracking, a slippagesensitive<br />

odometry that reduces odometry errors on slippery ground, as <strong>for</strong> example, if<br />

the robot navigates on rough terrain, has been developed.


6 Chapter 1. Introduction<br />

With the centralized version of RFID-SLAM, humans <strong>and</strong> robots are estimating the<br />

distances between RFID tags by pose tracking <strong>and</strong> communicate them to a central station.<br />

The central station successively builds a joint graph from these estimates <strong>and</strong> corrects<br />

the joint network of all trajectories by minimizing the Mahalanobis distance [Lu<br />

<strong>and</strong> Milios, 1997], while utilizing RFID transponders <strong>for</strong> data association [Kleiner et al.,<br />

2006c]. One advantage of RFID-SLAM is that single agents are not required to per<strong>for</strong>m<br />

loops on their routes since those are automatically generated by merging individual<br />

tracks of the team members. Furthermore, DRFID-SLAM, a decentralized version<br />

of RFID-SLAM, is contributed. DRFID-SLAM utilizes in<strong>for</strong>mation sharing between<br />

humans <strong>and</strong> robots via the memory of RFIDs. Hence, does not depend on radio communication<br />

directly.<br />

Team coordination can be generally decomposed into task assignment <strong>and</strong> multiagent<br />

path planning. Whereas task assignment <strong>and</strong> multi-agent path planning were both<br />

intensively studied as separate problems in the past, there has been only little attention<br />

on solving both of them at once, particularly if large robot teams are involved. This is<br />

mainly due to the fact that the joint state space of the planning problem grows enormously<br />

<strong>with</strong> the number of robots. However, particularly in destroyed environments<br />

where robots have to overcome narrow passages <strong>and</strong> obstacles, path coordination is<br />

essential in order to avoid collisions <strong>and</strong> deadlocks. In this thesis a novel deliberative<br />

approach that reduces significantly the size of the search space by utilizing RFID tags<br />

as coordination points, while solving the problem of task assignment <strong>and</strong> path planning<br />

simultaneously, is contributed. The method utilizes the same RFID infrastructure as<br />

RFID-SLAM. Hence, global path planning is carried out on a graph topology, which is<br />

computationally cheaper than planning on global grid maps, as it is usually the case.<br />

Furthermore, a local search method that uses the memory of RFIDs <strong>for</strong> labeling visited<br />

places in the field is contributed. Since data exchange is carried out via the memory<br />

of RFIDs, the method can also be applied if radio communication fails completely. Additionally,<br />

the local approach has the advantage that computational costs do not grow<br />

<strong>with</strong> the number of robots participating in the search.<br />

To utilize RFID technology in emergency response scenarios has two further advantages:<br />

first, RFID tags that have been distributed into the environment can be used<br />

in a straight<strong>for</strong>ward manner by humans as l<strong>and</strong>marks to follow routes towards victim<br />

locations <strong>and</strong> exits, i.e. they do not need to localize themselves <strong>with</strong>in a metric map.<br />

Second, RFID tags can be used by human task <strong>for</strong>ces to store additional in<strong>for</strong>mation regarding<br />

nearby places <strong>for</strong> subsequent rescue teams. The idea of labeling locations <strong>with</strong><br />

in<strong>for</strong>mation that is important to the rescue task has already been applied in practice.<br />

During the disaster relief in New Orleans in 2005, rescue task <strong>for</strong>ces marked building<br />

entrances <strong>with</strong> in<strong>for</strong>mation concerning, <strong>for</strong> example, hazardous areas or victims inside<br />

the buildings [FEMA, 2003]. The RFID-based marking of locations is a straight <strong>for</strong>ward<br />

extension of this concept.


1.2. Contribution 7<br />

In order to navigate autonomously in disaster areas, robots need to have an adequate<br />

representation of the environment. For this purpose, trajectories, as <strong>for</strong> example generated<br />

by pose tracking <strong>and</strong> RFID-SLAM, can be taken as a basis <strong>for</strong> subsequently integrating<br />

range measurements from a Laser Range Finder (LRF) into a consistent map.<br />

In the context of emergency response, robots have to cope <strong>with</strong> rough terrain, e.g. an<br />

unstructured environment containing obstacles of arbitrary shape in three dimensions.<br />

However, st<strong>and</strong>ard approaches <strong>for</strong> mapping, such as occupancy grid maps [Moravec,<br />

1988], lead to a two-dimensional representation of the environment, hence not supplying<br />

an adequate representation in this context. Furthermore, pose tracking cannot<br />

reliably be per<strong>for</strong>med from wheel odometry or scan matching only.<br />

There<strong>for</strong>e, an efficient method <strong>for</strong> building elevation maps in real-time, i.e. to map<br />

the environment while the robot is in motion, is contributed. The proposed approach<br />

tracks the three-dimensional pose of the robot by integrating measurements from an<br />

orientation sensor <strong>and</strong> a novel method of visual odometry combined <strong>with</strong> scan matching.<br />

The visual odometry tracks salient features <strong>with</strong> the KLT feature tracker [Tomasi<br />

<strong>and</strong> Kanade, 1991] over images taken by the camera, <strong>and</strong> computes from the tracked<br />

features the translation of the robot. Furthermore, the three-dimensional pose is updated<br />

from height observations that have been registered on the map. Given the threedimensional<br />

pose, the height value of each map cell is estimated by integrating readings<br />

from a downwards tilted LRF. Due to the integration of the full three-dimensional pose,<br />

the method allows to create elevation maps online while the robot traverses rough terrain,<br />

as <strong>for</strong> example while driving over ramps <strong>and</strong> stairs.<br />

To search <strong>for</strong> victims in disaster areas requires robots to per<strong>for</strong>m subtasks, such as<br />

victim detection, partially or even fully autonomous. Due to the real-time constraint in<br />

rescue-like applications, only fast computable techniques are admissible. However, the<br />

detection rate of fast classifiers, such as color thresholding, motion detection, <strong>and</strong> shape<br />

detection turns out to be moderate, since they are typically tuned <strong>for</strong> specific features,<br />

as <strong>for</strong> example a specific face color at a particular illumination. Hence, in environments<br />

containing many diverse objects, they tend to produce a large number of detections,<br />

from which in the worst case most are false-positives, i.e. objects that are wrongly<br />

recognized as victims. One solution to this problem is to combine local evidences, i.e.<br />

evidences that are close to each other in the real world, <strong>and</strong> to reason on their true class<br />

label <strong>with</strong> respect to their neighborhood relations. Markov R<strong>and</strong>om Fields (MRFs)<br />

provides a probabilistic framework <strong>for</strong> representing such local dependencies. However,<br />

inference in MRFs is computational expensive, <strong>and</strong> hence not generally applicable in<br />

real-time.<br />

A novel approach <strong>for</strong> the genetic optimization of MRF models is contributed, which<br />

determines offline relevant neighborhood relations, <strong>for</strong> example the relevance of the<br />

relation between heat <strong>and</strong> motion, <strong>with</strong> respect to the data. These preselected types are<br />

then utilized <strong>for</strong> generating MRF models during runtime. First, the vertices of the MRF<br />

graph are constructed from the output of the weak classifiers. Second, edges between


8 Chapter 1. Introduction<br />

these nodes are added if the specific type of nodes can be connected by an edge type<br />

that was selected during the optimization procedure. One advantage of the proposed<br />

approach is that it can easily be extended <strong>for</strong> other sources of evidence, such as CO 2<br />

<strong>and</strong> audio noise detection.<br />

In order to develop an overall strategy <strong>for</strong> disaster mitigation, in<strong>for</strong>mation from single<br />

units, such as detected victims <strong>and</strong> traveled trajectories, has to be collected <strong>and</strong> analyzed<br />

centrally, e.g. at a central comm<strong>and</strong> post. Only a consistent view on the disaster situation<br />

allows to efficiently coordinate <strong>and</strong> schedule rescue missions per<strong>for</strong>med by human <strong>and</strong><br />

robot teams in the field. There<strong>for</strong>e, solutions are needed that increase the situation<br />

awareness of an incident comm<strong>and</strong>er from a central perspective, <strong>and</strong> support the process<br />

of decision making.<br />

The advantage of central data fusion is that the generated model of the disaster area<br />

can be taken as input <strong>for</strong> algorithms that analyze the current situation <strong>and</strong> compute<br />

optimal strategies <strong>for</strong> disaster mitigation <strong>and</strong> first responder risk reduction. Research<br />

in the field of Multi-Agent Systems (MAS) offers a rich set of solutions <strong>for</strong> this purpose.<br />

Since in a MAS the number of situations <strong>and</strong> joint actions per<strong>for</strong>med by agents<br />

is typically large, close-to-disaster-reality simulations are needed <strong>for</strong> evaluating these<br />

methods. The RoboCup <strong>Rescue</strong> simulation system aims at simulating large-scale disasters<br />

<strong>and</strong> exploring new ways <strong>for</strong> the autonomous coordination of rescue teams [Kitano<br />

et al., 1999]. Here the goal is to provide a plat<strong>for</strong>m <strong>for</strong> developing software agents that<br />

react to disaster situations by coordinating police, ambulance <strong>and</strong> firefighters. This goal<br />

leads to challenges like the coordination of heterogeneous teams of hundreds of agents,<br />

the exploration of large-scale environments in order to localize victims, as well as the<br />

scheduling of time-critical rescue missions.<br />

Systems that integrated human resources via agent proxies into a MAS are referred<br />

to as human-in-the-loop architectures. A human-in-the-loop architecture is contributed<br />

that integrates first responders via wearable computing into the RoboCup <strong>Rescue</strong> simulation<br />

system. The proposed wearable device allows to acquire disaster relevant data.<br />

Thereby locations of first responders can either be tracked by GPS positioning or PDR<br />

combined <strong>with</strong> RFID-SLAM. Finally, the acquisition of real-world data <strong>and</strong> the coordination<br />

of disaster mitigation in large-scale environments from a central-comm<strong>and</strong>-postperspective,<br />

is demonstrated.<br />

Methods introduced in this thesis were extensively evaluated in outdoor environments,<br />

as well as in official Urban <strong>Search</strong> <strong>and</strong> <strong>Rescue</strong> (USAR) test arenas designed<br />

by the National Institute of St<strong>and</strong>ards <strong>and</strong> Technology (NIST) [Jacoff et al., 2001]. Furthermore,<br />

the proposed methods were an integral part of robotic or multi-agent systems<br />

that won in total more than 10 times the first prize at international competitions, such as<br />

the RoboCup world championships. Presented results show that these methods per<strong>for</strong>m<br />

robustly <strong>and</strong> efficiently in the utilized benchmark scenarios.


1.3. RoboCup <strong>Rescue</strong> 9<br />

1.3 RoboCup <strong>Rescue</strong><br />

Disaster mitigation is a serious social issue which involves a very large number of heterogeneous<br />

units in hostile environment. Due to the close-to-reality requirement <strong>for</strong> approaches<br />

intended to be applied in this domain, it is necessary to introduce benchmarks<br />

<strong>for</strong> evaluating them be<strong>for</strong>e they are deployed. After the Great Hanshin Earthquake 1996<br />

in Kobe, the Japanese government decided to promote research related to problems during<br />

large-scale urban disasters. One of the outcomes of this initiative was the RoboCup<br />

<strong>Rescue</strong> competition. Using the same successful method of competition-based benchmarks<br />

that the Robot Soccer competition was applying, the RoboCup Federation added<br />

two new competitions to RoboCup in 2001, the <strong>Rescue</strong> Robot League <strong>and</strong> the <strong>Rescue</strong><br />

Simulation League, <strong>with</strong> the main goals of promoting research <strong>and</strong> development of<br />

robot <strong>and</strong> multi-agent technology <strong>for</strong> disaster mitigation, <strong>and</strong> their thorough evaluation<br />

regarding real-world deployments [Tadokoro et al., 2000].<br />

In the <strong>Rescue</strong> Robot league, physical robots are designed <strong>and</strong> tested in simulated<br />

disaster situations which are mainly designed by the U.S. National Institute <strong>for</strong> St<strong>and</strong>ards<br />

<strong>and</strong> Technology (NIST) [Jacoff et al., 2003, Messina et al., 2005]. There, the aim<br />

of robots is to map an unknown environment <strong>and</strong> provide in<strong>for</strong>mation about simulated<br />

disaster victims, such as their location <strong>and</strong> situation, their simulated medical condition<br />

<strong>and</strong> other helpful indications such as ID tags. The <strong>Rescue</strong> simulation league aims at<br />

simulating large-scale disasters <strong>and</strong> exploring new ways <strong>for</strong> the autonomous coordination<br />

of rescue teams [Kitano et al., 1999]. The goal of teams participating in the<br />

competition is to provide a software system that reacts to a simulated disaster situation<br />

by coordinating a group of agents. This goal leads to challenges like the coordination of<br />

heterogeneous teams, the exploration of a large-scale environment in order to localize<br />

victims, as well as the scheduling of time-critical rescue missions. Agents have only<br />

a limited amount of communication b<strong>and</strong>width they can use to coordinate <strong>with</strong> each<br />

other. The problem cannot be addressed by a single entity, but has to be solved by a<br />

true multi-agent system. Moreover, the simulated environment is highly dynamic <strong>and</strong><br />

only partially observable by a single agent. Agents have to plan <strong>and</strong> decide their actions<br />

asynchronously in real-time.<br />

Both leagues change elements of the competition <strong>and</strong> scoring functions from competition<br />

to competition to foster the development of new capabilities <strong>and</strong> sustain a continuous<br />

progress towards obtaining real-world usable systems, which is the long-term<br />

goal of the leagues. Comparing the results of RoboCup <strong>Rescue</strong> over the last years, one<br />

notices a remarkable progress in specific areas. Whereas early plat<strong>for</strong>ms in the robot<br />

league were mainly wheel-based, later developments included innovative tracked-based<br />

robots capable of climbing stairs <strong>and</strong> ramps by controlling three independent track segments<br />

[Koyanagi et al., 2006]. Approaches <strong>for</strong> Simultaneous Localization And <strong>Mapping</strong><br />

(SLAM) have been improved from simple compass-based map integration [Birk,<br />

2003] towards mapping of unstructured environments in three dimensions [Surmann


10 Chapter 1. Introduction<br />

et al., 2004]. Furthermore, purely human operator based systems have been partially<br />

replaced by autonomous robot architectures [Kleiner et al., 2006b].<br />

The simulation league developed techniques <strong>for</strong> multi-agent strategy planning <strong>and</strong><br />

team coordination in an inherently distributed rescue ef<strong>for</strong>t [Kleiner <strong>and</strong> Ziparo, 2006,<br />

Kleiner et al., 2004], as well as on the development of in<strong>for</strong>mation infrastructures <strong>and</strong><br />

decision support systems <strong>for</strong> enabling incident comm<strong>and</strong>ers to efficiently coordinate<br />

rescue teams in the field. For example, Schurr introduced a system based on software<br />

developed in the <strong>Rescue</strong> Simulation league <strong>for</strong> the training <strong>and</strong> support of incident<br />

comm<strong>and</strong>ers in Los Angeles [Schurr et al., 2005].<br />

1.4 Structure of the thesis<br />

The thesis is structured as follows. In Chapter 2 design criteria <strong>for</strong> rescue robots are discussed<br />

<strong>and</strong> hardware plat<strong>for</strong>ms that were developed <strong>for</strong> the evaluation of the proposed<br />

methods, are introduced. In Chapter 3 methods <strong>for</strong> pose tracking of humans <strong>and</strong> robots<br />

in USAR-like scenarios are introduced <strong>and</strong> evaluated. The RFID technology-based<br />

SLAM approach (RFID-SLAM), which is based on pose tracking methods described<br />

in the previous chapter, is introduced <strong>and</strong> evaluated in Chapter 4. Here the problems of<br />

SLAM by robots, SLAM by humans, <strong>and</strong> the jointly mapping by humans <strong>and</strong> robots<br />

are addressed. Furthermore, a decentralized version of RFID-SLAM is presented.<br />

An efficient method <strong>for</strong> building elevation maps in real-time is presented <strong>and</strong> evaluated<br />

in Chapter 5. This method is particularly tailored <strong>for</strong> online processing, thus<br />

facilitating autonomous robot behaviors while navigating on rough terrain. Chapter 6<br />

introduces <strong>and</strong> evaluates a novel method <strong>for</strong> coordinating large robot teams in USAR<br />

scenarios. The method utilizes the memory of RFIDs <strong>for</strong> enabling communication-free<br />

team coordination. A method <strong>for</strong> detecting humans in USAR environments is introduced<br />

<strong>and</strong> evaluated in Chapter 7. The introduced approach allows real-time detection<br />

of victims based on optimized Markov R<strong>and</strong>om Fields (MRFs). Finally, in Chapter 8<br />

we discuss an interface <strong>for</strong> human responders allowing the integration of data that has<br />

been collected in the field into a Multi-Agent System (MAS). Furthermore, based on<br />

the central view from an incident comm<strong>and</strong>er generated from this data, methods <strong>for</strong><br />

coordinating emergency responders are introduced.<br />

1.5 Relevant publications <strong>and</strong> awards<br />

Parts of the thesis have been published in the following journal articles, conference,<br />

symposium, <strong>and</strong> workshop proceedings:


1.5. Relevant publications <strong>and</strong> awards 11<br />

Journals <strong>and</strong> Book Chapters<br />

• Real-time Localization <strong>and</strong> Elevation <strong>Mapping</strong> <strong>with</strong>in Urban <strong>Search</strong> <strong>and</strong><br />

<strong>Rescue</strong> Scenarios joint work <strong>with</strong> C. Dornhege [Kleiner <strong>and</strong> Dornhege, 2007]<br />

(contained in Chapter 3, Chapter 4, <strong>and</strong> Chapter 5).<br />

• Towards heterogeneous robot teams <strong>for</strong> disaster mitigation: Results <strong>and</strong><br />

Per<strong>for</strong>mance Metrics from RoboCup <strong>Rescue</strong> joint work <strong>with</strong> S.Balakirsky,<br />

S.Carpin, M. Lewis, A. Visser, J.Wang, <strong>and</strong> V. A. Ziparo [Balakirsky et al., 2007]<br />

(contained in Chapter 6).<br />

• Game AI: The shrinking gap between computer games <strong>and</strong> AI systems [Kleiner,<br />

2005].<br />

Conference Papers<br />

• Genetic MRF model optimization <strong>for</strong> real-time victim detection in <strong>Search</strong><br />

<strong>and</strong> <strong>Rescue</strong> joint work <strong>with</strong> R. Kümmerle [Kleiner <strong>and</strong> Kümmerle, 2007] (contained<br />

in Chapter 7).<br />

• Decentralized SLAM <strong>for</strong> Pedestrians <strong>with</strong>out direct Communication joint<br />

work <strong>with</strong> D. Sun [Kleiner <strong>and</strong> Sun, 2007] (contained in Chapter 3 <strong>and</strong> Chapter<br />

4).<br />

• Behavior maps <strong>for</strong> online planning of obstacle negotiation <strong>and</strong> climbing on<br />

rough terrain joint work <strong>with</strong> C. Dornhege [Dornhege <strong>and</strong> Kleiner, 2007a] (partially<br />

contained in Chapter 5).<br />

• Cooperative <strong>Exploration</strong> <strong>for</strong> USAR Robots <strong>with</strong> Indirect Communication<br />

joint work <strong>with</strong> V.A. Ziparo, L. Marchetti, A. Farinelli, <strong>and</strong> D. Nardi [Ziparo<br />

et al., 2007a] (contained in Chapter 6).<br />

• RFID-Based <strong>Exploration</strong> <strong>for</strong> Large Robot Teams joint work <strong>with</strong> V.A. Ziparo,<br />

B. Nebel, <strong>and</strong> D. Nardi [Ziparo et al., 2007b] (contained in Chapter 6).<br />

• RFID Technology-based <strong>Exploration</strong> <strong>and</strong> SLAM <strong>for</strong> <strong>Search</strong> And <strong>Rescue</strong> joint<br />

work <strong>with</strong> J. Prediger, <strong>and</strong> B. Nebel [Kleiner et al., 2006c] (contained in Chapter<br />

4).<br />

• Successful <strong>Search</strong> <strong>and</strong> <strong>Rescue</strong> in Simulated Disaster Areas joint work <strong>with</strong><br />

M. Brenner, T. Bräuer, C. Dornhege, M. Göbelbecker, M. Luber, J. Prediger, J.<br />

Stückler, <strong>and</strong> B. Nebel [Kleiner et al., 2005a] (contained in Chapter 8).<br />

• Approaching Urban Disaster Reality: The ResQ Firesimulator joint work<br />

<strong>with</strong> T. A. Nüssle, <strong>and</strong> M. Brenner [Nüssle et al., 2004].


12 Chapter 1. Introduction<br />

Workshop Papers<br />

• <strong>Mapping</strong> disaster areas jointly: RFID-Coordinated SLAM by <strong>Humans</strong> <strong>and</strong><br />

Robots joint work <strong>with</strong> C. Dornhege <strong>and</strong> D. Sun [Kleiner et al., 2007] (contained<br />

in Chapter 4).<br />

• Towards the Integration of Real-Time Real-World Data in Urban <strong>Search</strong> <strong>and</strong><br />

<strong>Rescue</strong> Simulation joint work <strong>with</strong> H. Kenn [Kenn <strong>and</strong> Kleiner, 2007] (contained<br />

in Chapter 8).<br />

• Wearable computing meets multiagent systems: A real-world interface <strong>for</strong><br />

the RoboCup<strong>Rescue</strong> simulation plat<strong>for</strong>m joint work <strong>with</strong> N. Behrens, <strong>and</strong> H.<br />

Kenn [Kleiner et al., 2006a] (contained in Chapter 8).<br />

• Visual Odometry <strong>for</strong> Tracked Vehicles joint work <strong>with</strong> C. Dornhege [Dornhege<br />

<strong>and</strong> Kleiner, 2006] (contained in Chapter 3).<br />

Team Description Papers<br />

• RoboCup<strong>Rescue</strong> - Simulation League Team <strong>Rescue</strong>Robots Freiburg (Germany)<br />

joint work <strong>with</strong> V.A. Ziparo [Kleiner <strong>and</strong> Ziparo, 2006] (contained in<br />

Chapter 6).<br />

• RoboCup<strong>Rescue</strong> - Robot League Team <strong>Rescue</strong>Robots Freiburg (Germany)<br />

joint work <strong>with</strong> C. Dornhege, R. Kümmerle, M. Ruhnke, B. Steder, B. Nebel, P.<br />

Doherty, M. Wzorek, P. Rudol, G. Conte, S. Durante, <strong>and</strong> D. Lundstrom [Kleiner<br />

et al., 2006b] (contained in Chapter 2).<br />

• RoboCup<strong>Rescue</strong> - Robot League Team <strong>Rescue</strong>Robots Freiburg (Germany)<br />

joint work <strong>with</strong> B. Steder, C. Dornhege, D. Höfler, D. Meyer-Delius, J. Prediger,<br />

J. Stückler, K. Glogowski, M. Thurner, M. Luber, M. Schnell, R. Kümmerle, T.<br />

Burk, T. Bräuer, <strong>and</strong> B. Nebel [Kleiner et al., 2005b] (contained in Chapter 2).<br />

• ResQ Freiburg: Team Description <strong>and</strong> Evaluation joint work <strong>with</strong> M. Brenner,<br />

T. Bräuer, C. Dornhege, M. Göbelbecker, M. Luber, J. Prediger, <strong>and</strong> J. Stückler<br />

[Kleiner et al., 2004] (contained in Chapter 8).<br />

Awards<br />

Together <strong>with</strong> teams of students <strong>and</strong> colleagues we were able to gain the following<br />

awards at international competitions:<br />

• In the RoboCup Mid-sized league (<strong>with</strong> CS Freiburg):


1.5. Relevant publications <strong>and</strong> awards 13<br />

– 1st place at the GermanOpen 2001<br />

– 1st place at the RoboCup world championship 2001 in Seattle<br />

– 2nd place at the GermanOpen 2002<br />

• In the RoboCup<strong>Rescue</strong> Simulation league (<strong>with</strong> ResQ Freiburg):<br />

– 1st place at the GermanOpen 2003<br />

– 1st place at the GermanOpen 2004<br />

– 1st place at the RoboCup world championship 2004 in Lisboa<br />

– Winner of the Infrastructure Competition at the RoboCup world championship<br />

2004 in Lisboa<br />

• In the RoboCup<strong>Rescue</strong> Robot league (<strong>with</strong> <strong>Rescue</strong>Robots Freiburg):<br />

– 2nd place at the GermanOpen 2005<br />

– Winner of the mobility award at the GermanOpen 2005 (Together <strong>with</strong> AIS<br />

Fraunhoffer)<br />

– 1st place of the "Best in class Autonomy" competition at the RoboCup world<br />

championship 2005 in Osaka<br />

– 1st place of the "Best in class Autonomy" competition at the RoboCup world<br />

championship 2006 in Bremen<br />

• In the RoboCup<strong>Rescue</strong> Simulation league (Virtual Robots) (<strong>with</strong> Vittorio Ziparo)<br />

– 1st place at the RoboCup world championship 2006 in Bremen<br />

• In the RoboCup<strong>Rescue</strong> Simulation league (Infrastructure competition) (<strong>with</strong><br />

Nils Behrens <strong>and</strong> Holger Kenn)<br />

– Winner of the Infrastructure Competition at the RoboCup world championship<br />

2006 in Bremen<br />

• At the Sick Robot Day 2007, held by the SICK GmbH (<strong>with</strong> Jörg Müller <strong>and</strong><br />

Christian Dornhege)<br />

– 1st place of the indoor competition


2 <strong>Rescue</strong> Robotics Hardware<br />

In this chapter, hardware components <strong>for</strong> rescue robotics, which have been developed<br />

or used <strong>for</strong> experimental evaluations in this thesis, are introduced. On the one h<strong>and</strong>,<br />

design criteria <strong>for</strong> robot plat<strong>for</strong>ms operating in rescue scenarios are discussed. On the<br />

other h<strong>and</strong>, sensor devices, such as Laser Range Finders (LRFs) <strong>and</strong> IR cameras are<br />

introduced. Furthermore, RFID technology, which serves as a basis <strong>for</strong> algorithms<br />

proposed in this thesis, is discussed.<br />

Finally, two robot plat<strong>for</strong>ms that have been designed <strong>and</strong> developed by <strong>Rescue</strong> Robots<br />

Freiburg at the University of Freiburg, <strong>and</strong> methods <strong>for</strong> Human Robot Interaction (HRI),<br />

are described. HRI methods introduced in this chapter are designed <strong>for</strong> facilitating the<br />

control of a team of heterogeneous robots by a single operator. The introduced robot<br />

plat<strong>for</strong>ms Zerg <strong>and</strong> Lurker are tailored <strong>for</strong> different types of tasks. Whereas the Zerg<br />

robot aims at large-scale exploration <strong>with</strong>in a robot team, the Lurker robot has been<br />

particularly designed <strong>for</strong> overcoming rough terrain, such as climbing stairs <strong>and</strong> ramps.<br />

The remainder of this chapter is structured as follows. In Section 2.1 general design<br />

criteria <strong>for</strong> rescue robot plat<strong>for</strong>ms are discussed. Sensors <strong>for</strong> navigation <strong>and</strong> perception<br />

that have been utilized <strong>for</strong> experiments proposed in this thesis, are introduced in<br />

Section 2.2 <strong>and</strong> Section 2.3, respectively. Section 2.4 introduces RFID technology <strong>and</strong><br />

discusses its importance to rescue robotics. Finally, in Section 2.5 the developed robot<br />

plat<strong>for</strong>ms are proposed.<br />

2.1 Design criteria <strong>for</strong> robot plat<strong>for</strong>ms<br />

Designing robot plat<strong>for</strong>ms <strong>for</strong> Urban <strong>Search</strong> <strong>and</strong> <strong>Rescue</strong> (USAR) is a challenging problem.<br />

A detailed analysis of the requirements <strong>for</strong> the per<strong>for</strong>mance of robots that can<br />

support USAR roles <strong>and</strong> tasks has been undertaken by the US authorities NIST (National<br />

Institute of St<strong>and</strong>ards <strong>and</strong> Technology) <strong>and</strong> DHS (Department of Homel<strong>and</strong> Security)<br />

[Messina et al., 2005]. They acquired expert knowledge by polling members<br />

from twenty FEMA (Federal Emergency Management Agency) task <strong>for</strong>ces <strong>and</strong> the US<br />

National Guard. Among other roles <strong>for</strong> USAR robots, they identified reconnaissance<br />

<strong>and</strong> primary search, as the two highest priorities <strong>for</strong> applying robots. The final result of<br />

the survey has been utilized to establish per<strong>for</strong>mance metrics <strong>for</strong> USAR robots.<br />

Among other things, the plat<strong>for</strong>m has to fulfill the following criteria. First, any tasks<br />

in disaster areas, such as finding victims, dem<strong>and</strong>s a high degree of versatility from the<br />

15


16 Chapter 2. <strong>Rescue</strong> Robotics Hardware<br />

(a) (b) (c)<br />

Figure 2.1: <strong>Rescue</strong> Robots during the NIST “Response Robot Exercise” evaluated by<br />

per<strong>for</strong>mance metrics <strong>for</strong> their USAR usability: (a) IRobot PackBot EOD <strong>with</strong> (b) teleoperation<br />

console. (c) The AirRobot tele-operated <strong>for</strong> flying reconnaissance missions.<br />

Courtesy of Raymond Sheh.<br />

robots. For example, there are places only reachable by climbing, spots only accessible<br />

through small openings, <strong>and</strong> regions only observable from the air. Robots operating<br />

in such environments have to be designed <strong>with</strong> an adequate degree of mobility <strong>and</strong><br />

size. Ideally, they compose a heterogeneous team combining very different individual<br />

capabilities, which is there<strong>for</strong>e capable of overcoming very different types of terrain.<br />

Second, robots <strong>and</strong> humans must work together in order to successfully accomplish<br />

their mission. Hence, robot plat<strong>for</strong>ms have to be designed that they are fitting into<br />

existing rescue operations, i.e. they have to actively support the work of first responders<br />

operating in the field. For example, a plat<strong>for</strong>m has to be real-time controllable <strong>with</strong>in<br />

confined spaces no less than 30 meters far from the operator <strong>and</strong> being suitable <strong>for</strong> longterm<br />

deployment of at least 12 hours <strong>with</strong> rechargeable battery packs. Furthermore, the<br />

human-robot interface has to be intuitive usable by untrained personal via a limitedfunction<br />

controller <strong>and</strong> a user-friendly GUI (Graphical User Interface). Third, robots<br />

have to be designed <strong>for</strong> rugged use <strong>and</strong> being af<strong>for</strong>dable by rescue organizations.<br />

Figures 2.1 <strong>and</strong> 2.2 show robots evaluated during the NIST response robot exercise in<br />

Gaithersburg (2006), where a wide range of diverse robot plat<strong>for</strong>ms participated. Figure<br />

2.1 (a) depicts the PackBot EOD, a robot equipped <strong>with</strong> a manipulator allowing to<br />

collect in<strong>for</strong>mation, such as video images, thermo image signatures, <strong>and</strong> CO 2 emission,<br />

at locations that are difficult to access. Figure 2.1 (c) depicts the AirBot. This plat<strong>for</strong>m<br />

enables first responders to get an overview of a large terrain, or to seek access into


2.1. Design criteria <strong>for</strong> robot plat<strong>for</strong>ms 17<br />

(a)<br />

(b)<br />

Figure 2.2: <strong>Rescue</strong> Robots during the NIST “Response Robot Exercise” evaluated by<br />

per<strong>for</strong>mance metrics <strong>for</strong> their USAR usability: (a) The Soryu snake robot, <strong>and</strong> (b) the<br />

BOZ robot lifting a smaller DragonRunner robot to an upper location. Courtesy of<br />

Raymond Sheh.<br />

(a)<br />

(b)<br />

Figure 2.3: Legged rescue robots: (a) The R-Hex robot. (b) Walking machines from<br />

the University of Bremen. Courtesy of Raymond Sheh (a) <strong>and</strong> Adam Jacoff (b).<br />

buildings from the roof. The Soryu snake (Figure 2.2 (a)) has been developed particularly<br />

<strong>for</strong> accessing collapsed buildings through interstices in floors. Furthermore, as<br />

depicted in Figure 2.2 (b) there might be tasks that are optimally solved by teamwork<br />

between robots. Finally, Figure 2.3 depicts legged rescue robots that are designed <strong>for</strong><br />

overcoming rough terrain. Their design is mainly inspired by insects, such as ants <strong>and</strong><br />

cockroaches, which show great mobility capabilities in their natural environment.


18 Chapter 2. <strong>Rescue</strong> Robotics Hardware<br />

Up to now, robot autonomy, i.e. robots controlled by Artificial Intelligence methods,<br />

is only rarely found on truly fieldable systems. <strong>Rescue</strong> robots have been exclusively deployed<br />

under tedious human supervision. For example, single control comm<strong>and</strong>s, such<br />

as positioning a manipulator or moving a robot to a target location, are issued from a<br />

tele-operation console, as shown in Figure 2.1 (b). This causes a high burden on human<br />

operators <strong>and</strong> limits the number of robots they can deploy at the same time. There<strong>for</strong>e,<br />

the ultimate goal is to increase the level of autonomy of rescue robots step-wise, thereby<br />

enabling a single operator to control a large team by a small set of high level comm<strong>and</strong>s,<br />

such as assigning an area that has to be explored, whereas the robots autonomously navigate<br />

to their target locations. This goal requires that robots are equipped <strong>with</strong> sensors<br />

<strong>for</strong> localization <strong>and</strong> mapping, such as Laser Range Finders (LRFs), <strong>and</strong> Inertial Measurement<br />

Units (IMUs), as well as sufficient computational power.<br />

Requirements <strong>for</strong> autonomy have a great impact on the design of robot plat<strong>for</strong>ms. Un<strong>for</strong>tunately,<br />

most commercially available robot plat<strong>for</strong>ms are not particularly designed<br />

<strong>for</strong> autonomy support. On the one h<strong>and</strong>, an increase of computational capacities causes<br />

an increase in the robot’s weight, which is, <strong>for</strong> example, a crucial problem in case of<br />

the AirBot robot plat<strong>for</strong>m. On the other h<strong>and</strong>, sensors <strong>for</strong> localization require a special<br />

mounting, e.g. LRFs require a free line of sight <strong>with</strong>in an angle of 180 ◦ or even 270 ◦ ,<br />

<strong>and</strong> IMUs have to be mounted outside magnetic fields, as they are <strong>for</strong> example caused<br />

by the motors. In turn, the implementation of these constraints affects the mobility of<br />

the plat<strong>for</strong>m significantly, or even dem<strong>and</strong>s its complete re-design. In Section 2.5 two<br />

robot plat<strong>for</strong>ms that were particularly developed <strong>for</strong> autonomy missions are described.<br />

2.2 Sensors <strong>for</strong> navigation<br />

2.2.1 Inertial Measurement Unit (IMU)<br />

An Inertial Measurement Unit (IMU) is a closed system that is used to detect orientation<br />

<strong>and</strong> motion of a vehicle or human. It typically contains a combination of three<br />

accelerometers <strong>and</strong> three angular rate sensors (gyroscopes), which are placed such that<br />

their measuring axes are orthogonal to each other. Accelerometers measure the acceleration<br />

by determining inertia <strong>for</strong>ces acting on a body, whereas a gyroscope measures<br />

changes of the body’s orientation based on the principle of conservation of angular momentum.<br />

Gyroscope measurements are unreliable in the long term since they are subject<br />

to drift, which can partially be reduced if the IMU has a temperature sensor.<br />

The combination of an IMU <strong>with</strong> a magnetometer (compass) or a Global Navigation<br />

Satellite System (GNSS) is referred to as Attitude <strong>and</strong> Heading Reference System<br />

(AHRS). Such systems typically contain a Kalman filter <strong>for</strong> fusing the data from multiple<br />

sensor sources, yielding an orientation vector that is comparably stable towards<br />

sensor drift <strong>and</strong> magnetic perturbations.


2.2. Sensors <strong>for</strong> navigation 19<br />

IMUs have been utilized traditionally <strong>for</strong> aircraft navigation. Due to the increasing<br />

miniaturization <strong>and</strong> decreasing price of these devices, they are more <strong>and</strong> more applied<br />

to car <strong>and</strong> robot navigation. More recent applications include human motion capture in<br />

the context of sports technology, computer animation, <strong>and</strong> support <strong>for</strong> the navigation of<br />

blind people.<br />

Xsens MTi/MTx<br />

The MTi is a miniature, gyro-enhanced AHRS <strong>and</strong> combines a tri-axial accelerometer<br />

<strong>and</strong> a tri-axial gyroscope <strong>with</strong> a tri-axial magnetometer (see Figure 2.4). From these<br />

internal sensors, the unit computes a three-dimensional orientation vector <strong>with</strong> a signal<br />

processor, which is updated internally at 512 Hz, <strong>and</strong> defined by the three Euler<br />

angles yaw (azimuth or compass angle), roll (bank), <strong>and</strong> pitch (elevation). Due to the<br />

simultaneous integration of gyro <strong>and</strong> compass data, the orientation vector is drift-free<br />

<strong>and</strong> stable towards minor perturbations caused by external magnetic sources. The ori-<br />

Figure 2.4: Two Inertial Measurement Units (IMUs): The MTi <strong>and</strong> MTx from Xsens.<br />

Courtesy of Xsens.<br />

entation vector, the calibrated 3D acceleration, the 3D rate of turn (rate gyro), <strong>and</strong> the<br />

3D earth-magnetic field data, are accessible via a RS-232 interface at 120 Hz. Under<br />

static conditions, i.e. when the senor is not in motion, the roll <strong>and</strong> pitch components<br />

of the vector have an accuracy of


20 Chapter 2. <strong>Rescue</strong> Robotics Hardware<br />

AMD (Adapt to Magnetic Disturbances), which can be activated in environments containing<br />

heavy magnetic fields.<br />

The MTx from Xsens is a slightly modified version of the MTi, which is designed<br />

particularly <strong>for</strong> capturing human motion. The device mainly differs from the MTx by<br />

the casing’s shape <strong>and</strong> weight <strong>and</strong> that accelerations are captured at a higher frequency.<br />

2.2.2 Laser Range Finder (LRF)<br />

Laser Range Finders (LRFs) are commonly used in robotics <strong>for</strong> localization <strong>and</strong> mapping<br />

due to their high accuracy <strong>and</strong> fast data data rate. They measure the distances to<br />

surrounding objects according to the Time Of Flight (TOF) principle. The distance to<br />

an object is computed from the time it takes to detect the laser beam that has been emitted<br />

by the sensor <strong>and</strong> reflected by the object. Typically, beams at half-degree resolution<br />

are emitted in a Field Of View (FOV) of 180 ◦ . A widely used model is the LMS200<br />

from Sick since this sensor is extremely robust <strong>and</strong> capable to detect objects <strong>with</strong>in a<br />

range of 80 meters. However, this device greatly influences the mobility of a robot plat<strong>for</strong>m<br />

due to its heavy weight of 4.5 kg. A lightweight solution is the URG-04LX from<br />

Hokuyo, which weighs only 160 g. However, its limited range of only 4 meters makes<br />

it difficult to apply algorithms <strong>for</strong> localization <strong>and</strong> mapping since these require a rich<br />

set of features. A maximal range of 4 meters leads in many cases, as <strong>for</strong> example in<br />

outdoor situations, to a large number of far readings, i.e. measurements <strong>with</strong>out reflections,<br />

whereas in narrow indoor situations, as <strong>for</strong> example the interior of a rubble pile,<br />

are appropriate scenarios <strong>for</strong> its deployment. The S300 from Sick offers a compromise<br />

between both sensors since it is much lighter than the LMS200, but only measures distances<br />

up to 30 meters. Table 2.1 summarizes the technical specifications of LRFs that<br />

have been utilized during experiments introduced in this thesis.<br />

Sick LMS200 Sick S300 Hokuyo URG-04LX<br />

Weight 4500 g 1200 g 160 g<br />

Volume ≈ 20 cm 3 ≈ 15 cm 3 ≈ 5 cm 3<br />

FOV 180 ◦ 270 ◦ 240 ◦<br />

Max. Range 80 m 30 m 4 m<br />

Max. Ang. Res. 0.25 ◦ 0.5 ◦ 0.36 ◦<br />

Accuracy ± 15 mm ± 30 mm ± 10 mm<br />

Scans per second 30 20 10<br />

Interface RS-232/RS-422 RS-232/RS-422 RS-232/USB<br />

Table 2.1: Comparison of laser range finders.


2.2. Sensors <strong>for</strong> navigation 21<br />

2.2.3 Global Navigation Satellite System (GNSS)<br />

GNSS (Global Navigation Satellite System) refers to the general class of satellite-based<br />

positioning systems, such as GPS, GLONASS, <strong>and</strong> Galileo, whereas the term GPS virtually<br />

refers to the US-American Navstar System only. Since the Global Positioning<br />

System (GPS) is the most commonly used GNSS, it will be described in more detail.<br />

GPS is composed of a nominal constellation of 24 satellites ∗ , where the orbits of<br />

the satellites are arranged in a way that at least six satellites are always <strong>with</strong>in line of<br />

sight from almost anywhere on Earth. GPS positioning is carried out by measuring<br />

the distance between the receiver <strong>and</strong> four or more GPS satellites. Since the transmission<br />

speed of radio signals is constant (nearly at the speed of light), the distance to a<br />

satellite can be computed from the measured time delay between the transmission <strong>and</strong><br />

reception of the radio signal, i.e. from the signal’s propagation time. This procedure requires<br />

extremely accurate clocks on both the receivers <strong>and</strong> transmitters side. However,<br />

receivers are typically equipped <strong>with</strong> low-cost crystal oscillator-based clocks since accurate<br />

atomic clocks, as they are used by the satellites, are too expensive <strong>for</strong> consumer<br />

devices. There<strong>for</strong>e, the clock of the receiver has to be synchronized continuously <strong>with</strong><br />

a satellite clock, requiring to track one satellite only <strong>for</strong> this purpose.<br />

Each satellite transmits an individual Pseudo R<strong>and</strong>om Code (PRC) from which the<br />

identity of the satellite <strong>and</strong> the time delay of the signal can be determined. Additional<br />

in<strong>for</strong>mation, such as the exact locations of the satellites, is modulated on this signal<br />

<strong>and</strong> decoded by the receiver. From the known locations <strong>and</strong> distances of satellites the<br />

location of the receiver can be deduced by a technique known as trilateration. The<br />

technique can be visualized by the intersection of imaginary spheres, which have centers<br />

at each satellite location, <strong>and</strong> radii equal to the corresponding distance measurements.<br />

Theoretically, four satellite locations <strong>and</strong> distances are necessary to deduce the threedimensional<br />

location of the receiver. However, under the assumption that the GPS<br />

receiver is located on the earth’s surface, the correct location can be disambiguated<br />

reliably from only three satellites since one of the two concluded locations is generally<br />

outside the satellite orbit.<br />

The farther the tracked satellites are from each other, the better the accuracy of the<br />

estimated position since the spheres are intersected by more acute angles. A value<br />

expressing the quality of the current satellite constellation is the Horizontal Dilution<br />

of Precision HDOP value, which is provided by most GPS receivers. In summary,<br />

the location of the receiver, denoted by the three unknown parameters longitude (East<br />

coordinate) <strong>and</strong> latitude (North coordinate), <strong>and</strong> altitude, can be deduced successfully<br />

from four satellites, including one satellite <strong>for</strong> synchronization of the receiver clock.<br />

If there are sufficient satellites <strong>with</strong>in line of sight of the receiver, atmospheric effects<br />

have the biggest influence on the accuracy of GPS positioning. Atmospheric effects<br />

∗ Note that since January 2007 there are 29 broadcasting satellite in the GPS constellation in order to<br />

increase the positioning accuracy by redundancy.


22 Chapter 2. <strong>Rescue</strong> Robotics Hardware<br />

might cause a variation of the radio signal’s velocity. Particularly the ionosphere, which<br />

is 50 - 500 km located above the surface of the earth, contains ionized particles that influence<br />

propagation speeds. The fact that these effects are comparably durable <strong>with</strong>in a<br />

particular region makes it possible to compensate them on the receiver’s side by utilizing<br />

a reference measurement that has been taken in the same region. This procedure is<br />

known as Differential GPS (DGPS), <strong>and</strong> is carried out by stations, which periodically<br />

determine the error between a local range measurement to a satellite, <strong>and</strong> the range that<br />

has been computed from the accurately known positions of satellite <strong>and</strong> station.<br />

The computed correction can be used <strong>for</strong> improving position accuracy of all receivers<br />

located in the station’s region. The correction can be transmitted directly to the receiver<br />

by sending it over radio (which requires that the receiver is able to receive on an additional<br />

channel), or it can be received alternatively via an Internet connection.<br />

Recently there has been a development of Satellite Based Augmentation Systems<br />

(SBAS) that transmit the corrections on the same frequency as the positioning satellites,<br />

having the effect that no additional receiver hardware is required. Correction data<br />

<strong>and</strong> positioning data are distinguished from each other by the Code Division Multiplex<br />

Access (CDMA) procedure. The European Geostationary Navigation Overlay Service<br />

(EGNOS), which mainly covers areas in Europe, consists of three geostationary satellites<br />

<strong>and</strong> a network of ground stations. EGNOS increases positioning accuracy of GPS,<br />

GLONASS, <strong>and</strong> Galileo from 10 - 20 meters down to 1 - 3 meters. Comparable systems,<br />

which are compatible <strong>with</strong> EGNOS, are in the United States the Wide Area Augmentation<br />

System (WAAS), <strong>and</strong> in Japan the MTSAT Space-based Augmentation System<br />

(MSAT).<br />

Experiments presented in this work have been carried out <strong>with</strong> the GPSlim236 GPS<br />

receiver from Holux, which is equipped <strong>with</strong> SIRFstar III technology. The receiver<br />

allows to track up to 20 satellites at an update rate of 1 Hz <strong>and</strong> has a position accuracy<br />

of 5 - 25 meters <strong>with</strong>out DGPS. Furthermore, the receiver is able to process data from<br />

the EGNOS system, improving the horizontal position accuracy to


2.2. Sensors <strong>for</strong> navigation 23<br />

Figure 2.5: Map of Europe showing the latitude <strong>and</strong> longitude zones of the Universal<br />

Transverse Mercator (UTM) projection from 29 S to 38 W. Courtesy of the Demis<br />

company.<br />

of 6 ◦ longitude (800 km), where each zone is centered over a meridian of longitude.<br />

Starting from the date line, zones are numbered from 1 to 60 increasing in an easterly<br />

direction. Furthermore, each vertical zone is separated into 20 latitude zones of a height<br />

of 8 ◦ , which are lettered starting from "C" at 80 ◦ S, increasing up until "X". Figure 2.5<br />

shows the corresponding zones <strong>for</strong> Europe.<br />

Within each Zone, locations are addressed by an easting <strong>and</strong> northing coordinate pair<br />

(x, y), <strong>with</strong> the point of origin at the intersection of the equator <strong>with</strong> the central meridian<br />

of the zone. In order to avoid negative easting numbers, an offset of 500,000 meters is<br />

added to each easting. Hence, locations east of the zone’s central meridian have an<br />

easting value above 500,000 meters, whereas locations western of it have a value below<br />

500,000 meters.<br />

A similar procedure is applied to northing numbers. Northings in the northern hemisphere<br />

increase as going northward from the equator, which has an initial northing value<br />

of 0 meters, whereas in the southern hemisphere, northings decrease as going southward<br />

from the equator, which has then an initial value of 10,000,000 meters in order<br />

to avoid negative numbers. There<strong>for</strong>e, it theoretically suffices to describe a zone by its<br />

vertical zone number <strong>and</strong> an indication whether the zone is located in the northern or<br />

in the southern hemisphere. For example, my office at the Computer Science Department<br />

at the University of Freiburg is located at the geographic position 48 ◦ 0’49.03" N,<br />

7 ◦ 50’1.96" E (in decimal 48.013621, 7.83388), which corresponds to the UTM zone<br />

32U <strong>with</strong> an easting value of 413036 meters <strong>and</strong> a northing value of 5318471 meters.<br />

Besides the described calculation, the projection h<strong>and</strong>les certain areas differently, as <strong>for</strong><br />

example the areas around the poles, <strong>and</strong> also minimizes distortion by a scaling factor.


24 Chapter 2. <strong>Rescue</strong> Robotics Hardware<br />

The interested reader might find further in<strong>for</strong>mation on map conversions in the document<br />

published by J. S. Snyder [Snyder, 1987].<br />

2.3 Sensors <strong>for</strong> detecting humans<br />

2.3.1 Video <strong>and</strong> infra-red cameras<br />

Vision sensors are essential <strong>for</strong> tele-operation since they are required <strong>for</strong> navigation<br />

as well as <strong>for</strong> gathering in<strong>for</strong>mation on victims, such as identifying their state <strong>and</strong> the<br />

way they are buried. Moreover, they can be utilized <strong>for</strong> autonomous victim detection.<br />

This is conducted by applying image processing techniques on data generated from<br />

video <strong>and</strong> infra-red cameras. However, in the context of emergency response this is<br />

a challenging problem since only little assumptions can be made regarding color <strong>and</strong><br />

shape of human body parts. Infra-red cameras, which are capable of detecting body<br />

heat, might misinterpret other heat sources, such as radiators, engines, <strong>and</strong> fire.<br />

(a) (b) (c)<br />

Figure 2.6: The CCD cameras (a) Sony DFW-500, <strong>and</strong> (b) Logitech QuickCam 4000<br />

Pro. (c) The infra-red camera Thermal-Eye 3600AS.<br />

Figure 2.6 shows camera models that have been utilized <strong>for</strong> victim identification in<br />

this thesis. The Sony DFW-V500 camera incorporates a 1/3 type Progressive Scan<br />

Wfine CCD <strong>and</strong> an IEEE-1394 (Fire Wire) interface. Images are captured <strong>with</strong> 30<br />

frames/sec at a maximal resolution of 640 × 480 pixels in the YUV 4:2:2 <strong>for</strong>mat. The<br />

camera has a weight of 305 g <strong>and</strong> requires an external power source. It offers highquality<br />

images that are adequate <strong>for</strong> applying image processing techniques.<br />

The Logitech QuickCam 4000 Pro also captures video images at 640×480 pixels, <strong>and</strong><br />

can be connected via USB to a computer. This camera has been used <strong>for</strong> tele-operation<br />

<strong>and</strong> visual odometry (see Section 3.4). Due to its lightweight of less than 50 g (<strong>with</strong>out<br />

housing) it can be mounted on a robot easily. Furthermore, the original lens of the<br />

camera has been replaced <strong>with</strong> a wide-angle lens yielding a FOV of 74 ◦ . However, the<br />

quality of the images turned out to be non-adequate <strong>for</strong> victim detection.


2.3. Sensors <strong>for</strong> detecting humans 25<br />

The ThermalEye 3600AS Infra-Red (IR) camera allows to detect human beings by<br />

their temperature <strong>with</strong>in a Field Of View (FOV) of ≈ 50 ◦ × 37 ◦ , <strong>and</strong> a distance of up<br />

to 100 meters <strong>with</strong> a specified operating Temperature of −20 ◦ C to 85 ◦ C. The camera<br />

captures images <strong>with</strong> 30 frames/sec at a maximal resolution of 160 × 120 pixels, which<br />

are provided by an analog PAL signal that has to be digitized <strong>with</strong> additional hardware.<br />

Due to the modest power consumption of only 1.2 W <strong>and</strong> a weight of only 67.5 g, the<br />

camera can be mounted on nearly every robot plat<strong>for</strong>m. Each pixel of the camera image<br />

contains a gray value which is proportional to the measured heat at the real-world<br />

location corresponding to the pixel.<br />

Be<strong>for</strong>e camera images can be used <strong>for</strong> victim detection, the camera has to be calibrated<br />

<strong>with</strong> respect to its intrinsic parameters, such as the focal length <strong>and</strong> the radial<br />

lens distortion. On color cameras these parameters are usually found by applying an<br />

analytical method [Tsai, 1986] that utilizes pixel to real-world correspondences as input.<br />

These correspondences are determined from pictures taken of a test pattern, such<br />

as the printout of a chess board [Bradski, 2000], <strong>with</strong> known feature distances. Then,<br />

relative displacements of features detected in the images, <strong>and</strong> those displacements measured<br />

on the test pattern, are brought into relation <strong>for</strong> computing a conversion function.<br />

In case of IR camera calibration, it is necessary to generate a test pattern that also appears<br />

on thermo images. This can be achieved by taking images from a heat reflecting<br />

metal plate covered <strong>with</strong> quadratic isolation patches in a chess board-like manner. The<br />

resulting images can then be processed by the calibration procedure in the same way<br />

as if taken from a color camera. Finally, the calibration procedure allows to determine<br />

the real-world distance <strong>and</strong> angle of features detected in the image. However, accurate<br />

depth in<strong>for</strong>mation can only be obtained by stereo camera systems, since depth computation<br />

from monocular cameras requires that observed objects are located at the same<br />

hight.<br />

2.3.2 3D Laser Range Finder (LRF)<br />

In <strong>Rescue</strong> Robotics, the task-relevant environment is three-dimensional, <strong>and</strong> thus requires<br />

highly developed sensors <strong>for</strong> autonomous operation. For example, the detection<br />

of structures relevant <strong>for</strong> navigation, such as ramps, stairs, <strong>and</strong> stepfields, makes perception<br />

of three-dimensional objects indispensable. Also <strong>for</strong> the task of victim detection<br />

image processing techniques are not always sufficient on their own. Accurate depth<br />

measurements are needed in order to correctly group vision features according to their<br />

spacial neighborhood, <strong>and</strong> to reliably distinguish between background <strong>and</strong> <strong>for</strong>eground.<br />

There<strong>for</strong>e, we developed a light-weight 3D Laser Range Finder (LRF) device <strong>for</strong> structure<br />

detection <strong>and</strong> mapping in the rescue domain. A picture of the sensor, <strong>and</strong> a 3D<br />

scan taken by this device can be seen in Figure 2.7. The LRF sensor is rotated by a<br />

strong servo that allows fast <strong>and</strong> accurate vertical positioning of the device. The device<br />

can be rotated vertically by more than 90 degrees, which is sufficient to generate 3D


26 Chapter 2. <strong>Rescue</strong> Robotics Hardware<br />

(a)<br />

(b)<br />

Figure 2.7: A h<strong>and</strong>-crafted light-weight 3D Laser Range Finder (LRF) device. (a) A<br />

model of the 3D LRF. (b) 3D scan taken in front of stepfield <strong>and</strong> baby doll.<br />

scans from humans, <strong>and</strong> objects, such as stairs, ramps, <strong>and</strong> stepfields. The design differs<br />

from other 3D scanners in that it can be implemented by a simple “U-shaped” piece<br />

of metal <strong>and</strong> a servo, which altogether can be produced at approximately 100 USD (see<br />

Section 10.2.1).<br />

2.3.3 Audio <strong>and</strong> CO 2 sensors<br />

The locations of survivors after a disaster can be determined by audio through utilizing<br />

two microphones mounted <strong>with</strong> a fixed distance between them on the robot plat<strong>for</strong>m<br />

(see Figure 2.8 (a)). Given an audio source left, right or between both microphones,<br />

it is possible to measure the time difference, i.e. phase shift, between both signals.<br />

Kenn et al. use differential time of flight measurements through energy cross-spectrum<br />

evaluation of the sound signals <strong>for</strong> detecting the angular direction to multiple sound<br />

sources [Kenn <strong>and</strong> Pfeil, 2006]. They integrate all measurements into an occupancy grid<br />

map <strong>for</strong> localizing the victims in a global map. We utilized the Crosspower Spectrum<br />

Phase (CSP) approach, which allows to calculate the phase shift of both signals based<br />

on the Fourier trans<strong>for</strong>mation [Giuliani et al., 1994, Bennewitz et al., 2005, Omologo<br />

<strong>and</strong> Svaizer, 1996, Svaizer et al., 1997]. As shown in Figure 2.9, the bearing of the<br />

sound source can be successfully determined, even <strong>for</strong> different kinds of noise. To<br />

locate victims under harsh environmental conditions, e.g. in a noisy environment, is still<br />

challenging. However, the detection of audio signals close to victim locations provides<br />

a good indication of the victim’s state, e.g. it might indicate that the victim is still alive<br />

<strong>and</strong> thus that a rescue mission is worth the ef<strong>for</strong>t.<br />

Gases, such as CO 2 , can be detected by the use of IR measuring after the NDIR (Non<br />

Dispersive Infra-Red) principle. Within a small tube, gases are absorbing infra-red<br />

light at a particular frequency. By shining an infra-red beam through the tube contain-


2.3. Sensors <strong>for</strong> detecting humans 27<br />

(a)<br />

(b)<br />

Figure 2.8: The Zerg robot (a) equipped <strong>with</strong> two microphones <strong>for</strong> victim detection,<br />

<strong>and</strong> (b) measuring <strong>with</strong> a Telaire 7001 sensor CO 2 emission of a victim during a TV<br />

recording in Freiburg.<br />

Count<br />

Baby doll Noise<br />

30<br />

25<br />

20<br />

15<br />

10<br />

5<br />

0<br />

-100 -80 -60 -40 -20 0 20 40 60 80 100<br />

Bearing [Deg]<br />

(a)<br />

Count<br />

White Noise<br />

180<br />

160<br />

140<br />

120<br />

100<br />

80<br />

60<br />

40<br />

20<br />

0<br />

-100 -80 -60 -40 -20 0 20 40 60 80 100<br />

Bearing [Deg]<br />

(b)<br />

Figure 2.9: Examples <strong>for</strong> sound source detection by the Crosspower Spectrum Phase<br />

(CSP) approach. Both sound sources were located at a bearing of +30 degree. (a)<br />

Sporadic noise from a baby doll, <strong>and</strong> (b) continuous white noise are mainly detected at<br />

the right bearing.<br />

ing CO 2 , <strong>and</strong> measuring the amount of infra-red absorbed by the gas at the necessary<br />

wavelength, a NDIR detector is able to measure the volumetric concentration of the gas.<br />

Different kinds of wave lengths from IR light can be used <strong>for</strong> the analysis of different<br />

gases. The gas is either pumped or diffused into a tube, <strong>and</strong> the electronics measures<br />

the absorption of the characteristic wavelength of light. One drawback of this measurement<br />

principle is its slow response time <strong>for</strong> detecting a change of the CO 2 concentration.<br />

There<strong>for</strong>e, robot navigation has to be interrupted <strong>for</strong> gaining reliable measurements.<br />

We utilized the Telaire 7001 NDIR carbon dioxide sensor, which measures CO 2 con-


28 Chapter 2. <strong>Rescue</strong> Robotics Hardware<br />

centrations in the range of 0 to 4000 ppm at an accuracy of 50 ppm, <strong>and</strong> response time<br />

of < 60 seconds <strong>for</strong> 90% of the step change (see Figure 2.8 (b)).<br />

The application of CO 2 concentration measurements in the context of urban search<br />

<strong>and</strong> rescue has been studied [Takashi <strong>and</strong> Hiroshi, 2003, Nguyen et al., 2004] intensively.<br />

Measurements of the CO 2 concentration can be utilized <strong>for</strong> survivor search.<br />

However, due to the volatility of CO 2 gas, particularly if the concentration is very low,<br />

survivor localization is possible under special conditions only. Gas sensors are more<br />

promising <strong>for</strong> determining the victim’s state, <strong>and</strong> <strong>for</strong> the detection of hazardous locations,<br />

e.g. by sensing flammable <strong>and</strong> poisonous gases that can harm first responders<br />

during their missions.<br />

2.4 RFID technology<br />

RFID st<strong>and</strong>s <strong>for</strong> Radio Frequency Identification, a term that describes small devices<br />

(RFID tags) that use radio signals to exchange data <strong>with</strong> a reader. The RFID tag transmits<br />

typically a number that is worldwide unique, or at least unique <strong>with</strong>in in the context<br />

of the application. This has the effect that an object, to which the tag is attached to, can<br />

uniquely be identified from a database. In the usual context, RFID tags identify parcels<br />

in a post office or products sold in department stores. For example, since 2005 Wal-<br />

Mart requires from its top 100 suppliers to ship pallets labeled <strong>with</strong> RFID tags to its<br />

stores. The Metro group started the “Future Store Initiative”, a stepwise application of<br />

RFID technology, ranging from automated stock maintenance in stores, to intelligent<br />

refrigerators in consumer households that monitor the expiration date of food based on<br />

data read from tags attached to the food items. In the long run, their goal is to completely<br />

replace the current bar code system, found on products sold today, by RFID<br />

technology. Furthermore, the size of RFID chips shrinks continuously. For example,<br />

Hitachi introduced 2003 the µ-Chip <strong>with</strong> a size of 0.4 × 0.4 mm, where the generation<br />

introduced in 2006 reaches a size of 0.15 × 0.15 mm. Their latest version, released in<br />

2007, has a size of 0.05 × 0.05 mm. The progressing miniaturization of RFID technology<br />

has also the effect of reducing manufacturing costs since considerably more chips<br />

can be produced from a single wafer. The small size of RFIDs makes it also possible<br />

to attach them to bank notes [Lange, 2005], or to integrate them into carpets <strong>for</strong> simplifying<br />

indoor localization of cleaning robots. The German vacuum-cleaner company<br />

Vorwerk introduced in 2006 the “Smart Floor”, a network of RFID chips embedded<br />

into a polyester fabric that can be placed under carpets [Co. KG, 2005]. The recent<br />

advent of the RFID technology leads to a steady increase of smart devices in our environment<br />

that provide digital data. Algorithms <strong>and</strong> methods applied in this context<br />

are generally recognized under the terms “Sensor networks”, “Ubiquitous Computing”,<br />

<strong>and</strong> “The Internet of things”.<br />

RFID tags can be classified as active <strong>and</strong> passive devices depending on whether they


2.4. RFID technology 29<br />

are powered directly from an attached battery, or whether they are powered from an<br />

electromagnetic field emitted by the reading device. This section focuses on passive<br />

devices, which are produced cheaply <strong>and</strong> in large numbers. They consist mainly of an<br />

antenna, memory, <strong>and</strong> a sophisticated state machine (or even a microprocessor). The<br />

latter is required if tags h<strong>and</strong>le encrypted communication or implement an anti-collision<br />

protocol. Anti-collision protocols are necessary if the application requires multiple tags<br />

to be read at the same time. RFID tags <strong>with</strong> anti-collision protocols wait <strong>for</strong> their turn<br />

when responding to a reader. In contrast to the “1-bit” Electronic Article Surveillance<br />

(EAS) tags, which are commonly found in libraries or stores <strong>for</strong> theft prevention, these<br />

advanced RFID tags are equipped <strong>with</strong> a read- <strong>and</strong> writable memory, which can be used<br />

to store additional in<strong>for</strong>mation on the object the tag is attached to. It can be assumed that<br />

due to the continuously decreasing price of memory chips, the capacity of RFID tags<br />

will further increase in the future. The company MicroSensys offers passive RFID tags<br />

<strong>with</strong> up to 512 KBit memory, <strong>and</strong> develops currently RFIDs <strong>with</strong> memory capacities of<br />

up to 4 MBit [MicroSensys, 2007].<br />

RFID tags are available <strong>for</strong> various communication frequencies <strong>with</strong>in the Industrial<br />

Scientific Medical (ISM) b<strong>and</strong>, as <strong>for</strong> example, at High Frequency (HF) 6.78 MHz,<br />

13.56 MHz <strong>and</strong> 27.125 MHz, at Ultra High Frequency (UHF) 433.920 MHz, 869 MHz,<br />

915 MHz, <strong>and</strong> at Microwave 2.45 GHz, 5.8 GHz, <strong>and</strong> 24.125 GHz. The choice of the<br />

communication frequency is of major importance <strong>for</strong> the application since the maximal<br />

communication range <strong>and</strong> communication b<strong>and</strong>width depends on it. The higher the<br />

frequency, the higher the communication b<strong>and</strong>width <strong>and</strong> communication range. Furthermore,<br />

the maximal range depends on the environment, e.g. the kind of material<br />

located between receiver <strong>and</strong> tag. For example, metal or water reduces the range significantly.<br />

Short-wave frequencies, as <strong>for</strong> example 13,56 MHz, lead typically to distances<br />

below three meters <strong>and</strong> thus are only applicable to objects <strong>with</strong>in short range. Table 2.2<br />

summarizes some RFID frequencies <strong>and</strong> applications they are utilized <strong>for</strong>.<br />

Frequency Max. reading range Typical applications<br />

LF (e.g. 100 KHz) 0.5 m Pet identification <strong>and</strong><br />

close reads of items<br />

<strong>with</strong> high water content<br />

HF (e.g. 13.56 MHz) 3 m Building access control,<br />

Product identification<br />

UHF (e.g. 915 MHz) 9 m Boxes <strong>and</strong> pallets<br />

Microwave (e.g. 2.4 GHz) >10 m Vehicle identification of<br />

all sorts<br />

Table 2.2: Communication frequencies <strong>and</strong> corresponding maximal reading ranges of<br />

RFID tags <strong>and</strong> their typical applications (original data from [Bhatt <strong>and</strong> Glover, 2006]).


30 Chapter 2. <strong>Rescue</strong> Robotics Hardware<br />

2.4.1 RFIDs in robotic applications<br />

For robotic applications, particularly in the context of localization <strong>and</strong> mapping, it is<br />

important to compute an estimate on the distance between the RFID tag <strong>and</strong> the reader.<br />

The Transceiver-Receiver (TR) separation, i.e. the distance between a detected RFID<br />

<strong>and</strong> the detector, can generally be estimated from the power of the signal. However,<br />

signal propagation in an indoor environment is perturbed by damping <strong>and</strong> reflections<br />

of radio waves. Since these perturbations depend on the layout of the building, the<br />

construction material used, <strong>and</strong> the number <strong>and</strong> type of objects in the building, modeling<br />

the relation between signal path attenuation <strong>and</strong> TR separation is a challenging problem.<br />

Seidel <strong>and</strong> Rapport introduced a model <strong>for</strong> path attenuation prediction that can also be<br />

parameterized <strong>for</strong> different building types <strong>and</strong> the number of floors between transceiver<br />

<strong>and</strong> receiver [Seidel <strong>and</strong> Rapport, 1992]. This model has been evaluated <strong>for</strong> frequencies<br />

in the UHF domain, e.g. 914 MHz. RFID implementations operating in this domain are<br />

requiring a line of sight between the tag <strong>and</strong> the detector. This allows to adopt a simpler<br />

version of the model from Seidel <strong>and</strong> Rapport, based on the assumption that RFID<br />

detections are not possible through walls [Ziparo et al., 2007a]. The model relates the<br />

signal power P to distance d in the following way:<br />

P(d)[dBm] = p(d 0 )[dBm] − 10n log d d 0<br />

, (2.1)<br />

where P(d 0 ) is the signal power at reference distance d 0 <strong>and</strong> n denotes the mean path<br />

loss exponent that depends on the structure of the environment. Seidel <strong>and</strong> Rapport<br />

determined <strong>for</strong> transmissions at 914 MHz a path loss of 31.7 dB at a reference distance<br />

of 1 meter. Furthermore, they determined <strong>for</strong> different building types characteristic<br />

values <strong>for</strong> n <strong>and</strong> the st<strong>and</strong>ard deviation σ of the signal.<br />

TR has also been evaluated in order to improve the security of RFID data transmission<br />

[Hancke <strong>and</strong> Kuhn, 2005]. RFID tags are vulnerable to relay attacks if they are<br />

used <strong>for</strong> proximity authentication. There<strong>for</strong>e, it is important to read preferably from<br />

tags that are close to the reader, which requires the reader hardware to be aware of the<br />

distance to the sender. Another application is to localize objects <strong>with</strong> attached RFIDs,<br />

such as books in a library. The basic idea is to build a system that guides the user’s<br />

search by providing feedback on the distance to the searched object [Fishkin <strong>and</strong> Roy,<br />

2003]. More details on RFID technology are found in [Finkenzeller, 2003].<br />

2.4.2 Importance <strong>for</strong> Urban <strong>Search</strong> <strong>and</strong> <strong>Rescue</strong> (USAR)<br />

RFID technology offers a great opportunity <strong>for</strong> disaster mitigation <strong>and</strong> USAR. The key<br />

problem in this scenario is to get an overview of the disaster, e.g. to be aware of the<br />

locations of first responders while generating a map augmented <strong>with</strong> disaster-relevant<br />

in<strong>for</strong>mation, such as victim locations, hazardous areas, <strong>and</strong> passable openings. How-


2.5. <strong>Rescue</strong> Robots Freiburg 31<br />

ever, st<strong>and</strong>ard localization techniques, such as vision-based structure recognition, <strong>and</strong><br />

GPS, are not well suited in these scenarios due to harsh environmental conditions. For<br />

example, smoke <strong>and</strong> dust particles lead to a limited field of view, <strong>and</strong> GPS fails completely<br />

<strong>with</strong>in structures made of rein<strong>for</strong>ced concrete. RFID technology can be utilized<br />

<strong>for</strong> labeling <strong>and</strong> re-observing locations, as well as <strong>for</strong> unambiguously communicating<br />

them to other team members. RFIDs can already be located at the disaster site, e.g. they<br />

may be attached to consumer products, or intentionally integrated into building structures.<br />

Alternatively, they can be deployed by rescue teams [Miller et al., 2006, Kleiner<br />

et al., 2006c], either by manually fixing them to relevant locations, or by automatically<br />

deploying them in masses from aerial vehicles. Additionally, RFID tags can be resistant<br />

under extremely hostile conditions. For example, Surface Acoustic Wave (SAW)<br />

technology allows to produce RFID transponders that are known to operate stable up to<br />

several hundreds of degrees, even up to 1000 ◦ C [Fachberger et al., 2006]. They can be<br />

attached to metal surfaces, <strong>and</strong> are operational <strong>with</strong>in a range of 10 meters <strong>for</strong> identification,<br />

distance measurements, <strong>and</strong> temperature measurements (up to 400 ◦ C) [Reindl<br />

et al., 2001,Research, 2007]. Hence, they can be deployed even under harsh conditions,<br />

e.g. in buildings set on fire.<br />

Furthermore, the memory of RFIDs can be utilized by rescue teams <strong>for</strong> leaving behind<br />

in<strong>for</strong>mation, such as nearby locations of victims, <strong>and</strong> nearby explored locations,<br />

supporting the search of other rescue teams in the field. The concept of labeling locations<br />

<strong>with</strong> in<strong>for</strong>mation crucial <strong>for</strong> the rescue task has been already applied in real<br />

disaster response situations. During the disaster relief in New Orleans in 2005, rescue<br />

task <strong>for</strong>ces marked buildings <strong>with</strong> in<strong>for</strong>mation concerning, <strong>for</strong> example, hazardous materials<br />

or victims inside the buildings. A description of these kinds of markings can be<br />

found in a document published by the U.S Dep. of Homel<strong>and</strong> Security [FEMA, 2003].<br />

2.5 <strong>Rescue</strong> Robots Freiburg<br />

The work proposed in this thesis was extensively tested on two different robot plat<strong>for</strong>ms,<br />

which are a 4WD (four wheel drive) differentially steered robot <strong>for</strong> the autonomous<br />

team exploration of large office-like areas, <strong>and</strong> a tracked robot <strong>for</strong> mapping <strong>and</strong> overcoming<br />

three-dimensional obstacles, such as stairs <strong>and</strong> ramps. Both robot plat<strong>for</strong>ms<br />

were custom made at the University of Freiburg <strong>and</strong> designed under the following criteria<br />

(according to Section 2.1):<br />

• Capability of autonomous operation.<br />

• Lightweight design in order to gain a maximal degree of mobility.<br />

• Manufacturing costs.<br />

• Heterogeneous team of robots <strong>with</strong> different capabilities.


32 Chapter 2. <strong>Rescue</strong> Robotics Hardware<br />

Figure 2.10: Robots of the team <strong>Rescue</strong> Robots Freiburg. Left column, top to bottom:<br />

The Zerg robot equipped <strong>with</strong> a Sick S300 LRF, <strong>and</strong> navigating in the yellow arena<br />

during the Autonomy Competition at RoboCup<strong>Rescue</strong> 2005 in Osaka. Right column,<br />

top to bottom: The Lurker robot climbing up a ramp during the <strong>Rescue</strong>Camp 2006 in<br />

Rome, <strong>and</strong> searching <strong>for</strong> victims in the red arena at RoboCup<strong>Rescue</strong> 2005. A team of<br />

robots waiting <strong>for</strong> mission start during RoboCup<strong>Rescue</strong> 2005.<br />

Both robot plat<strong>for</strong>ms process data from sensors <strong>with</strong> a CardS12 module, which consists<br />

of a MC9S12D64 Micro Controller Unit (MCU) <strong>with</strong> a 16-bit HCS12 CPU, 64 KB of


2.5. <strong>Rescue</strong> Robots Freiburg 33<br />

flash memory, 4 KB RAM, <strong>and</strong> 1 KB EEPROM. The module offers a large amount of<br />

peripheral connectivity, such as Analog-Digital Converters (ADCs), Pulse Width Modulation<br />

(PWM) ports, <strong>and</strong> digital I/Os. Furthermore, each robot carries a lightweight<br />

laptop which connects to the MCU via RS-232. The laptop processes the sensor data<br />

further <strong>and</strong> transmits it, if required, via wireless LAN to an operator station. Details of<br />

the mechanical design <strong>and</strong> schematics of the electronic components of both robots are<br />

found in the Appendix (Chapter 10).<br />

2.5.1 Lurker robot<br />

Figure 2.10 (right column) shows the tracked Lurker robot, which is based on the Tarantula<br />

R/C toy. Although based on a toy, this robot is capable of climbing difficult obstacles<br />

such as stairs, ramps, <strong>and</strong> r<strong>and</strong>om stepfields. This is possible due to its tracks,<br />

which can operate independently on each side, <strong>and</strong> the “Flippers” (i.e. the four arms of<br />

the robot), which can be freely rotated at 360 ◦ . The robot is controlled by relays one<br />

<strong>for</strong> each track (left-h<strong>and</strong> <strong>and</strong> right-h<strong>and</strong> side), <strong>and</strong> one <strong>for</strong> each flipper rotation (front<br />

<strong>and</strong> rear axis), which are connected <strong>with</strong> four digital outputs of the MCU. The base<br />

was heavily modified in order to enable autonomous operation. First, we added a 360 ◦<br />

freely turnable potentiometer to each of the two axes <strong>for</strong> measuring the angular position<br />

of the flippers. Second, we added ten touch sensors to each flipper, allowing the<br />

robot to measure <strong>for</strong>ce when touching the ground or an object. The data from the ten<br />

touch sensors is multiplexed onto four wires that are bridged <strong>with</strong> sliding contacts at<br />

the rotating joints. The touch sensors, although simply constructed by push buttons,<br />

provide valuable feedback if the robot touches the ground or an obstacle. This in<strong>for</strong>mation<br />

together <strong>with</strong> the angles of the flippers serves as a basis <strong>for</strong> autonomous skills, <strong>and</strong><br />

also supports tele-operation if the in<strong>for</strong>mation is visualized on the operator interface.<br />

Furthermore, the robot is equipped <strong>with</strong> a 3-DOF Inertial Measurement Unit (IMU)<br />

from Xsens, allowing drift-free measurements of the three Euler angles yaw, roll, <strong>and</strong><br />

pitch, <strong>and</strong> two Hokuyo URG-X004 Laser Range Finders (LRFs), one <strong>for</strong> scan matching<br />

(shown in Section 3.2), <strong>and</strong> one <strong>for</strong> elevation mapping (shown in Section 5.3), where<br />

the latter can be tilted in the pitch angle <strong>with</strong>in 90 ◦ . For feature tracking, which will<br />

be elaborated on in Section 3.4, a Logitech QuickCam Pro 4000 web cam [Logitech,<br />

2006] has been utilized. The Tarantula toy later on has also been used by other groups<br />

<strong>for</strong> education <strong>and</strong> research [Sheh, 2006].<br />

2.5.2 Zerg robot<br />

Figure 2.10 (left column) shows the Zerg robot, a 4WD differentially steered plat<strong>for</strong>m,<br />

which was completely h<strong>and</strong>-crafted. The 4WD drive provides more power to the robot<br />

<strong>and</strong> there<strong>for</strong>e allows to drive up ramps <strong>and</strong> to operate on rough terrain (as far as possible<br />

<strong>with</strong> the utilized wheel-base). Each wheel is driven by a Pitman GM9434K332 motor


34 Chapter 2. <strong>Rescue</strong> Robotics Hardware<br />

<strong>with</strong> a 19.7:1 gear ratio <strong>and</strong> a shaft encoder. The redundancy given by four encoders<br />

allows to detect heavy slippage <strong>and</strong> situations in which the robot gets stuck, as will be<br />

shown in Section 3.3. In order to reduce the large odometry error that naturally arises<br />

from a four-wheeled plat<strong>for</strong>m, we also utilized an Inertial Measurement Unit (IMU)<br />

from Xsens. Moreover, the robot is equipped <strong>with</strong> a Thermal-Eye infrared thermo camera<br />

<strong>for</strong> victim detection. Localization <strong>and</strong> mapping is per<strong>for</strong>med by a Hokuyo URG-<br />

X004 LRF (indoor version), or a Sick S300 (outdoor version).<br />

2.5.3 Human-Robot Interaction (HRI)<br />

One important goal of <strong>Rescue</strong> Robotics is to provide technology <strong>for</strong> assisting the tasks<br />

of humans during urban search <strong>and</strong> rescue. Human-Robot Interaction (HRI) is an active<br />

research field dealing <strong>with</strong> the problem of increasing the efficiency of controlling<br />

partially autonomous robot teams, while decreasing the cognitive load of the operator.<br />

Wang et al. demonstrated empirically the advantage of mixed initiative teams, e.g.<br />

partially autonomous robots controlled by a human operator [Wang <strong>and</strong> Lewis, 2007].<br />

Caspar <strong>and</strong> Murphy studied human robot-interactions during The World Trade Center<br />

rescue response [Casper <strong>and</strong> Murphy, 2003]. They made eleven recommendations <strong>for</strong><br />

the rescue field based on their findings from robotics, computer science, engineering,<br />

<strong>and</strong> psychology. Murphy provides an overview on how robots are currently used in<br />

urban search <strong>and</strong> rescue <strong>and</strong> discusses the HRI issues encountered over the past eight<br />

years [Murphy, 2004].<br />

Inspired from HRI research recommendations, we developed two applications <strong>for</strong> allowing<br />

a single operator to control a heterogeneous team of Zerg <strong>and</strong> Lurker robots.<br />

We specifically designed a Graphical User Interface (GUI), which can be used to fully<br />

control any robot of the team (see Figure 2.11 (a)). The GUI is realized by a similar<br />

approach as proposed by the RoBrno team at RoboCup 2003 [Zalud, 2004]. Images<br />

from video cameras are shown in full size on the screen, <strong>and</strong> additional in<strong>for</strong>mation<br />

is overplayed via a Head Up Display (HUD) in order to focus the operator’s attention<br />

on crucial in<strong>for</strong>mation. The kind of additional in<strong>for</strong>mation that is displayed, <strong>and</strong> its<br />

transparency (alpha value), can be adjusted by keyboard comm<strong>and</strong>s. Robot control is<br />

carried out <strong>with</strong> a joypad that is connected to a portable Laptop. Besides images from<br />

the thermo camera <strong>and</strong> video camera mounted on the robot, the operator receives readings<br />

from other sensors, such as range readings from the LRF, compass measurements,<br />

<strong>and</strong> the battery state of the robot. Data from the LRF is used to simplify the operator’s<br />

task of navigation, i.e. to estimate the distance to surrounding obstacles. The GUI facilitates<br />

to dynamically switch control between multiple robots that are actively sending<br />

data from the field at the same time.<br />

Furthermore, we developed the strategic tool IncidentComm<strong>and</strong>er <strong>for</strong> issuing highlevel<br />

comm<strong>and</strong>s, e.g. to assign robots to target positions on the map, or to assign complex<br />

behaviors, such as stair climbing tasks, which then are autonomously executed by


2.5. <strong>Rescue</strong> Robots Freiburg 35<br />

(a)<br />

(b)<br />

Figure 2.11: Human Robot Interaction (HRI): (a) The RoboGui, a graphical user interface<br />

<strong>for</strong> controlling <strong>and</strong> monitoring robots, visualizing images from IR <strong>and</strong> video<br />

camera, <strong>and</strong> readings from the LRF <strong>and</strong> IMU. (b) Joypad <strong>for</strong> operator control.<br />

the comm<strong>and</strong>ed unit (see Figure 2.12). The IncidentComm<strong>and</strong>er receives local maps<br />

Figure 2.12: The IncidentComm<strong>and</strong>er, a user interface <strong>for</strong> map-merging <strong>and</strong> assigning<br />

high-level comm<strong>and</strong>s to multiple robots, visualizing the map generated by the robots,<br />

<strong>and</strong> images from detected victims.


36 Chapter 2. <strong>Rescue</strong> Robotics Hardware<br />

generated by the robots <strong>and</strong> allows to merge them into a global map, either manually<br />

or automatically, based on detected features, such as corners <strong>and</strong> corridors. Victims<br />

that are detected by the robots are automatically reported to the IncidentComm<strong>and</strong>er<br />

by sending the victim’s location on the map, as well as the according video <strong>and</strong> IR<br />

images taken at the victim’s location. In Figure 2.12 the victim appears as a red cross<br />

augmented <strong>with</strong> a number on the map. If the victim is selected <strong>with</strong> the input device,<br />

all relevant images are shown. This allows <strong>for</strong> the operator to verify the victim detection<br />

visually, <strong>and</strong> to erase the marking on the map if the detection was a false-positive.<br />

Furthermore, the map can be modified manually if errors are detected.


3 Pose Tracking in Disaster Areas<br />

3.1 Introduction<br />

To incrementally build a map from scratch <strong>and</strong> to localize <strong>with</strong>in this map requires good<br />

estimates of local pose displacements during locomotion. Pose tracking is the process<br />

of continuously tracking the pose of a moving object based on sensor readings. For each<br />

discrete time interval ∆t, the pose tracker estimates from the last n sensor observations<br />

o t , o t−1 , o t−2 , · · · , o t−n the local displacement denoted by distance d ∆t <strong>and</strong> angle θ ∆t .<br />

Pose displacements can be detected by an odometry sensor, e.g. measured by shaft<br />

encoders mounted on the robot’s wheels, by a vision system, e.g measuring optical flow,<br />

or by scan matching algorithms applied to LRF (Laser Range Finder) measurements.<br />

However, wheel odometry becomes arbitrarily inaccurate if the robot has to drive on<br />

slippery ground or even has to climb over obstacles. Particularly on skid-steered plat<strong>for</strong>ms,<br />

e.g. tracked vehicles, odometry leads to large measurement errors in rotation.<br />

Vision-based systems depend on a constant flow of features, such as dark corner points,<br />

by which detection might be affected due to harsh visibility conditions, as <strong>for</strong> example<br />

smoke, dust, <strong>and</strong> fire. Scan matching techniques can only be applied reliably if the<br />

scanner continuously captures features, such as lines from corners <strong>and</strong> walls. They require<br />

polygonal structures as typically found in office-like environments [Gutmann <strong>and</strong><br />

Schlegel, 1996, Grisetti et al., 2002], which are not necessarily present in unstructured<br />

environments.<br />

As it is important <strong>for</strong> robots to track their pose <strong>for</strong> mapping <strong>and</strong> localization in rescue<br />

scenarios, it is even more important <strong>for</strong> human beings, e.g. first responders, to know<br />

their location in order to find <strong>and</strong> rescue victims. Pedestrian Dead Reckoning (PDR)<br />

st<strong>and</strong>s <strong>for</strong> methods that estimate incrementally the position of a walking person, as<br />

<strong>for</strong> example in the context of Location Based Services (LBS) [Lechner et al., 2001],<br />

navigation <strong>for</strong> the Blind [Ladetto <strong>and</strong> Merminod, 2002b], <strong>and</strong> emergency responder<br />

tracking. PDR is typically utilized in urban areas where Global Navigation Satellite<br />

System (GNSS) fails due to signal damping or reflection caused by building structures.<br />

In urban environments, GNSS positioning is affected by the so-called multipath propagation<br />

problem [Grewal et al., 2001]. Buildings in the vicinity of the receiver can easily<br />

reflect GNSS signals, resulting in secondary path propagations <strong>with</strong> longer propagation<br />

time, which distort the amplitude <strong>and</strong> phase of the primary signal.<br />

In this chapter, approaches <strong>for</strong> solving the pose tracking problem on robots <strong>and</strong> on<br />

37


38 Chapter 3. Pose Tracking In Disaster Areas<br />

humans are introduced. They serve as a basis <strong>for</strong> RFID technology-based SLAM, which<br />

will be described in Chapter 4. Pose tracking on humans is computed from acceleration<br />

patterns measured by body-worn sensors. We adopted a method from Ladetto <strong>and</strong> colleagues<br />

[Ladetto et al., 2000] that recognizes human footsteps analytically from acceleration<br />

patterns. For this purpose, we utilized an Inertial Measurement Unit (IMU) that<br />

includes tri-axial accelerometers, gyroscopes, <strong>and</strong> magnetometers ∗ . Utilizing IMUs has<br />

the advantage that the small <strong>and</strong> lightweight sensors can be attached to humans in an ergonomic<br />

way. They might be integrated into a helmet [Beauregard, 2006], a belt [Amft<br />

et al., 2004], firefighter jacket [Kleiner et al., 2006a], or even into shoes [Foxlin, 2005].<br />

For pose tracking on robots, two novel approaches, one <strong>for</strong> wheeled robots <strong>and</strong> one<br />

<strong>for</strong> tracked robots, are contributed. Since wheel odometry becomes arbitrarily inaccurate<br />

if robots navigate on slippery ground or have to overcome smaller obstacles, a<br />

method <strong>for</strong> slippage-sensitive odometry has been developed. The introduced method,<br />

which is designed <strong>for</strong> 4WD robot plat<strong>for</strong>ms <strong>with</strong> over-constrained odometry, infers slippage<br />

of the wheels from differences in the measured wheel velocities. Inference is carried<br />

out by a decision tree that has been trained from labeled odometry data. Furthermore,<br />

we solve the problem on tracked robots by utilizing a consumer-quality camera<br />

<strong>for</strong> measuring translations, <strong>and</strong> an IMU <strong>for</strong> measuring rotations. The proposed method<br />

tracks salient features <strong>with</strong> the KLT feature tracker [Tomasi <strong>and</strong> Kanade, 1991] over<br />

images taken by the camera, <strong>and</strong> computes from the tracked features the translation of<br />

the robot. Translation tracking is computed from a voting of single feature trackings<br />

that are classified by a tile coding classificator [Sutton <strong>and</strong> Barto, 1998]. The method is<br />

tailored <strong>for</strong> a simplified motion model of the robot, requiring a set of discrete velocity<br />

comm<strong>and</strong>s.<br />

All methods were extensively evaluated in outdoor environments, as well as in USAR<br />

test arenas designed by the National Institute of St<strong>and</strong>ards <strong>and</strong> Technology (NIST) [Jacoff<br />

et al., 2001]. Our results show that the proposed methods per<strong>for</strong>m robustly <strong>and</strong><br />

efficiently in the utilized benchmark scenarios.<br />

The remainder of this chapter is structured as follows. In Section 3.2 state-of-the-art<br />

techniques <strong>for</strong> pose tracking are described. Then, two solutions <strong>for</strong> rescue scenarios are<br />

contributed, which are dead reckoning <strong>with</strong> slippage sensitive odometry in Section 3.3,<br />

<strong>and</strong> pose tracking by visual odometry in Section 3.4. In Section 3.5 an existing method<br />

<strong>for</strong> PDR is discussed, <strong>and</strong> in Section 3.6 empirical results from indoor <strong>and</strong> outdoor<br />

experiments of the described approaches are presented. In Section 3.7 an overview on<br />

related work is given, <strong>and</strong> in Section 3.8 we conclude.<br />

∗ Note that a magnetometer measures the earth magnetic field <strong>and</strong> hence offers the functionality of a<br />

digital compass.


3.2. Conventional techniques 39<br />

3.2 Conventional techniques<br />

3.2.1 Dead reckoning<br />

Dead reckoning is the process of estimating a global position of a vehicle by continuously<br />

advancing a known position by incorporating bearing, speed, <strong>and</strong> traveled distance.<br />

For wheeled robots, dead reckoning is a method <strong>for</strong> determining the movement<br />

of the robot by measuring the revolution of the wheels. This is accomplished by shaft<br />

encoders, which are mounted directly on the wheel axes. They provide the number of<br />

counted ticks, which is proportional to the revolution of the wheel. Given the gear ratio<br />

n, the resolution of the decoder (ticks per revolution) R <strong>and</strong> the diameter of the wheels<br />

D, one can calculate a conversion factor c <strong>for</strong> the conversion between counted ticks <strong>and</strong><br />

the linear wheel displacement:<br />

c = πD<br />

nR . (3.1)<br />

If N r , N l are the tick counts of the right <strong>and</strong> the left wheel, respectively, one can compute<br />

the right wheel displacement d r = cN r <strong>and</strong> left wheel displacement d l = cN l . The overall<br />

traveled distance d <strong>and</strong> traveled angle α can be calculated from the wheel distances d l<br />

<strong>and</strong> d r after a simplified model from Borenstein [Borenstein et al., 1996]:<br />

d = (d r + d l )<br />

2<br />

, α = (d r − d l )<br />

, (3.2)<br />

B<br />

where B denotes the distance between both wheels, also known as wheel base.<br />

Figure 3.1: Dead reckoning on a skid-steering 4WD robot driving in a cellar: The<br />

resulting map is unusable <strong>for</strong> planning <strong>and</strong> navigation.<br />

Dead reckoning is usually accompanied <strong>with</strong> measurement errors, <strong>for</strong> example caused<br />

by wheel slip during locomotion, which do accumulate over time. Figure 3.1 depicts the<br />

result from successively integrating range measurements from a laser range finder <strong>with</strong>


40 Chapter 3. Pose Tracking In Disaster Areas<br />

respect to the odometry pose of the robot. The resulting map is unusable <strong>for</strong> planning<br />

<strong>and</strong> navigation.<br />

For any further processing of dead reckoning in<strong>for</strong>mation it is essential to maintain<br />

a model of the accumulating errors. The traveled distance d <strong>and</strong> angle α is modeled by<br />

a Gaussian distribution N(u, Σ u ), where u = (d, α) T <strong>and</strong> Σ u is a 2 × 2 covariance matrix<br />

expressing dead reckoning errors. Likewise uncertainty of the two-dimensional pose<br />

l = (x, y, θ) T is modeled by a Gaussian distribution N (µ l , Σ l ), where µ l is the mean <strong>and</strong><br />

Σ l a 3 × 3 covariance matrix [Maybeck, 1990]. Given this representation, the pose at<br />

time t can be updated from input u t as follows:<br />

⎛<br />

l t = F (l t−1 , u t ) = ⎜⎝<br />

x t−1 + cos(θ t−1 )d t<br />

y t−1 + sin(θ t−1 )d t<br />

θ t−1 + α t<br />

⎞⎟⎠ , (3.3)<br />

Σ lt = ∇F l Σ lt−1 ∇F T l + ∇F u Σ u ∇F T u , (3.4)<br />

where<br />

Σ u =<br />

⎛<br />

∇F l = ⎜⎝<br />

⎛<br />

∇F u = ⎜⎝<br />

( dσ<br />

2<br />

d<br />

0<br />

0 ασ 2 α<br />

1 0 − sin(θ t−1 )d t<br />

0 1 cos(θ t−1 )d t<br />

0 0 1<br />

cos(θ t−1 ) 0<br />

sin(θ t−1 ) 0<br />

0 1<br />

)<br />

, (3.5)<br />

⎞<br />

⎞<br />

⎟⎠ , (3.6)<br />

⎟⎠ . (3.7)<br />

Note that the update shown in Equation 3.3 is an approximation <strong>and</strong> only applicable if<br />

the robot moves almost a straight-line <strong>with</strong>in the time interval in which d <strong>and</strong> alpha are<br />

measured. The result from incrementally applying the update on a skid-steering robot<br />

driving in a cellar is depicted in Figure 3.1. One method to improve pose estimates<br />

from wheel odometry, is to utilize an Inertial Measurement Unit (IMU) as described in<br />

Chapter 2. Particularly in case of skid-steered vehicles, such as a 4WD robot or tracked<br />

robot, the usage of an IMU is recommendable. Pose tracking from odometry data can<br />

be further improved by utilizing range measurements from the LRF by incremental scan<br />

matching.<br />

3.2.2 Scan matching<br />

The basic idea behind scan matching is to rotate <strong>and</strong> translate a scan in order to match a<br />

previously taken scan <strong>and</strong> thereby estimate the displacement (∆x, ∆y, ∆θ) of the robot.<br />

It has been shown that particularly in environments <strong>with</strong> vertical structures, such as


3.3. Slippage sensitive wheel odometry 41<br />

walls around an indoor soccer field, this can efficiently be per<strong>for</strong>med [Gutmann et al.,<br />

2001]. Various methods were introduced by researches in the past which can generally<br />

be separated into scan point-based <strong>and</strong> grid-based methods. Among the scan pointbased<br />

methods, Cox <strong>and</strong> colleges proposed a method particularly suited <strong>for</strong> polygonal<br />

environments [Cox, 1991]. Their method matches range readings <strong>with</strong> a priori given<br />

line mode. Lu <strong>and</strong> Milios proposed a method that can also be applied in non-polygonal<br />

environments [Lu <strong>and</strong> Milios, 1994]. Gutmann showed how to combine these two<br />

methods in order to improve their overall per<strong>for</strong>mance [Gutmann, 2000]. Grid-based<br />

methods have the advantage that they are able to filter-out erroneous scans by averaging<br />

them by an occupancy grid [Moravec <strong>and</strong> Elfes, 1985], however, their disadvantage is<br />

the high requirement of memory <strong>and</strong> computational resources. In this section, a gridbased<br />

scan matcher introduced by Hähnel [Hähnel, 2005] will be described in more<br />

detail since this method was implemented <strong>with</strong>in the system described further on.<br />

The technique determines from a sequence of previous scan observations z t , z t−1 , ..., z t−n<br />

subsequently <strong>for</strong> each time point t an estimate of the robot’s pose k t . This is carried out<br />

by incrementally building a local grid map from the n most recent scans <strong>and</strong> estimating<br />

the new pose k t of the robot by maximizing the likelihood of the scan alignment of the<br />

latest scan z t in the current map. The robot pose N ( )<br />

l t , Σ lt is fused <strong>with</strong> the pose of the<br />

scan matcher N ( )<br />

k t , Σ kt by:<br />

l t+1 = ( )<br />

Σ −1 + Σ −1 −1 ( )<br />

k t Σ<br />

−1<br />

l t + Σ −1<br />

k t<br />

k t (3.8)<br />

l t<br />

Σ lt+1 = ( Σ −1<br />

l t<br />

l t<br />

+ Σ −1<br />

k t<br />

) −1<br />

(3.9)<br />

The result from applying scan matching incrementally on laser range data collected by<br />

a robot driving in a cellar is depicted in Figure 3.2. Scan matching-based pose tracking<br />

leads to good results if the scanner captures sufficient features in the environment, such<br />

as walls <strong>and</strong> corners. However, if the LRF has a restricted field of view, e.g. a range<br />

limit of four meters as the LRF from Hokuyo, scanning leads to a large number of far<br />

readings. Far readings are measurements at maximum range leading to an insufficient<br />

amount of features. This problem can be solved by disabling scan matching <strong>and</strong> to<br />

continue pose tracking from odometry data only. However, to detect such situations is<br />

difficult since an increase of far readings does not reliably indicate the true amount of<br />

in<strong>for</strong>mation provided by the scan.<br />

3.3 Slippage sensitive wheel odometry<br />

If the robot operates on varying ground, as <strong>for</strong> example concrete sporadically covered<br />

<strong>with</strong> newspapers, or if the robot gets stuck on obstacles, odometry errors are not linearly<br />

growing anymore, but are dependent on the particular situation. There<strong>for</strong>e, we designed


42 Chapter 3. Pose Tracking In Disaster Areas<br />

(a)<br />

(b)<br />

Figure 3.2: Scan matching <strong>with</strong> dead reckoning on a skid-steering 4WD robot driving<br />

in a cellar: (a) The first part of the resulting map is usable <strong>for</strong> planning <strong>and</strong> navigation.<br />

(b) As the robot proceeds, the map gets unusable due to constantly increasing<br />

positioning errors.<br />

the Zerg robot <strong>with</strong> an over-constrained odometry <strong>for</strong> the detection of slippage of the<br />

wheels by utilizing four shaft-encoders, one <strong>for</strong> each wheel. From these four encoders,<br />

we recorded data while the robot was driving on varying ground, <strong>and</strong> labeled the data<br />

sets <strong>with</strong> the classes C = (slippage, normal). This data was taken to learn a decision<br />

tree [Quinlan, 2003] <strong>with</strong> the inputs I = (∆v Le f t , ∆v Right , ∆v Front , ∆v Rear ), representing<br />

the velocity differences of the four wheels, respectively. For example, ∆v Front denotes<br />

the velocity difference of the two front wheels, <strong>and</strong> ∆v Right the velocity difference of<br />

the two wheels on the right h<strong>and</strong> side of the robot. Under normal operation, ∆v Le f t<br />

<strong>and</strong> ∆v Right should be close to zero, however under slippage, these differences increases.<br />

As depicted in Figure 3.3, the trained classifier reliably detects this slippage from the<br />

velocity differences.<br />

Given the detection of slippage, the traveled distance d is computed from the minimum<br />

wheel velocity given by v t = min ( )<br />

v Le f tFront , v RightFront , v Le f tRear , v RightRear , <strong>and</strong> the<br />

robot’s pose is updated according to Equation 3.3, however, <strong>with</strong> σ 2 d slip<br />

, <strong>with</strong>in covariance<br />

matrix Σ u , in order to increase uncertainty in translation. Note that the rotation<br />

update needs not to be modified since the traveled angle α is measured by the IMU,<br />

which is not affected by wheel slippage. The values <strong>for</strong> σ 2 d <strong>and</strong> σ2 d slip<br />

have been determined<br />

experimentally. During extensive runs <strong>with</strong> slippage events, we recorded the<br />

true traveled distance, determined <strong>with</strong> scan matching, <strong>and</strong> the distance estimated by<br />

the odometry. The data set was labeled by the slippage detection <strong>and</strong> then was utilized<br />

<strong>for</strong> computing the Root Mean Square (RMS) error <strong>for</strong> determining the variances σ 2 d <strong>and</strong><br />

σ 2 d slip<br />

. We finally determined σ d = 0.816 cm <strong>and</strong> σ m d slip<br />

= 24.72 cm . As will be shown in<br />

m<br />

Section 3.6, the improved odometry reduces the error significantly, while maintaining<br />

appropriate covariance bounds.


3.4. Visual odometry based pose tracking 43<br />

1000<br />

800<br />

600<br />

Left front<br />

Right front<br />

Left rear<br />

Right rear<br />

Speed [mm/s]<br />

400<br />

200<br />

0<br />

-200<br />

-400<br />

-600<br />

-800<br />

0<br />

Forward Turn Forward Slippage Turn Slippage Turn<br />

2 4 6 8 10 12 14 16 18<br />

Time [s]<br />

Slip detected<br />

True<br />

False<br />

0<br />

2<br />

4<br />

6<br />

8<br />

10<br />

Time [s]<br />

12<br />

14<br />

16<br />

18<br />

Figure 3.3: Slip detection on a 4WD robot: each line in the upper graph corresponds<br />

to the velocity measurement of one of the four wheels by shaft encoders. The black<br />

arrows indicate the true situation, e.g. driving <strong>for</strong>ward, slippage, etc., <strong>and</strong> the red line in<br />

the lower graph depicts the automatic slip detection by the decision tree classifier, given<br />

the velocities as input.<br />

3.4 Visual odometry based pose tracking<br />

In this section a solution to pose tracking on tracked robots that can support SLAM during<br />

autonomous behaviors on three-dimensional obstacles is described. The introduced<br />

approach aims at an inexpensive, light-weight, <strong>and</strong> computational efficient implementation,<br />

as <strong>for</strong> example based on a single consumer-quality webcam. Since the robot is<br />

equipped <strong>with</strong> an IMU providing high accuracy orientation in<strong>for</strong>mation, <strong>and</strong> the motion<br />

model on tracked robots can be simplified by restricting it to constant velocities,<br />

our goal is to distinguish reliably between <strong>for</strong>ward, backward, <strong>and</strong> none translations,<br />

only. This limitation is motivated by the fact that computing the full metric in<strong>for</strong>mation<br />

of the translation, e.g. to determine the scale, requires to extract depth in<strong>for</strong>mation from<br />

camera observations, which typically can only be done by stereo vision. However, the<br />

problem can be relaxed if robots operate in planar environments [Weigel et al., 2002],<br />

or by utilizing metrical initialization points <strong>with</strong> known spacial displacement in the environment<br />

[Davison, 2003]. By focusing on determining the translation direction only,


44 Chapter 3. Pose Tracking In Disaster Areas<br />

we solve this problem <strong>for</strong> three-dimensional environments as the robot’s known driving<br />

speed produces a reference that can be used to generate metrical pose in<strong>for</strong>mation.<br />

3.4.1 Feature tracking<br />

Salient features are tracked over multiple images <strong>with</strong> the KLT feature tracker [Tomasi<br />

<strong>and</strong> Kanade, 1991], <strong>and</strong> utilized <strong>for</strong> calculating difference vectors that indicate the<br />

robot’s motion. Since rotations are estimated by the IMU sensor, <strong>and</strong> the goal is to<br />

determine translations from the images, the camera is mounted to either the left or right<br />

side of the robot, yielding the effect that <strong>for</strong>ward <strong>and</strong> backward motion results in horizontal<br />

tracking vectors pointing into the direction of the motion. The true translation<br />

of the robot is determined based on the individual voting of single translation vectors.<br />

Each vector votes <strong>for</strong> one of the possible translations according to a pre-trained tile<br />

coding classificator [Sutton <strong>and</strong> Barto, 1998].<br />

In general, an image sequence can be described by a discrete valued function I(x, y, t),<br />

where x, y describe the pixel position <strong>and</strong> t describes the time. It is assumed that features<br />

detected in an image also appear in the subsequent image, however translated by d =<br />

(ξ, η) T , where ξ <strong>and</strong> η denote the translation in x <strong>and</strong> y:<br />

I(x, y, t + τ) = I(x − ξ, y − η, t) (3.10)<br />

Usually, a feature tracker determines this translation by minimizing the squared error ɛ<br />

over a tracking window. For brevity we define I(x, y, t + τ) as J(x) <strong>and</strong> I(x − ξ, y − η, t)<br />

as I(x − d), leading to the following error measure <strong>with</strong> a weighting function w [Tomasi<br />

<strong>and</strong> Kanade, 1991]:<br />

∫<br />

ɛ = [I(x − d) − J(x)] 2 wdx. (3.11)<br />

W<br />

To facilitate the process of feature tracking, the selection of appropriate features, i.e.<br />

features that can easily be distinguished from noise, is necessary. Hence, features that<br />

show light-dark changes, e.g. edges, corners, <strong>and</strong> crossings, are selected <strong>with</strong> high probability<br />

by the KLT feature tracker. In Figure 3.4, examples of KLT’s adaptive feature<br />

selection <strong>and</strong> the tracking over a series of images are shown.<br />

When traversing obstacles, the robot’s motion is not exclusively a <strong>for</strong>ward or backward<br />

motion. Instead, it is overlaid <strong>with</strong> noise that originates from slippage of the tracks<br />

<strong>and</strong> shaking of the robot’s body due to rough terrain, leading to jitter effects. Since these<br />

effects usually do not accumulate over time, our method generates trackings over multiple<br />

frames, rather than per<strong>for</strong>ming single frame trackings only.<br />

If trackings of the same feature coexist over more than two images, their corresponding<br />

translation vectors d i , d i+1 , ..., d k are replaced by a single translation vector d ik , consisting<br />

of the vector sum of all trackings between d i <strong>and</strong> d k . In order to reward trackings<br />

over multiple frames, a weight w ik = |k − i| is assigned to each tracking. These weights


3.4. Visual odometry based pose tracking 45<br />

(a)<br />

(b)<br />

(c)<br />

(d)<br />

Figure 3.4: KLT feature tracking: (a,b) Features (red dots) are adaptively selected<br />

<strong>with</strong>in images. (c) Feature tracking over two subsequent images. The vectors between<br />

two corresponding features, shown by red lines, indicate the movement of the camera.<br />

(d) The tracking over a series of five images.<br />

are used during the voting process, which will be described in Section 3.4.3.<br />

3.4.2 Filtering of rotations around the pitch angle<br />

Since the focus lies on translation estimation, rotations have to be filtered-out in advance.<br />

It is assumed that translations are free of rotations around the yaw angle since<br />

otherwise the motion is considered as a rotation. However, during straight-line navigation,<br />

rotations might occur around the pitch angle while climbing over obstacles <strong>and</strong><br />

movements of the flippers that change the robots pitch <strong>with</strong> respect to the ground. Due<br />

to the high variance in the latency time of the employed camera system (a web cam connected<br />

via USB 1.1), this can only be accurately achieved on the image data directly,<br />

rather than by combining image data <strong>with</strong> rotation angles from the IMU sensor. Given<br />

a feature tracking between two images of the <strong>for</strong>m (x i , y i ) T → (x j , y j ) T , which includes


46 Chapter 3. Pose Tracking In Disaster Areas<br />

a rotation around the point (r x , r y ) T <strong>with</strong> angle α, one can derive a corresponding rotation<br />

free tracking (x i , y i ) T → (x ′ j , y′ j )T after the following equation, <strong>with</strong> given rotation<br />

matrix R (.):<br />

(x ′ j, y ′ j) T = (r x , r y ) T + R(−α) · (x j − r x , y j − r y ) T (3.12)<br />

There<strong>for</strong>e, in order to per<strong>for</strong>m the filtering of rotations, one has to determine the rotation<br />

center (r x , r y ) T <strong>and</strong> rotation angle α. Rotating points of different radii describe<br />

concentric circles around the rotation center. When considering two feature trackings<br />

whose features lie on a circle, one can see that the perpendicular bisectors of the two<br />

lines, given by the connecting start- <strong>and</strong> endpoint of the feature tracking, subtend in the<br />

rotation center, as shown in Figure 3.5 (a).<br />

(a) (b) (c) (d)<br />

Figure 3.5: (a) The perpendicular bisectors (green) of the tracking vectors (red) subtend<br />

at the center of the circle (magenta). (b) Example of the Monte Carlo algorithm:<br />

The perpendicular bisectors (green) point to the center of rotation (magenta). Red dots<br />

depict the sampled intersection points. (c,d) Example of the rotation correction while<br />

the robot changes the angles of its front flippers. The feature vectors be<strong>for</strong>e (c) <strong>and</strong> after<br />

(d) the correction.<br />

This property is exploited <strong>with</strong> a Monte Carlo algorithm <strong>for</strong> estimating the true center<br />

of rotation (see Figure 3.5 (b)). First, up to n possible centers of rotation are sampled<br />

from the set of feature trackings T by Algorithm 1. Second, all sampled centers of<br />

rotation are put into a histogram, where the final center is determined by the histogram’s<br />

maximum.<br />

Furthermore, one has to determine the rotation angle, which can be done by calculating<br />

the vector cross product. Given a feature tracking (x i , y i ) T → (x j , y j ) T rotated<br />

around (r x , r y ) T by α, one can calculate the cross product by considering the start- <strong>and</strong><br />

endpoint of the feature tracking as endpoints of vectors starting at the rotation center.<br />

Suppose v i = (x i −r x , y i −r y ) T <strong>and</strong> v j = (x j −r x , y j −r y ) T are vectors derived from tracking<br />

images I <strong>and</strong> J, respectively. Then, the angle between these vectors α = ∠(v i , v j ) can<br />

be calculated from the vector product: v i × v j = ||v i || · ||v j || · sin(α). Given the rotation<br />

center (r x , r y ) T from the previous estimation, one can determine the true rotation angle α<br />

by averaging rotation angles from all single feature trackings. Finally, it is necessary to<br />

prevent the algorithm from being executed on rotation-free sequences. This is achieved<br />

by adding a center of rotation to the histogram, only if it is located <strong>with</strong>in the bounding


3.4. Visual odometry based pose tracking 47<br />

Algorithm 1: Sample up to n possible centers of rotation<br />

Input: A set of feature trackings: T<br />

Output: A set of calculated intersection points: C<br />

C = ∅;<br />

<strong>for</strong> i = 0; i < n; i++ do<br />

t 1 ← selectR<strong>and</strong>omFeatureTracking(T);<br />

t 2 ← selectR<strong>and</strong>omFeatureTracking(T);<br />

s 1 ← calculatePerpendicularBisector(t 1 );<br />

s 2 ← calculatePerpendicularBisector(t 2 );<br />

(cut, det) ← calculateIntersectionPoint(s 1 , s 2 );<br />

if det < minDeterminant then<br />

continue;<br />

end<br />

C ← C ∪ cut;<br />

end<br />

box of the image. Rotation centers that are far from the bounding box are most likely<br />

due to quasi-parallel feature translations, which in turn indicate a rotation-free movement.<br />

If the number of centers of rotation is below a threshold λ, the trans<strong>for</strong>mation<br />

of Equation 3.12 is not applied. We determined experimentally λ = 10 [Dornhege <strong>and</strong><br />

Kleiner, 2006].<br />

3.4.3 Classification<br />

From the set of filtered translation vectors, one can determine the robot’s translation.<br />

However, the translation vectors are given in the two dimensional image plane. The<br />

projection from translation vectors of the vision system to the robot’s translation depends<br />

on the intrinsic parameters of the camera, e.g. focal length <strong>and</strong> lens distortion,<br />

<strong>and</strong> on the extrinsic parameters of the camera, e.g. the translation <strong>and</strong> rotation relative<br />

to the robot’s center. This projection can either be determined analytically or by a mapping<br />

function. Due to the assumption of a simplified kinematic model, this mapping<br />

can be learned efficiently by a function approximator, classifying each vector into one<br />

of the classes C = { f orward, backward, none}.<br />

The learning is based on collected data which was automatically labeled during teleoperation<br />

runs under mild conditions, i.e. <strong>with</strong>out heavy slippage. During a second<br />

phase, the data labeling has been verified manually by a human on a frame to frame<br />

basis. This procedure allows <strong>for</strong> the efficient labeling of thous<strong>and</strong>s of trackings since<br />

single images contain several features. Each labeled tracking is described by the class<br />

assignment c ∈ C <strong>and</strong> the vector v = (x, y, l, α) T , where x, y denotes the origin in the<br />

image, l denotes the vector length <strong>and</strong> α denotes the vector heading. Given the labeled


48 Chapter 3. Pose Tracking In Disaster Areas<br />

data, tile coding function approximation is used <strong>for</strong> learning the probability distribution<br />

P(c | x, y, l, α). (3.13)<br />

Tile coding is based on tilings which discretize the input space in each dimension.<br />

Shape <strong>and</strong> granularity of these discretizations can be adjusted according to the task.<br />

Multiple tilings are overlaid <strong>with</strong> a r<strong>and</strong>omized offset in order to facilitate generalization.<br />

During learning, each tile is updated according to: w i+1 = w i +α · (p i+1 −w i ), where<br />

w i is the weight stored in the tile, p i ∈ {0, 1} is the manually labeled class assignment,<br />

<strong>and</strong> α is the learning rate, which is set to 1 , where m is the number of overlaid tilings in<br />

m<br />

order to ensure normalized probabilities [Sutton <strong>and</strong> Barto, 1998]. Based on the probability<br />

distribution induced by P(c | x, y, l, α) over C, each vector v i votes individually<br />

<strong>for</strong> a class assignment c i <strong>with</strong> respect to its location, length, <strong>and</strong> heading:<br />

c i = argmax P(c | x i , y i , l i , α i ) (3.14)<br />

c∈C<br />

Let c k i<br />

= I (c i = k) be the class indicator function, which returns 1 if c i = k <strong>and</strong> 0<br />

otherwise. Then, the final classification a <strong>for</strong> each frame can be decided based on the<br />

maximal sum of weighted individual votes from each vector:<br />

a = argmax<br />

k∈C<br />

N∑<br />

c k i · w i (3.15)<br />

i=1<br />

Note that w i increases according to the number of times the underlying feature has been<br />

successfully tracked by the feature tracker previously described.<br />

In order to determine the distance d traveled between two images I <strong>and</strong> J, a constant<br />

translational velocity v T of the robot † is assumed. Given time stamp t j <strong>and</strong> t i of image<br />

I <strong>and</strong> J, respectively, d can be calculated by:<br />

⎧<br />

v T · (t j − t i ) if class = <strong>for</strong>ward<br />

⎪⎨<br />

d = −v T · (t j − t i ) if class = backward<br />

(3.16)<br />

⎪⎩ 0 otherwise<br />

Finally, from the yaw angle θ of the IMU <strong>and</strong> the robot’s last pose (x old , y old , θ old ) T the<br />

new pose of the robot is calculated by:<br />

(x new , y new , θ new ) T = (x old + d · cos(θ old ), y old + d · sin(θ old ), θ old ) T (3.17)<br />

† Note that this value could also be automatically adjusted according to the vehicles current set-velocity.


3.5. Pedestrian Dead Reckoning (PDR) 49<br />

3.5 Pedestrian Dead Reckoning (PDR)<br />

In this section a robust method <strong>for</strong> estimating the distance displacement d <strong>and</strong> azimuth<br />

angle (heading) θ of walking persons, by utilizing a single IMU sensor that contains<br />

a tri-axial accelerometer, a tri-axial gyroscope, <strong>and</strong> a tri-axial magnetometer, will be<br />

described. According to Section 3.2.1, the displacement vector u = (d, θ) T <strong>with</strong> covariance<br />

matrix Σ u is further processed by Kalman-based dead reckoning, yielding the pose<br />

estimate ˆl = ( ˆx, ŷ, ˆθ) T <strong>with</strong> covariance matrix Σ l .<br />

3.5.1 Distance estimation<br />

Generally, the traveled distance d of a walking person can only under difficulties be<br />

computed by double integration of the antero-posterior (<strong>for</strong>ward-backward) acceleration<br />

[Ladetto et al., 2000, Foxlin, 2005]. This has two reasons: first, the alignment of<br />

the IMU device on the body of the person strongly influences the measurements, hence<br />

it has to be calibrated each time the position of the device has been changed. Second,<br />

the double integration quickly accumulates measurement errors, e.g. caused by abrupt<br />

acceleration changes during walking, leading to non-permissible positioning errors. An<br />

alternative approach is to detect the step occurrence from vertical <strong>and</strong> horizontal acceleration<br />

patterns merged <strong>with</strong> a physiological model of human walking. Experiments<br />

have shown that the maximal step frequency of humans is about 5 Hz, <strong>and</strong> that there<br />

are no acceleration peaks beyond 15 Hz. There<strong>for</strong>e, according to the law of Shannon,<br />

accelerations of walking patterns can be reliably measured at a sample frequency<br />

of 30 Hz. There are several identification strategies, ranging from computational expensive<br />

Fourier analysis to simple Zero-crossing, which basically detects a step if the<br />

acceleration curve crosses the zero value in an ascending way. A method that shows<br />

very robust results <strong>with</strong>in the least computation time has been introduced by Ladetto<br />

et al. [Ladetto et al., 2000]. Human walking generates a vertical acceleration <strong>with</strong> a<br />

maximum value if a foot is placed on the ground (see Figure 3.6). By detecting these<br />

maxima in the vertical acceleration curve <strong>with</strong>in a fixed time interval, it is possible to<br />

detect <strong>and</strong> count the occurrence of foot steps. The method can be separated into three<br />

parts, which are step detection, step counting, <strong>and</strong> direction detection.<br />

To detect the walking mode of the person, e.g. to distinguish between <strong>for</strong>ward walking,<br />

lateral (side-wards) walking, <strong>and</strong> st<strong>and</strong>ing, is a challenging task due to the individual<br />

walking style of humans. Ladetto concluded that the mean variance over a short<br />

period of the vertical (up-down), <strong>and</strong> antero-posterior (<strong>for</strong>ward-backward) acceleration<br />

correlates significantly <strong>with</strong> the walking mode <strong>and</strong> step frequency. The higher the frequency,<br />

the higher the variance. The occurrence of steps can thus be determined from<br />

the mean variance computed <strong>with</strong>in a fixed time interval. Furthermore, a comparison<br />

between the mean variance of the antero-posterior acceleration <strong>and</strong> vertical acceleration<br />

allows to distinguish between lateral (side-wards) <strong>and</strong> <strong>for</strong>ward movements. A lateral


50 Chapter 3. Pose Tracking In Disaster Areas<br />

Figure 3.6: Vertical (up-down), <strong>and</strong> antero-posterior (<strong>for</strong>ward-backward) acceleration<br />

patterns recorded during human walking. Courtesy of Quentin Ladetto.<br />

movement is detected, if the variance of the vertical acceleration is higher than the one<br />

of the antero-posterior, <strong>and</strong> vice versa.<br />

To detect the frequency of steps, one has basically to count the maxima in the anteroposterior<br />

acceleration curve. Depending on the individual walking style of a person,<br />

a step might cause two peaks located closely to each other, originating from the impacts<br />

of the heel <strong>and</strong> the sole <strong>with</strong> the ground, respectively, whereas the heel impact<br />

normally shows the bigger amplitude. In order to detect step maxima reliably, it is<br />

beneficial to filter-out signal disturbances in advance. This is achieved by applying a<br />

strong low-pass filter that removes high frequency components from the signal, e.g.<br />

frequencies above 5 Hz. Given the filtered signal <strong>with</strong> each local maxima representing<br />

a footstep, the step frequency is determined by time differencing the maxima. The<br />

traveled distance is computed by multiplying the frequency <strong>with</strong> the individual length<br />

of the person’s steps. Since the step length greatly varies among different persons, we<br />

automatically calibrate this parameter from distances computed by GNSS positions if<br />

they are available [Ladetto et al., 2000].<br />

Furthermore, the direction of walking (<strong>for</strong>ward-backward, left-right) is determined<br />

by computing the angles between the maxima <strong>and</strong> the two zero-crossings of the signal<br />

be<strong>for</strong>e <strong>and</strong> after the maxima, respectively. For example, a backward motion is detected<br />

if the angle between the maxima <strong>and</strong> the previous zero-crossing is bigger than<br />

the angle between the maxima <strong>and</strong> the following zero-crossing. A more detailed description<br />

of the method is found in the work of Ladetto <strong>and</strong> colleagues [Ladetto et al.,<br />

2000,Gabaglio, 2003,Ladetto <strong>and</strong> Merminod, 2002b]. For the experiments described in


3.6. Experimental results 51<br />

this thesis an implementation of Ladetto’s work from Michael Dippold [Dippold, 2006]<br />

has been used.<br />

3.5.2 Heading estimation<br />

The compass <strong>and</strong> the gyroscope of the IMU are used in conjunction in order to compensate<br />

perturbations from local magnetic fields, as <strong>for</strong> example caused by ferromagnetic<br />

building materials such as rein<strong>for</strong>ced concrete or steel [Ladetto <strong>and</strong> Merminod,<br />

2002a, Ladetto et al., 2001]. This approach ideally combines the strength of both sensors<br />

<strong>and</strong> compensates their weaknesses at the same time. Whereas the compass provides<br />

absolute measurements of the azimuth, which are partially inaccurate due to local<br />

magnetic fields, the gyroscope measures, also under magnetic influence, the angular<br />

acceleration <strong>with</strong> high accuracy. However, long term measurements of the gyroscope<br />

are affected by an inherent drift error. Hence, drift errors of the gyroscope can be compensated<br />

by globally accurate azimuth angles from the compass, <strong>and</strong> local disturbances<br />

of the compass can be compensated <strong>with</strong> locally accurate measurements of the angular<br />

acceleration.<br />

For the experiments presented in this thesis, an MTi IMU from Xsens was used (see<br />

Chapter 2, Section 2.2.1). The sensor unit provides a special modus called AMD (Adapt<br />

to Magnetic Disturbances) which can be activated <strong>for</strong> environments containing heavy<br />

magnetic fields. The device was attached to a test person <strong>for</strong> measuring the vertical <strong>and</strong><br />

lateral acceleration, as well as the azimuth orientation (see the orange box in Figure 3.7).<br />

Based on an empirical evaluation, we modeled pose tracking uncertainty <strong>with</strong> σ 2ˆd =<br />

(0.05 m) 2 d, <strong>and</strong> σ 2ˆθ = (15◦ ) 2 .<br />

3.6 Experimental results<br />

In this section, results from both simulated <strong>and</strong> real-robot experiments are provided. All<br />

real-robot experiments were carried out on the robot plat<strong>for</strong>ms described in Chapter 2<br />

in outdoor scenarios, <strong>and</strong> testing arenas that are equal or similar to those proposed by<br />

NIST. Experiments on pedestrian dead reckoning were carried out <strong>with</strong> the MTx IMU<br />

from Xsens <strong>and</strong> a SIRFstarIII chip-based GPS device. Results from pose tracking on<br />

robots, specifically, wheeled pose tracking <strong>and</strong> visual odometry-based pose tracking, are<br />

presented in Sections 3.6.1 <strong>and</strong> 3.6.2, respectively, whereas results from dead reckoning<br />

on pedestrians are presented in Section 3.6.3.<br />

3.6.1 Pose tracking under heavy slippage<br />

The slippage detection method has been extensively evaluated on the Zerg robot. During<br />

this experiment, the robot per<strong>for</strong>med different maneuvers, such as moving straight,


52 Chapter 3. Pose Tracking In Disaster Areas<br />

Figure 3.7: Test person <strong>with</strong> Xsens MTi <strong>and</strong> Holux GPS device <strong>for</strong> obtaining ground<br />

truth data.<br />

turning, <strong>and</strong> accelerating while driving first on normal <strong>and</strong> then on slippery ground.<br />

Afterwards, each situation has been manually labeled <strong>with</strong> one of the six classes slipstraight,<br />

slip-turn, slip-accelerate, noslip-straight, noslip-turn, <strong>and</strong> noslip-accelerate.<br />

Table 3.1 summarizes the results of the classification, where bold numbers indicate the<br />

correct classification, i.e. true-positives. The method is able to reliably detect slippage<br />

even while the robot is accelerating or per<strong>for</strong>ming turns.<br />

Classification<br />

❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤<br />

True situation<br />

Slip No Slip<br />

Straight<br />

No Slip 10 (0.5%) 2051 (99.5%)<br />

Slip 2363 (90.1%) 236 (8.9%)<br />

Turn<br />

No Slip 28 (0.9%) 3226 (99.1&)<br />

Slip 2684 (96.4%) 102 (3.6%)<br />

(De-)Acceleration<br />

No Slip 75 (14.9%) 426 (85.1%)<br />

Slip 126 (98.5%) 2 (1.5%)<br />

Table 3.1: Classification accuracy of the slippage detection under different maneuvers<br />

of the robot. Bold numbers indicate the correct classifications, i.e. true-positives.<br />

In order to evaluate the slippage detection-based improvement of the odometry, we<br />

conducted experiments <strong>for</strong> the comparison of both improved <strong>and</strong> conventional odometry<br />

<strong>and</strong> their covariance bounds. Figure 3.8 shows the per<strong>for</strong>mance of slippage sensitive<br />

odometry compared to conventional odometry. It can be seen in Figure 3.8 (a) that the


3.6. Experimental results 53<br />

error of the conventional odometry increases drastically during slippage (taking place<br />

between 10 <strong>and</strong> 20 meters). Moreover, the covariance bound significantly underestimates<br />

the error. However, in the same situation, slippage sensitive odometry is capable<br />

of reducing the error (Figure 3.8 (b)), while providing valid covariance bounds.<br />

10000<br />

9000<br />

Odometry error<br />

3σ Bound<br />

Conventional odometry<br />

10000<br />

Odometry error<br />

3σ Bound<br />

Slippage sensitive odometry<br />

8000<br />

8000<br />

7000<br />

Error [mm]<br />

6000<br />

5000<br />

4000<br />

Error [mm]<br />

6000<br />

4000<br />

3000<br />

2000<br />

2000<br />

1000<br />

0<br />

0<br />

5<br />

10<br />

15<br />

Distance [m]<br />

(a)<br />

20<br />

25<br />

30<br />

0<br />

0<br />

5<br />

10<br />

15<br />

Distance [m]<br />

(b)<br />

20<br />

25<br />

30<br />

Figure 3.8: Conventional odometry (a) compared to slippage sensitive odometry (b)<br />

during the event of slippage (between 10 <strong>and</strong> 20 meters): In contrast to conventional<br />

odometry, improved odometry reduces the position error (blue line) <strong>and</strong> provides valid<br />

covariance bounds (red line) during slippage.<br />

(a)<br />

(b)<br />

Figure 3.9: Zerg robot during the final of the Best in Class autonomy competition at<br />

RoboCup<strong>Rescue</strong> 2005 in Osaka: (a) slipping on newspapers <strong>and</strong> (b) the autonomously<br />

generated map. Red crosses mark locations of victims which have been found by the<br />

robot.<br />

The approach of slipping detection has been utilized during the RoboCup <strong>Rescue</strong>


54 Chapter 3. Pose Tracking In Disaster Areas<br />

competition. Figure 3.9 depicts the Zerg robot during the final of the “Best in Class Autonomy”<br />

competition, held in the NIST arena <strong>for</strong> Urban <strong>Search</strong> <strong>and</strong> <strong>Rescue</strong> (USAR) [Jacoff<br />

et al., 2001] during RoboCup 2005. In this scenario, robots had to explore an unknown<br />

area <strong>with</strong>in 20 minutes autonomously, to detect all victims, <strong>and</strong> finally to deliver<br />

a map sufficient <strong>for</strong> human teams to locate <strong>and</strong> rescue the victims. Conditions <strong>for</strong> exploration<br />

<strong>and</strong> SLAM were intentionally made difficult. For example, the occurrence of<br />

wheel slip was likely due to newspapers <strong>and</strong> cardboards covering the ground, which<br />

was partially made of steel <strong>and</strong> concrete. Stone bricks outside the robot’s field of view<br />

caused the robot to get stuck, <strong>and</strong> walls made of glass caused the laser range finder to<br />

frequently return far readings. We applied computer vision techniques on images generated<br />

by a thermo (IR) camera in order to estimate the relative locations of victims,<br />

if they were detected <strong>with</strong>ing the camera’s FOV. More details on victim detection are<br />

given in Chapter 7. As shown in Figure 3.9, the system was able to cope <strong>with</strong> these<br />

difficulties <strong>and</strong> also to build reliable a map augmented <strong>with</strong> victim locations detected<br />

by the robot. Finally, the system won the autonomy competition in 2005.<br />

3.6.2 Pose tracking on tracked vehicles<br />

The approach of visual odometry was extensively tested on both the tracked robot<br />

Lurker, operating on three-dimensional obstacles, <strong>and</strong> the wheeled robot Zerg, operating<br />

on flat surfaces. Experiments <strong>with</strong> the Zerg robot have the advantage that the<br />

visual odometry, <strong>and</strong> conventional wheel odometry can be compared directly to ground<br />

truth data. They allow a comparison of both methods under the same circumstances <strong>and</strong><br />

show, that the visual odometry produces results of comparable accuracy to wheel odometry.<br />

On this robot, position ground truth was determined by LRF-based scan matching,<br />

whereas ground truth on three-dimensional obstacles was measured manually.<br />

Run Trav. dist. [m] Vis. odo. [cm/m] Wh. odo. [cm/m]<br />

lab_1 (2D) 91.53 7.82 ± 1.84 6.17 ± 1.54<br />

lab_2 (2D) 73.72 8.25 ± 2.46 7.59 ± 1.94<br />

cellar (2D) 108.91 19.30 ± 13.65 21.22 ± 12.40<br />

ramp (3D) 6.36 13.28 ± 9.2 -<br />

palette (3D) 2.37 22.08 ± 8.87 -<br />

Table 3.2: Relative error of the visual odometry <strong>and</strong> conventional wheel odometry<br />

compared to ground truth data (either manually measured <strong>for</strong> 3D runs or estimated by<br />

scan matching <strong>for</strong> 2D runs).<br />

Table 3.2 gives an overview on the measured mean <strong>and</strong> st<strong>and</strong>ard deviation of the relative<br />

distance error from visual odometry <strong>and</strong> wheel odometry on both robot plat<strong>for</strong>ms.<br />

Since the method has been mainly developed <strong>for</strong> tracked vehicles, the Zerg’s kinematic


3.6. Experimental results 55<br />

has been modified in order to be similar to that of the evaluated tracked vehicle, i.e. to<br />

allow only a subset of possible velocities, which are in case of the Lurker robot: stop,<br />

<strong>for</strong>ward, <strong>and</strong> backward. The results clearly show that on the Zerg plat<strong>for</strong>m the visual<br />

odometry reaches an accuracy comparable to the conventional odometry. In the cellar<br />

environment, the visual odometry turned out to be even slightly superior, which can be<br />

explained by the higher degree of wheel slippage that we noticed in this environment.<br />

Comparing the graphs in Figures 3.10 (a) <strong>and</strong> (b) of the cellar environment <strong>with</strong> those<br />

of the lab in Figures 3.10 (c) <strong>and</strong> (d) it becomes clear that the cellar environment is<br />

much harder <strong>for</strong> both algorithms. The wheel odometry usually suffers from wheel slippage<br />

while the visual odometry has to cope <strong>with</strong> the fact that the white walls do not<br />

provide good features. Figures 3.10 (a) <strong>and</strong> (c) depict the accumulation of the distance<br />

error of the wheel odometry <strong>and</strong> Figures 3.10 (b) <strong>and</strong> (d) show the distance error of<br />

the visual odometry in the cellar <strong>and</strong> lab environment, respectively. The real advantage<br />

of the visual odometry, however, is revealed if the robot operates on three-dimensional<br />

obstacles.<br />

The results in Table 3.2 indicate that the introduced method, when applied while<br />

operating on three-dimensional obstacles, provides a usable estimate of the robot’s motion.<br />

Figures 3.11 (a) <strong>and</strong> (b) depict the driven distance during locomotion over threedimensional<br />

obstacles compared to ground truth distances. The results indicate that, in<br />

case of tracked robots, the tile coding classification <strong>and</strong> voting applied to a simple kinematic<br />

model lead to sufficiently accurate results. From log files it has been determined<br />

that during the cellar run 87% (96%), the ramp run 81% (93%), <strong>and</strong> the palette run 94%<br />

(99%) of the classifications detected the correct motion of the robot, where numbers in<br />

brackets denote the voting-based improvement. While processing an image resolution<br />

of 320×240 on a IntelPentiumM, 1.20 GHz, we measured an average processing time of<br />

24.08 ± 0.64 ms <strong>for</strong> the complete processing <strong>with</strong>out KLT feature tracking. This leads,<br />

together <strong>with</strong> the feature tracker, to a maximal frame rate of 5.34 ± 1.17 Hz. If processing<br />

an image resolution of 160 × 120, the complete processing <strong>with</strong>out KLT feature<br />

tracking needs 8.68 ± 0.3 ms <strong>and</strong> allows a total frame rate of 17.27 ± 1.81 Hz. Experiments<br />

proposed in this thesis were carried out <strong>with</strong> the higher resolution. However,<br />

experiments <strong>with</strong> the lower resolution showed that these results lead to a comparable<br />

accuracy, too.<br />

The following two experiments demonstrate the application of visual odometry in<br />

the context of SLAM on tracked vehicles negotiating obstacles. We conducted the<br />

experiments on the Lurker robot by utilizing the visual odometry together <strong>with</strong> the scan<br />

matching algorithm. During the first experiment, the LRF sensor was automatically<br />

controlled by the measured pitch orientation of the robot in order to stay continuously<br />

at a horizontal position. This allows the LRF to perceive the environment independently<br />

from the robot’s orientation, i.e. to return the same laser scan at the same locations also<br />

if the orientation differs. The result is shown by the image series in Figure 3.12 (af).<br />

In (a) <strong>and</strong> (d) an overview on both obstacles is given, whereas (b) <strong>and</strong> (e) depict


56 Chapter 3. Pose Tracking In Disaster Areas<br />

45000<br />

40000<br />

Odometry error<br />

3σ Bound<br />

Wheel odometry (Cellar environment)<br />

45000<br />

40000<br />

Odometry error<br />

3σ Bound<br />

Visual odometry (Cellar environment)<br />

35000<br />

35000<br />

30000<br />

30000<br />

Error [mm]<br />

25000<br />

20000<br />

15000<br />

Error [mm]<br />

25000<br />

20000<br />

15000<br />

10000<br />

10000<br />

5000<br />

5000<br />

0<br />

20<br />

40<br />

60<br />

Distance [m]<br />

(a)<br />

80<br />

100<br />

0<br />

20<br />

40<br />

60<br />

Distance [m]<br />

(b)<br />

80<br />

100<br />

45000<br />

40000<br />

Odometry error<br />

3σ Bound<br />

Wheel odometry (Lab environment)<br />

45000<br />

40000<br />

Odometry error<br />

3σ Bound<br />

Visual odometry (Lab environment)<br />

35000<br />

35000<br />

30000<br />

30000<br />

Error [mm]<br />

25000<br />

20000<br />

15000<br />

Error [mm]<br />

25000<br />

20000<br />

15000<br />

10000<br />

10000<br />

5000<br />

5000<br />

0<br />

0<br />

20<br />

40<br />

Distance [m]<br />

(c)<br />

60<br />

0<br />

0<br />

20<br />

40<br />

Distance [m]<br />

(d)<br />

60<br />

Figure 3.10: The accumulating distance error of the visual odometry method compared<br />

to ground truth data: (a,b) measured in a cellar of 15 m × 50 m, (c,d) measured in the<br />

robotic lab, a 5 m × 5 m squared area, (a) <strong>and</strong> (c) show results from the wheel odometry,<br />

(b) <strong>and</strong> (d) display the errors originating from visual odometry.<br />

the generated features, <strong>and</strong> (c) <strong>and</strong> (f) show the generated maps, at the corresponding<br />

positions, respectively.<br />

As shown by the “black wall” in front of the robot (Figure 3.12 (c)), there are situations<br />

in which the 2D LRF cannot provide sufficient evidence <strong>for</strong> the robot’s motion.<br />

In this particular case, measurements of the laser are nearly independent of the robot’s<br />

location on the ramp, whereas the visual odometry (see Figure 3.12 (b)) provides clear<br />

motion evidence. Note that the map representation shown in (c) <strong>and</strong> (f) does not suffice<br />

<strong>for</strong> the particular task since it does not distinguish between measurements of different<br />

height values at the same location, i.e. parts of the map in (c) have been deleted in<br />

the subsequent map (f). This problem can be solved by utilizing elevation maps, as<br />

discussed in Chapter 5.<br />

In another experiment, the influence of visual odometry on elevation mapping has<br />

been evaluated. Figure 3.13 depicts two elevation maps of the same ramp, one <strong>with</strong>


3.6. Experimental results 57<br />

350<br />

300<br />

250<br />

Ground Truth<br />

Visual Odometry<br />

Odometry while climbing a ramp<br />

250<br />

200<br />

Ground Truth<br />

Visual Odometry<br />

Odometry while climbing a pallet<br />

Distance [cm]<br />

200<br />

150<br />

100<br />

Distance [cm]<br />

150<br />

100<br />

50<br />

0<br />

50<br />

-50<br />

0 1000 2000 3000 4000 5000 6000 7000<br />

Time [ms]<br />

(a)<br />

0<br />

0 1000 2000 3000 4000 5000 6000 7000<br />

Time<br />

(b)<br />

Figure 3.11: The distance of the visual odometry method compared to manually generated<br />

ground truth data: Results from driving <strong>for</strong>ward <strong>and</strong> backward on a ramp (a),<br />

<strong>and</strong> climbing over a wooden palette (b). The red curve (crosses) indicates the manually<br />

measured ground truth, <strong>and</strong> the blue curve (asterisks) indicates the distance estimated<br />

by visual odometry, respectively.<br />

(a) (b) (c)<br />

(d) (e) (f)<br />

Figure 3.12: Lurker robot per<strong>for</strong>ming vision-based pose tracking while overcoming<br />

three-dimensional obstacles: (a,d) the three-dimensional obstacles, (b,e) the features<br />

<strong>and</strong> classified directions generated from a side camera, <strong>and</strong> (c,f) the grid maps generated<br />

at these locations, respectively.


58 Chapter 3. Pose Tracking In Disaster Areas<br />

(a)<br />

(b)<br />

1600<br />

1400<br />

Scan Matching error<br />

3σ Bound<br />

Scan matching<br />

1600<br />

1400<br />

Combined error<br />

3σ Bound<br />

Visual odometry <strong>with</strong> scan matching<br />

Accumulated Error [mm]<br />

1200<br />

1000<br />

800<br />

600<br />

400<br />

Accumulated Error [mm]<br />

1200<br />

1000<br />

800<br />

600<br />

400<br />

200<br />

200<br />

0<br />

0<br />

1<br />

2 3<br />

Distance [m]<br />

(c)<br />

4<br />

5<br />

0<br />

0<br />

1<br />

2 3<br />

Distance [m]<br />

(d)<br />

4<br />

5<br />

Figure 3.13: Comparing elevation mapping based on scan matching only (a) <strong>and</strong> scan<br />

matching combined <strong>with</strong> visual odometry (b). The scan matchings small error (c) grows<br />

rapidly out of its usual error bound, when the robot drives on the ramp, while the visual<br />

odometry (d) is not influenced by this effect. Scan matching <strong>with</strong>out visual odometry<br />

support does not correctly reflect the true length of the ramp, because insufficient motion<br />

evidence causes the map to be compressed partially.<br />

support of visual odometry, <strong>and</strong> one <strong>with</strong>out. The corresponding error graphs show<br />

that scan matching cannot correctly reflect the robot’s motion when the robot drives<br />

on the ramp between 2.75 m <strong>and</strong> 4.75 m. Usually, estimating the robot’s pose based<br />

on two dimensional scan alignment can be done reliably, but this is no longer possible<br />

when the two-dimensional reference system changes. The result is a rapid error growth<br />

(Figure 3.13 (c)) that leads to distortions in the map due to the incorrect pose assumption.<br />

Fusing distance estimates from the visual odometry, that are not influenced by<br />

this effect, into the scan matchings pose clearly reduces the error. <strong>Mapping</strong> based on<br />

scan matching only yields a compressed map since in this environment 2D laser scans


3.7. Related work 59<br />

do not provide sufficient in<strong>for</strong>mation on the motion of the robot, whereas generating a<br />

map based on visual odometry reveals the true size of the ramp, which was verified by<br />

measuring the ramp’s dimensions manually.<br />

3.6.3 Pose tracking of human walking<br />

The PDR implementation described in Section 3.5 has been extensively tested in outdoor<br />

scenarios. Outdoor scenarios have the advantage that ground truth data can be generated<br />

from differential GPS positioning yielding an error <strong>with</strong>in a few meters. Hence,<br />

results from dead reckoning can be compared directly <strong>with</strong> the true trajectory of the<br />

person.<br />

In order to evaluate the setting, we recorded trajectories of a pedestrian walking <strong>for</strong><br />

approximately 3 kilometers around a lake in Freiburg. During these experiments, the<br />

test person was naturally walking at different speeds, either in a <strong>for</strong>ward or side wards<br />

direction, as well as stopping at certain locations. The experiments did not include<br />

unusual motions, such as crouching or climbing. Figure 3.14 shows the resulting trajectories<br />

from different experiments. The red line indicates the ground truth generated<br />

from GPS readings, <strong>and</strong> the green line depicts the trajectory generated <strong>with</strong> the PDR<br />

module. As expected, the PDR trajectory diverges from ground truth, the longer the person<br />

walks. Particularly in Figure 3.14 (b), after a walk of approximately 3 kilometers,<br />

the PDR position has nearly an error of 240 meters. In Chapter 4 it will be shown how<br />

these trajectories can be improved by utilizing observed correspondences of RFIDs.<br />

3.7 Related work<br />

Borenstein et al. introduced a method <strong>for</strong> improving the odometry on differential-drive<br />

robots [Borenstein, 1996]. A method <strong>for</strong> odometry improvement <strong>and</strong> optimization of<br />

motor control algorithms on 4WD robots has been introduced by Ojeda et al. [Ojeda<br />

<strong>and</strong> Borenstein, 2004]. They applied “Expert Rules” in order to infer the occurrence of<br />

wheel slip.<br />

The approach of visual odometry was extensively studied in the past. Davison <strong>and</strong><br />

colleagues developed a system <strong>for</strong> visual EKF-based SLAM using only a single camera<br />

[Davison, 2003]. Their system was mainly evaluated in desk-like environments.<br />

However, in contrast to the system introduced in this chapter, their approach requires<br />

a calibration of the camera at start-up in order to estimate the three-dimensional realworld<br />

locations of the features. Corke <strong>and</strong> colleagues introduced a solution <strong>for</strong> a planar<br />

rover equipped <strong>with</strong> an omni-directional vision system [Corke et al., 2004]. In contrast<br />

to the proposed work, which also aims at indoor applications, they assume that the robot<br />

operates in an open space, as it is usually the case on planetary analog environments.<br />

Milella <strong>and</strong> Siegwart proposed a system that computes the 6 DOF ego motion of an all-


60 Chapter 3. Pose Tracking In Disaster Areas<br />

(a)<br />

(b)<br />

(c)<br />

(d)<br />

Figure 3.14: Comparison between PDR (green trajectory) <strong>with</strong> GPS ground truth (red<br />

trajectory). Trajectories have been recorded while walking around a lake in Freiburg<br />

terrain robot based on the Iterative Closest Points (ICP) method processing data from a<br />

3D stereo vision system [Milella <strong>and</strong> Siegwart, 2006]. Nister <strong>and</strong> colleagues presented<br />

a system <strong>for</strong> visual odometry that works <strong>with</strong> both mono <strong>and</strong> stereo vision [Nister et al.,<br />

2004]. Their results show that data processing of a stereo system leads to a highly accurate<br />

estimate of the robot’s pose, which was also confirmed by the work of Helmick<br />

<strong>and</strong> colleagues [Helmick et al., 2004]. The use of a stereo system generally has the<br />

advantage that the depth in<strong>for</strong>mation of features tracked by the vision system can be<br />

utilized <strong>for</strong> computing the velocity of the robot. Results proposed in this chapter show<br />

that <strong>with</strong> the simplified kinematics of tracked robots, a single but lightweight camera<br />

solution can also lead to sufficiently accurate pose estimates.<br />

PDR methods were extensively studied in the past. Human motion has been tracked<br />

by vision sensors [Zhu et al., 2006], as well as based on the analysis of acceleration


3.8. Conclusion 61<br />

patterns [Amft et al., 2004,Foxlin, 2005,Ladetto et al., 2000,Judd, 1997]. Zhu <strong>and</strong> colleagues<br />

proposed a system that combines data from an IMU sensor <strong>and</strong> GNSS device<br />

<strong>with</strong> dead reckoning in<strong>for</strong>mation generated from a stereo vision package [Zhu et al.,<br />

2006]. However, since their system requires the user to wear two cameras mounted on<br />

a backpack, it cannot be applied in narrow scenarios. Due to the computational power<br />

of small devices <strong>and</strong> due to the high dem<strong>and</strong> from a wide range of social <strong>and</strong> military<br />

applications, the development of light-weight solutions <strong>for</strong> pedestrian dead reckoning<br />

has been significantly accelerated in the past. The approach introduced by Ladetto<br />

<strong>and</strong> colleagues [Ladetto et al., 2000] has been commercialized <strong>and</strong> is available as a<br />

hardware implementation, namely the Personal Navigation Module (PNM) [Vectronix,<br />

2007]. The PNM, which is completely integrated into a box that weighs 34 grams <strong>and</strong><br />

measures 43 × 34 × 25 mm, was developed by the Ecole Polytechnique Fedalrale de<br />

Lausanne (EPFL) together <strong>with</strong> the Leica Vectronix AG. It is worth mentioning that the<br />

system won the Swiss Technology Award in 2003. A comparable system is the Dead<br />

Reckoning Module (DRM), which was developed by Tom Judd [Judd, 1997] at the<br />

Point Research Cooperation <strong>and</strong> the fifth generation (DRM5) is commercially available<br />

from Honeywell [Honeywell, 2007]. The system was evaluated in the context of disaster<br />

response <strong>for</strong> the localization of first responders [Miller et al., 2006]. During these<br />

experiments persons were tracked <strong>with</strong> the DRM while walking through buildings of<br />

different types.<br />

3.8 Conclusion<br />

In this chapter methods <strong>for</strong> pose tracking on tracked <strong>and</strong> wheeled robots, as well as <strong>for</strong><br />

pedestrian walking, were introduced. Methods <strong>for</strong> tracking robots were mainly evaluated<br />

in the testing arenas proposed by NIST <strong>for</strong> Urban <strong>Search</strong> <strong>and</strong> <strong>Rescue</strong>. Experimental<br />

results showed that under modest computational requirements good results have been<br />

achieved, even under the harsh environmental conditions found in the arenas of the<br />

NIST benchmark. While pose tracking based on slippage sensitive odometry enabled<br />

mapping during heavy slippage, the visual odometry method allowed to improve pose<br />

estimates significantly while navigating on rough terrain.<br />

As results from PDR experiments showed, the tracking of human beings based on<br />

accelerometers leads to promising results. However, also these results are only preliminary<br />

compared to the situations first responders are exposed to while rescuing victims<br />

after a real disaster. They might crouch, run, <strong>and</strong> climb <strong>with</strong>in very different <strong>and</strong> individual<br />

modes, generating a wide range of ambiguous sensor values. Also in this area<br />

further research has to be undertaken in order to capture the whole range of human motion.<br />

Nevertheless, results as they were proposed in this chapter are sufficient <strong>for</strong> dead<br />

reckoning in scenarios that do not require special modes of motion.


4 RFID Technology-based SLAM<br />

4.1 Introduction<br />

Truly autonomous robot navigation in an unexplored environment, as well as efficient<br />

victim search per<strong>for</strong>med by humans, requires to incrementally build a map from observations<br />

while keeping track of positions at the same time. This problem is generally<br />

referred to as Simultaneous Localization And <strong>Mapping</strong> (SLAM) <strong>and</strong> can be decomposed<br />

into a state estimation problem <strong>and</strong> a data association problem. The techniques<br />

described in Chapter 3 solve the state estimation problem by continuously tracking the<br />

pose of pedestrians <strong>and</strong> robots. These methods suffer from the problem of error accumulation,<br />

i.e. the variance of pose estimates increases according to the length of the<br />

traveled trajectory. There<strong>for</strong>e, it is required to recognize previously visited places in<br />

order to correct the trajectory estimated by the pose tracker.<br />

However, in unstructured environments, data association is still a challenging problem.<br />

Many existing techniques have been developed under strong assumptions, <strong>for</strong><br />

example, they require polygonal structures, as they are typically found in office-like<br />

environments [Gutmann <strong>and</strong> Schlegel, 1996, Grisetti et al., 2002] or depend on predictable<br />

covariance bounds from pose tracking <strong>for</strong> solving the data association problem<br />

by validation gating [Dissanayake et al., 2001]. For example, it is not guaranteed<br />

that LRF-based methods work reliably if far-reading measurements or ambiguous patterns<br />

prevent distinguishable features. Data association from camera images requires<br />

at least partially stable illumination conditions, <strong>and</strong> might lead to unsatisfactory results<br />

in highly dynamic environments. Particularly in the context of disaster response, these<br />

methods can only be applied limitedly. Firefighters at 9/11 reported that they had major<br />

difficulties to orientate themselves after leaving collapsed buildings due to limited<br />

visibility, e.g. caused by smoke <strong>and</strong> fire, as well as due to the lack of recognizable structures,<br />

such as corridors <strong>and</strong> doorways. Furthermore, there might be places that are only<br />

accessible by robots, making it necessary to integrate humans <strong>and</strong> robots into one team<br />

<strong>for</strong> mapping the area after a disaster. Finally, SLAM works <strong>with</strong> the principle of map<br />

improvement through loop-closure, however, when facing the reality of emergency response,<br />

firefighters will intentionally try to avoid per<strong>for</strong>ming loops, e.g. while they are<br />

searching <strong>for</strong> victims.<br />

These requirements <strong>and</strong> extraordinary circumstances make it very hard to apply common<br />

techniques from robotics. An alternative solution to the data association problem<br />

63


64 Chapter 4. RFID Technology-based SLAM<br />

is to utilize RFID technology. RFID tags have a worldwide unique number, <strong>and</strong> thus<br />

offer a robust way to label <strong>and</strong> to recognize locations in harsh environments. Their<br />

size is already below 0.5 mm, as shown by the µ-chip from Hitachi [Hitachi, 2003],<br />

<strong>and</strong> their price is lower than 13¢ [AlienTechnology, 2003]. Passive RFID tags do not<br />

require to be equipped <strong>with</strong> a battery since they are powered by the reader if they are<br />

<strong>with</strong>in a certain distance. Their reading <strong>and</strong> writing distance, which depends on the employed<br />

communication frequency, can be assumed to be <strong>with</strong>in a range of meters (see<br />

Chapter 2).<br />

In this chapter, RFID-SLAM, a novel method <strong>for</strong> SLAM is contributed. The method<br />

utilizes RFID technology <strong>for</strong> data association, allowing robust <strong>and</strong> efficient loop closure<br />

in large-scale environments. Specifically the RFID approach enables in<strong>for</strong>mation<br />

sharing between pedestrians <strong>and</strong> robots, facilitating it <strong>for</strong> individual team members<br />

to improve their map <strong>with</strong>out per<strong>for</strong>ming loops. Furthermore, a decentralized variant<br />

of RFID-SLAM (DRFID-SLAM) is proposed, which allows agents to jointly improve<br />

their maps <strong>with</strong>out requiring radio communication.<br />

In the proposed approach, RFIDs are actively deployed by robots or humans at adequate<br />

locations, as <strong>for</strong> example narrow passages that are likely to be passed. The<br />

displacements between RFID tags are estimated by pose tracking methods, <strong>and</strong> utilized<br />

<strong>for</strong> building a joint RFID graph from multiple human <strong>and</strong> robot trajectories, which is<br />

globally optimized by minimizing the Mahalanobis distance [Lu <strong>and</strong> Milios, 1997].<br />

The emerging graph structure can be considered as a topological map containing metric<br />

in<strong>for</strong>mation describing the displacement between the nodes. The advantage is that<br />

robots <strong>and</strong> humans are able to compute their global metric position efficiently based on<br />

a sparse graph representation. Finally, the jointly corrected RFIDs are used as global<br />

constraint points <strong>for</strong> interpolating the trajectory of each single agent. Pose tracking on<br />

robots is carried out from slippage-sensitive wheel odometry <strong>and</strong> IMU data (see Chapter<br />

3, Section 3.3), <strong>and</strong> pose tracking by humans is based on the IMU sensor only (see<br />

Chapter 3, Section 3.5).<br />

The introduced method was evaluated extensively by human <strong>and</strong> robot experiments,<br />

which were per<strong>for</strong>med indoors <strong>and</strong> outdoors. The results show that the method is capable<br />

of closing large loops <strong>with</strong>in a few seconds, <strong>and</strong> moreover, allows to correct<br />

loop-free trajectories if they are shared between the agents.<br />

The remainder of this chapter is organized as follows. In Section 4.2 conventional<br />

SLAM approaches are addressed. Centralized RFID-SLAM is discussed in Section 4.3,<br />

<strong>and</strong> the distributed version of the approach (DRFID-SLAM) will be presented in Section<br />

4.4. In Section 4.5 results from experiments are proposed, <strong>and</strong> in Section 4.6 related<br />

approaches are discussed. Finally, in Section 4.7 the conclusion is presented.


4.2. Conventional techniques 65<br />

4.2 Conventional techniques<br />

4.2.1 EKF-based SLAM<br />

Extended Kalman Filter (EKF) based SLAM is a well-known method <strong>for</strong> continuously<br />

updating the pose of a robot from motion comm<strong>and</strong>s, known as the prediction step, <strong>and</strong><br />

l<strong>and</strong>marks observations, known as the observation step [Bailey, 2002, Durrant-Whyte<br />

et al., 1996, Dissanayake et al., 2001]. The prediction step deals <strong>with</strong> the motion of<br />

the robot by incrementally applying pose tracking (see Chapter 3), which continuously<br />

increases the uncertainty of the pose estimate according to the error model of the odometry.<br />

The observation step occurs if a l<strong>and</strong>mark is detected in the environment. This step<br />

improves the overall state estimate if a previously stored l<strong>and</strong>mark can be re-observed,<br />

whereas when a l<strong>and</strong>mark is observed <strong>for</strong> the first time, it is added to the memory<br />

through an initialization process called state augmentation.<br />

The basic idea behind EKF-based SLAM is to correlate the pose of the robot <strong>with</strong> the<br />

locations of l<strong>and</strong>marks by storing both in a single state vector <strong>and</strong> covariance matrix. It<br />

has been shown by the work of Durrant-Whyte that particularly the correlations between<br />

l<strong>and</strong>marks <strong>for</strong>mulated <strong>with</strong>in the single state vector contribute to the convergence of the<br />

method [Durrant-Whyte et al., 1996]. Under the assumption that l<strong>and</strong>marks are static<br />

in the environment, their correlation improves monotonically as more observations are<br />

made [Dissanayake et al., 2001].<br />

Let the pose of the robot be the vector l = (x, y, θ) T <strong>with</strong> 3 × 3 covariance matrix Σ l<br />

<strong>and</strong> the locations of n l<strong>and</strong>marks by the vector m = (x 1 , y 1 , x 2 , y 2 , · · · , x n , y n ) T <strong>with</strong> n × n<br />

covariance matrix Σ m , then the single state vector s is defined by:<br />

( ) l<br />

s =<br />

(4.1)<br />

m<br />

( )<br />

Σl Σ<br />

Σ s =<br />

lm<br />

. (4.2)<br />

Σ ml Σ m<br />

It is assumed that at the beginning of the recursive procedure the robot starts at location<br />

(0, 0) <strong>with</strong> an empty set of observed l<strong>and</strong>marks, i.e. l = 0 <strong>and</strong> Σ s = Σ l = 0. At each<br />

motion update the prediction step is carried out by applying pose tracking according to<br />

the input u t = (d t , α t ) <strong>with</strong> covariance matrix Σ u :<br />

( ) F (lt−1 , u<br />

s t = G (s t−1 , u t ) =<br />

t )<br />

(4.3)<br />

m t−1<br />

Σ st = ∇G s Σ st−1 ∇G T s + ∇G u Σ u ∇G T u , (4.4)


66 Chapter 4. RFID Technology-based SLAM<br />

where<br />

( ) ∇Fl 0<br />

∇G s =<br />

(4.5)<br />

0 I<br />

( ) ∇Fu<br />

∇G u = , (4.6)<br />

0<br />

<strong>and</strong> F lu , ∇F l , <strong>and</strong> ∇F u are defined by Equations 3.3, 3.6, <strong>and</strong> 3.7, respectively. Note<br />

that this update does not affect the estimated locations of l<strong>and</strong>marks m <strong>and</strong> covariance<br />

matrix Σ m since l<strong>and</strong>marks are assumed as stationary. However, the update modifies the<br />

partial covariance matrix Σ l representing the uncertainty of the robots pose, as well as<br />

its cross-correlations Σ ml <strong>and</strong> Σ lm <strong>with</strong> l<strong>and</strong>mark locations.<br />

From an observation z = (r, φ) of a l<strong>and</strong>mark <strong>with</strong>in range r <strong>and</strong> bearing φ <strong>with</strong> 2 × 2<br />

covariance matrix Σ z , the state vector is updated as follows: first, the observation is<br />

associated to one of the l<strong>and</strong>marks stored in the state vector. This is carried out by either<br />

utilizing a similarity measure, e.g. based on features detected from the observation,<br />

or by selecting the l<strong>and</strong>mark which is closest to the estimated global location of the<br />

observation, based on the Mahalanobis distance, also known as validation gating. Note<br />

if the l<strong>and</strong>mark is unknown, i.e. cannot be associated to a known one, the state vector<br />

is augmented <strong>with</strong> the new observation. Second, based on the current estimates of<br />

associated l<strong>and</strong>mark m i = (x i , y i ) <strong>and</strong> robot pose l = (x, y, θ), the observation is predicted<br />

by the following measurement function:<br />

⎛ √<br />

(x i − x) 2 + (y i − y) 2<br />

H i (s) = ⎜⎝<br />

tan −1 ( y i −y<br />

x i −x<br />

)<br />

− θ<br />

⎞⎟⎠ . (4.7)<br />

Third, the state vector is updated from the observation. This is carried out by computing<br />

the innovation v <strong>and</strong> its 2 × 2 covariance matrix Σ v by applying the law of error<br />

propagation:<br />

v i = z − H i (s) (4.8)<br />

Σ vi = ∇H s Σ s ∇H T s + Σ z , (4.9)<br />

where the Jacobian ∇H s is given by:<br />

( −<br />

∆x<br />

∇H s =<br />

d<br />

∆y<br />

d 2<br />

− ∆y<br />

∆x<br />

0 0 · · · 0<br />

d d<br />

− ∆x −1 0 · · · 0 − ∆y<br />

d 2 d 2<br />

∆y<br />

)<br />

0 · · · 0<br />

d<br />

∆y<br />

(4.10)<br />

0 · · · 0<br />

d 2<br />

<strong>with</strong> ∆x = x i − x, ∆y = y i − y, <strong>and</strong> d = √ ∆x 2 + ∆y 2 . Whether an association is accepted<br />

or rejected is determined by computing the Mahalanobis distance between the measured


4.2. Conventional techniques 67<br />

<strong>and</strong> predicted observation:<br />

M i = v T i Σ −1<br />

v i<br />

v i , (4.11)<br />

An observation is accepted if M i < λ, where λ denotes the gate threshold. If an observation<br />

is accepted, the following Kalman update is applied:<br />

where the Kalman gain K is given by:<br />

s t = s t−1 + Kv i (4.12)<br />

Σ st = Σ st−1 − KΣ v K T , (4.13)<br />

K = Σ s ∇H s Σ vi . (4.14)<br />

The computation of the covariance matrix Σ s requires O ( n 2) operations, where n denotes<br />

the number of l<strong>and</strong>marks. Hence, the computational cost increases quadratically<br />

<strong>with</strong> each new l<strong>and</strong>mark the robot observes. Due to the correlations between l<strong>and</strong>marks<br />

<strong>and</strong> the pose of the robot, the map continuously improves by each observation.<br />

However, convergence is only guaranteed in the linear case, <strong>and</strong> fails if the linearizion<br />

per<strong>for</strong>med by the Jacobian matrices is inaccurate, <strong>for</strong> example if the robot turns around<br />

quickly. However, the major drawback of the procedure is its sensitivity to incorrect<br />

data associations of l<strong>and</strong>marks [Neira <strong>and</strong> Tard, 2001]. Suppose the robot follows a<br />

larger loop in the environment <strong>and</strong> travels <strong>for</strong> a long distance <strong>with</strong>out re-observing<br />

l<strong>and</strong>marks. Consequently, the uncertainty of the pose estimate increases by continuously<br />

applying the prediction step. If re-observing a l<strong>and</strong>mark at the end of the loop,<br />

data association might fail since the observation at the predicted pose lies not <strong>with</strong>in<br />

the Mahalanobis distance of the l<strong>and</strong>mark stored in the state vector. There<strong>for</strong>e, if the<br />

robot’s pose is highly uncertain compared to the density of re-observable l<strong>and</strong>marks,<br />

loop-closure <strong>and</strong> hence convergence of the map cannot be guaranteed.<br />

For the method as it has been described so far, it is assumed that observations take<br />

place sequentially, <strong>and</strong> if there are multiple observations at a discrete time step t, updates<br />

from observations are per<strong>for</strong>med after a sequence, one update <strong>for</strong> each observation. Un<strong>for</strong>tunately,<br />

this strategy does not reflect l<strong>and</strong>mark correlations <strong>for</strong> specific locations.<br />

Bailey introduced a batch update procedure that significantly reduces the data association<br />

problem by correlating l<strong>and</strong>marks observed at a single pose [Bailey, 2002]. He has<br />

shown by an empirical evaluation that batch updates lead to more reliable data association<br />

even under extremely noisy pose estimates from the robots odometry. However,<br />

l<strong>and</strong>marks are associated based on features detected by a laser range finder requiring a<br />

minimal amount of structure found in the environment.


68 Chapter 4. RFID Technology-based SLAM<br />

4.2.2 FastSLAM<br />

A remarkable reduction of the computational complexity of EKF-based SLAM is achieved<br />

by the FastSLAM method, which was introduced by Montemerlo <strong>and</strong> colleagues [Montemerlo<br />

et al., 2002]. Their approach is based on the work of Murphy [Murphy, 2000],<br />

who observed that, if the trajectory of the robot is known, the problem of determining<br />

the l<strong>and</strong>mark locations can be decomposed into independent estimation problems, one<br />

<strong>for</strong> each l<strong>and</strong>mark. Moreover, this factored representation is exact since l<strong>and</strong>mark observations<br />

taken by the robot are conditionally independent. Consequently, FastSLAM<br />

solves the SLAM problem by solving collections of independent l<strong>and</strong>mark estimation<br />

problems conditioned on individual trajectory estimates of the robot. The individual<br />

trajectory estimates are maintained by a particle filter, where each particle represents<br />

one possible map of the environment, consisting of a trajectory <strong>and</strong> N Kalman filters<br />

<strong>for</strong> estimating the locations of N l<strong>and</strong>marks. Hence, the computational complexity is<br />

O (MN), where M is the number of particles <strong>and</strong> N the number of l<strong>and</strong>marks. They also<br />

introduced a more efficient implementation based on a tree-like data structure, leading<br />

to a computational complexity of O ( M log K ) .<br />

Another advantage of the method is its ability to track multiple hypotheses of data<br />

associations. In contrast to EKF-based SLAM, which decides once the association between<br />

a predicted <strong>and</strong> known l<strong>and</strong>mark by the validation gate shown by Equation 4.11,<br />

FastSLAM allows to track simultaneously multiple hypotheses, each represented by a<br />

particle, whereas unlikely associations are filtered out by a re-sampling process. However,<br />

this method also might fail to converge given an arbitrary noisy pose estimate of<br />

the robot. Furthermore, it is unclear how many particles have to be utilized under harsh<br />

environmental conditions as they are present in areas after a disaster. In the next section<br />

it will be shown that RFID technology offers a straight-<strong>for</strong>ward solution to the data<br />

association problem.<br />

4.3 Centralized RFID-SLAM<br />

RFID-SLAM [Kleiner et al., 2006c] is a procedure <strong>for</strong> mapping an area based on the<br />

odometry trajectories <strong>and</strong> RFID observations from multiple robots <strong>and</strong> humans in the<br />

field. For the sake of simplicity, robots <strong>and</strong> humans are denoted as “field agents”,<br />

which communicate their observations to a central station. More specifically, the agents<br />

estimate distances between RFID locations by the pose tracking methods described<br />

in Chapter 3, <strong>and</strong> communicate these estimates back to the station, which centrally<br />

combines <strong>and</strong> corrects all trajectories. Furthermore, it is assumed that RFID detections<br />

are <strong>with</strong>in a range below one meter allowing to cover corridors <strong>and</strong> doorways while<br />

providing sufficient positioning accuracy.<br />

From the correspondences of observed RFID tags <strong>and</strong> their estimated displacements,


4.3. Centralized RFID-SLAM 69<br />

Figure 4.1: The spring-mass analogy to the generated RFID graph. Vertices represent<br />

RFIDs (masses) <strong>and</strong> edges between them represent measured distances <strong>with</strong> covariances<br />

(springs).<br />

the station computes the globally consistent RFID locations by minimizing the Mahalanobis<br />

distance [Lu <strong>and</strong> Milios, 1997]. These corrected locations are finally used as<br />

global constraint points <strong>for</strong> interpolating single agent trajectories. The global optimization<br />

method can be illustrated by considering the analogy to a spring-mass system (see<br />

Figure 4.1). Consider the locations of RFIDs as masses <strong>and</strong> the measured distances<br />

between them as springs, where the uncertainty of measurements corresponds to the<br />

elasticity of the springs. Then, finding a globally consistent map is equivalent to finding<br />

an arrangement of the masses that requires minimal energy.<br />

The reminder of this section is structured as follows. In Section 4.3.1 the construction<br />

of RFID graphs from communicated displacement estimates is discussed. The linear<br />

<strong>and</strong> non-linear optimization of RFID graphs is shown in Section 4.3.2 <strong>and</strong> Section 4.3.3,<br />

respectively. In Section 4.3.4 the interpolation of trajectories, <strong>and</strong> in Section 4.3.5 the<br />

RFID sensor model will be introduced.<br />

4.3.1 Building RFID graphs<br />

Each time an RFID has been observed, a message is generated that contains the ID of<br />

the previously visited RFID i <strong>and</strong> the currently visited RFID j, as well as an estimate<br />

of the local displacement between both RFIDs. The local displacement is estimated by<br />

a Kalman filter, integrating data from pose tracking (Chapter 3). If an RFID has been<br />

detected, the Kalman Filter is reset in order to estimate the relative displacement to the<br />

subsequent tag on the trajectory. The noisy measurement of the local displacements is<br />

denoted by ˆd i j = d i j + ∆d i j . It is assumed that the error ∆d i j is normally distributed <strong>and</strong>


70 Chapter 4. RFID Technology-based SLAM<br />

thus can be modeled by a Gaussian distribution <strong>with</strong> zero mean <strong>and</strong> 3 × 3 covariance<br />

matrix Σ i j . The local displacement ˆd i j is defined by the vector (∆ ˆx i j , ∆ŷ i j , ∆ˆθ i j ) T , where<br />

∆ ˆx i j <strong>and</strong> ∆ŷ i j denote the relative spacial displacement, <strong>and</strong> ˆθ i j the relative orientation<br />

change.<br />

The central station incrementally builds a global graph from all displacement estimates<br />

communicated by the field agents through utilizing the unique ID of RFIDs <strong>for</strong><br />

data association. The constructed graph G = (V, E) consists of vertices V <strong>and</strong> edges E,<br />

where each vertex represents an RFID tag, <strong>and</strong> each edge ( V i , V j<br />

)<br />

∈ E represents an estimate<br />

ˆd i j <strong>with</strong> covariance matrix Σ i j between two RFID tags associated <strong>with</strong> vertices V i<br />

<strong>and</strong> V j , respectively. The graphs from all field agents are unified in the following way:<br />

on the one h<strong>and</strong>, if the same vertex has been observed twice, a loop has been detected<br />

on the graph. A detected loop is modeled by a pseudo edge between the same RFID<br />

node <strong>with</strong> respect to the RFID antenna’s sensor model, which will be further described<br />

in Section 4.3.5. On the other h<strong>and</strong>, if two or more field agents observe the same edge,<br />

i.e. their trajectory overlaps between two or more neighboring RFIDs, both observations<br />

are merged by an Extended Kalman Filter (EKF) [Maybeck, 1979].<br />

We denote the true pose vectors of n + 1 RFID nodes by l 0 , l 1 , . . . , l n , <strong>and</strong> the function<br />

calculating the true displacement (∆x i j , ∆y i j , ∆θ i j ) T between a pair of nodes ( )<br />

l i , l j<br />

is denoted as measurement function d i j . The goal is to find the true locations of the l i j<br />

given the set of measurements ˆd i j <strong>and</strong> covariance matrices Σ i j . This can be achieved according<br />

to the maximum likelihood concept by minimizing the following Mahalanobis<br />

distance:<br />

l 0:n = arg min<br />

l 0:n<br />

∑<br />

i, j<br />

( ) T ( )<br />

di j − ˆd i j Σ<br />

−1<br />

i j di j − ˆd i j , (4.15)<br />

where l 0:n denotes the concatenation of poses l 0 , l 1 , . . . , l n . Since measurements are taken<br />

relatively, it is assumed <strong>with</strong>out loss of generality that l 0 = 0 <strong>and</strong> l 1 , · · · , l n are relative<br />

to l 0 . Moreover, the graph is considered as fully connected, <strong>and</strong> if there does not exist a<br />

measurement between two nodes, the inverse covariance matrix Σ −1<br />

i j<br />

is set to zero.<br />

4.3.2 Linear optimization<br />

If poses are modeled <strong>with</strong>out orientation angle θ, then the optimization problem can<br />

be solved linearly. Assume the two connected RFID locations l i = (x i , y i ) T <strong>and</strong> l j =<br />

(x j , y j ) T , where l i follows l j on the trajectory. Then, Equation 4.15 can be solved by<br />

inserting d i j = l i − l j :<br />

l 0:n = arg min<br />

l 0:n<br />

∑<br />

i, j<br />

( ) T ( )<br />

li − l j − ˆd i j Σ<br />

−1<br />

i j li − l j − ˆd i j . (4.16)<br />

In order to solve the optimization problem analytically, Equation 4.16 has to be trans<strong>for</strong>med<br />

into matrix <strong>for</strong>m. The measurement functions <strong>for</strong> all edges can be described by


4.3. Centralized RFID-SLAM 71<br />

the following matrix equation:<br />

d = hl, (4.17)<br />

where vector l denotes the concatenation of pose vectors l 0 , . . . , l n <strong>with</strong> the dimension<br />

nd, vector d denotes the concatenation of all pose differences d i j = l i − l j . <strong>and</strong> matrix<br />

h is an incidence matrix <strong>with</strong> elements {−1, 0, 1}. For example, a fully connected graph<br />

consisting of the three nodes l 0 , l 1 , l 2 has the following <strong>for</strong>m:<br />

⎛<br />

d 01<br />

d 02<br />

d 10<br />

d 12<br />

d 20<br />

⎜⎝<br />

⎞⎟⎠<br />

d 21<br />

⎛ ⎞<br />

−1 0<br />

0 −1<br />

1 0<br />

=<br />

1 −1<br />

0 1 ⎜⎝ ⎟⎠<br />

−1 1<br />

Consequently, Equation 4.16 can be rewritten in matrix <strong>for</strong>m by<br />

(<br />

l1<br />

l 2<br />

)<br />

. (4.18)<br />

l = arg min<br />

l<br />

(ˆd − hl ) T<br />

Σ<br />

−1<br />

(ˆd − hl ) , (4.19)<br />

ˆd<br />

where hl denotes the measurement function as described by Equation 4.17, ˆd denotes<br />

the concatenation of observations ˆd i j , <strong>and</strong> Σ −1 denotes the inverse covariance matrix of<br />

ˆd<br />

ˆd, consisting of the inverse sub-matrices Σ i j . Finally, the minimization problem can be<br />

solved by<br />

<strong>and</strong> the covariance of l can be calculated by<br />

l = ( h T Σ −1<br />

ˆd h) −1<br />

h T −1<br />

Σˆd<br />

ˆd , (4.20)<br />

Σ l = ( h T Σ −1<br />

ˆd h) −1<br />

. (4.21)<br />

As shown by Lu <strong>and</strong> Milios, the computation of Equations 4.20 <strong>and</strong> 4.21 can be simplified<br />

under the assumption of statistical independence between distance measurements<br />

d i j . Consequently, the nd × nd matrix h T Σ −1 h can be replaced <strong>with</strong> the matrix g, which<br />

ˆd<br />

can be computed by:<br />

g ii =<br />

n∑<br />

j=0<br />

Σ −1<br />

i j , i = 1, . . . , n,<br />

g i j = −Σ −1<br />

i j , i = 1, . . . , n , j = 1, . . . , n , i j.<br />

(4.22)<br />

Note that Σ i j = Σ ji , <strong>and</strong> the d ×d matrices Σ i j have to be invertible. Furthermore, the nddimensional<br />

vector h T Σ −1<br />

l<br />

ˆd can be replaced by the vector b, where the d-dimensional


72 Chapter 4. RFID Technology-based SLAM<br />

sub-vectors can be computed by<br />

b i =<br />

n∑<br />

j=0; ji<br />

Σ −1<br />

i j<br />

ˆd i j , i = 1, . . . , n. (4.23)<br />

Note that ˆd i j = ˆd ji . Finally, the position estimate <strong>and</strong> covariance can be written as<br />

l = g −1 b (4.24)<br />

Σ l = g −1 (4.25)<br />

Equation 4.24 <strong>and</strong> Equation 4.25 can be solved in O ( n 3) , where n is the number of<br />

nodes, since the nd × nd matrix g has to be inverted. However, in practice, this computation<br />

can be per<strong>for</strong>med much more efficiently since matrix g is a sparse matrix. This<br />

is due to the fact that only a little amount of nodes in the graph are connected <strong>with</strong><br />

each other ∗ . There<strong>for</strong>e, most covariances Σ i j are set to zero. There are numerous packages<br />

available that have been developed <strong>for</strong> the efficient computation of sparse matrices,<br />

as <strong>for</strong> example the Sparse matrix multiplication package (SMMP) [Bank <strong>and</strong> Douglas,<br />

1993].<br />

4.3.3 Non-linear optimization<br />

The method described in Section 4.3.2 requires that the measurement functions d i j , <strong>and</strong><br />

the measurements dˆ<br />

i j are linear. However, particularly in the context of robot localization,<br />

poses are typically modeled <strong>with</strong> an angular component, e.g. l i = (x i , y i , θ i ) T . One<br />

“trick” in Kalman filtering based methods is to linearize the measurement function <strong>with</strong><br />

a Taylor series. After the linearization, Equations 4.24 <strong>and</strong> 4.25 from Section 4.3.2 can<br />

be applied in the same way as if the measurement function would be linear † . There<strong>for</strong>e,<br />

the goal is to determine the linearized measurement functions d<br />

i ′ j<br />

<strong>and</strong> linearized<br />

d ′ i j<br />

measurements d ˆ<br />

i ′ j<br />

, in order to solve the optimization problem by Equation 4.24. Note<br />

that the measurements ˆ are already linearized if they have been computed by EKFbased<br />

pose tracking, as described in Chapter 3. In the following, the linearization of the<br />

measurement function will be discussed.<br />

Assume the two connected locations l i = (x i , y i , θ i ) T <strong>and</strong> l j = (x j , y j , θ j ) T <strong>with</strong> the<br />

local displacement d i j = (∆x, ∆y, ∆θ) T , where l i follows l j on the trajectory. Then, the<br />

displacement between these locations can be determined by the following trans<strong>for</strong>ma-<br />

∗ In the context of robot navigation node connections are naturally constrained by the environment.<br />

† Under significant angular changes the linearization procedure might lead to errors, requiring the optimization<br />

process to be applied iteratively.


4.3. Centralized RFID-SLAM 73<br />

tion [Smith <strong>and</strong> Cheeseman, 1986]:<br />

which will be denoted by<br />

∆x = (x i − x j ) cos θ j + (y i − y j ) sin θ j (4.26)<br />

∆y = −(x i − x j ) sin θ j + (y i − y j ) cos θ j (4.27)<br />

∆θ = θ i − θ j , (4.28)<br />

d i j = l i ⊖ l j . (4.29)<br />

Let ∆d = ˆd i j −d i j denote the observation error, which is a function of the two poses l i <strong>and</strong><br />

l j since d i j = l i ⊖ l j . It is assumed that the estimates ˆl i = ( ˆx i , ŷ i , ˆθ i<br />

)<br />

<strong>and</strong> ˆl j = ( ˆx j , ŷ j , ˆθ j<br />

)<br />

of<br />

these poses are given from pose tracking. Then, the observation error can be linearized<br />

by the following Taylor series [Lu <strong>and</strong> Milios, 1997]:<br />

∆d i j ≈ ˆd i j − (ˆl i ⊖ ˆl j ) + ˆK −1<br />

j (∆l i − Ĥ i j ∆l j ), (4.30)<br />

where<br />

⎛<br />

⎞<br />

cos ˆθ j sin ˆθ j 0<br />

ˆK −1<br />

j = − sin ˆθ ⎜⎝ j cos ˆθ j 0⎟⎠ 0 0 1<br />

(4.31)<br />

⎛<br />

⎞<br />

1 0 −ŷ i + ŷ j<br />

Ĥ i j = 0 1 ˆx ⎜⎝<br />

i − ˆx j ⎟⎠ , 0 0 1<br />

(4.32)<br />

∆l i = ˆl i − l i ; ∆l j = ˆl j − l j (4.33)<br />

If replacing matrix Ĥ i j <strong>with</strong> the product Ĥi<br />

−1 Ĥ j , Equation 4.30 can be trans<strong>for</strong>med to<br />

−Ĥ i ˆK j ∆d i j = Ĥ i ˆK j ((ˆl i ⊖ ˆl j ) − ˆd i j ) − (Ĥ i ∆l i − Ĥ j ∆l j ), (4.34)<br />

which is equal to<br />

if substituting the following terms<br />

∆d ′ i j = ˆd ′ i j − d ′ i j, (4.35)<br />

∆d i ′ j = −Ĥ i ˆK j ∆d i j (4.36)<br />

ˆd i ′ j = Ĥ i ˆK j ((ˆl i ⊖ ˆl j ) − ˆd i j ) (4.37)<br />

d ′ i j = Ĥ i ∆l i − Ĥ j ∆l j . (4.38)


74 Chapter 4. RFID Technology-based SLAM<br />

Hence, the linearized measurement function d<br />

i ′ j <strong>with</strong> covariance matrix Σ′ i j<br />

is given by:<br />

d ′ i j = Ĥ i ∆l i − Ĥ j ∆l j (4.39)<br />

Σ ′ i j = Ĥ i ˆK i Σ i j ˆK T j Ĥ T i (4.40)<br />

(4.41)<br />

which can be utilized <strong>for</strong> <strong>for</strong>mulating the linearized optimization problem<br />

∑ ( )<br />

l = arg min d<br />

′<br />

i j − ˆd i ′ T ( )<br />

j Σ<br />

′−1<br />

i j d<br />

′<br />

i j − ˆd i ′ j , (4.42)<br />

l<br />

i, j<br />

<strong>and</strong> can be solved in the same way as proposed in Section 4.3.2. Since the linearization<br />

leads to errors, the procedure has to be applied iteratively, where the result from the<br />

nth computation serves as a starting point <strong>for</strong> the n + 1th computation. After the optimization<br />

has been per<strong>for</strong>med, the coordinates of the optimal poses can be determined<br />

as follows: assume l<br />

i ′ <strong>and</strong> Σ′ i<br />

are the poses <strong>and</strong> covariances resulting from the linearized<br />

optimization. Then, the final locations of the corrected poses can be determined by:<br />

l i = ˆl i − Ĥ −1<br />

i l ′ i (4.43)<br />

Σ i = (Ĥi<br />

−1 )Σ ′ i(Ĥi −1 ) T (4.44)<br />

4.3.4 Trajectory interpolation<br />

The corrected RFID network can be used as a basis <strong>for</strong> correcting the odometry trajectory<br />

of each agent. This is carried out by utilizing the corrected RFID locations<br />

as constraint points <strong>for</strong> the correction of the trajectory. One possibility to do this, is<br />

to augment the noisy odometry trajectories <strong>with</strong> these constraints, e.g. by connecting<br />

them <strong>with</strong> pseudo edges, <strong>and</strong> to correct them once more <strong>with</strong> the method that has been<br />

described in the last section. However, since these constraint points are already globally<br />

consistent, it turns out to be much more efficient to per<strong>for</strong>m a local interpolation of<br />

trajectory poses between the corrected RFIDs.<br />

Given a sequence of corrected RFID locations r 1:t <strong>and</strong> an uncorrected trajectory x 1:t<br />

the corrected trajectory y 1:t is computed by interpolating each pose x k ∈ x 1:t between the<br />

two closest RFIDs. In order to correct each pose x k of the trajectory, we first determine<br />

the corrected RFID locations r i <strong>and</strong> r j of the two closest RFIDs be<strong>for</strong>e <strong>and</strong> after the pose,<br />

<strong>with</strong> j ≥ k ≥ i, <strong>and</strong> the uncorrected poses x i <strong>and</strong> x j at corresponding time, respectively.<br />

Finally, the corrected pose is computed by:<br />

( ( ))<br />

w1 (x i − r i ) + w 2 x j − r j<br />

y k = x k −<br />

w 1 + w 2<br />

, (4.45)


4.4. Decentralized RFID-SLAM (DRFID-SLAM) 75<br />

where weights w 1 <strong>and</strong> w 2 are computed by w 1 = ∣ ∣ ∣r j − x k<br />

∣ ∣∣ <strong>and</strong> w2 = |r i − x k |. Experimental<br />

results in Section 4.5 will show that this method together <strong>with</strong> the RFID graph<br />

optimization allows to efficiently <strong>and</strong> robustly correct large trajectories.<br />

4.3.5 Sensor model<br />

Each time a loop has been detected on the trajectory, i.e. an RFID has been observed<br />

twice, a pseudo edge is added to the corresponding RFID node. We model this edge by<br />

accounting <strong>for</strong> the spatial expansion of the utilized RFID antenna.<br />

For experiments, two different RFID antennas, one <strong>for</strong> humans <strong>and</strong> one <strong>for</strong> robots,<br />

were utilized. The antenna of the robot was mounted in parallel to the ground allowing<br />

to detect RFIDs lying beneath the robot, whereas the antenna of the human was carried<br />

manually. An evaluation of the robot RFID system has shown that RFID tags lying<br />

beneath the robot <strong>with</strong>in the antenna’s expansion (a rectangle of ≈ 20 × 15 cm), are<br />

constantly detected, also if the robot travels <strong>with</strong> high velocity. The antenna carried<br />

by the human detects RFIDs <strong>with</strong>in a range of approximately 30 cm if the antenna is<br />

aligned to the bearing of the RFID tag. However, it is not possible to tell the exact<br />

position of the detection <strong>with</strong>in this range. Consequently, the observation uncertainty is<br />

modeled according to the maximal detection range.<br />

It is assumed that, in the average case, RFIDs are detected <strong>with</strong>in the antenna’s center,<br />

<strong>and</strong> that RFID detections can occur at arbitrary orientations of the human or robot.<br />

There<strong>for</strong>e, a “loop-closing” edge is modeled <strong>with</strong> distance ˆd ii set to (0, 0, ∆θ) T , where<br />

∆θ denotes the angle difference between the two pose estimates of the RFID. Under<br />

the assumption that RFIDs are detected at 95% probability if they are <strong>with</strong>in maximal<br />

reading range d M , we model the according covariance matrix by:<br />

⎛<br />

⎞<br />

2 2 d 2 M<br />

0 0<br />

Σ ii = 0 2 ⎜⎝<br />

2 d 2 M<br />

0 ⎟⎠ , (4.46)<br />

0 0 σ 2 θ<br />

where σ 2 θ is the linearized variance of the angle, <strong>and</strong> 22 d 2 M<br />

the variance of the normal<br />

distribution over the interval [−2d M ; 2d M ]. Note that σ 2 θ<br />

has to be linearized according<br />

to the procedures described in Section 4.3.3. Finally, The robot antenna was modeled<br />

<strong>with</strong> d M = 20 cm, <strong>and</strong> the antenna carried by the human <strong>with</strong> d M = 30 cm.<br />

4.4 Decentralized RFID-SLAM (DRFID-SLAM)<br />

In emergency response scenarios, communication links between agents or to a central<br />

station might be cut-off temporarily or constantly. One obvious reason is that in building<br />

structures radio waves are not able to penetrate walls if they are made of rein<strong>for</strong>ced


76 Chapter 4. RFID Technology-based SLAM<br />

concrete. Otherwise, it might also be likely that first responders, which search <strong>for</strong><br />

victims on large terrain, are simply out of communication range. Moreover, they might<br />

visit the same location at different time, <strong>and</strong> thus are also not able to communicate.<br />

There<strong>for</strong>e, methods deployed in this context have to be robust towards total loss of<br />

communication. Decentralized RIFD-SLAM (DRFID-SLAM) is particularly designed<br />

<strong>for</strong> situations in which radio communication is impossible. Note that this distinguishes<br />

the approach from other methods that require at least low-b<strong>and</strong>width communication<br />

channels between the agents [Reece <strong>and</strong> Roberts, 2005,Nettleton et al., 2003,Kim et al.,<br />

2004]. Furthermore, we assume that RFIDs have sufficient memory <strong>for</strong> storing RFID<br />

graph structures as described in Section 4.3.<br />

The basic idea of DRFID-SLAM is to utilize the memory of RFID tags <strong>for</strong> learning<br />

the topology of the surrounding RFID graph. When agents pass a tag, they update<br />

their knowledge on the graph topology by reading data from the tag’s memory, as well<br />

as synchronize the tag’s memory by writing graph data they have collected on their<br />

trajectory. By this, agents are able to learn a graph larger than their own trajectory, i.e.<br />

extended by trajectories of other agents. The union of single agent trajectories leads<br />

to graphs that contain loops, hence allowing agents to correct their trajectories, even if<br />

they do not contain loops. Figure 4.2 depicts an example of DSLAM of three agents<br />

successively passing RFIDs. The third agent is finally able to close a loop consisting of<br />

partial tracks from the first <strong>and</strong> second agent.<br />

R 3<br />

R 1<br />

R 2<br />

R 3<br />

R 1<br />

R 2<br />

R 3<br />

R 1<br />

R 2<br />

R 4<br />

R 5<br />

R 6<br />

R 7<br />

R 9<br />

R 4<br />

R 5<br />

R 6<br />

R 7<br />

R 9<br />

R 4<br />

R 5<br />

R 6<br />

R 7<br />

R 9<br />

R 8<br />

R 8<br />

R 8<br />

First Agent<br />

Second Agent<br />

Third Agent<br />

Figure 4.2: Example <strong>for</strong> decentralized SLAM of three agents: RFID nodes<br />

R 1 , R 2 , · · · , R 9 successively learn the trajectories of the passing agents. The third agent<br />

learns at node R 1 the trajectories from the first <strong>and</strong> second agent, enabling loop-closure<br />

<strong>for</strong> map improvement when reaching node R 6 .<br />

The procedure can be considered as a step-wise in<strong>for</strong>mation propagation through the<br />

network of RFIDs, where each visited RFID learns about nearby RFID nodes from<br />

the trajectory of its visitor, as well as from trajectories that were previously stored by<br />

other agents in the nodes passed by the visitor. There<strong>for</strong>e, after a sufficient amount of<br />

trajectories has been traveled, a single RFID node memorizes the whole infrastructure


4.4. Decentralized RFID-SLAM (DRFID-SLAM) 77<br />

of the network. Note that <strong>for</strong> supporting map improvements, RFIDs do not necessarily<br />

have to store the whole network structure.<br />

One problem arising in the context of distributed SLAM is the double counting of<br />

in<strong>for</strong>mation propagated via different paths, i.e. rumor propagation. While this problem<br />

typically requires to apply probabilistic methods, such as Bounded Covariance Inflation<br />

(BCI) [Reece <strong>and</strong> Roberts, 2005], <strong>and</strong> Covariance Intersection (CI) [Nettleton et al.,<br />

2003], it can be solved rather trivially <strong>with</strong> RFIDs. Here the basic idea is to manage<br />

displacement estimates locally in the memory of RFIDs, i.e. to distinguish each estimate<br />

by location <strong>and</strong> time where it has been observed.<br />

We distinguish edges as managed <strong>and</strong> propagated in the memory of RFIDs <strong>and</strong> introduce<br />

a counter C i attached to each RFID, which is locally updated each time an<br />

agent writes in<strong>for</strong>mation concerning a managed edge. Edges that are managed by node<br />

i are all the adjacent edges that have i in common, i.e. those edges that directly connect<br />

to i. Consider the case that an agent travels from RFID i to RFID j <strong>and</strong> generates<br />

thereby a new estimate ( ˆd i j , Σ i j<br />

)<br />

. Then, RFID j is the managing node, i.e. manages<br />

the edge between i <strong>and</strong> j. Consequently, the agent stores in RFID j a new entry<br />

e i j = 〈 i, j, ˆd i j , Σ i j , C i<br />

〉<br />

consisting of the IDs of the two visited RFIDs i <strong>and</strong> j, their displacement<br />

estimate, <strong>and</strong> the current count value of the RFID, which is incremented after<br />

writing. Obviously, there can be two nodes managing the same edge since agents can<br />

either travel from i to j or from j to i. There<strong>for</strong>e, we have to distinguish both cases<br />

during propagation, which is solved by defining 〈i, j, · · · 〉 〈 j, i, · · · 〉, i.e. the managing<br />

node corresponds to the second node in the sequence.<br />

Algorithm 2: Updating the graph R k of visited RFID k<br />

Input: New entry e ik , a set of graphs S = { R j : j ∈ P } , where P denotes the RFID trajectory of<br />

the agent<br />

Output: Updated graph R k<br />

Update managed edges:<br />

R k ← R k ∪ 〈 i, k, ˆd ik , Σ ik , C k<br />

〉<br />

;<br />

C k ← C k + 1;<br />

Update propagated edges:<br />

<strong>for</strong>each R j ∈ S do<br />

<strong>for</strong>each e ∈ R j do<br />

if e ∈ R k then<br />

continue;<br />

R k ← R k ∪ e;<br />

end<br />

end<br />

Propagated edges are managed edges after they have been copied by agents. If visiting<br />

a node, the agent per<strong>for</strong>ms a union operation between all entries stored in the memory<br />

of the RFID, denoted by graph R i , <strong>and</strong> its own graph, denoted by A i , <strong>and</strong> propagates


78 Chapter 4. RFID Technology-based SLAM<br />

them further to other RFIDs. The double counting of identical estimates is prevented<br />

by ensuring that there always exists only one unique entry <strong>for</strong> each combination of i, j,<br />

<strong>and</strong> C j <strong>and</strong> unique sequence < i, j > <strong>with</strong>in each RFID, where C j is the counter value of<br />

RFID j during the creation of the managed edge. The complete procedure <strong>for</strong> updating<br />

RFID nodes is shown by Algorithm 2. Note that the agents update their own graphs A i<br />

by the same procedure, while considering propagated edges only.<br />

The decentralized in<strong>for</strong>mation exchange facilitates the building of RFID graph structures<br />

as described in Section 4.3. Hence, agents are able to improve their trajectories if<br />

they detect a new loop after per<strong>for</strong>ming the union procedure. However, the possibility<br />

to close loops from joining trajectories depends on the number of agents that visit a<br />

node, as well as on the sequence trajectories have been traveled. For example, in the<br />

situation depicted in Figure 4.2, the first agent does not benefit from the tracks of the<br />

others. The per<strong>for</strong>mance of the proposed approach can be further improved by extending<br />

the in<strong>for</strong>mation propagation via radio communication. Each time agents are <strong>with</strong>in<br />

communication range, they can unify their graphs, i.e. to exchange propagated edges,<br />

by the procedure described in Algorithm 2. Thereby, they are possibly able to connect<br />

large graphs, accelerating the map joining process.<br />

4.5 Experimental results<br />

Experiments on centralized <strong>and</strong> decentralized RFID-SLAM were conducted <strong>with</strong> a team<br />

of humans, a team of robots, <strong>and</strong> finally jointly by humans <strong>and</strong> robots. All experiments<br />

were carried out in both indoor <strong>and</strong> outdoor scenarios, where the Zerg robot plat<strong>for</strong>m,<br />

described in Chapter 2, has been deployed.<br />

4.5.1 Experimental setup<br />

The robot plat<strong>for</strong>m utilized <strong>for</strong> experiments is equipped <strong>with</strong> an RFID system consisting<br />

of an RFID reader <strong>and</strong> antenna. The active distribution of RFID tags is carried out by a<br />

custom-built actuator based on a metal slider that can be moved by a conventional servo<br />

(Figure 4.3(b)).<br />

The slider is connected <strong>with</strong> a magazine that maximally holds around 50 tags. Each<br />

time the mechanism is triggered, the slider moves back <strong>and</strong> <strong>for</strong>th while dropping a<br />

single tag from the magazine. The device is constructed in a way that <strong>for</strong> each trigger<br />

signal only one tag is released. A software module triggers the device at adequate<br />

locations, which are determined according to the existing density of RFIDs, i.e. maintaining<br />

a maximal defined density of RFIDs, <strong>and</strong> also, if operating in indoor scenarios,<br />

<strong>with</strong> respect to the structure of the environment. For example, narrow passages, such<br />

as doorways <strong>and</strong> corridors, are likely to be passed by the robot, thus RFIDs are deployed<br />

<strong>with</strong> high probability in these kind of environmental structures. The width of


4.5. Experimental results 79<br />

(a) (b) (c)<br />

Figure 4.3: A novel mechanism <strong>for</strong> the active distribution of RFID tags. (a) The utilized<br />

RFID tags. (b) The mechanism <strong>with</strong> servo. (c) The mechanism together <strong>with</strong> the<br />

antenna mounted on the Zerg robot.<br />

the free space surrounding the robot is computed from the distance between the obstacles<br />

located most left <strong>and</strong> most right to the robot. They are found on a line which goes<br />

through the center of the robot, <strong>and</strong> which is orthogonal to the robot’s orientation.<br />

The antenna of the reader is mounted parallel to the ground, allowing to detect RFIDs<br />

lying beneath the robot. In order to enable the robot to perceive the deployment of<br />

RFIDs, the deploy device has been mounted above the RFID antenna, <strong>for</strong>cing deployed<br />

RFIDs to pass directly through the antenna. We utilized Ario RFID chips from Tagsys<br />

(Figure 4.3 (a)) <strong>with</strong> a size of 1.4 × 1.4 cm, 2048 Bit RAM, <strong>and</strong> a response frequency<br />

of 13.56 MHz. For the reading <strong>and</strong> writing of these tags, we employed a Medio S002<br />

reader, likewise from Tagsys, which operates <strong>with</strong>in a range of approximately 30 cm<br />

while consuming less than 200 mA. Figure 4.3 (c) shows the complete construction<br />

consisting of deploy device <strong>and</strong> antenna mounted on the Zerg robot. For a detailed<br />

description of the RFID sensor model see Section 4.3.5.<br />

Pose tracking on the Zerg plat<strong>for</strong>m was carried out by slippage-sensitive odometry,<br />

as described in Section 3.3, <strong>and</strong> the Xsens MTi IMU, as described in Chapter 2. For<br />

pose tracking on pedestrians, we utilized the MTx IMU from Xsens, which has been<br />

attached to a test person <strong>for</strong> measuring the vertical <strong>and</strong> lateral acceleration, as well as<br />

the azimuth orientation (see the orange box in Figure 3.7 (a)). Based on an empirical<br />

evaluation, we modeled pose tracking uncertainty on pedestrians <strong>with</strong> σ 2ˆd = (0.05 m)2 d,<br />

<strong>and</strong> σ 2ˆθ = (15◦ ) 2 , <strong>and</strong> on robots <strong>with</strong> σ d = 0.816 cm m <strong>and</strong> σ d slip<br />

= 24.72 cm m .<br />

During outdoor experiments, ground truth data was obtained by a GNSS device. For<br />

this purpose, we used the GPSlim236 GPS receiver from Holux, which is equipped <strong>with</strong><br />

SIRFstar III technology. The receiver allows to track up to 20 satellites at an update<br />

rate of 1 Hz <strong>and</strong> has a position accuracy of 5 − 25 meters <strong>with</strong>out DGPS. Furthermore,<br />

the receiver is able to process data from the EGNOS system ‡ , improving the horizontal<br />

‡ EGNOS st<strong>and</strong>s <strong>for</strong> European Geostationary Navigation Overlay Service <strong>and</strong> provides Differential GPS<br />

(DGPS) via satellites that broadcast correction signals on the same frequency as GNSS satellites.


80 Chapter 4. RFID Technology-based SLAM<br />

position accuracy towards < 2.2 meters <strong>and</strong> vertical position accuracy towards < 5<br />

meters at 95% of the time. Note that we were able to also obtain ground truth in semiindoor<br />

scenarios since RFIDs where intentionally placed outdoors.<br />

4.5.2 RFID-SLAM <strong>with</strong> robots<br />

The described method <strong>for</strong> RFID technology-based SLAM was tested extensively <strong>with</strong><br />

data generated by a simulator [Kleiner <strong>and</strong> Buchheim, 2003] <strong>and</strong> on the Zerg robot<br />

plat<strong>for</strong>m. The simulated robot explored three different building maps, the small map,<br />

normal map, <strong>and</strong> large map of the sizes 263 m 2 , 589 m 2 1240 m 2 , while automatically<br />

distributing RFID tags in the environment. Figure 4.4 (a-c) shows the averaged results<br />

from 100 executions of RFID-SLAM on the three maps at five different levels of odometry<br />

noise. We measured a computation time of 0.42 seconds on the small map, 2.19<br />

Accuracy [mm]<br />

4000<br />

3500<br />

3000<br />

2500<br />

2000<br />

1500<br />

1000<br />

500<br />

0<br />

1<br />

Odometry<br />

RFID corrected<br />

2<br />

Small map<br />

3<br />

Noise level (X times of odometry noise)<br />

(a)<br />

4<br />

5<br />

Accuracy [mm]<br />

4000<br />

3500<br />

3000<br />

2500<br />

2000<br />

1500<br />

1000<br />

500<br />

0<br />

1<br />

Odometry<br />

RFID corrected<br />

2<br />

Normal map<br />

3<br />

Noise level (X times of odometry noise)<br />

(b)<br />

4<br />

5<br />

Accuracy [mm]<br />

4000<br />

3500<br />

3000<br />

2500<br />

2000<br />

1500<br />

1000<br />

500<br />

0<br />

1<br />

Odometry<br />

RFID corrected<br />

2<br />

Large map<br />

3<br />

Noise level (X times of odometry noise)<br />

(c)<br />

4<br />

5<br />

Figure 4.4: (a) - (c) Result from applying RFID-based SLAM at different levels of<br />

odometry noise on (a) the small map (263 m 2 ), (b) the normal map (589 m 2 ), <strong>and</strong> (c) the<br />

large map (1240 m 2 ).<br />

seconds <strong>for</strong> the normal map, <strong>and</strong> 13.87 seconds <strong>for</strong> the large map, <strong>with</strong> a Pentium4


4.5. Experimental results 81<br />

(a)<br />

(b)<br />

(c)<br />

(d)<br />

(e)<br />

(f)<br />

Figure 4.5: (a,c,e) Result from RFID-SLAM of a robot driving in a cellar: (a) the noisy<br />

map, (c) the corrected map, <strong>and</strong> (e) the ground truth created by iterative scan matching.<br />

(b,d,f) Result from applying the RFID-SLAM to data generated in the simulation. (b)<br />

The small map <strong>with</strong> odometry noise, (d) the corrected map, <strong>and</strong> (f) the ground truth<br />

taken directly from the simulator’s map editor. Note that the cellar’s ground truth map<br />

displays unoccupied rooms. The rectangular structures that can be seen in the upper left<br />

room in the constructed maps (a) <strong>and</strong> (c) originate from crates stored in those rooms.<br />

2.4 GHz. The small map be<strong>for</strong>e <strong>and</strong> after the correction is shown in Figure 4.5 (b,d). To<br />

achieve this result, the robot distributed approximately 50 RFIDs.<br />

In order to evaluate the per<strong>for</strong>mance of RFID-SLAM in a real environment, we collected<br />

data from a robot autonomously exploring a cellar <strong>for</strong> 20 minutes while detecting<br />

RFID tags on the ground. The robot continuously tracked its pose as described in Sec-


82 Chapter 4. RFID Technology-based SLAM<br />

tion 3.3. As depicted in Figure 4.5, the non-linear method successfully corrected the<br />

angular error based on RFID data association. The correction was based on approximately<br />

20 RFID tags.<br />

Figure 4.6: Result from applying RFID-SLAM outdoors while driving <strong>with</strong> 1m/s on<br />

a parking lot. Trajectories are visualized <strong>with</strong> GoogleEarth, showing RFID locations<br />

estimated by the odometry (red), the ground truth (blue), <strong>and</strong> corrected by RFID-SLAM<br />

(green).<br />

Additionally, we conducted an outdoor experiment <strong>with</strong> the Zerg robot driving <strong>with</strong><br />

an average speed of 1 m/s on a parking lot. The odometry was generated from the wheel<br />

encoders (translation) <strong>and</strong> IMU (rotation). Furthermore, the robot detected RFIDs <strong>with</strong><br />

the antenna described above. We obtained position ground truth from both Differential<br />

GPS (DGPS) <strong>and</strong> manual measurements, whereas faulty GPS positions, e.g. due<br />

to multi-path propagations close to buildings, were corrected from the manual measurements.<br />

Figure 4.6 shows the RFID locations estimated by the odometry (red), the<br />

ground truth (blue), <strong>and</strong> corrected by RFID-SLAM (green). The corrected trajectory has<br />

a mean Cartesian error of 1.8 ± 3.1 m, compared to the uncorrected trajectory, which<br />

has a mean Cartesian error of 8.3 ± 8.5 m.<br />

Furthermore, we evaluated the influence of the number of detected RFIDs <strong>with</strong> respect<br />

to the stability of the SLAM approach. Figures 4.7 (a), (b), <strong>and</strong> (c) show the<br />

Cartesian error, the cross-track error (XTE), <strong>and</strong> the along-track error (ATE) at decreasing<br />

number of RFIDs, respectively. The route graph optimization consistently improves<br />

the accuracy of the trajectory, even <strong>with</strong> a comparably little number of RFIDs, e.g.


4.5. Experimental results 83<br />

Error [m]<br />

25<br />

20<br />

15<br />

10<br />

5<br />

0<br />

18<br />

Corrected<br />

Uncorrected<br />

Cart (Cartesian-Track Error)<br />

9<br />

6<br />

4<br />

Number of RFIDs<br />

(a)<br />

3<br />

2<br />

Error [m]<br />

18<br />

16<br />

14<br />

12<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

18<br />

Corrected<br />

Uncorrected<br />

9<br />

XTE (Cross-Track Error)<br />

6<br />

4<br />

Number of RFIDs<br />

(b)<br />

3<br />

2<br />

Error [m]<br />

18<br />

16<br />

14<br />

12<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

18<br />

Corrected<br />

Uncorrected<br />

9<br />

ATE (Along-Track Error)<br />

6<br />

4<br />

Number of RFIDs<br />

(c)<br />

3<br />

2<br />

Figure 4.7: Result from applying RFID-SLAM outdoors while driving <strong>with</strong> 1 m/s <strong>for</strong><br />

approximately 1 km on a parking lot <strong>with</strong> the Zerg robot. (a) the Cartesian error, (b) the<br />

cross-track error (XTE), <strong>and</strong> (c) the along-track error (ATE) <strong>with</strong> respect to the number<br />

of utilized RFIDs.<br />

one RFID each 500m. The correction of 18 RFIDs took 2.1 seconds on a PentiumM<br />

1.7 MHz, <strong>and</strong> the interpolation of the odometry trajectory took 0.2 seconds.<br />

In order to evaluate the scalability of the approach in large-scale environments, a second<br />

outdoor experiment was conducted. During this experiment, the robot was driving<br />

a total distance of more than 2.5 km <strong>with</strong> an average speed of 1.58 m/s. Note that this<br />

velocity requires human beings to walk comparably fast in order to follow the robot.<br />

Furthermore, the robot was heavily shaking from fast navigation over uneven ground,<br />

such as road holes, small debris, <strong>and</strong> grass. Also during this experiment, pose tracking<br />

was carried out based on data from the wheel encoders (translation) <strong>and</strong> IMU (rotation),<br />

<strong>and</strong> position ground truth has been obtained from DGPS. The optimization yielded an<br />

average Cartesian error of 9.3 ± 4.9 m, compared to the uncorrected trajectory, which<br />

has an average Cartesian error of 147.1 ± 18.42 m. The correction of 10 RFIDs took 0.3<br />

seconds on a PentiumM 1.7 MHz, <strong>and</strong> the interpolation of the odometry trajectory took


84 Chapter 4. RFID Technology-based SLAM<br />

Improved odometry trajectory <strong>with</strong> covariance bounds<br />

Globally corrected trajectory <strong>with</strong> covariance bounds<br />

450<br />

400<br />

250<br />

350<br />

300<br />

200<br />

Y [m]<br />

250<br />

200<br />

Y [m]<br />

150<br />

150<br />

100<br />

100<br />

50<br />

0<br />

-50<br />

-350<br />

-300<br />

3σ Bound<br />

Odometry<br />

-250 -200 -150 -100 -50<br />

X [m]<br />

(a)<br />

0<br />

50<br />

100<br />

150<br />

200<br />

50<br />

0<br />

-200<br />

3σ Bound<br />

Corrected track<br />

-150<br />

-100 -50<br />

X [m]<br />

(b)<br />

0<br />

50<br />

Figure 4.8: Covariance bounds from applying RFID-SLAM outdoors: (a) be<strong>for</strong>e <strong>and</strong><br />

(b) after the correction.<br />

Figure 4.9: Result from applying RFID-SLAM outdoors while driving <strong>with</strong> 1.58 m/s<br />

<strong>for</strong> more than 2.5 km <strong>with</strong> a Zerg robot showing the odometry trajectory (red), the<br />

ground truth trajectory (blue), <strong>and</strong> the corrected RFID trajectory (green).


4.5. Experimental results 85<br />

2.4 seconds. Figure 4.8 shows the covariance bounds during EKF-based dead reckoning<br />

of the improved odometry (a), <strong>and</strong> after the global optimization (b). Figure 4.9 shows<br />

the trajectory of the odometry (red), the ground truth (blue), <strong>and</strong> the corrected RFID<br />

graph (green). Note that <strong>for</strong> the sake of readability, Figure 4.8 only shows the first loop<br />

of the per<strong>for</strong>med trajectory.<br />

4.5.3 RFID-SLAM <strong>with</strong> humans<br />

In this section experiments conducted by a team of humans <strong>and</strong> a human-robot team are<br />

shown. Note that multiple trajectories were per<strong>for</strong>med by a single person <strong>and</strong> data was<br />

recorded <strong>for</strong> later processing.<br />

Semi-Indoor Experiment<br />

The semi-indoor experiment was carried out on the campus of the University of Freiburg,<br />

including many accessible buildings which were entered by the test person. We measured<br />

that some of these buildings contain magnetic fields disturbing the angle estimate<br />

of the PDR method, as <strong>for</strong> example, metal stairs or metal doors, such as shown in<br />

Figure 3.7. Figure 4.10 provides an overview of the area, which was generated by<br />

GoogleEarth. During this experiment, the test person traveled six trajectories <strong>with</strong><br />

different starting <strong>and</strong> ending locations, while per<strong>for</strong>ming pose tracking <strong>with</strong> the PDR<br />

method described previously, <strong>and</strong> while distributing <strong>and</strong> re-observing RFIDs. In order<br />

to visualize the PDR trajectories, we utilized the accurate starting locations taken from<br />

the ground truth data <strong>and</strong> projected each PDR trajectory <strong>with</strong> respect to its starting location<br />

on the map. In Figure 4.10 each trajectory is shown <strong>with</strong> a different color. Position<br />

accuracy decreases <strong>with</strong> increasing length of the traveled trajectory.<br />

All trajectories were collected <strong>and</strong> merged into a single graph <strong>for</strong> applying the centralized<br />

method described in Section 4.3. The corrected edges between RFIDs are<br />

shown by the black lines in Figure 4.10, as well as the corrected locations of the RFIDs<br />

(small squares). Furthermore, we computed the average Cartesian error <strong>with</strong> respect to<br />

ground truth. Figure 4.11 depicts these errors according to each pedestrian. It shows<br />

the uncorrected trajectory, the single trajectory corrected on its own, <strong>and</strong> the trajectory<br />

corrected from the unified graph. The correction based on the unified graph yields best<br />

results <strong>for</strong> each pedestrian.<br />

Outdoor Experiment<br />

The outdoor experiment was carried out in a larger urban area, containing mainly residential<br />

buildings <strong>with</strong> up to six floors. Due to the multipath propagation problem in this<br />

environment, e.g. narrow streets <strong>and</strong> high buildings, the recorded GPS tracks had to be<br />

manually corrected <strong>for</strong> providing ground truth data. Figure 4.12 (a) depicts the recorded


86 Chapter 4. RFID Technology-based SLAM<br />

Figure 4.10: Result from the semi-indoor experiment: each line indicates the pose<br />

tracking of the trajectory of a single pedestrian. Black lines <strong>and</strong> squares show the corrected<br />

graph of RFIDs.<br />

50<br />

45<br />

40<br />

Cart (Cartesian-Track Error)<br />

Single corrected<br />

Multi corrected<br />

Uncorrected<br />

35<br />

Error [m]<br />

30<br />

25<br />

20<br />

15<br />

10<br />

5<br />

1<br />

2<br />

3<br />

4<br />

Pedestrian ID<br />

5<br />

6<br />

Figure 4.11: Result from the semi-indoor experiment: the average Cartesian error.


4.5. Experimental results 87<br />

PDR trajectories. During this experiment, the pedestrians walked approximately 9000<br />

meters, while deploying 20 RFID tags. Figure 4.12 (b) depicts the uncorrected RFID<br />

graph constructed by centrally merging all PDR trajectories <strong>and</strong> RFID observations,<br />

<strong>and</strong> Figure 4.12 (c) shows the graph after the correction. It can be seen in Figure 4.12<br />

(d) that the corrected graph is close to ground truth. We also computed the average<br />

Cartesian error <strong>with</strong> respect to ground truth, shown in Figure 4.13. Also during this experiment<br />

the correction based on the unified graph yields better results <strong>for</strong> each single<br />

pedestrian.<br />

(a)<br />

(b)<br />

(c)<br />

(d)<br />

Figure 4.12: Result from correcting pedestrian trajectories in an urban environment (the<br />

City of Freiburg). (a) Pedestrian trajectories, where each color indicates the recorded<br />

track of a single pedestrian. (b) The uncorrected RFID graph, generated from the PDR<br />

tracks. (c) The corrected RFID graph. (d) Manually improved GPS ground truth.


88 Chapter 4. RFID Technology-based SLAM<br />

100<br />

90<br />

Cart (Cartesian-Track Error)<br />

Corrected<br />

Uncorrected<br />

80<br />

70<br />

Error [m]<br />

60<br />

50<br />

40<br />

30<br />

20<br />

10<br />

1 2 3 4 5 6 7<br />

Pedestrian ID<br />

Figure 4.13: Result from the outdoor experiment: the average Cartesian error.<br />

Decentralized SLAM Experiment<br />

The last experiment was conducted in order to evaluate the decentralized version of<br />

RFID-SLAM. This was carried out by simulating the incremental execution of trajectories<br />

recorded during the outdoor experiment previously described. We executed all<br />

720 possible sequences of six trajectories <strong>and</strong> computed the mean Cartesian error. After<br />

the execution of each trajectory the graph learned by the according agent <strong>and</strong> the<br />

graphs learned by passed RFIDs were computed. There<strong>for</strong>e, the first pedestrian had no<br />

advantage at all, the second pedestrian benefited from data propagated into RFIDs by<br />

the first, <strong>and</strong> the third benefited from data propagated by the first <strong>and</strong> the second, <strong>and</strong><br />

so on. Note that graphs learned by the RFIDs do not necessarily consist of complete<br />

trajectories, instead they contain the union of trajectories from the agents until they synchronized<br />

this node. Figure 4.14 depicts the average Cartesian error after correcting the<br />

trajectory of each pedestrian based on the graph generated from the union of all visited<br />

RFIDs. The more pedestrians traveled through the environment, the better the pose estimate<br />

of a single pedestrian can be improved. Hence, the last pedestrian was able to<br />

achieve a nearly two times higher pose accuracy than the first one by closing loops that<br />

were constructed by joining graphs from other pedestrians.<br />

4.5.4 RFID-SLAM jointly <strong>with</strong> humans <strong>and</strong> robot<br />

In another experiment we jointly corrected the odometry trajectories from a human <strong>and</strong><br />

a robot exploring the same area while detecting RFIDs. During this experiment, pedestrian<br />

<strong>and</strong> robot per<strong>for</strong>med pose tracking <strong>with</strong> the PDR method <strong>and</strong> slippage sensitive


4.5. Experimental results 89<br />

55<br />

50<br />

Mean Error [m]<br />

45<br />

40<br />

35<br />

30<br />

25<br />

20<br />

1 2 3 4 5 6<br />

i-th pedestrian walking<br />

Figure 4.14: Result from decentralized SLAM: Average Cartesian pose error of the<br />

i-th pedestrian walking after his predecessors which left in<strong>for</strong>mation locally in RFIDs.<br />

Averages are computed from all possible sequences of six pedestrians.<br />

odometry described in Chapter 3. For an area of approximately 900 m 2 , 10 RFIDs were<br />

used. Table 4.1 depicts the average Cartesian error, the average cross-track error (XTE),<br />

Cart. Err. [m] XTE Err. [m] ATE Err. [m]<br />

Rob. Odo. 147.10 ± 36.85 139.59 ± 35.99 46.11 ± 20.69<br />

Ped. Odo. 56.63 ± 24.38 44.22 ± 24.52 32.31 ± 15.82<br />

Ped. Corr. 14.27 ± 12.7 8.40 ± 11.67 10.68 ± 10.84<br />

Rob. Corr. 9.37 ± 9.90 5.57 ± 9.55 6.52 ± 9.23<br />

Both Corr.. 5.64 ± 4.77 2.50 ± 4.23 4.33 ± 4.50<br />

Table 4.1: Average positioning errors of odometry, single, <strong>and</strong> joint correction.<br />

<strong>and</strong> average along-track error (ATE) of the original robot odometry (Rob. Odo.), the<br />

original pedestrian odometry (Ped. Odo.), their single corrected trajectories (Ped. Corr,<br />

Rob Corr.), <strong>and</strong> the jointly corrected trajectory (Both Corr.). The simultaneous correction<br />

of both trajectories improved the accuracy significantly. Figure 4.15 (a) shows both<br />

odometry trajectories compared to ground truth (blue line), <strong>and</strong> Figure 4.15 (b) shows<br />

the corrected RFID graph (green line). The small squares indicate RFID observations.


90 Chapter 4. RFID Technology-based SLAM<br />

(a)<br />

(b)<br />

Figure 4.15: Result from correcting trajectories from robot odometry (orange line) <strong>and</strong><br />

pedestrian odometry (red line) jointly: The corrected RFID graph (green line) lies close<br />

to ground truth (blue line). Small squares indicate RFID observations.<br />

4.6 Related work<br />

During the last decade, methods <strong>for</strong> SLAM have been applied in many different scenarios,<br />

<strong>for</strong> example in outdoor [Bailey, 2002, Ramos et al., 2007] <strong>and</strong> underwater environments<br />

[Newman et al., 2003]. Inspired by the fundamental work of Smith et al. [Smith<br />

et al., 1988], early work on SLAM was mainly based on the Extended Kalman Filter<br />

(EKF) [Dissanayake et al., 2001] which updates the state vector after each measurement<br />

in O ( n 2) . Based on the observation that l<strong>and</strong>mark estimates are conditionally independent<br />

given the robot’s pose, Montemerlo et al. introduced FastSLAM which reduces<br />

the computational complexity of EKF-based SLAM to O (nk), where k is the number<br />

of robot trajectories considered at the same time [Montemerlo et al., 2002]. The framework<br />

has been further extended to using evidence grids [Hähnel et al., 2003, Grisetti<br />

et al., 2005]. Stachniss et al. introduced a method <strong>for</strong> improving map quality gained<br />

by FastSLAM during exploration by inducing actions on the robot <strong>for</strong> actively closing<br />

loops, e.g. to cause the robot to re-enter already visited places [Stachniss et al., 2004].<br />

Thrun et al. introduced an approach following the idea of representing uncertainty <strong>with</strong><br />

an in<strong>for</strong>mation matrix instead of a covariance matrix [Thrun et al., 2004]. By exploiting<br />

the sparsity of the in<strong>for</strong>mation matrix, the algorithm, called Sparse Extended In<strong>for</strong>mation<br />

Filter (SEIF), allows updates of the state vector in constant time. Another variant<br />

of SLAM, the Treemap algorithm, has been introduced by Frese [Frese, 2006]. This<br />

method divides a map into local regions <strong>and</strong> subregions <strong>and</strong> the l<strong>and</strong>marks of each re-


4.6. Related work 91<br />

gion are stored at the according level of the tree hierarchy. Lu <strong>and</strong> Milios introduced<br />

a method <strong>for</strong> globally optimizing robot trajectories by building a constraint graph from<br />

LRF <strong>and</strong> odometry observations [Lu <strong>and</strong> Milios, 1997]. The method described in this<br />

thesis is closely related to their work, but the modification enables efficient route graph<br />

corrections by decomposing the problem into pose tracking, optimization, <strong>and</strong> interpolation.<br />

In contrast to incrementally full state updates per<strong>for</strong>med by EKF-based methods<br />

after each observation, the decomposition reduces the computational requirements during<br />

runtime to a minimum, thus allowing the efficient optimization of even large-scale<br />

environments. Whereas existing methods typically rely on a high density of l<strong>and</strong>marks,<br />

the RFID-based approach is tailored <strong>for</strong> very sparse l<strong>and</strong>mark distributions <strong>with</strong> reliable<br />

data association.<br />

In connection <strong>with</strong> radio transmitters, the SLAM problem has mainly been addressed<br />

as “range-only” SLAM [Kehagias et al., 2006, Djugash et al., 2005, Kurth et al., 2003,<br />

Kantor <strong>and</strong> Singh, 2002] since the bearing of the radio signal cannot accurately be determined.<br />

RFIDs have been successfully utilized already <strong>for</strong> localizing mobile robots<br />

[Hähnel et al., 2004,Bohn <strong>and</strong> Mattern, 2004] <strong>and</strong> emergency responders [Kantor et al.,<br />

2003,Miller et al., 2006]. Hähnel <strong>and</strong> colleagues [Hähnel et al., 2004] successfully utilized<br />

Markov localization <strong>for</strong> localizing a mobile robot in an office environment. Their<br />

approach deals <strong>with</strong> the problem of localization in a map previously learned from laser<br />

range data <strong>and</strong> known RFID positions, whereas the work presented in this paper describes<br />

a solution that per<strong>for</strong>ms RFID-based localization <strong>and</strong> mapping simultaneously<br />

during exploration. Also sensor networks-based Markov localization <strong>for</strong> emergency<br />

response has been studied [Kantor et al., 2003]. In this work, existing sensor nodes<br />

in a building are utilized <strong>for</strong> both localization <strong>and</strong> computation of a temperature gradient<br />

from local sensor node measurements. Bohn <strong>and</strong> colleagues examined localization<br />

based on super-distributed RFID tag infrastructures [Bohn <strong>and</strong> Mattern, 2004]. In<br />

their scenario tags are deployed be<strong>for</strong>eh<strong>and</strong> in a highly redundant fashion over large<br />

areas, e.g. densely integrated into a carpet. They outline the application of a vacuumcleaner<br />

robot following these tags. Pedestrian dead reckoning has also been combined<br />

<strong>with</strong> WLAN perception-based localization [Retscher <strong>and</strong> Kealy, 2006]. Miller <strong>and</strong> colleagues<br />

examined the usability of various RFID systems <strong>for</strong> the localization of first<br />

responders in different building classes [Miller et al., 2006]. During their experiments,<br />

persons were tracked <strong>with</strong> a Dead Reckoning Module (DRM) while walking through a<br />

building. They showed that the trajectories can be improved by utilizing the positions<br />

of RFID tags detected in the building. While these map improvements were carried<br />

out <strong>with</strong> only local consistency, the approach presented in this work yields a globally<br />

consistent map improvement.<br />

Efficient solutions <strong>for</strong> decentralized SLAM have been introduced in the past [Reece<br />

<strong>and</strong> Roberts, 2005, Nettleton et al., 2003, Kim et al., 2004]. These approaches assume<br />

that at least low-b<strong>and</strong>width radio communication between the agents is possible. They<br />

solve the double counting problem, e.g. the multiple propagation of equal in<strong>for</strong>mation


92 Chapter 4. RFID Technology-based SLAM<br />

via different paths, by probabilistic methods, such as Bounded Covariance Inflation<br />

(BCI) [Reece <strong>and</strong> Roberts, 2005], <strong>and</strong> Covariance Intersection (CI) [Nettleton et al.,<br />

2003]. The decentralized method proposed in this work shows that this problem can be<br />

solved also by managing estimates locally in the memory of RFIDs.<br />

4.7 Conclusion<br />

RFID-SLAM allows the efficient generation of globally consistent maps, even if the<br />

density of l<strong>and</strong>marks is comparably low. For example, the method corrected an outdoor<br />

large-scale map <strong>with</strong>in a few seconds from odometry data <strong>and</strong> RFID perceptions<br />

only. This was partially achieved due to reliable pose tracking based on slippage sensitive<br />

odometry, but also due to the data association solved by RFIDs. Solving data<br />

association by RFIDs allows to speed-up the route graph corrections by decomposing<br />

the problem into optimization <strong>and</strong> interpolation. Furthermore, a novel method <strong>for</strong> distributed<br />

SLAM by exploiting the memory capacity of RFIDs, has been contributed.<br />

The result shows that sharing in<strong>for</strong>mation between single agents allows to globally optimize<br />

their individual paths, even <strong>with</strong>out explicit need <strong>for</strong> communication. This has<br />

the advantage that, particularly in the context of disaster response, this method can also<br />

be applied if communication is disturbed by building debris <strong>and</strong> radiation. If communication<br />

is available, the process can be further accelerated by exchanging graph data<br />

between the agents directly.<br />

Moreover, the introduced method allows to apply SLAM <strong>with</strong>out requiring pedestrians<br />

<strong>and</strong> robots to per<strong>for</strong>m loops while executing their primary task. Due to the joining<br />

of routes via RFID connection points, loops automatically emerge, which is a necessary<br />

requirement if applying SLAM in the real-world, particularly when humans are<br />

involved in USAR (Urban <strong>Search</strong> And <strong>Rescue</strong>) situations. Finally, the joint correction<br />

of human <strong>and</strong> robot trajectories, has been demonstrated. The result shows that sharing<br />

in<strong>for</strong>mation between independent agents, i.e. humans <strong>and</strong> robots, allows to correct their<br />

individual paths globally.<br />

Besides, RFID-SLAM offers many advantages, particularly in a disaster response<br />

scenario. One practical advantage is that humans can be integrated easily into the search<br />

since the exchange of maps can be carried out via the memory of RFIDs [Kleiner <strong>and</strong><br />

Sun, 2007]. Furthermore, they can communicate <strong>with</strong> RFIDs by a PDA <strong>and</strong> leave behind<br />

in<strong>for</strong>mation related to the search or to victims. The idea of labeling locations <strong>with</strong><br />

in<strong>for</strong>mation that is important to the rescue task, has already been applied in practice.<br />

During the disaster relief in New Orleans in 2005, rescue task <strong>for</strong>ces marked buildings<br />

<strong>with</strong> in<strong>for</strong>mation concerning, <strong>for</strong> example, hazardous materials or victims inside the<br />

buildings [FEMA, 2003]. The RFID-based marking of locations is a straight <strong>for</strong>ward<br />

extension of this concept.<br />

In future work, we will evaluate RFID technology operating in the UHF frequency


4.7. Conclusion 93<br />

domain, which allows reading <strong>and</strong> writing <strong>with</strong>in distances of meters. As we have<br />

already demonstrated in <strong>for</strong>mer work [Ziparo et al., 2007b], the combination of an<br />

RFID route graph representation <strong>with</strong> local mapping opens the door to efficient large<br />

scale exploration <strong>and</strong> mapping. Additionally, we will deal <strong>with</strong> the problem of building<br />

globally consistent elevation maps, as described in Chapter 5, by utilizing RFID<br />

technology-based route graph optimization <strong>for</strong> loop-closure.


5 Real-time Elevation <strong>Mapping</strong><br />

5.1 Introduction<br />

The motivation <strong>for</strong> the elevation mapping method contributed in this chapter is to provide<br />

a basis <strong>for</strong> enabling robots to continuously plan <strong>and</strong> execute skills on rough terrain.<br />

There<strong>for</strong>e, the method has to be computational efficient <strong>and</strong> capable of building elevation<br />

maps that are sufficiently accurate <strong>for</strong> structure classification <strong>and</strong> behavior planning,<br />

as we have already demonstrated in <strong>for</strong>mer work [Dornhege <strong>and</strong> Kleiner, 2007b].<br />

Building globally consistent elevation maps, e.g. by loop closure, is computationally<br />

hard in large-scale environments since it requires to keep the whole map in memory.<br />

There<strong>for</strong>e, the goal of the proposed method is not to build globally consistent maps, but<br />

maps that are locally consistent in the vicinity of the robot <strong>for</strong> continuous planning <strong>and</strong><br />

navigation. In a further processing step, e.g. offline, a global map can be generated by<br />

merging locally consistent map patches according to a globally consistent route graph,<br />

as <strong>for</strong> example, computed by the RFID-SLAM method introduced in Chapter 4. Nevertheless,<br />

in the following we will denote poses as global in order to distinguish between<br />

the local <strong>and</strong> global coordinate frame of the robot.<br />

Elevation mapping is carried out <strong>with</strong> a Kalman filter-based approach by integrating<br />

range measurements from a downwards tilted laser range finder. The map is incrementally<br />

build in real-time while the mobile robot explores an uneven surface. The method<br />

tracks the three-dimensional pose of the robot by integrating the robot’s orientation,<br />

<strong>and</strong> the two-dimensional pose generated from visual odometry <strong>and</strong> scan matching (see<br />

Chapter 3). Furthermore, the three-dimensional pose is updated from height observations<br />

that have been registered on the map. Given the three-dimensional pose, the height<br />

value of each map cell is estimated by a Kalman filter that integrates readings from a<br />

downwards tilted LRF. Due to the integration of the three-dimensional pose, the method<br />

allows to create elevation maps while the robot traverses rough terrain, as <strong>for</strong> example<br />

driving over ramps <strong>and</strong> stairs.<br />

The proposed approach was extensively evaluated in USAR test arenas designed by<br />

the National Institute of St<strong>and</strong>ards <strong>and</strong> Technology (NIST) [Jacoff et al., 2001]. The<br />

results show that the method allows to reliably generate elevation maps in real-time<br />

while the robot explores an unknown area.<br />

The remainder of this chapter is structured as follows. In Section 5.2 state-of-the-art<br />

techniques <strong>for</strong> mapping are described. In Section 5.3 the method <strong>for</strong> real-time elevation<br />

95


96 Chapter 5. Real-time Elevation <strong>Mapping</strong><br />

mapping is proposed, <strong>and</strong> in Section 5.4 empirical results from mapping experiments<br />

are presented. Finally, in Section 5.5 an overview on related work is given, <strong>and</strong> in<br />

Section 5.6 the conclusion presented.<br />

5.2 Conventional techniques<br />

5.2.1 Occupancy grid maps<br />

Occupancy grid maps are a data structure <strong>for</strong> fusing multiple sensor measurements<br />

into a discretized metric representation. They were introduced by Elfes <strong>and</strong> Moravec<br />

[Moravec <strong>and</strong> Elfes, 1985, Elfes, 1989], <strong>and</strong> have mainly been utilized <strong>for</strong> integrating<br />

range measurements from sonar <strong>and</strong> laser sensors <strong>for</strong> building a two-dimensional map<br />

of the environment. Basically, the representation partitions the space around the robot<br />

into equally sized rectangular cells. Each cell can take on values between 0 <strong>and</strong> 1, describing<br />

the probability that the corresponding location in the real world is occupied by<br />

an obstacle. Figure 5.1 depicts an occupancy grid generated in an office-like environment.<br />

The darker a cell, the higher the probability of occupancy. It is usually assumed<br />

that unexplored regions have an occupancy probability of 0.5, which corresponds to the<br />

large gray region in the figure. Elfes <strong>and</strong> Moravec developed an update procedure <strong>for</strong><br />

(a)<br />

(b)<br />

Figure 5.1: (a) Occupancy grid map of an office-like environment, incrementally<br />

generated from laser range data (blue). (b) The robot plans to the next frontier cell<br />

(green) [Yamauchi, 1997].<br />

computing <strong>for</strong> each map cell c xy the occupancy probability P ( occ xy | o 1:t , l 1:t<br />

)<br />

, given past<br />

sensor observations o 1:t = o 1 , · · · , o t , <strong>and</strong> robot poses l 1:t = l 1 , · · · , l t . This is carried out<br />

by applying Bayes’ rule under the assumption of independence between single sensor<br />

readings. Consequently, the occupancy probability of cell c xy can be updated according


5.2. Conventional techniques 97<br />

to the following procedure:<br />

P ( )<br />

occ xy | o 1:t , l 1:t =<br />

⎡<br />

1 − ⎢⎣ 1 + P ( )<br />

occ xy | o t , l t<br />

1 − P ( ) 1 − P ( )<br />

occ xy<br />

occ xy | o t , l t P ( P ( ) ⎤<br />

occ xy | o 1:t−1 , l 1:t−1<br />

)<br />

occ xy 1 − P ( ) ⎥⎦<br />

occ xy | o 1:t−1 , l 1:t−1<br />

−1<br />

(5.1)<br />

The procedure can be applied incrementally each time new sensor readings are available.<br />

In order to avoid numerical instabilities <strong>for</strong> probabilities close to zero or one,<br />

Equation 5.2.1 can be trans<strong>for</strong>med to the log odds representation [Thrun et al., 2005].<br />

Note that in static environments the prior probability P ( occ xy<br />

)<br />

is typically assumed to<br />

be 0.5, thus the corresponding term in Equation 5.2.1 can be omitted. The update requires<br />

the global pose of the robot, which can be computed by methods described in<br />

Chapter 3 <strong>and</strong> Chapter 4. Furthermore, the occupancy probability P ( occ xy | o t , l t<br />

)<br />

is<br />

computed based on a inverse sensor model, which is specific <strong>for</strong> the utilized type of<br />

sensor. In case of laser range finders, the sensor model is simply defined by a piecewise<br />

linear function:<br />

P ( occ xy | o t , l t<br />

)<br />

=<br />

⎧⎪⎨⎪⎩<br />

P prior<br />

P occ<br />

P f ree<br />

if c xy is not covered by the beam<br />

if c xy is at the end of the beam<br />

if c xy is be<strong>for</strong>e the end of the beam,<br />

(5.2)<br />

where typically P prior = 0.5, P occ = 0.8, P f ree = 0.2.<br />

It can be seen in Figure 5.1 that the incremental update of the map reveals the structure<br />

of the environment, e.g. doors <strong>and</strong> hallways. The representation can be utilized efficiently<br />

<strong>for</strong> exploration <strong>and</strong> planning. Frontier cell-based exploration [Yamauchi, 1997]<br />

is a method that selects exploration targets based on the occupancy values of each cell<br />

<strong>and</strong> its next neighbors. Frontier cells are unoccupied cells <strong>and</strong> neighbor at least one cell<br />

that is unexplored. They are extracted from the grid map <strong>and</strong> taken as target locations<br />

<strong>for</strong> a trajectory planner. Figure 5.1 (b) depicts the generated frontier cells (green), <strong>and</strong><br />

a path (blue) planned to reach one of these cells. Planning can be carried out by either<br />

applying value iteration or A* planning [Russell <strong>and</strong> Norvig, 2003] on the grid map,<br />

after growing obstacles on the grid <strong>with</strong> a Gaussian kernel in order to account <strong>for</strong> the<br />

size of the robot.<br />

The described method has been widely used in office-like environments. In unstructured<br />

environments, a three-dimensional representation is needed since the surface<br />

might be uneven, <strong>and</strong> obstacles can be located at different levels of height. Moravec<br />

extended the approach <strong>for</strong> building occupancy grids in three-dimensions from stereo<br />

vision [Moravec, 1996]. However, since the computational requirements significantly<br />

increase in three-dimensions, the method does not scale in large environments.


98 Chapter 5. Real-time Elevation <strong>Mapping</strong><br />

5.3 Building elevation maps in real-time<br />

An elevation map is represented by a two-dimensional array storing <strong>for</strong> each global<br />

location (x g , y g ) a height value h <strong>with</strong> variance σ 2 h<br />

. In order to determine the height<br />

<strong>for</strong> each location, endpoints from the LRF readings are trans<strong>for</strong>med from robot-relative<br />

distance measurements to global locations, <strong>with</strong> respect to the robot’s global pose, <strong>and</strong><br />

the pitch (tilt) angle of the LRF (see Figure 5.2).<br />

This section is structured as follows. In Section 5.3.1 the update of single cell values<br />

relative to the location of the robot is described, in Section 5.3.2 the filtering of the map<br />

<strong>with</strong> a convolution kernel is shown, <strong>and</strong> in Section 5.3.3 an algorithm <strong>for</strong> the estimation<br />

of the robot’s three-dimensional pose from dead reckoning <strong>and</strong> map observations is<br />

proposed.<br />

Figure 5.2: Trans<strong>for</strong>ming range measurements to height values.<br />

5.3.1 Single cell update from sensor readings<br />

Our goal is to determine the height estimate <strong>for</strong> a single cell of the elevation map <strong>with</strong><br />

a Kalman filter [Maybeck, 1979], given all height observations of this cell in the past.<br />

We model height observations z t by a Gaussian distribution N ( )<br />

z t , σ 2 z t , as well as the<br />

current estimate N<br />

(ĥ (t) , σ<br />

2<br />

ĥ(t)<br />

)<br />

of each height value. Note that the height of cells cannot<br />

be observed directly, <strong>and</strong> thus has to be computed from the measured distance d <strong>and</strong><br />

LRF pitch angle α. Measurements from the LRF are mainly noisy due to two error<br />

sources. First, the returned distance depends on the reflection property of the material,<br />

ranging from very good reflections, e.g. white sheet of paper, to nearly no reflections,<br />

e.g. black sheet of paper. Second, in our specific setting, the robot acquires scans while<br />

navigating on rough terrain. This will lead to strong vibrations on the LRF, causing an<br />

oscillation of the laser around the servo-controlled pitch angle. Consequently, we represent<br />

measurements from the LRF by two normal distributions, one <strong>for</strong> the measured<br />

distance N(µ d , σ d ), <strong>and</strong> one <strong>for</strong> the pitch angle N(µ α , σ α ).<br />

The measurements from the LRF are trans<strong>for</strong>med to robot-relative locations (x r , y r ).<br />

First, we compute the relative distance d x <strong>and</strong> the height z of each measurement accord-


5.3. Building elevation maps in real-time 99<br />

ing to the following equation (see Figure 5.2):<br />

( ) ( ) (<br />

dx d<br />

= F<br />

z dα =<br />

α<br />

d cos α<br />

h R − d sin α<br />

)<br />

, (5.3)<br />

where h R denotes the height of the LRF mounted on the robot. Second, from distance<br />

d x <strong>and</strong> the horizontal angle β of the laser beam, the relative cell location (x r , y r ) of each<br />

cell can be calculated by:<br />

x r = d x cos β (5.4)<br />

y r = d x sin β (5.5)<br />

Equation 5.3 can be utilized <strong>for</strong> computing the normal distributed distance N(µ dx , σ dx ),<br />

<strong>and</strong> height N(µ z , σ z ), respectively. However, since this trans<strong>for</strong>mation is non-linear, F dα<br />

has to be linearized by a Taylor series at µ dx , µ z :<br />

( ) ( )<br />

µdx d<br />

= F<br />

µ dα (5.6)<br />

z α<br />

Σ dx z = ∇F dα Σ dα ∇F T dα (5.7)<br />

( )<br />

cos α −d sin α<br />

<strong>with</strong> ∇F dα =<br />

(5.8)<br />

− sin α −d cos α<br />

( ) σ<br />

2<br />

<strong>and</strong> Σ dα =<br />

d<br />

0<br />

0 σ 2 . (5.9)<br />

α<br />

Then, the height estimate ĥ can be updated from observation z t , taken at time t, <strong>with</strong> the<br />

following Kalman filter:<br />

ĥ (t) =<br />

1<br />

σ 2 z t<br />

+ σ 2 ĥ(t−1)<br />

(<br />

σ<br />

2<br />

zt<br />

ĥ (t − 1) + σ 2 ĥ(t−1) z t)<br />

σ 2 ĥ(t) = 1<br />

1<br />

σ 2 ĥ(t−1)<br />

+ 1<br />

σ 2 zt<br />

(5.10)<br />

. (5.11)<br />

Equation 5.10 cannot be applied if the tilted LRF scans vertical structures since they<br />

lead to different height measurements <strong>for</strong> the same map location. For example, close<br />

to a wall the robot measures the upper part, far away from the wall the robot measures<br />

the lower part. We restrict the application of the Kalman Filter by the Mahalanobis<br />

distance. If the Mahalanobis distance between the estimate <strong>and</strong> the new observation is<br />

below a threshold c, the observation is considered to be taken from the same height. We<br />

use c = 1, which has the effect that all observations <strong>with</strong> a distance to the estimate that<br />

is below the st<strong>and</strong>ard deviation σĥ, are merged. Furthermore, we are mainly interested


100 Chapter 5. Real-time Elevation <strong>Mapping</strong><br />

in the maximum height of a cell, since this is exactly what elevation maps represent.<br />

These constraints lead to the following update rules <strong>for</strong> cell height values:<br />

⎧<br />

z t<br />

⎪⎨<br />

ĥ (t) = ĥ (t − 1)<br />

1 ⎪⎩<br />

σ 2 zt +σ2 ĥ(t−1)<br />

<strong>and</strong> variance σ 2 ĥ(t) <strong>with</strong>:<br />

(<br />

)<br />

σ 2 z t<br />

ĥ (t − 1) + σ 2 z ĥ(t−1)<br />

t<br />

if z t > ĥ (t) ∧ d M<br />

(<br />

zt , ĥ (t) ) > c<br />

if z t < ĥ (t) ∧ d M<br />

(<br />

zt , ĥ (t) ) > c<br />

else,<br />

(5.12)<br />

σ 2 ĥ(t) = ⎧⎪⎨⎪⎩<br />

σ 2 z t<br />

σ 2 ĥ(t−1)<br />

1<br />

1<br />

σ 2 + 1<br />

σ 2 ĥ(t−1)<br />

zt<br />

if z t > ĥ (t) ∧ d M<br />

(<br />

zt , ĥ (t) ) > c<br />

(<br />

if z t < ĥ (t) ∧ d M zt , ĥ (t) ) > c<br />

else,<br />

(5.13)<br />

where d M denotes the Mahalanobis distance, defined by:<br />

d M<br />

(<br />

zt , ĥ(t) ) =<br />

√(<br />

zt − ĥ(t) )<br />

σ 2 ĥ(t)<br />

2<br />

. (5.14)<br />

The cell update introduced so far assumes perfect in<strong>for</strong>mation on the global pose of<br />

the robot. However, since we integrate measurements from the robot while moving in<br />

the environment in real-time <strong>with</strong>out loop-closure ∗ , we have to account <strong>for</strong> positioning<br />

errors from pose tracking that do accumulate over time. Continuous Kalman updates<br />

<strong>with</strong>out regarding pose uncertainty due to robot motion between update steps will successively<br />

reduce the cell’s variance leading to variance estimates which highly underestimate<br />

the actual uncertainty about a cell’s height. Thus we increase the variance in the<br />

Kalman propagation step based on the robot’s motion to reflect the true uncertainty in<br />

the variance estimate. The height itself is not changed as the old estimate still gives the<br />

best possible estimation <strong>for</strong> a cell’s height. We assume that the positioning error grows<br />

linearly <strong>with</strong> the accumulated distance <strong>and</strong> angle traveled. Hence, observations taken<br />

in the past loose significance <strong>with</strong> the distance the robot traveled after they were made:<br />

ĥ(t) = ĥ(k) (5.15)<br />

σ 2 ĥ(t) = σ2ˆk(t) + σ2 d d(t − k) + σ2 αα(t − k), (5.16)<br />

where t denotes the current time, k denotes the time of the last height measurement at<br />

the same location, d(t−k) <strong>and</strong> α(t−k) denotes the traveled distance <strong>and</strong> angle <strong>with</strong>in the<br />

∗ Note that global localization errors can be reduced by loop-closure, i.e. by re-computing the elevation<br />

map based on the corrected trajectory, which, however, can usually not be applied in real-time.


5.3. Building elevation maps in real-time 101<br />

time interval t − k, <strong>and</strong> σ 2 d , σ2 α are variances that have to be determined experimentally<br />

according to the utilized pose tracker. Since it would be computationally expensive to<br />

update the variances of all grid cells each time the robot moves, updates according to<br />

Equation 5.16 are only carried out on variances be<strong>for</strong>e they are utilized <strong>for</strong> a Kalman<br />

update <strong>with</strong> a new observation. The traveled distances can be efficiently generated by<br />

maintaining the integral functions I d (t) <strong>and</strong> I α (t) that provided the accumulated distance<br />

<strong>and</strong> angle <strong>for</strong> each discrete time step t, respectively. Then, <strong>for</strong> example, d(k − t) can be<br />

calculated by I d (k) − I d (t). The integrals are represented by a table indexed by time t<br />

<strong>with</strong> a fixed discretization, e.g. ∆t = 1 s.<br />

5.3.2 Map filtering <strong>with</strong> a convolution kernel<br />

The limited resolution of the LRF occasionally leads to missing data in the elevation<br />

map, e.g. conspicuous by surface holes. Furthermore, the effect of “mixed pixels” might<br />

lead to phantom peaks <strong>with</strong>in the elevation map [Ye <strong>and</strong> Borenstein, 2003], which<br />

frequently happens if the laser beam hits edges of objects <strong>and</strong> the returned distance<br />

measure is a mixture of the distance to the object <strong>and</strong> the distance to the background.<br />

There<strong>for</strong>e, the successively integrated elevation map has to be filtered.<br />

In computer vision, filtering <strong>with</strong> a convolution kernel is implemented by the convolution<br />

of an input image <strong>with</strong> a kernel in the spatial domain, i.e. each pixel in the<br />

filtered image is replaced by the weighted sum of the pixels in the filter window. The<br />

effect is that noise is suppressed <strong>and</strong> the edges in the image are blurred at the same<br />

time. We apply the same technique on the elevation map in order to reduce the errors<br />

described above. Hence, we define a convolution kernel of the size of 3 × 3 cells, where<br />

each value is weighted by its certainty <strong>and</strong> distance to the center of the kernel. Let<br />

h(x + i, y + j) denote a height value relative to the kernel center at map location (x, y),<br />

<strong>with</strong> i, j ∈ {−1, 0, 1}. Then, the weight <strong>for</strong> each value is calculated as follows:<br />

⎧<br />

1<br />

if |i| + | j| = 0<br />

σ<br />

⎪⎨<br />

2 h(x+i,y+ j)<br />

1<br />

w i, j =<br />

if |i| + | j| = 1<br />

2σ 2 (5.17)<br />

h(x+i,y+ j)<br />

1 ⎪⎩ if |i| + | j| = 2<br />

4σ 2 h(x+i,y+ j)<br />

Consequently, the filtered elevation map h f can be calculated by:<br />

where C = ∑ w i, j .<br />

h f (x, y) = 1 ∑<br />

h(x + i, y + j)w i, j , (5.18)<br />

C<br />

i, j


102 Chapter 5. Real-time Elevation <strong>Mapping</strong><br />

5.3.3 Estimation of the three-dimensional pose<br />

So far the incremental procedure <strong>for</strong> updating elevation map cells relative to the coordinate<br />

frame of the robot has been shown. In order to update map cells globally, the<br />

three-dimensional pose of the robot has to be considered, which is described by the vector<br />

l = (x, y, h, θ, φ, ψ) T , where θ denotes the yaw angle, φ denotes the pitch angle, <strong>and</strong><br />

ψ denotes the roll angle, respectively. We assume that IMU measurements of the three<br />

orientation angles are given <strong>with</strong> known variance. The position (x, y, h) is estimated by<br />

dead reckoning, which is based on the pitch angle <strong>and</strong> traveled distance measured by<br />

visual odometry (see Chapter 3) <strong>and</strong> scan matching. However, since these measurements<br />

are estimating the relative displacement δ <strong>with</strong> respect to the three-dimensional<br />

surface, δ has to be projected onto the plane, as depicted in Figure 5.3. Given the input<br />

Figure 5.3: Dead reckoning of the projected Cartesian position (x p , y p , h p ) from yaw<br />

angle θ, pitch angle φ, <strong>and</strong> traveled distance δ.<br />

u = (θ, φ, δ) T represented by the Gaussian distribution N(µ u , σ u ), the projected position<br />

l = (x p , y p , h p ) T , represented by the Gaussian distribution N (µ l , Σ l ), can be calculated<br />

as follows:<br />

⎛<br />

⎜⎝<br />

x p t<br />

y p t<br />

h p t<br />

⎞<br />

⎟⎠ = F lu<br />

⎛<br />

x p ⎞<br />

t−1<br />

y p t−1<br />

h t−1<br />

φ<br />

θ ⎜⎝ ⎟⎠<br />

δ<br />

⎛<br />

= ⎜⎝<br />

x p t−1<br />

y p t−1<br />

+ δ cos θ cos φ<br />

+ δ sin θ cos φ<br />

⎞⎟⎠<br />

h p t−1 + δ sin φ<br />

(5.19)<br />

Σ lu = ∇F lu Σ lu ∇F T lu (5.20)<br />

Σ lu = ∇F l Σ l ∇F T l + ∇F u Σ u ∇F T u , (5.21)


5.4. Experimental results 103<br />

where<br />

⎛ ⎞<br />

1 0 0<br />

∇F l = 0 1 0 ⎜⎝ ⎟⎠ , (5.22)<br />

0 0 1<br />

⎛<br />

⎞<br />

−δ cos θ sin φ −δ sin θ cos φ cos θ cos φ<br />

∇F u = −δ sin θ sin φ δ cos θ cos φ sin θ cos φ<br />

⎜⎝<br />

⎟⎠ , (5.23)<br />

δ cos φ 0 sin φ<br />

⎛<br />

σ 2 ⎞<br />

φ<br />

0 0<br />

∇F u = Σ u = 0 σ ⎜⎝<br />

2 θ<br />

0 ⎟⎠ , (5.24)<br />

0 0 σ 2 δ<br />

⎛<br />

σ 2 x p σ2 x p y p σ2 x p h p<br />

σ 2 x p y p σ2 y p σ2 y p h p<br />

Σ l =<br />

⎜⎝<br />

σ 2 x p h<br />

σ 2 p y p h<br />

σ<br />

⎞⎟⎠ . (5.25)<br />

2 p h p<br />

Equation 5.19 allows to predict the current height of the robot. However, due to the accumulation<br />

of errors, the accuracy of the height estimate will decrease continuously.<br />

There<strong>for</strong>e, it is necessary to update this estimate)<br />

from direct observation. For this<br />

purpose, we utilize the height estimate<br />

(ĥ (t) , σ<br />

2<br />

at the robot’s position from Equation<br />

5.12 <strong>and</strong> 5.13, ) respectively. Then, the new estimate can be calculated by Kalman-<br />

ĥ(t)<br />

fusing<br />

(ĥ (t) , σ<br />

2<br />

<strong>with</strong> the predicted height estimate ( )<br />

h p , σ 2 ĥ(t)<br />

h analogous to Equation<br />

5.10.<br />

p<br />

The global location (x g , y g ) of a measurement, i.e. the elevation map cell <strong>for</strong> which<br />

the height estimate ĥ (t) will be updated, can be calculated straight<strong>for</strong>wardly by:<br />

x g = x r + x p (5.26)<br />

y g = y r + y p (5.27)<br />

5.4 Experimental results<br />

Elevation mapping was evaluated on the Lurker robot (see Chapter 2), which is capable<br />

to autonomously overcome rough terrain containing ramps <strong>and</strong> rolls. The system was<br />

successfully demonstrated during the RoboCup <strong>Rescue</strong> autonomy competition in 2006,<br />

where the robot won the first prize. The testing arena, which was used <strong>for</strong> the exper-


104 Chapter 5. Real-time Elevation <strong>Mapping</strong><br />

iments presented in this section, was designed by NIST during the <strong>Rescue</strong> Robotics<br />

Camp 2006 <strong>with</strong> the same degree of difficulty as presented at RoboCup‘06, e.g. also<br />

containing rolls <strong>and</strong> ramps. During all experiments, the robot was equipped <strong>with</strong> an<br />

IMU sensor, a side camera <strong>for</strong> visual odometry, <strong>and</strong> two LRFs, one <strong>for</strong> scan matching<br />

<strong>and</strong> one <strong>for</strong> elevation mapping. The latter sensor was tilted downwards by 35 ◦ .<br />

Figure 5.4 depicts the Kalman filter-based pose estimation of the robot, as described<br />

in Section 5.3.3. For this experiment, conditions were made intentionally harder. Map<br />

smoothing was turned off, which had the effect that missing data, due to a limited resolution<br />

of 2D scans, lead to significant holes on the surface of the map. Furthermore,<br />

we added a constant error of −2 ◦ to pitch angle measurements of the IMU. As shown<br />

in Figure 5.4, the Kalman filter is able to cope <strong>with</strong> such errors, <strong>and</strong> finally produced a<br />

trajectory close to ground truth (indicated by the gray surface).<br />

(a)<br />

(b)<br />

Figure 5.4: Evaluation of the Kalman filter <strong>for</strong> tracking the robot’s height. (a) Height<br />

values predicted from the IMU (red line) are merged <strong>with</strong> height values taken from the<br />

generated map (blue line). Errors from inaccuracies in the map, as well as a simulated<br />

continuously drift error of the IMU sensor are successfully reduced (green line). (b)<br />

Merged trajectory compared to ground truth (gray ramp).<br />

In order to quantitatively evaluate the visual odometry support <strong>for</strong> elevation mapping,<br />

we recorded hight estimates while the robot was autonomously exploring an area,<br />

<strong>and</strong> finally climbing-up an open ramp. Figure 5.5 shows the results of the Kalman<br />

filter-based height estimation (blue line <strong>with</strong> crosses) in comparison to the manually<br />

measured ground truth (black line <strong>with</strong> triangles). As shown in Figure 5.5, the Kalman<br />

filter computes continuously an estimate close to ground truth, which stays consistently<br />

<strong>with</strong>in the expected covariance bounds.<br />

Figure 5.6 shows the final result from applying the proposed elevation mapper during<br />

the <strong>Rescue</strong> Robotics camp in Rome 2006. Figure 5.6 (a) depicts an overview on the<br />

arena, <strong>and</strong> Figure 5.6 (b) shows the calculated height values. The height of each cell is<br />

indicated by a gray value, the darker the cell, the bigger the elevation. Figure 5.6 (c)<br />

depicts the variance of each height cell, going from pink (hight variance) to yellow (low<br />

variance) The current position of the robot is indicated by a blue circle in the lower left<br />

corner. The further away cell updates on the robot’s trajectory, the lower their variance


5.5. Related work 105<br />

1000<br />

800<br />

Height Estimation<br />

Ground Truth<br />

3σ Bound around Ground Truth<br />

600<br />

Height [mm]<br />

400<br />

200<br />

0<br />

-200<br />

-400<br />

0 50 100 150 200 250<br />

Time [s]<br />

Figure 5.5: Quantitative evaluation of the Kalman-filtered height estimation. During<br />

this experiment the robot started exploration on the floor <strong>and</strong> then climbed a ramp at<br />

around 220 s. The graph shows the ground truth (black line <strong>with</strong> triangles) in comparison<br />

to the height estimation by the Kalman filter (blue line <strong>with</strong> crosses).<br />

(see Section 5.3.1). Figure 5.6 (d) shows a 3D visualization of the generated elevation<br />

map. Structures, such as the long ramp at the end of the robot’s trajectory, <strong>and</strong> the stairs,<br />

can clearly be identified. We measured on an AMD64X2 3800+ a total integration time<br />

(<strong>with</strong>out map smoothing) of 1.88 ± 0.47 ms <strong>for</strong> a scan measurement <strong>with</strong> 683 beams,<br />

including 0.09 ± 0.01 ms <strong>for</strong> the 3D pose estimation. Map smoothing has generally the<br />

time complexity of O ( N 2 M ) , where N is the number of rows <strong>and</strong> columns of the map<br />

<strong>and</strong> M the size of the kernel. We measured on the same architecture 34.79 ± 14.84 ms<br />

<strong>for</strong> smoothing a map <strong>with</strong> N = 300 <strong>and</strong> M = 3. However, this can be improved<br />

significantly during runtime by only smoothing recently modified map cells <strong>and</strong> their<br />

immediate neighbors <strong>with</strong>in distance M.<br />

5.5 Related work<br />

Elevation maps are indispensable, particularly <strong>for</strong> robots operating in unstructured environments.<br />

They have been utilized on wheeled robot plat<strong>for</strong>ms [Pfaff et al., 2007a,Wolf<br />

et al., 2005], on walking machines [Krotkov <strong>and</strong> Hoffman, 1994,Gassmann et al., 2003]<br />

<strong>and</strong> on car-like vehicles [Thrun et al., 2006,Ye <strong>and</strong> Borenstein, 2003,Pfaff et al., 2007b].


106 Chapter 5. Real-time Elevation <strong>Mapping</strong><br />

(a)<br />

(b)<br />

(c)<br />

(d)<br />

Figure 5.6: Elevation mapping during the <strong>Rescue</strong> Robotics Camp 2006 in Rome: (a)<br />

The arena build-up by NIST, (b) the corresponding digital elevation model (DEM) build<br />

by the Lurker robot, going from white (low altitude) to black (hight altitude), (c) the<br />

variances of each height value according to the robots position (lower left corner), going<br />

from pink (hight variance) to yellow (low variance), (d) the 3D perspective rotated 180 ◦ .<br />

These methods differ in the way how range data is acquired. If data is acquired from a<br />

3D scan [Pfaff et al., 2007a, Krotkov <strong>and</strong> Hoffman, 1994], it usually suffices to employ<br />

st<strong>and</strong>ard error models, which reflect uncertainty from the measured beam length. Data<br />

acquired from a 2D LRF, e.g. tilted downwards, requires more sophisticated error models,<br />

such as the compensation of pose uncertainty [Thrun et al., 2006], <strong>and</strong> h<strong>and</strong>ling of<br />

missing data by map smoothing [Ye <strong>and</strong> Borenstein, 2003].<br />

Other researchers work focused on the building of maps from 3D scans by registering<br />

each scan on the existing map <strong>with</strong> the Iterative Closest Points (ICP) algorithm [Surmann<br />

et al., 2003]. In Surmann’s setting, the robot acquires a 3D scan, plans <strong>and</strong> navigates<br />

based on this scan <strong>with</strong> a next best view planner, <strong>and</strong> stops again <strong>for</strong> acquiring the<br />

next scan from another position. They extended their work <strong>with</strong> a method <strong>for</strong> generat-


5.6. Conclusion 107<br />

ing Prolog-based semantic descriptions of the 3D point clouds, which they utilized <strong>for</strong><br />

optimizing the 3D model by Prolog unification [Nüchter et al., 2003]. Generally, full<br />

3D data processing is still only limitedly applicable in real-time. The acquisition of 3D<br />

data, as well as 3D data registration, is still time consuming, thus requiring interruptions<br />

of continuous navigation. Furthermore, the sporadic data acquisition makes it difficult<br />

to apply the method in dynamic environments.<br />

In contrast to previous work, the proposed approach deals <strong>with</strong> the problem of building<br />

elevation maps in real-time, allowing the robot continuous planning <strong>and</strong> navigation.<br />

Furthermore, the assumption that the robot has to be situated on a flat surface while<br />

mapping rough terrain has been relaxed.<br />

5.6 Conclusion<br />

We have contributed a solution <strong>for</strong> the real-time building of elevation maps from LRF<br />

data. It has been demonstrated that the generated elevation maps provide a good tradeoff<br />

between computational efficiency <strong>and</strong> structural representation. They can reliably<br />

be generated in real-time while the robot is continuously in motion. This has partially<br />

been achieved by the introduced method <strong>for</strong> visual odometry, which significantly improved<br />

the accuracy of scan matching. As <strong>for</strong>mer work has shown, the generated elevation<br />

maps can be utilized <strong>for</strong> structure classification, <strong>and</strong> the planning of skill execution<br />

[Dornhege <strong>and</strong> Kleiner, 2007b], thus enabling a mobile robot to truly autonomously<br />

explore rough terrain.<br />

To explore terrain based on a local world model might be sufficient <strong>for</strong> a range of<br />

tasks. However, many real-world situations require the robot to continuously build a<br />

global representation of the world in order to per<strong>for</strong>m tasks globally efficient. For example,<br />

the problem of searching victims after a disaster requires a global representation of<br />

a large-scale environment. To represent such environments by grid map-like data structures<br />

becomes intractable if the map size increases. There<strong>for</strong>e, in future work, we will<br />

deal <strong>with</strong> the problem of building globally consistent elevation maps by utilizing RFID<br />

technology-based route graph optimization <strong>for</strong> loop-closure (see Chapter 4). Here the<br />

basic idea is to anchor locally generated elevation maps in the corrected graph. These<br />

map patches can then be loaded into memory if they are <strong>with</strong>in range of the robots current<br />

location. Furthermore, the saved data can be utilized offline <strong>for</strong> generating a global<br />

elevation map representation of the environment.


6 RFID Technology-based<br />

Multi-Robot <strong>Exploration</strong><br />

6.1 Introduction<br />

During rescue operations <strong>for</strong> disaster mitigation cooperation is a must [Jennings et al.,<br />

1997]. In general the problem is not solvable by a single agent, but a heterogeneous<br />

team is needed that dynamically combines individual capabilities in order to solve the<br />

task. This requirement is due to the structural diversity of disaster areas, various sources<br />

of human presence that sensors can perceive, <strong>and</strong> to the necessity of quickly <strong>and</strong> reliably<br />

examining the targeted regions.<br />

In the urban search <strong>and</strong> rescue context, there exists no st<strong>and</strong>ard robot plat<strong>for</strong>m that is<br />

capable of solving all kinds of challenges dem<strong>and</strong>ed by the environment. For example,<br />

there are places only reachable by climbing robots, spots only accessible through small<br />

openings, <strong>and</strong> regions only observable by aerial vehicles. Multi-robot teams do not<br />

only offer the possibility to field such diverse capabilities, they also exhibit increased<br />

robustness due to redundancy, <strong>and</strong> superior per<strong>for</strong>mance due to parallel task execution<br />

[Arai et al., 2002]. This latter aspect is as important as the first one, since the time<br />

to complete a rescue mission is literally of vital importance. There<strong>for</strong>e, to approach<br />

the task of designing a multi-robot system <strong>for</strong> rescue from single-robot solutions is<br />

prone to yield suboptimal solutions. The joint per<strong>for</strong>mance of a team depends on the<br />

right mixture <strong>and</strong> coordination of the individual robot capabilities, <strong>and</strong> thus has to be<br />

designed as a whole. One fundamental problem in this context is the coordination of a<br />

team during an exploration task.<br />

To coordinate a team of robots <strong>for</strong> exploration is a challenging problem, particularly<br />

in large-scale areas, as <strong>for</strong> example the devastated area after a disaster. This problem can<br />

be generally decomposed into task assignment <strong>and</strong> multi-agent path planning. Whereas<br />

task assignment <strong>and</strong> multi-agent path planning were both intensively studied as separate<br />

problems in the past, there has been only little attention on solving both of them at once,<br />

particularly if large robot teams are involved. This is mainly due to the fact that the<br />

joint state space of the planning problem grows enormously <strong>with</strong> the number of robots.<br />

However, particularly in destroyed environments where robots have to overcome narrow<br />

passages <strong>and</strong> obstacles, path coordination is essential in order to avoid collisions <strong>and</strong><br />

deadlocks.<br />

109


110 Chapter 6. RFID Technology-based Multi-Robot <strong>Exploration</strong><br />

In this chapter a novel deliberative approach that reduces significantly the size of<br />

the search space by utilizing RFID tags as coordination points, while solving the problem<br />

of task assignment <strong>and</strong> path planning simultaneously, is contributed. The method<br />

utilizes the same RFID infrastructure as RFID-SLAM (Chapter 4), requiring robots to<br />

deploy RFID tags autonomously in the environment <strong>for</strong> building a network of reachable<br />

locations. Hence, global path planning is carried out on a graph topology, which is<br />

computationally cheaper than planning on global grid maps, as it is usually the case.<br />

Furthermore, a local search method that uses the memory of RFIDs <strong>for</strong> labeling visited<br />

places in the field is contributed. Each RFID holds a set of poses that have been<br />

visited by robots in the vicinity of the tag. Since data exchange is carried out via the<br />

memory of RFIDs, the method can also be applied if radio communication fails completely.<br />

Additionally, the local approach has the advantage that computational costs do<br />

not grow <strong>with</strong> the number of robots participating in the search. Note that the correct<br />

association of visited poses to RFID locations requires to determine detection range <strong>and</strong><br />

bearing from signal strength <strong>and</strong> antenna orientation, respectively.<br />

The implemented system can be considered as two-layered, consisting of a local<br />

mechanism <strong>and</strong> a global mechanism. The global mechanism monitors the local exploration,<br />

<strong>and</strong> possibly restarts it at different locations, if the overall per<strong>for</strong>mance can be<br />

improved. This is carried out by assigning new target locations <strong>and</strong> generating a global<br />

multi-robot plan to reach them. Global planning is carried out in configuration timespace<br />

on the RFID network, <strong>and</strong> genetic sequence selection is applied as a global task<br />

assignment strategy.<br />

For the purpose of navigation <strong>and</strong> obstacle avoidance, robots plan their trajectories<br />

<strong>with</strong> A* [Russell <strong>and</strong> Norvig, 2003] on a dynamically updated grid map (see Section<br />

5.2), which is limited in size <strong>and</strong> shifted according to robot motion. Due to the<br />

limited size, grid updates from laser range data <strong>and</strong> navigation planning can be achieved<br />

<strong>with</strong>out significant computational costs.<br />

The proposed methods were evaluated in the USARSim [Balakirsky et al., 2006]<br />

simulation environment, which serves as basis <strong>for</strong> the Virtual Robots competition at<br />

RoboCup [Balakirsky et al., 2007], where our team one the first prize of the competition.<br />

The results show that the RFID tag-based exploration works <strong>for</strong> large robot teams,<br />

particularly under limited computational resources.<br />

The remainder of this chapter is organized as follows. The RFID technology-based<br />

local <strong>and</strong> global exploration method <strong>and</strong> their application to rescue missions is discussed<br />

in Section 6.2 <strong>and</strong> Section 6.4, respectively. In Section 6.3 a more detailed<br />

description of the topological RFID map generated by the robots during exploration is<br />

provided. In Section 6.5 results from experiments are shown <strong>and</strong> in Section 6.6 related<br />

approaches are discussed. Finally, in Section 6.7 the conclusion is presented.


6.2. Coordinated local exploration 111<br />

6.2 Coordinated local exploration<br />

In this section a novel coordination mechanism [Kleiner et al., 2006c, Ziparo et al.,<br />

2007a] is contributed, which allows robots to explore an environment <strong>with</strong> low computational<br />

overhead <strong>and</strong> communication constraints. In particular, the computational costs<br />

do not increase <strong>with</strong> the number of robots. The key idea is that the robots plan their path<br />

<strong>and</strong> explore the area based on a local view of the environment. Team coordination is<br />

realized through the use of indirect communication via RFID tags. In Section 6.2.1<br />

the method <strong>for</strong> efficient navigation based on a local world view is presented, <strong>and</strong> in<br />

Section 6.2.2 a novel coordination mechanism based on target selection <strong>and</strong> indirect<br />

communication is introduced.<br />

6.2.1 Navigation<br />

To efficiently <strong>and</strong> reactively navigate, robots continuously plan their trajectories based<br />

on a local representation of the environment, which is maintained <strong>with</strong>in an occupancy<br />

grid [Moravec, 1988] limited in size. For example, in our implementation, the local<br />

map was limited to a four meter side square <strong>with</strong> 40 mm resolution. The occupancy<br />

grid is shifted according to wheel odometry <strong>and</strong> IMU data, <strong>and</strong> continuously updated<br />

from measurements of the LRF. This allows to overcome the accumulation of odometry<br />

errors, while having some memory of the past. The exploration process periodically<br />

selects targets, as shown in the following section, <strong>and</strong> continuously per<strong>for</strong>ms A*<br />

search [Russell <strong>and</strong> Norvig, 2003] on the occupancy grid in order to generate plans <strong>for</strong><br />

reaching them. The continuous re-planning allows the robot to reactively avoid newly<br />

perceived obstacles, <strong>and</strong> to deal <strong>with</strong> un<strong>for</strong>eseen situations caused by errors during path<br />

following. A* planning is implemented <strong>with</strong> the Euclidean distance heuristic <strong>and</strong> the<br />

state expansion selects all neighbors of a cell that are not obstructed (i.e. have an occupancy<br />

value lower than a given threshold). The cost function c takes the length of the<br />

path <strong>and</strong> its distance to obstacles into account:<br />

c (s i+1 ) = c (s i ) + d (s i+1 , s i ) ∗ (1 + α ∗ occ (s i+1 )) (6.1)<br />

where occ (s) is the probability of occupancy of grid cell s, d (.) is the Manhattan distance,<br />

<strong>and</strong> α is a factor <strong>for</strong> varying the cost <strong>for</strong> passing nearby obstacles. Furthermore,<br />

the grid is convoluted <strong>with</strong> a Gaussian kernel, <strong>for</strong>cing plans to be <strong>with</strong>in a minimum<br />

distance to nearby obstacles.<br />

While navigating in the environment, robots maintain a Local RFID Set (LRS), which<br />

contains all perceived RFIDs that are <strong>with</strong>in range of the local occupancy grid. RFIDs<br />

which are out of the antenna’s detection range, but still <strong>with</strong>in the range of the grid,<br />

are shifted according to the motion of the robot. Additionally, the occupancy grid is<br />

augmented <strong>with</strong> RFIDs from a topological RFID graph representation, which will be


112 Chapter 6. RFID Technology-based Multi-Robot <strong>Exploration</strong><br />

further described in Section 6.4, facilitating the processing of nearby RFIDs that have<br />

not been observed directly. On the basis of this in<strong>for</strong>mation, new RFIDs are released in<br />

the environment in order to maintain a predefined density of RFID tags (in our implementation<br />

we took care of having the RFIDs at one meter distance from each other).<br />

RFIDs that are <strong>with</strong>in the local occupancy grid are utilized <strong>for</strong> avoiding collisions<br />

between the robots. Each robot tracks its own pose by integrating measurements from<br />

the wheel odometry <strong>and</strong> the IMU sensor <strong>with</strong> an Extended Kalman filter (EKF). As<br />

commonly known, the accuracy of this estimate decreases due to the accumulation of<br />

positioning errors, which can, <strong>for</strong> example, be prevented by per<strong>for</strong>ming data association,<br />

as shown in Chapter 4. However, since the proposed approach aims at a computational<br />

efficient implementation, pose estimates are not globally improved during the<br />

multi-robot exploration. Instead, local displacements between robots are synchronized<br />

via RFID tags. As will be shown, this method leads to pose estimates that are sufficiently<br />

accurate <strong>for</strong> collision-free navigation. Note that after the execution, the global<br />

map can still be improved offline, <strong>for</strong> example, by methods described in Chapter 4.<br />

If two robots detected the same RFID tag in the past, the estimates of their mutual<br />

displacement d R1 R 2<br />

≈ l R1 − l R1 were synchronized by utilizing their local pose estimates<br />

at this RFID: Let l R1 (t 1 ) <strong>and</strong> l R2 (t 2 ) denote the individual pose estimates of robot R 1 <strong>and</strong><br />

R 2 while detecting the same RFID tag at time t 1 <strong>and</strong> time t 2 , respectively. Then, the<br />

new displacement between both robots can be calculated by d R1 R 2<br />

= l R1 (t 1 ) − l R1 (t 2 ).<br />

Furthermore, each robot can estimate poses <strong>with</strong>in the reference frame of other robots<br />

by utilizing the latest displacement <strong>and</strong> the individual pose estimate of the other robot<br />

at time t. For example, R 2 ’s pose estimate of R 1 is given by: ˆl R1 (t) = l R1 (t) − d R1 R 2<br />

.<br />

Note that this procedure assumes the existence of a synchronized clock <strong>and</strong> requires the<br />

robots to keep their trajectory in memory.<br />

Known locations of other robots can be utilized on the planning level <strong>for</strong> avoiding<br />

collisions between them. This is carried out by adding an extra cost to occupancy grid<br />

cells that are close to these locations. If a robot detects that a teammate <strong>with</strong> a higher<br />

priority is close, it stops until the other has moved out of the way. The simplest choice<br />

<strong>for</strong> a priority scheme is to assign a ranking of the robots at start-up time, e.g. to assign to<br />

each robot a unique ID. However, this method might fail if, <strong>for</strong> example, the robot <strong>with</strong><br />

the highest priority is unable to move first since it is blocked by any other robot <strong>with</strong> a<br />

lower priority. There exist analytical solutions to this problem, as <strong>for</strong> example described<br />

by Jaeger <strong>and</strong> Nebel [Jaeger <strong>and</strong> Nebel, 2001], which require as input a dependency<br />

graph consisting of one node <strong>for</strong> each robot <strong>and</strong> one arc <strong>for</strong> each blockage between<br />

two robots. Since it is hard to decide from sensor data, such as vision or laser range<br />

readings, whether robots are blocked, we decided to utilize a simpler approach: If the<br />

conflict cannot be solved, the priority scheme is r<strong>and</strong>omly shuffled by the robot <strong>with</strong><br />

the highest priority, <strong>and</strong> communicated between robots that are involved in the conflict.<br />

Subsequently, the robots try to execute the new sequence. Note that this method, as any<br />

other method at this stage, is unable to solve a deadlock, which is a situation in which


6.2. Coordinated local exploration 113<br />

any sequence of movements would not solve the conflict.<br />

6.2.2 Local exploration<br />

The fundamental problem of multi-robot exploration is how to select targets <strong>for</strong> the path<br />

planner that minimize the overlapping of explored areas. This involves, first, choosing<br />

a set of target locations F = { f j }, second, computing a utility value u ( f j<br />

)<br />

<strong>for</strong> each target<br />

location f j ∈ F, <strong>and</strong> third, selecting the best target based on the utility value, <strong>for</strong> which<br />

the path planner can find a trajectory.<br />

The set of targets F is identified by extracting frontier cells F [Yamauchi, 1997] from<br />

the occupancy grid. A frontier cell is defined as a cell that has not been explored, i.e. that<br />

has not been observed by the laser range finder, <strong>and</strong> also neighbors an observed cell that<br />

is unoccupied, i.e. has a occupancy probability below a certain threshold. Unexplored<br />

cells are those <strong>with</strong> prior probability, e.g. 0.5, which is initially set <strong>for</strong> all cells. Finally,<br />

the set is ordered based on the following utility calculation:<br />

U ( ) ( )<br />

f j = −γ1 F a (|φ − θ r |) − γ 2 F v l f j , (6.2)<br />

( )<br />

xr − x<br />

<strong>with</strong> φ = tan −1 f j<br />

, (6.3)<br />

y r − y f j<br />

where φ denotes the angle between robot location l r <strong>and</strong> frontier cell location l f j<br />

, θ r<br />

denotes the orientation of the robot, <strong>and</strong> γ 1 <strong>and</strong> γ 2 are two parameters which control<br />

the trade-off between direction persistence <strong>and</strong> exploration. The function F a denotes<br />

a fuzzy function yielding values in the interval [0, 1], the smaller the angle, the higher<br />

the return value of the function. F v is a function returning a value the higher the more<br />

locations in the vicinity of l f j<br />

have been already explored. As will be shown, the in<strong>for</strong>mation<br />

about visited locations is read from RFIDs r ∈ LRS , which are <strong>with</strong>in range of<br />

the local occupancy grid.<br />

The angle factor F a can be thought as an inertial term, which prevents the robot from<br />

changing direction too often (which would result in an inefficient behavior). If the robot<br />

has full memory of his perceptions (i.e. a global occupancy grid), the angle factor would<br />

be enough to allow a single robot to explore the area. However, due to the limitation<br />

of the occupancy grid, knowledge on previously visited areas gets lost, leading to inefficient<br />

exploration. This problem is solved by memorizing explored regions in the<br />

memory of RFIDs. If robots are <strong>with</strong>in writing distance of RFIDs, they write their trajectory<br />

into the tags memory. More specifically, they memorize visited poses p from<br />

their trajectory (discretized at a lower resolution compared to the occupancy grid). The<br />

influence radius, e.g. the maximal distance in which poses are added, depends mainly<br />

on the memory capacity of the RFID tag <strong>and</strong> can be adjusted accordingly. In our implementation,<br />

poses were added <strong>with</strong>in a radius of 4 meters. Note that poses are converted<br />

from the robot’s coordinate frame to an RFID tag relative coordinate frame in order to


114 Chapter 6. RFID Technology-based Multi-Robot <strong>Exploration</strong><br />

be independent of the individual coordinate frame of each robot. This has the additional<br />

advantage that, given the resolution <strong>and</strong> maximal relative distance, their location can be<br />

efficiently encoded into memory.<br />

Moreover, a value count (p) [Svennebring <strong>and</strong> Koenig, 2004] is associated <strong>with</strong> each<br />

pose p = ( x p , y p<br />

)<br />

in the memory of the RFID <strong>and</strong> is incremented by the robots every<br />

time the pose is added. These poses are then used to compute F v :<br />

F v<br />

(<br />

l f j<br />

)<br />

=<br />

∑<br />

r∈LRS<br />

∑<br />

p∈P r<br />

count (p)<br />

d ( l f j<br />

, p ) (6.4)<br />

where P r is the set of poses associated <strong>with</strong> the RFID r, <strong>and</strong> d (.) denoted the Euclidean<br />

distance. It is worth noticing that robots writing <strong>and</strong> reading from RFIDs not only<br />

maintain memory of their own past, but also of the other robots implementing thereby<br />

a <strong>for</strong>m of indirect communication <strong>and</strong> coordination of exploration. Thus, both multirobot<br />

navigation <strong>and</strong> exploration do not require direct communication. This feature is<br />

very useful in all those scenarios (e.g. disaster scenarios) where wireless communication<br />

may be limited or unavailable. The most important feature of the approach, as presented<br />

up to now, is that the computation costs do not increase <strong>with</strong> the number of robots.<br />

Thus, in principle, there is no limit, other than the physical one, to the number of robots<br />

constituting a team.<br />

6.3 Multi-robot topological maps<br />

After the occurrence of a real disaster it is crucial <strong>for</strong> first responders to locate <strong>and</strong><br />

rescue victims as fast as possible. In this context, the main task of a robot team is to<br />

explore <strong>and</strong> map the destroyed area, <strong>and</strong> more importantly, to mark locations of victims<br />

<strong>with</strong>in the generated map. As has been already shown in Chapter 4, RFID tags can<br />

be used <strong>for</strong> building a topological representation of the environment. The advantage<br />

of building topological RFID maps is that this corresponding infrastructure can also be<br />

utilized by human first responders after the robots have explored the terrain. Instead<br />

of having to localize themselves <strong>with</strong>in a metric map, which can be rather difficult if<br />

the environment is unstructured, they can be equipped <strong>with</strong> wearable devices, such as<br />

RFID reader <strong>and</strong> PDA, <strong>for</strong> following a path of RFID tags to task-relevant places, such<br />

as nearby victim locations, unexplored regions, or the exit of a building.<br />

During execution of the local exploration method, described in Section 6.2, robots<br />

successively distribute RFIDs in the environment, which basically represent navigation<br />

points that are connected <strong>with</strong> each other via routes traveled by the robots. This connectivity<br />

network is taken as a basis <strong>for</strong> building a topological map consisting of vertices<br />

that are RFID tags, starting location <strong>and</strong> victim locations, <strong>and</strong> edges that are connections<br />

between them (see Figure 6.1 <strong>for</strong> an example). Each vertex stores the direction


6.3. Multi-robot topological maps 115<br />

<strong>and</strong> distance to all other vertexes to which an edge exists. This graph can be used to plan<br />

the shortest path to the next victim location <strong>and</strong> back to the exit of the building, e.g. by<br />

utilizing the Dijkstra [Dijkstra, 1959] algorithm or A* [Russell <strong>and</strong> Norvig, 2003] planning.<br />

In Chapter 8 a wearable device <strong>for</strong> first responders <strong>and</strong> methods <strong>for</strong> computing<br />

optimal routes will be described in more detail.<br />

Figure 6.1: Topological map of the disaster area generated by a team of robots in US-<br />

ARSim environment: rectangles denote robot start locations, diamonds detected victims,<br />

<strong>and</strong> circles RFID locations.<br />

During the distribution of RFID tags, robots measure between two tags i <strong>and</strong> j the<br />

relative displacement d i j = (∆x i j , ∆y i j ) T <strong>with</strong> covariance matrix Σ i j if they have been<br />

passed. The relative displacement between two tags is estimated by a Kalman filter,<br />

which integrates pose estimates from the robot’s wheel odometry, <strong>and</strong> an Inertia Measurement<br />

Unit (IMU). It is assumed that the yaw angle of the IMU is aligned to magnetic<br />

north, i.e. that IMU measurements are supported by a compass. If the robot passes a tag<br />

or victim location, the Kalman Filter is reset in order to estimate the relative distance<br />

to the subsequent tag on the robot’s trajectory. Accordingly, each robot generates a<br />

graph <strong>with</strong> multiple measurements between RFID nodes, which can be exchanged <strong>with</strong><br />

other robots if they are <strong>with</strong>in communication range. Due to the unique identification<br />

of RFID tags, these graphs can be merged easily to a single graph consisting of the<br />

unification of all vertices <strong>and</strong> edges, where the overall displacement D i j between two<br />

vertices i <strong>and</strong> j can be computed from the weighted average of collected measurements<br />

from all robots:<br />

D i j = 1 ∑ ∑<br />

d ki<br />

C<br />

j<br />

Σ −1<br />

k i j<br />

, (6.5)<br />

where<br />

k<br />

k<br />

k i j<br />

∑ ∑<br />

C = Σ −1<br />

k i j<br />

(6.6)<br />

<strong>and</strong> k i j indicates the measurement between node i <strong>and</strong> j collected by robot k. Note if<br />

k i j


116 Chapter 6. RFID Technology-based Multi-Robot <strong>Exploration</strong><br />

there does not exist a measurement between two nodes, the elements of the corresponding<br />

covariance matrix are set to zero. The method described above was applied <strong>for</strong><br />

building multi-robot maps during the RoboCup <strong>Rescue</strong> Virtual Competition. The generated<br />

map can be further improved by applying RFID-SLAM, as described in Chapter 4.<br />

6.4 Global exploration monitoring<br />

Due to the lack of lookahead of local exploration, robots may stay too long in local<br />

minima, resulting in redundant coverage of already explored areas. For example, this<br />

might be the case if the utility function U ( )<br />

l f j builds a plateau over a larger region,<br />

i.e. if the count values of poses in a larger region are nearly the same, <strong>and</strong> unexplored<br />

passages are only reachable <strong>with</strong> high costs from the angle factor F a .<br />

In order to avoid such a phenomenon, a novel monitoring approach has been developed,<br />

which periodically restarts the local exploration in more convenient locations.<br />

This method requires direct communication <strong>and</strong> a computational overhead, which<br />

grows <strong>with</strong> the number of agents. However, it improves the exploration ability of the<br />

robots significantly <strong>and</strong> it is robust to failures. In fact, if the communication links<br />

fail or the monitoring process itself fails, the robots will continue the local exploration<br />

as previously described. The remainder of this section is structured as follows. In Section<br />

6.4.1 the problem is <strong>for</strong>malized. Then, in Section 6.4.2 three algorithms <strong>for</strong> solving<br />

this problem are introduced, <strong>and</strong> finally, in Section 6.4.3 the monitoring agent a central<br />

unit that computes <strong>and</strong> monitors all global actions of the agents is introduced.<br />

6.4.1 Problem modeling<br />

Basically, the problem is to find optimal target locations <strong>for</strong> all robots, <strong>and</strong> a multi-robot<br />

plan <strong>for</strong> reaching them. As a basis <strong>for</strong> solving this problem, a graph G = (V, E), where<br />

V is the set of l<strong>and</strong>mark locations, e.g. RFIDs, <strong>and</strong> E the set of connections between<br />

them. The graph is extracted from the topological map introduced in Section 6.3. Each<br />

node consists of a unique identifier of the RFID <strong>and</strong> its estimated position. Moreover,<br />

a set of frontier nodes U ⊂ V <strong>and</strong> a set of current robot RFID positions S L ⊂ V is<br />

defined. In general, |U| > |R|, where R is the set of available robots. A robot path (i.e<br />

plan) is defined as a set of pairs composed by a node v ∈ V <strong>and</strong> a time-step t:<br />

Definition 6.4.1 A single-robot plan is a set P = {<br />

T = {0, . . . , |P| − 1}. P must satisfy the following properties:<br />

a) ∀v i , v j , k ∈ P∧ ∈ P ⇒ (v i , v j ) ∈ E,<br />

b) ∈ P ⇒ v = sl i ∈ S L<br />

c) ∈ P ⇒ v ∈ U<br />

| v ∈ V ∧ t ∈ T}, where


6.4. Global exploration monitoring 117<br />

where property a) states that each edge of the plan must correspond to an edge of the<br />

graph G. Properties b) <strong>and</strong> c) en<strong>for</strong>ce that the first <strong>and</strong> the last node of a plan must<br />

be the location of a robot <strong>and</strong> a goal node, respectively. For example, the singlerobot<br />

plan going from RFID R1 to RFID G1, depicted in Figure 6.2, is represented<br />

as P 1 = (< R1, 0 >, < N1, 1 >, < N2, 2 >, < G1, 3 >). The previous definition implies<br />

1.4<br />

G2<br />

1<br />

R1<br />

0.8<br />

N1 N2 G1<br />

0.8 0.8<br />

1.2<br />

1<br />

R2<br />

Figure 6.2: A simple graph showing a plan from R1 to G1 (bold edges).<br />

that passing any two nodes, which are connected by an edge in the graph G, takes approximately<br />

the same amount of time. Recall that nodes represent RFIDs which are<br />

deployed approximately at the same distance one from the other, <strong>and</strong> edges represent<br />

shortest connection between them. Thus, the difference of time required <strong>for</strong> traveling<br />

between any two connected RFIDs is negligibly small, if robots drive at the same speed.<br />

Definition 6.4.2 A multi-robot plan P is a n-tuple of single-robot plans (P 1 , . . . , P n )<br />

such that:<br />

a) the plan <strong>with</strong> index i belongs to robot i,<br />

b) ∀i, j ∈ R ∈ P i ∧ ∈ P j ⇒ v ′ v ′′<br />

c) ∀i, j ∈ R ∈ P i ∧ ∈ P j ⇒ v ′ v ′′<br />

Thus, a multi-robot plan is a collection of single-robot plans <strong>for</strong> each robot such that<br />

they all have different goals <strong>and</strong> different starting positions. A distinguishing feature of<br />

multi-robot plans <strong>with</strong> respect to single-agent ones is interaction. In fact, single-robot<br />

plans can interfere <strong>with</strong> each other leading to inefficiencies or even failures:<br />

Definition 6.4.3 Two single-robot plans P i <strong>and</strong> P j of a multi-robot plan P are said to<br />

be in conflict if P i ∩ P j ∅. The set of states C Pi = ⋃ i j P i ∩ P j are the conflicting states<br />

<strong>for</strong> P i .


118 Chapter 6. RFID Technology-based Multi-Robot <strong>Exploration</strong><br />

Moreover, deadlocks can occur in the system. In this setting a deadlock can arise if<br />

there is a circular wait or if a robot is willing to move to an already achieved goal of<br />

another robot.<br />

Definition 6.4.4 A multi-robot plan is said to have a deadlock if there is a circular<br />

wait or an infinite wait. The wait set <strong>for</strong> a multi-robot plan P is defined as: WS P =<br />

{(i, j, t) | i, j ∈ R ∧ t ∈ T ∧ P i (t + 1) = P j (t)}. A circular wait <strong>for</strong> a multi-robot<br />

plan P occurs if: ∃ a sequence of k distinct robots (r 1 , . . . , r k ) <strong>and</strong> a time t such that<br />

(r i , r i+1 , t) ∈ WS P <strong>for</strong> i = 0 . . . k − 1 <strong>and</strong> (r k , r 1 , t) ∈ WS P . An infinite wait <strong>for</strong> a multirobot<br />

plan P occurs if ∃t 1 , t 2 ∈ T ∃i, j ∈ R | P i (t 1 ) = P j (t 2 ) ∧ t 2 = |P j | − 1 ∧ t 1 ≥ t 2 .<br />

Consequently, the cost measure c(.) <strong>for</strong> a multi-robot plan P is defined as follows:<br />

⎧<br />

⎪⎨ ∞<br />

if deadlock<br />

c(P) = ⎪⎩ max cost(P, i) else (6.7)<br />

i∈R<br />

where cost(P, i) is the cost of executing i’s part of the multi-robot plan P. We assume<br />

that the agents execute the plans in parallel, thus the score of the multi-robot plan is the<br />

maximum among the single-robot ones. Let P j (t) be a function that returns the RFID<br />

node of a plan P j at a time index t, <strong>and</strong> d(.) the Euclidean distance between two RFIDs.<br />

Then, cost(P, i) can be computed from the sum of the Euclidean distances between the<br />

RFIDs of the plan plus the conflicts cost:<br />

where<br />

<strong>and</strong><br />

cost(P, i) =<br />

|P∑<br />

i |−2<br />

t=0<br />

∑<br />

con f l(P, i) =<br />

d(P i (t), P i (t + 1)) + con f l(P, i) (6.8)<br />

ji<br />

∑<br />

∈P i ∩P j<br />

wait(P j , t), (6.9)<br />

wait(P j , t) = d(P j (t − 1), P j (t)) + d(P j (t), P j (t + 1)), (6.10)<br />

where the wait cost wait(P j , t) reflects the time necessary <strong>for</strong> robot j to move away from<br />

the conflict node. By Equation 6.9 costs <strong>for</strong> waiting are added if at least two robots share<br />

the same RFID node at the same time. This is a worst case assumption since conflicts in<br />

the final multi-robot plan are solved by the local coordination mechanism which <strong>for</strong>ces<br />

robots only to wait if there are other robots <strong>with</strong> higher priority. We abstract this feature<br />

from our model since the priority ordering is periodically r<strong>and</strong>omized in order to solve<br />

existing dead-locks, making it impossible to predict whether a robot will have to wait<br />

or not. Finally, the task assignment <strong>and</strong> path planning problem can be <strong>for</strong>mulated as an<br />

optimization problem of finding a plan P ∗ that minimizes the cost function c(P).


6.4. Global exploration monitoring 119<br />

6.4.2 Global task assignment <strong>and</strong> path planning<br />

We experimented <strong>with</strong> three different techniques in order to solve the task assignment<br />

<strong>and</strong> path planning problem. The first two approaches are inspired by Burgard et al. [Burgard<br />

et al., 2005]. The third approach can be seen as an extension of Bennewitz et<br />

al. [Bennewitz et al., 2001]. All of the previously cited approaches rely on a grid based<br />

representation while our approach is graph-based. The experimental results show that<br />

the third approach outper<strong>for</strong>ms the first <strong>and</strong> the second, <strong>and</strong> is actually the one we<br />

adopted in the implementation of the full system. For this reason, only a brief overview<br />

of the first two approaches is given, but a more detailed description of the third.<br />

All the approaches have a common pre-calculation. We compute the pairwise shortest<br />

paths [Dijkstra, 1959] <strong>for</strong> each node in U. This is a fast computation (i.e. O((|E| +<br />

|V|log(|V|))|U|) ) which speeds up the plan generation processes presented in the following.<br />

Greedy Approach<br />

Given the in<strong>for</strong>mation produced by the Dijkstra algorithm <strong>and</strong> an empty multi-robot<br />

plan, we identify the robot r best ∈ R which has the shortest path to reach a goal g best ∈ U.<br />

The path computed by the Dijkstra algorithm from r best to g best , <strong>with</strong> its time values is<br />

added to the multi-robot plan. We then update the sets R = R−{r best } <strong>and</strong> U = U−{g best }.<br />

The process is iterated until R = ∅ (see [Burgard et al., 2005] <strong>for</strong> more details).<br />

Assignment Approach<br />

Task assignment is a common approach in multi-robot systems to coordinate tasks between<br />

the agents. Here we utilize a genetic algorithm permuting over possible goal<br />

assignments to robots <strong>and</strong> use the plans computed by the Dijkstra algorithm. We then<br />

use the previously defined cost function as the fitness function (see [Bennewitz et al.,<br />

2001] <strong>for</strong> more details).<br />

Sequential Approach<br />

The last presented approach is based on sequential planning. We use, similar to the<br />

assignment approach, a genetic algorithm to permute possible orderings of agents O =<br />

o 1 , . . . , o n . We then plan the ordering <strong>and</strong> use the previously defined cost function as<br />

the fitness function.<br />

The sequential planning is based on A* [Russell <strong>and</strong> Norvig, 2003] <strong>and</strong> is done individually,<br />

following the given sequence, <strong>for</strong> each agent in order to achieve the most<br />

convenient of the available goals U. Every time when an agent o i plans, the selected<br />

goal is removed from U <strong>and</strong> the computed plan added to the set of known plans P. The<br />

planning tries to avoid conflicts <strong>with</strong> the set of known plans P by searching through


120 Chapter 6. RFID Technology-based Multi-Robot <strong>Exploration</strong><br />

time/space, where the state space S is defined as S = V × T. This huge state space can<br />

be greatly simplified since we are only interested in the time of the conflicting states<br />

C P j<br />

(Definition 6.4.3). From the planning point of view the in<strong>for</strong>mation relative to the<br />

time of non-conflicting states is irrelevant <strong>and</strong> thus all these states can be grouped by<br />

time using the special symbol none. The resulting set of non-conflicting states NC is<br />

defined as NC = { |v ∈ V} <strong>and</strong> has the cardinality of V (i.e. |NC| = |V|). Thus,<br />

the reduced search space is S T = C P j<br />

∪ NC.<br />

During the search, the nodes are exp<strong>and</strong>ed in the following way: We look <strong>for</strong> the<br />

neighboring nodes of the current one given the set E of edges in G. For each of them<br />

we check if there is a conflict. If this is the case, we return the corresponding node from<br />

C P j<br />

, otherwise the one from NC.<br />

In order to implement A* we have to provide a cost function g <strong>and</strong> a heuristic function<br />

h defined over S T. We define the cost function g(s) <strong>for</strong> agent i as the single-robot<br />

plan cost function cost(P, i). The multi-robot plan P will consist of the plans already<br />

computed <strong>with</strong> the path found up to s. Obviously the agent o j will be able to detect<br />

conflicts at planning time only <strong>for</strong> those agents o i <strong>with</strong> i < j <strong>for</strong> which a plan has<br />

already been produced. Finally, the heuristic h (i.e. Dijkstra heuristic) is defined as<br />

follows:<br />

h(< s, t >) = min d di j(s, g) (6.11)<br />

g∈G<br />

where d di j (s, g) is the distance from s to g pre-computed by the Dijkstra algorithm,<br />

which is independent of time t. It is important to notice that A* will find the optimal<br />

solution since the heuristic is admissible, i.e. it underestimates the true costs, <strong>for</strong> a<br />

single robot plan given the subset of already computed paths <strong>and</strong> ignoring the others<br />

(<strong>for</strong> which no plan was found yet).<br />

For example, let us consider the simple weighted graph depicted in Figure 6.2. R1<br />

<strong>and</strong> R2 are respectively the location of two robots r1 <strong>and</strong> r2. G1 <strong>and</strong> G2 are the goals.<br />

In this example, the sequence has been selected <strong>and</strong> r1 has already produced<br />

the following plan: (< R1, 0 >, < N1, 1 >, < N2, 2 >, < G1, 3 >). Now r2 has to plan.<br />

The only remaining goal is G2 since G1 has already been selected by r1. At first,<br />

according to the topology <strong>and</strong> the already defined plan <strong>for</strong> r1, from the<br />

nodes <strong>and</strong> < N1, 1> can be reached. In fact, if we simulate the plan of<br />

r1, moving to R1 will entail no conflict <strong>and</strong> would have just the cost of traveling the<br />

distance; thus g() = 1.2. In the other case, moving to R2 at time 1, will<br />

conflict <strong>with</strong> r1 who is moving there at the same time. In this case, our model will tell<br />

us that we have to wait <strong>for</strong> r1 to first reach N1 (<strong>with</strong> a cost of 0.8) <strong>and</strong> then leave it<br />

(<strong>with</strong> a cost of 0.8). Then, we would be able to reach N1 <strong>with</strong> a cost of 1. Thus the total<br />

cost of reaching N1 at time 1 will be g() = 2.6 (i.e. 0.8 + 0.8 + 1).<br />

Moreover, the heuristic values <strong>for</strong> these states (obtained by pre-computing the Dijkstra<br />

algorithm) are: h() = 1.4 <strong>and</strong> h(< N1, 1>) = 1. Thus, according to<br />

the well-known <strong>for</strong>mula f (n) = g(n) + h(n), will be selected. Similarly,


6.4. Global exploration monitoring 121<br />

nodes <strong>and</strong> will be exp<strong>and</strong>ed next <strong>and</strong> the planning process will<br />

continue until the plan (, , ) is found. Notice that, <br />

is different from since r2 will already have moved away from N1 at time-step<br />

2.<br />

6.4.3 Monitoring agent<br />

The monitoring agent MA constructs the map represented as the graph G online <strong>and</strong><br />

identifies the frontier RFIDs, which are RFIDs at incompletely explored areas. Moreover,<br />

MA will monitor the local exploration <strong>and</strong> possibly identify, <strong>with</strong> one of the previously<br />

described techniques, a multi-robot plan in order to move robots to locations<br />

offering better per<strong>for</strong>mance expectations <strong>for</strong> the local exploration.<br />

At execution time the robots send to MA their RFID locations (i.e. the nearest RFID<br />

they can perceive). Every time a robot changes its RFID position from r i to r i+i , MA<br />

updates the set S L of current robot locations <strong>and</strong> updates the graph as follows: E =<br />

E ∪ {(r i , r i+1 )} <strong>and</strong> V = V ∪ {r i } ∪ {r i+1 }.<br />

The monitoring process collects in<strong>for</strong>mation continuously regarding the unexplored<br />

area in the vicinity of the RFIDs based on the local occupancy grid to identify the<br />

frontier RFIDs U. Roughly, the robot knows how many RFIDs, given the defined deployment<br />

density, should be placed per square meter <strong>and</strong> which is the density they<br />

perceive. There<strong>for</strong>e, they are able to compute an estimate on how much the area has<br />

been explored in the proximity of the RFIDs they visit.<br />

MA periodically evaluates the position of the robots on the graph <strong>and</strong> their distance<br />

from the frontier nodes U. If this value exceeds a given threshold, it stops the robots<br />

<strong>and</strong> computes a new multi-robot plan. Once a valid plan has been produced, MA starts<br />

to drive the robots by assigning to each of them the next RFID prescribed by their<br />

plans. Robots plan between RFIDs by using A* on the occupancy grid <strong>and</strong> the teammate<br />

avoidance, as described in Section 6.2.1, but <strong>with</strong> RFID locations as goals rather<br />

than frontier cells. If the plan execution fails due to unobservable RFIDs or obstructed<br />

connections, a failure message is sent to MA. MA will consequently remove the node<br />

<strong>and</strong> its edges from the graph G <strong>and</strong> re-plan. When the target RFID is reached, a task accomplished<br />

message is sent to MA, which will assign another task or send a global plan<br />

termination message. In the latter case, the robots will start again <strong>with</strong> local exploration.<br />

Further, during the multi-robot plan execution, the planner monitors exploration <strong>for</strong><br />

detecting un<strong>for</strong>eseen situations. For example, if a robot does not send an accomplished<br />

task message or an RFID position <strong>for</strong> a long time, it is considered lost <strong>and</strong> removed<br />

from the robot list. During multi-plan execution deadlocks might occur. This is due to<br />

the fact that the current system does not allow to predict the exact order in which tasks<br />

will be accomplished. This issue is currently solved by re-planing the assignment if a<br />

deadlock occurs, or by restarting local exploration if no better plans can be found.


122 Chapter 6. RFID Technology-based Multi-Robot <strong>Exploration</strong><br />

6.5 Experiments<br />

We utilized a simulated model of the Zerg robot, that captures the same physical properties<br />

as the real one, e.g. a four wheel drive, an RFID tag release device, an RFID<br />

antenna, Inertial Measurement Unit (IMU), <strong>and</strong> LRF. The sensors of the model are simulated<br />

<strong>with</strong> the same parameters as the real sensors, expect the real RFID reading <strong>and</strong><br />

writing range. Without loss of generality, these ranges have been extended to two meters,<br />

since this parameter mainly depends on the size of the transmitter’s antenna, which<br />

can also be replaced.<br />

6.5.1 Evaluation of the local approach<br />

The local approach has been tested intensively <strong>with</strong> the USARSim simulator ( [Carpin<br />

et al., 2006a, Carpin et al., 2006b, Balakirsky et al., 2006]) <strong>for</strong> various environments<br />

generated by the National Institute of St<strong>and</strong>ards <strong>and</strong> Technology (NIST). They provide<br />

both indoor <strong>and</strong> outdoor scenarios of the size bigger than 1000 m 2 , reconstructing the<br />

situation after a disaster. Since USARSim allows <strong>for</strong> the simulated deployment of heterogeneous<br />

robot types in a wide range of different scenarios, it offers an ideal per<strong>for</strong>mance<br />

metric <strong>for</strong> comparing multi-robot systems. Furthermore, the ef<strong>for</strong>t of evaluating<br />

large robot teams is greatly reduced. The local approach was applied in USARSim during<br />

the RoboCup’06 Virtual Robots Competition, where our team won the first prize ∗ .<br />

During this competition, virtual teams of autonomous or tele-operated robots had to<br />

find victims <strong>with</strong>in 20 minutes while exploring an unknown environment. The simulation<br />

system was capable of simulating up to 12 robots at the same time. Most of<br />

the other teams applied frontier cell-based exploration on global occupancy grids. In<br />

particular: selfish exploration <strong>and</strong> map merging [Nevatia et al., 2006] (IUB), map merging<br />

<strong>and</strong> local POMDP planning [Pfingsthorn et al., 2006] (UVA), operator-based frontier<br />

selection <strong>and</strong> task assignment (SPQR), <strong>and</strong> tele-operation (STEEL) <strong>and</strong> (GROK).<br />

The competition was held in three preliminary rounds, two semifinals <strong>and</strong> two finals.<br />

In the following the results in terms of exploration <strong>and</strong> victim discovery of our team<br />

RRFreiburg compared to the results of other teams at the competition are presented.<br />

<strong>Exploration</strong> was evaluated based on the totally explored area of each team. These<br />

values were automatically computed from the logs of the server hosting the simulator.<br />

Table 6.1 gives an overview of the number of deployed robots, <strong>and</strong> the area explored by<br />

each team. It also provides additional in<strong>for</strong>mation such as the ratio between the totally<br />

explored area <strong>and</strong> the summed distance traveled by all robots (Area/Length). Furthermore,<br />

the average area explored by a single robot of each team is shown (Area/#robots).<br />

The result shows clearly that our team was able to deploy the largest robot team, while<br />

exploring an area bigger than any other team. Due to the modest computational re-<br />

∗ Virtual <strong>Rescue</strong> Robots Freiburg: www.in<strong>for</strong>matik.uni-freiburg.de/∼rescue/virtual


6.5. Experiments 123<br />

RRFreiburg GROK IUB SPQR STEEL UvA<br />

Preliminary 1 # Robots 12 1 6 4 6 1<br />

Area [m 2 ] 902 31 70 197 353 46<br />

Area/Length 0,65 1,33 0,49 0,89 0,98 0,82<br />

Area/#robots 75,17 31 11,67 49,25 58,83 46<br />

Preliminary 2 # Robots 12 1 4 4 6 8<br />

Area [m 2 ] 550 61 105 191 174 104<br />

Area/Length 0,35 0,92 0,7 0,9 0,83 0,56<br />

Area/#robots 45,83 61 26,25 47,75 29 13<br />

Preliminary 3 # Robots 10 1 5 7 6 7<br />

Area [m 2 ] 310 59 164 44 124 120<br />

Area/Length 0,38 1,02 0,64 0,88 0,53 0,41<br />

Area/#robots 31 59 32,8 6,29 20,67 17,14<br />

Semifinal 1 # Robots 8 1 6 4 6 6<br />

Area [m 2 ] 579 27 227 96 134 262<br />

Area/Length 0,23 0,68 0,88 0,67 0,7 0,72<br />

Area/#robots 72,38 27 37,83 24 22,33 43,67<br />

Semifinal 2 # Robots 8 1 6 5 6 7<br />

Area [m 2 ] 1276 82 139 123 139 286<br />

Area/Length 0,51 1,03 0,91 0,99 0,51 0,71<br />

Area/#robots 159,5 82 23,17 24,6 23,17 40,86<br />

Final 1 # Robots 8 - 8 - - -<br />

Area [m 2 ] 1203 - 210 - - -<br />

Area/Length 0,47 - 0,93 - - -<br />

Area/#robots 150,38 - 26,25 - - -<br />

Final 2 # Robots 8 - 6 - - -<br />

Area [m 2 ] 350 - 136 - - -<br />

Area/Length 0,2 - 0,53 - - -<br />

Area/#robots 43,75 - 22,67 - - -<br />

Table 6.1: <strong>Exploration</strong> Results from RoboCup ’06<br />

sources needed by the local approach, we were able to run 12 robots on a single Pentium4,<br />

3 GHz.<br />

Victim points were awarded <strong>for</strong> both locating victims <strong>and</strong> providing extra in<strong>for</strong>mation.<br />

Table 6.2 summarizes the victim in<strong>for</strong>mation reported by each team. In particular,<br />

the table shows the number of victims identified, the bonus <strong>for</strong> reporting the status (i.e<br />

10 points <strong>for</strong> each victim status) extra in<strong>for</strong>mation such as pictures (up to 20 points <strong>for</strong><br />

each report), <strong>and</strong> accurate localization of the victims (up to 20 points).<br />

Figure 6.3 (a-b) depicts the joint trajectory of each team generated during the semifinal<br />

<strong>and</strong> final <strong>and</strong> (c-d) shows the single trajectory of each robot of our team on the<br />

same map, respectively. The efficiency of the RFID-based coordination is documented<br />

by the differently colored trajectories of each single robot.


124 Chapter 6. RFID Technology-based Multi-Robot <strong>Exploration</strong><br />

RRFreiburg GROK IUB SPQR STEEL UvA<br />

Preliminary 1 reported victims 5 2 1 1 2 0<br />

status bonus 20 0 10 0 20 0<br />

victim bonus - - - - - -<br />

Preliminary 2 reported victims 2 1 1 3 2 1<br />

status bonus 20 0 10 30 20 0<br />

victim bonus - - 15 - 30 -<br />

Preliminary 3 reported victims 5 3 3 1 5 3<br />

status bonus 50 0 0 0 50 0<br />

victim bonus - 45 30 - 60 -<br />

Semifinal 1 reported victims 8 4 7 6 7 6<br />

status bonus 70 20 30 50 60 30<br />

victim bonus - 60 105 45 90 -<br />

localization bonus 80 20 70 48 70 60<br />

Semifinal 2 reported victims 16 4 5 9 14 2<br />

status bonus 80 0 40 60 140 0<br />

victim bonus - 45 75 75 0 -<br />

localization bonus 160 40 50 90 140 20<br />

Final 1 reported victims 10 - 3 - - -<br />

status bonus 60 - 30 - - -<br />

victim bonus - - 60 - - -<br />

localization bonus 100 - 30 - - -<br />

Final 2 reported victims 10 - 5 - - -<br />

status bonus 80 - 10 - - -<br />

victim bonus - - 30 - - -<br />

localization bonus 100 - 50 - - -<br />

Table 6.2: Victim scoring results from RoboCup ’06<br />

6.5.2 Evaluation of the global approach<br />

Efficiency in terms of conflict detection <strong>and</strong> joint path length optimization was evaluated<br />

on the basis of both artificially generated, <strong>and</strong> robot team generated RFID graphs.<br />

The artificially generated graphs, consisting of approximately 100 nodes, are weakly<br />

connected in order to increase the difficulty of the planning problem, whereas the graph<br />

generated by the robots, consisting of approximately 600 nodes, represents a structure<br />

naturally arising from an office-like environment.<br />

Figure 6.4 depicts the result from evaluating greedy assignment, genetic optimized<br />

assignment, <strong>and</strong> sequence optimization on these graphs. Each method was applied <strong>with</strong><br />

a fixed number of r<strong>and</strong>omized goals <strong>and</strong> starting positions 10 times. We experimented<br />

<strong>with</strong> different sizes of robot teams ranging from 2 to 20. The abrupt ending of the<br />

curves indicate the size of the agent team, at which no more solutions could be found,<br />

i.e. the scoring function returned infinity. Note that <strong>for</strong> all the experiments, the genetic<br />

algorithm was constrained to compute <strong>for</strong> no more than one second.<br />

The result makes it clear that sequence optimization helps to decrease both the over-


6.5. Experiments 125<br />

(a)<br />

(b)<br />

(c)<br />

(d)<br />

Figure 6.3: <strong>Exploration</strong> scoring trajectories recorded during the finals: (a,b) Comparison<br />

between our approach (red line) <strong>and</strong> all other teams. (c,d) Coordinated exploration<br />

of our robots <strong>with</strong> each robot represent by a different color.<br />

all path costs <strong>and</strong> the number of conflicts between single robot plans. Moreover, the<br />

method yields solutions <strong>with</strong> nearly no conflicts on the graph dynamically generated by<br />

the robot team (see Figure 6.4 (c)). In order to compare the global <strong>and</strong> local approach<br />

in terms of the explored area, we conducted two experiments on a large map, <strong>for</strong> 40<br />

minutes each. Due to the global approach, the robots were able to explore 2093 m 2 of<br />

the map, in contrast to the team executing the local approach, exploring only 1381 m 2 of<br />

the area. The trajectories in Figure 6.5 indicate that this was mainly because the robots<br />

running the local approach were not able to overcome the local minima in the long hall.<br />

With the global approach, the robots discovered the passage leading to the large area<br />

beneath the hall.


126 Chapter 6. RFID Technology-based Multi-Robot <strong>Exploration</strong><br />

18<br />

18<br />

16<br />

14<br />

Greedy<br />

Sequence opt.<br />

Assignment opt.<br />

16<br />

14<br />

# Conflicts<br />

12<br />

10<br />

8<br />

6<br />

# Conflicts<br />

12<br />

10<br />

8<br />

6<br />

Greedy<br />

Sequence opt.<br />

Assignment opt.<br />

4<br />

4<br />

2<br />

2<br />

0<br />

2 4 6 8 10 12 14 16 18 20<br />

# Robots<br />

(a)<br />

0<br />

2 4 6 8 10 12 14 16 18 20<br />

# Robots<br />

(b)<br />

# Conflicts<br />

20<br />

18<br />

16<br />

14<br />

12<br />

10<br />

8<br />

6<br />

4<br />

2<br />

Greedy<br />

Sequence opt.<br />

Assignment opt.<br />

0<br />

2 4 6 8 10 12 14 16 18 20<br />

# Robots<br />

(c)<br />

Costs<br />

900<br />

800<br />

700<br />

600<br />

500<br />

400<br />

300<br />

200<br />

Greedy<br />

Sequence opt.<br />

Assignment opt.<br />

100<br />

2 4 6 8 10 12 14 16 18 20<br />

# Robots<br />

(d)<br />

800<br />

700<br />

600<br />

Greedy<br />

Sequence opt.<br />

Assignment opt.<br />

1600<br />

1400<br />

1200<br />

Greedy<br />

Sequence opt.<br />

Assignment opt.<br />

Costs<br />

500<br />

400<br />

Costs<br />

1000<br />

800<br />

300<br />

600<br />

200<br />

400<br />

100<br />

2 4 6 8 10 12 14 16 18 20<br />

# Robots<br />

(e)<br />

200<br />

2 4 6 8 10 12 14 16 18 20<br />

(f)<br />

# Robots<br />

Figure 6.4: Comparing the number of conflicts (a-c) <strong>and</strong> travel costs (d-f) of the three<br />

approaches on different RFID graphs: (a,d) narrow office-like environment, (b,e) narrow<br />

outdoor area, (c,f) graph generated from RFIDs deployed by the robots on a USARSim<br />

map.


6.6. Related work 127<br />

(a)<br />

(b)<br />

Figure 6.5: Comparing the locally <strong>and</strong> globally coordinated exploration. During local<br />

exploration (a) robots get stuck in a local minima. The global approach (b) allows the<br />

robots to leave the local minima <strong>and</strong> to explore a larger area<br />

6.6 Related work<br />

There has been a wide variety of approaches to robotic exploration, whereas most of<br />

them neither consider the optimization of multi-robot plans, nor do they directly address<br />

the problem of reliable map sharing between robots. Furthermore, they require <strong>for</strong> map<br />

exchange a minimal amount of communication b<strong>and</strong>width.<br />

Zlot et al. proposed an approach <strong>for</strong> coordinating multi-robot exploration guided by a<br />

market economy [Zlot et al., 2002]. Their method trades exploration tasks using singleitem<br />

first-price sealed-bid auctions between the robots. Although the system is partially<br />

functional <strong>with</strong> low b<strong>and</strong>width communication, it is unclear by which extend exploration<br />

efficiency decreases if communication is significantly perturbed. Methods <strong>for</strong><br />

local exploration have already been successfully applied in the past [Balch <strong>and</strong> Arkin,<br />

1994, Svennebring <strong>and</strong> Koenig, 2004]. It basically has been shown that multi-robot<br />

terrain coverage is feasible <strong>with</strong>out robot localization <strong>and</strong> communication. In their<br />

scenario, robots coordinate their tracks by leaving physical markings in the environment.<br />

However, it is unclear whether these markings can be reliably detected by the<br />

robots. Furthermore, physically markings are not desirable in every scenario. Burgard<br />

et al. [Burgard et al., 2005] contributed a method <strong>for</strong> greedy task assignment based on<br />

grid mapping <strong>and</strong> frontier cell exploration [Yamauchi, 1997]. Their approach trades off<br />

the in<strong>for</strong>mation gain if reaching frontier cells <strong>with</strong> the cost of moving to them. They<br />

do not consider conflicts between single robot plans, <strong>and</strong> require robots to start their<br />

mission close to each other <strong>with</strong> knowledge about their initial displacement. Also the<br />

idea of compressing maps <strong>for</strong> reducing the amount of data during communication has<br />

been considered [Meier et al., 2005]. In this work, the approximation of grid maps


128 Chapter 6. RFID Technology-based Multi-Robot <strong>Exploration</strong><br />

by polygons has been evaluated. The work by Bennewitz <strong>and</strong> colleagues [Bennewitz<br />

et al., 2001] focuses on the optimization of plans taken by multiple robots at the same<br />

time. They select priority schemes by a hill-climbing method that decides in which<br />

order robots plan to their targets [Erdmann <strong>and</strong> Lozano-Perez, 1987]. Plans are generated<br />

in the configuration time space by applying A* search on grid maps. Farinelli et<br />

al. considered a scenario where tasks to be accomplished are perceived by the robots<br />

during mission execution. [Farinelli et al., 2006]. The paper presents an asynchronous<br />

distributed mechanism based on Token Passing <strong>for</strong> allocating tasks in a team of robots.<br />

The coordinated movement of a set of vehicles has also been addressed in other<br />

domains, such as in the context of operational traffic control [Hatzack <strong>and</strong> Nebel, 2001],<br />

<strong>and</strong> the cleaning task problem [Jaeger <strong>and</strong> Nebel, 2001].<br />

6.7 Conclusion<br />

In this chapter a novel method <strong>for</strong> coordinated exploration of large robot teams has<br />

been contributed. The approach, which is based on RFID technology <strong>for</strong> indirect communication,<br />

is composed of two parts. First, distributed local search, <strong>with</strong> the notable<br />

properties of not requiring direct communication <strong>and</strong> scaling <strong>with</strong> the number of agents.<br />

Second, global task assignment <strong>and</strong> multi-robot path planning <strong>for</strong> monitoring the local<br />

exploration, <strong>and</strong> restarting it in better locations.<br />

The usage of RFIDs allows to build a significantly smaller representation of the environment<br />

compared to grid based approaches [Nevatia et al., 2006, Pfingsthorn et al.,<br />

2006, Burgard et al., 2005, Bennewitz et al., 2001]. The experimental results from<br />

RoboCup show that RFID-based coordination scales <strong>with</strong> large robot teams exploring<br />

large environments.<br />

Moreover, we extensively experimented <strong>with</strong> three approaches <strong>for</strong> solving the task<br />

assignment <strong>and</strong> planning problem. The first two are genetic <strong>and</strong> greedy task assignment<br />

techniques [Burgard et al., 2005], whereas the third is a variant of sequential<br />

planning [Bennewitz et al., 2001]. It has been shown that genetic optimization, particularly<br />

sequence optimization, outper<strong>for</strong>ms the greedy assignment in terms of conflict<br />

reduction <strong>and</strong> path length. With increasing number of robots, greedy assignment fails to<br />

provide executable solutions, whereas sequence optimization is able to solve problems<br />

<strong>with</strong> up to 20 robots. Finally, qualitative experiments <strong>with</strong> the full system have shown<br />

that the global method might lead to the exploration of areas that are more than double<br />

in size as achieved by the local approach.<br />

In Chapter 4 experiments have been conducted that demonstrated the capability of<br />

the real-robot plat<strong>for</strong>m Zerg to autonomously deploy <strong>and</strong> detect RFID tags in a cellar<br />

environment. Since the simulated robots are running the same software modules as the<br />

real robots, we are confident that the proposed exploration system is transferable to the<br />

real-robot plat<strong>for</strong>m.


6.7. Conclusion 129<br />

There are several issues that have to be considered by future work. First, the approach<br />

has to be evaluated on a real robot team exploring a larger area. Second, the plan<br />

execution phase of the approach can be further improved. It is considered to represent<br />

the generated multi-robot plans by Petri nets, allowing to verify online plans generated<br />

from task assignment <strong>and</strong> path planning [Ziparo <strong>and</strong> Iocchi, 2006]. Specifically multirobot<br />

plans are represented as a discrete event system <strong>with</strong> RFIDs as resources that may<br />

be owned by one robot at the time. Given this representation, plan executions can be<br />

simulated <strong>for</strong> computing a more precise plan evaluation. On the one h<strong>and</strong>, this facilities<br />

the optimization of robot waiting times if they are involved <strong>with</strong>in conflicts. On the<br />

other h<strong>and</strong>, it enables deadlock detection during the planning phase. Finally, the model<br />

allows to compute deadlock-free execution policies that can replace the r<strong>and</strong>omized<br />

priority ordering.


7 Victim Detection<br />

7.1 Introduction<br />

Robots deployed <strong>for</strong> exploration <strong>and</strong> mapping of an area after a disaster are required<br />

to per<strong>for</strong>m subtasks autonomously as much as possible. One primary goal is to deploy,<br />

under the surveillance of a human operator, a team of robots <strong>for</strong> coordinated victim<br />

search. This requires robots to per<strong>for</strong>m subtasks, such as victim detection, partially or<br />

even fully autonomously.<br />

The National Institute of St<strong>and</strong>ards <strong>and</strong> Technology (NIST) develops test arenas <strong>for</strong><br />

the simulation of situations after a disaster [Jacoff et al., 2001]. In this real-time scenario,<br />

robots have to explore an unknown area autonomously <strong>with</strong>in 20 minutes <strong>and</strong> to<br />

detect victims therein. There might be “faked” victim evidence, such as printed images<br />

of human faces, non-human motion, <strong>and</strong> heat sources that do not correspond to victims.<br />

The heat blanket in the fourth row of Figure 7.4, <strong>for</strong> example, would be wrongly<br />

reported as victim by most heat-seeking robots. Note that this example is particularly<br />

difficult due to the large size of the thermo signature, as well as the closely located<br />

evidence given by the skin-like color of the blanket, the face, <strong>and</strong> motion.<br />

Due to the real-time constraint in rescue-like applications, only fast computable<br />

techniques are admissible. During RoboCup’05 <strong>and</strong> RoboCup’06 the <strong>Rescue</strong>Robots<br />

Freiburg team successfully applied simple but fast classifiers <strong>for</strong> victim detection, such<br />

as color thresholding, motion detection, <strong>and</strong> shape detection on images taken by an infrared<br />

<strong>and</strong> color camera, respectively. However, the detection rate of these classifiers<br />

turns out to be moderate, since they are typically tuned <strong>for</strong> specific objects found in<br />

the environment. Hence, in environments containing many diverse objects, they tend<br />

to produce a large number of evidence frames, from which in the worst case most are<br />

false-positives, i.e objects that are wrongly recognized as victims. One solution to this<br />

problem is to combine local evidences, i.e. evidences that are close to each other in<br />

the real world, <strong>and</strong> to reason on their true class label <strong>with</strong> respect to their neighborhood<br />

relations. Markov R<strong>and</strong>om Fields (MRFs) provide a probabilistic framework <strong>for</strong><br />

representing such local dependencies. However, inference in MRFs is computationally<br />

expensive, <strong>and</strong> hence not generally applicable in real-time.<br />

In this chapter a novel approach <strong>for</strong> the genetic optimization of the building process of<br />

MRF models is contributed. The genetic algorithm determines offline relevant neighborhood<br />

relations, <strong>for</strong> example the relevance of the relation between evidence types<br />

131


132 Chapter 7. Victim Detection<br />

heat <strong>and</strong> motion, <strong>with</strong> respect to the data. These pre-selected types are then utilized<br />

<strong>for</strong> generating MRF models during runtime. First, the vertices of the MRF graph are<br />

constructed from the output of the weak classifiers. Second, edges between these nodes<br />

are added if the specific type of nodes can be connected by an edge type that has been<br />

selected during the optimization procedure.<br />

Experiments carried out on test data generated in environments of the NIST benchmark<br />

indicate that compared to the utilized Support Vector Machine (SVM) based classifier,<br />

the optimized MRF models reduce the false-positive rate. Furthermore, the optimized<br />

models turned out to be up to five times faster than the non-optimized ones at<br />

nearly the same detection rate.<br />

The remainder of this chapter is structured as follows. In Section 7.2 the underlying<br />

vision system is introduced, Section 7.3.1 explains the MRF model, <strong>and</strong> in Section 7.3.2<br />

the genetic model selection approach is introduced. In Section 7.5 related work is discussed.<br />

Finally, results from experiments are presented in Section 7.4, <strong>and</strong> the chapter<br />

is concluded in Section 7.6.<br />

7.2 Vision data processing<br />

The utilized vision system is part of the rescue robot Zerg, shown in Figure 7.1 (a),<br />

which is equipped <strong>with</strong> a Hokuyo URG-X004 Laser Range Finder (LRF), a ThermalEye<br />

Infra-Red (IR) camera, <strong>and</strong> a Sony DFW-V500 color camera. The LRF is capable of<br />

measuring distances up to 4000 mm <strong>with</strong>in a field of view (FOV) of 240 ◦ <strong>and</strong> the FOV<br />

of the IR <strong>and</strong> color camera are 50 ◦ <strong>and</strong> 70 ◦ , respectively. Please see Section 2.5 <strong>for</strong><br />

further details.<br />

In order to combine evidence from thermo <strong>and</strong> color images, we first project their<br />

pixels onto the 3D range scan, <strong>and</strong> second determine pixel-pixel correspondence by interpolating<br />

from best matching yaw <strong>and</strong> pitch angles found in both projections. Be<strong>for</strong>e<br />

camera images are projected onto the scan, they are linearized <strong>with</strong> respect to the intrinsic<br />

parameters of the camera. On color cameras, these parameters are usually calibrated<br />

from pixel to real-world correspondences generated by a test pattern, such as the printout<br />

of a chess board [Bradski, 2000]. In case of IR camera calibration, it is necessary<br />

to generate a test pattern that also appears on thermo images. This has been achieved<br />

by taking images from a heat reflecting metal plate covered <strong>with</strong> quadratic isolation<br />

patches in a chess board-like manner.<br />

From both images three different evidence types are generated, which are color, motion,<br />

<strong>and</strong> shape, respectively. Each evidence type is represented by a rectangular region<br />

described by the position <strong>and</strong> size (u, v, w, h) on the image, number of pixels included,<br />

<strong>and</strong> the real world position (x, y, z) of the center.<br />

Color pixels are segmented by fast thresholding [Bruce, 2000] in the YUV color<br />

space. In case of the IR camera, only the luminance (brightness) channel is used since


7.2. Vision data processing 133<br />

(a)<br />

(b)<br />

(c)<br />

(d)<br />

Figure 7.1: The autonomous rescue robot Zerg (a) <strong>and</strong> vision data from the same scene<br />

(b)-(d): A color image taken by the CCD camera (b), a thermo image taken by the IR<br />

camera (c), <strong>and</strong> a 3D scan taken by the 3D scanner (d).<br />

thermo images are represented by single values per pixel, which are proportional to the<br />

detected temperature. Pixels <strong>with</strong>in the same color class are merged into blobs by run<br />

length encoding, <strong>and</strong> represented by rectangular regions.<br />

Motion is detected by background subtraction of subsequent images. Let I t be an<br />

image at time t from a sequence of images I <strong>with</strong> I 0 = Background. Then, the difference<br />

between an image <strong>and</strong> the background can be calculated by AVG t = (1 − β) AVG t−1 +<br />

βI t , DIFF t = AVG t −I t , where AVG is the running average over all images <strong>and</strong> β a factor<br />

controlling the trade-off between latency <strong>and</strong> robustness. Pixels labeled as <strong>for</strong>eground<br />

are also merged into groupings by run length encoding <strong>and</strong> are represented by a set of<br />

rectangular regions.<br />

Shape detection is currently limited to the detection of human faces. We use the<br />

openCV [Bradski, 2000] implementation of the method from Viola <strong>and</strong> colleagues [Viola<br />

<strong>and</strong> Jones, 2001], which has been further improved by Lienhart [Lienhart <strong>and</strong>


134 Chapter 7. Victim Detection<br />

Maydt, 2002]. The method utilizes a cascade of haar-like features that are trained <strong>and</strong><br />

boosted from hundreds of sample images scaled to the same size. Since the classifier<br />

was mainly trained from images <strong>with</strong> faces aligned in the vertical direction, we rotated<br />

images <strong>for</strong> allowing the detection of faces aligned horizontally.<br />

7.3 Genetic model optimization<br />

7.3.1 Markov R<strong>and</strong>om Fields (MRFs)<br />

The series of images in Figure 7.4 (a) clearly show that single evidences are not sufficient<br />

to uniquely identify victims. There<strong>for</strong>e, it is necessary to consider neighborhood<br />

relations in order to reduce false-positive detections. Markov R<strong>and</strong>om Fields (MRFs)<br />

provides a probabilistic framework <strong>for</strong> representing local dependencies. A MRF is<br />

defined by an undirected graph G = (Y, E), where Y is a set of discrete variables<br />

Y = {Y 1 , . . . , Y N }, <strong>and</strong> E is a set of edges between them. Each variable Y i ∈ {1, . . . , K}<br />

can take on one of K possible states. Hence, G describes a joint distribution over<br />

{1, . . . , K} N .<br />

According to the approach of Anguelov et al. [Anguelov et al., 2005], we utilize pairwise<br />

Markov networks, where to each node a potential φ (y i ) <strong>and</strong> to each undirected edge<br />

E = {(i j)} (i < j) between two nodes a potential φ ( )<br />

y i , y j is associated. Consequently,<br />

the pairwise MRF model represents the joint distribution by:<br />

P φ (y) = 1 Z<br />

N∏ ∏<br />

φ i (y i ) φ i j (y i , y j ), (7.1)<br />

i=1 (i j)∈E<br />

where Z denotes a normalization constant, given by Z = ∑ y ′ ∏ N<br />

i=1 φ i(y ′ i ) ∏ (i j)∈E φ i j (y ′ i , y′ j ).<br />

A specific assignment of values to Y is denoted by y <strong>and</strong> represented by the set { }<br />

y k i of<br />

K · N indicator variables, <strong>for</strong> which y k i<br />

= I(y i = k). In order to foster the associativity of<br />

the model, we reward instantiations that have neighboring nodes, which are labeled by<br />

the same class. This is en<strong>for</strong>ced by requiring φ i j (k, l) = λ k i j , where λk i j<br />

> 1 <strong>for</strong> all k = l,<br />

<strong>and</strong> φ i j (k, l) = 1 otherwise [Taskar et al., 2004]. Inference is carried out by solving the<br />

( )<br />

maximum a-posterior (MAP) inference problem, i.e. to find arg max y P φ y .<br />

For our specific problem, we define the node potentials φ (y i ) by a vector of features<br />

which indicates the quality of the node’s corresponding evidence frame. These features<br />

are the size of the evidence frame, the number of included pixels, <strong>and</strong> the real world<br />

distance taken from the 3D range measurement. Likewise we define the edge potentials<br />

φ ( )<br />

y i , y j by a vector of features that indicates the quality of neighborhood relations.<br />

Edges are build from combinations of the evidence types introduced in Section 7.2. In<br />

our case there exist 36 possible edge types, given the 6 different types of evidence. For


7.3. Genetic model optimization 135<br />

example, the edge type isWarmSkin describes the combination of the features heat <strong>and</strong><br />

skinColor. The feature vector of an edge includes the type of the edge <strong>and</strong> the realworld<br />

distance measurement between both nodes. Some edge features are shown in<br />

Table 7.1.<br />

IR-Heat IR-Motion IR-Face<br />

IR-Heat isSameType isWarmMotion isWarmFace<br />

IR-Motion - isSameType isMovingFace<br />

IR-Face - - isSameType<br />

Color-Skin - - -<br />

Color-Motion - - -<br />

Color-Face - - -<br />

Color-Skin Color-Motion Color-Face<br />

IR-Heat isWarmSkin isWarmMotion isWarmFace<br />

IR-Motion isMovingSkin isWarmMotion isMovingFace<br />

IR-Face isSkinFace isMovingFace isWarmFace<br />

Color-Skin isSameType isMovingSkin isSkinFace<br />

Color-Motion - isSameType isMovingFace<br />

Color-Face - - isSameType<br />

Table 7.1: Feature combinations of evidence types heat/skin, motion, <strong>and</strong> face, generated<br />

from color images <strong>and</strong> thermo images, respectively.<br />

The MRF graph is dynamically constructed <strong>for</strong> each image from the video stream<br />

during runtime (see Figure 7.2 <strong>for</strong> an example). First, we generate from the image<br />

data six sets of evidence frames, as described in Section 7.2. From these sets, six<br />

types of MRF nodes are generated by calculating the feature vectors <strong>for</strong> each node<br />

potential, where each node type corresponds to one type of evidence. Second, edges<br />

between nodes are generated. Each node connects to the four closest neighbors in its<br />

vicinity if they are <strong>with</strong>in close real-world distance, which was maximally 60cm in<br />

our implementation. Finally, <strong>for</strong> each edge a feature vector <strong>for</strong> its edge potential is<br />

calculated.<br />

For the sake of simplicity, we represent potentials by a log-linear combination log φ i (k) =<br />

w k n · x i <strong>and</strong> log φ i j (k, k) = w k e · x i j , where x i denotes the node feature vector, x i j the edge<br />

feature vector, <strong>and</strong> w k n <strong>and</strong> w k e the row vectors according to the dimension of node features<br />

<strong>and</strong> edge features, respectively. Consequently, we can denote the MAP inference<br />

( )<br />

problem arg max y P φ y by:<br />

arg max<br />

y<br />

N∑ K∑<br />

∑ K∑<br />

(w k n · x i )y k i + (w k e · x i j )y k i yk j . (7.2)<br />

i=1 k=1<br />

(i j)∈E k=1


136 Chapter 7. Victim Detection<br />

Figure 7.2: MRF graph online constructed from features detected in the thermo <strong>and</strong><br />

color images. Note that the number of shown features has been reduced <strong>for</strong> the sake of<br />

readability.<br />

Equation 7.2 can be solved as a linear optimization problem by replacing the quadratic<br />

term y k i yk j<br />

<strong>with</strong> the variable y k i j <strong>and</strong> adding the linear constraints yk i j<br />

≤ y k i<br />

<strong>and</strong> y k i j<br />

≤ y k j .<br />

Hence, the linear programming <strong>for</strong>mulation of the inference problem can be written as:<br />

max<br />

N∑<br />

i=1<br />

K∑<br />

∑<br />

(w k n · x i )y k i +<br />

k=1<br />

s.t. y k i ≥ 0, ∀i, k;<br />

(i j)∈E k=1<br />

K∑<br />

(w k e · x i j )y k i j (7.3)<br />

∑<br />

y k i = 1,<br />

y k i j ≤ yk i , yk i j ≤ yk j , ∀i j ∈ E, k,<br />

which can, <strong>for</strong> example, be solved by the Simplex method. Furthermore, it is necessary<br />

to learn the weight vectors <strong>for</strong> the node <strong>and</strong> edge potential from data, which has been<br />

carried out by utilizing the maximum margin approach recommended by Taskar <strong>and</strong><br />

colleagues [Taskar et al., 2003].<br />

k<br />

∀i;<br />

7.3.2 Model selection<br />

In general, solving the MAP inference problem, as shown in Section 7.3.1, is NPhard<br />

[Shimony, 1994]. Also in case of the considered two-class problem one notices<br />

an increase in computation time if the number of nodes <strong>and</strong> edges, <strong>and</strong> thus size of the


7.3. Genetic model optimization 137<br />

linear programming problem, grows.<br />

Computation time is an important issue if applying the detection method, <strong>for</strong> example,<br />

to live video streams taken by a camera in a <strong>Search</strong> <strong>and</strong> <strong>Rescue</strong> scenario. Furthermore,<br />

the efficiency of specific evidence correlations (edge types in the MRF graph)<br />

depends on the scenario where the classifier is applied. For example, heat sources might<br />

be a stronger evidence <strong>for</strong> human bodies in an outdoor scenario as it would be in an indoor<br />

scenario <strong>with</strong> many heat sources, such as PCs <strong>and</strong> radiators. There<strong>for</strong>e, our goal is<br />

to reduce the computation time of the MRF model by selecting edge types that significantly<br />

improve the classifier <strong>with</strong> respect to the data. For example, measurements from<br />

different sensor types are generally more significant than measurements from a single<br />

sensor type. The two edges between the motion node <strong>and</strong> the two heat nodes in Figure<br />

7.2 are more valuable than a single connection between heat nodes only. However,<br />

by selecting the four closest nodes both heat nodes would be connected.<br />

There<strong>for</strong>e, we examined the contribution of specific edge types to the overall detection<br />

rate. This has been carried out by learning MRF models <strong>with</strong> different sets of<br />

activated edge types while measuring accuracy <strong>and</strong> computation time needed <strong>for</strong> inference.<br />

Figure 7.3 summarizes the result, where each data point corresponds to a specific<br />

combination of edge types. MRF inference needs between 2 ms <strong>and</strong> 16 ms, depending<br />

100<br />

80<br />

Correct classified [%]<br />

60<br />

40<br />

20<br />

False Positives<br />

Correct classified<br />

False Positive [%]<br />

0<br />

0 2 4 6 8 10 12 14 16<br />

Computation Time [ms]<br />

Figure 7.3: Comparing model complexity (computation time) <strong>with</strong> the percentage of<br />

correctly classified vision features (green), <strong>and</strong> the percentage of false positives (red).<br />

Each data point corresponds to a MRF model <strong>with</strong> specific types of edges activated.<br />

on the combination of activated edge features. Surprisingly, a higher amount of computation<br />

time does not necessarily yield better classifier per<strong>for</strong>mance. Good classifier<br />

per<strong>for</strong>mance can be achieved already at a much smaller computation time than needed


138 Chapter 7. Victim Detection<br />

<strong>for</strong> computing models containing all types of edges if the significant edge types are<br />

activated.<br />

However, since the complexity of exhaustive search is in O (2 n ), <strong>and</strong> learning a single<br />

classifier takes a comparably high amount of time, finding optimal edge types is<br />

intractable in the general case. There<strong>for</strong>e, we applied a genetic algorithm <strong>for</strong> selecting<br />

the most efficient combinations of edges. The scoring function <strong>for</strong> guiding the search<br />

has been defined by the trade-off between classifier per<strong>for</strong>mance <strong>and</strong> computation time:<br />

S = U − αC (p i ) , (7.4)<br />

where U corresponds to the utility metric, C (.) denotes a cost function reflecting the<br />

model complexity, p i denotes the ith permutation, <strong>and</strong> α is a parameter regulating the<br />

trade-off. Depending on the needs of the specific application, U can be computed, <strong>for</strong><br />

example, from the negative false-positive rate, the total number of correctly classified<br />

evidence frames, <strong>and</strong> the percentage of the correctly classified area. Without loss of<br />

generality, we decided to use the area-based utility metric since it en<strong>for</strong>ces the detection<br />

of body silhouettes rather than frames on their own. The series in Figure 7.4 (c) depicts<br />

this metric <strong>for</strong> true positives by the blue cluster, which was build by the union of all true<br />

positive evidence frames in the image.<br />

The scoring function is utilized as fitness function <strong>for</strong> the genetic algorithm (GA).<br />

Solutions, i.e. specific combinations of edge types, are represented <strong>for</strong> the genetic optimization<br />

as a binary string. Each edge type is represented by a bit, <strong>and</strong> set to true or<br />

false regarding the activation of the corresponding edge type. In order to guarantee that<br />

good solutions are preserved <strong>with</strong>in the genetic pool, the so-called elitism mechanism,<br />

which <strong>for</strong>ces the permanent existence of the best found solution in the pool, has been<br />

used. Furthermore, we utilized a simple one-point-crossover strategy, a uni<strong>for</strong>m mutation<br />

probability of p ≈ 1/n, <strong>and</strong> a population size of 10. In order to avoid that solutions<br />

are calculated twice, all computed solutions are memorized by their binary string in a<br />

hash map.<br />

7.4 Experiments<br />

We generated more than 6000 labeled examples from video streams recorded in a NIST<br />

arena-like environment <strong>and</strong> split them into three folds. The training data contained true<br />

evidence which is exclusively generated from human bodies <strong>and</strong> false evidence, which<br />

is generated from artificial sources, such as a heat blanket, laptop power supply, printouts<br />

of faces, moving objects, <strong>and</strong> objects <strong>with</strong> skin-like texture, such as wood. Figure<br />

7.4 (a) depicts some examples from the training data. Each color frame corresponds<br />

to an evidence type <strong>and</strong> green frames correspond to face detection, orange frames to heat<br />

detection, red frames to color detection, <strong>and</strong> yellow frames to motion detection. Note


7.4. Experiments 139<br />

that the training data contained intentionally many cases in which the vision system<br />

produces ambiguous evidences. From this data, MRF models were trained by K-fold<br />

cross-validation, <strong>with</strong> K = 3.<br />

In order to evaluate the model selection, we reduced the total set of edge types from<br />

32 to 9 since in our case some feature combinations represent the same concept, as<br />

<strong>for</strong> example, the combinations of heat from the thermo images together <strong>with</strong> face from<br />

the color images, <strong>and</strong> face <strong>and</strong> heat both from the thermo image. The genetic model<br />

selection was evaluated by multiple runs <strong>with</strong> varied parameter α <strong>and</strong> varied scoring<br />

metric (Equation 7.4), e.g. based on the false-positive rate, total error, <strong>and</strong> total area.<br />

In average, the genetic selection yielded the optimal solution after considering 60 ± 7<br />

models, which is more than eight times faster than per<strong>for</strong>ming exhaustive search over<br />

all 512 possible models.<br />

For the selection of the final MRF model, we utilized the area-based scoring metric<br />

<strong>with</strong> α = 2.0. The genetic algorithm selected a classifier which activates, <strong>for</strong> example,<br />

the edge types motion ∧ f ace, heat ∧ skin, heat ∧ f ace, heat ∧ motion, <strong>and</strong> <strong>for</strong>bids<br />

motion ∧ skin, as well as all edge types between the same kind of nodes. Finally, the<br />

selected classifier reached an accuracy of 87.9% at 2.3 ms, in contrast to the classifier<br />

<strong>with</strong> all edges activated (88.76 % at 12.59 ms) <strong>and</strong> the classifier <strong>with</strong> no edges activated<br />

(71.33 % at 1.14 ms). Figure 7.4 shows some examples of the successful application<br />

of the classifier even to hard cases, such as small finger movements, <strong>and</strong> test persons<br />

completely surrounded by faked evidences.<br />

SVM<br />

MRF<br />

False False Err. False False Err.<br />

Pos. Neg. [%] Pos. Neg. [%]<br />

Human 23 433 39.4 26 143 14.6<br />

Faked 758 0 11.3 151 0 2.3<br />

Both 703 2689 32.8 484 836 12.8<br />

Total 1484 3122 21.0 661 979 7.5<br />

Table 7.2: Comparison of the SVM <strong>and</strong> MRF classifier: Numbers denote the amount of<br />

wrongly classified evidences in images containing humans, faked evidence, <strong>and</strong> both.<br />

We compared the per<strong>for</strong>mance of the optimized MRF model <strong>with</strong> a Support Vector<br />

Machine (SVM) [Vapnik, 1995] based classifier. The SVM was trained on the same<br />

features as they were generated <strong>for</strong> the MRF model, shown in Section 7.2, however,<br />

<strong>with</strong>out encoding of the links between the features. In Table 7.2 the per<strong>for</strong>mance <strong>for</strong><br />

classifying single evidence frames of both classifiers is reported. The results have been<br />

partitioned into three sets showing the per<strong>for</strong>mance on examples containing human evidence,<br />

faked evidence, <strong>and</strong> both. The result indicates that the optimized MRF model<br />

per<strong>for</strong>ms better in terms of false-positive classifications, particularly in situations con-


140 Chapter 7. Victim Detection<br />

taining exclusively faked data.<br />

In the context of <strong>Search</strong> <strong>and</strong> <strong>Rescue</strong> it is desirable to reach a high true-positive rate<br />

on each image, i.e. humans are detected reliably, <strong>and</strong> a low false-positive rate, i.e. no<br />

victim alarm from faked evidence. This is not directly expressed by the percentage of<br />

correctly classified frames since one wrongly detected frame <strong>with</strong>in an image suffices to<br />

trigger the false alarm, even all the others are detected correctly. There<strong>for</strong>e, we counted<br />

the true-positive <strong>and</strong> false-positive rate <strong>for</strong> both classifiers image-wise, i.e. images are<br />

counted as true-positive <strong>and</strong> false-positive if there is a single correct <strong>and</strong> a single wrong<br />

evidence found, respectively. It turned out that <strong>for</strong> images containing human evidence<br />

both MRF <strong>and</strong> SVM reported a victim correctly in 100% of the cases, whereas in images<br />

containing faked evidence, the SVM wrongly reported a victim in 60% <strong>and</strong> the MRF<br />

in 13% of the cases. Note that the result of the MRF model is comparably good, since<br />

the training data also contained images <strong>with</strong> more than three different types of faked<br />

evidence at the same time, which makes in this case a distinction from human beings<br />

impossible.<br />

7.5 Related work<br />

Human body detection <strong>and</strong> tracking has been mainly carried out based on background<br />

subtraction [Wren et al., 1997,Beleznai et al., 2004,Han <strong>and</strong> Bhanu, 2003] <strong>and</strong> featurebased<br />

detection [Viola et al., 2003,Cutler <strong>and</strong> Davis, 2000]. Pfinder is a system <strong>for</strong> realtime<br />

detection <strong>and</strong> tracking of human bodies based on background subtraction [Wren<br />

et al., 1997]. The background model, which is continuously updated, utilizes Gaussian<br />

distributions in the YUV color space at each pixel. <strong>Humans</strong> are modeled by blobs that<br />

are characterized by color, size, <strong>and</strong> the corresponding Gaussian distributions. It adopts<br />

a Maximum A Posterior (MAP) approach in order to assign pixels either to blobs or<br />

to the background. Beleznai et al. introduced a system <strong>for</strong> human body detection that<br />

considers the intensity difference between an input frame <strong>and</strong> a reference image based<br />

on the mean shift procedure [Beleznai et al., 2004]. Their method can be applied in<br />

real-time since all computation is per<strong>for</strong>med on integral images. Han et al. examined<br />

the problem of image registration of both thermal <strong>and</strong> color images [Han <strong>and</strong> Bhanu,<br />

2003]. They propose a genetic algorithm-based hierarchical search approach <strong>for</strong> image<br />

registration, which works on simple body silhouettes generated from background<br />

subtraction of both image types. Viola et al. are using a classifier trained on human<br />

shape <strong>and</strong> motion features [Viola et al., 2003]. The detector uses images as inputs<br />

<strong>and</strong> efficiently extracts simple rectangular features using integral images. A cascade of<br />

classifiers is created to achieve superior detection <strong>and</strong> low false positive rates. Each<br />

stage of the cascade is trained on true <strong>and</strong> false positives from the previous stage using<br />

Adaboost. Cutler et al. presented a technique <strong>for</strong> detecting periodic motions patterns,<br />

such as walking [Cutler <strong>and</strong> Davis, 2000]. They apply time-frequency analysis based


7.6. Conclusion 141<br />

on the short-time Fourier trans<strong>for</strong>m (STFT), <strong>and</strong> autocorrelation <strong>for</strong> robust periodicity<br />

detection <strong>and</strong> analysis.<br />

Support Vector Machines (SVMs) have been utilized <strong>for</strong> detecting human motion<br />

[Cao et al., 2004, Sidenbladh, 2004]. For example, Cao et al. presented a real-time system<br />

<strong>for</strong> motion detection using SVMs [Cao et al., 2004]. They utilized sets of filtered<br />

images, each encoding a short period of motion history, as input to the SVM. However,<br />

the described system seems not to be suitable <strong>for</strong> harsh environments, since it requires<br />

human motion to take place in the center of the image <strong>and</strong> trajectories have to be per<strong>for</strong>med<br />

perpendicular to the optical axis of the camera. MRFs have been successfully<br />

applied to pedestrian tracking [Wu <strong>and</strong> Yu, 2006] <strong>and</strong> face detection [Dass et al., 2002].<br />

For example, Dass et al. consider the spatial distribution of gray levels <strong>with</strong>in images<br />

of human faces [Dass et al., 2002]. Feature selection has been examined in various<br />

contexts, e.g. Kohavi et al. provides a good overview on various methods [Kohavi <strong>and</strong><br />

John, 1997].<br />

In the context of rescue robotics, Bahadori et al. studied various techniques from<br />

computer vision that have been applied to human body detection [Bahadori <strong>and</strong> Iocchi,<br />

2003]. Nourbakhsh et al. utilized a sensor fusion approach <strong>for</strong> incorporating the measurements<br />

from a microphone, IR camera, <strong>and</strong> conventional CCD camera [Nourbakhsh<br />

et al., 2005]. They assigned to each sensor a confidence value indicating the certainty<br />

of measurements from this sensor <strong>and</strong> calculated the probability of human presence by<br />

summing over all single sensor observation probabilities, weighted by their confidence<br />

value. However, in contrast to the proposed MRF approach, their method does not<br />

reflect local dependencies of detected evidence in the model.<br />

7.6 Conclusion<br />

We contributed a system that creates MRF models in real-time from motion, color, <strong>and</strong><br />

shape evidence, detected by a CCD camera <strong>and</strong> IR camera, respectively. In order to<br />

reduce computational complexity during inference, the building process of models was<br />

optimized by a genetic algorithm, which decides offline relevant edge types <strong>with</strong> respect<br />

to the data. Finally, the selected classifier was five times faster than the model<br />

<strong>with</strong> all edge types activated, while gaining optimal per<strong>for</strong>mance in terms of the complexity<br />

trade-off, <strong>and</strong> near-optimal per<strong>for</strong>mance in terms of accuracy. We compared<br />

the optimized model <strong>with</strong> a SVM <strong>and</strong> showed that the false-positive rate was significantly<br />

reduced, which is an important aspect when considering victim detection in the<br />

context of rescue robotics. From an image-wise evaluation of the classifier it can be<br />

concluded that the approach reliably detects victims if present <strong>and</strong> only in hard cases,<br />

i.e. if the number of faked evidences is high, false-positives occur. The classifier per<strong>for</strong>mance<br />

could be further improved by introducing temporal relations, i.e. by adding<br />

edges between evidences found in preceding images from the video stream.


142 Chapter 7. Victim Detection<br />

The proposed approach can be considered as a general framework <strong>for</strong> combining<br />

human evidence detected by sensors. For example, it can easily be extended <strong>for</strong> incorporating<br />

other types of human evidence, such as audio noise, e.g. tapping, <strong>and</strong> CO 2<br />

emission. Also given these evidence types, it will be interesting to determine correlations<br />

between them that significantly contribute to the classifier’s per<strong>for</strong>mance. Furthermore,<br />

we will consider in future work the extension of the class variable by classes<br />

describing the victim’s state, e.g. aware <strong>and</strong> unconscious. These classes can also be determined<br />

from correlations between different evidence types. For example, no detection<br />

of motion, but detection of CO 2 emission indicates the victim’s unconscious.


7.6. Conclusion 143<br />

(a) (b) (c)<br />

Figure 7.4: Examples from the test data: (a) Detected evidences: skin color (red), heat<br />

(orange), motion (white), face (green), (b) the same evidences after classification <strong>and</strong><br />

(c) all positive evidences clustered into areas.


8 Human In The Loop<br />

8.1 Introduction<br />

One challenge in disaster response is to join local observations made by first responders<br />

in the field, such as blocked or unblocked connections, <strong>and</strong> found victims, at a central<br />

comm<strong>and</strong> post in order to coordinate <strong>and</strong> schedule search <strong>and</strong> rescue missions. "Human<br />

in the loop" st<strong>and</strong>s <strong>for</strong> Multi-Agent-Systems (MAS) that directly combine perceptions<br />

<strong>and</strong> actions from humans <strong>with</strong> the decision making of the agents. In fact, humans<br />

are typically connected to the MAS via so-called proxies. Researchers in the field of<br />

Multi-Agent Systems (MAS) developed a rich set of solutions <strong>for</strong> efficiently coordinating<br />

agents, as well as simulators <strong>for</strong> evaluating these methods. The RoboCup <strong>Rescue</strong><br />

simulation system aims at simulating large-scale disasters <strong>and</strong> exploring new ways of<br />

autonomous coordination of rescue teams [Kitano et al., 1999]. The goal here is to<br />

provide a software system that reacts to simulated disaster situations by coordinating a<br />

group of simulated agents such as police, ambulance <strong>and</strong> firefighters. This goal leads<br />

to challenges like the coordination of heterogeneous teams <strong>with</strong> more than 30 agents,<br />

the exploration of large-scale environments in order to localize victims, as well as the<br />

scheduling of time-critical rescue missions.<br />

Applying the simulation system to the real world is problematic since it lacks the<br />

interface to the real world in<strong>for</strong>mation. Currently, the simulation system relies on carefully<br />

designed special-purpose map data <strong>and</strong> observations generated by the simulation<br />

itself, e.g. agent motion is computed by a traffic simulator. However, by using wearable<br />

computing technology, we can provide real-world observations to the simulation system.<br />

This has three uses: First, it can be used to record real-world data from real-world<br />

intervention scenarios <strong>and</strong> by this, assess the validity of the simulation. Second, it can<br />

be used to observe the reaction of the multi-agent systems to real-world data. Third,<br />

it is a step towards using both the simulation system <strong>and</strong> the multi-agent systems to<br />

support incident comm<strong>and</strong>ers <strong>and</strong> responders in training <strong>and</strong> real interventions by providing<br />

autonomous decision support <strong>and</strong> faster-than-real-time simulation <strong>for</strong> strategy<br />

decisions.<br />

In this chapter, we propose a wearable computing device <strong>for</strong> acquiring disaster relevant<br />

data, such as locations of victims <strong>and</strong> blockades, <strong>and</strong> show the process of successive<br />

data integration into the RoboCup <strong>Rescue</strong> simulation system. We assume that the<br />

locations of first responders are automatically tracked, which can either be carried out<br />

145


146 Chapter 8. Human In The Loop<br />

by GPS positioning or PDR combined <strong>with</strong> RFID-SLAM (see Chapters 3 <strong>and</strong> 4). Communication<br />

between wearable computing devices <strong>and</strong> the server is carried out based<br />

on the open GPX protocol [TopoGrafix, 2004] <strong>for</strong> GPS data exchange, which has been<br />

extended <strong>for</strong> additional in<strong>for</strong>mation relevant to the rescue task. By providing examples,<br />

we show how the data can be integrated <strong>and</strong> how rescue missions can be optimized<br />

by solutions developed on the RoboCup <strong>Rescue</strong> simulation plat<strong>for</strong>m. For this purpose,<br />

we introduce solutions that were developed by the ResQ Freiburg 2004 team [Kleiner<br />

et al., 2004], the winner of RoboCup 2004 ∗ . Besides planning <strong>and</strong> learning techniques,<br />

this package includes methods <strong>for</strong> the efficient coordination of victim search, <strong>and</strong> an<br />

any-time rescue sequence optimization based on a genetic algorithm.<br />

The utilized multi-agent system was extensively evaluated during the <strong>Rescue</strong> simulation<br />

competition in 2004. The proposed results provide a comparison of the agent<br />

team <strong>with</strong> other teams, particularly in terms of exploration <strong>and</strong> mission scheduling.<br />

The efficiency of these methods combined <strong>with</strong> the demonstrated real-world data integration<br />

indicates that wearable computing technology combined <strong>with</strong> MAS technology<br />

can serve as a powerful tool <strong>for</strong> Urban <strong>Search</strong> <strong>and</strong> <strong>Rescue</strong> (USAR). The proposed interface<br />

was demonstrated during the Infrastructure competition at RoboCup 2006, where<br />

it was awarded the first prize [Kleiner et al., 2006a].<br />

The remainder of this chapter is structured as follows. The interface between human<br />

rescue teams <strong>and</strong> the rescue simulator is proposed in Section 8.2. In Section 8.3 we<br />

introduce agent based solutions <strong>for</strong> search <strong>and</strong> rescue that can be applied to collected<br />

real-world data. In Section 8.4 we propose results from experiments on integrating<br />

real-world data into the <strong>Rescue</strong> simulation system, as well as results from evaluating<br />

the deployed multi-agent system. Finally, we discuss in Section 8.5 related work <strong>and</strong><br />

conclude in Section 8.6.<br />

8.2 Interfacing human first responders<br />

In wearable computing, one main goal is to build devices that support users during their<br />

primary task <strong>with</strong> little or no obstruction. Apart from the usual challenges of wearable<br />

computing [Starner, 2001a, Starner, 2001b], in the case of emergency response, the situation<br />

of the responder is a stressful one. In order to achieve primary task support <strong>and</strong><br />

user acceptance, special attention has to be given to user interface design. For this application,<br />

users need the possibility to enter in<strong>for</strong>mation about their observations, <strong>and</strong><br />

need feedback from the system, which recorded <strong>and</strong> transmitted the in<strong>for</strong>mation. Furthermore,<br />

the user needs to receive task-related instructions from the comm<strong>and</strong> center,<br />

such as assignments to victim search tasks.<br />

The implementation has to cope <strong>with</strong> multiple unreliable communication systems,<br />

∗ Note that the Open Source version of the software is freely available [ResQ Freiburg, 2004].


8.2. Interfacing human first responders 147<br />

such as existing cell phone networks, special-purpose ad-hoc communication, <strong>and</strong> existing<br />

emergency-response communication systems. As the analysis of the different<br />

properties of these communication systems is beyond the scope of this chapter, we<br />

will there<strong>for</strong>e abstract from them <strong>and</strong> assume an unreliable IP-based connectivity between<br />

the mobile device <strong>and</strong> a central comm<strong>and</strong> post. This assumption is motivated<br />

by the fact that both infrastructure-based mobile communication networks <strong>and</strong> current<br />

ad-hoc communication systems can transport IP-based user traffic. For example, the<br />

German company IABG implemented HiMoNN (High Mobility Network Node), a mobile<br />

ad-hoc network <strong>for</strong> catastrophe management allowing rapid in<strong>for</strong>mation transfer<br />

<strong>and</strong> secure communications via IP [IABG mbH, 2007].<br />

The situation of the device <strong>and</strong> its user is also characterized by harsh environmental<br />

conditions related to emergency response, such as fire, smoke, floods, wind, <strong>and</strong> chemical<br />

hazards. The device has to remain operable under such conditions <strong>and</strong> additionally<br />

has to provide alternative means of input, e.g. via gestures or textile devices, <strong>and</strong> output,<br />

e.g. head-mounted display <strong>and</strong> audio, under conditions that affect human sensing <strong>and</strong><br />

action abilities. Moreover, the system has to be integrated into the processes of emergency<br />

response, i.e. having no impact on response times of units <strong>and</strong> there<strong>for</strong>e should<br />

be integrated into the existing gear of responders.<br />

The wearable system has to track the location of the person continuously, which<br />

can either be carried out by GPS positioning, if the person walks outdoors, or by the<br />

PDR method described in Chapter 3, if the person walks indoors or close to buildings.<br />

Furthermore, RFID tags, which are already present or which are actively distributed,<br />

have to be detected, <strong>and</strong> crucial in<strong>for</strong>mation, such as data on victims, has to be logged<br />

by the system. If communication is possible, recorded data has to be transmitted to a<br />

central comm<strong>and</strong> post, which utilizes all trajectories <strong>and</strong> RFID observations <strong>for</strong> jointly<br />

optimizing the map by the RFID-SLAM method described in Chapter 4. Figure 8.1<br />

depicts the functional modules of the wearable system.<br />

8.2.1 Preliminary test system<br />

In order to analyze the properties of the communication <strong>and</strong> localization system, <strong>and</strong><br />

to test the software interface to the central server, a preliminary test system has been<br />

implemented, <strong>for</strong> which three requirements have been dropped: The design criteria according<br />

to harsh environmental conditions, alternative input methods <strong>and</strong> HMD-based<br />

user interface, <strong>and</strong> the PDR-based indoor localization capability. Note that the latter<br />

has been already extensively evaluated in Chapter 4.<br />

The communication <strong>and</strong> localization system is independent of the user requirements<br />

except <strong>for</strong> the fact that the system has to be portable. There<strong>for</strong>e, we chose a mobile<br />

GPS receiver device <strong>and</strong> a GSM cell phone device as our test implementation plat<strong>for</strong>m.<br />

The GPS receiver uses the bluetooth [IEEE, 2002] personal area network st<strong>and</strong>ard to<br />

connect to the cell phone. The cell phone firmware includes a Java VM, based on the


148 Chapter 8. Human In The Loop<br />

Figure 8.1: System diagram of the full system based on a GSM phone <strong>for</strong> data transmission<br />

connected to a belt-worn wearable computer, RFID reader, positioning device<br />

(either GPS or PDR), <strong>and</strong> a HMD.<br />

J2ME st<strong>and</strong>ard <strong>with</strong> JSR82 extensions, allowing Java applications, which are running<br />

on the VM, to present their user interface on the phone, <strong>and</strong> to communicate directly<br />

<strong>with</strong> nearby blue-tooth devices, as well as <strong>with</strong> Internet hosts via the GSM network<br />

GPRS st<strong>and</strong>ard.<br />

The implementation of the test application is straight<strong>for</strong>ward: It regularly decodes<br />

the current geographic position from the NMEA data stream provided by the GPS receiver<br />

<strong>and</strong> sends this in<strong>for</strong>mation to the (a priori configured) server IP address of the<br />

central comm<strong>and</strong> center. The utilized protocol between the cell phone <strong>and</strong> the comm<strong>and</strong><br />

center is based on the widely used GPX [TopoGrafix, 2004] st<strong>and</strong>ard <strong>for</strong> GPS<br />

locations. Among other things, the protocol defines data structures <strong>for</strong> tracks <strong>and</strong> waypoints.<br />

A track is a time stamped sequence of visited locations, whereas a waypoint<br />

describes a single location of interest, e.g. the peak of a mountain. We extended the<br />

protocol in order to augment waypoint descriptions <strong>with</strong> in<strong>for</strong>mation specific to disaster<br />

situations. These extensions allow rescue teams to report the waypoint-relative<br />

locations of RFIDs, road blockades, building fires, <strong>and</strong> victims. Currently, the wearable<br />

device automatically sends the user’s trajectory to the comm<strong>and</strong> center, whereas additional<br />

in<strong>for</strong>mation, such as the locations of victims or hazards, can be entered manually.<br />

A detailed description of the protocol extension can be found in Appendix 10.1.<br />

8.2.2 Wearable emergency-response system<br />

In order to fulfill all stated requirements, the full system was designed <strong>with</strong> additional<br />

hard- <strong>and</strong> software components. The system uses a wearable CPU core, the so-called


8.3. Multi Agent Systems (MAS) <strong>for</strong> disaster management 149<br />

qbic belt-worn computer [Amft et al., 2004] (see Figure 8.2 (a)). It is based on a ARM<br />

CPU running the Linux operating system, has a bluetooth interface, <strong>and</strong> can be extended<br />

via USB <strong>and</strong> RS232 interfaces. The wearable CPU core runs the main application program.<br />

For localization, the same mobile GPS receiver as in the test system is used, but<br />

can be replaced by a non-bluetooth serial device <strong>for</strong> increased reliability. For communication,<br />

the system can use multiple technologies, the GSM cell phone used <strong>for</strong> the test<br />

system, can be one of those † .<br />

As already stated, the design of the user interface is crucial <strong>for</strong> this application.<br />

There<strong>for</strong>e, we use a glove as wearable user input device [Lawo et al., 2006] <strong>and</strong> a<br />

wireless link between the user interface device <strong>and</strong> the wearable computer. Such an<br />

interface has already been designed <strong>for</strong> other applications, such as aircraft cabin operation<br />

[Nicolai et al., 2005]. Also the detection of RFIDs is carried out via the glove (see<br />

Figure 8.2 (e)). This facilitates the automatic detection of RFIDs when the user touches<br />

objects, such as a door frame or door knob, which were labeled <strong>with</strong> RFID tags.<br />

The primary output device is a head-mounted display that can be integrated into<br />

existing emergency-response gear, such as firefighter helmets <strong>and</strong> masks (see Figure 8.2<br />

(d)). In applications where headgear is not commonly used, the output can be provided<br />

also through a body-worn display device or audio output. The application software<br />

driving the user interface is based on the so-called WUI toolkit [Witt et al., 2006], which<br />

uses an abstract description to define user interface semantics independent of the input<br />

<strong>and</strong> output devices used. The application code is there<strong>for</strong>e independent of the devices,<br />

<strong>and</strong> robust towards different instances of the implementation, i.e. <strong>with</strong> or <strong>with</strong>out headmounted<br />

display. The WUI toolkit can also take context in<strong>for</strong>mation into account, such<br />

as the user’s current situation, in order to decide by which device <strong>and</strong> in what <strong>for</strong>m<br />

output <strong>and</strong> input are provided.<br />

8.3 Multi Agent Systems (MAS) <strong>for</strong> disaster<br />

management<br />

As has been shown in Chapter 4, the in<strong>for</strong>mation collected by the central station can be<br />

used <strong>for</strong> computing a globally consistent map. This map representation can be utilized<br />

further <strong>for</strong> the automatic optimization of search <strong>and</strong> rescue strategies by Multi-Agent<br />

Systems (MAS) methods. The communication protocol described in Section 8.2 has<br />

been particularly tailored according to the protocol of the RoboCup <strong>Rescue</strong> simulation<br />

kernel. This is motivated by the long-term goal of providing real-world data to the<br />

MAS community, as well as to facilitate the development of robust MAS methods <strong>for</strong><br />

† As we assumed IP-based connectivity, flexible infrastructure-independent transport mechanisms such<br />

as MobileIP [Perkins, 2002] can be used to improve reliability over multiple independent <strong>and</strong> redundant<br />

communication links.


150 Chapter 8. Human In The Loop<br />

(a) (b) (c)<br />

(d)<br />

(e)<br />

Figure 8.2: All parts of the wearable emergency-response system: (a) The qbic beltworn<br />

computer, (b) the Head-Mounted Display (HMD), (c) a firefighter jacket equipped<br />

<strong>with</strong> an IMU sensor <strong>for</strong> PDR, (d) the HMD worn by a test person, (e) a wireless RFID<br />

reader device, integrated into a glove.<br />

disaster management. We utilized the code base of the ResQ Freiburg team [Kleiner<br />

et al., 2005a] <strong>for</strong> evaluating MAS techniques in the context of urban search <strong>and</strong> rescue.<br />

In the following the integration of data captured by the interface, which has been discussed<br />

in Section 8.2, into the RoboCup <strong>Rescue</strong> simulation kernel is described. Moreover,<br />

the optimization of search <strong>and</strong> rescue tasks based on this data is discussed along<br />

<strong>with</strong> methods <strong>for</strong> the optimization of rescue sequences.<br />

8.3.1 Real-world data integration<br />

Generally, it is assumed that the wearable device of each human responder continuously<br />

reports the latest recorded positions in <strong>for</strong>m of track messages to the comm<strong>and</strong> center,<br />

if communication is possible. Additionally, the rescue team might provide in<strong>for</strong>mation<br />

<strong>for</strong> specific locations, as <strong>for</strong> example, indicating the successful exploration of an area,<br />

or the detection of a victim by triggering the according waypoint message at the current


8.3. Multi Agent Systems (MAS) <strong>for</strong> disaster management 151<br />

location.<br />

Based on an initial road map, the MAS continuously integrates all collected track<br />

data, <strong>and</strong> in<strong>for</strong>mation on the status of roads, e.g. whether they are passable at high costs<br />

or even impassable, as reported by the responders in the field. More specific, each<br />

connection between two locations is augmented <strong>with</strong> a weight that is computed from<br />

the distance, the amount of blockage, the number of crossings, <strong>and</strong> the number of other<br />

agents known to be located on the same road. The emerging graph structure is used<br />

as an input <strong>for</strong> the Dijkstra algorithm [Dijkstra, 1959] computing a connectivity matrix<br />

that stores <strong>for</strong> each human responder location the distance costs to any other location on<br />

the map. If places are unreachable, costs are infinite. In the worst case, the computation<br />

is in O (m + nlog (n)) <strong>for</strong> a single responder, where n is the total number of locations<br />

<strong>and</strong> m is the number of connections between them. The knowledge on the reachability<br />

between locations allows the system to recommend “safe” routes to rescue workers, as<br />

well as to optimize their target assignments by taking travel costs into account. Note that<br />

the connectivity matrix has to be re-computed if new in<strong>for</strong>mation on the connectivity<br />

between two locations is available, e.g. either if the blockage of a connection has been<br />

observed, or if a <strong>for</strong>merly blocked connection has been cleared.<br />

In case the procedure is applied <strong>with</strong> simulated agents, movement interactions are<br />

simulated by the Traffic simulator, <strong>and</strong> observations are according to a simulated disaster<br />

dynamic carried out by the Collapse simulator <strong>and</strong> Fire simulator [Nüssle et al.,<br />

2004], which are an integral part of the rescue simulation system. The sequence in Figure<br />

8.3 (a) shows the continuous update of the connectivity matrix <strong>for</strong> the blue region<br />

in the simulated City of Foligno.<br />

8.3.2 Coordinated victim search<br />

Victim search can only be coordinated efficiently if rescue teams synchronize in<strong>for</strong>mation<br />

on explored areas. There<strong>for</strong>e, the protocol described in Section 8.2 implements<br />

messages <strong>for</strong> reporting the clearance of explored areas, as well as the detection of a victim.<br />

The comm<strong>and</strong> center utilizes this in<strong>for</strong>mation <strong>for</strong> efficiently assigning rescue teams<br />

to unexplored locations that are reachable. The sequence in Figure 8.3 (b) shows the<br />

subsequently increasing knowledge on the status of the exploration, being transmitted<br />

to the control center by agents in the field. Regions that are marked <strong>with</strong> a yellow border<br />

indicate exploration targets assigned by the comm<strong>and</strong> center according to a global<br />

exploration strategy, which is described in the following.


152 Chapter 8. Human In The Loop<br />

(a)<br />

(b)<br />

Figure 8.3: Online data integration of in<strong>for</strong>mation reported by agents exploring the<br />

simulated City of Foligno: (a) The connectivity between the blue region <strong>and</strong> other locations<br />

increases over time due to the clearance of blocked roads, showing unreachable<br />

locations (white color), <strong>and</strong> reachable locations (red color). The brighter the red color,<br />

the better the location is reachable. (b) The subsequently increasing knowledge on the<br />

status of the exploration, given the in<strong>for</strong>mation communicated by agents in the field,<br />

showing passable roads (green color), explored regions <strong>with</strong> victim detection (green<br />

color) <strong>and</strong> <strong>with</strong>out (white color). Regions marked <strong>with</strong> a yellow border are exploration<br />

targets recommended by the comm<strong>and</strong> center agent.


8.3. Multi Agent Systems (MAS) <strong>for</strong> disaster management 153<br />

District exploration.<br />

District exploration is a multi-agent behavior <strong>for</strong> coordinated victim search. The behavior<br />

guarantees that at any time each agent has an assignment to an unexplored district<br />

on the map. One problem arising when defining districts after a fixed pattern, e.g. by<br />

overlaying equally sized rectangles, is that districts might be differently sized due to<br />

an inhomogeneous distribution of roads <strong>and</strong> buildings. Furthermore, places <strong>with</strong>in the<br />

same district might not be interconnected, making it unfeasible <strong>for</strong> agents to entirely<br />

explore the district they were assigned to. Districts are more effective if they are build<br />

according to the building distribution, <strong>and</strong> according to the connectivity of locations on<br />

the map, e.g. they should consist of locations <strong>with</strong> a high degree of inter-connectivity.<br />

The connectivity value of two locations depends on the number of alternative paths<br />

that can be found between them, the number of lanes, the degree of blockage of each<br />

connection, <strong>and</strong> the degree of uncertainty on the state of the connection.<br />

We utilized agglomerative [Bock, 1974] <strong>and</strong> KD-tree [Bentley, 1975] clustering in<br />

order to calculate a near optimal separation of the map into districts, <strong>and</strong> to compute<br />

a value expressing the approximative meta-connectivity between them. These methods<br />

calculate from a given connectivity graph G = 〈V, E〉, where V denotes the set of<br />

locations, <strong>and</strong> E the set of connections between them, a hierarchical clustering. According<br />

to a distance metric, each edge e ∈ E has a weight attached, which is considered<br />

during the clustering procedure. KD-tree clustering is a Divide <strong>and</strong> Conquer method,<br />

which can be efficiently per<strong>for</strong>med in O ( n log n ) , whereas agglomerative clustering, a<br />

Dynamic Programming method, can be carried out in O ( n 2)‡ [Eppstein, 2000]. However,<br />

in KD-tree clustering the distance metric has to be a L n -norm, e.g. the Euclidean<br />

or Manhattan distance, whereas in agglomerative clustering, the distance metric can be<br />

any arbitrary function.<br />

Agglomerative clustering methods are distinguished by the way how the distance<br />

between two clusters is computed. For example, in Single Linkage the minimum distance<br />

between objects o i <strong>and</strong> o j from cluster C i <strong>and</strong> C j is taken as distance between the<br />

clusters:<br />

d ( C i , C j<br />

)<br />

= min<br />

s,t<br />

{<br />

d (s, t) | os ∈ C i , o t ∈ C j<br />

}<br />

, (8.1)<br />

in Complete Linkage the maximum is taken by:<br />

d ( C i , C j<br />

)<br />

= max<br />

s,t<br />

{<br />

d (s, t) | os ∈ C i , o t ∈ C j<br />

}<br />

, (8.2)<br />

<strong>and</strong> in average linkage the average of all connections between objects from cluster C i<br />

‡ Note that that this bound only applies <strong>for</strong> Single Linkage, which will be described in the following.


154 Chapter 8. Human In The Loop<br />

<strong>and</strong> C j by:<br />

d ( C i , C j<br />

)<br />

=<br />

∑<br />

s∈C i<br />

∑t∈C j<br />

d (s, t)<br />

n i n j<br />

(8.3)<br />

We utilized Single Linkage in order to divide city maps into districts <strong>for</strong> exploration<br />

assignments. One significant advantage of agglomerative clustering is that the state of<br />

a connection, e.g. partial or full blockage, length <strong>and</strong> width of the road etc., can be<br />

considered directly <strong>for</strong> building the hierarchy. Figure 8.4 compares KD-tree clustering<br />

<strong>with</strong> agglomerative clustering on the map of Bremen. The figure shows that blocked<br />

roads (black crosses) are considered during agglomerative clustering, whereas KD-tree<br />

clustering, based on the Euclidean distance metric, separates the city map in nearly<br />

equally sized districts containing places that are unreachable.<br />

(a)<br />

(b)<br />

Figure 8.4: Comparison between (a) KD-tree clustering <strong>and</strong> (b) agglomerative clustering<br />

on the map of Bremen. Blocked roads (black crosses) are considered during<br />

agglomerative clustering, while KD-tree clustering, based on the Euclidean distance<br />

metric, separates the city map into nearly equally sized districts containing places that<br />

are unreachable from each other.<br />

Since agglomerative clustering represents the true connectivity of places, it is a better<br />

choice <strong>for</strong> district exploration. The hierarchical clustering, represented by a binary tree,<br />

provides at each level a partitioning of the map into n districts, reflecting the reachability<br />

of locations, e.g. locations which are highly connected are likely to be found <strong>with</strong>in the<br />

same cluster. Given the cluster tree, one can select a tree level according to the size of<br />

the search team, i.e. such that n ≥ m, where m denotes the number of agents <strong>and</strong> n the<br />

size of the clustering. Due to the fact that blockades on the map <strong>and</strong> hence the map’s<br />

connectivity is unknown to the agents in advance, the clustering has to be revised each<br />

time new in<strong>for</strong>mation arrives.


8.3. Multi Agent Systems (MAS) <strong>for</strong> disaster management 155<br />

Active <strong>Exploration</strong>.<br />

<strong>Exploration</strong> <strong>with</strong>in districts can be accelerated significantly if exploration targets are selected<br />

<strong>with</strong> respects to the expected utility of observed places, e.g. computed from the<br />

agent’s sensor model <strong>and</strong> traveling costs. Active exploration is a method that considers<br />

exploration utility U <strong>and</strong> traveling cost C when selecting target locations [Burgard<br />

et al., 2005]. In a search <strong>and</strong> rescue scenario, the expected utility <strong>for</strong> visiting places can<br />

be computed by joining observations from agents, such as audio noise <strong>and</strong> CO 2 concentration,<br />

into a single occupancy grid (see Section 5.2), while considering the senor<br />

model, e.g. maximal detection range <strong>and</strong> field of view, of each sensor.<br />

We utilized a simplified occupancy grid map <strong>for</strong> incorporating visual <strong>and</strong> auditory<br />

sensor observations from multiple agents. Note that also negative in<strong>for</strong>mation, e.g. no<br />

evidence detection at a certain location, as well as positive in<strong>for</strong>mation can be incorporated<br />

<strong>for</strong> increasing the efficiency of the search. Finally, from the set of locations L D<br />

that are <strong>with</strong>in the agent’s district, a target location l t is decided based on the trade-off<br />

between utility U (l) <strong>and</strong> travel cost T (l):<br />

l t = argmax U (l) − α ∗ T (l) (8.4)<br />

l∈L D<br />

where α is a constant regulating the trade-off between the estimated travel costs <strong>and</strong><br />

the exploration utility, which has to be determined experimentally. The estimated travel<br />

costs T (l) are taken from the connectivity matrix, computed by the Dijkstra algorithm.<br />

8.3.3 <strong>Rescue</strong> sequence optimization<br />

Since time is a critical issue during real disaster response, the survival rate of human<br />

victims depends on the optimal schedule of a rescue mission. For example, after a car<br />

accident on a highway, it is common practice <strong>for</strong> ambulance teams to decide the sequence<br />

of rescuing victims according to the degree of their injuries <strong>and</strong> accessibility.<br />

During a large-scale disaster, such as an earthquake, the efficient scheduling of rescue<br />

teams is even more important since there are probably many victims <strong>and</strong> often an insufficient<br />

number of rescue teams. Furthermore, the time needed <strong>for</strong> rescuing victims<br />

might significantly vary depending on the collapsed building structures trapping them.<br />

There<strong>for</strong>e, it is important that rescue teams in<strong>for</strong>m the station about the state of victims,<br />

e.g. conscious or unconscious, the degree of injuries, <strong>and</strong> their particular situation, e.g.<br />

surface, trapped, void, or entombed. This in<strong>for</strong>mation facilitates optimizing the schedule<br />

of rescue missions by the station <strong>for</strong> maximizing the overall number of survivors.<br />

In RoboCup <strong>Rescue</strong>, victims are reported <strong>with</strong> the three variables damage, health <strong>and</strong><br />

buridness, expressing an individual’s damage due to fire or debris, the current health that<br />

continuously decreases depending on damage, <strong>and</strong> the difficulty of rescuing the victim.<br />

From this variables, one can estimate an upper bound <strong>for</strong> the time necessary to rescue


156 Chapter 8. Human In The Loop<br />

a victim, <strong>and</strong> a lower bound <strong>for</strong> the time the victim will survive in the current state.<br />

We utilized Adaptive Boosting (Ada Boost) [Freund <strong>and</strong> Schapire, 1996] <strong>for</strong> learning<br />

the regression of a victim’s survival time, <strong>and</strong> linear regression <strong>for</strong> predicting the time<br />

needed <strong>for</strong> per<strong>for</strong>ming the rescue task, given the mentioned parameters. Furthermore,<br />

the travel times needed <strong>for</strong> reaching victim locations have been computed by averaging<br />

over sampled travel times needed by individual agents.<br />

It can be assumed that during a real disaster response scenario expert knowledge can<br />

be acquired <strong>for</strong> providing rough estimates on the resources needed <strong>for</strong> victim rescue,<br />

i.e. first responders might be able to estimate whether the removal of debris needs minutes<br />

or hours. Furthermore, the continuous sampling of first responder trajectories, e.g.<br />

acquired by PDR methods or GPS, can be utilized <strong>for</strong> automatically estimating travel<br />

times <strong>for</strong> different means of transport, e.g. by car or by feet, between specific locations<br />

[Liao et al., 2007].<br />

Given estimates on the survival time of victims, <strong>and</strong> the time needed <strong>for</strong> rescuing<br />

them, it is possible to compute the total number of survivors <strong>for</strong> any arbitrary rescue<br />

sequence. More specific, one can compute <strong>for</strong> each rescue sequence S = 〈t 1 , t 2 , ..., t n 〉<br />

of n rescue targets a utility U(S ) that is equal to the number of survivors. Consequently,<br />

the process of determining the optimal rescue sequence that maximizes U(S ) can be<br />

considered as an optimization problem. However, exhaustive search over all possible<br />

n! sequences is already <strong>for</strong> a little number of targets intractable. The Hungarian<br />

Method [Kuhn, 1955] is a polynomial algorithm <strong>for</strong> solving scheduling tasks, <strong>and</strong> finds<br />

the optimal task assignment in O ( mn 2) , where n is the number of workers, <strong>and</strong> m the<br />

number of tasks. However, the method requires that the time needed until a task is<br />

finished does not influence the overall outcome. This is clearly not the case <strong>for</strong> rescue<br />

tasks, since victims will not survive if they are rescued too late. Alternatively, Greedy<br />

heuristics can be deployed, <strong>for</strong> example, to schedule rescue missions first that require<br />

the least amount of time to be accomplished, or to schedule urgent rescue missions<br />

first, e.g. those <strong>with</strong> the least amount of victim survival time. However, it seems to be<br />

obvious that better solutions might be found by trading-off both of them.<br />

We utilized a Genetic Algorithm (GA) [Holl<strong>and</strong>, 1975] <strong>for</strong> the online optimization<br />

of rescue sequences. <strong>Rescue</strong> sequences are represented by integer strings, e.g. S =<br />

〈2, 5, 1, 3, 4〉, encoding each individual solution in a genetic pool. The genetic pool is<br />

initialized <strong>with</strong> heuristic solutions, <strong>for</strong> example, sequences that greedily prefer targets<br />

that can be rescued <strong>with</strong>in a short time or urgent targets that have only little chance of<br />

survival. The fitness function of solutions is given by the sequence utility U(S ), which<br />

itself is computed by simulating the expected outcome of the sequence. In order to<br />

guarantee that solutions in the genetic pool are at least as good as the heuristic solutions,<br />

the so-called elitism mechanism, which <strong>for</strong>ces the permanent existence of the best found<br />

solution in the pool, was used. Furthermore, we utilized a simple one-point-crossover<br />

strategy, a uni<strong>for</strong>m mutation probability of p ≈ 1/n, <strong>and</strong> a population size of 10. One<br />

important property of the proposed method is that it can be executed as an anytime


8.4. Experiments 157<br />

algorithm. At any time the method provides a solution that is at least as good as the<br />

greedy solution, but potentially better <strong>with</strong> increasing computation time.<br />

8.4 Experiments<br />

8.4.1 Data integration from wearable devices<br />

The integration of real-world data into the RoboCup rescue system was evaluated by<br />

successively processing data transmitted by a test person. The test person was equipped<br />

<strong>with</strong> the wearable interface described in Section 8.2, while walking several trajectories<br />

in an urban area in the City of Bremen (see Figure 8.5). During this experiment, the<br />

mobile device continuously transmitted the trajectory via GPRS to a central server.<br />

Furthermore, each time the test person had visual contact <strong>with</strong> a simulated victim § , it<br />

reported via the described GPX protocol a victim found waypoint message to the server.<br />

In order to integrate the data into the rescue system, the received data, encoded by<br />

the extended GPX protocol that represents location by latitude <strong>and</strong> longitude, was converted<br />

into a grid-based representation. We utilized the Universal Transverse Mercator<br />

(UTM) [Snyder, 1987] projection system, which provides a zone <strong>for</strong> any location on<br />

the surface of the Earth, where coordinates are described relatively to this zone (see<br />

Section 2.2.3). By calibrating maps from the rescue system to the point of origin of the<br />

UTM coordinate system, locations from the GPS device can directly be mapped. In order<br />

to cope <strong>with</strong> erroneous data, we decided to simply ignore outliers, i.e. locations far<br />

from the track, that were detected based on assumptions made on the test person’s maximal<br />

velocity. Figure 8.5 (b) shows the successive integration of the received data into<br />

the rescue system <strong>and</strong> Figure 8.5 (a) displays the same data plotted by GoogleEarth.<br />

Note that GPX data can be displayed directly by GoogleEarth <strong>with</strong>out requiring any<br />

pre-processing.<br />

8.4.2 Coordinated victim search<br />

The efficiency of the proposed method <strong>for</strong> exploration <strong>and</strong> victim search was evaluated<br />

by analyzing log files recorded during the RoboCup <strong>Rescue</strong> simulation competition<br />

in 2004. During this competition, 20 international teams competed on different maps<br />

simulated by the rescue system. The methods described in this chapter were an integral<br />

part of the ResQ Freiburg team which achieved the first place of the competition. Other<br />

teams applied, <strong>for</strong> example, Rein<strong>for</strong>cement Learning (DAMAS-<strong>Rescue</strong> <strong>and</strong> RoboAkut),<br />

<strong>and</strong> MAS group <strong>for</strong>ming methods (NIT<strong>Rescue</strong>04).<br />

During emergency response, the newest in<strong>for</strong>mation is the most valuable. For example,<br />

the earlier victim locations are known, the better their rescue can be scheduled.<br />

§ Note that arbitrary locations in Bremen were selected as victim locations <strong>and</strong> were visually marked.


158 Chapter 8. Human In The Loop<br />

(a)<br />

(b)<br />

Figure 8.5: Successive integration of data reported by a test person equipped <strong>with</strong><br />

a wearable device. (a) The real trajectory <strong>and</strong> observations of victims plotted <strong>with</strong><br />

GoogleEarth (victims are labeled <strong>with</strong> “civFound”). (b) The same data integrated into<br />

the rescue system (green roads are known to be passable, white buildings are known as<br />

explored, <strong>and</strong> green dots indicate observed victims).


8.4. Experiments 159<br />

Figure 8.6 shows the number of civilians found during each cycle on the R<strong>and</strong>omMap<br />

during the final <strong>and</strong> semi-final, respectively. The results confirm the efficiency of the<br />

90<br />

100<br />

80<br />

90<br />

70<br />

80<br />

Percent Civilians Found<br />

60<br />

50<br />

40<br />

30<br />

20<br />

10<br />

0<br />

0<br />

150<br />

Time<br />

(a)<br />

ARK<br />

BAM<br />

Caspian<br />

DAMAS<br />

ResQFreiburg<br />

SBCe<br />

SOS<br />

TheBlackSheep<br />

300<br />

Percent Civilians Found<br />

70<br />

60<br />

50<br />

40<br />

30<br />

20<br />

10<br />

0<br />

0<br />

150<br />

Time<br />

(b)<br />

BAM<br />

Caspian<br />

DAMAS<br />

ResQFreiburg<br />

300<br />

Figure 8.6: The number of civilians found by exploration on a r<strong>and</strong>omly generated map<br />

during the (a) final <strong>and</strong> (b) semi-final.<br />

exploration strategy of ResQ Freiburg. At any given time our agents knew about more<br />

civilians than the agents of any other team.<br />

Table 8.1 shows the percentage of buildings that were searched by the agents , <strong>and</strong><br />

Table 8.2 ‖ , shows the percentage of found civilians during each run. Results are shown<br />

from all rounds of all teams that passed the preliminaries during the competition. All<br />

values are according to the state of the world at the last round, e.g. the percentage of<br />

explored buildings at round 300. Bold numbers denote the best results that have been<br />

achieved during the respective rounds. The results show that Caspian explored most of<br />

the buildings. However, ResQ Freiburg was able to find more victims, although they<br />

explored less buildings, which indicates a higher degree of exploration efficiency.<br />

8.4.3 Victim rescue sequence optimization<br />

In order to evaluate the per<strong>for</strong>mance of the online genetic algorithm, we executed multiple<br />

simulation runs, once <strong>with</strong> Greedy optimization <strong>and</strong> once <strong>with</strong> GA-based optimization<br />

<strong>for</strong> scheduling rescue missions. Figure 8.7 depicts the difference between a greedy<br />

rescue target selection, i.e. to prefer targets that can be rescued fast, <strong>and</strong> the GA-based<br />

selection optimization. It can be seen that GA-based optimization clearly increases the<br />

number of rescued civilians, even the time <strong>for</strong> making decisions is limited. Within each<br />

Note that full communication of visited locations as well as exploitation of a sensor model was assumed.<br />

‖ Note that civilians are considered as being found if one of the agents was <strong>with</strong>in their visual range.


160 Chapter 8. Human In The Loop<br />

ResQ Damas Caspian BAM SOS SBC ARK B.Sheep<br />

Final-VC 83,48 83,24 87,02 67,27 N/A N/A N/A N/A<br />

Final-R<strong>and</strong>om 69,62 72,62 78,13 49,92 N/A N/A N/A N/A<br />

Final-Kobe 89,19 92,97 89,73 94,19 N/A N/A N/A N/A<br />

Final-Foligno 84,15 85,25 86,73 74,29 N/A N/A N/A N/A<br />

Semi-VC 69,39 72,86 77,42 45,08 52,01 52,87 47,92 59,72<br />

Semi-R<strong>and</strong>om 78,91 68,73 71,91 54,36 59,36 70,27 46,18 46,18<br />

Semi-Kobe 85,41 96,22 92,97 95,54 66,62 97,30 99,46 91,89<br />

Semi-Foligno 74,75 89,12 84,98 62,49 65,35 92,53 79,08 20,74<br />

Round2-Kobe 87,16 90,68 95,00 91,76 80,54 94,19 99,46 92,43<br />

Round2-R<strong>and</strong>om 81,18 80,94 88,61 84,53 60,67 94,24 82,61 87,89<br />

Round2-VC 83,40 70,18 84,58 40,44 67,74 87,88 N/A 89,54<br />

Round1-Kobe 87,43 90,27 94,05 96,08 96,62 97,70 97,84 80,95<br />

Round1-VC 85,37 90,48 95,28 94,26 N/A 97,72 100,00 91,35<br />

Round1-Foligno 83,78 90,05 90,05 60,00 54,65 88,57 67,37 13,00<br />

Number of Wins: 1 1 4 1 0 2 4 1<br />

AVG %: 81,66 83,83 86,89 72,16 67,06 87,33 79,99 67,37<br />

STD %: 5,82 9,98 7,87 22,21 13,87 14,59 21,84 30,80<br />

Table 8.1: Percentage of explored buildings.<br />

ResQ Damas Caspian BAM SOS SBC ARK B.Sheep<br />

Final-VC 97,22 94,44 100,00 81,94 N/A N/A N/A N/A<br />

Final-R<strong>and</strong>om 90,91 85,71 81,82 70,13 N/A N/A N/A N/A<br />

Final-Kobe 98,77 97,53 95,06 98,77 N/A N/A N/A N/A<br />

Final-Foligno 96,67 96,67 96,67 72,22 N/A N/A N/A N/A<br />

Semi-VC 77,92 77,92 85,71 45,45 53,25 53,25 50,65 63,64<br />

Semi-R<strong>and</strong>om 88,51 73,56 72,41 63,22 67,82 80,46 52,87 55,17<br />

Semi-Kobe 100,00 100,00 100,00 98,61 79,17 100,00 100,00 97,22<br />

Semi-Foligno 90,12 95,06 86,42 81,48 83,95 97,53 85,19 30,86<br />

Round2-Kobe 98,89 98,89 97,78 95,56 91,11 100,00 100,00 98,89<br />

Round2-R<strong>and</strong>om 98,89 95,56 98,89 81,11 70,00 96,67 85,56 94,44<br />

Round2-VC 92,22 78,89 90,00 45,56 72,22 88,89 N/A 87,78<br />

Round1-Kobe 94,29 100,00 100,00 98,57 100,00 100,00 94,29 78,57<br />

Round1-VC 100,00 100,00 100,00 97,14 N/A 100,00 100,00 98,57<br />

Round1-Foligno 100,00 97,14 94,29 77,14 74,29 92,86 77,14 14,29<br />

Number of Wins: 9 4 7 1 1 5 3 0<br />

AVG %: 94,60 92,24 92,79 79,06 76,87 90,97 82,85 71,94<br />

STD %: 7,17 10,53 9,03 20,75 13,73 14,69 19,35 30,25<br />

Table 8.2: Percentage of found civilians.<br />

minute, the GA was able to compute approximately 300, 000 solutions on a 1.0GHz<br />

Pentium4 computer.<br />

Finally, Table 8.3 shows the number of civilians saved by each team: ResQ Freiburg<br />

saved more than 620 civilians during all rounds, which are 35 more than the second best<br />

<strong>and</strong> 59 more than the third best in the competition.


8.4. Experiments 161<br />

100<br />

Greedy-Heuristic<br />

Genetic Algorithm<br />

90<br />

# Civilians<br />

80<br />

70<br />

60<br />

50<br />

0 1 2 3 4 5 6 7 8 9<br />

Map<br />

Figure 8.7: The number of civilian survivors after applying Greedy rescue sequence<br />

optimization <strong>and</strong> GA-based sequence optimization in different simulated cities.<br />

ResQ Damas Caspian BAM SOS SBC ARK B.Sheep<br />

Final-VC 42 43 52 34 N/A N/A N/A N/A<br />

Final-R<strong>and</strong>om 32 25 29 16 N/A N/A N/A N/A<br />

Final-Kobe 46 45 46 30 N/A N/A N/A N/A<br />

Final-Foligno 66 54 50 29 N/A N/A N/A N/A<br />

Semi-VC 18 15 17 12 11 12 12 14<br />

Semi-R<strong>and</strong>om 22 26 16 14 20 14 15 15<br />

Semi-Kobe 57 47 54 52 20 39 34 44<br />

Semi-Foligno 37 46 44 43 42 28 29 24<br />

Round2-Kobe 57 37 43 50 43 35 28 43<br />

Round2-R<strong>and</strong>om 52 48 39 45 47 44 50 37<br />

Round2-VC 31 33 32 24 37 51 N/A 34<br />

Round1-Kobe 45 51 47 43 47 31 25 34<br />

Round1-VC 62 62 55 57 N/A 51 54 44<br />

Round1-Foligno 53 53 37 33 37 41 30 23<br />

#Wins: 9 5 2 0 0 1 0 0<br />

Σ TOTAL: 620 585 561 482 304 346 277 312<br />

Σ SEMI+PREM 434 418 384 373 304 346 277 312<br />

Table 8.3: Number of saved civilians.


162 Chapter 8. Human In The Loop<br />

8.5 Related Work<br />

Nourbakhsh <strong>and</strong> colleagues utilized the MAS Retsina <strong>for</strong> mixing real-world <strong>and</strong> simulationbased<br />

testing in the context of Urban <strong>Search</strong> <strong>and</strong> <strong>Rescue</strong> [Nourbakhsh et al., 2005].<br />

Wickler et al. introduced To Do lists <strong>with</strong>in the constraint model to coordinate<br />

activities in an emergency response scenario [Wickler et al., 2006]. They utilize a Hierarchical<br />

Task Network (HTN) planner that can be used to synthesize courses of action<br />

automatically. Their system has also been used by Siebra <strong>and</strong> Tate to support coordination<br />

of rescue agents in the RoboCup <strong>Rescue</strong> simulation [Siebra <strong>and</strong> Tate, 2005].<br />

Oh et al. applied agent technologies in post-disaster planning contexts by an agentbased<br />

decision support system that can identify good c<strong>and</strong>idate locations <strong>for</strong> temporary<br />

housing [Oh et al., 2006]. Schurr <strong>and</strong> colleagues [Schurr et al., 2005] introduced the<br />

DEFACTO system, which enables agent-human cooperation <strong>and</strong> was evaluated in the<br />

firefighting domain <strong>with</strong> the RoboCup <strong>Rescue</strong> simulation package. U et al. proposed<br />

a generalized agent model <strong>for</strong> the RoboCup <strong>Rescue</strong> simulation system [U <strong>and</strong> Reed.,<br />

2006]. Their extension facilitates agents that have multiple roles, <strong>and</strong> can change their<br />

capabilities during a simulation, enabling a richer mix of agent behaviors.<br />

Takahashi discusses the practical usage of disaster management systems <strong>for</strong> local<br />

governments by an evaluation of RoboCup <strong>Rescue</strong> simulation data, <strong>with</strong> the intention<br />

of guiding future research topics towards the development of practical disaster simulation<br />

systems [Takahashi, 2006]. Noda <strong>and</strong> Meguro proposed the st<strong>and</strong>ard protocol<br />

MISP <strong>and</strong> a simple database system DaRuMa <strong>for</strong> the purpose of collecting <strong>and</strong> sharing<br />

disaster in<strong>for</strong>mation about damaged areas <strong>for</strong> supporting decision-making in rescue<br />

processes [Noda <strong>and</strong> Meguro, 2006]. Kuwata et al. introduced a simulation framework,<br />

based on RoboCup <strong>Rescue</strong> simulation, named RoboCup<strong>Rescue</strong> Human-In-The-<br />

Loop Agent Simulation (RCR-HITLAS), in which humans can act as agents <strong>with</strong> various<br />

roles. [Kuwata et al., 2006]. The purpose of the system is to measure the per<strong>for</strong>mance<br />

of user interfaces <strong>and</strong> decision support systems used by humans that humans, as well as<br />

their skills.<br />

8.6 Conclusion<br />

We introduced the preliminary design of a wearable computing device in conjunction<br />

<strong>with</strong> a multi-agent based disaster simulator, which both can be utilized <strong>for</strong> optimizing<br />

USAR missions. It has been generally demonstrated that the system is capable of integrating<br />

trajectories <strong>and</strong> observations captured during real-world experiments into the<br />

RoboCup <strong>Rescue</strong> simulation plat<strong>for</strong>m. As shown by the results from simulation runs,<br />

the integrated data can serve as a basis <strong>for</strong> coordinating exploration, e.g. by directing<br />

teams to unexplored regions, as well <strong>for</strong> scheduling rescue missions. The utilized MAS<br />

approaches were evaluated during various simulation runs, <strong>and</strong> have also been com-


8.6. Conclusion 163<br />

pared <strong>with</strong> strategies developed by other teams during the RoboCup <strong>Rescue</strong> simulation<br />

competition in 2004.<br />

The proposed interface can be extended further by additional sensors, such as CO 2<br />

detectors, temperature sensors, <strong>and</strong> cameras, <strong>for</strong> facilitating the transmission of images<br />

<strong>and</strong> data that document the degree of damages or the state of victims at certain locations.<br />

The overall goal in this context is to design as system that integrates all observations<br />

from both human responders <strong>and</strong> robot rescue teams, while reducing the burden, i.e.<br />

the cognitive load, of the user. The strategic overview of the scenario allows incident<br />

comm<strong>and</strong>ers to efficiently combine the capabilities of individual team members by developing<br />

multi-robot <strong>and</strong> multi-human plans, given the available resources.<br />

In Chapter 4 the automatic fusion of maps generated by robot <strong>and</strong> humans has been<br />

demonstrated. In future research, we intend to extent this approach by integrating features<br />

extracted from local observations taken by wearable devices or sensors mounted<br />

on robots. Furthermore, we will consider the evaluation of the coordination mechanism<br />

in real scenarios, e.g. to guide first responders via the wearable computing device during<br />

an exercise by automatically generated plans. It would be particularly interesting<br />

to compare this approach <strong>with</strong> conventional methods as they are used in emergency<br />

response nowadays, i.e. to determine the impact of agent technology in time critical<br />

missions.<br />

Future work in the <strong>Rescue</strong> simulation league aims at opening the system to resources<br />

available on the Internet, such as map data from Google Maps, <strong>and</strong> any other freely<br />

available location-specific data. This direction has the primary goal to close the loop<br />

between disaster reality <strong>and</strong> disaster simulation.


9 Summary And Future Work<br />

To transfer robot technology from laboratory experiments into the real world <strong>for</strong> solving<br />

socially significant problems requires research <strong>and</strong> development being undertaken close<br />

to reality. An exchange of practical knowledge <strong>with</strong> experts from the field, such as<br />

emergency response personnel, is indispensable. Only their experience can facilitate the<br />

development of deployable autonomous robot plat<strong>for</strong>ms, as well as their integration into<br />

human operation. Per<strong>for</strong>mance metrics, such as benchmark arenas, are one promising<br />

approach to this goal.<br />

Current benchmarking scenarios do clearly not yet capture the whole magnitude of<br />

problems that robots encounter after a real disaster. In this scenario, mapping methods<br />

are required that also function when robots operate in confined spaces <strong>with</strong>in collapsed<br />

structures, climb-up walls, or fly autonomously over the terrain. The idea behind benchmarking<br />

autonomous robot systems in USAR (Urban <strong>Search</strong> And <strong>Rescue</strong>) scenarios is<br />

to continuously increase the level of difficulty year by year in order to promote stepwise<br />

research in this field. Up to now, methods from autonomous robotics <strong>for</strong> USAR are just<br />

at their advent <strong>and</strong> robots that have been deployed after a real disaster were mainly<br />

tele-operated by human beings.<br />

Lessons learned from early stage per<strong>for</strong>mance metrics already showed that assumptions<br />

holding under mild conditions, such as office-like environments, do not necessarily<br />

hold under harsh conditions. For example, conventional SLAM methods assume a constant<br />

growth of the positioning error during pose tracking, e.g. the longer the track the<br />

larger the variance. Unstructured environments have the property that conditions can<br />

arbitrarily change, e.g. the underground might be smooth floor, slippery, or even rough<br />

terrain, requiring robots to be aware of their context. Data association requires robust<br />

visual features in order to function reliably, which are not constantly found under those<br />

conditions. Furthermore, robotic methods must not interfere <strong>with</strong> task-specific goals<br />

of operations in the field. For example, conventional mapping algorithms require the<br />

repeated visiting of places in order to refine the map by loop closure, which turns out to<br />

be a suboptimal behavior during victim search <strong>and</strong> exploration.<br />

Finally, the deployment of robotics technology is only helpful if it complements human<br />

task execution. Here the ultimate goal to is to optimally coordinate human <strong>and</strong><br />

robot rescue teams, i.e. to distribute tasks among them according to their individual<br />

skills. There<strong>for</strong>e, methods have to address data exchange issues directly, such as the<br />

exchange of maps <strong>and</strong> observations, while coping <strong>with</strong> communication perturbations,<br />

or even temporarily loss of communication.<br />

165


166 Chapter 9. Summary And Future Work<br />

In the light of these considerations three core problems were addressed in this thesis,<br />

which are localization, mapping, <strong>and</strong> exploration <strong>with</strong> a strong focus on human<br />

integration <strong>and</strong> teamwork of both robots <strong>and</strong> humans.<br />

9.1 Summary<br />

In Chapter 2 hardware <strong>for</strong> <strong>Rescue</strong> Robotics was introduced <strong>and</strong> design criteria <strong>for</strong> robot<br />

plat<strong>for</strong>ms built <strong>for</strong> the deployment in emergency response scenarios were discussed.<br />

According to these criteria, two robot plat<strong>for</strong>ms were contributed that have been built<br />

<strong>for</strong> the development <strong>and</strong> evaluation of algorithms presented in this thesis. Furthermore,<br />

different sensor types <strong>for</strong> localization, mapping, <strong>and</strong> victim search were discussed.<br />

The problem of tracking humans <strong>and</strong> robots was subject of Chapter 3. A novel<br />

method <strong>for</strong> slippage sensitive pose tracking on wheeled robot plat<strong>for</strong>ms <strong>and</strong> a novel<br />

method <strong>for</strong> visual odometry on tracked plat<strong>for</strong>ms were contributed. While these methods<br />

were particularly designed <strong>for</strong> two specific application scenarios, which are the<br />

rapid mapping of a large-scale environment by wheeled robots, <strong>and</strong> the mapping of<br />

rough terrain by tracked robots, they can basically be considered as independent modules<br />

that can be used <strong>for</strong> different tasks. They were intensively tested under harsh environmental<br />

conditions, <strong>and</strong> evaluated <strong>with</strong>in USAR benchmark scenarios, such as the<br />

RoboCup <strong>Rescue</strong> autonomy competition. Furthermore, an existing method <strong>for</strong> tracking<br />

the pose of humans was evaluated <strong>and</strong> discussed. Results showed that human pose<br />

tracking is feasible over larger distances, accompanied <strong>with</strong> increasing positioning errors.<br />

In Chapter 4 RFID-SLAM, a novel method <strong>for</strong> SLAM, was contributed. This method<br />

allows the efficient generation of globally consistent maps, even if the density of l<strong>and</strong>marks<br />

is comparably low. For example, the method corrected an outdoor large-scale<br />

map <strong>with</strong>in a few seconds from odometry data <strong>and</strong> RFID perceptions only. This has<br />

been partially achieved due to reliable pose tracking based on slippage sensitive odometry,<br />

but also due to the data association solved by RFIDs. Solving data association<br />

by RFIDs allows to speed-up the route graph corrections by decomposing the problem<br />

into optimization <strong>and</strong> interpolation. Furthermore, we demonstrated the joint correction<br />

of trajectories from human <strong>and</strong> robot teams. The joint correction of robot <strong>and</strong> human<br />

trajectories is of major importance since it is very likely that robots <strong>and</strong> humans explore<br />

different areas during emergency response. For example, robots will be deployed in<br />

hazardous places or places lacking of air, which humans cannot access. We showed that<br />

RFID-SLAM allows to improve maps by loop closure <strong>with</strong>out requiring humans <strong>and</strong><br />

robots to per<strong>for</strong>m loops while executing their primary task. Due to the joining of routes<br />

via RFID connection points, loops automatically emerge. This is a necessary requirement<br />

if applying SLAM in USAR situations. In such situations, emergency responders<br />

have clear goals that have to be accomplished <strong>with</strong>in a short amount of time, <strong>for</strong> exam-


9.1. Summary 167<br />

ple, they have to explore the environment <strong>for</strong> victims, <strong>and</strong> there<strong>for</strong>e intentionally try to<br />

avoid to visit places repeatedly.<br />

Finally, a decentralized version of RFID-SLAM that utilizes the memory capacity<br />

of RFIDs was contributed. The results show that sharing in<strong>for</strong>mation between single<br />

agents allows to optimize globally their individual paths, even if they are not able to<br />

communicate directly. This has the advantage, particularly during disaster response,<br />

that this method can be applied if communication is disturbed by building debris <strong>and</strong><br />

radiation. If communication is temporarily available, the process can be accelerated by<br />

exchanging data between the agents directly.<br />

In the disaster response scenario RFID-SLAM offers other practical advantages. For<br />

example, humans can communicate <strong>with</strong> RFIDs via a PDA <strong>and</strong> leave behind in<strong>for</strong>mation<br />

related to the search, such as discovered victims or hazardous places. The idea<br />

of labeling locations <strong>with</strong> in<strong>for</strong>mation that is important to the rescue task has already<br />

been applied in the past. During the disaster relief in New Orleans in 2005, rescue task<br />

<strong>for</strong>ces marked buildings <strong>with</strong> in<strong>for</strong>mation concerning, <strong>for</strong> example, hazardous materials<br />

or victims inside the buildings [FEMA, 2003]. The RFID-based marking of locations<br />

is a straight <strong>for</strong>ward extension of this concept.<br />

In Chapter 5 a method <strong>for</strong> the building of elevation maps from readings of a tilted<br />

LRF was contributed. In contrast to <strong>for</strong>mer work, the proposed method integrates all<br />

six degrees-of-freedoms of the robot in real-time, allowing the mapping of rough terrain<br />

while the robot navigates over obstacles such as ramps. The quantitative evaluation<br />

of conducted indoor <strong>and</strong> outdoor experiments, partially in testing arenas proposed by<br />

NIST <strong>for</strong> USAR, showed that the proposed method can be deployed in real-time while<br />

leading to a robust mapping of the environment. The result was supported by the visual<br />

odometry method <strong>for</strong> pose tracking, which significantly improved the accuracy of scan<br />

matching. As we showed in another work, the generated elevation maps can be utilized<br />

<strong>for</strong> structure classification <strong>and</strong> the planning of skill execution [Dornhege <strong>and</strong> Kleiner,<br />

2007b].<br />

In Chapter 6 a novel method <strong>for</strong> coordinated exploration of large robot teams was<br />

contributed. The approach, which is based on RFID technology <strong>for</strong> indirect communication,<br />

is composed of two parts. First, distributed local search, <strong>with</strong> the notable properties<br />

of not requiring direct communication <strong>and</strong> scaling <strong>with</strong> the number of agents.<br />

Second, global task assignment <strong>and</strong> multi-robot path planning <strong>for</strong> monitoring the local<br />

exploration <strong>and</strong> restarting it at better locations. A novel graph structure based on RFIDs<br />

was introduced, which allows a significantly smaller representation of the environment<br />

compared to grid based approaches. The experimental results from RoboCup showed<br />

that RFID-based coordination scales-up <strong>with</strong> large robot teams exploring large environments.<br />

Moreover, the global task assignment based on genetic sequence optimization<br />

was evaluated. We showed that this method allows to improve the per<strong>for</strong>mance of the<br />

local approach <strong>for</strong> robot teams consisting of up to 20 robots. Due to a unified exchange<br />

of data, e.g. as has been shown <strong>with</strong> RFID-SLAM, the method can also be extended <strong>for</strong>


168 Chapter 9. Summary And Future Work<br />

integrating humans into the search.<br />

The problem of real-time detection of victims in disaster areas was discussed in Chapter<br />

7. In order to scale-up the detection rate of weak classifiers, a system <strong>for</strong> creating<br />

optimized MRF models was contributed, which computes offline relevant feature combinations<br />

<strong>with</strong> respect to the data. The optimized classifier was five times faster than<br />

the model <strong>with</strong> all feature combinations activated, while gaining optimal per<strong>for</strong>mance<br />

in terms of the complexity trade-off, <strong>and</strong> near-optimal per<strong>for</strong>mance in terms of accuracy.<br />

We compared the optimized model <strong>with</strong> a SVM classifier <strong>and</strong> showed that the<br />

false-positive rate was significantly reduced, which is an important aspect when considering<br />

victim detection in the context of emergency response. The proposed approach<br />

can be considered as a general framework <strong>for</strong> combining human evidence detected by<br />

sensors. For example, it can easily be extended <strong>for</strong> incorporating other types of human<br />

evidence, such as audio noise, e.g. tapping <strong>and</strong> CO 2 emission.<br />

In the last chapter, Chapter 8, the preliminary design of a wearable computing device<br />

in conjunction <strong>with</strong> a multi-agent based disaster simulator <strong>for</strong> optimizing USAR<br />

mission scheduling, was contributed. It was generally demonstrated that the system is<br />

capable of integrating trajectories <strong>and</strong> observations captured during real-world experiments<br />

into the RoboCup <strong>Rescue</strong> simulation plat<strong>for</strong>m. As shown by the results from<br />

simulation runs, the integrated data can serve as a basis <strong>for</strong> coordinating exploration,<br />

e.g. by directing teams to unexplored regions as well as <strong>for</strong> scheduling rescue missions.<br />

The proposed interface can be extended further by additional sensors, such as<br />

CO 2 detectors, temperature sensors, <strong>and</strong> cameras, <strong>for</strong> facilitating the transmission of<br />

images <strong>and</strong> data that document the degree of damages or the state of victims at certain<br />

locations. The overall goal in this context is to design a system that integrates all observations<br />

from both human responders <strong>and</strong> robot rescue teams at an incident comm<strong>and</strong>er<br />

perspective. The strategic overview of the scenario allows incident comm<strong>and</strong>ers to efficiently<br />

combine the capabilities of individual team members by developing multi-robot<br />

<strong>and</strong> multi-human plans, given the available resources.<br />

9.2 Future Work<br />

As results from PDR experiments showed, the tracking of human beings based on accelerometers<br />

leads to promising results. However, also these results are only preliminary<br />

compared to the situations first responders are exposed to while rescuing victims<br />

after a real disaster. They might crouch, run, <strong>and</strong> climb <strong>with</strong>in very different <strong>and</strong> individual<br />

modes, generating a wide range of ambiguous sensor values. Further research<br />

has to be undertaken in order to capture the whole range of human motion.<br />

The proposed method <strong>for</strong> RFID-SLAM has shown to work robustly in various scenarios.<br />

However, one drawback of this method is given by the low-range detection of<br />

RFIDs due to the utilized technology. In future work, we will evaluate RFID technology


9.2. Future Work 169<br />

operating in the UHF frequency domain, allowing reading <strong>and</strong> writing <strong>with</strong>in distances<br />

of meters, <strong>and</strong> to extend the proposed approach accordingly.<br />

The approach of RFID technology-based coordination has been tested mainly in simulated<br />

disaster areas. In future work, it will be evaluated on a team of real robots<br />

equipped <strong>with</strong> long-range RFID detectors while exploring an outdoor area. Furthermore,<br />

the plan execution phase of the approach will be improved. It is considered to<br />

represent the generated multi-robot plans by Petri nets, allowing to verify online plans<br />

generated from task assignment <strong>and</strong> path planning. Given this representation, parallel<br />

plan executions can be simulated be<strong>for</strong>eh<strong>and</strong> <strong>for</strong> predicting unsafe situations. On<br />

the one h<strong>and</strong>, this will facilitate the optimization of robot waiting times if they are involved<br />

<strong>with</strong>in conflicts. On the other h<strong>and</strong>, it will enable deadlock detection during the<br />

planning phase.<br />

The proposed victim detection method serves as a generalized framework <strong>and</strong> hence<br />

can be further extended. In future work we will consider to extend the binary class<br />

variable by classes describing the victim’s state, such as aware <strong>and</strong> unconscious. These<br />

classes can also be determined from correlations between different evidence types. For<br />

example, the detection of CO 2 emission <strong>and</strong> heat <strong>with</strong>out the detection of motion can<br />

indicate an unconscious victim.<br />

Most importantly, future work will deal <strong>with</strong> the problem of combining RFID route<br />

graph optimization <strong>with</strong> local elevation mapping in order to facilitate the building of<br />

large <strong>and</strong> consistent elevation maps in real-time. Here the basic idea is to anchor locally<br />

generated elevation maps <strong>with</strong>in the corrected graph. These map patches can then<br />

be loaded into memory if they are <strong>with</strong>in range of the robot’s current location. Furthermore,<br />

the saved data can be utilized offline <strong>for</strong> generating a global elevation map<br />

representation of the environment. This representation opens the door <strong>for</strong> solving realtime<br />

mapping <strong>and</strong> navigation in large-scale environments, which is an indispensable<br />

requirement <strong>for</strong> future projects <strong>and</strong> benchmarks. For example, the 600.000US $ endowed<br />

TechX challenge, a competition organized by the Singaporean national Defense,<br />

Science <strong>and</strong> Technology Authority (DSTA), requires a one hour fully autonomous exploration<br />

of a larger area containing buildings <strong>and</strong> rough outdoor terrain. Robots have<br />

to locate targets in buildings <strong>and</strong> return to their starting location. Such benchmarks dem<strong>and</strong><br />

highly sophisticated robot systems fulfilling their mission robustly during a long<br />

time operation, while having to rely on themselves completely.<br />

It can be expected <strong>for</strong> the future that rescue robots continuously improve according<br />

to the increasing difficulty of benchmarking scenarios. Moreover, it is planned by<br />

the RoboCup <strong>Rescue</strong> community to introduce st<strong>and</strong>ardized map representations <strong>and</strong><br />

communication protocols, which will be an important milestone towards implementing<br />

heterogeneous robot teams. A common <strong>for</strong>mat could serve not only <strong>for</strong> comparisons<br />

between different approaches, but also as a useful tool to exchange spatial in<strong>for</strong>mation<br />

between heterogeneous agents, as well as to compare more rigorously results coming<br />

from simulation <strong>and</strong> real world systems. Furthermore, it makes it possible to provide


170 Chapter 9. Summary And Future Work<br />

floor plans of building structures to rescue teams in advance, as is common practice<br />

during real rescue missions. Here, the long term goal is to develop communication<br />

st<strong>and</strong>ards in the simulation league <strong>and</strong> to transfer them to the robot league, after they<br />

have been extensively tested.


10 Appendix<br />

10.1 <strong>Rescue</strong> communication protocol<br />

<br />

<br />

This type describes an extension of GPX 1.1 waypoints.<br />

Waypoints in the disaster area can be augmented<br />

<strong>with</strong> additional in<strong>for</strong>mation, such as observations of fires,<br />

blockades, victims, <strong>and</strong> RFIDs.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

This type describes in<strong>for</strong>mation on a victim<br />

relatively to the waypoint.<br />

<br />

<br />

<br />


172 Chapter 10. Appendix<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

This type describes the observation of an RFID tag, which can<br />

further be used by the station to correct the agents trajectory.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

This type describes detected road blockages<br />

relatively to the waypoint.


10.1. <strong>Rescue</strong> communication protocol 173<br />

<br />

<br />

<br />

<br />

<br />


174 Chapter 10. Appendix<br />

<br />

<br />

This type contains a distance value measured in meters.<br />

<br />

<br />

<br />

<br />

<br />

This type contains a bearing value measured in degree.<br />

<br />

<br />


SHEET 1 OF 1<br />

10.2. Construction drawings 175<br />

10.2 Construction drawings<br />

10.2.1 3D Laser Range Finder (LRF)<br />

Figure 10.1: Perspective drawing of the 3D LRF mechanics.<br />

4<br />

52<br />

M4 durch,<br />

mit Gewinden<br />

3<br />

43<br />

41<br />

22<br />

28<br />

36,60<br />

43,35<br />

53,35<br />

7<br />

49<br />

56<br />

5<br />

51<br />

56<br />

4xM4 ohne Gewinde<br />

5<br />

95<br />

100<br />

NAME<br />

DIMENSIONS ARE IN MM<br />

TOLERANCES:<br />

DRAWN<br />

FRACTIONAL<br />

CHECKED<br />

ANGULAR: MACH BEND<br />

TWO PLACE DECIMAL<br />

ENG APPR.<br />

THREE PLACE DECIMAL<br />

PROPRIETARY AND CONFIDENTIAL<br />

MFG APPR.<br />

THE INFORMATION CONTAINED IN THIS<br />

MATERIAL<br />

Q.A.<br />

DRAWING IS THE SOLE PROPERTY OF<br />

--<br />

COMMENTS:<br />

. ANY<br />

REPRODUCTION IN PART OR AS A WHOLE<br />

FINISH<br />

NEXT ASSY USED ON<br />

--<br />

WITHOUT THE WRITTEN PERMISSION OF<br />

IS<br />

PROHIBITED.<br />

APPLICATION DO NOT SCALE DRAWING<br />

DATE<br />

SIZE<br />

A<br />

Institut für In<strong>for</strong>matik<br />

T-Stück für Servo<br />

Anzahl:2<br />

SCALE:1:1<br />

DWG. NO.<br />

WEIGHT:<br />

REV.<br />

Figure 10.2: Mechanical drawing 3D LRF: servo mount.


176 Chapter 10. Appendix<br />

Figure 10.3: Mechanical drawing 3D LRF: U-shaped piece.<br />

10.2.2 Zerg robot<br />

Figure 10.4: Perspective drawings Zerg robot mechanics.


10.2. Construction drawings 177<br />

Figure 10.5: Mechanical drawing Zerg robot: inner support frame.<br />

Figure 10.6: Mechanical drawing Zerg robot: front part.


178 Chapter 10. Appendix<br />

Figure 10.7: Mechanical drawing Zerg robot: bottom part.<br />

Figure 10.8: Mechanical drawing Zerg robot: side part.


10.2. Construction drawings 179<br />

Figure 10.9: Mechanical drawing Zerg robot: back part.<br />

Figure 10.10: Mechanical drawing Zerg robot: cover back part.


180 Chapter 10. Appendix<br />

Figure 10.11: Mechanical drawing Zerg robot: cover front part.<br />

Figure 10.12: Mechanical drawing Zerg robot: assembling cube.


10.2. Construction drawings 181<br />

10.2.3 RFID tag releaser<br />

Figure 10.13: Perspective drawing of the RFID tag releaser.


182 Chapter 10. Appendix<br />

Figure 10.14: Mechanical drawing RFID tag releaser: bottom back part.<br />

Figure 10.15: Mechanical drawing RFID tag releaser: bottom left part.


10.2. Construction drawings 183<br />

Figure 10.16: Mechanical drawing RFID tag releaser: bottom right part.<br />

2,50<br />

40<br />

2,50<br />

17<br />

15<br />

2<br />

40<br />

UNLESS OTHERWISE SPECIFIED:<br />

NAME<br />

DATE<br />

PROPRIETARY AND CONFIDENTIAL<br />

THE INFORMATION CONTAINED IN THIS<br />

DRAWING IS THE SOLE PROPERTY OF<br />

. ANY<br />

REPRODUCTION IN PART OR AS A WHOLE<br />

WITHOUT THE WRITTEN PERMISSION OF<br />

IS<br />

PROHIBITED.<br />

NEXT ASSY<br />

APPLICATION<br />

USED ON<br />

DIMENSIONS ARE IN MM<br />

TOLERANCES:<br />

FRACTIONAL<br />

ANGULAR: MACH BEND<br />

TWO PLACE DECIMAL<br />

THREE PLACE DECIMAL<br />

INTERPRET GEOMETRIC<br />

TOLERANCING PER:<br />

MATERIAL<br />

FINISH<br />

DRAWN<br />

CHECKED<br />

ENG APPR.<br />

MFG APPR.<br />

Q.A.<br />

COMMENTS:<br />

TITLE:<br />

Schieber_Oben<br />

SIZE<br />

A<br />

DWG. NO.<br />

DO NOT SCALE DRAWING SCALE: 2:1 WEIGHT: SHEET 1 OF 1<br />

REV<br />

5 4 3 2 1<br />

Figure 10.17: Mechanical drawing RFID tag releaser: slider upper part.


184 Chapter 10. Appendix<br />

Figure 10.18: Mechanical drawing RFID tag releaser: slider lower part.<br />

Dieses Teil wird 2-mal benötigt!<br />

5<br />

13,25<br />

20<br />

2,50<br />

5<br />

13<br />

3<br />

A<br />

A<br />

13<br />

8<br />

5<br />

10<br />

2<br />

Gewinde für M5<br />

durchgehend.<br />

Gewinde für M2<br />

10 mm tief.<br />

SCHNITTDARSTELLUNG A-A<br />

MAßSTAB 4 : 1<br />

UNLESS OTHERWISE SPECIFIED:<br />

NAME<br />

DATE<br />

PROPRIETARY AND CONFIDENTIAL<br />

THE INFORMATION CONTAINED IN THIS<br />

DRAWING IS THE SOLE PROPERTY OF<br />

. ANY<br />

REPRODUCTION IN PART OR AS A WHOLE<br />

WITHOUT THE WRITTEN PERMISSION OF<br />

IS<br />

PROHIBITED.<br />

NEXT ASSY<br />

APPLICATION<br />

USED ON<br />

DIMENSIONS ARE IN MM<br />

TOLERANCES:<br />

FRACTIONAL<br />

ANGULAR: MACH BEND<br />

TWO PLACE DECIMAL<br />

THREE PLACE DECIMAL<br />

INTERPRET GEOMETRIC<br />

TOLERANCING PER:<br />

MATERIAL<br />

FINISH<br />

DRAWN<br />

CHECKED<br />

ENG APPR.<br />

MFG APPR.<br />

Q.A.<br />

COMMENTS:<br />

TITLE:<br />

Servohalter (2x)<br />

SIZE<br />

A<br />

DWG. NO.<br />

DO NOT SCALE DRAWING SCALE: 5:1 WEIGHT: SHEET 1 OF 1<br />

REV<br />

5 4 3 2 1<br />

Figure 10.19: Mechanical drawing RFID tag releaser: servo mount.


10.2. Construction drawings 185<br />

.<br />

Figure 10.20: Mechanical drawing RFID tag releaser: RFID tag container.


186 Chapter 10. Appendix<br />

10.3 Schematics<br />

(a)<br />

(b)<br />

Figure 10.21: Schematics of (a) the Power Supply Board, <strong>and</strong> (b) the Sensor board of<br />

the Zerg robot.


10.3. Schematics 187<br />

Figure 10.22: Schematics of the Micro Controller Board of the Zerg robot.


188 Chapter 10. Appendix<br />

Figure 10.23: Schematics of the Micro Controller Board of the Lurker robot.


10.3. Schematics 189<br />

Figure 10.24: Schematics of the Relais board of the Lurker robot.


List of Figures<br />

1.1 First responders <strong>and</strong> destroyed building structures . . . . . . . . . . . . 2<br />

1.2 Disaster mitigation statistics . . . . . . . . . . . . . . . . . . . . . . . 3<br />

2.1 Evaluating <strong>Rescue</strong> Robots I . . . . . . . . . . . . . . . . . . . . . . . . 16<br />

2.2 Evaluating <strong>Rescue</strong> Robots II . . . . . . . . . . . . . . . . . . . . . . . 17<br />

2.3 Legged rescue robots . . . . . . . . . . . . . . . . . . . . . . . . . . . 17<br />

2.4 Inertial Measurement Unit (IMU) . . . . . . . . . . . . . . . . . . . . 19<br />

2.5 UTM map of Europe . . . . . . . . . . . . . . . . . . . . . . . . . . . 23<br />

2.6 CCD cameras <strong>and</strong> IR camera . . . . . . . . . . . . . . . . . . . . . . . 24<br />

2.7 A h<strong>and</strong>-crafted light-weight 3D Laser Range Finder . . . . . . . . . . . 26<br />

2.8 The Zerg robot measuring audio noise <strong>and</strong> CO 2 . . . . . . . . . . . . . 27<br />

2.9 Sound source detection by the Crosspower Spectrum Phase . . . . . . . 27<br />

2.10 Robots of the team <strong>Rescue</strong> Robots Freiburg . . . . . . . . . . . . . . . 32<br />

2.11 Human Robot Interaction (HRI) - RoboGui . . . . . . . . . . . . . . . 35<br />

2.12 Human Robot Interaction (HRI) - IncidentComm<strong>and</strong>er . . . . . . . . . 35<br />

3.1 Dead reckoning on a skid-steering 4WD robot driving in a cellar . . . . 39<br />

3.2 Scan matching <strong>with</strong> dead reckoning on a skid-steering 4WD robot . . . 41<br />

3.3 Slip detection on a 4WD robot . . . . . . . . . . . . . . . . . . . . . . 42<br />

3.4 KLT feature tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . 45<br />

3.5 Example of the Monte Carlo algorithm . . . . . . . . . . . . . . . . . . 46<br />

3.6 Acceleration patterns during human walking . . . . . . . . . . . . . . . 50<br />

3.7 Test person <strong>with</strong> Xsens MTi <strong>and</strong> Holux GPS device . . . . . . . . . . . 51<br />

3.8 Conventional odometry compared to slippage sensitive odometry . . . . 53<br />

3.9 Zerg robot during the final of the Best in Class autonomy competition . 53<br />

3.10 Accumulating distance error of the visual odometry . . . . . . . . . . . 55<br />

3.11 Distance of the visual odometry method compared to ground truth . . . 56<br />

3.12 Lurker robot per<strong>for</strong>ming vision-based pose tracking . . . . . . . . . . . 57<br />

3.13 Comparing elevation mapping methods . . . . . . . . . . . . . . . . . 58<br />

3.14 Comparison between PDR (green trajectory) <strong>with</strong> GPS ground truth . . 60<br />

4.1 The spring-mass analogy of RFID graphs . . . . . . . . . . . . . . . . 69<br />

4.2 Decentralized SLAM of three agents . . . . . . . . . . . . . . . . . . . 76<br />

4.3 RFID tag release mechanism . . . . . . . . . . . . . . . . . . . . . . . 79<br />

191


192 List of Figures<br />

4.4 RFID-SLAM at different levels of noise . . . . . . . . . . . . . . . . . 80<br />

4.5 RFID-SLAM mapping of a cellar . . . . . . . . . . . . . . . . . . . . . 81<br />

4.6 RFID-SLAM <strong>for</strong> mapping buildings . . . . . . . . . . . . . . . . . . . 82<br />

4.7 Pose errors from RFID-SLAM <strong>with</strong> varying number of RFIDs . . . . . 83<br />

4.8 Covariance bounds of RFID-SLAM in large-scale environments . . . . 84<br />

4.9 RFID-SLAM in large-scale environments . . . . . . . . . . . . . . . . 84<br />

4.10 RFID-SLAM <strong>with</strong> pedestrians semi-indoors . . . . . . . . . . . . . . . 86<br />

4.11 Pose errors from RFID-SLAM <strong>with</strong> pedestrians semi-indoor . . . . . . 86<br />

4.12 RFID-SLAM in urban environments . . . . . . . . . . . . . . . . . . . 87<br />

4.13 Pose errors from RFID-SLAM in urban environments . . . . . . . . . . 88<br />

4.14 Decentralized SLAM experiment . . . . . . . . . . . . . . . . . . . . . 89<br />

4.15 Human-robot SLAM . . . . . . . . . . . . . . . . . . . . . . . . . . . 90<br />

5.1 Occupancy grid map of an office-like environment . . . . . . . . . . . . 94<br />

5.2 Trans<strong>for</strong>ming range measurements to height values . . . . . . . . . . . 96<br />

5.3 Dead reckoning <strong>for</strong> building elevation maps . . . . . . . . . . . . . . . 100<br />

5.4 Evaluation of the Kalman filter <strong>for</strong> tracking the robot’s height . . . . . . 102<br />

5.5 Quantitative evaluation of the Kalman-filtered height estimation . . . . 103<br />

5.6 Elevation mapping during the <strong>Rescue</strong> Robotics Camp 2006 in Rome . . 104<br />

6.1 Topological map of the disaster area . . . . . . . . . . . . . . . . . . . 113<br />

6.2 A simple graph showing a plan from R1 to G1 (bold edges) . . . . . . . 115<br />

6.3 <strong>Exploration</strong> scoring trajectories recorded during the finals 2006 . . . . . 123<br />

6.4 Comparing the number of conflicts <strong>and</strong> travel costs . . . . . . . . . . . 124<br />

6.5 Comparing the locally <strong>and</strong> globally coordinated exploration . . . . . . . 125<br />

7.1 Hardware <strong>for</strong> vision processing . . . . . . . . . . . . . . . . . . . . . . 131<br />

7.2 MRF graph online constructed from features . . . . . . . . . . . . . . . 134<br />

7.3 Comparing model complexity of different classifiers . . . . . . . . . . . 135<br />

7.4 Examples from the victim data . . . . . . . . . . . . . . . . . . . . . . 141<br />

8.1 System diagram of the wearable device . . . . . . . . . . . . . . . . . 146<br />

8.2 The wearable emergency-response system . . . . . . . . . . . . . . . . 148<br />

8.3 Online data integration of in<strong>for</strong>mation from the simulated City of Foligno150<br />

8.4 Comparison between KD-tree clustering <strong>and</strong> agglomerative clustering . 152<br />

8.5 Successive real-data integration . . . . . . . . . . . . . . . . . . . . . . 156<br />

8.6 The number of found civilians on r<strong>and</strong>omly generated maps . . . . . . 157<br />

8.7 The number of civilian survivors after applying different policies . . . . 159<br />

10.1 Perspective drawing of the 3D LRF mechanics . . . . . . . . . . . . . . 173<br />

10.2 Mechanical drawing 3D LRF: servo mount . . . . . . . . . . . . . . . 173<br />

10.3 Mechanical drawing 3D LRF: U-shaped piece . . . . . . . . . . . . . . 174


List of Figures 193<br />

10.4 Perspective drawings Zerg robot mechanics . . . . . . . . . . . . . . . 174<br />

10.5 Mechanical drawing Zerg robot: inner support frame . . . . . . . . . . 175<br />

10.6 Mechanical drawing Zerg robot: front part . . . . . . . . . . . . . . . . 175<br />

10.7 Mechanical drawing Zerg robot: bottom part . . . . . . . . . . . . . . . 176<br />

10.8 Mechanical drawing Zerg robot: side part . . . . . . . . . . . . . . . . 176<br />

10.9 Mechanical drawing Zerg robot: back part . . . . . . . . . . . . . . . . 177<br />

10.10Mechanical drawing Zerg robot: cover back part . . . . . . . . . . . . . 177<br />

10.11Mechanical drawing Zerg robot: cover front part . . . . . . . . . . . . . 178<br />

10.12Mechanical drawing Zerg robot: assembling cube . . . . . . . . . . . . 178<br />

10.13Perspective drawing of the RFID tag releaser . . . . . . . . . . . . . . 179<br />

10.14Mechanical drawing RFID tag releaser: bottom back part . . . . . . . . 180<br />

10.15Mechanical drawing RFID tag releaser: bottom left part . . . . . . . . . 180<br />

10.16Mechanical drawing RFID tag releaser: bottom right part . . . . . . . . 181<br />

10.17Mechanical drawing RFID tag releaser: slider upper part . . . . . . . . 181<br />

10.18Mechanical drawing RFID tag releaser: slider lower part . . . . . . . . 182<br />

10.19Mechanical drawing RFID tag releaser: servo mount . . . . . . . . . . 182<br />

10.20Mechanical drawing RFID tag releaser: RFID tag container . . . . . . . 183<br />

10.21Schematics of the Zerg robot I . . . . . . . . . . . . . . . . . . . . . . 184<br />

10.22Schematics of the Zerg robot II . . . . . . . . . . . . . . . . . . . . . . 185<br />

10.23Schematics of the Lurker robot I . . . . . . . . . . . . . . . . . . . . . 186<br />

10.24Schematics of the Lurker robot II . . . . . . . . . . . . . . . . . . . . . 187


List of Tables<br />

2.1 Comparison of laser range finders. . . . . . . . . . . . . . . . . . . . . 20<br />

2.2 RFID Communication frequencies . . . . . . . . . . . . . . . . . . . . 29<br />

3.1 Classification accuracy of the slippage detection . . . . . . . . . . . . . 52<br />

3.2 Relative error of visual <strong>and</strong> conventional wheel odometry . . . . . . . . 54<br />

4.1 Positioning errors <strong>for</strong>m human-robot SLAM . . . . . . . . . . . . . . . 89<br />

6.1 <strong>Exploration</strong> Results from RoboCup ’06 . . . . . . . . . . . . . . . . . 121<br />

6.2 Victim scoring results from RoboCup ’06 . . . . . . . . . . . . . . . . 122<br />

7.1 Feature combinations of different evidence types . . . . . . . . . . . . 133<br />

7.2 Comparison of the SVM <strong>and</strong> MRF classifier . . . . . . . . . . . . . . . 137<br />

8.1 Percentage of explored buildings . . . . . . . . . . . . . . . . . . . . . 157<br />

8.2 Percentage of found civilians . . . . . . . . . . . . . . . . . . . . . . . 158<br />

8.3 Number of saved civilians . . . . . . . . . . . . . . . . . . . . . . . . 159<br />

195


Bibliography<br />

[AAAI, 2002] AAAI (2002). In the aftermath of september 11 what roboticists<br />

learned from the search <strong>and</strong> rescue ef<strong>for</strong>ts. http://www.aaai.org/Pressroom/<br />

Releases/release-02-0910.php.<br />

[Administration <strong>and</strong> Agency, 1995] Administration, U. S. F. <strong>and</strong> Agency, F. E. M.<br />

(1995). Technical rescue program development manual. Technical report.<br />

[AlienTechnology, 2003] AlienTechnology (2003). Alien technology. http://www.<br />

alientechnology.com/.<br />

[Amft et al., 2004] Amft, O., Lauffer, M., Ossevoort, S., Macaluso, F., Lukowicz, P.,<br />

<strong>and</strong> Tröster, G. (2004). Design of the QBIC wearable computing plat<strong>for</strong>m. In 15th<br />

International Conference on Application-Specific Systems, Architectures <strong>and</strong> Processors<br />

(ASAP ’04), Galveston, Texas.<br />

[Anguelov et al., 2005] Anguelov, D., Taskar, B., Chatalbashev, V., Koller, D., Gupta,<br />

D., Heitz, G., <strong>and</strong> Ng, A. (2005). Discriminative learning of markov r<strong>and</strong>om fields<br />

<strong>for</strong> segmentation of 3D range data. In IEEE Computer Society Conference on Vision<br />

<strong>and</strong> Pattern Recognitionv (CVPR), San Diego, Cali<strong>for</strong>nia.<br />

[Arai et al., 2002] Arai, T., Pagello, E., <strong>and</strong> Parker, L. (2002). Guest editorial advances<br />

in multirobot systems. IEEE Transactions on Robotics <strong>and</strong> Automation, 18(5):655–<br />

661.<br />

[Bahadori <strong>and</strong> Iocchi, 2003] Bahadori, S. <strong>and</strong> Iocchi, L. (2003). Human body detection<br />

in the robocup rescue scenario. In RoboCup 2003: Robot Soccer World Cup VII.<br />

[Bailey, 2002] Bailey, T. (2002). Mobile Robot Localisation <strong>and</strong> <strong>Mapping</strong> in Extensive<br />

Outdoor Environments. PhD thesis, Australian Centre <strong>for</strong> Field Robotics, Australia.<br />

[Balakirsky et al., 2007] Balakirsky, S., Carpin, S., Kleiner, A., Lewis, M., Visser, A.,<br />

Wang, J., <strong>and</strong> Ziparo, V. (2007). Towards heterogeneous robot teams <strong>for</strong> disaster<br />

mitigation: Results <strong>and</strong> per<strong>for</strong>mance metrics from robocup rescue. Journal of Field<br />

Robotics, 24(11-12):943–967.<br />

197


198 Bibliography<br />

[Balakirsky et al., 2006] Balakirsky, S., Scrapper, C., Carpin, S., <strong>and</strong> Lewis., M.<br />

(2006). USARSim: providing a framework <strong>for</strong> multi-robot per<strong>for</strong>mance evaluation.<br />

In Proc. of the Per<strong>for</strong>mance Metrics <strong>for</strong> Intelligent Systems (PerMIS) Workshop.<br />

[Balch <strong>and</strong> Arkin, 1994] Balch, T. <strong>and</strong> Arkin, R. C. (1994). Communication in reactive<br />

multiagent robotic systems. Autonomous Robots, 1(1):27–52.<br />

[Bank <strong>and</strong> Douglas, 1993] Bank, R. E. <strong>and</strong> Douglas, C. C. (1993). Sparse matrix multiplication<br />

package (SMMP). Advances in Computational Mathematics, 1:127–137.<br />

[Beauregard, 2006] Beauregard, S. (2006). A helmet-mounted pedestrian dead reckoning<br />

system. In Herzog, O., Kenn, H., Lawo, M., Lukowicz, P., <strong>and</strong> Tröster, G., editors,<br />

3rd International Forum on Applied Wearable Computing (IFAWC’03), pages<br />

79–91. VDE Verlag.<br />

[Beleznai et al., 2004] Beleznai, C., Frühstück, B., <strong>and</strong> Bischof, H. (2004). Human<br />

detection in groups using a fast mean shift procedure. In Proc. IEEE Int. Conf. on<br />

Image Processing, pages 349–352.<br />

[Bennewitz et al., 2001] Bennewitz, M., Burgard, W., <strong>and</strong> Thrun, S. (2001). Optimizing<br />

schedules <strong>for</strong> prioritized path planning of multi-robot systems. In Proc. of the<br />

IEEE Int. Conf. on Robotics & Automation (ICRA), volume 1, pages 271–276.<br />

[Bennewitz et al., 2005] Bennewitz, M., Faber, F., Joho, D., Schreiber, M., <strong>and</strong><br />

Behnke, S. (2005). Integrating vision <strong>and</strong> speech <strong>for</strong> conversations <strong>with</strong> multiple<br />

persons. In Proc. of the IEEE/RSJ Int. Conf. on Intelligent Robots & Systems (IROS),<br />

pages 2523–2528, Canada.<br />

[Bentley, 1975] Bentley, J. L. (1975). Multidimensional binary search trees used <strong>for</strong><br />

associative searching. Communications of the ACM, 18(9):509–517.<br />

[Bhatt <strong>and</strong> Glover, 2006] Bhatt, H. <strong>and</strong> Glover, B. (2006). RFID Essentials. O’Reilly.<br />

[Birk, 2003] Birk, A. (2003). RoboCup<strong>Rescue</strong> - robot league team IUB rescue, Germany.<br />

In RoboCup 2004 (CDROM Proceedings), Team Description Paper, <strong>Rescue</strong><br />

Robot League, Bremen, Germany.<br />

[Bock, 1974] Bock, H. (1974). Automatic Classification. V<strong>and</strong>enhoeck <strong>and</strong> Ruprecht,<br />

Göttingen.<br />

[Bohn <strong>and</strong> Mattern, 2004] Bohn, J. <strong>and</strong> Mattern, F. (2004). Super-distributed RFID tag<br />

infrastructures. In Proceedings of the 2nd European Symposium on Ambient Intelligence<br />

(EUSAI 2004), number 3295 in Lecture Notes in Computer Science (LNCS),<br />

pages 1–12, Eindhoven, The Netherl<strong>and</strong>s. Springer-Verlag.


Bibliography 199<br />

[Borenstein, 1996] Borenstein, J. (1996). Measurement <strong>and</strong> correction of systematic<br />

odometry errors in mobile robots. IEEE Transactions on Robotics <strong>and</strong> Automation,<br />

12(6):869–880.<br />

[Borenstein et al., 1996] Borenstein, J., Everett, H., <strong>and</strong> Feng, L. (1996). Where am i?<br />

sensors <strong>and</strong> methods <strong>for</strong> mobile robot positioning. Technical report, University of<br />

Michigan.<br />

[Bradski, 2000] Bradski, G. (2000). The OpenCV library. Dr. Dobb’s Journal of Software<br />

Tools, 25(11):120, 122–125.<br />

[Bruce, 2000] Bruce, J. (2000). Realtime machine vision perception <strong>and</strong> prediction.<br />

Master’s thesis, Carnegie Mellon University.<br />

[Burgard et al., 2005] Burgard, W., Moors, M., Stachniss, C., <strong>and</strong> Schneider, F. (2005).<br />

Coordinated multi-robot exploration. IEEE Transactions on Robotics, 21(3):376–<br />

378.<br />

[Cao et al., 2004] Cao, D., Masoud, O., Boley, D., <strong>and</strong> Papanikolopoulos, N. (2004).<br />

Online motion classification using support vector machines. In Proc. of the IEEE<br />

Int. Conf. on Robotics & Automation (ICRA), pages 2291–2296.<br />

[Carpin et al., 2006a] Carpin, S., Lewis, M., Wang, J., Balakirsky, S., <strong>and</strong> Scrapper., C.<br />

(2006a). Bridging the gap between simulation <strong>and</strong> reality in urban search <strong>and</strong> rescue.<br />

In Robocup 2006: Robot Soccer World Cup X. Springer, LNAI.<br />

[Carpin et al., 2006b] Carpin, S., Stoyanov, T., Nevatia, Y., Lewis, M., <strong>and</strong> Wang., J.<br />

(2006b). Quantitative Assessments of USARSim Accuracy. In Proc. of the Per<strong>for</strong>mance<br />

Metrics <strong>for</strong> Intelligent Systems (PerMIS) Workshop.<br />

[Casper et al., 2000] Casper, J., Micire, M., <strong>and</strong> Murphy, R. (2000). Issues in intelligent<br />

robots <strong>for</strong> search <strong>and</strong> rescue. In SPIE Ground Vehicle Technology II, volume 4,<br />

pages 41–46.<br />

[Casper <strong>and</strong> Murphy, 2003] Casper, J. <strong>and</strong> Murphy, R. (2003). Human-robot interactions<br />

during the robot-assisted urban search <strong>and</strong> rescue response at the world trade<br />

center. IEEE Transactions On Systems Man And Cybernetics Part B Cybernetics,<br />

33(3):367–385.<br />

[Co. KG, 2005] Co. KG, V. T. G. . (2005). Vorwerk is presenting the first carpet containing<br />

integrated RFID technology. Press release.<br />

[Corke et al., 2004] Corke, P. I., Strelow, D., <strong>and</strong> Singh, S. (2004). Omnidirectional visual<br />

odometry <strong>for</strong> a planetary rover. In Proc. of the IEEE/RSJ Int. Conf. on Intelligent<br />

Robots & Systems (IROS), volume 4, pages 4007–4012.


200 Bibliography<br />

[Cox, 1991] Cox, I. J. (1991). Blanche: Position estimation <strong>for</strong> an autonomous robot<br />

vehicle. In Iyengar, S. S. <strong>and</strong> Elfes, A., editors, Autonomous Mobile Robots: Control,<br />

Planning, <strong>and</strong> Architecture (Vol. 2), pages 285–292. IEEE Computer Society Press,<br />

Los Alamitos, CA.<br />

[CRASAR, 2007] CRASAR (last seen 2007). Return to Katrina. http://crasar.<br />

csee.usf.edu/Research/Projects/Katrina_SGER/index.php.<br />

[Cutler <strong>and</strong> Davis, 2000] Cutler, R. <strong>and</strong> Davis, L. S. (2000). Robust real-time periodic<br />

motion detection, analysis, <strong>and</strong> applications. IEEE Transactions on Pattern Analysis<br />

<strong>and</strong> Machine Intelligence, 22(8):781–796.<br />

[Dass et al., 2002] Dass, S., Jain, A., <strong>and</strong> Lu, X. (2002). Face detection <strong>and</strong> synthesis<br />

using markov r<strong>and</strong>om field models. In Proc. of the Int. Conf. on Pattern Recognition<br />

(ICPR), volume 4, pages 201–204, Washington, DC, USA. IEEE Computer Society.<br />

[Davison, 2003] Davison, A. J. (2003). Real-time simultaneous localisation <strong>and</strong> mapping<br />

<strong>with</strong> a single camera. In Proc. of the IEEE Int. Conf. on Computer Vision<br />

(ICCV), page 1403, Washington, DC, USA. IEEE Computer Society.<br />

[Dias et al., 2004] Dias, M., Zinck, M., Zlot, R., <strong>and</strong> Stentz, A. (2004). Robust multirobot<br />

coordination in dynamic environments. In Proc. of the IEEE Int. Conf. on<br />

Robotics & Automation (ICRA), volume 4, pages 3435–3442.<br />

[Dijkstra, 1959] Dijkstra, E. W. (1959). A note on two problems in connexion <strong>with</strong><br />

graphs. Numerische Mathematik, 1(1):269–271.<br />

[Dippold, 2006] Dippold, M. (2006). Personal dead reckoning <strong>with</strong> accelerometers.<br />

In Herzog, O., Kenn, H., Lawo, M., Lukowicz, P., <strong>and</strong> Tröster, G., editors, 3rd<br />

International Forum on Applied Wearable Computing (IFAWC’03), pages 177–183.<br />

[Dissanayake et al., 2001] Dissanayake, M., Newman, P., Clark, S., Durrant-Whyte,<br />

H., <strong>and</strong> Csorba, M. (2001). A solution to the simultaneous localization <strong>and</strong><br />

map building (SLAM) problem. IEEE Transactions on Robotics <strong>and</strong> Automation,<br />

17(3):229–241.<br />

[Djugash et al., 2005] Djugash, J., Singh, S., <strong>and</strong> Corke, P. (2005). Further results <strong>with</strong><br />

localization <strong>and</strong> mapping using range from radio. In Proc. of the Int. Conf. on Field<br />

<strong>and</strong> Service Robotics (FSR), Pt. Douglas, Australia.<br />

[Dornhege <strong>and</strong> Kleiner, 2006] Dornhege, C. <strong>and</strong> Kleiner, A. (2006). Visual odometry<br />

<strong>for</strong> tracked vehicles. In Proc. of the IEEE Int. Workshop on Safety, Security <strong>and</strong><br />

<strong>Rescue</strong> Robotics (SSRR), Gaithersburg, Maryl<strong>and</strong>, USA.


Bibliography 201<br />

[Dornhege <strong>and</strong> Kleiner, 2007a] Dornhege, C. <strong>and</strong> Kleiner, A. (2007a). Behavior maps<br />

<strong>for</strong> online planning of obstacle negotiation <strong>and</strong> climbing on rough terrain. In Video<br />

Proc. of the IEEE/RSJ Int. Conf. on Intelligent Robots <strong>and</strong> Systems (IROS), San<br />

Diego, Cali<strong>for</strong>nia.<br />

[Dornhege <strong>and</strong> Kleiner, 2007b] Dornhege, C. <strong>and</strong> Kleiner, A. (2007b). Behavior maps<br />

<strong>for</strong> online planning of obstacle negotiation <strong>and</strong> climbing on rough terrain. In Proc. of<br />

the IEEE/RSJ Int. Conf. on Intelligent Robots & Systems (IROS), pages 3005–3011,<br />

San Diego, Cali<strong>for</strong>nia.<br />

[Durrant-Whyte et al., 1996] Durrant-Whyte, H., Rye, D., <strong>and</strong> Nebot, E. (1996). Localisation<br />

of automatic guided vehicles. In Robotics Research: The 7th International<br />

Symposium (ISRR’95), pages 613–625. Springer Verlag.<br />

[Elfes, 1989] Elfes, A. (1989). Using occupancy grids <strong>for</strong> mobile robot perception <strong>and</strong><br />

navigation. Computer, 22(6):46–57.<br />

[Eppstein, 2000] Eppstein, D. (2000). Fast hierarchical clustering <strong>and</strong> other applications<br />

of dynamic closest pairs. J. Exp. Algorithmics, 5:619–628.<br />

[Erdmann <strong>and</strong> Lozano-Perez, 1987] Erdmann, M. <strong>and</strong> Lozano-Perez, T. (1987).<br />

multiple moving objects. Algorithmica, 2(2):477–521.<br />

On<br />

[Fachberger et al., 2006] Fachberger, R., Bruckner, G., Reindl, L., <strong>and</strong> Hauser, R.<br />

(2006). Tagging of metallic objects in harsh environments. In Sensoren und Messsysteme<br />

- 13. ITG-/GMA Fachtagung, University of Freiburg.<br />

[Farinelli et al., 2006] Farinelli, A., Iocchi, L., Nardi, D., <strong>and</strong> Ziparo, V. (2006). Assignment<br />

of dynamically perceived tasks by token passing in multirobot systems.<br />

Proceedings of the IEEE, 94(7):1271–1288.<br />

[FEMA, 2003] FEMA (2003). National urban search <strong>and</strong> rescue (USR) response<br />

system - field operations guide. Technical Report US&R-2-FG, U.S. Department<br />

of Homel<strong>and</strong> Security. http://www.fema.gov/emergency/usr/resources.<br />

shtm.<br />

[Finkenzeller, 2003] Finkenzeller, K. (2003). RFID-H<strong>and</strong>book: Fundamentals <strong>and</strong><br />

Applications in Contactless Smart Cards <strong>and</strong> Identification. John Wiley <strong>and</strong> Sons,<br />

2nd edition.<br />

[Fishkin <strong>and</strong> Roy, 2003] Fishkin, K. <strong>and</strong> Roy, S. (2003). Enhancing RFID privacy via<br />

antenna energy analysis. Technical Report IRS-TR-03-012, Intel Research Seattle.<br />

[Foxlin, 2005] Foxlin, E. (2005). Pedestrian tracking <strong>with</strong> shoe-mounted inertial sensors.<br />

IEEE Comput. Graph. Appl., 25(6):38–46.


202 Bibliography<br />

[Frese, 2006] Frese, U. (2006). Treemap: An O(logn) algorithm <strong>for</strong> indoor simultaneous<br />

localization <strong>and</strong> mapping. Autonomous Robots, 21(2):103–122.<br />

[Freund <strong>and</strong> Schapire, 1996] Freund, Y. <strong>and</strong> Schapire, R. E. (1996). Experiments<br />

<strong>with</strong> a new boosting algorithm. In International Conference on Machine Learning<br />

(ICML), pages 148–156.<br />

[Gabaglio, 2003] Gabaglio, V. (2003). GPS/INS integration <strong>for</strong> pedestrian navigation.<br />

Geodätisch-geophysikalische Arbeiten in der Schweiz, 64:161.<br />

[Gassmann et al., 2003] Gassmann, B., Frommberger, L., Dillmann, R., <strong>and</strong> Berns, K.<br />

(2003). Real-time 3D map building <strong>for</strong> local navigation of a walking robot in unstructured<br />

terrain. In Proc. of the IEEE/RSJ Int. Conf. on Intelligent Robots & Systems<br />

(IROS), volume 3, pages 2185–2190.<br />

[Giuliani et al., 1994] Giuliani, D., Omologo, M., <strong>and</strong> Svaizer, P. (1994). Talker localization<br />

<strong>and</strong> speech recognition using a microphone array <strong>and</strong> a cross-powerspectrum<br />

phase analysis. In Proc. of the ICSLP, pages 1243–1246.<br />

[Grewal et al., 2001] Grewal, M., Weill, L. R., <strong>and</strong> Andrews, A. P. (2001). Global<br />

Positioning Systems, Inertial Navigation, <strong>and</strong> Integration. John Wiley & Sons.<br />

[Grisetti et al., 2005] Grisetti, G., C., S., <strong>and</strong> W., B. (2005). Improving grid-based<br />

SLAM <strong>with</strong> rao-blackwellized particle filters by adaptive proposals <strong>and</strong> selective<br />

resampling. In Proc. of the IEEE Int. Conf. on Robotics & Automation (ICRA),<br />

pages 667–672, Barcelona, Spain.<br />

[Grisetti et al., 2002] Grisetti, G., Iocchi, L., <strong>and</strong> Nardi, D. (2002). Global Hough<br />

localization <strong>for</strong> mobile robots in polygonal environments. In Proc. of the IEEE<br />

Int. Conf. on Robotics & Automation (ICRA), volume 1, pages 353–358.<br />

[Gutmann <strong>and</strong> Schlegel, 1996] Gutmann, J. <strong>and</strong> Schlegel, C. (1996). Amos: Comparison<br />

of scan matching approaches <strong>for</strong> self-localization in indoor environments. In<br />

Proceedings of the 1st Euromicro Workshop on Advanced Mobile Robots, pages 61–<br />

67. IEEE Computer Society Press.<br />

[Gutmann, 2000] Gutmann, J.-S. (2000). Robuste Navigation autonomer mobiler Systeme.<br />

PhD thesis, Albert-Ludwigs-Universit"at Freiburg. ISBN 3-89838-241-9.<br />

[Gutmann et al., 2001] Gutmann, J.-S., Weigel, T., <strong>and</strong> Nebel, B. (2001). A fast, accurate,<br />

<strong>and</strong> robust method <strong>for</strong> self-localization in polygonal environments using laserrange-finders.<br />

Advanced Robotics, 14(8):651–668.<br />

[Hähnel, 2005] Hähnel, D. (2005). <strong>Mapping</strong> <strong>with</strong> Mobile Robots. PhD thesis, Universität<br />

Freiburg, Freiburg, Deutschl<strong>and</strong>.


Bibliography 203<br />

[Hähnel et al., 2004] Hähnel, D., Burgard, W., Fox, D., Fishkin, K., <strong>and</strong> Philipose, M.<br />

(2004). <strong>Mapping</strong> <strong>and</strong> localization <strong>with</strong> RFID technology. In Proc. of the IEEE<br />

Int. Conf. on Robotics & Automation (ICRA), volume 1, pages 1015–1020.<br />

[Hähnel et al., 2003] Hähnel, D., D., Burgard, W., Fox, D., <strong>and</strong> Thrun, S. (2003). A<br />

highly efficient fastslam algorithm <strong>for</strong> generating cyclic maps of large-scale environments<br />

from raw laser range measurements. In Proc. of the IEEE/RSJ Int. Conf. on<br />

Intelligent Robots & Systems (IROS), pages 206–211, Las Vegas, USA.<br />

[Han <strong>and</strong> Bhanu, 2003] Han, J. <strong>and</strong> Bhanu, B. (2003). Detecting moving humans using<br />

color <strong>and</strong> infrared video. In Proc. of the IEEE Int. Conf. on Multisensor Fusion <strong>and</strong><br />

Integration <strong>for</strong> Intelligent Systems (MFI), pages 228–233.<br />

[Hancke <strong>and</strong> Kuhn, 2005] Hancke, G. <strong>and</strong> Kuhn, M. (2005). An RFID distance bounding<br />

protocol. In First Int. Conf. on Security <strong>and</strong> Privacy <strong>for</strong> Emerging Areas in<br />

Communications Networks, pages 67– –73.<br />

[Hatzack <strong>and</strong> Nebel, 2001] Hatzack, W. <strong>and</strong> Nebel, B. (2001). Solving the operational<br />

traffic control problem. In Proceedings of the 6th European Conference on Planning<br />

(ECP’01).<br />

[Helmick et al., 2004] Helmick, D., Chang, Y., Roumeliotis, S., Clouse, D., <strong>and</strong><br />

Matthies, L. (2004). Path following using visual odometry <strong>for</strong> a mars rover in highslip<br />

environments. In IEEE Aerospace Conference, volume 2, pages 772–789.<br />

[Hitachi, 2003] Hitachi (2003). Mu Chip Data Sheet. http://www.hitachi-eu.<br />

com/mu/products/mu_chip_data_sheet.pdf.<br />

[Holl<strong>and</strong>, 1975] Holl<strong>and</strong>, J. H. (1975).<br />

University of Michigan Press.<br />

Adaption in Natural <strong>and</strong> Artificial Systems.<br />

[Honeywell, 2007] Honeywell (2007). Dead-reckoning module DRM 5. Available<br />

on: http://www.ssec.honeywell.com/magnetic/products.html. Referenced<br />

2007.<br />

[IABG mbH, 2007] IABG mbH (2007). Iabg homepage. http://www.iabg.de.<br />

[IEEE, 2002] IEEE (2002). The IEEE st<strong>and</strong>ard 802.15.1: Wireless personal area network<br />

st<strong>and</strong>ard based on the bluetooth v1.1 foundation specifications.<br />

[Jacoff et al., 2000] Jacoff, A., Messina, E., <strong>and</strong> Evans, J. (2000). A st<strong>and</strong>ard test<br />

course <strong>for</strong> urban search <strong>and</strong> rescue robots. In Proc. of the Per<strong>for</strong>mance Metrics<br />

<strong>for</strong> Intelligent Systems (PerMIS) Workshop, pages 253–259.


204 Bibliography<br />

[Jacoff et al., 2001] Jacoff, A., Messina, E., <strong>and</strong> Evans, J. (2001). Experiences in deploying<br />

test arenas <strong>for</strong> autonomous mobile robots. In Proc. of the Per<strong>for</strong>mance Metrics<br />

<strong>for</strong> Intelligent Systems (PerMIS) Workshop, Mexico City, Mexico.<br />

[Jacoff et al., 2003] Jacoff, A., Messina, E., Weiss, B., Tadokoro, S., <strong>and</strong> Nakagawa,<br />

Y. (2003). Test arenas <strong>and</strong> per<strong>for</strong>mance metrics <strong>for</strong> urban search <strong>and</strong> rescue robots.<br />

In Proc. of the IEEE/RSJ Int. Conf. on Intelligent Robots & Systems (IROS), pages<br />

27–31, Las Vegas.<br />

[Jaeger <strong>and</strong> Nebel, 2001] Jaeger, M. <strong>and</strong> Nebel, B. (2001). Decentralized collision<br />

avoidance, deadlock detection, <strong>and</strong> deadlock resolution <strong>for</strong> multiple mobile robots.<br />

In Proc. of the IEEE/RSJ Int. Conf. on Intelligent Robots & Systems (IROS).<br />

[Jennings et al., 1997] Jennings, J., Whelan, G., <strong>and</strong> Evans, W. (1997). Cooperative<br />

search <strong>and</strong> rescue <strong>with</strong> a team of mobile robots. In Proc. of the IEEE Int. Conf. on<br />

Advanced Robotics (ICAR), pages 193–200.<br />

[Judd, 1997] Judd, D. C. T. (1997). A personal dead reckoning module. In Proceedings<br />

of the Institute of Navigation’s GPS Conference, pages 169 – 170.<br />

[Kantor <strong>and</strong> Singh, 2002] Kantor, G. <strong>and</strong> Singh, S. (2002). Preliminary results in<br />

range-only localization <strong>and</strong> mapping. In Proc. of the IEEE Int. Conf. on Robotics<br />

& Automation (ICRA), volume 2, pages 1818–1823, Washington D.C., USA.<br />

[Kantor et al., 2003] Kantor, G., Singh, S., Peterson, R., Rus, D., Das, A., Kumar, V.,<br />

Pereira, G., <strong>and</strong> Spletzer, J. (2003). Distributed search <strong>and</strong> rescue <strong>with</strong> robot <strong>and</strong><br />

sensor team. In Proc. of the Int. Conf. on Field <strong>and</strong> Service Robotics (FSR), pages<br />

327–332. Sage Publications.<br />

[Kehagias et al., 2006] Kehagias, A., Djugash, J., <strong>and</strong> Singh, S. (2006). Range-only<br />

SLAM <strong>with</strong> interpolated range data. Technical Report CMU-RI-TR-06-26, Robotics<br />

Institute, Carnegie Mellon University.<br />

[Kenn <strong>and</strong> Kleiner, 2007] Kenn, H. <strong>and</strong> Kleiner, A. (2007). Towards the integration of<br />

real-time real-world data in urban search <strong>and</strong> rescue simulation. In Löffler, J. <strong>and</strong><br />

Klann, M., editors, Int. Workshop on Mobile In<strong>for</strong>mation Technology <strong>for</strong> Emergency<br />

Response - MobileResponse 2007, volume 4458 of LNCS, pages 106–115. Springer.<br />

[Kenn <strong>and</strong> Pfeil, 2006] Kenn, H. <strong>and</strong> Pfeil, A. (2006). Localizing victims through<br />

sound <strong>and</strong> probabilistic grid maps in urban search <strong>and</strong> rescue scenario. In Noda,<br />

I., Jacoff, A., Bredenfeld, A., <strong>and</strong> Takahashi, Y., editors, Robocup 2005: Robot Soccer<br />

World Cup IX, pages 312–322. Springer.


Bibliography 205<br />

[Kim et al., 2004] Kim, J., Ong, S., Nettleton, E., <strong>and</strong> Sukkarieh, S. (2004). Decentralised<br />

approach to unmanned aerial vehicle navigation: <strong>with</strong>out the use of GPS<br />

<strong>and</strong> preloaded map. Journal of Aerospace Engineering, Professional Engineering<br />

Publishing, 218(6):399–416.<br />

[Kitano <strong>and</strong> Tadokoro, 2001] Kitano, H. <strong>and</strong> Tadokoro, S. (2001). A gr<strong>and</strong> challenge<br />

<strong>for</strong> multiagent <strong>and</strong> intelligent systems. AI Magazine, 22:39–52.<br />

[Kitano et al., 1999] Kitano, H., Tadokoro, S., Noda, I., Matsubara, H., Takahashi, T.,<br />

Shinjou, A., <strong>and</strong> Shimada, S. (1999). RoboCup <strong>Rescue</strong>: <strong>Search</strong> <strong>and</strong> rescue in largescale<br />

disasters as a domain <strong>for</strong> autonomous agents research. In IEEE Conf. on Man,<br />

Systems, <strong>and</strong> Cybernetics(SMC-99).<br />

[Kleiner, 2005] Kleiner, A. (2005). Game AI: The shrinking gap between computer<br />

games <strong>and</strong> ai systems. Ambient Intelligence: The evolution of technology, communication<br />

<strong>and</strong> cognition towards the future of human-computer interaction, 6:143–155.<br />

[Kleiner et al., 2006a] Kleiner, A., Behrens, N., <strong>and</strong> Kenn, H. (2006a). Wearable computing<br />

meets multiagent systems: A real-world interface <strong>for</strong> the RoboCup<strong>Rescue</strong><br />

simulation plat<strong>for</strong>m. In Jennings, N., Tambe, M., Ishida, T., <strong>and</strong> Ramchurn, S., editors,<br />

First International Workshop on Agent Technology <strong>for</strong> Disaster Management at<br />

AAMAS06, pages 116–123, Hakodate, Japan. AAMAS Press.<br />

[Kleiner et al., 2004] Kleiner, A., Brenner, M., Bräuer, T., Dornhege, C., Göbelbecker,<br />

M., Luber, M., Prediger, J., <strong>and</strong> Stückler, J. (2004). ResQ Freiburg: Team description<br />

<strong>and</strong> evaluation. In RoboCup 2004 (CDROM Proceedings), Team Description Paper,<br />

<strong>Rescue</strong> Simulation League, Lisbon, Portugal. (1st place in the competition).<br />

[Kleiner et al., 2005a] Kleiner, A., Brenner, M., Bräuer, T., Dornhege, C., Göbelbecker,<br />

M., Luber, M., Prediger, J., Stückler, J., <strong>and</strong> Nebel, B. (2005a). Successful<br />

search <strong>and</strong> rescue in simulated disaster areas. In Bredenfeld, A., Jacoff, A., Noda,<br />

I., <strong>and</strong> Takahashi, Y., editors, Robocup 2005: Robot Soccer World Cup IX, volume<br />

4020 of Lecture Notes in Computer Science, pages 323–334. Springer.<br />

[Kleiner <strong>and</strong> Buchheim, 2003] Kleiner, A. <strong>and</strong> Buchheim, T. (2003). A plugin-based<br />

architecture <strong>for</strong> simulation in the F2000 league. In Polani, D., Browning, B., Bonarini,<br />

A., <strong>and</strong> Yoshida, K., editors, RoboCup 2003: Robot Soccer World Cup VII,<br />

volume 3020 of Lecture Notes in Computer Science, pages 434–445. Springer.<br />

[Kleiner <strong>and</strong> Dornhege, 2007] Kleiner, A. <strong>and</strong> Dornhege, C. (2007). Real-time localization<br />

<strong>and</strong> elevation mapping <strong>with</strong>in urban search <strong>and</strong> rescue scenarios. Journal of<br />

Field Robotics, 24(8–9):723–745.


206 Bibliography<br />

[Kleiner et al., 2006b] Kleiner, A., Dornhege, C., Kümmerle, R., Ruhnke, M., Steder,<br />

B., Nebel, B., Doherty, P., Wzorek, M., Rudol, P., Conte, G., Durante, S., <strong>and</strong> Lundstrom,<br />

D. (2006b). RoboCup<strong>Rescue</strong> - robot league team <strong>Rescue</strong>Robots Freiburg<br />

(Germany). In RoboCup 2006 (CDROM Proceedings), Team Description Paper,<br />

<strong>Rescue</strong> Robot League, Bremen, Germany. (1st place in the autonomy competition).<br />

[Kleiner et al., 2007] Kleiner, A., Dornhege, C., <strong>and</strong> Sun, D. (2007). <strong>Mapping</strong> disaster<br />

areas jointly: RFID-coordinated slam by humans <strong>and</strong> robots. In Proc. of the IEEE<br />

Int. Workshop on Safety, Security <strong>and</strong> <strong>Rescue</strong> Robotics (SSRR), pages 1–6, Rom,<br />

Italy.<br />

[Kleiner <strong>and</strong> Kümmerle, 2007] Kleiner, A. <strong>and</strong> Kümmerle, R. (2007). Genetic MRF<br />

model optimization <strong>for</strong> real-time victim detection in search <strong>and</strong> rescue. In Proc. of<br />

the IEEE/RSJ Int. Conf. on Intelligent Robots & Systems (IROS), pages 3025–3030,<br />

San Diego, Cali<strong>for</strong>nia.<br />

[Kleiner et al., 2006c] Kleiner, A., Prediger, J., <strong>and</strong> Nebel, B. (2006c). RFID<br />

technology-based exploration <strong>and</strong> SLAM <strong>for</strong> search <strong>and</strong> rescue. In Proc. of the<br />

IEEE/RSJ Int. Conf. on Intelligent Robots & Systems (IROS), pages 4054–4059, Beijing,<br />

China.<br />

[Kleiner et al., 2005b] Kleiner, A., Steder, B., Dornhege, C., Höfer, D., Meyer-Delius,<br />

D., Prediger, J., Stückler, J., Glogowski, K., Thurner, M., Luber, M., Schnell, M.,<br />

Kümmerle, R., Burk, T., Bräuer, T., <strong>and</strong> Nebel, B. (2005b). RoboCup<strong>Rescue</strong> - robot<br />

league team <strong>Rescue</strong>Robots Freiburg (Germany). In RoboCup 2005 (CDROM Proceedings),<br />

Team Description Paper, <strong>Rescue</strong> Robot League, Osaka, Japan. (1st place<br />

in the autonomy competition, 4th place in the teleoperation competition).<br />

[Kleiner <strong>and</strong> Sun, 2007] Kleiner, A. <strong>and</strong> Sun, D. (2007). Decentralized SLAM <strong>for</strong><br />

pedestrians <strong>with</strong>out direct communication. In Proc. of the IEEE/RSJ Int. Conf. on<br />

Intelligent Robots & Systems (IROS), pages 1461–1466, San Diego, Cali<strong>for</strong>nia.<br />

[Kleiner <strong>and</strong> Ziparo, 2006] Kleiner, A. <strong>and</strong> Ziparo, V. (2006). RoboCup<strong>Rescue</strong> - simulation<br />

league team <strong>Rescue</strong>Robots Freiburg (Germany). In RoboCup 2006 (CDROM<br />

Proceedings), Team Description Paper, <strong>Rescue</strong> Simulation League, Bremen, Germany.<br />

(1st place in the competition).<br />

[Kohavi <strong>and</strong> John, 1997] Kohavi, J. <strong>and</strong> John, G. H. (1997). Wrappers <strong>for</strong> feature subset<br />

selection. Artificial Intelligence Journal, 97:273–324.<br />

[Koyanagi et al., 2006] Koyanagi, E., Oba, Y., Kato, J., Sakurada, N., Yoshida, T., <strong>and</strong><br />

Hayashibara, Y. (2006). RoboCup<strong>Rescue</strong> 2006 - robot league team toin pelican<br />

(japan). In RoboCup 2006 (CDROM Proceedings), Team Description Paper, <strong>Rescue</strong><br />

Robot League, Bremen, Germany.


Bibliography 207<br />

[Krotkov <strong>and</strong> Hoffman, 1994] Krotkov, E. <strong>and</strong> Hoffman, R. (1994). Terrain mapping<br />

<strong>for</strong> a walking planetary rover. IEEE Transactions on Robotics <strong>and</strong> Automation,<br />

10:728–739.<br />

[Kuhn, 1955] Kuhn, H. W. (1955). The Hungarian method <strong>for</strong> the assignment problem.<br />

Naval Research Logistics Quaterly, 2:83–97.<br />

[Kurth et al., 2003] Kurth, D., Kantor, G., <strong>and</strong> Singh, S. (2003). Experimental results in<br />

range-only localization <strong>with</strong> radio. In Proc. of the IEEE/RSJ Int. Conf. on Intelligent<br />

Robots & Systems (IROS), volume 1, pages 974–979, Las Vegas, USA.<br />

[Kuwata et al., 2006] Kuwata, Y., Takahashi, T., Ito, N., <strong>and</strong> Takeuchi, I. (2006). Design<br />

of human-in-the-loop agent simulation <strong>for</strong> disaster simulation systems,. In<br />

Proc. of the Third International Workshop on Synthetic Simulation <strong>and</strong> Robotics to<br />

Mitigate Earthquake Disaster (SRMED), pages 9–14.<br />

[Ladetto et al., 2001] Ladetto, Q., Gabaglio, V., <strong>and</strong> Merminod, B. (2001). Combining<br />

gyroscopes, magnetic compass <strong>and</strong> GPS <strong>for</strong> pedestrian navigation. In International<br />

Symposium on Kinematic Systems in Geody, Geomatics <strong>and</strong> Navigation (KIS 2001),<br />

pages 205–212, Banff, Canada.<br />

[Ladetto <strong>and</strong> Merminod, 2002a] Ladetto, Q. <strong>and</strong> Merminod, B. (2002a). Digital magnetic<br />

compass <strong>and</strong> gyroscope integration <strong>for</strong> pedestrian navigation. In 9th Saint<br />

Petersburg International Conference on Integrated Navigation Systems, Russia.<br />

[Ladetto <strong>and</strong> Merminod, 2002b] Ladetto, Q. <strong>and</strong> Merminod, B. (2002b). In step <strong>with</strong><br />

INS: Navigation <strong>for</strong> the blind, tracking emergency crews. GPSWorld, 13(10):30–38.<br />

[Ladetto et al., 2000] Ladetto, Q., Merminod, B., Terrirt, P., <strong>and</strong> Schutz, Y. (2000). On<br />

foot navigation: When GPS alone is not enough. Journal of Navigation, 53(02):279–<br />

285.<br />

[Lange, 2005] Lange, E. (2005). Sicherheits-innovationen: Banknoten der zukunft.<br />

Die Bank - Zeitschrift für Bankpolitik und Praxis, 9.<br />

[Lawo et al., 2006] Lawo, M., Witt, H., Kenn, H., Nicolai, T., <strong>and</strong> Leibr<strong>and</strong>, R. (2006).<br />

A glove <strong>for</strong> seamless computer interaction - underst<strong>and</strong> the WINSPECT. In Kenn,<br />

H., Glotzbach, U., <strong>and</strong> Herzog, O., editors, The Smart Glove Workshop, number 33.<br />

[Lechner et al., 2001] Lechner, W., Baumann, S., <strong>and</strong> Legat, K. (2001). Pedestrian<br />

navigation - bases <strong>for</strong> the next mass market in mobile positioning. In Proceedings of<br />

Locellus 2001, pages 79–90, Munich, Germany.<br />

[Liao et al., 2007] Liao, L., Patterson, D. J., Fox, D., <strong>and</strong> Kautz, H. A. (2007). Learning<br />

<strong>and</strong> inferring transportation routines. Artificial Intelligence, 171(5-6):311–331.


208 Bibliography<br />

[Lienhart <strong>and</strong> Maydt, 2002] Lienhart, R. <strong>and</strong> Maydt, J. (2002). An extended set of<br />

haar-like features <strong>for</strong> rapid object detection. Proc. of the IEEE Int. Conf. on Image<br />

Processing (ICIP), 1:900–903.<br />

[Logitech, 2006] Logitech (2006). Logitech QuickCam Pro 4000. http:<br />

//www.logitech.com/index.cfm/products/details/US/EN,CRID=2204,<br />

CONTENTID=5042.<br />

[Lu <strong>and</strong> Milios, 1994] Lu, F. <strong>and</strong> Milios, E. (1994). Robot pose estimation in unknown<br />

environments by matching 2D range scans. In IEEE Computer Society Conference<br />

on Vision <strong>and</strong> Pattern Recognitionv (CVPR), pages 935–938.<br />

[Lu <strong>and</strong> Milios, 1997] Lu, F. <strong>and</strong> Milios, E. (1997). Globally consistent range scan<br />

alignment <strong>for</strong> environment mapping. Autonomous Robots, 4:333–349.<br />

[Maybeck, 1979] Maybeck, P. S. (1979). Stochastic models, estimation, <strong>and</strong> control,<br />

volume 141 of Mathematics in Science <strong>and</strong> Engineering. Academic Press.<br />

[Maybeck, 1990] Maybeck, P. S. (1990). The Kalman filter: An introduction to concepts.<br />

Cox <strong>and</strong> Wilfong.<br />

[Meier et al., 2005] Meier, D., Stachniss, C., <strong>and</strong> Burgard, W. (2005). Coordinating<br />

multiple robots during exploration under communication <strong>with</strong> limited b<strong>and</strong>width. In<br />

Proc. of the European Conference on Mobile Robots (ECMR), pages 26–31, Ancona,<br />

Italy.<br />

[Messina et al., 2005] Messina, E., Jacoff, A., Scholtz, J., Schlenoff, C., Huang, H.,<br />

Lytle, A., <strong>and</strong> Blitch, J. (2005). Statement of requirements <strong>for</strong> urban search <strong>and</strong><br />

rescue robot per<strong>for</strong>mance st<strong>and</strong>ards. Technical report, Department of Homel<strong>and</strong><br />

Security, Science <strong>and</strong> Technology Directorate <strong>and</strong> National Institute of St<strong>and</strong>ards<br />

<strong>and</strong> Technology.<br />

[MicroSensys, 2007] MicroSensys (2007). Homepage. http://www.microsensys.<br />

de/.<br />

[Milella <strong>and</strong> Siegwart, 2006] Milella, A. <strong>and</strong> Siegwart, R. (2006). Stereo-based egomotion<br />

estimation using pixel tracking <strong>and</strong> iterative closest point. In Proc. of the<br />

IEEE Int. Conf. on Computer Vision Systems (ICVS), page 21, Washington, DC,<br />

USA. IEEE Computer Society.<br />

[Miller et al., 2006] Miller, L., Wilson, P. F., Bryner, N. P., Francis, Guerrieri, J. R.,<br />

Stroup, D. W., <strong>and</strong> Klein-Berndt, L. (2006). RFID-assisted indoor localization <strong>and</strong><br />

communication <strong>for</strong> first responders. In Proc. of the Int. Symposium on Advanced<br />

Radio Technologies.


Bibliography 209<br />

[Montemerlo et al., 2002] Montemerlo, M., Thrun, S., Koller, D., <strong>and</strong> Wegbreit, B.<br />

(2002). FastSLAM: a factored solution to the simultaneous localization <strong>and</strong> mapping<br />

problem. In Eighteenth national conference on Artificial intelligence, pages 593–<br />

598, Menlo Park, CA, USA. American Association <strong>for</strong> Artificial Intelligence.<br />

[Moravec, 1988] Moravec, H. (1988).<br />

robots. AI Magazine, 9(2):61–74.<br />

Sensor fusion in certainty grids <strong>for</strong> mobile<br />

[Moravec <strong>and</strong> Elfes, 1985] Moravec, H. <strong>and</strong> Elfes, A. (1985). High resolution maps<br />

from wide angle sonar. In Proc. of the IEEE Int. Conf. on Robotics & Automation<br />

(ICRA), pages 116–121.<br />

[Moravec, 1996] Moravec, H. P. (1996). Robot spatial perception by stereoscopic vision<br />

<strong>and</strong> 3D evidence grids. Technical Report CMU-RI-TR-96-34, Carnegie Mellon<br />

University.<br />

[Murphy, 2000] Murphy, K. (2000). Bayesian map learning in dynamic environments.<br />

In Advances in Neural In<strong>for</strong>mation Processing Systems (NIPS). MIT Press.<br />

[Murphy, 2004] Murphy, R. (2004). Human-robot interaction in rescue robotics. Systems,<br />

Man <strong>and</strong> Cybernetics, Part C: Applications <strong>and</strong> Reviews, IEEE Transactions<br />

on, 34(2):138–153.<br />

[Murphy et al., 2000] Murphy, R., Casper, J., Micire, M., <strong>and</strong> Hyams, J. (2000).<br />

Mixed-initiative control of multiple heterogeneous robots <strong>for</strong> USAR. Technical Report<br />

CRASAR-TR2000-11, Center <strong>for</strong> Robot Assisted <strong>Search</strong> & <strong>Rescue</strong>, University<br />

of South Florida, Tampa, FL.<br />

[Neira <strong>and</strong> Tard, 2001] Neira, J. <strong>and</strong> Tard, J. (2001). Data association in stochastic<br />

mapping using the joint compatibility test. IEEE Transactions on Robotics <strong>and</strong> Automation,<br />

17(6):890–897.<br />

[Nettleton et al., 2003] Nettleton, E., Thrun, S., <strong>and</strong> Durrant-Whyte, H. (2003). Decentralised<br />

SLAM <strong>with</strong> low-b<strong>and</strong>width communication <strong>for</strong> teams of airborne vehicles.<br />

In In Proc. of the Int. Conf. on Field <strong>and</strong> Service Robotics, Lake Yamanaka, Japan.<br />

[Nevatia et al., 2006] Nevatia, Y., Mahmudi, M., Markov, S., Rathnam, R., Stoyanov,<br />

T., , <strong>and</strong> Carpin, S. (2006). VIRTUAL-IUB: the 2006 IUB virtual robots team. In<br />

Robocup 2006: Robot Soccer World Cup X, Bremen, Germany.<br />

[Newman et al., 2003] Newman, P. M., Leonard, J. J., <strong>and</strong> Rikoski, R. R. (2003). Towards<br />

constant-time SLAM on an autonomous underwater vehicle using synthetic<br />

aperture sonar. In Int. Symposium on Robotics Research, Sienna, Italy.


210 Bibliography<br />

[Nguyen et al., 2004] Nguyen, H. M., Takamori, T., Kobayashi, S., Takashima, S., <strong>and</strong><br />

Ikeuchi, A. (2004). Development of carbon dioxide sensing system <strong>for</strong> searching<br />

victims in large scale disasters. In SICE Annual Conference, volume 2, pages 1358–<br />

1361.<br />

[Nicolai et al., 2005] Nicolai, T., Sindt, T., Kenn, H., <strong>and</strong> Witt, H. (2005). Case study of<br />

wearable computing <strong>for</strong> aircraft maintenance. In Herzog, O., Lawo, M., Lukowicz,<br />

P., <strong>and</strong> R<strong>and</strong>all, J., editors, 2nd International Forum on Applied Wearable Computing<br />

(IFAWC’02), pages 97–110. VDE Verlag.<br />

[Nister et al., 2004] Nister, D., Naroditsky, O., <strong>and</strong> Bergen, J. (2004). Visual odometry.<br />

In IEEE Computer Society Conference on Vision <strong>and</strong> Pattern Recognitionv (CVPR),<br />

volume 1, pages 652–659.<br />

[Noda <strong>and</strong> Meguro, 2006] Noda, I. <strong>and</strong> Meguro, J. (2006). Data representation <strong>for</strong><br />

in<strong>for</strong>mation sharing <strong>and</strong> integration among rescue robot <strong>and</strong> simulation. In International<br />

Joint Conference SICE-ICASE, pages 3449–3454, Busan, Korea.<br />

[Nourbakhsh et al., 2005] Nourbakhsh, I., Lewis, M., Sycara, K., Koes, M., Yong, M.,<br />

<strong>and</strong> Burion, S. (2005). Human-robot teaming <strong>for</strong> search <strong>and</strong> rescue. IEEE Pervasive<br />

Computing, 4(1):72–78.<br />

[Nüchter et al., 2003] Nüchter, A., Surmann, H., Lingemann, K., <strong>and</strong> Hertzberg, J.<br />

(2003). Semantic scene analysis of scanned 3D indoor environments. In Proceedings<br />

of the 8th International Fall Workshop Vision, Modeling, <strong>and</strong> Visualization (VMV),<br />

pages 215–222, Munich, Germany. IOS Press.<br />

[Nüssle et al., 2004] Nüssle, T. A., Kleiner, A., <strong>and</strong> Brenner, M. (2004). Approaching<br />

urban disaster reality: The ResQ firesimulator. In Nardi, D., Riedmiller, M., Sammut,<br />

C., <strong>and</strong> Santos-Victor, J., editors, RoboCup 2004: Robot Soccer World Cup VIII,<br />

volume 3276 of Lecture Notes in Computer Science, pages 474–482. Springer.<br />

[Oh et al., 2006] Oh, J., Hwang, J., <strong>and</strong> Smith, S. (2006). Agent technologies <strong>for</strong> postdisaster<br />

urban planning. In Jennings, N., Tambe, M., Ishida, T., <strong>and</strong> Ramchurn, S.,<br />

editors, First International Workshop on Agent Technology <strong>for</strong> Disaster Management<br />

at AAMAS06, pages 24–31, Hakodate, Japan. AAMAS Press.<br />

[Ojeda <strong>and</strong> Borenstein, 2004] Ojeda, L. <strong>and</strong> Borenstein, J. (2004). Methods <strong>for</strong> the<br />

reduction of odometry errors in over-constrained mobile robots. Autonomous Robots,<br />

16:273–286.<br />

[Omologo <strong>and</strong> Svaizer, 1996] Omologo, M. <strong>and</strong> Svaizer, P. (1996). Acoustic source<br />

localization in noisy <strong>and</strong> reverberant environment using csp analysis. In Proc. of


Bibliography 211<br />

the IEEE Int. Conf. on Acoustics, Speech, <strong>and</strong> Signal Processing (ICASSP), pages<br />

921–924.<br />

[Perkins, 2002] Perkins, C. (2002). IP mobility support <strong>for</strong> IPv4. RFC.<br />

[Pfaff et al., 2007a] Pfaff, P., Triebel, R., <strong>and</strong> Burgard, W. (2007a). An efficient extension<br />

to elevation maps <strong>for</strong> outdoor terrain mapping <strong>and</strong> loop closing. The International<br />

Journal of Robotics Research - Special Issue FSR, 26(2):217–230.<br />

[Pfaff et al., 2007b] Pfaff, P., Triebel, R., Stachniss, C., Lamon, P., Burgard, W., <strong>and</strong><br />

Siegwart, R. (2007b). Towards mapping of cities. In Proc. of the IEEE Int. Conf. on<br />

Robotics & Automation (ICRA), Rome, Italy.<br />

[Pfingsthorn et al., 2006] Pfingsthorn, M., Slamet, B., Visser, A., <strong>and</strong> Vlassis, N.<br />

(2006). UvA rescue team 2006 RoboCup <strong>Rescue</strong> - simulation league. In Robocup<br />

2006: Robot Soccer World Cup X, Bremen, Germany.<br />

[Pratt et al., 2006] Pratt, K., Murphy, R., Stover, S., <strong>and</strong> Griffin, C. (2006). Requirements<br />

<strong>for</strong> semi-autonomous flight in miniature UAVs <strong>for</strong> structural inspection. In<br />

Submitted to AUVSI Unmanned Systems North America.<br />

[Quinlan, 2003] Quinlan, J. R. (2003). Induction of decision trees. Machine Learning,<br />

1(1):81–106.<br />

[Ramos et al., 2007] Ramos, F. T., Nieto, J., <strong>and</strong> Durrant-Whyte, H. (2007). Recognising<br />

<strong>and</strong> modelling l<strong>and</strong>marks to close loops in outdoor SLAM. In Proc. of the IEEE<br />

Int. Conf. on Robotics & Automation (ICRA), pages 2036–2041.<br />

[Reece <strong>and</strong> Roberts, 2005] Reece, S. <strong>and</strong> Roberts, S. (2005). Robust, low-b<strong>and</strong>width,<br />

multi-vehicle mapping. In Eighth IEEE Int. Conf. on In<strong>for</strong>mation Fusion, Philadelphia,<br />

Penn.<br />

[Reindl et al., 2001] Reindl, L. M., Pohl, A., Scholl, G., <strong>and</strong> Weigel, R. (2001). Sawbased<br />

radio sensor systems. IEEE Sensors Journal, 1:69–78.<br />

[Research, 2007] Research, C. T. (2007). www.ctr.at.<br />

[ResQ Freiburg, 2004] ResQ Freiburg (2004). Source code. Available on: http://<br />

gkiweb.in<strong>for</strong>matik.uni-freiburg.de/~rescue/sim04/source/resq.tgz.<br />

release September, 2004.<br />

[Retscher <strong>and</strong> Kealy, 2006] Retscher, G. <strong>and</strong> Kealy, A. (2006). Ubiquitous positioning<br />

technologies <strong>for</strong> modern intelligent navigation systems. The Journal of Navigation,<br />

59:91–103.


212 Bibliography<br />

[Russell <strong>and</strong> Norvig, 2003] Russell, S. J. <strong>and</strong> Norvig, P. (2003). Artificial Intelligence:<br />

A Modern Approach. Pearson Education.<br />

[Schurr et al., 2005] Schurr, N., Marecki, J., Scerri, P., Lewi, J. P., <strong>and</strong> Tambe, M.<br />

(2005). Programming Multiagent Systems, chapter The DEFACTO System: Coordinating<br />

Human-Agent Teams <strong>for</strong> the Future of Disaster Response, page 296.<br />

Springer.<br />

[Seidel <strong>and</strong> Rapport, 1992] Seidel, S. Y. <strong>and</strong> Rapport, T. S. (1992). 914 MHz path<br />

loss prediction model <strong>for</strong> indoor wireless communications in multi-floored buildings.<br />

IEEE Trans. on Antennas <strong>and</strong> Propagation, 40(2):207–217.<br />

[Sheh, 2006] Sheh, R. (2006). The Redback: A low-cost advanced mobility robot <strong>for</strong><br />

education <strong>and</strong> research. In Proc. of the IEEE Int. Workshop on Safty, Security <strong>and</strong><br />

<strong>Rescue</strong> Robotics (SSRR).<br />

[Shimony, 1994] Shimony, S. E. (1994). Finding maps <strong>for</strong> belief networks is np-hard.<br />

Artificial Intelligence, 68:399–410.<br />

[Sidenbladh, 2004] Sidenbladh, H. (2004). Detecting human motion <strong>with</strong> support vector<br />

machines. In Proc. of the Int. Conf. on Pattern Recognition (ICPR), volume 2,<br />

pages 188–191.<br />

[Siebra <strong>and</strong> Tate, 2005] Siebra, C. <strong>and</strong> Tate, A. (2005). Integrating collaboration <strong>and</strong><br />

activity-oriented planning <strong>for</strong> coalition operations support. In In Proceedings of the<br />

9th International Symposium on RoboCup, Osaka, Japan.<br />

[Smith et al., 1988] Smith, R., Self, M., <strong>and</strong> Cheeseman, P. (1988). Estimating uncertain<br />

spatial relationships in robotics. Autonomous Robot Vehicles, 1:167–193.<br />

[Smith <strong>and</strong> Cheeseman, 1986] Smith, R. C. <strong>and</strong> Cheeseman, P. (1986). On the representation<br />

<strong>and</strong> estimation of spatial uncertainty. International Journal of Robotics<br />

Research, 5(4):56–68.<br />

[Snyder, 1987] Snyder, J. P. (1987). Map Projections - A Working Manual. U.S. Geological<br />

Survey Professional Paper 1395. United States Government Printing Office,<br />

Washington, D.C.<br />

[Stachniss et al., 2004] Stachniss, C., Haehnel, D., <strong>and</strong> Burgard, W. (2004). <strong>Exploration</strong><br />

<strong>with</strong> active loop-closing <strong>for</strong> FastSLAM. In Proc. of the IEEE/RSJ Int. Conf.<br />

on Intelligent Robots & Systems (IROS), pages 1505–1510, Sendai, Japan.<br />

[Starner, 2001a] Starner, T. (2001a). The challenges of wearable computing: Part 1.<br />

IEEE Micro, 21(4):44–52.


Bibliography 213<br />

[Starner, 2001b] Starner, T. (2001b). The challenges of wearable computing: Part 2.<br />

IEEE Micro, 21(4):54–67.<br />

[Surmann et al., 2003] Surmann, H., Nüchter, A., <strong>and</strong> Hertzberg, J. (2003). An autonomous<br />

mobile robot <strong>with</strong> a 3D laser range finder <strong>for</strong> 3D exploration <strong>and</strong> digitalization<br />

of indoor environments. Journal Robotics <strong>and</strong> Autonomous Systems, 45(3–<br />

4):181–198.<br />

[Surmann et al., 2004] Surmann, H., Worst, R., Hennig, M., Lingemann, K., Nüchter,<br />

A., Pervoelz, K., Tiruchinapalli, K. R., Christaller, T., <strong>and</strong> Hertzberg, J. (2004).<br />

RoboCup<strong>Rescue</strong> - robot league team KURT3D, Germany, team description paper,<br />

rescue robot league competition. In RoboCup 2004: Robot Soccer World Cup VIII,<br />

Portugal, July.<br />

[Sutton <strong>and</strong> Barto, 1998] Sutton, R. <strong>and</strong> Barto, A. G. (1998). Rein<strong>for</strong>cement Learning:<br />

An Introduction (Adaptive Computation <strong>and</strong> Machine Learning). The MIT Press.<br />

[Svaizer et al., 1997] Svaizer, P., Matassoni, M., <strong>and</strong> Omologo, M. (1997). Acoustic<br />

source location in a three-dimensional space using crosspower spectrum phase. In<br />

Proc. of the IEEE Int. Conf. on Acoustics, Speech, <strong>and</strong> Signal Processing (ICASSP),<br />

page 231, Washington, DC, USA. IEEE Computer Society.<br />

[Svennebring <strong>and</strong> Koenig, 2004] Svennebring, J. <strong>and</strong> Koenig, S. (2004). Building<br />

terrain-covering ant robots: A feasibility study. Auton. Robots, 16(3):313–332.<br />

[Tadokoro, 2005] Tadokoro, S. (2005). Special project on development of advanced<br />

robots <strong>for</strong> disaster response (DDT project). In IEEE Workshop on Advance Robotics<br />

<strong>and</strong> its Social Impacts (ARSO’05).<br />

[Tadokoro et al., 2000] Tadokoro, S., Kitano, H., Takahashi, T., Noda, I., Matsubara,<br />

H., Shinjou, A., Koto, T., Takeuchi, I., Takahashi, H., Matsuno, F., Hatayama, M.,<br />

Nobe, J., <strong>and</strong> Shimada, S. (2000). The RoboCup-<strong>Rescue</strong> project: A robotic approach<br />

to the disaster mitigation problem. In Proc. of the IEEE Int. Conf. on Robotics &<br />

Automation (ICRA).<br />

[Tadokoro et al., 2003] Tadokoro, S., Matsuno, F., Onosato, M., <strong>and</strong> Asama, H. (2003).<br />

Japan national special project <strong>for</strong> earthquake disaster mitigation in urban areas.<br />

In First International Workshop on Synthetic Simulation <strong>and</strong> Robotics to Mitigate<br />

Earthquake Disaster.<br />

[Takahashi, 2006] Takahashi, T. (2006). Requirements to agent-based disaster simulations<br />

from local government usage. In Jennings, N., Tambe, M., Ishida, T., <strong>and</strong><br />

Ramchurn, S., editors, First International Workshop on Agent Technology <strong>for</strong> Disaster<br />

Management at AAMAS06, pages 78–84, Hakodate, Japan. AAMAS Press.


214 Bibliography<br />

[Takashi <strong>and</strong> Hiroshi, 2003] Takashi, N. <strong>and</strong> Hiroshi, U. (2003). Detection of carbon<br />

dioxide in urban search <strong>and</strong> rescue as an application <strong>for</strong> miniaturized mass spectrometerst.<br />

Journal of the Mass Spectrometry Society of Japan, 51(1):264–266.<br />

[Taskar et al., 2004] Taskar, B., Chatalbashev, V., <strong>and</strong> Koller, D. (2004). Learning associative<br />

markov networks. In Proc. of the Int. Conf. on Machine Learning (ICML).<br />

[Taskar et al., 2003] Taskar, B., Guestrin, C., <strong>and</strong> Koller, D. (2003). Max-margin<br />

markov networks. In Advances in Neural In<strong>for</strong>mation Processing Systems (NIPS),<br />

Vancouver, Canada.<br />

[Thrun et al., 2005] Thrun, S., Burgard, W., <strong>and</strong> Fox, D. (2005).<br />

Robotics. MIT Press.<br />

Probabilistic<br />

[Thrun et al., 2004] Thrun, S., Liu, Y., Koller, D., Ng, A., Ghahramani, Z., <strong>and</strong><br />

Durrant-Whyte, H. (2004). Simultaneous mapping <strong>and</strong> localization <strong>with</strong> sparse extended<br />

in<strong>for</strong>mation filters. International Journal of Robotics Research, 23(7–8):693–<br />

716.<br />

[Thrun et al., 2006] Thrun, S., Montemerlo, M., Dahlkamp, H., Stavens, D., Aron, A.,<br />

Diebel, J., Fong, P., Gale, J., Halpenny, M., Hoffmann, G., Lau, K., Oakley, C.,<br />

Palatucci, M., Pratt, V., Stang, P., Strohb<strong>and</strong>, S., Dupont, C., Jendrossek, L.-E., Koelen,<br />

C., Markey, C., Rummel, C., van Niekerk, J., Jensen, E., Aless<strong>and</strong>rini, P., Bradski,<br />

G., Davies, B., Ettinger, S., Kaehler, A., Nefian, A., <strong>and</strong> Mahoney, P. (2006).<br />

Stanley, the robot that won the DARPA gr<strong>and</strong> challenge. Journal of Field Robotics,<br />

23(9):655–656.<br />

[Tomasi <strong>and</strong> Kanade, 1991] Tomasi, C. <strong>and</strong> Kanade, T. (1991). Detection <strong>and</strong> tracking<br />

of point features. Technical Report CMU-CS-91-132, Carnegie Mellon University.<br />

[TopoGrafix, 2004] TopoGrafix (2004). GPX - the GPS exchange <strong>for</strong>mat. Available<br />

on: http://www.topografix.com/gpx.asp. release August, 9th 2004.<br />

[Tsai, 1986] Tsai, R. Y. (1986). An efficient <strong>and</strong> accurate camera calibration technique<br />

<strong>for</strong> 3D machine vision. In IEEE Computer Society Conference on Vision <strong>and</strong> Pattern<br />

Recognitionv (CVPR), pages 364–374.<br />

[U <strong>and</strong> Reed., 2006] U, V. R. <strong>and</strong> Reed., N. E. (2006). Enhancing agent capabilities in<br />

a large rescue simulation system. In Jennings, N., Tambe, M., Ishida, T., <strong>and</strong> Ramchurn,<br />

S., editors, First International Workshop on Agent Technology <strong>for</strong> Disaster<br />

Management at AAMAS06, pages 71–77, Hakodate, Japan. AAMAS Press.<br />

[Vapnik, 1995] Vapnik, V. N. (1995). The nature of statistical learning theory.<br />

Springer-Verlag New York, Inc., New York, NY, USA.


Bibliography 215<br />

[Vectronix, 2007] Vectronix (2007). Personal dead reckoning module. Available on:<br />

http://www.vectronix.ch/. Referenced 2007.<br />

[Viola <strong>and</strong> Jones, 2001] Viola, P. <strong>and</strong> Jones, M. J. (2001). Rapid object detection using<br />

a boosted cascade of simple features. In IEEE Computer Society Conference on<br />

Vision <strong>and</strong> Pattern Recognitionv (CVPR).<br />

[Viola et al., 2003] Viola, P., Jones, M. J., <strong>and</strong> Snow, D. (2003). Detecting pedestrians<br />

using patterns of motion <strong>and</strong> appearance. In IEEE International Conference on<br />

Computer Vision, volume 2.<br />

[Wang <strong>and</strong> Lewis, 2007] Wang, J. <strong>and</strong> Lewis, M. (2007). Human control of cooperating<br />

robot teams. In Human-Robot Interaction Conference (HRI).<br />

[Weigel et al., 2002] Weigel, T., Gutmann, J.-S., Dietl, M., Kleiner, A., <strong>and</strong> Nebel,<br />

B. (2002). CS Freiburg: Coordinating robots <strong>for</strong> successful soccer playing. IEEE<br />

Transactions on Robotics <strong>and</strong> Automation, 18(5):685–699.<br />

[Wickler et al., 2006] Wickler, G., Tate, A., <strong>and</strong> Potter, S. (2006). Using the constraint model as a shared representation of intentions <strong>for</strong> emergency response<br />

coordination. In Jennings, N., Tambe, M., Ishida, T., <strong>and</strong> Ramchurn, S., editors,<br />

First International Workshop on Agent Technology <strong>for</strong> Disaster Management at AA-<br />

MAS06, pages 2–9, Hakodate, Japan. AAMAS Press.<br />

[Witt et al., 2006] Witt, H., Nicolai, T., <strong>and</strong> Kenn, H. (2006). Designing a wearable<br />

user interface <strong>for</strong> h<strong>and</strong>s-free interaction <strong>and</strong> maintenance applications. In Fourth<br />

Annual IEEE International Conference on Pervasive Computer <strong>and</strong> Communication<br />

(PerCom).<br />

[Wolf et al., 2005] Wolf, D., Sukhatme, G., Fox, D., <strong>and</strong> Burgard, W. (2005). Autonomous<br />

terrain mapping <strong>and</strong> classification using hidden markov models. In<br />

Proc. of the IEEE Int. Conf. on Robotics & Automation (ICRA), pages 2026–2031.<br />

[Wren et al., 1997] Wren, C. R., Azarbayejani, A., Darrell, T., <strong>and</strong> Pentl<strong>and</strong>, A. (1997).<br />

Pfinder: Real-time tracking of the human body. IEEE Transactions on Pattern Analysis<br />

<strong>and</strong> Machine Intelligence, 19(7):780–785.<br />

[Wu <strong>and</strong> Yu, 2006] Wu, Y. <strong>and</strong> Yu, T. (2006). A field model <strong>for</strong> human detection<br />

<strong>and</strong> tracking. IEEE Transactions on Pattern Analysis <strong>and</strong> Machine Intelligence,<br />

28(5):753–765.<br />

[Yamauchi, 1997] Yamauchi, B. (1997). A frontier-based approach <strong>for</strong> autonomous<br />

exploration. In IEEE International Symposium on Computational Intelligence in<br />

Robotics <strong>and</strong> Automation (CIRA ’97).


216 Bibliography<br />

[Ye <strong>and</strong> Borenstein, 2003] Ye, C. <strong>and</strong> Borenstein, J. (2003). A new terrain mapping<br />

method <strong>for</strong> mobile robots obstacle negotiation. In Gerhart, G. R., Shoemaker, C. M.,<br />

<strong>and</strong> Gage, D. W., editors, Unmanned Ground Vehicle Technology V., volume 5083,<br />

pages 52–62.<br />

[Zalud, 2004] Zalud, L. (2004). Orpheus - universal reconnaissance teleoperated robot.<br />

In RoboCup 2004: Robot Soccer World Cup VIII, pages 491–498.<br />

[Zhu et al., 2006] Zhu, Z., Oskiper, T., Naroditsky, O., Samarasekera, S., Sawhney,<br />

H. S., <strong>and</strong> Kumar, R. (2006). An improved stereo-based visual odometry system.<br />

In Proc. of the IEEE Int. Workshop on Safty, Security <strong>and</strong> <strong>Rescue</strong> Robotics (SSRR),<br />

Gaithersburg, Maryl<strong>and</strong>, USA.<br />

[Ziparo <strong>and</strong> Iocchi, 2006] Ziparo, V. <strong>and</strong> Iocchi, L. (2006). Petri net plans. In Proc. of<br />

ATPN/ACSD Fourth International Workshop on Modelling of Objects, Components,<br />

<strong>and</strong> Agents.<br />

[Ziparo et al., 2007a] Ziparo, V., Kleiner, A., Marchetti, L., Farinelli, A., <strong>and</strong> Nardi, D.<br />

(2007a). Cooperative exploration <strong>for</strong> USAR robots <strong>with</strong> indirect communication. In<br />

Proc.of 6th IFAC Symposium on Intelligent Autonomous Vehicles (IAV’07).<br />

[Ziparo et al., 2007b] Ziparo, V., Kleiner, A., Nebel, B., <strong>and</strong> Nardi, D. (2007b). RFIDbased<br />

exploration <strong>for</strong> large robot teams. In Proc. of the IEEE Int. Conf. on Robotics<br />

& Automation (ICRA), pages 4606–4613.<br />

[Zlot et al., 2002] Zlot, R., Stentz, A., Dias, M., <strong>and</strong> Thayer, S. (2002). Multi-robot<br />

exploration controlled by a market economy. In Proc. of the IEEE Int. Conf. on<br />

Robotics & Automation (ICRA), pages 3016–3023.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!