12.08.2013 Aufrufe

Kooperative Bewegungsstrategien für Roboter in unbekannten ...

Kooperative Bewegungsstrategien für Roboter in unbekannten ...

Kooperative Bewegungsstrategien für Roboter in unbekannten ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Fakultät EIM, Institut <strong>für</strong> Informatik<br />

Arbeitsgruppe Wissensbasierte Systeme<br />

Universität Paderborn<br />

Diplomarbeit<br />

<strong>Kooperative</strong> <strong>Bewegungsstrategien</strong> <strong>für</strong> <strong>Roboter</strong><br />

<strong>in</strong> <strong>unbekannten</strong>, merkmalsarmen Umgebungen<br />

Henn<strong>in</strong>g Wachsmuth<br />

henn<strong>in</strong>gw@upb.de<br />

Vorgelegt bei:<br />

Dr. Theodor Lettmann und Prof. Dr. Franz Josef Rammig<br />

Januar 2009


Abstract<br />

Localization, the task of estimat<strong>in</strong>g a robot’s position and orientation, is one of the<br />

fundamental problems of current research <strong>in</strong> autonomous mobile robotics. Recently, the<br />

use of multiple robots has received <strong>in</strong>creased attention to improve localization accuracy,<br />

especially <strong>in</strong> unknown and featureless environments.<br />

This thesis <strong>in</strong>vestigates from a theoretical po<strong>in</strong>t of view how a team of robots, each<br />

equipped with a fixed monocular camera, can move cooperatively <strong>in</strong> order to reduce<br />

positional uncerta<strong>in</strong>ty. Vision-based localization is done by us<strong>in</strong>g each other as mobile<br />

landmarks. Therefore, a new concept for comput<strong>in</strong>g the relative distance and angle<br />

between robots from s<strong>in</strong>gle camera images is <strong>in</strong>troduced and formally analyzed.<br />

Based on this concept, different pr<strong>in</strong>cipal approaches to cooperative motion strategies<br />

are developed for a global coord<strong>in</strong>ate system that allow the given robots to keep track<br />

of their locations. These strategies do not require any knowledge about the environment<br />

and, thus, even work properly <strong>in</strong> unknown and unstructured doma<strong>in</strong>s.


Danksagung<br />

Die vorliegende Diplomarbeit entstand <strong>in</strong> Rahmen me<strong>in</strong>es Informatikstudiums an der<br />

Universität Paderborn. An dieser Stelle möchte ich mich bei den Menschen bedanken,<br />

die maßgeblich zum Gel<strong>in</strong>gen der Arbeit beigetragen haben:<br />

Ganz besonderer Dank gilt me<strong>in</strong>er geliebten Freund<strong>in</strong>, Katr<strong>in</strong> Spielvogel, <strong>für</strong> ihr großes<br />

Verständnis und ihre Unterstützung während des Erstellens dieser Arbeit. Auch das<br />

Feedback zur sprachlichen Gestaltung hat mir sehr geholfen. Weiter danke ich herzlich<br />

me<strong>in</strong>em Bruder, Jakob Wachsmuth, <strong>für</strong> entscheidende H<strong>in</strong>weise zur erfolgreichen<br />

Umsetzung e<strong>in</strong>es wichtigen Beweises <strong>in</strong>nerhalb me<strong>in</strong>er Argumentationskette. Auch dem<br />

Betreuer dieser Diplomarbeit, Dr. Theodor Lettmann, gebührt Dank <strong>für</strong> zahlreiche ausführliche<br />

Gespräche, die mich auf den richtigen Weg gebracht haben.<br />

Schließlich geht e<strong>in</strong> Dankeschön an me<strong>in</strong>e Eltern sowie an Nico Loose und Stephan<br />

Arens, die ebenfalls zur sprachlichen Korrektheit der Arbeit beigetragen, und die mir,<br />

genauso wie me<strong>in</strong>e weiteren Freunde und der Rest me<strong>in</strong>er Familie, me<strong>in</strong> gesamtes Studium<br />

h<strong>in</strong>durch den Rücken gestärkt haben.<br />

Henn<strong>in</strong>g Wachsmuth<br />

Paderborn, Januar 2009


Inhaltsverzeichnis<br />

1 E<strong>in</strong>leitung 9<br />

2 E<strong>in</strong>satz von <strong>Roboter</strong>-Teams <strong>in</strong> <strong>unbekannten</strong> Umgebungen 13<br />

2.1 Kartenerstellung und Lokalisierung . . . . . . . . . . . . . . . . . . . . . 13<br />

2.2 Geme<strong>in</strong>same Bewegung und kooperative Lokalisierung . . . . . . . . . . 22<br />

2.3 Abgrenzung des im vorliegenden Kontext relevanten Problembereichs . . 29<br />

3 Relative Lokalisierung von <strong>Roboter</strong>n aus Kamerabildern 33<br />

3.1 Grundlagen der Abbildungsoptik digitaler Kameras . . . . . . . . . . . . 33<br />

3.2 Berechnung der relativen Position e<strong>in</strong>es <strong>Roboter</strong>s aus se<strong>in</strong>er Projektion . 39<br />

3.3 Fehler <strong>in</strong> der Entfernungsberechnung . . . . . . . . . . . . . . . . . . . . 45<br />

3.4 Exemplarische Fallstudien zum Berechnungsverfahren . . . . . . . . . . . 52<br />

3.5 Ermittlung e<strong>in</strong>es günstigen Bereichs zur Lokalisierung von <strong>Roboter</strong>n . . 58<br />

4 Explizite Verwendung kooperativer <strong>Bewegungsstrategien</strong> 69<br />

4.1 Ziele und Probleme bei der Fortbewegung <strong>in</strong> Teams . . . . . . . . . . . . 69<br />

4.2 <strong>Kooperative</strong> Posenschätzung <strong>in</strong>nerhalb e<strong>in</strong>es globalen Koord<strong>in</strong>atensystems 75<br />

4.3 Fehlerakkumulation bei der kooperativen Lokalisierung . . . . . . . . . . 83<br />

4.4 Ansatz 1: Kont<strong>in</strong>uierlicher Aufenthalt <strong>in</strong>nerhalb e<strong>in</strong>es günstigen Bereichs 87<br />

4.5 Ansatz 2: Effizientes Voranschreiten bei dauerhafter Beobachtung . . . . 95<br />

4.6 Ansatz 3: Erschließung von Raum unter Verlust der stetigen Kontrolle . 100<br />

4.7 Szenarien <strong>für</strong> den E<strong>in</strong>satz der <strong>Bewegungsstrategien</strong> . . . . . . . . . . . . 107<br />

4.8 Diskussion der vorgestellten Ansätze . . . . . . . . . . . . . . . . . . . . 117<br />

5 E<strong>in</strong>bettung <strong>in</strong> bestehende Konzepte 121<br />

6 Zusammenfassung, Fazit und Ausblick 127<br />

Literaturverzeichnis 131<br />

A Software auf der beigefügten CD 137<br />

B Eidesstattliche Erklärung 141


Kapitel 1<br />

E<strong>in</strong>leitung<br />

Autonome mobile <strong>Roboter</strong> s<strong>in</strong>d eigenständig agierende Masch<strong>in</strong>en, die sich <strong>in</strong> e<strong>in</strong>er Umgebung<br />

bewegen können, um die Aufgaben, <strong>für</strong> die sie entwickelt wurden, auszuführen.<br />

Zur Interaktion mit ihrer Umwelt müssen sie neben Antriebsmechanismen und angemessenen<br />

Werkzeugen vor allem über externe Sensoren verfügen, mittels derer sie Informationen<br />

über die Beschaffenheit ihrer Umgebung aus dieser entnehmen können.<br />

Nicht selten werden da<strong>für</strong> Kameras benutzt, weil diese vielfältig auswertbare Daten liefern.<br />

Zusätzlich bedarf es <strong>für</strong> die Navigation Verfahren, anhand derer die <strong>Roboter</strong> ihren<br />

Standort wie auch ihre Blickrichtung bestimmen können, da nur dadurch die Möglichkeit<br />

zur zielgerichteten Fortbewegung gewährleistet ist. Dies führt zu dem <strong>in</strong> dieser Arbeit<br />

wichtigen Begriff der Lokalisierung.<br />

Der E<strong>in</strong>satz autonomer mobiler <strong>Roboter</strong> (im Folgenden auch abkürzend <strong>Roboter</strong>) wird<br />

nicht nur seit längerem <strong>in</strong> theoretischen Arbeiten untersucht, sondern bereits verstärkt<br />

<strong>in</strong> praktischen Anwendungen genutzt. So landeten vor fünf Jahren zwei NASA-Rover auf<br />

der Oberfläche des Mars, um dort bis heute visuelle und physikalische Daten über den<br />

Planeten zu sammeln (vgl. Nasa 2008). Ebenso s<strong>in</strong>d <strong>Roboter</strong> auf der Erde sowohl im<br />

Alltag als auch <strong>in</strong> Gefahrensituationen von Bedeutung; die EU etwa plant, selbständige<br />

<strong>Roboter</strong> <strong>für</strong> Re<strong>in</strong>igungs- und Beförderungsaufgaben <strong>in</strong> Krankenhäusern e<strong>in</strong>zub<strong>in</strong>den<br />

(iWard 2007), was <strong>für</strong> den Hausgebrauch schon Realität ist (siehe z.B. iRobot 2009),<br />

und verschiedene Autohersteller entwickeln unbemannte Fahrzeuge <strong>für</strong> den zukünftigen<br />

Personenverkehr (z.B. GeneralMotors 2008). Die Explosion des Kernreaktors von<br />

Tschernobyl hatte zur Folge, dass <strong>Roboter</strong> zur Sichtung und Bergung <strong>in</strong> die radioaktiv<br />

verstrahlten Ru<strong>in</strong>en geschickt wurden (vgl. Sc<strong>in</strong>exx 2007). Andere Katastrophen<br />

wie das Great Hanshi-Awaji earthquake 1995 <strong>in</strong> Japan verstärkten Forderungen nach<br />

<strong>Roboter</strong>n <strong>für</strong> den E<strong>in</strong>satz <strong>in</strong> Rettungsmissionen (vgl. RoboCupRescue 2009).<br />

Gerade bei Tätigkeiten wie dem Transportieren von Objekten oder Personen besteht<br />

mitunter die Notwendigkeit, dass mehrere <strong>Roboter</strong> zum Erreichen ihrer Ziele zusammenarbeiten,<br />

da die Fähigkeiten e<strong>in</strong>es e<strong>in</strong>zelnen da<strong>für</strong> nicht unbed<strong>in</strong>gt genügen. Auch<br />

lassen sich generell aus der Existenz e<strong>in</strong>er Vielzahl von <strong>Roboter</strong>n oftmals Vorteile ziehen,<br />

um Aufgaben effizienter zu erfüllen, so etwa bei der Exploration von Landschaften.<br />

Daher gew<strong>in</strong>nt die Beschäftigung mit Teams von kooperativen <strong>Roboter</strong>n <strong>in</strong> den letzten<br />

Jahren mehr und mehr an Interesse. Mit der Möglichkeit, von mehreren <strong>Roboter</strong>n<br />

Gebrauch machen zu können, geht die Frage e<strong>in</strong>her, welche Auswirkungen sie auf Ba-


10<br />

sisanforderungen der Autonomie und Eigenständigkeit der <strong>Roboter</strong> hat und wie sich<br />

daraus Vorteile ziehen lassen. In diesem Zuge lässt sich untersuchen, ob spezielle <strong>Bewegungsstrategien</strong><br />

s<strong>in</strong>nvoll se<strong>in</strong> könnten, nach denen sich die <strong>Roboter</strong> e<strong>in</strong>es Teams <strong>in</strong> ihrer<br />

Umwelt voranbewegen und anhand der anderen lokalisieren können. Entsprechende Verfahren<br />

erweisen sich <strong>in</strong>sbesondere dann als wichtig, wenn die Struktur des E<strong>in</strong>satzgebiets<br />

unbekannt ist und die Umgebung nicht h<strong>in</strong>reichend aussagekräftige Merkmale <strong>für</strong> die<br />

alle<strong>in</strong>ige Orientierung an umliegenden Objekten besitzt.<br />

Ziele dieser Arbeit im vorliegenden Kontext<br />

Lokalisierung stellt <strong>in</strong>nerhalb der Robotik e<strong>in</strong> grundlegendes und <strong>in</strong>sbesondere <strong>für</strong> e<strong>in</strong>zelne<br />

<strong>Roboter</strong> weitreichend untersuchtes Problem dar. Zahlreiche Ansätze existieren <strong>für</strong><br />

die möglichst genaue Bestimmung der Positionen und Blickrichtungen von <strong>Roboter</strong>n,<br />

welche von unterschiedlichem Vorwissen über das E<strong>in</strong>satzgebiet ausgehen und auf verschiedenen,<br />

aber natürlich stets mit Ungenauigkeit behafteten Sensordaten beruhen.<br />

Viele der unterliegenden Mechanismen funktionieren jedoch nur, wenn e<strong>in</strong>e Karte der<br />

Umgebung vorliegt oder wenn die <strong>Roboter</strong> Objekte sehen, deren Standorte ihnen bekannt<br />

s<strong>in</strong>d oder die sich zum<strong>in</strong>dest wiederkehrend identifizieren lassen.<br />

In dieser Arbeit wird von e<strong>in</strong>em re<strong>in</strong> theoretischen Standpunkt aus dementgegen betrachtet,<br />

wie <strong>Roboter</strong> das Vorhandense<strong>in</strong> anderer Mitglieder ihres Teams nutzen können,<br />

um sich unter Aufrechterhaltung vernünftiger Positions- und Orientierungsschätzungen<br />

<strong>in</strong> e<strong>in</strong>er <strong>unbekannten</strong>, merkmalsarmen Umgebung fortbewegen zu können. Auch <strong>für</strong><br />

solch e<strong>in</strong>e kooperative Lokalisierung von <strong>Roboter</strong>-Teams f<strong>in</strong>den sich <strong>in</strong> der aktuellen<br />

Literatur bereits e<strong>in</strong>ige, wenn auch ungleich weniger Ansätze. Den meisten ist geme<strong>in</strong>,<br />

dass allen <strong>Roboter</strong>n e<strong>in</strong> Kommunikationsmedium zur Verfügung steht, durch das sie Informationen<br />

über ihre jeweiligen Lagen auszutauschen können. Die zugrunde liegenden<br />

<strong>Roboter</strong>konfigurationen variieren h<strong>in</strong>gegen stark <strong>in</strong> der Verwendung von Sensoren und<br />

der Erkennbarkeit der e<strong>in</strong>zelnen Teammitglieder. Im vorliegenden Fall wird davon ausgegangen,<br />

dass jeder <strong>Roboter</strong> e<strong>in</strong>e fest <strong>in</strong>stallierte monokulare Kamera besitzt, durch die<br />

er se<strong>in</strong>e nähere Umgebung wahrnehmen kann. Darüber h<strong>in</strong>aus habe jeder e<strong>in</strong> gegenüber<br />

der Umgebung signifikantes Aussehen und kann von den anderen als <strong>Roboter</strong> identifiziert<br />

werden; nicht aber lasse sich aus e<strong>in</strong>em Kamerabild die Identität e<strong>in</strong>es <strong>Roboter</strong>s<br />

ermitteln und ebenso wenig, <strong>in</strong> welche Richtung er von se<strong>in</strong>em aktuellen Standort aus<br />

blickt. Diese Voraussetzungen s<strong>in</strong>d vergleichsweise bodenständig und erweisen sich als<br />

realitätsnah, was zweifelsohne wichtig ist, um trotz der Vernachlässigung praktischer<br />

Experimente und Simulationen gerechtfertigte Aussagen machen zu können.<br />

E<strong>in</strong> erstes Ziel besteht nun dar<strong>in</strong>, ausgehend von der beschriebenen Situation e<strong>in</strong> <strong>in</strong><br />

Teilen neues Lokalisierungsverfahren zu entwickeln, durch das e<strong>in</strong> <strong>Roboter</strong> die zu ihm<br />

relative Position e<strong>in</strong>es anderen anhand e<strong>in</strong>es e<strong>in</strong>zelnen Kamerabilds berechnen kann.<br />

Anstatt dabei auftretende Ungenauigkeiten nur abzuschätzen, sollen auf Basis der Abbildungsgeometrie<br />

von Kameras formal Obergrenzen möglicher Abweichungen hergeleitet<br />

werden, um die erreichbare Güte der Lokalisierung <strong>in</strong> Abhängigkeit zur Lage der<br />

<strong>Roboter</strong> zue<strong>in</strong>ander allgeme<strong>in</strong> angeben zu können. Weiter verkörpert die Entwicklung<br />

darauf aufbauender Techniken zur kooperativen Lokalisierung e<strong>in</strong>es Teams e<strong>in</strong> Ziel,<br />

das die Übertragung relativer <strong>in</strong> globale Koord<strong>in</strong>aten und somit Möglichkeiten zur Be-


1 E<strong>in</strong>leitung 11<br />

stimmung der Blickrichtung e<strong>in</strong>es <strong>Roboter</strong>s erfordert. Dies wird die Beschäftigung mit<br />

pr<strong>in</strong>zipiellen <strong>Bewegungsstrategien</strong> ermöglichen, anhand derer e<strong>in</strong> Team <strong>in</strong> <strong>unbekannten</strong><br />

Umgebungen formationsartig und <strong>in</strong> alternierenden Bewegungsphasen geme<strong>in</strong>sam<br />

voranschreiten kann. Konzepte da<strong>für</strong> werden abstrakt und anschaulich erarbeitet und<br />

bezüglich verschiedener Qualitätskriterien analysiert, damit die Bedeutung der erreichten<br />

Ergebnisse e<strong>in</strong>geordnet werden kann.<br />

Gliederung<br />

Kapitel 2 behandelt den aktuellen Stand der Forschung zum E<strong>in</strong>satz von <strong>Roboter</strong>-Teams<br />

im Kontext der Lokalisierung. Ehe bestehende Verfahren <strong>für</strong> Gruppen von <strong>Roboter</strong>n besprochen<br />

und danach die Ausgangspunkte dieser Arbeit festgesetzt werden können, steht<br />

allerd<strong>in</strong>gs die Standortbestimmung e<strong>in</strong>zelner <strong>Roboter</strong> im Mittelpunkt, da sie das Fundament<br />

<strong>für</strong> viele teamorientierte Verhaltensweisen bilden. Der Zusammenhang zwischen<br />

Lokalisierung und Kartenerstellung wird da<strong>für</strong> ebenso vorgestellt wie die Bandbreite an<br />

existierenden Sensoren und der Umgang mit unsicherem Wissen.<br />

In Kapitel 3 wird das entwickelte Konzept zur relativen Lokalisierung e<strong>in</strong>es <strong>Roboter</strong>s<br />

aus e<strong>in</strong>em Kamerabild beschrieben, das neben dem Wissen über die Größe der <strong>Roboter</strong><br />

geometrische Eigenschaften der Abbildungsoptik ausnutzt, <strong>in</strong> deren Grundlagen zuvor<br />

e<strong>in</strong>geführt wird. Zu diesem Konzept werden mathematische Grenzen formal ermittelt,<br />

auf Basis derer sich def<strong>in</strong>ieren lässt, welche Abstände und W<strong>in</strong>kel zwischen <strong>Roboter</strong>n<br />

e<strong>in</strong>zuhalten s<strong>in</strong>d, um e<strong>in</strong>e bestimmte Lokalisierungsqualität zu gewährleisten.<br />

Kapitel 4 be<strong>in</strong>haltet dann die Kernaspekte der Arbeit: Ziele von <strong>Bewegungsstrategien</strong><br />

werden diskutiert, die Verwendbarkeit des Verfahrens aus Kapitel 3 zur kooperativen<br />

Lokalisierung aufgezeigt und die dabei auftretende Fehlerakkumulation untersucht. Anschließend<br />

werden drei pr<strong>in</strong>zipielle Ansätze <strong>für</strong> kooperative Strategien abwechselnder<br />

Bewegung anschaulich entwickelt, die die Fortbewegung e<strong>in</strong>es <strong>Roboter</strong>-Teams <strong>in</strong> <strong>unbekannten</strong>,<br />

merkmalsarmen Umgebungen erlauben, und sowohl bezüglich ihrer <strong>in</strong>härenten<br />

Eigenschaften als auch ihrer Tauglichkeit im E<strong>in</strong>satz analysiert.<br />

Die Erarbeitung endet schließlich <strong>in</strong> Kapitel 5 damit, dass geprüft wird, <strong>in</strong>wiefern sich die<br />

Konzepte der vorangegangenen Kapitel <strong>in</strong> bestehende Verfahren zur Kartenerstellung,<br />

dem Umgang mit Unsicherheit und zur absoluten Lokalisierung e<strong>in</strong>betten lassen.<br />

Kapitel 6 fasst die Ergebnisse dieser Arbeit danach zusammen und diskutiert sie f<strong>in</strong>al,<br />

so dass sich e<strong>in</strong> Ausblick auf offene Punkte anfügen lässt.


Kapitel 2<br />

E<strong>in</strong>satz von <strong>Roboter</strong>-Teams <strong>in</strong><br />

<strong>unbekannten</strong> Umgebungen<br />

Dieses Kapitel stellt den wissenschaftlichen Kontext der Bewegung von <strong>Roboter</strong>n <strong>in</strong><br />

<strong>unbekannten</strong> Umgebungen aspektbezogen vor und führt h<strong>in</strong> zur Def<strong>in</strong>ition der Ausgangssituation<br />

der im Verlauf der Arbeit untersuchten Verfahren zur kamerabasierten<br />

Lokalisierung und kooperativen Bewegung.<br />

Zu Beg<strong>in</strong>n stehen die traditionellerweise <strong>für</strong> e<strong>in</strong>zelne <strong>Roboter</strong> entwickelten Methoden<br />

der Kartenerstellung und Lokalisierung im Fokus, was die Verwendung von Sensoren,<br />

speziell Kameras, den Umgang mit ungenauen Sensordaten und die sich daraus ergebenden<br />

Lokalisierungsansätze umfasst (Kapitel 2.1). Danach werden die beim E<strong>in</strong>satz<br />

von <strong>Roboter</strong>-Teams h<strong>in</strong>zukommenden Probleme, Möglichkeiten und bisherigen Konzepte<br />

zur geme<strong>in</strong>samen Bewegung und Lokalisierung behandelt (2.2). Auf Basis dieses<br />

Wissens wird zum Abschluss das Problemfeld h<strong>in</strong>sichtlich der betrachteten Welten und<br />

<strong>Roboter</strong> sowie den darauf aufbauenden Zielen e<strong>in</strong>gegrenzt (2.3), so dass dann mit der<br />

Erarbeitung der vorliegenden Fragestellung begonnen werden kann.<br />

2.1 Kartenerstellung und Lokalisierung<br />

„Localization is one of the ma<strong>in</strong> abilities of an autonomous mobile robot. In order to<br />

perform their tasks, mobile robots need to know their poses with<strong>in</strong> the environment“<br />

(Odakura & Costa 2006, S. 552). Mit dem Begriff pose (im Deutschen entsprechend<br />

Pose) wird hier die Komb<strong>in</strong>ation aus der Position des <strong>Roboter</strong>s, gegeben durch<br />

ihre Koord<strong>in</strong>aten, und se<strong>in</strong>er aktuellen Orientierung (woh<strong>in</strong> er ausgerichtet ist) abkürzend<br />

bezeichnet. E<strong>in</strong> <strong>Roboter</strong>, der se<strong>in</strong>en eigenen Standort nicht kennt, kann nicht<br />

effizient Bewegungsabläufe planen, gesuchte Objekte lokalisieren oder allgeme<strong>in</strong> vernünftig<br />

se<strong>in</strong>e Ziele erfüllen (Olson 2000, S. 55). Die unterliegende Problemstellung<br />

resultiert daraus, dass es <strong>in</strong> der Realität weder möglich ist, die aktuelle Pose anhand<br />

des eigenen Bewegungsablaufs exakt zu ermitteln noch h<strong>in</strong>reichend genaue Mess<strong>in</strong>strumente<br />

existieren, um mittels bekannter Objekte der Umwelt auf Selbige rückschließen<br />

zu können. Grundsätzlich wird <strong>in</strong> diesem Zusammenhang zwischen lokaler und globaler<br />

Lokalisierung unterschieden; erstere, auch als position track<strong>in</strong>g bezeichnet, me<strong>in</strong>t die<br />

fortdauernde Aufrechterhaltung des zum<strong>in</strong>dest geschätzten Wissens über die Position


14 2.1 Kartenerstellung und Lokalisierung<br />

oder Pose des sich bewegenden <strong>Roboter</strong>s bei gegebenem Startpunkt, während es bei<br />

zweiterer (global self-localization) darum geht, die Position oder Pose des <strong>Roboter</strong>s <strong>in</strong><br />

e<strong>in</strong>er bereits bekannten oder zuvor selbst erstellten Karte ohne vorgegebene Informationen<br />

darüber herauszuf<strong>in</strong>den (vgl. Dellaert et al. 1999, S. 1322).<br />

Hier kommt e<strong>in</strong>e weitere Erschwernis h<strong>in</strong>zu, denn <strong>in</strong> <strong>unbekannten</strong> Umgebungen, deren<br />

Aufbau e<strong>in</strong> <strong>Roboter</strong> selbst (etwa zu Explorationszwecken) lernen soll, muss die Erstellung<br />

e<strong>in</strong>er Karte und die Lokalisierung <strong>in</strong>nerhalb dieser gleichzeitig geschehen, was sich<br />

nicht leicht gestaltet, denn: „for localization a robot needs a consistent map and for<br />

acquir<strong>in</strong>g a map a robot requires a good estimate of its location“ (Wurm et al. 2007,<br />

S. 1). Diese Feststellung der gegenseitigen Bed<strong>in</strong>gung führt zu der als simultaneous<br />

localization and mapp<strong>in</strong>g (SLAM) bekannten Aufgabe. SLAM umfasst e<strong>in</strong>e Reihe von<br />

Teilaspekten; neben der Ermittlung von Merkmalen aus der Umgebung mittels da<strong>für</strong><br />

geeigneter Sensoren, der Art und Weise der Speicherung als solches identifizierter, so<br />

genannter Landmarken sowie der Zuordnung dieser Landmarken zu bereits früher gesehenen<br />

(data association) und der Aufrechterhaltung e<strong>in</strong>er Schätzung der eigenen Pose<br />

(vgl. Riisgaard & Blas 2004, S. 6), stellt sich dabei die Frage, welche Daten e<strong>in</strong>e<br />

Karte überhaupt be<strong>in</strong>halten soll, wodurch implizit starker E<strong>in</strong>fluss auf das Modell genommen<br />

wird, das der <strong>Roboter</strong> <strong>für</strong> die Welt, <strong>in</strong> der er sich aufhält, verwendet. „Robots<br />

that are able to acquire an accurate model of their environment are regarded as fulfill<strong>in</strong>g<br />

a major precondition of truly autonomous mobile vehicles“ (Joho et al. 2007,<br />

S. 1). Innerhalb der Robotik gibt es diverse Ansätze <strong>für</strong> die Modellierung der Umgebung,<br />

die von gitter-, merkmals- oder graphbasierten Karten über occupancy maps, die<br />

begehbare Teile der Welt angeben, bis h<strong>in</strong> zu topologischen Karten reichen, die metrische<br />

Verhältnisse vernachlässigen, und im Grunde nur Verb<strong>in</strong>dungen zwischen Orten<br />

darstellen. Letztere gehören <strong>in</strong> ihrer Standardform eigentlich nicht zu SLAM, denn sie<br />

repräsentieren ke<strong>in</strong> wirkliches Lernen der Umgebung.<br />

E<strong>in</strong>ige Typen von Karten werden im Verlauf dieser Arbeit wieder auftauchen, jedoch<br />

stehen hier Verfahren zur Lokalisierung und daraus ggf. resultierende Bewegungsmuster<br />

im Vordergrund. Nichtsdestotrotz wird die Frage, welche Umgebungsmodelle <strong>für</strong> die<br />

noch vorzustellenden Konzepte s<strong>in</strong>nvoll se<strong>in</strong> könnten, im H<strong>in</strong>terkopf behalten und <strong>in</strong><br />

Kapitel 5 wieder aufgegriffen. Die Lokalisierung der <strong>Roboter</strong> wird <strong>für</strong> diese Konzepte<br />

über Kameradaten erfolgen. Kameras verkörpern allerd<strong>in</strong>gs nur e<strong>in</strong>e Klasse <strong>in</strong>nerhalb<br />

der Sensorik, die <strong>für</strong> die Bestimmung der eigenen Pose bei <strong>Roboter</strong>n zur Auswahl steht.<br />

Daher sei zunächst e<strong>in</strong> Überblick über ansonsten vorhandene Möglichkeiten gegeben.<br />

Kameras und andere Sensoren <strong>für</strong> die Orientierung <strong>in</strong> der Welt<br />

E<strong>in</strong> im Fahrzeugverkehr verbreiteter Lokalisierungsmechanismus wird durch das h<strong>in</strong>reichend<br />

geläufige Global Position<strong>in</strong>g System (GPS) zur Verfügung gestellt, das auf<br />

der Trilateration aus über Radiowellen ausgestrahlten Positionssignalen von Satelliten<br />

basiert. Standardmäßig erreicht GPS e<strong>in</strong>e Genauigkeit von circa 10 m, Abweichungen<br />

können zwar durch die Erweiterung Differential GPS (dGPS) auf nur noch e<strong>in</strong>ige Zentimeter<br />

reduziert werden (vgl. Trawny 2003, S. 7), da<strong>für</strong> wird aber e<strong>in</strong>e nahe gelegene<br />

Referenzstation benötigt, deren Standort bekannt se<strong>in</strong> muss. Der Zugriff auf GPS ist <strong>in</strong><br />

<strong>Roboter</strong>umgebungen oft unmöglich; die Wellen gelangen kaum <strong>in</strong> Gebäude, noch unter


2 E<strong>in</strong>satz von <strong>Roboter</strong>-Teams <strong>in</strong> <strong>unbekannten</strong> Umgebungen 15<br />

die Erde oder s<strong>in</strong>d gar auf anderen Planeten vorhanden (vgl. Kurazume & Hirose<br />

2000b, S. 238). Außerdem haben <strong>Roboter</strong> nicht zwangsläufig genügend Platz <strong>für</strong> GPS-<br />

Geräte, wie etwa <strong>in</strong> Navarro-Serment et al. 1999, und auch GPS-Daten s<strong>in</strong>d nicht<br />

frei von Fehlerquellen (Madhavan et al. 2004, S. 24). Verschiedene Sensoren kommen<br />

<strong>für</strong> die Lokalisierung e<strong>in</strong>es <strong>Roboter</strong>s <strong>in</strong> Frage, wenn GPS nicht e<strong>in</strong>gesetzt werden<br />

kann oder nicht zu angemessenen Ergebnissen führt.<br />

Die absolute Orientierung e<strong>in</strong>es <strong>Roboter</strong>s lässt sich unter geeigneten Voraussetzungen<br />

mit Sensoren herausf<strong>in</strong>den, die den Sonnenstand messen (vgl. Hidaka et al. 2005,<br />

S. 4138) oder sich am Magnetfeld ausrichten, wie e<strong>in</strong> Kreiselkompass, der jedoch während<br />

der Bewegung nur ungenau funktioniert und mit der Zeit abdriftet (Weigel 98,<br />

S. 18). Weiter ist e<strong>in</strong> verbreitetes Verfahren <strong>für</strong> die relative Lokalisierung <strong>in</strong>sgesamt,<br />

die eigene Pose mittels Odometrie anhand des Bewegungsablaufs zu bestimmen. Dabei<br />

wird die Anzahl an Drehungen der Räder gezählt, um den zurückgelegten Weg und<br />

Richtungsänderungen zu ermitteln. Verschleiß, Ungenauigkeiten der Radkonstruktion<br />

und besonders auf unebenen Belägen der Schlupf der Räder führen allerd<strong>in</strong>gs zu Fehlern,<br />

die sich schnell akkumulieren und somit zu immer größeren Abweichungen <strong>in</strong> der<br />

Schätzung führen. In Riisgaard & Blas 2004, S. 7 heißt es, „the robot should not<br />

have an error of more than 2 cm per meter moved and 2 ◦ per 45 ◦ degrees turned“; e<strong>in</strong>e<br />

Güte, die alle<strong>in</strong> weder ausreicht noch allgeme<strong>in</strong> gewährleistet werden kann.<br />

Daher wird Odometrie nur auf kurzen Strecken und vor allem <strong>in</strong> Kopplung mit Entfernungsmessgeräten<br />

e<strong>in</strong>gesetzt. Hier s<strong>in</strong>d so genannte proximity sensors zu nennen, die<br />

den Abstand zu umgebenden Objekten bestimmen; <strong>in</strong> der Robotik kommen vor allem<br />

Sonaren und Laserscanner zum E<strong>in</strong>satz. Sonaren s<strong>in</strong>d Ultraschallsensoren, die Entfernungs<strong>in</strong>formationen<br />

aus dem Zeitraum zwischen Aussenden e<strong>in</strong>es Signals und Empfangen<br />

dessen von e<strong>in</strong>em Objekt reflektierten Echos ableiten. Sie liefern wegen der breiten<br />

Ausstrahlung von Schall und verschiedenen Oberflächenbeschaffenheiten oft schlechte<br />

Ergebnisse und werden deswegen <strong>in</strong>zwischen fast nur noch unter Wasser e<strong>in</strong>gesetzt. Dort<br />

nämlich gehen die Vorteile von Lasern wegen starker Lichtbrechungen verloren: Laserscanner<br />

s<strong>in</strong>d im Vergleich zwar sehr teuer, ihre Kosten gehen bei steigender Präzision <strong>in</strong><br />

den vierstelligen Bereich (vgl. Riisgaard & Blas 2004, S. 8), sie liefern da<strong>für</strong> <strong>in</strong> der<br />

Praxis meist genaue und effiziente Messungen. Das verwendete Pr<strong>in</strong>zip entspricht dem<br />

von Sonaren, basiert aber auf Laserstrahlen, die <strong>in</strong> e<strong>in</strong>em äußerst ger<strong>in</strong>gen Öffnungsw<strong>in</strong>kel<br />

ausgesendet werden und mit Ausnahme der Reflektion auf sehr glatten und der<br />

Absorbtion auf sehr dunklen Oberflächen zuverlässig operieren; die Ungenauigkeit neuerer<br />

Laserscanner der Marke SICK etwa liegt nach Herstellerangabe im Bereich weniger<br />

Millimeter (vgl. Sick 2009). Diverse aktuelle Verfahren oder zum<strong>in</strong>dest ihre Implementationen<br />

beruhen auf Laserscannern, so etwa Stachniss 2006, Fox et al. 2000 oder<br />

Kurazume & Hirose 2000a, auf die noch e<strong>in</strong>gegangen wird. Es gibt weitere Mechanismen<br />

zur Lokalisierung mittels Signalen, so wird <strong>in</strong> Navarro-Serment et al. 1999<br />

e<strong>in</strong> Verfahren beschrieben, bei dem <strong>Roboter</strong> da<strong>für</strong> aktiv Ultraschall aussenden, der von<br />

anderen <strong>Roboter</strong>n empfangen wird.<br />

Für die vorliegende Arbeit <strong>in</strong>teressiert aber primär der im Englischen als vision bezeichnete<br />

Bereich, der die Auswertung von Kamerabildern als Grundlage <strong>für</strong> die Orientierung<br />

<strong>in</strong> der Welt hat. Kameras br<strong>in</strong>gen als Sensoren e<strong>in</strong>ige Nachteile mit sich, sie erfordern


16 2.1 Kartenerstellung und Lokalisierung<br />

die Verarbeitung großer Datenmengen, die Qualität der erzeugten Pixelbilder ist beleuchtungsabhängig<br />

und es mangelt diesen an Tiefen<strong>in</strong>formation. Jedoch s<strong>in</strong>d Kameras<br />

heutzutage kompakt und günstig, die Erstellung e<strong>in</strong>es Bildes erfolgt unmittelbar und die<br />

Eigenschaften der Abbildungsoptik s<strong>in</strong>d wohlbekannt. „Vision, of course, also has great<br />

<strong>in</strong>tuitive appeal as the sense humans and animals primarily use to navigate“ (Davison<br />

& Molton 2007, S. 1052). Nebenbei eignen sich Kameras <strong>für</strong> den Umgang mit anderen<br />

Aufgaben autonomer mobiler <strong>Roboter</strong>, die das Erkennen von Objekten be<strong>in</strong>halten,<br />

und werden deshalb ohneh<strong>in</strong> <strong>in</strong> zahlreichen E<strong>in</strong>satzgebieten benötigt.<br />

Lokalisierung mit Kameras geht nahezu immer auf die Extraktion von Landmarken aus<br />

den gelieferten Bildern zurück. Die Autoren e<strong>in</strong>es Surveys über vision stellen heraus,<br />

dass sich grundsätzlich Entwicklungen <strong>für</strong> <strong>in</strong>door robots und outdoor robots getrennt<br />

beobachten lassen (vgl. DeSouza & Kak 2002). Bed<strong>in</strong>gt wird dies vor allem durch<br />

das unterschiedliche Wissen, mit dem die <strong>Roboter</strong> sich <strong>in</strong> strukturierten im Vergleich<br />

zu unstrukturierten Umgebungen bewegen können, <strong>in</strong>sbesondere auch im H<strong>in</strong>blick auf<br />

etwaige Möglichkeiten der Kartenerstellung. Zum<strong>in</strong>dest an dieser Stelle sei sich aber auf<br />

die direkte Verwendung von den aus Kamerabildern entnehmbaren Daten beschränkt;<br />

dann lässt sich pr<strong>in</strong>zipiell unterscheiden, ob Landmarken künstlich <strong>in</strong> die Umgebung gesetzt<br />

worden oder zum<strong>in</strong>dest durch Vorwissen als <strong>in</strong> der Welt bekannte Punkte gegeben<br />

s<strong>in</strong>d, oder ob es sich um natürliche Merkmale handelt, die der lokalisierende <strong>Roboter</strong><br />

selbst zu Zwecken der Ortsbestimmung heranzieht.<br />

Im <strong>Roboter</strong>fußball (vgl. RoboCup 2009) werden klassischerweise fest <strong>in</strong>stallierte Teile<br />

des Spielfelds zur Lokalisierung genutzt, so wird <strong>in</strong> Göhr<strong>in</strong>g & Burkhard 2006 unter<br />

Anderem die relative Lage zu Flags und Toren ermittelt (vgl. Abbildung 2.1 l<strong>in</strong>ks). Für<br />

e<strong>in</strong> autonomes Fahrzeug wird bei Marmoiton et al. 1998 beschrieben, dass die Identifizierung<br />

dreier leuchtender Landmarken, die an e<strong>in</strong>em Führungsfahrzeug angebracht<br />

s<strong>in</strong>d, <strong>in</strong> e<strong>in</strong>em Schwarzweißbild ausreichen, um Abstandsschätzungen durchführen zu<br />

können. E<strong>in</strong>ige Verfahren gehen von e<strong>in</strong>er Lernphase aus, <strong>in</strong> der die <strong>Roboter</strong> selbst im<br />

Terra<strong>in</strong> Objekte über die Kamera als Landmarken klassifizieren, die sie später wiedererkennen<br />

sollen (Trahanias et al. 1999, Werman et al. 1999). Andere suchen nach<br />

speziellen Merkmalspunkten von Objekten bekannter Lage über mehrere Frames und<br />

berechnen Tiefen<strong>in</strong>formationen aus den Veränderungen der Koord<strong>in</strong>aten dieser Punkte<br />

<strong>in</strong> den Kamerabildern (Davidson 2003, Strasdat et al. 2007). Während durch<br />

Vorwissen über Landmarken Fehler langfristig nicht akkumulativ wirken, weisen entsprechende<br />

Methoden das Problem auf, dass sie nicht ohne zusätzliche Informationen<br />

über ihrer Umwelt auskommen und damit nicht allgeme<strong>in</strong>h<strong>in</strong> e<strong>in</strong>setzbar s<strong>in</strong>d.<br />

Stephen Se, David Lowe und Jim Little h<strong>in</strong>gegen präsentierten e<strong>in</strong>en wichtigen Ansatz<br />

zum F<strong>in</strong>den natürlicher Landmarken <strong>in</strong> Kamerabildern (Se et al. 2002). Die da<strong>für</strong><br />

genutzten Merkmale, so genannte SIFT-Features, wurden ebenfalls von Lowe e<strong>in</strong>geführt<br />

und s<strong>in</strong>d <strong>in</strong>variant gegenüber Skalierung, Translation und Rotation, durch bewusste Verstärkung<br />

ihrer Bildgradienten sogar partiell gegenüber Beleuchtungsänderungen (vgl.<br />

Lowe 1999, S. 1150 f.). Dadurch lassen sie sich <strong>in</strong> folgenden Kamerabildern oft leicht<br />

wiederf<strong>in</strong>den, weshalb auch im SIFT-Verfahren aus Kamerabewegungen Tiefen<strong>in</strong>formationen<br />

zur Kartenerstellung abgeleitet werden, was genaue Lokalisierungen vor allem <strong>in</strong><br />

<strong>in</strong>door-Umgebungen zulässt (vgl. Abbildung 2.1 rechts). In Se et al. 2002 geschieht<br />

die Erkennung der Merkmale noch per Stereokamera, andere Autoren zeigen aber, dass


2 E<strong>in</strong>satz von <strong>Roboter</strong>-Teams <strong>in</strong> <strong>unbekannten</strong> Umgebungen 17<br />

Abbildung 2.1: (l<strong>in</strong>ks) Die relative Lage zu e<strong>in</strong>em Tor bekannter Größe wird <strong>in</strong> Göhr<strong>in</strong>g<br />

& Burkhard 2006 aus e<strong>in</strong>em e<strong>in</strong>zelnen Bild über W<strong>in</strong>kelverhältnisse hergeleitet. (rechts) In<br />

e<strong>in</strong>er Büroumgebung gefundene SIFT-Features. Größe und Orientierung der Quadrate geben<br />

die Skalierung und Richtung der Merkmale an (aus Se et al. 2002).<br />

s<strong>in</strong>gle perspective cameras, also monokulare Kameras, ausreichen (vgl. Bennewitz et<br />

al. 2006). E<strong>in</strong>er der wenigen Nachteile von SIFT-Features ergibt sich aus der trotz<br />

schneller Filteralgorithmen komplexen Auswertung der Kamerabilder, was die mögliche<br />

Geschw<strong>in</strong>digkeit des <strong>Roboter</strong>s reduziert. Alternative Ansätze verzichten daher absichtlich<br />

auf die Vorteile von SIFT und wählen stattdessen Landmarken, die <strong>in</strong> erster L<strong>in</strong>ie<br />

effizient identifizierbar s<strong>in</strong>d, so zum Beispiel Davison & Molton 2007.<br />

Nun kann <strong>für</strong> bestimmte Zwecke die Richtung zu Objekten genügen, weil sich etwa die<br />

eigene Pose aus der relativen Lage zu mehreren bekannten Punkten bestimmen lässt.<br />

Hier kommt zum Tragen, was Eric Krotkov schon 1989 als „the excellent angular resolution<br />

of standard CCD cameras“ (Krotkov 1989, S. 978) bezeichnete. Während<br />

dazu an manchen Stellen omnidirektionale Kameras dienen (Betke & Gurvits 1997,<br />

Dhanapanichkul 2006), werden <strong>in</strong> Krotkov 1989 e<strong>in</strong>zelne Bilder e<strong>in</strong>er monokularen<br />

Kamera untersucht. Dabei wird der relative W<strong>in</strong>kel zwischen vertikalen L<strong>in</strong>ien<br />

bekannter Landmarken und der Kamera anhand der horizontalen Lage der L<strong>in</strong>ien auf<br />

dem Pixelbild berechnet, der sich <strong>in</strong>direkt aus dem Abstand zwischen Projektion und<br />

L<strong>in</strong>se ergibt. Die Genauigkeit der W<strong>in</strong>kelbestimmung hängt unmittelbar vom Verhältnis<br />

der Anzahl der Pixel zur Breite des Bildsensors ab. Dieser Ansatz führt <strong>in</strong> die Richtung<br />

der Berechnungsverfahren dieser Arbeit; entgegen Krotkov werden hier aber sogar die<br />

Positionen von Landmarken (genauer: anderen <strong>Roboter</strong>n) aus Kamerabildern ermittelt<br />

werden, wozu Vorwissen über die Größe der Landmarken ausgenutzt wird: „Because the<br />

orig<strong>in</strong>al size of landmarks is known, the robot is able to calculate its own distance to<br />

the flag“ (Göhr<strong>in</strong>g & Burkhard 2006, S. 32).<br />

Unsicherheit bei der Bestimmung der eigenen Pose<br />

„E<strong>in</strong> <strong>Roboter</strong>system ist mit e<strong>in</strong>er permanenten Unsicherheit bezüglich se<strong>in</strong>es Aufenthaltsortes<br />

<strong>in</strong> Bezug zu se<strong>in</strong>er Umgebung behaftet“ (Delipetkos 2002, S. 2). Unabhängig<br />

der zur Verfügung stehenden Sensoren, kann e<strong>in</strong>e exakte Lokalisierung nie<br />

vollends stattf<strong>in</strong>den: Sobald Entfernungen und Richtungen gemessen werden oder neue


18 2.1 Kartenerstellung und Lokalisierung<br />

Merkmale mit früheren verglichen werden, kommt es zu Ungenauigkeiten, mit denen<br />

umgegangen werden muss. In vielen aktuellen Verfahren wird da<strong>für</strong> e<strong>in</strong> probabilistischer<br />

Ansatz gewählt, bei dem Informationen über die geschätzte <strong>Roboter</strong>pose mittels<br />

Wahrsche<strong>in</strong>lichkeitsdichten repräsentiert werden. Dieses Vorgehen hat sich <strong>in</strong> der<br />

Entwicklung autonomer mobiler Systeme bewährt, denn „mit probabilistischen Ansätzen<br />

besteht, trotz Unsicherheiten, die Möglichkeit, Entscheidungen (Aktionen) zu treffen<br />

und damit <strong>in</strong> e<strong>in</strong>em Bereich, der nur unscharf erfasst werden kann, zu handeln.“<br />

(Delipetkos 2002, S. 2). Sie lassen sich auf diverse Sensoren anwenden und setzen<br />

üblicherweise ke<strong>in</strong>e speziellen Verfahren zur Landmarkenerkennung oder Datenassoziation<br />

voraus. Es wird <strong>in</strong> der Regel aber davon ausgegangen, dass der <strong>Roboter</strong> zwei Typen<br />

von Sensoren besitzt: e<strong>in</strong>en zur Beobachtung se<strong>in</strong>er aktuellen Umgebung und e<strong>in</strong>en, der<br />

Rückschlüsse auf vergangene Aktionen zulässt. Es werden also observations (etwa von<br />

Kameras oder Laserscannern) und actions (meist durch Odometrie ermittelt) benutzt,<br />

die unterschiedlich zur Aktualisierung der Schätzung beitragen.<br />

Der sich wiederholende Zyklus im Prozess der Aufrechterhaltung e<strong>in</strong>er Posenschätzung<br />

lässt sich abstrakt betrachtet wie folgt nach Riisgaard & Blas 2004, S. 10 f. und<br />

Dellaert et al. 1999, S. 1323 f. zusammenfassen: Aus früheren Messungen habe<br />

der <strong>Roboter</strong> bereits observations über Merkmale <strong>in</strong> se<strong>in</strong>er direkten Umgebung und e<strong>in</strong>e<br />

<strong>in</strong>itiale, egal wie beschaffene Schätzung (je nach Verfahren werden ggf. auch mehrere<br />

Posen gleichzeitig angenommen). Nachdem der <strong>Roboter</strong> nun e<strong>in</strong>e Bewegung ausgeführt<br />

und unsicheres Wissen (aus e<strong>in</strong>er action) über den dabei zurückgelegten Weg erhalten<br />

hat, f<strong>in</strong>det <strong>in</strong> der prediction phase e<strong>in</strong>e erste Aktualisierung auf Basis der Bewegung<br />

statt, die sich als Voraussage der Pose begreifen lässt. Daraufh<strong>in</strong> misst der <strong>Roboter</strong> über<br />

se<strong>in</strong>e Beobachtungssensoren erneut Entfernungen oder extrahiert anderweitig Merkmale,<br />

schätzt die relativen Standorte der zugehörigen Landmarken und versucht sie mit<br />

früher gefundenen zu identifizieren oder speichert sie ansonsten <strong>für</strong> zukünftige Vergleiche<br />

ab. Im Allgeme<strong>in</strong>en ergibt sich aus den observations e<strong>in</strong>e andere Pose als aus den<br />

actions, so dass die Schätzung <strong>in</strong> der jetzt vorliegenden update phase (auch: correction<br />

phase) neu berechnet wird, wobei den observations normalerweise e<strong>in</strong> deutlich stärkeres<br />

Gewicht beigemessen wird, da sie erwartungsgemäß ungleich genauere Ergebnisse<br />

liefern. Für die konkrete Umsetzung der Schätzung anhand von Wahrsche<strong>in</strong>lichkeitsdichten<br />

haben sich dazu <strong>in</strong>sbesondere drei pr<strong>in</strong>zipielle Methoden hervorgetan, deren<br />

wesentliche Eigenschaften hier grob umrissen seien:<br />

Die Markov Lokalisierung (ML) geht grundlegend von der Markov-Annahme aus, welche<br />

voraussetzt, dass der nachfolgende Zustand bei der Posenschätzung nur vom aktuellen<br />

und der nächst auszuführenden Aktion abhängt, wodurch implizit gegeben ist, dass die<br />

Umgebung des <strong>Roboter</strong>s statisch se<strong>in</strong> muss (vgl. Delipetkos 2002, S. 4). Diese Annahme<br />

ist beispielsweise verletzt, wenn sich andere <strong>Roboter</strong> <strong>in</strong> der Welt bewegen, da<br />

sie bei der Identifizierung von Landmarken als Veränderung der Umgebung betrachtet<br />

werden müssen. Bei der ML wird e<strong>in</strong>e Wahrsche<strong>in</strong>lichkeitsverteilung über alle generell<br />

möglichen Posen des <strong>Roboter</strong>s aufrechterhalten, die entsprechend neu erhaltenem Wissen<br />

angepasst wird, um die Anzahl wahrsche<strong>in</strong>licher Posen nach und nach zu reduzieren<br />

(vgl. Fox et al. 1999, S. 394). Hiermit wird vor allem das Ziel e<strong>in</strong>er globalen Selbstlokalisierung<br />

angestrebt. E<strong>in</strong>erseits muss da<strong>für</strong> jedoch e<strong>in</strong> möglichst genaues Modell der


2 E<strong>in</strong>satz von <strong>Roboter</strong>-Teams <strong>in</strong> <strong>unbekannten</strong> Umgebungen 19<br />

Umgebung vorliegen, denn nur anhand dessen können Positionen erkannt werden. Andererseits<br />

kann die Komplexität von Laufzeit und Speicher aufgrund der zahlreichen,<br />

gleichzeitig möglichen Hypothesen <strong>in</strong>s Unermessliche steigen (vgl. Dellaert et al.<br />

1999, S. 1322 f. und Gutmann 2000, S. 7), was e<strong>in</strong>e ständige Schätzung der Pose<br />

<strong>in</strong> der Praxis oftmals verh<strong>in</strong>dert. Dies gilt besonders bei der Grid-based ML, <strong>in</strong> der die<br />

Dichte durch e<strong>in</strong>e stückweise l<strong>in</strong>eare Funktion ausgedrückt wird, was gitterartige Kartenrepräsentationen<br />

zur Folge hat. E<strong>in</strong>e Vere<strong>in</strong>fachung stellt die Topologic ML dar, die<br />

sich aber nur <strong>in</strong> zu topologischen Karten passenden Umgebungen, wie etwa Korridorsystemen,<br />

eignet (Dellaert et al. 1999, S. 1324).<br />

Der Kalman Filter (KF) verkörpert e<strong>in</strong>en weiteren probabilistischen Ansatz, der <strong>in</strong> se<strong>in</strong>er<br />

Standardform nur <strong>in</strong> l<strong>in</strong>earen Systemen anwendbar ist. Da nahezu jedes erdenkliche,<br />

nicht-triviale E<strong>in</strong>satzgebiet <strong>für</strong> <strong>Roboter</strong> nichtl<strong>in</strong>ear ist, wird bei der Lokalisierung e<strong>in</strong><br />

Extended Kalman Filter (EKF) e<strong>in</strong>gesetzt, dessen unterliegende nichtl<strong>in</strong>eare Funktionen<br />

l<strong>in</strong>earisiert werden, um die Verfahren des KF nutzen zu können (vgl. Julier &<br />

Uhlmann 1997, S. 183). Entgegen ML geht der KF von e<strong>in</strong>er e<strong>in</strong>zelnen, <strong>in</strong>itialen Posenschätzung<br />

aus und erhält entsprechend immer nur e<strong>in</strong>e Hypothese über Standort und<br />

Blickrichtung des <strong>Roboter</strong>s aufrecht, zum Beispiel mithilfe von Landmarken (vgl. Abbildung<br />

2.2 l<strong>in</strong>ks). Die Hypothese wird durch e<strong>in</strong>e Gauß’sche Normalverteilung abgebildet,<br />

wobei Kalman-Filter darauf abzielen, den mittleren quadratischen Fehler zu m<strong>in</strong>imieren<br />

(Welsh & Bishop 1995, S. 7). Stetiges Verfolgen nur e<strong>in</strong>er Hypothese steht dem Ziel<br />

globaler Lokalisierung entgegen, erweist sich aber bei der fortdauernden Schätzung der<br />

Pose relativ zum Ausgangspunkt als angemessen und hat sich <strong>in</strong> der Praxis als oftmals<br />

sehr genaues Verfahren herausgestellt. Darüber h<strong>in</strong>aus erweisen sich EKFs <strong>in</strong> Echtzeitszenarien<br />

als tauglich, da die komplette Dichte im wesentlichen durch zwei Matrizen<br />

beschrieben wird, die sich iterativ verrechnen lassen, was Speicher- und Rechenbedarf<br />

ger<strong>in</strong>g hält (vgl. Dellaert et al. 1999, S. 1323). Problematisch wiederum wirkt,<br />

dass die Qualität der Schätzung bei ungenauen Sensordaten stark abnimmt, weswegen<br />

Kalman-Filter nicht <strong>in</strong> allen Anwendungen nützlich s<strong>in</strong>d. Dies lässt sich wegen der<br />

L<strong>in</strong>earisierung der Schätzung auch nicht durch andere Wahrsche<strong>in</strong>lichkeitsverteilungen<br />

umgehen, obwohl sich Letztere im Vergleich zum normalen KF pr<strong>in</strong>zipiell bei Bedarf <strong>in</strong><br />

den EKF <strong>in</strong>tegrieren lassen (Gutmann & Fox 2002, S. 455 f.).<br />

Monte-Carlo-Lokalisierung (MCL), zur Klasse der Particle Filter gehörig (ebenso wie<br />

die Abwandlungen Bootstrap Filter und Condensation Algorithm), kann nun schließlich<br />

als stichprobenbasierte Approximation der ML angesehen werden, bei der nur dem<br />

wahrsche<strong>in</strong>lichen Teil des Positionsraumes besondere Aufmerksamkeit gewidmet wird<br />

(Delipetkos 2002, S. 11). Hier<strong>für</strong> wird die Dichte durch e<strong>in</strong>e pr<strong>in</strong>zipiell variable Menge<br />

an Stichproben (so genannten particles) repräsentiert und die Posenschätzung nur<br />

entsprechend dieser Stichproben aktualisiert, wobei wahrsche<strong>in</strong>licheren Posen, die sich<br />

aus der prediction phase ergeben, e<strong>in</strong> höheres Gewicht zugesprochen wird (Dellaert<br />

et al. 1999, S. 1324 f). Abbildung 2.2 zeigt e<strong>in</strong>en Vergleich zwischen dem Vorgehen<br />

bei ML und MCL. Die Stichprobenmenge kann kle<strong>in</strong>er ausfallen, je höher das Vorwissen<br />

über die Pose des <strong>Roboter</strong>s ist, weswegen MCL e<strong>in</strong>e effiziente Methode beim position<br />

track<strong>in</strong>g darstellt, gleichzeitig aber auch globale Selbstlokalisierung zulässt. Damit kann<br />

sie nicht nur als Kompromiss zwischen ML und KF erachtet werden, sondern ist <strong>in</strong> vielen<br />

Fällen sicher die beste Lösung, da sie ML deutlich im Rechenaufwand unterbietet


20 2.1 Kartenerstellung und Lokalisierung<br />

Abbildung 2.2: (l<strong>in</strong>ks) Darstellung unsicheren Wissens über Landmarken, anhand dessen die<br />

Positionsschätzung per KF bei Se et al. 2002 verläuft. Je größer e<strong>in</strong> Oval, desto ungenauer<br />

das Wissen über den Standort der Landmarke. (rechts) Vergleich der Dichte von ML mit den<br />

Samples von MCL bei unbekannter Orientierung aus Dellaert et al. 1999: (A) Aktuelle Positionsschätzung.<br />

(B) <strong>Roboter</strong> bewegt sich 1 m. (C) Landmarke <strong>in</strong> 0, 5 m Entfernung gefunden.<br />

(D) Positionsschätzung nach E<strong>in</strong>beziehung der Landmarke.<br />

und bei oftmals nur ger<strong>in</strong>gfügig schlechterer Effizienz zu vergleichbarer Güte der Posenschätzung<br />

wie e<strong>in</strong> KF führt und diesen <strong>in</strong> se<strong>in</strong>er Robustheit gegenüber schlechteren<br />

Sensordaten deutlich übertrifft (vgl. Dellaert et al. 1999, S. 1327 f).<br />

Diverse Varianten und Verknüpfungen dieser Ansätze existieren; so wird <strong>für</strong> kamerabasierte<br />

Lokalisierung <strong>in</strong> Gutmann & Fox 2002 <strong>für</strong> gutstrukturierte Umgebungen<br />

herausgearbeitet, dass e<strong>in</strong>e spezielle Komb<strong>in</strong>ation, bei der ML <strong>für</strong> globale und e<strong>in</strong> EKF<br />

<strong>für</strong> lokale Posenbestimmungen zu Rate gezogen wird, neben MCL zu den genauesten<br />

und robustesten Ergebnissen führe. Bei Doucet et al. 2000 h<strong>in</strong>gegen wird e<strong>in</strong> Rao-<br />

Blackwellised Particle Filter (RBPF) als Verbesserung normaler MCL vorgestellt, der<br />

<strong>in</strong> jedem Partikel e<strong>in</strong>e <strong>in</strong>dividuelle Karte trägt, was jedoch erfordert, mit der entstehenden<br />

Komplexität umzugehen. Dennoch wird diese Variante gerade <strong>in</strong> aktuellen Verfahren<br />

e<strong>in</strong>gesetzt (etwa Grisetti et al. 2007, Wurm et al. 2007). Weiter gibt es Arbeiten,<br />

<strong>in</strong> denen ML <strong>für</strong> dynamische Umgebungen implementiert wird, <strong>in</strong>dem nur als statisch<br />

annehmbare Objekte zur Schätzung genommen werden (Fox et al. 1999). Selbst wenn<br />

es nicht zum Bereich vision gehört, sei der Vollständigkeit halber gesagt, dass es auch<br />

e<strong>in</strong> verbreitetes Laser-basiertes Lokalisierungsverfahren gibt, das nicht zwangsläufig auf<br />

probabilistische Methoden angewiesen ist, und zwar die Scan-Übderdeckung, welche <strong>in</strong><br />

vielen Anwendungsfällen sehr genaue Ergebnisse erzielt. Dabei werden wiederkehrend<br />

nache<strong>in</strong>ander entstandene Mengen (scans) von gemessenen Entfernungen zum aktuellen<br />

Standort mite<strong>in</strong>ander verglichen, um zu Zwecken der Posenbestimmung e<strong>in</strong> optimales<br />

Match<strong>in</strong>g zwischen diesen zu f<strong>in</strong>den (vgl. Gutmann 2000, S. 21 f.).<br />

Um die Frage, ob und, wenn ja, welcher der vorgestellten Ansätze sich <strong>für</strong> die Lokalisierungstechnik<br />

dieser Arbeit anbietet, wird es später <strong>in</strong> Kapitel 5 gehen. Bevor nun erst<br />

e<strong>in</strong>mal im Vordergrund steht, welche Ansätze zur Kooperation von <strong>Roboter</strong>n bei deren<br />

Lokalisierung existieren, seien abschließend e<strong>in</strong>ige konkrete Lokalisierungsverfahren<br />

betrachtet, die von probabilisitischen Schätzungen Gebrauch machen und die Möglichkeiten<br />

e<strong>in</strong>zelner <strong>Roboter</strong> bei der Orientierung <strong>in</strong> der Welt mittels vision aufzeigen.


2 E<strong>in</strong>satz von <strong>Roboter</strong>-Teams <strong>in</strong> <strong>unbekannten</strong> Umgebungen 21<br />

Kamerabasierte Lokalisierungsverfahren <strong>für</strong> e<strong>in</strong>zelne <strong>Roboter</strong> <strong>in</strong> der Praxis<br />

E<strong>in</strong>e Variante der ML dient <strong>in</strong> Olson 2000 zur unregelmäßigen Selbstlokalisierung <strong>in</strong><br />

unstruktierten Außenumgebungen. Anhand von Landmarken, deren Position <strong>in</strong> Experimenten<br />

mit dem Sojourner Mars Rover über e<strong>in</strong>e Stereo-Kamera ermittelt wurden, wird<br />

versucht, e<strong>in</strong>e vom <strong>Roboter</strong> aufgebaute lokale, dreidimensionale Karte mit Teilen der<br />

vorher (durch e<strong>in</strong>e erhöht liegende Basisstation) erstellten globalen Karte zu identifizieren.<br />

Mögliche Posen <strong>in</strong>nerhalb der lokalen Karte werden also benutzt, um Landmarken<br />

zuzuordnen und so Rückschlüsse auf den eigenen Standort zu machen. Ergebnisse unterstrichen,<br />

dass <strong>in</strong> wenigen Sekunden e<strong>in</strong>e Lokalisierung möglich ist, die nur um e<strong>in</strong><br />

paar Zentimeter von der e<strong>in</strong>es human operators abweicht, welcher bei Marsexpeditionen<br />

bislang die Korrektur von Odometriemessungen durch Entfernungsdaten manuell<br />

vorgenommen hatte. Als problematisch wird jedoch erwähnt, dass genügend erkennbare<br />

Formen im Sensorbereich vorhanden se<strong>in</strong> müssen, was gerade bei den <strong>in</strong> der Realität<br />

faktisch vom Mars zurückgesendeten Bildern nicht immer der Fall gewesen sei.<br />

Auf Basis e<strong>in</strong>er monokularen Kamera werden h<strong>in</strong>gegen bei Davison & Molton 2007<br />

<strong>in</strong> Echtzeit natürliche Landmarken aus <strong>unbekannten</strong>, statischen Umgebungen (vorerst<br />

Räumen) extrahiert und <strong>in</strong> e<strong>in</strong>er spärlichen und vorwiegend zu Lokalisierungszwecken<br />

gedachten, merkmalsbasierten 3D-Karte festgehalten. Die Positionen der Landmarken<br />

werden über Änderungen ihrer Lage zur bewegten Kamera auf Basis des Lochkamera-<br />

Modells (siehe Kapitel 3.1) festgestellt, so dass unter Verwendung e<strong>in</strong>es EKFs fortwährend<br />

die Kamerapose geschätzt werden kann. Gewisses Vorwissen über die Beschaffenheit<br />

von Landmarken ist <strong>in</strong> den zugehörigen Algorithmen <strong>in</strong>tegriert, außerdem wird e<strong>in</strong><br />

zu Beg<strong>in</strong>n sichtbares und <strong>in</strong> Größe und Koord<strong>in</strong>aten bekanntes Objekt zur Verfügung<br />

gestellt, um dem Mangel an Tiefen<strong>in</strong>formation der Kamera entgegenzuwirken, der <strong>in</strong><br />

<strong>unbekannten</strong> Umgebungen zu Initialisierungsproblemen führe. Erneut wird e<strong>in</strong> Fehlen<br />

von Merkmalen (etwa direkt vor Wänden) als Schwierigkeit hervorgehoben. Experimente<br />

wurden mit e<strong>in</strong>em humanoiden <strong>Roboter</strong> vorgenommen, der mit e<strong>in</strong>er kalibrierten<br />

90 ◦ -Weitw<strong>in</strong>kelkamera ausgestattet war. Der <strong>Roboter</strong> beschritt e<strong>in</strong>en Kreis mit 75 cm<br />

Radius und lokalisierte sich bis zur Wiedererkennung zuvor gesehener Landmarken mit<br />

Abweichungen von bis zu etwa 5 cm <strong>in</strong> jeder Dimension.<br />

In Bennewitz et. al. 2006 wird MCL mittels SIFT-Features präsentiert, die auf e<strong>in</strong>er<br />

zweidimensionalen, gitterbasierten Merkmalskarte arbeitet, welche zuvor von e<strong>in</strong>em<br />

mit Laserscanner und Kamera ausgerüsteten <strong>Roboter</strong> eigenständig erstellt wird. Hierbei<br />

wird angenommen, dass die Entfernung e<strong>in</strong>es über die Kamera gefundenen Merkmals<br />

der <strong>in</strong> der gleichen Richtung über Laser ermittelten Entfernung zu e<strong>in</strong>em H<strong>in</strong>dernis entspricht.<br />

MCL-Updates f<strong>in</strong>den bei der anschließenden, re<strong>in</strong> kamerabasierten Lokalisierung<br />

beliebiger <strong>Roboter</strong> nur dann statt, wenn sich deutliche Unterschiede der Merkmalsverteilungen<br />

ergeben. E<strong>in</strong> auf Rädern fahrender <strong>Roboter</strong>, der e<strong>in</strong>e Kamera mit Bildw<strong>in</strong>kel<br />

von 65 ◦ (teilweise auch 130 ◦ ) verwendete, lokalisierte sich <strong>in</strong> e<strong>in</strong>er Büroumgebung auf<br />

e<strong>in</strong>er Strecke von 20 m mit durchschnittlichen Abweichungen von 39 cm bei der Position<br />

und 4, 5 ◦ <strong>in</strong> der Orientierung.<br />

Aus dem gleichen Forschungsteam stammt schließlich auch e<strong>in</strong> kamerabasiertes SLAM-<br />

Verfahren <strong>für</strong> völlig unbekannte Umgebungen, bei dem die 3D-Karte über die schon<br />

angesprochene RBPF-Methode aufgebaut wird, wobei die Positionen e<strong>in</strong>zelner Land-


22 2.2 Geme<strong>in</strong>same Bewegung und kooperative Lokalisierung<br />

marken mittels EKF geschätzt werden (Strasdat et al. 2007). Merkmale werden<br />

nur durch ihren Horizontal- und Vertikalw<strong>in</strong>kel zur Kamera beschrieben, Tiefen<strong>in</strong>formationen<br />

auch hier aus der Verfolgung von Landmarken <strong>in</strong> aufe<strong>in</strong>ander folgenden Kamerabildern<br />

ermittelt. Entsprechend s<strong>in</strong>d bei Initialisierung noch ke<strong>in</strong>e dreidimensionalen<br />

Daten vorhanden. Die Startposition ist darüber h<strong>in</strong>aus beliebig, es wird also ke<strong>in</strong> Vorwissen<br />

über die Umgebung vorausgesetzt. Bei zehnm<strong>in</strong>ütigen Experimenten <strong>in</strong> e<strong>in</strong>er<br />

Büroumgebung ergab die Lokalisierung e<strong>in</strong>es <strong>Roboter</strong>s im Durchschnitt Abweichungen<br />

von 28 cm und 3, 9 ◦ (im Vergleich zu Odometriefehlern von 1, 69 m und 22, 8 ◦ ).<br />

Die Auswahl an vorgestellten Ansätzen und Verfahren zeigt, dass Lokalisierung (oft im<br />

Zusammenhang mit gleichzeitiger Kartenerstellung) e<strong>in</strong> weitreichend untersuchtes Gebiet<br />

darstellt, <strong>für</strong> das bereits bezüglich vieler Aspekte erfolgreiche Umsetzungen existieren.<br />

Nichtdestotrotz deuteten sich Probleme an, die zum Teil auf das mögliche Fehlen<br />

aussagekräftiger Merkmale <strong>in</strong> der Umgebung zurückzuführen s<strong>in</strong>d. Auch kommt die<br />

Tatsache, dass nicht überall genügend Vorwissen über die Beschaffenheit der Umgebung<br />

vorliegt, erschwerend h<strong>in</strong>zu. Da generell der E<strong>in</strong>satz von Teams <strong>für</strong> viele Aufgaben<br />

autonomer mobiler <strong>Roboter</strong> notwendig ist, weil nicht jeder <strong>Roboter</strong> alle Funktionen ausführen<br />

und nicht jede Arbeit von e<strong>in</strong>em <strong>Roboter</strong> alle<strong>in</strong>e verrichtet werden kann, wird<br />

gerade <strong>in</strong> den letzten Jahren verstärkt untersucht, welche Vorteile aber auch welche<br />

Schwierigkeiten aus der geme<strong>in</strong>samen Bewegung, Kartenerstellung und Lokalisierung<br />

e<strong>in</strong>er Gruppe von <strong>Roboter</strong>n entspr<strong>in</strong>gen. Um dabei bestehende Forschungsthemen wird<br />

es daher im folgenden Teilkapitel gehen.<br />

2.2 Geme<strong>in</strong>same Bewegung und kooperative Lokalisierung<br />

E<strong>in</strong> klassisches Anwendungsgebiet kooperativer Gruppen von <strong>Roboter</strong>n bildet die Exploration<br />

unbekannter Umgebungen. Hier ergibt sich der Nutzen vieler <strong>Roboter</strong> auf den<br />

ersten Blick vor allem aus der Möglichkeit zur Aufteilung zwecks Beschleunigung der Explorationsaufgabe.<br />

So werden bei Burgard et al. 2005 Algorithmen zur Verbreitung<br />

erarbeitet, die darauf abzielen, <strong>Roboter</strong> auf möglichst kurzen Wegen zu unerkundeten<br />

Orten zu leiten. Darüber h<strong>in</strong>aus erweist sich das Vorhandense<strong>in</strong> von Redundanz <strong>in</strong> Szenarien,<br />

wo sich nicht zwischendurch e<strong>in</strong>greifen lässt (wie anderen Planeten), als positiver<br />

Nebeneffekt, um Ausfälle oder Fehlfunktionen von <strong>Roboter</strong>n kompensieren zu können<br />

(vgl. Kurazume & Hirose 2000a, S. 46). „Teams of robots therefore can be expected<br />

to be more fault-tolerant than only one robot.“ (Burgard et al. 2005, S. 376). Auch<br />

hat die Benutzung mehrerer <strong>Roboter</strong> oft den Vorteil, dass es preiswerter se<strong>in</strong> kann, viele<br />

e<strong>in</strong>fach konstruierte anstatt e<strong>in</strong>es e<strong>in</strong>zelnen, sehr leistungsstarken <strong>Roboter</strong>s zu nehmen<br />

(vgl. Odakura & Costa 2006, S. 554 und Grabowski et al. 2000, S. 297).<br />

Und schließlich kann das Sehen anderer <strong>Roboter</strong>, über deren Eigenschaften Vorwissen<br />

besteht, genauso wie die Kommunikation mit diesen zum Austausch von Informationen<br />

der Verbesserung der Lokalisierung dienen, was sich direkt auf die Qualität der zu erstellenden<br />

Karten auswirkt. Bei der geme<strong>in</strong>samen Exploration <strong>in</strong> Stachniss 2006 etwa<br />

wird neben der Effizienz stets auch die M<strong>in</strong>imierung neu entstehender Unsicherheit bei


2 E<strong>in</strong>satz von <strong>Roboter</strong>-Teams <strong>in</strong> <strong>unbekannten</strong> Umgebungen 23<br />

anstehenden Bewegungen im Auge behalten. Sich selbst zu lokalisieren ist selbstredend<br />

auch <strong>in</strong> anderen Kontexten wichtig, wo Zusammenarbeit und dynamische Koord<strong>in</strong>ation<br />

von <strong>Roboter</strong>n vorausgesetzt wird; so zur cooperative manipulation, bei der Objekte<br />

transportiert oder neu positioniert werden müssen (Chaimowicz et al. 2004, S. 7 f.).<br />

Die weitreichenden Beschäftigungen mit von <strong>Roboter</strong>gruppen durchgeführten Rettungsoperationen<br />

des RoboCupRescue-Projekts (RoboCupRescue 2009) unterstreichen die<br />

Bedeutung dieses Forschungszweigs. In aller Regel erfordert die Verwendung von Teams<br />

Kommunikation zwischen den <strong>Roboter</strong>n, um kooperatives Verhalten s<strong>in</strong>nvoll umsetzen<br />

zu können. Sobald <strong>Roboter</strong> aber Sensordaten teilen, muss Wissen über die Pose der anderen<br />

existieren, da sich die Daten ansonsten nicht <strong>in</strong> e<strong>in</strong> globales Koord<strong>in</strong>atensystem<br />

<strong>in</strong>tegrieren lassen (Navarro-Serment et al. 1999, S. 232).<br />

Natürlich ließe sich die Lokalisierung e<strong>in</strong>es <strong>Roboter</strong>-Teams wie gehabt vollziehen, <strong>in</strong>dem<br />

jeder <strong>Roboter</strong> unabhängig mit den beschriebenen Techniken versucht, se<strong>in</strong>en Standort<br />

zu bestimmen, was trotz neuer Schwierigkeiten, wie dem ständigen Umgang mit dynamischen<br />

Objekten im Sensorbereich, sicherlich <strong>in</strong> e<strong>in</strong>igen Anwendungen zu ausreichenden<br />

Ergebnissen führt. Wenn sich aber auf das Wissen anderer zugreifen lässt und so geme<strong>in</strong>sam<br />

Posen bestimmt werden können, eröffnet dies neue Möglichkeiten. Das Problem der<br />

Aufrechterhaltung von Schätzungen über alle Posen der <strong>Roboter</strong> e<strong>in</strong>es Teams, bei dem<br />

sich <strong>Roboter</strong> gegenseitig lokalisieren und zur Erhöhung der Genauigkeit kommunizieren,<br />

wird als cooperative (multi-robot) localization bezeichnet (Odakura & Costa 2006,<br />

S. 554 und Rekleitis et al. 2002, S. 1). „For robot teams, however, one must dist<strong>in</strong>guish<br />

between two k<strong>in</strong>ds of localization: absolute localization, <strong>in</strong> which each robot<br />

attempts to determ<strong>in</strong>e its pose with respect to some external global coord<strong>in</strong>ate system,<br />

and relative localization, <strong>in</strong> which each robot attempts to determ<strong>in</strong>e the pose of every<br />

other robot <strong>in</strong> the team, relative to itself“ (Howard et al. 2003, S. 65). <strong>Kooperative</strong><br />

Verfahren gab es bislang nicht <strong>in</strong> dem Umfang der s<strong>in</strong>gle-robot localization, jedoch<br />

haben sich e<strong>in</strong>ige Ansätze im letzten Jahrzehnt herauskristallisiert.<br />

Erhöhung der Lokalisierungsgenauigkeit durch das Wissen vieler<br />

Die vielleicht nahe liegendste Idee, von Teams im Zuge lokaler und globaler Lokalisierung<br />

zu profitieren, ergibt sich aus der Mite<strong>in</strong>beziehung der Sensordaten und Schätzungen<br />

anderer <strong>in</strong> die Berechnungen jedes <strong>Roboter</strong>s: Begegnen sich <strong>Roboter</strong>, so teilen sie<br />

sich ihr Wissen über aktuelle Posen und die Umgebung mit. Zusätzlich bestimmen sie<br />

die relative Lage zu den jeweils anderen, um die Informationsmengen mischen zu können.<br />

Dann lässt sich die Ungenauigkeit von Schätzungen <strong>in</strong>tuitiv gesprochen deswegen<br />

verr<strong>in</strong>gern, weil aus verschiedenem unsicherem Wissen Schnittmengen wahrsche<strong>in</strong>licher<br />

Posen resultieren. Pr<strong>in</strong>zipiell ermöglicht dies, die bekannten probabilistischen Verfahren<br />

weiterh<strong>in</strong> zu nutzen und sie um die E<strong>in</strong>bettung von Kooperation zu erweitern. Jedoch<br />

impliziert die Existenz mehrerer <strong>Roboter</strong> Probleme, die es zu bewältigen gilt.<br />

Wie <strong>in</strong> Kapitel 2.1 erwähnt, verletzt der E<strong>in</strong>satz von Teams aus Sicht e<strong>in</strong>es <strong>Roboter</strong>s<br />

<strong>in</strong> der Theorie die Markov-Annahme, denn se<strong>in</strong>e Situation wird nicht nur von se<strong>in</strong>em<br />

eigenen Verhalten bee<strong>in</strong>flusst. Praktisch lässt sich Abhilfe schaffen, <strong>in</strong>dem andere <strong>Roboter</strong><br />

simplerweise ignoriert werden, wobei fraglich ist, <strong>in</strong>wiefern das stets funktioniert:<br />

<strong>für</strong> e<strong>in</strong>en <strong>Roboter</strong> <strong>in</strong>mitten e<strong>in</strong>es Schwarms wird es schwierig se<strong>in</strong>, Merkmale des stati-


24 2.2 Geme<strong>in</strong>same Bewegung und kooperative Lokalisierung<br />

schen Anteils se<strong>in</strong>er Umgebung zu erkennen, umgekehrt lässt sich die falsche Identifizierung<br />

e<strong>in</strong>es <strong>Roboter</strong>s als stationäres Objekt nicht generell ausschließen. Trotzdem werden<br />

Markov-Ansätze wie MCL <strong>für</strong> Teams e<strong>in</strong>gesetzt, so bei Fox et al. 2000, wo zu diesem<br />

Zwecke neben actions und observations den Sensoren auch detections anderer <strong>Roboter</strong><br />

entnommen werden. In Tests erkannten tra<strong>in</strong>ierte Detektoren (Kameras samt Laser) <strong>in</strong><br />

über 93% der Fälle e<strong>in</strong>en vorhandenen <strong>Roboter</strong> und nur <strong>in</strong> 3, 5% fälschlicherweise e<strong>in</strong>en<br />

nicht vorhandenen. Kommunizieren der Schätzungen geschah bei Sichtkontakt zweier<br />

<strong>Roboter</strong> und führte zur Reduzierung der Abweichungen auf grob e<strong>in</strong> Drittel. Obwohl die<br />

Verknüpfung der Partikel verschiedener <strong>Roboter</strong> bereits approximiert über stückweise<br />

konstante Dichtefunktionen verlief, wird als e<strong>in</strong>s der Probleme der Berechnungsaufwand<br />

bei zu häufiger Schätzungaktualisierung mit Daten anderer offenbart, weswegen<br />

zum Beispiel negative detections (die Abwesenheit anderer) erst gar nicht genutzt werden.<br />

Auch diese aber können wertvolle H<strong>in</strong>weise liefern, etwa wenn e<strong>in</strong> <strong>Roboter</strong> wider<br />

Erwarten nicht mehr im Sichtbereich e<strong>in</strong>es anderen liegt, wie <strong>in</strong> Odakura & Costa<br />

2006 explizit <strong>für</strong> kooperative ML argumentiert wird.<br />

Wenn also der Austausch von Sensordaten Teil der Kooperation ist, führt dies zu steigendem<br />

und ab e<strong>in</strong>er gewissen Anzahl an <strong>Roboter</strong>n ggf. nicht mehr tragbarem Aufwand,<br />

<strong>in</strong>sbesondere, wenn Planungs- und Steuerungsaufgaben bei e<strong>in</strong>em e<strong>in</strong>zigen <strong>Roboter</strong><br />

stattf<strong>in</strong>den, wie <strong>in</strong> Dhanapanichkul 2006, wo der group leader alle W<strong>in</strong>kelmessungen<br />

zwischen <strong>Roboter</strong>n zugesendet bekommt, um daraus e<strong>in</strong> Positionsmuster des Teams<br />

zu berechnen und an alle Mitglieder zu broadcasten. E<strong>in</strong> möglicher Ausweg kann <strong>in</strong> der<br />

Dezentralisierung dieser Berechnungen bestehen, damit alle <strong>Roboter</strong> diese so weit wie<br />

möglich selbst durchführen (Madhavan et al. 2004, S. 23). Mehrere Arbeiten belegen,<br />

dass von den probabilistischen Verfahren zum<strong>in</strong>dest EKFs dies erlauben. Während<br />

<strong>in</strong> Madhavan et al. 2004 die lokalen EKFs der mit zahlreichen Sensoren ausgestatteten<br />

<strong>Roboter</strong> komb<strong>in</strong>iert werden, um daraus e<strong>in</strong>e globale Karte zu erzeugen, steht an<br />

anderen Stellen e<strong>in</strong> zentralisierter EKF <strong>für</strong> die Schätzung der Posen aller <strong>Roboter</strong> zur<br />

Verfügung, welcher sowohl absolute Daten über die unbekannte Umgebung als auch relative<br />

über Lagen nahe gelegener <strong>Roboter</strong> benutzt, dessen Berechnungen aber auf die<br />

e<strong>in</strong>zelnen <strong>Roboter</strong> aufgeteilt werden (etwa Roumeliotis & Bekey 2000).<br />

Erneut f<strong>in</strong>det sich <strong>in</strong> den angeführten Methoden die Voraussetzung, dass e<strong>in</strong> Modell der<br />

Umgebung bekannt ist oder Letztere wenigstens ausreichend aussagekräftige Merkmale<br />

enthält. Dementgegen steht e<strong>in</strong>e vollkommene Konzentration auf relative Lokalisierung;<br />

auch hier lässt sich der Ansatz verfolgen, das Wissen aller <strong>Roboter</strong> e<strong>in</strong>er Gruppe über<br />

die Standorte der anderen zu vere<strong>in</strong>en, um damit die Unsicherheit beim position track<strong>in</strong>g<br />

zu verr<strong>in</strong>gern, jedoch ggf. <strong>in</strong>nerhalb egozentrischer Koord<strong>in</strong>atensysteme (bezüglich e<strong>in</strong>es<br />

bestimmten <strong>Roboter</strong>s oder jeweils bezüglich sich selbst). Re<strong>in</strong> relative Lokalisierung<br />

eignet sich besonders <strong>für</strong> unbekannte, unstrukturierte und dynamische Umgebungen, da<br />

wenig bis ke<strong>in</strong>e Annahmen über die Welt gemacht werden müssen, und wird <strong>in</strong> der Fachwelt<br />

bei teamorientiertem Verhalten nicht selten <strong>für</strong> wichtiger als absolute Lokalisierung<br />

gehalten. „Consider, for example, a team of robots execut<strong>in</strong>g a formation behavior: these<br />

robots need not know their latitude and longitude, but must know the relative pose<br />

of their neighbors“ (Howard et al. 2003, S. 65 f).<br />

Das Paper Howard et al. 2003 behandelt e<strong>in</strong>en da<strong>für</strong> spezialisierten Mechanismus;


2 E<strong>in</strong>satz von <strong>Roboter</strong>-Teams <strong>in</strong> <strong>unbekannten</strong> Umgebungen 25<br />

dort unterscheidet jeder der n <strong>Roboter</strong> fünf Beobachtungstypen, die er verschieden<br />

nutzt, um (mittels Partikelfiltern) n − 1 Wahrsche<strong>in</strong>lichkeitsverteilungen über die Lage<br />

der anderen zu sich selbst aufrechtzuerhalten: eigene Bewegungen und Bewegungen anderer,<br />

Sehen anderer und Gesehenwerden sowie das gegenseitige Sehen zweier anderer<br />

<strong>Roboter</strong>. Informationen über solche actions und observations werden von allen stets ans<br />

Team weitergeleitet, wobei Kommunikation als vollständig angenommen wird (was aber<br />

nicht essentiell sei). Bei der Aktualisierung der Schätzungen müssen zeitliche Abfolgen<br />

der Beobachtungen e<strong>in</strong>gehalten und zirkuläre Abhängigkeiten vermieden werden. Als genereller<br />

Nachteil wird der Berechnungsaufwand der hohen Anzahl an Partikelfiltern pro<br />

<strong>Roboter</strong> genannt. Experimente mit vier <strong>Roboter</strong>n waren jedoch mit normalen Laptop-<br />

Prozessoren möglich. In e<strong>in</strong>er flachen 48 m 2 -Umgebung mit H<strong>in</strong>dernissen berechneten<br />

die <strong>Roboter</strong> die Position und Orientierung anderer anhand derer farbcodierten Reflektoren<br />

mittels Kamera und Laserscanner, was nach 50 Sekunden ununterbrochener Bewegung<br />

zu Schätzungen mit dreifacher Standardabweichung von maximal circa 60 cm<br />

führte; das heißt, e<strong>in</strong> <strong>Roboter</strong> hielt sich mit 99, 7% Wahrsche<strong>in</strong>lichkeit <strong>in</strong>nerhalb dieses<br />

Intervalls auf (vgl. Trawny 2003, S. 28).<br />

Weitere Verfahren gehen <strong>in</strong> die Richtung dieses Konzepts. E<strong>in</strong> Weg, der zwar ähnliche<br />

Ideen, aber nur bed<strong>in</strong>gt Kooperation aufweist (auf Kommunikation wird verzichtet),<br />

wird <strong>in</strong> Montesano et al. 2005 vorgestellt. Zwei <strong>Roboter</strong> ermitteln zur Verbesserung<br />

der Schätzung ihre gegenseitige Pose aus den durch e<strong>in</strong>e omnidirektionale Kamera gelieferten<br />

Richtungen und beobachteten Bewegungsfolgen. Dabei werden Kalman- und Partikelfilter<br />

sowie beide komb<strong>in</strong>iert als Schätzverfahren verglichen, was bei Experimenten<br />

<strong>in</strong> e<strong>in</strong>er Laborumgebung ergab, dass die Komb<strong>in</strong>ation e<strong>in</strong>e schnelle und zugleich robuste<br />

Variante verkörpere. Hier dienen andere <strong>Roboter</strong> also zur eigenen Standortbestimmung;<br />

e<strong>in</strong> Vorgehen, das wie im Folgenden beschrieben bereits tiefgehender untersucht wurde.<br />

Abwechselnde Bewegung zur Lokalisierung anhand anderer <strong>Roboter</strong><br />

E<strong>in</strong> deutlich anderer Ansatz nämlich zur wiederum e<strong>in</strong>deutig kooperativen, relativen<br />

Lokalisierung besteht dar<strong>in</strong>, dass sich die <strong>Roboter</strong> abwechselnd fortbewegen; während<br />

e<strong>in</strong>er (oder e<strong>in</strong> Anteil) der <strong>Roboter</strong> se<strong>in</strong>en Standort wechselt, beobachten die restlichen<br />

<strong>Roboter</strong> dies von e<strong>in</strong>em festen Standpunkt aus und schätzen die Position des sich bewegenden<br />

<strong>Roboter</strong>s, oder sie dienen umgekehrt selbst temporär als künstliche Landmarken<br />

<strong>für</strong> diesen <strong>Roboter</strong>.<br />

Ryo Kurazume und Shigeo Hirose haben <strong>in</strong> diesem Zusammenhang den bezeichnenden<br />

Begriff mobile landmarks e<strong>in</strong>geführt. In Kurazume & Hirose 2000a wird das <strong>in</strong> vollkommen<br />

<strong>unbekannten</strong> 3D-Umgebungen agierende <strong>Roboter</strong>-Team <strong>in</strong> zwei Gruppen A<br />

und B geteilt. Während sich B bewegt, werden die eigenen Posen neben Odometrie anhand<br />

der Entfernung sowie dem Höhen- und Seitenw<strong>in</strong>kel zur stillstehenden Gruppe A<br />

grob und nach Bewegungsabschluss genau ermittelt. Dann tauschen A und B die Rollen<br />

und der Vorgang wiederholt sich solange, bis e<strong>in</strong> Zielort erreicht wurde. Neben der Akkumulation<br />

von Ungenauigkeiten, wird die Tatsache, dass sich <strong>Roboter</strong> stets gegenseitig<br />

sehen müssen, <strong>für</strong> lange Strecken <strong>in</strong> unstrukturierten Umgebungen mit H<strong>in</strong>dernissen als<br />

Problem dargestellt. <strong>Bewegungsstrategien</strong> werden allerd<strong>in</strong>gs auch nur umrissen, bei denen<br />

die <strong>Roboter</strong> teils h<strong>in</strong>ter-, teils nebene<strong>in</strong>ander formiert s<strong>in</strong>d. Für Experimente mit


26 2.2 Geme<strong>in</strong>same Bewegung und kooperative Lokalisierung<br />

Abbildung 2.3: (l<strong>in</strong>ks) Exemplarisch <strong>für</strong> Kurazume & Hirose 2000a bewegt sich hier erst<br />

e<strong>in</strong> <strong>Roboter</strong> nach P3, dann e<strong>in</strong> anderer von P1 weg. (Mitte) Beim leap-frogg<strong>in</strong>g approach mit<br />

vier <strong>Roboter</strong>n bewegt sich pr<strong>in</strong>zipiell immer der h<strong>in</strong>terste (Navarro-Serment et al. 1999).<br />

(rechts) Durch Beobachten e<strong>in</strong>es sich bewegenden <strong>Roboter</strong>s wird <strong>in</strong> Rekleitis et al. 2001<br />

die dazwischen liegende Fläche exploriert.<br />

vier <strong>Roboter</strong>n wurde e<strong>in</strong> parent robot mit Laserscanner und die anderen jeweils mit sechs<br />

kreisförmig angeordneten, <strong>für</strong> Laser geeigneten Reflektoren (corner cubes) ausgerüstet,<br />

was <strong>in</strong> e<strong>in</strong>em leeren Raum nach 21, 5 Metern zu e<strong>in</strong>em Gesamtfehler von 59 mm <strong>in</strong><br />

der Position und 0, 27 ◦ <strong>in</strong> der Orientierung beim parent robot führte. Als nicht zuletzt<br />

kostengünstige Alternative zu den genannten Sensoren arbeiten die Autoren an den<br />

<strong>Roboter</strong>n angebrachte Lichtmarkierungen heraus, die etwa von Kameras erkannt werden<br />

können. Zusätzliche Neigungsmesser f<strong>in</strong>den sich außerdem <strong>für</strong> echt dreidimensionale<br />

Umgebungen im darauf aufbauenden Paper Kurazume & Hirose 2000b. Erste Tests<br />

führten dabei zu Fehlern der gleichen Ordnung.<br />

Das Konzept e<strong>in</strong>er expliziten Bewegungsstrategie zur relativen Lokalisierung sehr kle<strong>in</strong>er<br />

<strong>Roboter</strong>, der leap-frogg<strong>in</strong>g approach, steht bei Navarro-Serment et al. 1999<br />

im Mittelpunkt. Ausgehend von e<strong>in</strong>er beliebigen Umgebungssituation, fungieren jeweils<br />

m<strong>in</strong>destens drei temporär stationäre <strong>Roboter</strong> als Landmarken (so genannte beacons),<br />

die mit spezieller Hardware <strong>in</strong> alle Richtungen gleichzeitig Ultraschallsignale aussenden.<br />

Auf Basis dieser Strahlen lokalisieren sich andere <strong>Roboter</strong>, welche sich währenddessen<br />

frei im Empfangsbereich der beacons bewegen dürfen, mittels GPS-ähnlicher Trilateration.<br />

Die Posen der sich bewegenden <strong>Roboter</strong> werden dabei mit e<strong>in</strong>em EKF geschätzt,<br />

der auch Odometriedaten erfasst. Nach Abschluss e<strong>in</strong>er Bewegungsfolge (e<strong>in</strong>es leaps)<br />

ändert sich auch hier die Zuweisung der Rollen, wobei die nächsten beacons anhand ihrer<br />

Standorte von den aktuellen festgesetzt werden. Fehlerakkumulationen hängen nach<br />

Annahme der Autoren unter Anderem von der Größe e<strong>in</strong>es leaps und besonders der<br />

Anordnung der beacons ab, wobei e<strong>in</strong> gleichseitiges Dreieck zu den besten Ergebnissen<br />

geführt habe. In Experimenten war die durchschnittliche Positionsabweichung von vier<br />

Millibots nach 75 leaps nie größer als circa 3 cm, die Standardabweichung der Orientierung<br />

betrug 1, 07 ◦ . Grabowski et al. 2000 aus der gleichen Arbeitsgruppe erweitert<br />

das Konzept um die Exploration der Umgebung und daraus resultierende Erstellung von<br />

occupancy grid maps. Da<strong>für</strong> setzt e<strong>in</strong>er der <strong>Roboter</strong> die lokalen Umgebungs<strong>in</strong>formationen<br />

aller zusammen und plant anhand dieser die folgenden Bewegungsrichtungen, um<br />

H<strong>in</strong>dernissen auszuweichen und unbekanntes Terra<strong>in</strong> zu erreichen. Die <strong>Roboter</strong> besitzen<br />

da<strong>für</strong> zusätzlich e<strong>in</strong>e Kamera, mit der sie während der Bewegung Merkmale aus ihrer<br />

Umgebung extrahieren.<br />

Exploration stellt auch den Rahmen <strong>für</strong> die <strong>in</strong> Rekleitis et al. 1997 von e<strong>in</strong>em


2 E<strong>in</strong>satz von <strong>Roboter</strong>-Teams <strong>in</strong> <strong>unbekannten</strong> Umgebungen 27<br />

theoretischen Standpunkt aus vorgestellte Methode dar, bei der sich zwei <strong>Roboter</strong> abwechselnd<br />

gegenseitig mit e<strong>in</strong>em robot tracker (bevorzugt e<strong>in</strong>er Kamera) beobachten,<br />

um Odometriefehlern entgegenzuwirken. Der sich aktuell und stets geradl<strong>in</strong>ig bewegende<br />

<strong>Roboter</strong> wird vom anderen solange wie möglich mit dem Ziel getrackt, die zwischen<br />

ihnen liegende Fläche zu explorieren. Anschließend wird der sich bewegende zum beobachtenden<br />

und umgekehrt. Auf diese Weise wird die als zweidimensional angenommene<br />

und durch e<strong>in</strong> Polygon mit Löchern (sozusagen H<strong>in</strong>dernissen) modellierte Welt nach<br />

speziellen Algorithmen erkundet. Kommunikation wird als vollständig vorausgesetzt,<br />

so dass die <strong>Roboter</strong> stets ihre geschätzte Position kennen. Die Überlegungen werden<br />

auch auf mehrere <strong>Roboter</strong> ausgedehnt, die dabei mit jeweils zwei Track<strong>in</strong>g-Sensoren<br />

ausgestattet s<strong>in</strong>d. Experimente f<strong>in</strong>den sich <strong>in</strong> Rekleitis et al. 1998, wo zwei zyl<strong>in</strong>derförmige<br />

<strong>Roboter</strong> zur Verfügung stehen (siehe Abbildung 2.4 l<strong>in</strong>ks); e<strong>in</strong>er übernimmt<br />

die Rolle als Beobachter, der mittels Kamera e<strong>in</strong> e<strong>in</strong>deutiges Muster auf dem anderen<br />

<strong>Roboter</strong> erkennt, das aufgrund des bekannten Aussehens Rückschlüsse auf die Position<br />

und sogar die Orientierung (jedoch auf lediglich 5 ◦ genau) zulässt. „By mount<strong>in</strong>g the<br />

observ<strong>in</strong>g camera above (or below) the striped pattern of the other robot, the distance<br />

from one robot to the other can be <strong>in</strong>ferred from the height of the stripe pattern <strong>in</strong><br />

the image, due to perspective projection (scal<strong>in</strong>g of the pattern could also be used)“<br />

(Rekleitis et al. 2001). Nach 50 Bewegungen nicht angegebener Länge wurde <strong>in</strong> 100<br />

Tests e<strong>in</strong>e durchschnittliche Positionsabweichung von etwa 5 cm ermittelt.<br />

Die Bewegungsschemata der beschriebenen Beispiele s<strong>in</strong>d <strong>in</strong> Abbildung 2.3 veranschaulicht.<br />

„While the mover–observer approach has proven successful, it slows down overall<br />

speed, and requires the rovers to stay with<strong>in</strong> visible range at all times. Moreover, if no<br />

environmental <strong>in</strong>formation is taken <strong>in</strong>to account, measur<strong>in</strong>g the other robots’ positions<br />

will not resolve the unbounded growth of errors <strong>in</strong>herent to relative localization“<br />

(Trawny 2003, S. 12). Trotz der also nicht zu umgehenden Fehlerakkumulation der<br />

Posenschätzung, birgt re<strong>in</strong> relative Lokalisierung den enormen Vorteil, dass sie pr<strong>in</strong>zipiell<br />

unabhängig jeglicher Beschaffenheiten der Umgebung e<strong>in</strong>setzbar ist. Darüber<br />

h<strong>in</strong>aus vermeiden Strategien, die auf alternierender Bewegung basieren, überhöhte Berechnungsaufwände,<br />

da nicht ständig die geme<strong>in</strong>same Posenverteilung aller <strong>Roboter</strong><br />

aktualisiert werden muss. Daher wird auch das <strong>in</strong> dieser Arbeit unterliegende Konzept<br />

abwechselnde Bewegung als Ausgangspunkt haben, wobei e<strong>in</strong>ige Elemente der <strong>in</strong> diesem<br />

Abschnitt angesprochenen Aspekte kooperativer Lokalisierung <strong>in</strong> abgewandelter Form<br />

auftreten werden. Die Frage nach e<strong>in</strong>er etwaigen E<strong>in</strong>bettbarkeit <strong>in</strong> andere Mechanismen<br />

zur Lokalisierung autonomer mobiler <strong>Roboter</strong>-Teams zwecks Lösung des Problems<br />

akkumulierender Fehler folgt später <strong>in</strong> Kapitel 5.<br />

Untersuchung der Anordnung <strong>in</strong> Formationen<br />

Ehe die Ausgangssituation <strong>für</strong> die im Folgenden angestellten Betrachtungen def<strong>in</strong>iert<br />

wird, sei abschließend e<strong>in</strong> Blick auf bestehende Mechanismen <strong>für</strong> <strong>Roboter</strong>formationen<br />

und deren Analysierbarkeit geworfen. Dies gibt Aufschluss darüber, welche Aspekte bei<br />

der Entwicklung von <strong>Bewegungsstrategien</strong> bedacht werden müssen, damit e<strong>in</strong>e Gruppe<br />

von <strong>Roboter</strong>n sich gleichzeitig vernünftig fortbewegen und lokalisieren kann.


28 2.2 Geme<strong>in</strong>same Bewegung und kooperative Lokalisierung<br />

Teils mathematisch, teils empirisch werden optimale Formationen zur Lokalisierung e<strong>in</strong>es<br />

Teams von <strong>Roboter</strong>n, welche ihre gegenseitige Lage berechnen können, <strong>in</strong> Hidaka<br />

et al. 2005 ermittelt, wo<strong>für</strong> e<strong>in</strong> Qualitätsmaß der Posenschätzungen hergeleitet wird,<br />

das sich <strong>in</strong> Abhängigkeit der relativen Positionen der <strong>Roboter</strong> zue<strong>in</strong>ander betrachten<br />

lässt. Das Maß beruht auf der Verwendung von EKFs, deren Fehler entsprechend durch<br />

Gaußverteilungen modelliert werden, die sich partiell bei steigender Entfernung zwischen<br />

den <strong>Roboter</strong>n stärker auswirken. E<strong>in</strong> genetischer Algorithmus hatte bei bis zu<br />

sechs <strong>Roboter</strong>n stets als Ergebnis, dass Teilmengen aus drei nebene<strong>in</strong>ander bef<strong>in</strong>dlichen<br />

<strong>Roboter</strong>n jeweils <strong>in</strong> e<strong>in</strong>em gleichseitigen Dreieck angeordnet se<strong>in</strong> sollten. Zusätzlich standen<br />

diese immer nahest möglich ane<strong>in</strong>ander.<br />

E<strong>in</strong> grundsätzlich ähnlicher Ansatz wird bei Trawny 2003 verfolgt, wo versucht wird,<br />

<strong>Bewegungsstrategien</strong> bezüglich der M<strong>in</strong>imierung entstehender Unsicherheit der Schätzung<br />

(ebenfalls von EKFs) zu optimieren. Neben diesem werden dort auch die Länge des<br />

zurückzulegenden Wegs, die Dauer der Fortbewegung und die Anzahl notwendiger Messungen<br />

als denkbare Qualitätskriterien genannt. Analysen verschiedener Teamformationen<br />

wie gerade L<strong>in</strong>ien oder erneut gleichseitige Dreiecke haben als Schlussfolgerungen,<br />

dass drei s<strong>in</strong>nvolle Motivationen <strong>für</strong> e<strong>in</strong> bestimmtes Bewegungsverhalten vorliegen können:<br />

Erstens, das Erreichen e<strong>in</strong>er möglichst guten Situation <strong>für</strong> akkurate Sensordaten,<br />

was aber durch die Beschaffenheit der Umgebung oftmals erschwert werde. Zweitens,<br />

die M<strong>in</strong>imierung der Distanz e<strong>in</strong>es <strong>Roboter</strong>s zu e<strong>in</strong>em anderen, dessen Posenschätzung<br />

aktuell nur ger<strong>in</strong>ge Unsicherheit aufweist (hier wird auf die Verfahren abwechselnder Bewegung<br />

h<strong>in</strong>gewiesen), und drittens, e<strong>in</strong>e Gestaltung der Pfadplanung <strong>in</strong> der Weise, dass<br />

Odometriefehler möglichst kle<strong>in</strong> gehalten werden, wobei deren Umsetzung <strong>in</strong> e<strong>in</strong> realistisches<br />

Bewegungsmodell aber e<strong>in</strong> offenes Problem bleibe. Der Umgang mit dynamisch<br />

h<strong>in</strong>zukommendem Teilwissen über unbekannte Umgebungen mache es erforderlich, stets<br />

alle diese Möglichkeiten zu bedenken, weswegen statische Strategien und Formationen<br />

bei der Fortbewegung e<strong>in</strong>es <strong>Roboter</strong>-Teams nicht zu den besten Lokalisierungsergebnissen<br />

führen würden. Stattdessen müsse abhängig von der konkret und aktuell gegebenen<br />

Sachlage entschieden werden, wie sich die bisherige Pfadplanung anpassen lässt, um<br />

entstehende Unsicherheiten bestmöglich abzuwenden. Dies wird <strong>in</strong> empirischen Studien<br />

untermauert, die auf Basis e<strong>in</strong>er dem EKF und der Kooperation angepassten Metrik<br />

<strong>für</strong> die Bewertung der Lokalisierung stattf<strong>in</strong>den.<br />

In Fredslund & Mataric 2002 wird h<strong>in</strong>gegen explizit untersucht, wie sich bestimmte<br />

Formationen mit n <strong>Roboter</strong>n, welche nur lokales Wissen haben, <strong>in</strong>itialisieren und<br />

bei Bewegung, <strong>Roboter</strong>ausfall und H<strong>in</strong>dernisvermeidung aufrechterhalten lassen. Auch<br />

der Wechsel zwischen verschiedenen Formationen ist dabei Thema. Die verwendeten<br />

Algorithmen arbeiten nach dem Grundpr<strong>in</strong>zip, dass jeder <strong>Roboter</strong> sich e<strong>in</strong>zig an e<strong>in</strong>em<br />

Nachbarroboter (dem friend) orientiert, bis auf den conductor, der die Gesamtbewegung<br />

über Kommunikation leitet. Je nach Formation f (z.B. Keil oder Raute) ergibt sich die<br />

aktuelle Ausrichtung e<strong>in</strong>es <strong>Roboter</strong>s nach e<strong>in</strong>fachen Regeln aus der ID des <strong>Roboter</strong>s<br />

und n (f und deren globale Orientierung bestimmen den aktuellen conductor). Durch<br />

die jeweilige Abhängigkeit vom friend entwickeln sich die Formationen bei Fortschreiten<br />

der Gruppe automatisch, ohne dass Wissen über die Orientierung sonstiger <strong>Roboter</strong><br />

besteht. Kritisch angemerkt wird, dass lokale Ungenauigkeiten globale Abweichungen<br />

von der gewünschten Formation hervorrufen können. Außerdem seien scharfe Kurven


2 E<strong>in</strong>satz von <strong>Roboter</strong>-Teams <strong>in</strong> <strong>unbekannten</strong> Umgebungen 29<br />

bezüglich der Formationserhaltung schwer umzusetzen. Messungen wurden mit vier bis<br />

acht 50 cm großen <strong>Roboter</strong>n, die durch Farbmarkierungen e<strong>in</strong>deutig identifizierbar und<br />

mit Kamera und Laser bestückt waren, über e<strong>in</strong>e flache Strecke von 19 m durchgeführt.<br />

Die Erstellung aller getester Formationen benötigte maximal 3 m, wobei die <strong>Roboter</strong><br />

nah beie<strong>in</strong>ander, aber zufällig angeordnet starteten. Bei ungeh<strong>in</strong>derter Bewegung<br />

blieben manche Formationen danach im Durchschnitt weit über 90% der Zeit stabil.<br />

Neuaufbau nach Ausfall e<strong>in</strong>es <strong>Roboter</strong>s (zum Teil auch des conductors) gelang stets <strong>für</strong><br />

alle Formationstypen, während der Formationswechsel nur dort gelegentlich Probleme<br />

machte, wo dies e<strong>in</strong>en conductor-Wechsel bedeutete. Als stabil und <strong>in</strong> jedem Punkt<br />

überdurchschnittlich erwies sich die (ggf. unvollständige) Rautenformation, ansonsten<br />

schnitten <strong>in</strong> die Länge gehende gegenüber <strong>in</strong> die Breite gehenden Formationen überwiegend<br />

besser ab. Alle Experimente be<strong>in</strong>halteten moderate Toleranzbereiche bei den<br />

zulässigen Abstands- und W<strong>in</strong>kelabweichungen.<br />

2.3 Abgrenzung des im vorliegenden Kontext relevanten<br />

Problembereichs<br />

Viele Ansätze zur Lokalisierung und Bewegung e<strong>in</strong>er Gruppe beruhen wie gezeigt darauf,<br />

dass e<strong>in</strong> Modell oder e<strong>in</strong>e Karte der Welt, <strong>in</strong> der sich die <strong>Roboter</strong> aufhalten, vorliegt. Für<br />

den E<strong>in</strong>satz <strong>in</strong> <strong>unbekannten</strong> Umgebungen kommen sie daher nicht <strong>in</strong> Frage, denn die <strong>Roboter</strong><br />

müssen dort Beschaffenheit und Aussehen des Terra<strong>in</strong>s selbst lernen. Häufig wird<br />

auch davon ausgegangen, dass genügend Objekte zur Verfügung stehen, anhand derer<br />

s<strong>in</strong>nvolle Merkmale identifizierbar s<strong>in</strong>d, wie es <strong>in</strong> Bürogebäuden oder Ähnlichem der Fall<br />

se<strong>in</strong> mag. Diese Voraussetzung ist jedoch nicht immer zu gewährleisten; vor allem <strong>in</strong> unstrukturierten<br />

outdoor-Umgebungen mangelt es oft an Vorwissen über Charakteristika<br />

von Landmarken, oder diese s<strong>in</strong>d überhaupt nicht <strong>in</strong> ausreichender Zahl vorhanden. E<strong>in</strong><br />

Beispiel da<strong>für</strong> liefern wüstenartige Oberflächen, die etwa auf anderen Planeten wie dem<br />

Mars denkbar wären. Indoor-Umgebungen bergen e<strong>in</strong>e mögliche Schwierigkeit, die speziell<br />

bei der auf vision basierenden Navigation auftritt, und zwar, dass die Beleuchtung<br />

nicht h<strong>in</strong>reicht, um aussagekräftige Kamerabilder zu erzeugen. Bergwerken, U-Bahn-<br />

Schächten und anderen Tunnelsystemen, die <strong>für</strong> die Benutzung e<strong>in</strong>es <strong>Roboter</strong>-Teams<br />

<strong>in</strong>teressant se<strong>in</strong> können, kann e<strong>in</strong>e solche Problematik unterliegen.<br />

Entsprechend Howard et al. 2003, Kurazume & Hirose 2000a und Weiteren wird<br />

im Rahmen dieser Arbeit dementgegen untersucht, welche Möglichkeiten der Fortbewegung<br />

bei Aufrechterhaltung des Wissens über die eigenen Standorte <strong>für</strong> e<strong>in</strong> Team<br />

<strong>in</strong> <strong>unbekannten</strong>, merkmalsarmen Umgebungen bestehen. Im Grunde wird dabei nur e<strong>in</strong>e<br />

e<strong>in</strong>zige wesentliche Annahme über die Struktur der Welt gemacht, wenngleich diese<br />

zweifellos e<strong>in</strong>e deutliche E<strong>in</strong>schränkung bedeutet: Alle folgenden Untersuchungen beziehen<br />

sich auf flache Umgebungen mit H<strong>in</strong>dernissen, also solche, zu denen sich Karten<br />

<strong>in</strong> zwei Dimensionen beschreiben lassen. Entsprechend lassen sich Oberflächen <strong>in</strong> begehbare<br />

und nicht begehbare Stellen unterteilen. Zu dieser Vere<strong>in</strong>fachung, die sich auch<br />

bei vielen Anderen f<strong>in</strong>den lässt (etwa Krotkov 1989 oder Rekleitis et al. 1997),<br />

sei angemerkt, dass sie hier <strong>in</strong> erster L<strong>in</strong>ie der Handhabbarkeit der noch vorzustellen-


30 2.3 Abgrenzung des im vorliegenden Kontext relevanten Problembereichs<br />

Funkmedium<br />

Feste Kamera<br />

Markierungsr<strong>in</strong>g<br />

Messbarer Antrieb<br />

Abbildung 2.4: (l<strong>in</strong>ks) Zwei partiell zyl<strong>in</strong>derförmige <strong>Roboter</strong>, die bei Rekleitis et al. 1998<br />

<strong>in</strong> Experimenten genutzt wurden. (rechts) Schematische Darstellung der betrachteten <strong>Roboter</strong>;<br />

wenigstens beim Markierungsr<strong>in</strong>g entspricht deren Form e<strong>in</strong>em Zyl<strong>in</strong>der mit Radius r.<br />

den Positionsberechnungen dient. Die <strong>in</strong>sgesamt verfolgten Vorgehensweisen ließen sich<br />

unter Berücksichtigung neuer Fehlerquellen und nötiger Umrechnungen auf beliebige<br />

Umgebungen übertragen (vgl. dazu auch Kapitel 6).<br />

Ausgangspunkt aller Betrachtungen ist das Szenario, <strong>in</strong> dem e<strong>in</strong> <strong>Roboter</strong>-Team beliebiger<br />

(allerd<strong>in</strong>gs nicht schwarmartiger) Größe an e<strong>in</strong>em Punkt <strong>in</strong> der Umgebung, über den<br />

ke<strong>in</strong> Vorwissen besteht, geme<strong>in</strong>sam ausgesetzt wird und von dort aus mit se<strong>in</strong>er Arbeit<br />

beg<strong>in</strong>nen soll. Da weder Modell noch Karte der Welt existieren, steht position track<strong>in</strong>g<br />

gegenüber global self-localization im Vordergrund. Und da die Verwendung von Landmarken<br />

<strong>in</strong> den behandelten Umgebungen schlecht umsetzbar ist, geht es dabei vorerst<br />

ausschließlich um relative und somit nicht um absolute Lokalisierung.<br />

E<strong>in</strong>satz kooperativer <strong>Roboter</strong>, die sich gegenseitig sehen können<br />

Für die Konzepte dieser Arbeit wird ke<strong>in</strong> absolut homogenes <strong>Roboter</strong>-Team benötigt,<br />

jedoch müssen die e<strong>in</strong>zelnen <strong>Roboter</strong> <strong>in</strong> gewissen Aspekten gleichbeschaffen se<strong>in</strong>. Ke<strong>in</strong>e<br />

dieser Voraussetzungen ist allerd<strong>in</strong>gs neu, sie tauchen <strong>in</strong> gleicher oder leicht abgewandelter<br />

Weise <strong>in</strong> bereits angeführten Quellen auf. Die hier verwendete <strong>Roboter</strong>konfiguration<br />

kann darüber h<strong>in</strong>aus (auch im Vergleich zu e<strong>in</strong>igen anderen Arbeiten) als kostengünstig<br />

und e<strong>in</strong>fach deklariert werden. Individuelle ebenso wie e<strong>in</strong>heitliche Erweiterungen der<br />

Ausstattung aller <strong>Roboter</strong> wären ansonsten bei Bedarf jederzeit denkbar.<br />

Die Form der <strong>Roboter</strong> entspreche wie bei Rekleitis et al. 1998 (Abbildung 2.4<br />

l<strong>in</strong>ks) der e<strong>in</strong>es aufgestellten Zyl<strong>in</strong>ders, wenigstens <strong>in</strong> e<strong>in</strong>em bestimmten Abschnitt. Dort<br />

sei der <strong>Roboter</strong> <strong>in</strong> se<strong>in</strong>er ganzen Breite deutlich sichtbar markiert, etwa durch e<strong>in</strong>en<br />

leuchtenden R<strong>in</strong>g, ähnlich wie <strong>in</strong> Kurazume & Hirose 2000a vorgeschlagen. Diese<br />

Stelle def<strong>in</strong>iere den Radius r des <strong>Roboter</strong>s, der bei allen Team-Mitgliedern identisch<br />

sei. Abbildung 2.4 (rechts) zeigt, wie e<strong>in</strong> solcher <strong>Roboter</strong> aussehen könnte. Von der<br />

zyl<strong>in</strong>drischen Form wird bei Entfernungsberechnungen <strong>in</strong> Kapitel 3.2 Gebrauch gemacht<br />

werden. Sie verh<strong>in</strong>dert, dass e<strong>in</strong> <strong>Roboter</strong> am selben Punkt je nach Orientierung trotz<br />

festem Kamerastandort verschieden projiziert wird. Zwar ließe sich die Orientierung<br />

bei geschickter Anbr<strong>in</strong>gung von Markierungen (siehe z.B. Howard et al. 2003) auch


2 E<strong>in</strong>satz von <strong>Roboter</strong>-Teams <strong>in</strong> <strong>unbekannten</strong> Umgebungen 31<br />

aus dem Kamerabild schätzen, dabei entständen aber weitere Ungenauigkeiten und<br />

Schwierigkeiten, um die es hier nicht gehen soll. Vielmehr wird sich mit dem bislang <strong>in</strong><br />

der Form selten behandelten Problem ause<strong>in</strong>andergesetzt, dass weder die Orientierung<br />

anderer <strong>Roboter</strong> erkennbar ist, noch sich verschiedene <strong>Roboter</strong> e<strong>in</strong>deutig vone<strong>in</strong>ander<br />

unterscheiden lassen.<br />

Jeder <strong>Roboter</strong> verfüge über e<strong>in</strong>en Bewegungssensor, mit dem er se<strong>in</strong>e zurückgelegte<br />

Strecke und daraus resultierend se<strong>in</strong>e Pose grob abschätzen kann, beispielsweise durch<br />

Odometrie. Über die Ungenauigkeit zugehöriger Messungen werden bewusst ke<strong>in</strong>e Annahmen<br />

gemacht. Weiter gebe es e<strong>in</strong> bei allen vorhandenes Funkmedium zur Kommunikation.<br />

Aussagen über dessen Bandbreite bleiben unerheblich; die zu versendenden<br />

Nachrichten werden ke<strong>in</strong>e großen Datenmengen be<strong>in</strong>halten und sollten daher bei gängigen<br />

Übertragungsraten nicht zu spürbaren Wartezeiten führen. Kommunikation sei der<br />

E<strong>in</strong>fachheit halber als vollständig angenommen. Wie etwa <strong>in</strong> Howard et al. 2003<br />

gilt aber, dass e<strong>in</strong> Fehlen der Vollständigkeit nicht zwangsläufig problematische Folgen<br />

haben muss. Kapitel 6 wird diesen Umstand später noch e<strong>in</strong>mal aufgreifen.<br />

Schließlich besitze jeder <strong>Roboter</strong> e<strong>in</strong>e fest <strong>in</strong>stallierte, monokulare Digitalkamera, deren<br />

optische Achse parallel zur Oberfläche der Umgebung verlaufe (der <strong>Roboter</strong> „blickt“<br />

also exakt geradeaus) und die <strong>in</strong> die Hauptantriebsrichtung des <strong>Roboter</strong>s ausgerichtet<br />

sei. Diese Richtung bezeichne die Orientierung des <strong>Roboter</strong>s. Auf die Verwendung von<br />

Zoom-Objektiven wird verzichtet, weshalb sich e<strong>in</strong>e Kamera mit fester Brennweite f<br />

(siehe Kapitel 3.1) anbietet, wobei f als bekannt vorausgesetzt wird; „for the fixed focal<br />

length camera [...] this assumption is valid“ (Krotkov 1989, S. 980). Um die Abbildungseigenschaften<br />

der Kamera analytisch nutzen zu können, muss Wissen über deren<br />

Parameter bestehen. Unter E<strong>in</strong>büßung von Genauigkeit ließe sich dies durch experimentelle<br />

Kalibrierungsdaten der Kamera umgehen (vgl. Rekleitis et. al. 2001, S. 13).<br />

Hier sei aber davon ausgegangen, dass die Kameras bezüglich ihrer <strong>in</strong>neren Orientierung<br />

genau kalibriert s<strong>in</strong>d: „Unter Kalibrierung im eigentlichen S<strong>in</strong>ne versteht man die Bestimmung<br />

des Bildhauptpunkts, der Brennweite und weiterer Parameter zum Ausgleich<br />

von L<strong>in</strong>senfehlern“ (S<strong>in</strong>z 2004, S. 3). f ist wie gehabt vorgegeben; der Bildhauptpunkt<br />

liege <strong>in</strong>tuitiverweise <strong>in</strong> allen Untersuchungen <strong>in</strong> der Mitte des Kamerabildes, L<strong>in</strong>senfehler<br />

werden <strong>in</strong> Kapitel 3.1 besprochen. Nebenbei wird weiter auch die Ermittlung der<br />

äußeren Orientierung zur Kalibrierung gezählt, welche die E<strong>in</strong>bettung des Kamera- <strong>in</strong>s<br />

Weltkoord<strong>in</strong>atensystem beschreibt, was hier demnach ke<strong>in</strong>e Rolle spielt.<br />

Damit sei das zugrunde liegende <strong>Roboter</strong>modell h<strong>in</strong>reichend spezifiziert. Weitere Sensoren<br />

wie GPS, Sonaren, Laserscanner oder Kompasse, genauso wie spezielle Reflektoren<br />

seien nicht e<strong>in</strong>gebaut. So konstruierte <strong>Roboter</strong> könnten folgerichtig <strong>in</strong> der Realität ohne<br />

Aufkommen horrender Kosten mehrfach angefertigt werden.<br />

Fokus auf kooperativer Lokalisierung und Bewegung<br />

Innerhalb des SLAM-Kontextes wird es darum gehen, e<strong>in</strong>en neuen Ansatz zur kooperativen<br />

Lokalisierung und Bewegung zu erarbeiten. Dieser geht von abwechselnder Bewegung<br />

aus und zieht expliziten Nutzen aus der Kenntnis über das Aussehen der <strong>Roboter</strong>,<br />

wie es <strong>in</strong> dieser Komb<strong>in</strong>ation nach bestem Wissen bislang außer <strong>in</strong> den genannten Veröffentlichungen<br />

von Ioannis Rekleitis, Gregory Dudek und Evangelos Milios <strong>für</strong> solche


32 2.3 Abgrenzung des im vorliegenden Kontext relevanten Problembereichs<br />

Verfahren nicht tiefergehend gemacht wurde. Auch bei diesen Autoren wird allerd<strong>in</strong>gs<br />

lediglich gesagt, „it is possible to estimate distances between roughly 180 and 450 cm<br />

with the camera configuration used <strong>in</strong> this experiment, although accuracy degrades<br />

with <strong>in</strong>creas<strong>in</strong>g distance“ (Rekleitis et al. 1998, S. 13), während hier mathematische<br />

Fundamente <strong>für</strong> ähnliche Aussagen auf allgeme<strong>in</strong>er Ebene hergeleitet werden. Die<br />

entsprechenden Ergebnisse werden als Ausgangspunkt genommen, um kooperative Strategien<br />

abwechselnder Bewegung zu entwickeln, was <strong>in</strong> Kurazume & Hirose 2000a/b<br />

eher vernachlässigt wird. Dabei besteht die Zielsetzung, dass jede e<strong>in</strong>zelne Neupositionierung<br />

e<strong>in</strong>es <strong>Roboter</strong>s e<strong>in</strong>e Lokalisierungsgenauigkeit nahezu frei zu wählender Güte<br />

zulässt. Dies übertrifft die Methode <strong>in</strong> Navarro-Serment et al. 1999, wo das Bewegungsfeld<br />

nur anhand des Empfangsbereichs der Sensoren def<strong>in</strong>iert wird. Auch werden<br />

Qualitätskriterien der Bewegung <strong>in</strong> Formationen mit <strong>in</strong> die Betrachtungen e<strong>in</strong>bezogen,<br />

wie sie <strong>für</strong> Fredslund & Mataric 2002 exemplarisch umrissen wurden.<br />

Nicht befassen wird sich diese Arbeit h<strong>in</strong>gegen mit Verfahren zur Bildanalyse und der<br />

zugehörigen Extraktion von Merkmalen (also hier den Abbildern von <strong>Roboter</strong>n). Stattdessen<br />

wird angenommen, dass Algorithmen gegeben s<strong>in</strong>d, die die Größe der Projektionen<br />

von <strong>Roboter</strong>n im Pixelbild bestimmen und <strong>in</strong> geeigneten Datenstrukturen speichern.<br />

Auch die Identifizierung aktuell sichtbarer Landmarken mit früher gefundenen ist nicht<br />

von Interesse, weil sie im eigentlichen S<strong>in</strong>n nicht benötigt wird; da es sich bei <strong>Roboter</strong>n<br />

um mobile landmarks handelt, ändert sich natürlich auch deren Position. Folglich muss<br />

nur sichergestellt se<strong>in</strong>, dass erkennbar bleibt, welcher <strong>Roboter</strong> welcher ist. Entsprechend<br />

wird den Mechanismen zur (ggf. kooperativen) Kartenerstellung ke<strong>in</strong>e besondere Aufmerksamkeit<br />

gewidmet. Kapitel 5 beschäftigt sich jedoch unter Anderem damit, welche<br />

Art von Karten <strong>für</strong> die zuvor entwickelten Ansätze s<strong>in</strong>nvoll s<strong>in</strong>d.<br />

Alle behandelten Themen werden ausschließlich vom theoretischen Standpunkt aus angegangen,<br />

da Experimente sowohl auf Simulations- als auch Hardware-Ebene (obgleich<br />

sicherlich zweckdienlich) den Umfang dieser Arbeit übersteigen. Dennoch erlauben die<br />

mathematischen Resultate der Positionsschätzung anhand e<strong>in</strong>zelner Kamerabilder, zum<strong>in</strong>dest<br />

unter den soeben angeführten Annahmen gewisse Aussagen über den praktischen<br />

Nutzen der Konzepte zu treffen. Die Berechnungen von Positionen anderer <strong>Roboter</strong><br />

und deren formale Analyse werden deshalb nun zuerst vorgestellt, ehe dann die<br />

Beschäftigung mit möglichen <strong>Bewegungsstrategien</strong> im Vordergrund steht.


Kapitel 3<br />

Relative Lokalisierung von<br />

<strong>Roboter</strong>n aus Kamerabildern<br />

In diesem Kapitel wird vorgestellt, <strong>in</strong>wieweit sich die Position e<strong>in</strong>es <strong>Roboter</strong>s bekannter<br />

Größe anhand e<strong>in</strong>es e<strong>in</strong>zelnen Kamerabilds bestimmen lässt und welcher Nutzen sich<br />

daraus <strong>für</strong> die Entwicklung kooperativer <strong>Bewegungsstrategien</strong> ergibt.<br />

Zuerst werden da<strong>für</strong> die im vorliegenden Kontext relevanten Eigenschaften der Abbildung<br />

e<strong>in</strong>es Gegenstands auf e<strong>in</strong> Kamerabild vorgestellt, um <strong>in</strong> die <strong>für</strong> die Analyse der<br />

Kamerabilder notwendige projektive Geometrie e<strong>in</strong>zuleiten (Kapitel 3.1). Dann wird<br />

die relative Berechnung der Entfernung und Position e<strong>in</strong>es <strong>Roboter</strong>s aus se<strong>in</strong>er Projektion<br />

vorgestellt (3.2) und anschließend der dabei entstehende maximale Fehler formal<br />

ermittelt (3.3). Nach exemplarischen Betrachtungen der Lokalisierbarkeit von <strong>Roboter</strong>n<br />

verschiedener Lagen zur Kamera (3.4), steht zuletzt die Bestimmung e<strong>in</strong>es Bereichs vor<br />

der Kamera im Mittelpunkt, <strong>in</strong>nerhalb dem die Lokalisierung <strong>in</strong> e<strong>in</strong>er zu wählenden Güte<br />

stattf<strong>in</strong>den kann (3.5). Dieser wird sich als s<strong>in</strong>nvoller Ausgangspunkt <strong>für</strong> die Planung<br />

kollektiver Bewegungsabläufe von <strong>Roboter</strong>gruppen erweisen.<br />

3.1 Grundlagen der Abbildungsoptik digitaler Kameras<br />

Die optischen Grundlagen, die bei der Abbildung der Welt auf e<strong>in</strong> Kamerabild von<br />

Relevanz s<strong>in</strong>d, gehören zum Bereich der geometrischen Optik. Diese beschäftigt sich<br />

mit den geometrischen Eigenschaften der Abbildung durch e<strong>in</strong> optisches System, etwa<br />

e<strong>in</strong>e Kameral<strong>in</strong>se. Hier sei nur e<strong>in</strong> kurzer und stark vere<strong>in</strong>fachter Abriss der unterliegenden<br />

Erkenntnisse gegeben, da sie nicht im Vordergrund der Arbeit stehen und<br />

tiefergehendes Wissen nicht nötig <strong>für</strong> das h<strong>in</strong>terher betrachtete Projektionsverfahren<br />

ist. „In der geometrisch-optischen Theorie der Abbildung denken wir uns das Objekt<br />

aus leuchtenden Punkten aufgebaut. Dabei ist es gleichgültig, ob es sich um direkt ausgestrahltes,<br />

reflektiertes oder gestreutes Licht handelt“ (Haferkorn 1994, S. 159).<br />

Der Wellencharakter des Lichts wird allgeme<strong>in</strong> vernachlässigt, da die mit dem Licht<br />

zusammenspielenden Strukturen, wie L<strong>in</strong>sen und Blenden, die Wellenlängen des Lichts<br />

<strong>in</strong> ihrer Größe enorm übersteigen. Stattdessen wird angenommen, dass das Licht aus<br />

e<strong>in</strong>zelnen Lichtstrahlen besteht, die <strong>in</strong>nerhalb e<strong>in</strong>es e<strong>in</strong>heitlichen Mediums geradl<strong>in</strong>ig<br />

verlaufen (vgl. Mouroulis & Macdonald 1997, S. 15).


34 3.1 Grundlagen der Abbildungsoptik digitaler Kameras<br />

Vom Objektiv zur Lochkamera<br />

Kameraobjektive verwenden heutzutage <strong>in</strong> aller Regel Sammell<strong>in</strong>sen, die zusammen mit<br />

geeigneten Blenden ausreichend Licht e<strong>in</strong>es Ausschnitts der Welt bündeln, um es <strong>in</strong> e<strong>in</strong>em<br />

gewünschten Bildw<strong>in</strong>kel auf e<strong>in</strong>er realen Bildebene Πreal projektiv abzubilden (vgl.<br />

Haferkorn 1994, S. 210). Der Bildw<strong>in</strong>kel def<strong>in</strong>iert implizit, wie groß dieser Ausschnitt<br />

der Welt ist. Während <strong>in</strong> der Standardphotographie normalerweise der diagonale<br />

Bildw<strong>in</strong>kel angegeben wird, wird <strong>für</strong> die Lokalisierung von <strong>Roboter</strong>n der horizontale<br />

Bildw<strong>in</strong>kel η benutzt werden. Es sei darauf h<strong>in</strong>gewiesen, dass bei der Verwendung von<br />

L<strong>in</strong>sensystemen verschiedene Abbildungsfehler, so genannte Aberrationen, auftreten, auf<br />

die hier nicht näher e<strong>in</strong>gegangen wird, da sie mittels optischer Techniken <strong>in</strong> den Griff zu<br />

bekommen s<strong>in</strong>d; „if the aberration is with<strong>in</strong> the Strehl tolerances it is not noticeable“<br />

(Mouroulis & Macdonald 1997, S. 221). Zu beachten ist aber, dass große Bildw<strong>in</strong>kel,<br />

die weit über den Sichtw<strong>in</strong>kel des menschlichen Auges von etwa 45 ◦ h<strong>in</strong>ausgehen,<br />

zu zu starken L<strong>in</strong>senverzerrungen führen können. In dieser Arbeit wird diesbezüglich<br />

grundsätzlich nur e<strong>in</strong>e E<strong>in</strong>schränkung vorgegeben (von der <strong>in</strong> Kapitel 3.5 Gebrauch gemacht<br />

werden wird), nämlich dass der horizontale Bildw<strong>in</strong>kel 90 ◦ nicht überschreitet.<br />

Die wesentlichen Überlegungen im weiteren Verlauf beziehen sich aber implizit auf Bildw<strong>in</strong>kel<br />

von Normalobjektiven, die im Bereich um 50 ◦ liegen, wo Aberrationen vernünftig<br />

auszugleichen s<strong>in</strong>d (vgl. Mouroulis & Macdonald 1997, S. 208 f.).<br />

In der digitalen Photographie, von der hier ausgegangen wird, f<strong>in</strong>det die Abbildung des<br />

e<strong>in</strong>fallenden Lichts nun auf e<strong>in</strong>em Bildsensor statt, der da<strong>für</strong> aus e<strong>in</strong>er Matrix lichtempf<strong>in</strong>dlicher<br />

Fotodioden besteht, deren <strong>für</strong> die Abbildung genutzter Anteil die Bildebene<br />

<strong>in</strong> e<strong>in</strong> rechteckiges Gitter von üblicherweise e<strong>in</strong>igen Millionen Pixeln zerlegt (Russell<br />

& Norvig 2003, S. 865). Für spätere Analysen wird <strong>in</strong>sbesondere die Breite des Bildsensors<br />

w <strong>in</strong> Millimetern (die mit der Breite der Bildebene gleichzusetzen ist) sowie<br />

die horizontale Auflösung m des Sensors <strong>in</strong> Pixeln <strong>in</strong>teressieren, also die Anzahl an Pixel<br />

pro Zeile des Gitters. Die reale Bildebene Πreal liegt dabei selbstredend h<strong>in</strong>ter den<br />

L<strong>in</strong>sen, sie verkörpert e<strong>in</strong>en Ausschnitt aus der realen Projektionsfläche, auf der das<br />

reelle Bild erzeugt wird. Der Abstand zwischen Sammell<strong>in</strong>se (bzw. genauer deren so<br />

genannter Hauptebene) und Bildebene wird als Bildweite fB bezeichnet. Sie resultiert<br />

aus der L<strong>in</strong>sengleichung (auch: Abbildungsgleichung), die sicherstellt, dass e<strong>in</strong> Objekt<br />

scharf abgebildet wird (vgl. Haferkorn 1994, S. 193):<br />

1<br />

fB<br />

= 1<br />

f<br />

+ 1<br />

fG<br />

Hierbei ist fG die Gegenstandsweite, also die Entfernung des abgebildeten Objekts zur<br />

L<strong>in</strong>se. f steht <strong>für</strong> die Brennweite des L<strong>in</strong>sensystems, welche den Abstand e<strong>in</strong>er L<strong>in</strong>se<br />

zu ihrem Brennpunkt angibt, an dem sich parallel zur optischen Achse e<strong>in</strong>fallende<br />

Lichtstrahlen bündeln. Die Herleitung dieser Formel sei hier nicht von Interesse, lediglich<br />

ihre Konsequenzen werden relevant <strong>für</strong> die weiteren Untersuchungen se<strong>in</strong>, denn die<br />

Lokalisierung von <strong>Roboter</strong>n erfordert scharfe Kamerabilder. Es zeigt sich, dass sich <strong>für</strong><br />

e<strong>in</strong>e Entfernung fG, die sehr viel größer als f ist, fB kaum noch von f unterscheidet. So<br />

lässt sich aus der L<strong>in</strong>sengleichung bei e<strong>in</strong>er realistischen Brennweite von f = 6 mm (bei<br />

gleichzeitig beispielsweise w = 4, 8 mm Breite e<strong>in</strong>es handelsüblichen 1/3“-Bildsensors)<br />

<strong>für</strong> e<strong>in</strong>en nur fG = 1000 mm entfernten Gegenstand ableiten, dass die Bildweite <strong>für</strong>


3 Relative Lokalisierung von <strong>Roboter</strong>n aus Kamerabildern 35<br />

maximale Schärfe bei fB = 5, 964 mm ≈ 6 mm = f liegt. Dies bedeutet erst e<strong>in</strong>mal,<br />

dass e<strong>in</strong> unendlich weit entfernter Gegenstand direkt auf Höhe des Brennpunkts<br />

scharf abgebildet wird. Bei Kameras heißt das, dass die Schärfee<strong>in</strong>stellung „∞“ zu e<strong>in</strong>er<br />

Verschiebung der Bildebene auf exakt die Entfernung f zur L<strong>in</strong>se führt.<br />

Unter bestimmten Voraussetzungen beg<strong>in</strong>nt nun der Schärfebereich schon sehr nah am<br />

Objektiv, der Unterschied von Brenn- und Bildweite lässt sich dann vernachlässigen.<br />

Wichtig <strong>für</strong> die Schärfe e<strong>in</strong>er Abbildung ist, dass die bei der Lichtbündelung der L<strong>in</strong>se<br />

entstehenden Zerstreuungskreise e<strong>in</strong>es Objektpunkts auf der Bildebene verschw<strong>in</strong>dend<br />

ger<strong>in</strong>g s<strong>in</strong>d, <strong>für</strong> das menschliche Auge wird hier<strong>für</strong> nach Haferkorn 1994, S. 608 f.<br />

e<strong>in</strong> maximaler Durchmesser D der Kreise von 1<br />

1500<br />

der Bilddiagonale angesetzt. Liegt<br />

e<strong>in</strong>e kle<strong>in</strong>e Brennweite im Vergleich zur Größe der Bildebene vor (der Bildw<strong>in</strong>kel ist<br />

damit groß) und ist die Kamerablende weit geschlossen (gleichbedeutend mit e<strong>in</strong>er hohen<br />

Blendenzahl κ), so beg<strong>in</strong>nt der Bereich der Schärfentiefe bei angemessener Fokussierung<br />

fast unmittelbar vor der L<strong>in</strong>se. Dann wird nämlich die hyperfokale Distanz dhyp, also die<br />

Entfernung, ab der alles als scharf empfunden wird, wegen ihrer Berechnungsvorschrift<br />

sehr ger<strong>in</strong>g (vgl. Mouroulis & Macdonald 1997, S. 101 f.):<br />

dhyp =<br />

f 2<br />

κ · D<br />

Bei f = 6 mm, e<strong>in</strong>er mittleren Blendenzahl κ = 8 und dem Durchmesser D = 0, 004 mm<br />

(der sich bei 6 mm Bilddiagonale von 1/3“-Bildsensoren ergibt), bedeutet das etwa, dass<br />

die Schärfentiefe bei dhyp = 1, 125 m anfängt. In der vorliegenden Arbeit sei von solchen<br />

Umständen ausgegangen. Für alle folgenden Betrachtungen wird daher f = fB def<strong>in</strong>iert<br />

und nur noch als f bezeichnet, was die anstehenden Berechnungen übersichtlicher und<br />

handhabbarer macht. Entsprechend werden die Begriffe „Brennweite“ und „Bildweite“<br />

synonym verwendet. E<strong>in</strong>e solche Festsetzung ist ke<strong>in</strong>eswegs unüblich, nicht umsonst wird<br />

etwa der Bildw<strong>in</strong>kel e<strong>in</strong>er Kamera auf Basis der Brennweite angegeben, der horizontale<br />

Bildw<strong>in</strong>kel ergibt sich entsprechend als η = 2·arctan <br />

w<br />

2f (vgl. Angel 2006, S. 17). Für<br />

die erwähnte E<strong>in</strong>schränkung e<strong>in</strong>es horizontalen Bildw<strong>in</strong>kels von maximal 90◦ resultiert<br />

hieraus die Forderung f ≥ w<br />

2<br />

, wie sich leicht nachrechnen lässt.<br />

Dies alles resultiert dar<strong>in</strong>, dass <strong>für</strong> die Projektion e<strong>in</strong>es <strong>Roboter</strong>s auf e<strong>in</strong> Kamerabild<br />

das Lochkameramodell zugrunde gelegt werden kann, wie es <strong>für</strong> <strong>Roboter</strong> <strong>in</strong> Russell<br />

& Norvig 2003, S. 865 f. vorgeschlagen, <strong>in</strong> mehreren bereits besprochenen Lokalisierungsverfahren<br />

(z.B. Davison et al. 2007, Krotkov 1989) und etwa auch allgeme<strong>in</strong><br />

<strong>in</strong> der Computergrafik (vgl. Angel 2006, S. 16 f.) angewendet wird. Ebenso basieren<br />

die Konzepte der verwandten Photogrammetrie, bei der Entfernungsberechnungen<br />

anhand von Bildern verschiedener Kamerastandorte stattf<strong>in</strong>den, auf diesem Modell.<br />

Abbildung 3.1 (l<strong>in</strong>ks) stellt e<strong>in</strong>e Lochkamera schematisch dar, sie führt zum als perspektivische<br />

Projektion bekannten Bildverarbeitungsprozess: Die Sammell<strong>in</strong>se wird dabei<br />

durch das Loch der Kamera repräsentiert, das dem Projektionszentrum C aller Abbildungen<br />

entspricht und als unendlich kle<strong>in</strong> angenommen wird, womit alle Objektpunkte<br />

stets scharf abgebildet werden. Im Abstand der Brennweite f liegt dah<strong>in</strong>ter die Rückwand<br />

der Lochkamera, die e<strong>in</strong>en Ausschnitt der realen Projektionsfläche mit Breite w<br />

verkörpert. E<strong>in</strong> Objekt wird <strong>in</strong> der Lochkamera bekanntermaßen horizontal und vertikal<br />

spiegelverkehrt projiziert. Diese Umkehrung erweist sich jedoch im Zusammenhang


36 3.1 Grundlagen der Abbildungsoptik digitaler Kameras<br />

w<br />

f<br />

C<br />

cvirt Πreal f<br />

C<br />

f<br />

w<br />

c real<br />

Π=Π virt<br />

Abbildung 3.1: (l<strong>in</strong>ks) Schematische Darstellung des Lochkameramodells. E<strong>in</strong> Objekt wird<br />

durch C spiegelverkehrt auf die im Abstand f dah<strong>in</strong>ter liegende Bildebene Πreal der Breite<br />

w projiziert. (rechts) E<strong>in</strong> Objekt, das spiegelverkehrt als creal auf die reale Bildebene Πreal<br />

projiziert wird, hat die nicht-spiegelverkehrte Projektion cvirt auf der virtuellen Bildebene Πvirt.<br />

mit Kamerabildern als un<strong>in</strong>tuitiv. Um Abhilfe zu leisten, wird im Folgenden stets die<br />

virtuelle Projektionsfläche betrachtet, die sich im selben Abstand f vor dem Projektionszentrum<br />

bef<strong>in</strong>det (vgl. Abbildung 3.1 rechts): E<strong>in</strong>e spiegelverkehrte Projektion creal<br />

auf der realen Bildebene Πreal der realen Projektionsfläche, liegt nämlich auf der dortigen<br />

virtuellen Bildebene Πvirt als cvirt nicht-spiegelverkehrt vor. Auf diese Weise kann<br />

die Bildebene direkt mit dem resultierenden Kamerabild identifiziert werden, weswegen<br />

Πvirt von hier an als Grundlage dient und abkürzend als Bildebene Π def<strong>in</strong>iert sei.<br />

Reduktion der Problemstellung auf die Breite von Projektionen<br />

Mit dem Vorwissen, dass e<strong>in</strong> zu lokalisierender Gegenstand e<strong>in</strong>e bestimmte Größe und<br />

Form hat, entsteht die Möglichkeit, aus e<strong>in</strong>em Kamerabild auf die räumliche Lage des<br />

Gegenstands und <strong>in</strong>sbesondere dessen Entfernung rückschließen zu können. Wie <strong>in</strong> Kapitel<br />

2.3 beschrieben, habe jeder <strong>Roboter</strong> e<strong>in</strong>e zyl<strong>in</strong>drische Form mit festem Radius r.<br />

Da von e<strong>in</strong>er Umgebung mit flacher Oberfläche ausgegangen wird, s<strong>in</strong>d der lokalisierende<br />

<strong>Roboter</strong> Rloc und e<strong>in</strong> zu lokalisierender <strong>Roboter</strong> Rproj vertikal gleich ausgerichtet,<br />

das heißt, beide haben dieselbe Lotrichtung. Nun ist weiterh<strong>in</strong> vorgegeben, dass die von<br />

der Kamera aus sichtbare Breite e<strong>in</strong>es <strong>Roboter</strong>s (im Folgenden Frontseite genannt) <strong>in</strong><br />

vollem Ausmaß erkennbar sei, sofern er nicht von e<strong>in</strong>em davor liegenden Objekt partiell<br />

verdeckt wird. Außerdem verläuft die optische Achse der Kamera von Rloc parallel<br />

zur Oberfläche der Umgebung. Die Frontseite wird daher als Rechteck auf die Bildebene<br />

projiziert, was <strong>in</strong> Abbildung 3.2 illustriert ist. E<strong>in</strong> solches Rechteck wird dazu<br />

dienlich se<strong>in</strong>, die räumliche Lage von Rproj zu bestimmen, was machbar ist, wenn die<br />

Abbildungsparameter der Kamera bekannt s<strong>in</strong>d. Es wird sich dabei hier und <strong>in</strong> allen<br />

untenstehenden Analysen und Verfahren auf die Breite des Rechtecks beschränkt werden.<br />

Dies erlaubt, e<strong>in</strong>e vorliegende Projektionssituation <strong>in</strong> nur noch zwei Dimensionen<br />

zu betrachten. Abbildung 3.3 veranschaulicht, welche Problemstellung sich aus dieser<br />

Π real


3 Relative Lokalisierung von <strong>Roboter</strong>n aus Kamerabildern 37<br />

<strong>Roboter</strong> 2<br />

<strong>Roboter</strong> 1<br />

Kamerabild Sichtfeld<br />

Abbildung 3.2: (l<strong>in</strong>ks) Schematisches Kamerabild, auf dem zwei gleich große <strong>Roboter</strong> <strong>in</strong><br />

verschiedener Entfernung von der Kamera zu sehen s<strong>in</strong>d. Die Kamera bef<strong>in</strong>det sich auf halber<br />

Höhe der beiden <strong>Roboter</strong>. (rechts) Zweidimensionale zum Kamerabild passende Darstellung,<br />

die die räumliche Lage der <strong>Roboter</strong> im Bildw<strong>in</strong>kel der Kamera von oben zeigt.<br />

Methode ergibt: Der <strong>Roboter</strong> Rproj bef<strong>in</strong>det sich hier <strong>in</strong> se<strong>in</strong>en horizontalen Ausmaßen<br />

von L über den Mittelpunkt M bis R, also e<strong>in</strong>em Durchmesser von 2r, l<strong>in</strong>ks vor der<br />

Kamera. Se<strong>in</strong> sichtbarer Anteil reicht von LF bis RF und wird auf e<strong>in</strong>e Fläche der Breite<br />

c auf die Bildebene Π projiziert. Diese Projektion c mit ebenso benannter Breite ist perspektivisch<br />

verzerrt, so läge etwa der Schnittpunkt der durch das Projektionszentrum<br />

C und den Mittelpunkt M des <strong>Roboter</strong>s def<strong>in</strong>ierten Gerade nicht auf dem Mittelpunkt<br />

von c. Aus der Breite von c wird sich die räumliche Lage und daher auch die Entfernung<br />

von M relativ zu C errechnen lassen, was Inhalt des nächsten Teilkapitels ist.<br />

Der Raum, <strong>in</strong> dem die Lage der <strong>Roboter</strong> zue<strong>in</strong>ander berechnet werden soll, wird dabei<br />

durch e<strong>in</strong> zweidimensionales, kartesisches Koord<strong>in</strong>atensystem modelliert, dessen Koord<strong>in</strong>aten<br />

vorerst relativ zum lokalisierenden <strong>Roboter</strong> Rloc <strong>in</strong> der Form (x | y) angegeben<br />

werden. Das Projektionszentrum C der Kamera von Rloc liegt auf der y-Achse und zeigt<br />

<strong>in</strong> deren positive Richtung, somit entspricht die y-Achse ab C der Hauptprojektionsachse<br />

jeder Abbildung. Die x-Achse verläuft folgerichtig parallel zur Bildebene Π, wie aus<br />

Abbildung 3.3 ersichtlich wird, und zwar zur Vere<strong>in</strong>fachung e<strong>in</strong>iger, noch anstehender<br />

Berechnungen durch C, womit C = (0 | 0) den Ursprung des Koord<strong>in</strong>atensystems beschreibt.<br />

Für die Lage e<strong>in</strong>es <strong>Roboter</strong>s Rproj heißt das, dass alles von ihm, was sich l<strong>in</strong>ks<br />

der Hauptprojektionsachse bef<strong>in</strong>det, auf den Bereich negativer x-Koord<strong>in</strong>aten projiziert<br />

wird, alle Teile rechts der Achse h<strong>in</strong>gegen auf den positiven Bereich. Es sei angemerkt,<br />

dass die Größenverhältnisse (vor allem das von <strong>Roboter</strong> und Bildebene sowie das von<br />

Bildebene und Bildweite) <strong>in</strong> Abbildung 3.3 lediglich Illustrationszwecken dienen und<br />

bewusst ke<strong>in</strong>eswegs realen Maßstäben gerecht werden sollen.<br />

Bei der Projektion der Frontseite von Rproj auf Π bezeichnen die Randpunkte A und<br />

B der Projektion c die Schnittpunkte von Π mit den Projektionsl<strong>in</strong>ien, die durch das<br />

Projektionszentrum C und den am weitesten l<strong>in</strong>ks sichtbaren Punkt LF bzw. durch C<br />

und den am weitesten rechts sichtbaren Punkt RF der Frontseite def<strong>in</strong>iert s<strong>in</strong>d. Zu A<br />

und B gehören die Randkoord<strong>in</strong>aten (xA | yA) und (xB | yB), deren x-Koord<strong>in</strong>aten sich<br />

aus dem Verhältnis zwischen Bildsensor-Breite und horizontaler Auflösung ableiten las-


38 3.1 Grundlagen der Abbildungsoptik digitaler Kameras<br />

r M r<br />

L R<br />

L F<br />

Rproj<br />

A<br />

c<br />

R F<br />

w<br />

B<br />

y<br />

•<br />

f<br />

η_<br />

2<br />

Abbildung 3.3: Abbildung e<strong>in</strong>es <strong>Roboter</strong>s mit Radius r und Mittelpunkt M auf e<strong>in</strong>en Teil<br />

der Bildebene Π mit Breite c. w bezeichnet die Breite von Π, f die Bildweite zwischen Π und<br />

Projektionszentrum C. Deren Verhältnis bestimmt den horizontalen Bildw<strong>in</strong>kel η.<br />

sen und deren y-Koord<strong>in</strong>aten die der Bildebene s<strong>in</strong>d. Bei der tatsächlichen Projektion<br />

auf e<strong>in</strong>en Bildsensor werden nun bei A und B zwei Randpixel pi und pj getroffen. Die<br />

Pixel der Bildebene seien hierbei horizontal nummeriert von 0 bis m − 1. p bezeichne<br />

außerdem die e<strong>in</strong>heitliche Breite e<strong>in</strong>es Pixels, es gilt also p = w<br />

m . Die Höhe e<strong>in</strong>es Pixels<br />

ist im vorliegenden Kontext irrelevant und sei daher als 0 (und somit als nicht vorhanden)<br />

festgesetzt. Mit den Koord<strong>in</strong>aten xA und xB wird dazu passend stets der l<strong>in</strong>ke<br />

Randpunkt der Pixel pi und pj angesprochen.<br />

Konsequenzen des Pixelaufbaus e<strong>in</strong>es digitalen Kamerabilds<br />

E<strong>in</strong>e entscheidende Erkenntnis besteht dar<strong>in</strong>, dass aus den <strong>in</strong> der Praxis ermittelbaren<br />

Ausprägungen e<strong>in</strong>er Projektion c nicht deren exakte Lage auf der Bildebene erkennbar<br />

ist; die e<strong>in</strong>zigen Anhaltspunkte ergeben sich aus den zugehörigen Randpixeln pi und pj<br />

mit den Randkoord<strong>in</strong>aten (xA | f) und (xB | f). Es sei nun und im Folgenden c die<br />

tatsächliche (und unbekannte) Projektion. Dann gehören zu c im breitest möglichen Fall<br />

die Randpunkte Am<strong>in</strong> = (xA | f) und Bm<strong>in</strong> = (xB + p | f). Bei solch e<strong>in</strong>er Projektion<br />

cm<strong>in</strong> hat der abgebildete <strong>Roboter</strong> Rproj offensichtlich die m<strong>in</strong>imal mögliche Entfernung<br />

dm<strong>in</strong> vom Projektionszentrum C. Umgekehrt verkörpert cmax mit Amax = (xA + p | f)<br />

und Bmax = (xB | f) die Projektion, bei der die maximal mögliche Entfernung dmax<br />

vorliegt. Die Indizes m<strong>in</strong> und max werden <strong>in</strong> dieser Arbeit durchweg entsprechend der<br />

Entfernung, die die <strong>in</strong>dizierten Werte repräsentieren, verwendet, auch wenn es sich etwa<br />

um aus den Projektionen hervorgehende W<strong>in</strong>kel oder ähnliches handelt. Aus cleft mit<br />

Aleft = (xA | f) und Bleft = (xB | f) und cright mit Aright = (xA + p | f) und<br />

Bright = (xB + p | f) gehen weiter die weitest l<strong>in</strong>ks bzw. weitest rechts mögliche Lage<br />

von Rproj hervor, wo<strong>für</strong> die Indizes left und right ab hier fortan stehen werden.<br />

C<br />

Π<br />

x


3 Relative Lokalisierung von <strong>Roboter</strong>n aus Kamerabildern 39<br />

Um jetzt anhand e<strong>in</strong>er Projektion c die Entfernung und Position des Mittelpunkts e<strong>in</strong>es<br />

<strong>Roboter</strong>s bestimmen zu können, muss entschieden werden, <strong>in</strong> welcher Weise die Randpixel<br />

von c <strong>in</strong>terpretiert werden; jeder Zwischenwert zwischen cm<strong>in</strong> und cmax ebenso wie<br />

zwischen cleft und cright wirkt <strong>in</strong>tuitiv gesehen gleichwahrsche<strong>in</strong>lich. Würde jeweils e<strong>in</strong>er<br />

der Grenzfälle angenommen werden, so ließe dies e<strong>in</strong>en Spielraum von bis zu zwei Pixeln<br />

Unterschied zu, denn während etwa cm<strong>in</strong> e<strong>in</strong>e Breite von (xB + p) − xA = (xB − xA) + p<br />

hat, ist Selbige bei cmax nur xB − (xA + p) = (xB − xA) − p. Werden stattdessen die<br />

Mittelpunkte der Pixel gewählt, weichen die beiden realen Randpunkte um maximal je<br />

e<strong>in</strong>en halben Pixel und damit die <strong>in</strong>sgesamt vermutete Projektion um höchstens e<strong>in</strong>en<br />

Pixel ab. Ansche<strong>in</strong>end lässt sich so die maximale Abweichung zwischen vermuteter und<br />

realer Projektionsbreite m<strong>in</strong>imieren, weswegen dies das <strong>für</strong> alle Betrachtungen herangezogene<br />

Verfahren sei: Seien pi und pj die Randpixel e<strong>in</strong>er Projektion c. Dann bezeichne<br />

csupp die vermutete Projektion und ebenso deren Breite. Die Randkoord<strong>in</strong>aten dieser<br />

Projektion werden entsprechend als Asupp = (xA + p<br />

2 | f) und Bsupp = (xB + p<br />

2<br />

vermutet und e<strong>in</strong> auf c projizierter <strong>Roboter</strong> habe die vermutete Entfernung dsupp.<br />

Diese Def<strong>in</strong>ition hat die Konsequenz, dass die Projektion von Rproj <strong>für</strong> die auf ihre Genauigkeit<br />

h<strong>in</strong> analysierbare Lokalisierung m<strong>in</strong>destens drei Pixel umfassen muss. Dann<br />

ist zwar die Breite der vermuteten Projektion noch csupp = 2p, diejenige aber, welche die<br />

maximal mögliche Entfernung von Rproj zu C repräsentiert, nur cmax = p, was wegen<br />

der Schrittweite p vorausgesetzt werden muss, um mittels Abbildungsgeometrie auf e<strong>in</strong>e<br />

Entfernung schließen zu können. Die dabei relevanten Berechnungen folgen im nächsten<br />

Teilkapitel. Darüber h<strong>in</strong>aus erweist sich e<strong>in</strong>e weitere Forderung an e<strong>in</strong>e Projektion c<br />

<strong>für</strong> die Lokalisierbarkeit des projizierten <strong>Roboter</strong>s als obligatorisch: Da die Randpunkte<br />

von c <strong>für</strong> die Ermittlung der Entfernung bekannt se<strong>in</strong> müssen, dürfen diese nicht auf die<br />

Randpunkte der Bildebene Π fallen oder gar die Ränder überschreiten. Das heißt, die<br />

Projektion darf die beiden Pixel p0 und pm−1 nicht umfassen, muss sich also vielmehr<br />

auf e<strong>in</strong>e Teilmenge der Pixel p1, ..., pm−2 beschränken.<br />

3.2 Berechnung der relativen Position e<strong>in</strong>es <strong>Roboter</strong>s aus<br />

se<strong>in</strong>er Projektion<br />

Es wird nun konstruktiv hergeleitet, wie sich aus den Randpunkten e<strong>in</strong>er Projektion<br />

bei gegebenen Kamera-Parametern die relative Lage e<strong>in</strong>es projizierten <strong>Roboter</strong>s Rproj<br />

bekannter Größe zum Projektionszentrum C = (0 | 0) e<strong>in</strong>er wie oben def<strong>in</strong>ierten Kamera<br />

des lokalisierenden <strong>Roboter</strong>s Rloc ermitteln lässt.<br />

Ermittlung der Entfernung e<strong>in</strong>es projizierten <strong>Roboter</strong>s<br />

Sei der Fall betrachtet, dass e<strong>in</strong>e Projektion c von Rproj mit festem Radius r gegeben<br />

ist. c umfasse die Pixel pi bis pj mit i < j. Für den Moment sei angenommen, dass die<br />

genauen Stellen i + εi und j + εj mit 0 ≤ εi, εj ≤ 1, an denen die Projektion auf den<br />

Pixeln ihre Randpunkte hat, bekannt s<strong>in</strong>d. Dann lässt sich die Entfernung d des Mittelpunkts<br />

M von Rproj zu C ebenso wie die daraus resultierenden Koord<strong>in</strong>aten von M wie<br />

| f)


40 3.2 Berechnung der relativen Position e<strong>in</strong>es <strong>Roboter</strong>s aus se<strong>in</strong>er Projektion<br />

•<br />

r M r<br />

L R<br />

d M<br />

δ<br />

δ<br />

r δʼ<br />

r<br />

L F r F M r<br />

F F<br />

R F<br />

d F<br />

A<br />

B<br />

α c β<br />

b<br />

d = d + d<br />

F M<br />

Abbildung 3.4: Geometrische Ermittlung der Entfernung d zwischen Projektionszentrum C<br />

und dem Mittelpunkt M e<strong>in</strong>es auf die Strecke c = AB projizierten <strong>Roboter</strong>s mit Radius r.<br />

im Folgenden beschrieben berechnen. Für die später betrachteten möglichen Fälle e<strong>in</strong>er<br />

realen Projektion werden die E<strong>in</strong>gangswerte i + εi und j + εj ersetzt durch die passenden,<br />

im vorangegangenen Teilkapitel e<strong>in</strong>geführten Werte, so etwa bei der vermuteten<br />

Projektion i + 1<br />

2<br />

und j + 1<br />

2<br />

180°<br />

-β<br />

a<br />

γ<br />

•<br />

f<br />

. Zur Veranschaulichung der e<strong>in</strong>zelnen Schritte ist e<strong>in</strong>e ex-<br />

emplarische Projektion e<strong>in</strong>es <strong>Roboter</strong>s auf die Bildebene <strong>in</strong> Abbildung 3.4 schematisch<br />

dargestellt, deren bislang noch nicht erklärten Aspekte an geeigneter Stelle aufgegriffen<br />

werden. E<strong>in</strong> Beispiel wird die Berechnungsvorschrift anschließend illustrieren.<br />

Zu Beg<strong>in</strong>n werden die Randkoord<strong>in</strong>aten A = (xA | yA) und B = (xB | yB) der Projektion<br />

c, die aus den Pixeln i und j resultieren, benötigt. Sie def<strong>in</strong>ieren implizit auch<br />

die Breite von c und lassen sich anhand der E<strong>in</strong>gangswerte des Bildsensors (Breite w <strong>in</strong><br />

Millimetern und horizontale Auflösung m <strong>in</strong> Pixeln) errechnen:<br />

<br />

(i<br />

A = + εi) − m<br />

<br />

w<br />

<br />

<br />

· <br />

2 m f<br />

<br />

(j<br />

, B = + εj) − m<br />

<br />

w<br />

<br />

<br />

· <br />

2 m f<br />

<br />

Zu beachten ist hierbei, dass jeweils m<br />

2<br />

C<br />

vom E<strong>in</strong>gangswert des Pixels abgezogen werden<br />

muss, da die x-Koord<strong>in</strong>ate <strong>in</strong> der Mitte der Bildebene 0 ist. S<strong>in</strong>d die Koord<strong>in</strong>aten von<br />

A, B und C bekannt, können die Längen der verbleibenden Seiten des durch die Punkte<br />

def<strong>in</strong>ierten Dreiecks nach Pythagoras ermittelt werden:<br />

a = xB 2 + f 2 , b = xA 2 + f 2<br />

Die Vorgabe, dass das Projektionszentrum C = (0 | 0) ist, vere<strong>in</strong>facht an dieser Stelle<br />

Π


3 Relative Lokalisierung von <strong>Roboter</strong>n aus Kamerabildern 41<br />

A<br />

B<br />

α c β<br />

b<br />

180°<br />

-β<br />

a<br />

γ<br />

•<br />

f<br />

C<br />

Π<br />

Abbildung 3.5: Die Berechnung von α und β über den S<strong>in</strong>us der Seiten f und b bzw. f und<br />

a hängt von der Lage der Projektion c zur Hauptprojektionsachse ab.<br />

die Berechnung. Es wird aus Gründen der Übersichtlichkeit darauf verzichtet, die oben<br />

angegebenen Formeln <strong>für</strong> die x-Koord<strong>in</strong>aten xA und xB von A und B e<strong>in</strong>zusetzen.<br />

Für die Berechnung der Entfernung des projizierten <strong>Roboter</strong>s Rproj muss der W<strong>in</strong>kel δ,<br />

der zwischen der Frontseite von Rproj und den beiden Projektionsl<strong>in</strong>ien an den Punkten<br />

LF und RF besteht, bekannt se<strong>in</strong> (vgl. Abbildung 3.4). Dieser kann aus den E<strong>in</strong>fallsw<strong>in</strong>keln<br />

α und β zwischen c und b bzw. c und a berechnet werden, wo<strong>für</strong> durch den<br />

S<strong>in</strong>us beschriebene Seitenverhältnisse ausgenutzt werden. Dazu muss jeweils <strong>für</strong> α und<br />

β e<strong>in</strong>e Fallunterscheidung getroffen werden, wo c bezüglich der Hauptprojektionsachse<br />

liegt, was aus Abbildung 3.5 ersichtlich wird.<br />

α =<br />

arcs<strong>in</strong>( f<br />

b ) <strong>für</strong> xA < 0<br />

180 ◦ − arcs<strong>in</strong>( f<br />

b ) <strong>für</strong> xA ≥ 0<br />

, β =<br />

•<br />

f<br />

180°<br />

-α<br />

γ<br />

C<br />

b<br />

A<br />

α<br />

c<br />

a<br />

180 ◦ − arcs<strong>in</strong>( f<br />

a ) <strong>für</strong> xB ≤ 0<br />

arcs<strong>in</strong>( f<br />

a ) <strong>für</strong> xB > 0<br />

Daraus ergibt sich wegen der Innenw<strong>in</strong>kelsumme e<strong>in</strong>es Dreiecks der c gegenüberliegende<br />

W<strong>in</strong>kel γ = 180 ◦ − α − β. Da Rproj von zyl<strong>in</strong>drischer Form ist, kann gefolgert werden,<br />

dass der erwähnte W<strong>in</strong>kel δ an beiden Rändern von Rproj gleich groß ist, weswegen er<br />

wiederum aus der Innenw<strong>in</strong>kelsumme resultiert:<br />

δ = 180◦ − γ<br />

2<br />

= 180◦ − (180 ◦ − α − β)<br />

2<br />

= α + β<br />

2<br />

Gesucht ist die Entfernung zum Mittelpunkt von Rproj, aber wie erwähnt s<strong>in</strong>d vom<br />

Kamerastandort aus nicht dessen breiteste Ausmaße sichtbar, wie Abbildung 3.4 verdeutlicht:<br />

Die Projektionsl<strong>in</strong>ien führen von den Punkten LF und RF zu C, die breiteste<br />

Stelle wird aber durch die zu LF RF parallele Strecke LR beschrieben, auf der offensichtlich<br />

auch M liegt. Vorerst ist aber die Länge rF der Strecke LF MF wichtig. Zusammen<br />

mit MF M und LF M bildet sie e<strong>in</strong> rechtw<strong>in</strong>kliges Dreieck, wobei dessen Hypothenuse<br />

den Radius r des <strong>Roboter</strong>s beschreibt. LF M verläuft nun senkrecht zur Projektionsl<strong>in</strong>ie<br />

LF C, denn Letztere ist e<strong>in</strong>e Tangente von Rproj. Weiterh<strong>in</strong> besteht zwischen LF C und<br />

LF MF der W<strong>in</strong>kel δ, also muss der W<strong>in</strong>kel zwischen LF MF und LF M die Größe 90◦ −δ<br />

haben. Da das besprochene Dreieck rechtw<strong>in</strong>klig ist, folgt <strong>für</strong> den W<strong>in</strong>kel δ ′ zwischen<br />

LF M und MF M nach Innenw<strong>in</strong>kelsumme, dass auch er δ ′ = 180◦ − (90◦ − δ) − 90◦ = δ<br />

groß ist. δ ist bekannt, weswegen rF berechnet werden kann:<br />

s<strong>in</strong>(δ) = rF<br />

r ⇒ rF = s<strong>in</strong>(δ) · r = s<strong>in</strong><br />

α + β<br />

2<br />

<br />

· r<br />

β<br />

B<br />

Π


42 3.2 Berechnung der relativen Position e<strong>in</strong>es <strong>Roboter</strong>s aus se<strong>in</strong>er Projektion<br />

Die Entfernung d des Mittelpunkts M zu C lässt sich nun als d = dF + dM <strong>in</strong> zwei<br />

Schritten berechnen. dF ergibt sich über den Tangens aus dem rechtw<strong>in</strong>kligen Dreieck,<br />

das durch C, MF und LF beschrieben wird (vgl. Abbildung 3.4):<br />

<br />

α + β<br />

<br />

α + β<br />

<br />

dF = tan(δ) · rF = tan · s<strong>in</strong> · r<br />

2<br />

2<br />

dM ist h<strong>in</strong>gegen über den Cos<strong>in</strong>us des W<strong>in</strong>kels δ und die Länge r der Seite LF M des<br />

gleichermaßen rechtw<strong>in</strong>kligen Dreiecks mit den Eckpunkten M, LF und F herleitbar:<br />

Damit folgt <strong>für</strong> die Entfernung d:<br />

d =<br />

tan= s<strong>in</strong><br />

cos<br />

=<br />

=<br />

<br />

α + β<br />

<br />

dM = cos(δ) · r = cos · r<br />

2<br />

<br />

α + β<br />

<br />

α + β<br />

<br />

tan · s<strong>in</strong> · r<br />

2<br />

2<br />

+ <br />

α + β<br />

<br />

cos · r<br />

2<br />

<br />

α+β <br />

s<strong>in</strong> 2<br />

cos <br />

α + β<br />

<br />

α + β<br />

<br />

α+β · s<strong>in</strong> + cos<br />

2<br />

2<br />

2<br />

<br />

· r<br />

<br />

2 s<strong>in</strong> α+β <br />

2<br />

cos α+β +<br />

2<br />

cos2 α+β <br />

2<br />

cos <br />

α+β · r<br />

2<br />

Nun gilt wie <strong>in</strong> Pohlmann 1996, S. 16 beschrieben, dass s<strong>in</strong> 2 (x) + cos 2 (x) = 1 ist,<br />

weswegen d f<strong>in</strong>al umgeformt werden kann:<br />

r<br />

d =<br />

cos α+β <br />

2<br />

Von der Entfernung über den Projektionsw<strong>in</strong>kel zur Position<br />

Wenn die Entfernung d bekannt ist, kann M bestimmt werden. Dazu wird der Projektionsw<strong>in</strong>kel<br />

ϕ zwischen der Hauptprojektionsachse und der Strecke CM benötigt.<br />

Auf den ersten Blick wirkt es so, als müssten die <strong>in</strong> Abbildung 3.6 dargestellten Fälle<br />

(1)−(3) unterschieden werden, sofern α ≤ β, und symmetrische, nicht aufgeführte Fälle<br />

(1) ′ − (3) ′ bei α > β. Es wird sich aber zeigen, dass <strong>für</strong> diese <strong>in</strong>sgesamt sechs Möglichkeiten<br />

e<strong>in</strong>e e<strong>in</strong>heitliche Berechnungsvorschrift <strong>für</strong> ϕ existiert. Angemerkt sei, dass der<br />

triviale Fall, <strong>in</strong> dem α = β und somit ϕ = 0 ◦ gilt, <strong>in</strong> Fall (3) mit <strong>in</strong>begriffen ist.<br />

Bei Fall (1) − (3) liegt nun M jeweils im negativen Bereich der x-Achse. In Fall (1)<br />

bef<strong>in</strong>det sich c ebenfalls komplett <strong>in</strong> diesem Bereich, während c <strong>in</strong> Fall (2) bis zur<br />

Hauptprojektionsachse reicht und <strong>in</strong> Fall (3) auch <strong>in</strong> den positiven Bereich ragt. Bei Fall<br />

(1) ′ − (3) ′ liegt die entsprechende Situation <strong>für</strong> den positiven Bereich der x-Achse vor.<br />

Die Unterschiede drücken sich <strong>in</strong> jeweils verschiedenen Größen und Verhältnissen der<br />

E<strong>in</strong>fallsw<strong>in</strong>kel α und β aus, wie unten aufgeführt ist. Der Projektionsw<strong>in</strong>kel ϕ setzt sich<br />

und ψ zusammen,<br />

<strong>in</strong> allen Fällen jeweils aus e<strong>in</strong>er Komb<strong>in</strong>ation der W<strong>in</strong>kel γ<br />

2<br />

= 180−α−β<br />

2


3 Relative Lokalisierung von <strong>Roboter</strong>n aus Kamerabildern 43<br />

M<br />

α<br />

x M<br />

•<br />

β α<br />

β<br />

α<br />

β<br />

γ_<br />

2<br />

ψ<br />

φ<br />

•<br />

y M<br />

M<br />

M<br />

γ_<br />

2<br />

x M<br />

•<br />

•<br />

y M<br />

φ ψ<br />

(1) (2)<br />

(3)<br />

C C C<br />

Abbildung 3.6: Drei Fälle <strong>für</strong> α ≤ β bei der Berechnung des Projektionsw<strong>in</strong>kels ϕ, der die<br />

relative Lage des <strong>Roboter</strong>s zum Projektionszentrum beschreibt. Die Fälle <strong>für</strong> α > β verhalten<br />

sich symmetrisch. Jeweils ergibt sich die Berechnungsvorschrift ϕ = |α−β|<br />

2 .<br />

wobei <strong>in</strong> Fall (2) ψ = 0 gilt. Die Berechnung <strong>für</strong> ψ anhand der Dreieck<strong>in</strong>nenw<strong>in</strong>kelsumme<br />

verläuft aber entsprechend Abbildung 3.6 verschieden:<br />

⎧<br />

180◦ − (180◦ − β) − 90◦ = β − 90◦ falls α < β, β > 90◦ (1)<br />

180<br />

⎪⎨<br />

ψ =<br />

◦ − (180◦ − α) − 90◦ = α − 90◦ falls α > β, α > 90◦ (1)’<br />

180<br />

⎪⎩<br />

◦ − β − 90◦ = 90◦ − β falls α < β, β < 90◦ (3)<br />

180◦ − α − 90◦ = 90◦ − α falls α > β, α < 90◦ (3)’<br />

Damit folgt <strong>für</strong> ϕ:<br />

⎧<br />

⎪⎨<br />

ϕ =<br />

⎪⎩<br />

x M<br />

0 falls β = 90 ◦ (2) oder α = 90 ◦ (2)’<br />

γ<br />

2<br />

+ ψ = 180−α−β<br />

2<br />

− 2β−180◦<br />

2<br />

γ 180−α−β<br />

2 + ψ = 2 − 2α−180◦<br />

2<br />

γ<br />

2 = 180◦−α−β 2<br />

γ<br />

2 = 180◦−α−β 2<br />

γ<br />

2<br />

γ<br />

2<br />

− ψ = 180−α−β<br />

2<br />

− ψ = 180−α−β<br />

2<br />

= 180◦ −α−90 ◦<br />

2<br />

= 180◦ −90 ◦ −β<br />

2<br />

− 180◦ −2β<br />

2<br />

− 180◦ −2α<br />

2<br />

= β−α<br />

2<br />

= α−β<br />

2<br />

= 90◦ −α<br />

2<br />

= 90◦ −β<br />

2<br />

= β−α<br />

2<br />

= α−β<br />

2<br />

•<br />

φ<br />

γ_<br />

2<br />

γ_<br />

2<br />

•<br />

y M<br />

β−α<br />

= 2<br />

α−β<br />

= 2<br />

γ_<br />

2<br />

γ_<br />

2<br />

falls α < β, β > 90 ◦ (1)<br />

falls α > β, α > 90 ◦ (1)’<br />

falls β = 90 ◦ (2)<br />

falls α = 90 ◦ (2)’<br />

falls α < β, β < 90 ◦ (3)<br />

falls α > β, α < 90 ◦ (3)’<br />

Wie bereits angekündigt, kann ϕ damit e<strong>in</strong>heitlich berechnet werden durch:<br />

ϕ =<br />

|α − β|<br />

2<br />

Zwar ist <strong>für</strong> e<strong>in</strong>en Dreiecksw<strong>in</strong>kel nur e<strong>in</strong> positiver Wert s<strong>in</strong>nvoll, <strong>für</strong> die Berechnung des<br />

Mittelpunkts im negativen Bereich der x-Achse (wo also α < β und β > 90 ◦ gilt) erweist<br />

es sich aber als nützlich, auch negative W<strong>in</strong>kel zuzulassen, denn der zugehörige S<strong>in</strong>us<br />

liefert dort im relevanten W<strong>in</strong>kel<strong>in</strong>tervall −90 ◦ < ϕ < 0 ◦ auch negative Werte. Daher<br />

wird <strong>für</strong> die abschließende Ermittlung der Koord<strong>in</strong>aten von M der W<strong>in</strong>kel ϕ ′ = α−β<br />

2


44 3.2 Berechnung der relativen Position e<strong>in</strong>es <strong>Roboter</strong>s aus se<strong>in</strong>er Projektion<br />

verwendet. Wie Abbildung 3.6 veranschaulicht, bilden die Strecken d, xM und yM e<strong>in</strong><br />

rechtw<strong>in</strong>kliges Dreieck. Dabei s<strong>in</strong>d d und e<strong>in</strong>er der weiteren W<strong>in</strong>kel (ϕ bzw. genauer:<br />

ϕ ′ ) bereits bekannt, weswegen sich xM und yM ableiten lassen:<br />

s<strong>in</strong>(ϕ ′ <br />

α − β<br />

<br />

) = s<strong>in</strong> =<br />

2<br />

xM<br />

d ⇒ xM<br />

<br />

α − β<br />

<br />

= s<strong>in</strong> · d<br />

2<br />

cos(ϕ ′ <br />

α − β<br />

<br />

) = cos =<br />

2<br />

yM<br />

d ⇒ yM<br />

<br />

α − β<br />

<br />

= cos · d<br />

2<br />

Es folgt <strong>für</strong> die Berechnung des vermuteten Mittelpunkts M = (xM | yM) e<strong>in</strong>es proji-<br />

r<br />

zierten <strong>Roboter</strong>s mit d = : α+β<br />

cos<br />

M =<br />

2<br />

α−β <br />

s<strong>in</strong> 2<br />

cos α+β · r<br />

2<br />

<br />

<br />

cos<br />

<br />

<br />

α−β <br />

2<br />

cos <br />

α+β · r<br />

2<br />

Beispiel: Die Kamera habe e<strong>in</strong>e horizontale Auflösung von m = 720 Pixeln, ihr Bildsensor<br />

die Breite w = 4, 8 mm mit e<strong>in</strong>er Entfernung f = 6 mm zwischen Bildebene<br />

Π und Projektionszentrum C = (0 | 0). Weiter habe der projizierte <strong>Roboter</strong> den<br />

Radius r = 250 mm, se<strong>in</strong>e 120 Pixel breite Projektion umfasse die Pixel i = 599 bis<br />

e<strong>in</strong>schließlich j = 718. Bei den folgenden Berechnungen ist die E<strong>in</strong>heit „mm“ der<br />

entsprechenden Werte ausgeblendet, außerdem wird <strong>in</strong> jedem Schritt auf maximal<br />

fünf Nachkommastellen gerundet.<br />

Für die Koord<strong>in</strong>aten der vermuteten Projektion csupp (auf die Mitte der Randpixel)<br />

ergibt sich:<br />

Asupp =<br />

Bsupp =<br />

(599 + 1<br />

2<br />

(718 + 1<br />

2<br />

<br />

720 4,8<br />

) − 2 · 720<br />

) − 720<br />

2<br />

· 4,8<br />

720<br />

<br />

<br />

6<br />

<br />

<br />

6<br />

≈ 1, 59667 6 <br />

= 2, 39 6 <br />

Hieraus resultieren die folgenden Seitenlängen asupp und bsupp:<br />

asupp = 2, 39 2 + 6 2 ≈ 6, 45849<br />

bsupp ≈ 1, 59667 2 + 6 2 ≈ 6, 2088<br />

Asupp und Bsupp haben Koord<strong>in</strong>aten, <strong>für</strong> die xAsupp ≥ 0 und xBsupp > 0 gilt. Daher<br />

ergeben sich <strong>für</strong> die W<strong>in</strong>kel αsupp und βsupp folgende Werte:<br />

αsupp ≈ 180◦ βsupp ≈<br />

<br />

− arcs<strong>in</strong><br />

<br />

6 arcs<strong>in</strong><br />

6<br />

<br />

6,45849<br />

6,2088<br />

<br />

≈ 104, 90135 ◦<br />

≈ 68, 28101 ◦<br />

Für γsupp ≈ 6, 81764 ◦ , δsupp ≈ 86, 59118 ◦ , rFsupp ≈ 249, 5767, dFsupp ≈ 4189, 6394<br />

und dMsupp ≈ 14.86536 wird auf die Darstellung der Berechnung verzichtet. Ihre


3 Relative Lokalisierung von <strong>Roboter</strong>n aus Kamerabildern 45<br />

Angabe dient nur der E<strong>in</strong>schätzungsmöglichkeit, denn <strong>für</strong> die Berechnung der<br />

Entfernung dsupp reichen wie erwähnt αsupp und βsupp aus:<br />

dsupp ≈<br />

250<br />

104,90135◦ +68,28101◦ cos<br />

2<br />

≈ 4204, 5044<br />

Der projizierte <strong>Roboter</strong> Rproj bef<strong>in</strong>det sich also <strong>in</strong> e<strong>in</strong>er vermuteten Entfernung<br />

zum Projektionszentrum von etwa 4, 20 m. Für den W<strong>in</strong>kel ϕsupp, der die Lage<br />

von Rproj zur Hauptprojektionsachse beschreibt, ergibt sich (auch hier ohne<br />

Angabe der Berechnung) ϕsupp = ϕ ′ supp ≈ 18, 31017◦ . Er setzt sich als Summe<br />

aus γsupp<br />

2 ≈ 3, 40882◦ und ψsupp ≈ 14, 90135◦ nach dem oben beschriebenen Fall<br />

(1) ′ zusammen. Somit lassen sich die vermuteten Koord<strong>in</strong>aten des Mittelpunkts<br />

Msupp = (xMsupp | yMsupp) von Rproj ermitteln als:<br />

<br />

xMsupp ≈ s<strong>in</strong><br />

yMsupp ≈ cos<br />

104,90135 ◦ −68,28101 ◦<br />

2<br />

<br />

104,90135◦−68,28101◦ 2<br />

· 4204, 5044 ≈ 1320, 8912<br />

<br />

· 4204, 5044 ≈ 3991, 6292<br />

Die vermutete Position von Rproj liegt also circa 3, 99 m vor und 1, 32 m rechts<br />

vom Projektionszentrum.<br />

An dieser Stelle stellt sich die Frage, welche Fehler bei der Berechnung von Entfernung<br />

und Mittelpunkt auftreten können. Dabei s<strong>in</strong>d nicht die Fehler geme<strong>in</strong>t, die durch Rundungsungenauigkeiten<br />

auftreten, denn sie ließen sich logischerweise durch sehr genaue<br />

Berechnungen auf vernachlässigbare Größen reduzieren. Vielmehr geht es um die Fehler,<br />

die dadurch auftreten können, dass als Projektionsränder die Mittelpunkte der Randpixel<br />

der Projektion angenommen werden. Der folgende Abschnitt behandelt daher eben<br />

diese Fehlerquelle auf formale Weise.<br />

3.3 Fehler <strong>in</strong> der Entfernungsberechnung<br />

Untenstehend wird der maximale Fehler der vorgestellten Entfernungberechnung e<strong>in</strong>es<br />

<strong>Roboter</strong>s Rproj aus se<strong>in</strong>er Projektion ermittelt. Satz 3.1 fasst das resultierende Ergebnis<br />

anschließend zusammen. Es wird sich zeigen, dass die bei der Berechnung mögliche<br />

Abweichung nach h<strong>in</strong>ten am deutlichsten ausfällt. Der unterliegende Beweis führt über<br />

verschiedene Aspekte und wird daher im Folgenden <strong>in</strong> mehrere Teilbeweise aufgeteilt.<br />

Bislang wurde die Entfernung d von Rproj zum Projektionszentrum noch nicht h<strong>in</strong>sichtlich<br />

der Faktoren, die sie bestimmen, untersucht. Das folgende Lemma besagt, dass die<br />

Berechnung bei gegebener <strong>Roboter</strong>größe e<strong>in</strong>zig von den wie oben def<strong>in</strong>ierten E<strong>in</strong>fallsw<strong>in</strong>keln<br />

α und β abhängig ist.<br />

Lemma 3.1 Sei die Projektion c e<strong>in</strong>es <strong>Roboter</strong>s Rproj mit exakten Randkoord<strong>in</strong>aten<br />

A und B gegeben. c habe e<strong>in</strong>e positive Breite. Seien α und β die W<strong>in</strong>kel zwischen den<br />

Strecken AC und BC, wobei C das Projektionszentrum bezeichnet. Dann gilt:<br />

Je größer die Summe der W<strong>in</strong>kel α und β, desto größer ist die Entfernung d des Mittelpunkts<br />

M von Rproj zu C.


46 3.3 Fehler <strong>in</strong> der Entfernungsberechnung<br />

Beweis: Die vorliegende Situation entspricht der bereits bekannten aus Abbildung 3.4.<br />

Allgeme<strong>in</strong> gilt wegen der Innenw<strong>in</strong>kelsumme e<strong>in</strong>es Dreiecks, dass die Summe α+β stets<br />

im Bereich 0 ◦ < α+β < 180 ◦ liegt. Wie gehabt ist die Entfernung von Rproj mit Radius r<br />

gegeben durch d = r<br />

cos(x)<br />

mit x als halber W<strong>in</strong>kelsumme α+β<br />

2<br />

; Offensichtlich hängt d bei<br />

gegebenem r von e<strong>in</strong>er Funktion h(x) = 1<br />

cos(x) ab und da cos′ (x) = − s<strong>in</strong>(x), berechnet<br />

sich die Ableitung von h(x) nach Quotientenregel f ′ f<br />

g = ′ g−fg ′<br />

g2 (siehe Pohlmann<br />

1996, S. 19) als:<br />

h ′ (x) = 0 · cos(x) − 1 · − s<strong>in</strong>(x) <br />

cos2 =<br />

(x)<br />

s<strong>in</strong>(x)<br />

cos2 (x)<br />

Wegen 0 ◦ < α + β < 180 ◦ kann x nur die Werte 0 ◦ < x < 90 ◦ annehmen. Bekanntlich<br />

s<strong>in</strong>d sowohl S<strong>in</strong>us als auch Cos<strong>in</strong>us <strong>in</strong> diesem Intervall positiv, weswegen auch h ′ (x)<br />

positiv ist. Das bedeutet, h(x) ist streng monoton steigend im Bereich 0◦ < α+β<br />

2 < 90◦<br />

und somit auch d = h(x) · r, was zu zeigen war. <br />

An dieser Stelle ist e<strong>in</strong>e weitere Erkenntnis leicht ableitbar, nämlich, dass die berechnete<br />

Entfernung bei steigender W<strong>in</strong>kelsumme α + β immer schneller ansteigt. Dies wird <strong>für</strong><br />

die Abschlussargumentation im Beweis von Satz 3.1 relevant se<strong>in</strong> und ist im folgenden<br />

Korollar festgehalten.<br />

Korollar 3.1 Die Zunahme der Entfernung d des Mittelpunkts M e<strong>in</strong>es projizierten<br />

<strong>Roboter</strong>s Rproj zum Projektionszentrum C ist streng monoton steigend bezüglich der<br />

W<strong>in</strong>kelsumme α + β.<br />

Beweis: Da r nur als konstanter Faktor <strong>in</strong> d auftritt, gilt <strong>für</strong> die Ableitung von d(x)<br />

mit x = α+β<br />

2 nach Produktregel (fg)′ = f ′ g + fg ′ (Pohlmann 1996, S. 19):<br />

d ′ (x) = h ′ (x) · r = s<strong>in</strong>(x)<br />

cos2 · r<br />

(x)<br />

Die Ableitung d ′ (x) ist ebenfalls streng monoton steigend, wenn ihre Ableitung d ′′ (x)<br />

an jeder Stelle positiv ist. Es gilt s<strong>in</strong> ′ (x) = cos(x) und nach Produktregel weiter<br />

cos 2′ (x) = −2 · s<strong>in</strong>(x) · cos(x). Mit diesem Wissen lässt sich die Ableitung von d ′ (x)<br />

nach Quotientenregel berechnen als:<br />

d ′′ (x) = h ′′ (x) · r = cos2 (x) + 2 · s<strong>in</strong> 2 (x)<br />

cos 3 (x)<br />

· r = 1 + s<strong>in</strong>2 (x)<br />

cos 3 (x)<br />

Bei der letzten Umformung wurde wie <strong>in</strong> Kapitel 3.2 s<strong>in</strong> 2 (x) + cos 2 (x) = 1 ausgenutzt.<br />

Im relevanten Bereich 0 ◦ < α+β<br />

2 < 90◦ s<strong>in</strong>d S<strong>in</strong>us und Cos<strong>in</strong>us jeweils positiv, weswegen<br />

auch d ′′ (x) <strong>für</strong> alle möglichen Werte von x positiv ist. <br />

E<strong>in</strong>fallsw<strong>in</strong>kelsummen der möglichen Interpretationen e<strong>in</strong>er Projektion<br />

Es wurde gezeigt, dass bei steigender Summe α+β die Entfernung ebenfalls steigt. Dies<br />

besagt ke<strong>in</strong>eswegs, dass im Allgeme<strong>in</strong>en die Entfernung e<strong>in</strong>es <strong>Roboter</strong>s größer ist, je<br />

schmaler er projiziert wird. Im Gegenteil, Kapitel 3.4 wird zeigen, dass die Entfernung<br />

e<strong>in</strong>es <strong>Roboter</strong>s unter anderem auch bei verschiedenen horizontalen Lagen gleich breiter<br />

· r


3 Relative Lokalisierung von <strong>Roboter</strong>n aus Kamerabildern 47<br />

-<br />

(x | f)<br />

A<br />

-<br />

α<br />

-<br />

(x +ε c | f)<br />

A<br />

b<br />

-<br />

αʼ<br />

bʼ<br />

•<br />

C<br />

f<br />

C<br />

•<br />

+<br />

(x | f)<br />

A<br />

+<br />

α<br />

f b bʼ<br />

+<br />

(x +ε c | f)<br />

A<br />

+<br />

αʼ<br />

bʼ < b bʼ > b<br />

- -<br />

αʼ > α<br />

+ +<br />

αʼ > α<br />

Abbildung 3.7: E<strong>in</strong>e Vergrößerung der Koord<strong>in</strong>ate xA des l<strong>in</strong>ken Projektionsrands, wie hier<br />

um den Wert εc, bewirkt e<strong>in</strong>e Vergrößerung des W<strong>in</strong>kels α, sowohl bei α − im negativen als<br />

auch bei α + im positiven Bereich der x-Achse.<br />

Projektionen auf der Bildebene differiert. Dagegen ersche<strong>in</strong>t es <strong>in</strong>tuitiv, dass e<strong>in</strong>e Projektion<br />

ca, die bei gleichem Mittelpunkt wie e<strong>in</strong>e Projektion cb schmaler als cb ist, auch<br />

<strong>in</strong> e<strong>in</strong>er weiteren Entfernung des zugehörigen <strong>Roboter</strong>s resultiert. Diese Aussage gibt<br />

das folgende Lemma wieder und wird untenstehend bewiesen. Insbesondere liegt hier<br />

der Unterschied zwischen der vermuteten Breite e<strong>in</strong>er Projektion und ihren möglichen<br />

realen Breite im Fokus der Betrachtung, also etwa auch ihrer maximal möglichen.<br />

Lemma 3.2 Sei das Projektionszentrum C = (0 | 0) und seien A = (xA | f) und<br />

B = (xB | f) der l<strong>in</strong>ke und rechte Randpunkt der Projektion c e<strong>in</strong>es <strong>Roboter</strong>s. Seien<br />

weiter b = AC, a = BC und α und β die W<strong>in</strong>kel zwischen b und c bzw. a und c.<br />

Betrachte nun e<strong>in</strong>e Projektion c ′ mit A ′ = (xA + εc | f) und B ′ = (xB − εc | f),<br />

0 < εc < xB−xA<br />

2 und entsprechend def<strong>in</strong>ierten Seiten a ′ und b ′ und W<strong>in</strong>keln α ′ und β ′ .<br />

Dann gilt: α < α ′ , β < β ′ und somit α + β < α ′ + β ′ .<br />

Beweis: Betrachtet werden hier nur die W<strong>in</strong>kel α und α ′ . Für negative xA (im Folgenden<br />

als xA − bezeichnet) berechnet sich wie gezeigt α = α− = arcs<strong>in</strong> f <br />

b . Für positive xA<br />

(xA + ) ist entsprechend α + = 180◦ − arcs<strong>in</strong> f <br />

b .<br />

Die Länge der Seite b ergibt sich dabei nach Pythagoras aus f 2 + xA 2 . Offensichtlich<br />

ist also b ′ <strong>für</strong> xA − kürzer als b und <strong>für</strong> xA + länger als b. Dies ist <strong>in</strong> Abbildung 3.7<br />

illustriert. Da die Arcuss<strong>in</strong>usfunktion arcs<strong>in</strong>(x) im relevanten Intervall x ∈ [0, 1] streng<br />

<strong>für</strong> steigende b fällt (und umgekehrt) folgt:<br />

monoton steigend ist und x = f<br />

b<br />

α − = arcs<strong>in</strong>( <br />

α + = 180 ◦ − arcs<strong>in</strong>( <br />

f<br />

f 2 + x −<br />

A<br />

f<br />

f 2 + x +<br />

A<br />

2 )<br />

2 )<br />

f<br />

< arcs<strong>in</strong>( <br />

f 2 + (x −<br />

) = α′−<br />

2<br />

A + εc)<br />

< 180 ◦ f<br />

− arcs<strong>in</strong>( <br />

f 2 + (x +<br />

) = α′+<br />

2<br />

A + εc)<br />

b>b ′<br />

b


48 3.3 Fehler <strong>in</strong> der Entfernungsberechnung<br />

A m<strong>in</strong><br />

α m<strong>in</strong><br />

p<br />

__<br />

2<br />

A supp<br />

p<br />

__<br />

2<br />

A max<br />

α max<br />

c m<strong>in</strong><br />

c supp<br />

c max<br />

B max<br />

α supp β max β supp β m<strong>in</strong><br />

Abbildung 3.8: Unterschiede der W<strong>in</strong>kelsumme α + β je nach tatsächlichen Projektionskoord<strong>in</strong>aten.<br />

csupp ist die Projektionsbreite, wenn die Projektion <strong>in</strong> der Mitte der Randpixel ihre<br />

Ränder hat, während bei cm<strong>in</strong> ganz außen und bei cmax ganz <strong>in</strong>nen gemessen wird. Die Breite<br />

e<strong>in</strong>es Pixels ist durch p gegeben.<br />

Bis hierh<strong>in</strong> wurde herausgefunden, dass entferntere <strong>Roboter</strong> größere W<strong>in</strong>kelsummen<br />

α + β ihrer Projektion aufweisen, dass schmalere Projektionen gegenüber breiteren an<br />

derselben Stelle des Bildschirms höhere W<strong>in</strong>kelsummen haben und damit zu größeren<br />

berechneten Entfernungen führen. Auch zeigte sich, dass der Anstieg der berechneten<br />

Entfernungen nach h<strong>in</strong>ten stärker wird. Dies zusammen reicht noch nicht um schlusszufolgern,<br />

dass der mögliche Fehler e<strong>in</strong>er Entfernungsberechnung maximal gegenüber der<br />

maximal möglichen Entfernung ist. Was noch fehlt ist die Feststellung, dass die W<strong>in</strong>kelsumme<br />

nicht etwa im Fernbereich schwächer anwächst als im Nahbereich, denn das<br />

könnte den Anstieg <strong>in</strong> der Entfernungsberechnung m<strong>in</strong>destens ausgleichen. Der Beweis<br />

des vorerst letzten Lemmas wird diese Feststellung belegen, vielmehr auch zeigen, dass<br />

die W<strong>in</strong>kelsumme ebenfalls bei Verkle<strong>in</strong>erung e<strong>in</strong>er Projektion stärker ansteigt, als sie<br />

bei e<strong>in</strong>er Vergrößerung gleichen Ausmaßes abfallen würde.<br />

Lemma 3.3 Seien Asupp = (xA | f) die l<strong>in</strong>ke und Bsupp = (xB | f) die rechte vermutete<br />

Randkoord<strong>in</strong>ate e<strong>in</strong>er Projektion csupp mit Projektionszentrum C = (0 | 0). Seien αsupp<br />

und βsupp die W<strong>in</strong>kel zwischen csupp und AsuppC bzw. csupp und BsuppC.<br />

Seien nun αmax und βmax die W<strong>in</strong>kel, die sich bei Randkoord<strong>in</strong>aten Amax = (xA+ p<br />

2 | f)<br />

und Bmax = (xB − p<br />

2 | f) e<strong>in</strong>er Projektion cmax ergeben würden, wobei p die Breite e<strong>in</strong>es<br />

Pixels bezeichne. Entsprechend seien αm<strong>in</strong> und βm<strong>in</strong> die W<strong>in</strong>kel e<strong>in</strong>er Projektion cm<strong>in</strong><br />

mit Randkoord<strong>in</strong>aten Am<strong>in</strong> = (xA − p<br />

2 | f) und Bm<strong>in</strong> = (xB + p<br />

2<br />

Dann ist der maximale Fehler ∆(α + β) der W<strong>in</strong>kelsumme αsupp + βsupp gegenüber der<br />

tatsächlichen W<strong>in</strong>kelsumme α + β gegeben durch:<br />

C<br />

p<br />

__<br />

2<br />

B supp<br />

∆(α + β) = (αmax + βmax) − (αsupp + βsupp)<br />

Beweis: Asupp und Bsupp entsprechen den Koord<strong>in</strong>aten der Mittelpunkte der beiden<br />

äußersten Pixel der Projektion csupp. Im schlechtesten Fall kann die tatsächliche Pro-<br />

| f).<br />

p<br />

__<br />

2<br />

B m<strong>in</strong>


3 Relative Lokalisierung von <strong>Roboter</strong>n aus Kamerabildern 49<br />

cot(α)<br />

-<br />

cot(α )<br />

m<strong>in</strong><br />

-<br />

cot(α )<br />

supp<br />

-<br />

cot(α )<br />

max<br />

α<br />

12<br />

8<br />

4<br />

-4<br />

-8<br />

-12<br />

cot(x)<br />

25 50 75 100 125 150 175<br />

cot'(x) = -<br />

___1___<br />

s<strong>in</strong> 2(x)<br />

cot''(x) = 2•cos(x)<br />

s<strong>in</strong> 3(x)<br />

Abbildung 3.9: (l<strong>in</strong>ks) Bei gleichem Abstand der Cotangens-Werte ist der Unterschied zwischen<br />

αm<strong>in</strong> und αsupp im Bereich von 0 ◦ und 90 ◦ kle<strong>in</strong>er als der zwischen αsupp und αmax.<br />

(rechts) Der Cotangens im Bereich von 0 ◦ bis 180 ◦ sowie dessen erste und zweite Ableitung.<br />

jektion c auf jeder Seite um e<strong>in</strong>en halben Pixel abweichen. Die Breite von cmax entspricht<br />

folglich der m<strong>in</strong>imal möglichen Breite von c, umgekehrt hat cm<strong>in</strong> die maximal mögliche<br />

Breite von c (vgl. Abbildung 3.8).<br />

Aus Lemma 3.2 folgt, dass αmax + βmax die <strong>für</strong> e<strong>in</strong>e Projektion maximal mögliche<br />

E<strong>in</strong>fallsw<strong>in</strong>kelsumme ist, αm<strong>in</strong> + βm<strong>in</strong> h<strong>in</strong>gegen die m<strong>in</strong>imal mögliche. Für alle bei e<strong>in</strong>er<br />

gegebenen Projektion möglichen E<strong>in</strong>fallsw<strong>in</strong>kelsummen σ gilt also:<br />

αm<strong>in</strong> + βm<strong>in</strong> ≤ σ ≤ αmax + βmax<br />

Zu zeigen bleibt daher, dass der Unterschied zwischen αmax + βmax und αsupp + βsupp<br />

größer ist als der zwischen αm<strong>in</strong>+βm<strong>in</strong> und αsupp+βsupp. Es wird sich herausstellen, dass<br />

dies auch <strong>für</strong> die Verhältnisse der e<strong>in</strong>zelnen W<strong>in</strong>kel gilt, dass also etwa der Unterschied<br />

zwischen αm<strong>in</strong> und αsupp kle<strong>in</strong>er als der zwischen αsupp und αmax ist. Aus Gründen<br />

mathematischer E<strong>in</strong>fachheit wird der Beweis über den Cotangens der W<strong>in</strong>kel geführt.<br />

Seien zu Beg<strong>in</strong>n nur die W<strong>in</strong>kel α − m<strong>in</strong> , α− supp und α− max <strong>für</strong> negative Werte von xA<br />

betrachtet. Zu beachten ist, dass der größtmögliche solche Wert xA = − p<br />

2 ist, da xA<br />

e<strong>in</strong>en Pixelmittelpunkt repräsentiert, und dass bei negativen Werten von xA <strong>für</strong> die<br />

W<strong>in</strong>kel 0◦ < α − m<strong>in</strong> < α− supp < α− max < 90◦ gilt, <strong>für</strong> die sich folgende Werte ergeben:<br />

cot(α − m<strong>in</strong> ) = |xA − p<br />

f<br />

2 |<br />

, cot(α − supp) = |xA|<br />

f , cot(α− max) = |xA + p<br />

f<br />

Offensichtlich ist der Abstand zwischen den Werten gleich (vgl. Abbildung 3.9 l<strong>in</strong>ks),<br />

es ist also cot(α− max) − cot(α− supp) = cot(α− supp) − cot(α − m<strong>in</strong> ). Die Funktion cot(x) ist abschnittsweise<br />

streng monoton fallend mit der Ableitung cot ′ (x) = − 1<br />

s<strong>in</strong>2 , entsprechend<br />

(x)<br />

gilt cot(α − m<strong>in</strong> ) > cot(α− supp) > cot(α − max). Abbildung 3.9 (rechts) zeigt den Cotangens<br />

samt se<strong>in</strong>er ersten und zweiten Ableitung. Die Steigung von cot ′ (x) nimmt nun aber<br />

im gegebenen Bereich streng monoton zu, denn cot ′′ (x) = 2·cos(x)<br />

s<strong>in</strong> 3 (x) ist <strong>für</strong> alle W<strong>in</strong>kel<br />

zwischen 0 ◦ und 90 ◦ größer als 0. Das bedeutet, der Bereich des Cotangens zwischen<br />

2 |


50 3.3 Fehler <strong>in</strong> der Entfernungsberechnung<br />

α − m<strong>in</strong> und α− supp fällt stärker als der zwischen α − supp und α − max. Somit ist der Abstand<br />

zwischen α − m<strong>in</strong> und α− supp kle<strong>in</strong>er als der zwischen α − supp und α − max, was zu zeigen war.<br />

Bei den aus Werten <strong>für</strong> xA ≥ p<br />

2 resultierenden W<strong>in</strong>keln α+ m<strong>in</strong> , α+ supp und α + max ändern<br />

sich nun die Berechnungsvorschriften. Es gilt:<br />

cot(180 ◦ − α + m<strong>in</strong> ) = xA − p<br />

2 , cot(180<br />

f<br />

◦ − α + supp) = xA<br />

f , cot(180◦ − α + max) = xA + p<br />

2<br />

f<br />

Wiederum ist also der Abstand zwischen den Werten gleich. Die Ableitung des Cotangens<br />

ist jedoch im Bereich 90 ◦ ≤ α + m<strong>in</strong> < α+ supp < α + max < 180 ◦ streng monoton<br />

fallend (vgl. Abbildung 3.9 rechts). Der Bereich des Cotangens zwischen 180 ◦ − α + m<strong>in</strong><br />

und 180 ◦ − α + supp fällt also stärker als der zwischen 180 ◦ − α + supp und 180 ◦ − α + max. Somit<br />

ist der Abstand zwischen α + m<strong>in</strong> und α+ supp erneut kle<strong>in</strong>er als der zwischen α + supp und<br />

α + max. Für alle αm<strong>in</strong>, αsupp und αmax gilt also die Behauptung.<br />

Mittels Ersetzung des Werts xA durch xB, Ersetzung der W<strong>in</strong>kel α − m<strong>in</strong> , α− supp und α − max<br />

durch β + m<strong>in</strong> , β+ supp und β + max und entsprechend α + m<strong>in</strong> , α+ supp und α + max durch β − m<strong>in</strong> , β− supp<br />

und β − max lässt sich der vollzogene Beweis <strong>für</strong> die α-W<strong>in</strong>kel analog <strong>für</strong> die β-W<strong>in</strong>kel<br />

durchführen, worauf hier verzichtet wird. Es folgt, dass der Unterschied der W<strong>in</strong>kel βm<strong>in</strong><br />

und βsupp stets kle<strong>in</strong>er ist als der zwischen βsupp und βmax. Insgesamt resultiert hieraus,<br />

dass der maximale Unterschied zwischen der vermuteten W<strong>in</strong>kelsumme αsupp + βsupp<br />

und e<strong>in</strong>er beliebigen möglichen W<strong>in</strong>kelsumme im Unterschied zwischen αmax + βmax<br />

und αsupp + βsupp besteht, und somit folgt die Gesamtaussage. <br />

Maximaler Fehler der Entfernungsberechnung<br />

Satz 3.1 Gegeben sei die tatsächliche Projektion c e<strong>in</strong>es <strong>Roboter</strong>s Rproj mit Projektionszentrum<br />

C = (0 | 0), welche alle Pixel <strong>in</strong>nerhalb des Bereichs A = (xA | f) bis<br />

B = (xB + p | f) umfasst. Dabei bezeichne p die Breite e<strong>in</strong>es Pixels.<br />

Sei dsupp die vermutete Entfernung des Mittelpunkts M von Rproj zu C, bei der ange-<br />

und der rechte Randpunkt<br />

nommen wird, dass der l<strong>in</strong>ke Randpunkt von c bei x ′ p<br />

A = xA+ 2<br />

bei x ′ B = xB + p<br />

2 liegt. Seien weiter dmax und dm<strong>in</strong> die Entfernungen, die sich <strong>für</strong> die<br />

Randpunkte xA + p und xB bzw. xA und xB + p ergeben würden. Dann gilt:<br />

Der Fehler ∆d <strong>in</strong> der Entfernungsberechnung von M zu C ist nach oben beschränkt<br />

durch dmax − dsupp:<br />

∆d ≤ dmax − dsupp<br />

Beweis: Nach Lemma 3.1 s<strong>in</strong>d sowohl dsupp als auch die m<strong>in</strong>imale und maximale Entfernung<br />

dm<strong>in</strong> und dmax des Mittelpunkts M von Rproj zu C proportional abhängig von<br />

den durch dessen Projektion def<strong>in</strong>ierten möglichen Summen σ der W<strong>in</strong>kel zwischen Bildebene<br />

und Projektionszentrum. Aus Lemma 3.2 ergibt sich weiter, dass die maximal<br />

mögliche solche W<strong>in</strong>kelsumme σ <strong>für</strong> e<strong>in</strong>e gegebene Projektion diejenige ist, aus der die<br />

maximale Entfernung dmax hervorgeht. Entsprechend resultiert dm<strong>in</strong> aus der m<strong>in</strong>imal<br />

möglichen W<strong>in</strong>kelsumme.<br />

Sei nun die Entfernung d als Funktion d(σ) ihrer zugrunde liegenden W<strong>in</strong>kelsumme σ<br />

betrachtet. Nach Korollar 3.1 ist d(σ)−d(σ −εσ) < d(σ +εσ)−d(σ), wobei <strong>für</strong> εσ gelte:


3 Relative Lokalisierung von <strong>Roboter</strong>n aus Kamerabildern 51<br />

0 < εσ < m<strong>in</strong>{σ, 180 ◦ − σ}. Für e<strong>in</strong>e vermutetete Entfernung dsupp steigt die entsprechende<br />

Funktion also <strong>in</strong> stärkerem Maß <strong>in</strong> Richtung dmax an, als sie <strong>in</strong> Richtung dm<strong>in</strong><br />

fällt. Da gleichzeitig nach Lemma 3.3 der Unterschied zwischen dmax und dsupp größer<br />

als der zwischen dsupp und dm<strong>in</strong> ist, kann es schlussendlich ke<strong>in</strong>en größeren Unterschied<br />

zwischen vermuteter und realer Entfernung geben als dmax − dsupp. <br />

Beispiel: Es wird erneut das Beispiel aus Kapitel 3.2 herangezogen, bei dem e<strong>in</strong>e<br />

Kamera mit m = 720 Pixeln, w = 4, 8 mm und f = 6 mm gegeben war. Für<br />

e<strong>in</strong>en <strong>Roboter</strong> Rproj mit Radius r = 250 mm ergab sich <strong>für</strong> dessen 120 Pixel<br />

breite Projektion von Pixel i = 599 bis Pixel j = 718 die vermutete Entfernung<br />

dsupp ≈<br />

250 mm<br />

104,90135◦ +68,28101◦ cos<br />

2<br />

≈ 4204, 5044 mm.<br />

Bei der maximal möglichen Entfernung von Rproj liegen nun andere Randkoord<strong>in</strong>aten<br />

<strong>für</strong> die sich ergebende Projektion vor, denn es wird wie angesprochen dabei<br />

davon ausgegangen, dass sich der Rand der Projektion beim l<strong>in</strong>ken Randpixel<br />

ganz rechts und beim rechten Randpixel ganz l<strong>in</strong>ks bef<strong>in</strong>det, folglich:<br />

(599 <br />

720 4,8 <br />

Amax = + 1) − 2 · 720 6 = 1, 6 6 <br />

(718 <br />

720 4,8 <br />

Bmax = + 0) − 2 · 720 6 ≈ 2, 38667 <br />

6<br />

Diese Koord<strong>in</strong>aten führen zu den beiden Seitenlängen amax ≈ 6, 45726 mm und<br />

bmax ≈ 6, 20967 mm, aus denen wiederum die W<strong>in</strong>kel αmax ≈ 104, 93142 ◦ und<br />

βmax ≈ 68, 30839 ◦ hervorgehen. Damit lässt sich die maximale Entfernung des<br />

Mittelpunkts von Rproj zu C berechnen als:<br />

dmax ≈<br />

250<br />

104,93142◦ +68,30839◦ cos<br />

2<br />

≈ 4240, 1935 mm<br />

Die Differenz zwischen dmax und dsupp beschreibt nun wie gezeigt die obere Schranke<br />

des Fehlers der Entfernungsberechnung:<br />

∆d = dmax − dsupp ≈ (4240, 1935 − 4204, 5044) mm = 35, 6891 mm<br />

Unter dem gegebenen Projektionsw<strong>in</strong>kel ϕsupp hat e<strong>in</strong>e Entfernungsschätzung der<br />

ungefähren Größe 4, 20 m bei den gegebenen Kamera- und <strong>Roboter</strong>-Parametern<br />

folgerichtig e<strong>in</strong>en maximalen Fehler von gut 3, 5 cm.<br />

E<strong>in</strong>e wichtige Beobachtung sei hierbei erwähnt; unter Verwendung von dmax ergibt<br />

sich <strong>für</strong> den Mittelpunkt des <strong>Roboter</strong>s Mmax ≈ (1332, 1978 mm | 4025, 4801 mm).<br />

Wie sich leicht nachrechnen lässt, liegen Mmax, Msupp und C nicht auf e<strong>in</strong>er Gerade.<br />

Das bedeutet, durch Veränderung der Randpunkte A und B <strong>in</strong> gleichem Umfang<br />

verschiebt sich der Mittelpunkt im Allgeme<strong>in</strong>en nicht etwa nur nach h<strong>in</strong>ten,<br />

sondern auch <strong>in</strong> ger<strong>in</strong>gem Maße zur Seite, was auf die perspektivische Verzerrung<br />

schräger Projektionen zurückzuführen ist.


52 3.4 Exemplarische Fallstudien zum Berechnungsverfahren<br />

In diesem Teilkapitel wurde gezeigt, wie sich die Genauigkeit e<strong>in</strong>er berechneten Entfernung<br />

allgeme<strong>in</strong> abschätzen lässt. Da <strong>für</strong> jede beliebige konkrete Projektion der Fehlerbereich<br />

der zugehörigen Entfernungsberechnung angegeben werden kann, besteht die<br />

Möglichkeit, <strong>für</strong> e<strong>in</strong>e gegebene Kamera e<strong>in</strong>e Art zweidimensionale Karte anzugeben, die<br />

die Güte von Positionen relativ zum Projektionszentrum h<strong>in</strong>sichtlich deren Schätzung<br />

darstellt. Dies wird Thema des folgenden Teilkapitels se<strong>in</strong>, <strong>in</strong> dem es um konkrete Berechnungen<br />

günstiger Positionen geht. Anschließend steht die Frage, ob und <strong>in</strong>wiefern<br />

sich e<strong>in</strong> günstiger Bereich <strong>für</strong> die Entfernungsschätzung aus den bekannten E<strong>in</strong>gabedaten<br />

von Kamera und <strong>Roboter</strong> allgeme<strong>in</strong> mathematisch beschreiben lässt, im Mittelpunkt.<br />

Damit komplettieren sich dann die nötigen Voraussetzungen <strong>für</strong> die Beschäftigung<br />

mit etwaigen kooperativen <strong>Bewegungsstrategien</strong> e<strong>in</strong>er Gruppe von <strong>Roboter</strong>n, die<br />

akzeptable Lokalisierungen <strong>in</strong> den hier behandelten Umgebungen zulassen.<br />

3.4 Exemplarische Fallstudien zum Berechnungsverfahren<br />

Das Beispiel des letzten Abschnitts ergab e<strong>in</strong>e maximale Abweichung der Entfernungsberechnung<br />

von etwa 3, 5 cm. Zweifelsohne s<strong>in</strong>d noch ger<strong>in</strong>gere Ungenauigkeiten wünschenswert<br />

und daher sei zu Beg<strong>in</strong>n betrachtet, wie sich der Fehler ∆d <strong>in</strong> Abhängigkeit<br />

zur Breite e<strong>in</strong>er Projektion an e<strong>in</strong>er bestimmten Stelle des Kamerabilds verhält. Tabelle<br />

3.1 zeigt konkrete, gerundete Berechnungen <strong>für</strong> fünf Projektionen verschiedener Breite,<br />

die alle ihren Mittelpunkt bei Pixel 510 von 720 haben, wobei dieselben Parameter<br />

wie <strong>in</strong> den Beispielen zuvor verwendet werden. Für jede Pixelbreite ist die vermutete<br />

Projektion fettgedruckt, darunter bef<strong>in</strong>den sich die Projektionen maximal und m<strong>in</strong>imal<br />

möglicher Entfernung sowie die weitest l<strong>in</strong>ks und weitest rechts mögliche. Die beiden<br />

Spalten ganz l<strong>in</strong>ks be<strong>in</strong>halten die aus den angenommenen Projektionen resultierenden<br />

E<strong>in</strong>gangswerte i und j, anhand derer die Randpunkte A und B der Projektion berechnet<br />

werden (vgl. Kapitel 3.2). In den weiteren Spalten s<strong>in</strong>d neben der Entfernung d und dem<br />

Mittelpunkt M die <strong>für</strong> deren Berechnung notwendigen E<strong>in</strong>fallsw<strong>in</strong>kel α und β aufgeführt.<br />

Außerdem wird der W<strong>in</strong>kel ϕ ′ angegeben, da an diesem die mögliche horizontale<br />

Abweichung der relativen Lage zwischen Kamera und <strong>Roboter</strong> ablesbar ist.<br />

Bei e<strong>in</strong>er 240 Pixel breiten Projektion, die <strong>für</strong> die gegebenen Parameter der Tabelle<br />

nach bei e<strong>in</strong>em rund 1, 95 m entfernten <strong>Roboter</strong> vorliegt, ist der maximale Fehler beschränkt<br />

durch ∆d = dmax − dsupp ≈ 1958 mm − 1950 mm = 8 mm, entspricht also<br />

e<strong>in</strong>er Abweichung von unter 1 cm. Dies drückt sich auch <strong>in</strong> den daraus folgenden, möglichen<br />

Koord<strong>in</strong>aten des Mittelpunkts aus, die allesamt <strong>in</strong> e<strong>in</strong>em sehr kle<strong>in</strong>en Bereich<br />

liegen. Bei nur noch 120 Pixeln hat die maximale Ungenauigkeit e<strong>in</strong>e Größe von etwa<br />

3927 mm − 3894 mm = 33 mm, bei 60 Pixeln schon 135 mm, bei 30 Pixeln 570 mm<br />

und bei 10 Pixeln schließlich 6424 mm. Diese Werte legen die Vermutung nahe, dass<br />

die Lokalisierung anhand e<strong>in</strong>es e<strong>in</strong>zelnen Kamerabilds nur im Nahbereich akzeptabel<br />

funktioniert, denn e<strong>in</strong> Fehler von 57 cm wie bei der Projektion der Breite 30 Pixel<br />

e<strong>in</strong>es vermutet knapp 16 m entfernten <strong>Roboter</strong>s erlaubt sicherlich ke<strong>in</strong>e vernünftige Bestimmung<br />

der <strong>Roboter</strong>position mehr (vgl. hierzu Kapitel 4.3 zur Fehlerakkumulation).<br />

Interessant wirkt schon hier die Entwicklung des Fehlers ∆d, der sich bei Halbierung


3 Relative Lokalisierung von <strong>Roboter</strong>n aus Kamerabildern 53<br />

i j α β d ϕ ′ M = (xM | yM )<br />

240 Pixel breite Projektion<br />

390, 5 629, 5 91, 94 ◦ 73, 33 ◦ 1950 mm 9, 306 ◦ (315 mm | 1925 mm)<br />

391 629 91, 97 ◦ 73, 36 ◦ 1958 mm 9, 307 ◦ (317 mm | 1933 mm)<br />

390 630 91, 91 ◦ 73, 30 ◦ 1942 mm 9, 304 ◦ (314 mm | 1917 mm)<br />

390 629 91, 91 ◦ 73, 36 ◦ 1950 mm 9, 275 ◦ (314 mm | 1925 mm)<br />

391 630 91, 97 ◦ 73, 30 ◦ 1951 mm 9, 336 ◦ (316 mm | 1925 mm)<br />

120 Pixel breite Projektion<br />

450, 5 569, 5 95, 74 ◦ 76, 90 ◦ 3894 mm 9, 423 ◦ (638 mm|3842 mm)<br />

451 569 95, 77 ◦ 76, 93 ◦ 3927 mm 9, 423 ◦ (643 mm | 3874 mm)<br />

450 570 95, 71 ◦ 76, 87 ◦ 3862 mm 9, 422 ◦ (632 mm | 3810 mm)<br />

450 569 95, 71 ◦ 76, 93 ◦ 3893 mm 9, 392 ◦ (635 mm | 3841 mm)<br />

451 570 95, 77 ◦ 76, 87 ◦ 3895 mm 9, 454 ◦ (640 mm | 3842 mm)<br />

60 Pixel breite Projektion<br />

480, 5 539, 5 97, 63 ◦ 78, 72 ◦ 7843 mm 9, 453 ◦ (1288 mm | 7736 mm)<br />

481 539 97, 66 ◦ 78, 75 ◦ 7978 mm 9, 453 ◦ (1310 mm | 7870 mm)<br />

480 540 97, 59 ◦ 78, 69 ◦ 7712 mm 9, 452 ◦ (1267 mm | 7607 mm)<br />

480 539 97, 59 ◦ 78, 75 ◦ 7841 mm 9, 421 ◦ (1284 mm | 7736 mm)<br />

481 540 97, 66 ◦ 78, 69 ◦ 7844 mm 9, 484 ◦ (1292 mm | 7737 mm)<br />

30 Pixel breite Projektion<br />

495, 5 524, 5 98, 56 ◦ 79, 64 ◦ 15950 mm 9, 460 ◦ (2622 mm | 15733 mm)<br />

496 524 98, 59 ◦ 79, 67 ◦ 16520 mm 9, 460 ◦ (2715 mm | 16295 mm)<br />

495 525 98, 53 ◦ 79, 61 ◦ 15419 mm 9, 460 ◦ (2534 mm | 15209 mm)<br />

495 524 98, 53 ◦ 79, 67 ◦ 15947 mm 9, 429 ◦ (2613 mm | 15732 mm)<br />

496 525 98, 59 ◦ 79, 61 ◦ 15953 mm 9, 491 ◦ (2631 mm | 15735 mm)<br />

10 Pixel breite Projektion<br />

505, 5 514, 5 99, 18 ◦ 80, 26 ◦ 51389 mm 9, 462 ◦ (8448 mm | 50690 mm)<br />

506 514 99, 21 ◦ 80, 29 ◦ 57813 mm 9, 462 ◦ (9504 mm | 57026 mm)<br />

505 515 99, 15 ◦ 80, 23 ◦ 46251 mm 9, 462 ◦ (7603 mm | 45621 mm)<br />

505 514 99, 15 ◦ 80, 29 ◦ 51380 mm 9, 431 ◦ (8419 mm | 50686 mm)<br />

506 515 99, 21 ◦ 80, 23 ◦ 51399 mm 9, 493 ◦ (8477 mm | 50695 mm)<br />

Tabelle 3.1: Vergleich der Entfernungen und Mittelpunkte <strong>für</strong> fünf Fälle (vermutet, maximal,<br />

m<strong>in</strong>imal, ganz l<strong>in</strong>ks, ganz rechts) der realen Projektion bei fünf verschiedenen Projektionsbreiten<br />

mit Mittelpunkt auf Pixel 510. Parameter: 720 Pixel horizontale Auflösung, 4, 8 mm Bildsensor-<br />

Breite, 6 mm Bildweite und 250 mm <strong>Roboter</strong>radius.<br />

der Projektionsbreite und ungefährer Verdopplung der vermuteten Entfernung <strong>in</strong> etwa<br />

zu vervierfachen sche<strong>in</strong>t, also quadratisch wächst. E<strong>in</strong> Beweis dieser Annahme bleibt<br />

hier unbeachtet se<strong>in</strong>er Machbarkeit außen vor, denn das Wissen darüber mag bei den<br />

zu erarbeitenden <strong>Bewegungsstrategien</strong> ggf. hilfreich se<strong>in</strong>, ke<strong>in</strong>esfalls aber notwendig <strong>für</strong><br />

deren Umsetzbarkeit.<br />

Auffällig ist nun weiterh<strong>in</strong>, dass sich die resultierende Entfernung dleft bei e<strong>in</strong>er angenommenen<br />

Projektion cleft ganz l<strong>in</strong>ks, ebenso wie dright bei e<strong>in</strong>er Projektion cright ganz<br />

rechts, selbst bei sehr ger<strong>in</strong>ger Pixelanzahl als fast identisch zur vermuteten Entfernung<br />

dsupp erweist. So gilt <strong>für</strong> die <strong>in</strong> Tabelle 3.1 aufgelisteten Projektionen der Breite 10 Pixel,<br />

dass dsupp − dleft ≈ 9 mm und dright − dsupp ≈ 10 mm beträgt. Je näher der <strong>Roboter</strong><br />

an der Kamera, um so ger<strong>in</strong>ger s<strong>in</strong>d diese Werte sogar noch. Grund hier<strong>für</strong> s<strong>in</strong>d die auf


54 3.4 Exemplarische Fallstudien zum Berechnungsverfahren<br />

den ersten Blick erstaunlich ger<strong>in</strong>gen Unterschiede von ϕ ′ left und ϕ′ right gegenüber dem<br />

vermuteteten W<strong>in</strong>kel ϕ ′ supp. Bei allen dargestellten Projektionen liegen diese im Bereich<br />

von 0, 03◦ bis 0, 031◦ und steigen bei zunehmender Entfernung der <strong>Roboter</strong> nahezu<br />

nicht; e<strong>in</strong>e Eigenschaft, die sich aus der Berechnung ϕ ′ = α−β<br />

2 ergibt: Wenn sich sowohl<br />

der l<strong>in</strong>ke als auch der rechte Projektionsrand <strong>in</strong> die gleiche Richtung um e<strong>in</strong>en halben<br />

Pixel verschieben, dann wachsen respektive fallen die sich aus dem S<strong>in</strong>us von f und b<br />

bzw. f und a ergebenden Werte von α und β (vgl. Kapitel 3.2) <strong>in</strong> praktisch gleichem<br />

Maße (und somit auch deren Differenz), da die Breite e<strong>in</strong>es Pixels sich nicht wesentlich<br />

<strong>in</strong> den Längen von b und a bemerkbar macht. Als Konsequenz lässt sich ableiten, dass<br />

der mögliche horizontale Unterschied der vermuteten zur realen Projektion im Vergleich<br />

zum möglichen Unterschied der Breite der beiden vernachlässigbar ist. Auch dies soll<br />

hier nicht bewiesen werden, da es ke<strong>in</strong>en großen Mehrwert bietet: Die Ungenauigkeit der<br />

Schätzung e<strong>in</strong>er <strong>Roboter</strong>position hängt unmittelbar vom Fehler der Entfernungsberechnung<br />

ab, der wie gezeigt maximal ist, wenn anstatt der vermuteten Projektion auf die<br />

Mitte der Randpixel die schmalstmögliche der realen Projektion entspricht. Trotzdem<br />

darf nicht vergessen werden, dass auch die mögliche L<strong>in</strong>ks- oder Rechtsverschiebung<br />

der Projektion e<strong>in</strong>e Fehlerquelle liefert, die entscheidend <strong>für</strong> e<strong>in</strong>e falsche Lokalisierung<br />

se<strong>in</strong> kann. Dies wird klar, sobald e<strong>in</strong>e exakt mittige Projektion vorliegt, bei der sich e<strong>in</strong>e<br />

Fehlbestimmung der x-Koord<strong>in</strong>ate e<strong>in</strong>es Mittelpunkts M etwa aus dem Unterschied<br />

zwischen Mmax und Msupp nicht ersehen lässt.<br />

Unterschiede je nach horizontaler Lage im Pixelbild<br />

Diese Feststellung zieht nach der Untersuchung verschieden breiter Projektionen an ähnlichen<br />

Stellen des Kamerabildes die Frage nach sich, wie sich Entfernungsberechnungen<br />

gleich breiter Projektionen an verschiedenen Stellen des Kamerabildes unterscheiden.<br />

Tabelle 3.2 illustriert dies <strong>für</strong> konkrete E<strong>in</strong>gabewerte und Projektionen von 60 Pixeln<br />

Breite. Die Projektion, welche exakt <strong>in</strong> der Mitte der 720 Pixel liegt, veranschaulicht<br />

das eben besprochene: zwar ist der größtmögliche Fehler der Entfernungsberechnung<br />

wie gehabt durch den Unterschied zwischen dmax ≈ 7763 mm und dsupp ≈ 7631 mm<br />

gegeben, die horizontalen Differenzen <strong>in</strong> den berechneten Mittelpunkten haben aber<br />

bei den Projektionen cleft und cright ihr Maximum, auch wenn dieses nur etwa 4 mm<br />

von der vermuteten x-Koord<strong>in</strong>ate abweicht. Denn sowohl bei csupp als auch bei cmax<br />

und cm<strong>in</strong> s<strong>in</strong>d α und β identisch, weswegen jeweils ϕ ′ = 0 ◦ gilt und somit die daraus<br />

abgeleiteten <strong>Roboter</strong>positionen alle entlang der Hauptprojektionsachse verlaufen.<br />

Allgeme<strong>in</strong> verhalten sich die berechneten Werte <strong>in</strong> Tabelle 3.2 wie zu erwarten symmetrisch<br />

zu dieser Achse. So resultiert e<strong>in</strong>e 60 Pixel breite Projektion mit Mittelpunkt<br />

bei Pixel 61 <strong>in</strong> der gleichen Schätzung dsupp ≈ 7843 mm und maximalen Abweichung<br />

dmax−dsupp ≈ 135 mm wie bei Mittelpunkt 510. Entsprechend führen sie zu vermuteten<br />

Positionen, die sich nur durch das Vorzeichen ihrer x-Koord<strong>in</strong>ate unterscheiden.<br />

Darüber h<strong>in</strong>aus lässt sich erkennen, dass e<strong>in</strong>e Projektion der Breite c zu e<strong>in</strong>er umso entfernteren,<br />

vermuteten <strong>Roboter</strong>position gehört, je weiter außen sie im Kamerabild liegt:<br />

während sich bei e<strong>in</strong>er exakt zentralen Projektion (mit Mittelpunkt auf Pixel 360) e<strong>in</strong>e<br />

Entfernung von etwa 7, 63 m ergibt, liegt der Wert <strong>für</strong> Pixel 659 bei circa 8, 47 m, die<br />

Resultate unterscheiden sich also deutlich. Dies ließe sich über e<strong>in</strong>e Betrachtung der Ent-


3 Relative Lokalisierung von <strong>Roboter</strong>n aus Kamerabildern 55<br />

i j α β d ϕ ′ M = (xM | yM )<br />

Projektionsmittelpunkt auf Pixel 659<br />

629, 5 688, 5 106, 67 ◦ 69, 95 ◦ 8472 mm 18, 361 ◦ (2669 mm | 8041 mm)<br />

630 688 106, 70 ◦ 69, 98 ◦ 8618 mm 18, 362 ◦ (2715 mm | 8179 mm)<br />

629 689 106, 64 ◦ 69, 92 ◦ 8331 mm 18, 360 ◦ (2624 mm | 7907 mm)<br />

629 688 106, 64 ◦ 69, 98 ◦ 8469 mm 18, 332 ◦ (2664 mm | 8039 mm)<br />

630 689 106, 70 ◦ 69, 92 ◦ 8475 mm 18, 390 ◦ (2674 mm | 8042 mm)<br />

Projektionsmittelpunkt auf Pixel 510<br />

480, 5 539, 5 97, 63 ◦ 78, 72 ◦ 7843 mm 9, 453 ◦ (1288 mm | 7736 mm)<br />

481 539 97, 66 ◦ 78, 75 ◦ 7978 mm 9, 453 ◦ (1310 mm | 7870 mm)<br />

480 540 97, 59 ◦ 78, 69 ◦ 7712 mm 9, 452 ◦ (1267 mm | 7607 mm)<br />

480 539 97, 59 ◦ 78, 75 ◦ 7841 mm 9, 422 ◦ (1284 mm | 7736 mm)<br />

481 540 97, 66 ◦ 78, 69 ◦ 7844 mm 9, 484 ◦ (1292 mm | 7737 mm)<br />

Projektionsmittelpunkt auf Pixel 360<br />

330, 5 389, 5 88, 12 ◦ 88, 12 ◦ 7631 mm 0, 000 ◦ (0 mm | 7631 mm)<br />

331 389 88, 15 ◦ 88, 15 ◦ 7763 mm 0, 000 ◦ (0 mm | 7763 mm)<br />

330 390 88, 09 ◦ 88, 09 ◦ 7504 mm 0, 000 ◦ (0 mm | 7504 mm)<br />

330 389 88, 09 ◦ 88, 15 ◦ 7631 mm −0, 032 ◦ (−4 mm | 7631 mm)<br />

331 390 88, 15 ◦ 88, 09 ◦ 7631 mm 0, 032 ◦ (4 mm | 7631 mm)<br />

Projektionsmittelpunkt auf Pixel 210<br />

180, 5 239, 5 78, 72 ◦ 97, 63 ◦ 7843 mm −9, 453 ◦ (−1288 mm | 7736 mm)<br />

181 239 78, 75 ◦ 97, 66 ◦ 7978 mm −9, 453 ◦ (−1310 mm | 7870 mm)<br />

180 240 78, 69 ◦ 97, 59 ◦ 7712 mm −9, 452 ◦ (−1267 mm | 7607 mm)<br />

180 239 87, 69 ◦ 97, 66 ◦ 7844 mm −9, 484 ◦ (−1292 mm | 7737 mm)<br />

181 240 78, 75 ◦ 97, 59 ◦ 7841 mm −9, 422 ◦ (−1284 mm | 7736 mm)<br />

Projektionsmittelpunkt auf Pixel 61<br />

31, 5 90, 5 69, 95 ◦ 106, 67 ◦ 8472 mm −18, 361 ◦ (−2669 mm | 8041 mm)<br />

32 90 69, 98 ◦ 106, 70 ◦ 8618 mm −18, 362 ◦ (−2715 mm | 8179 mm)<br />

31 91 69, 92 ◦ 106, 64 ◦ 8331 mm −18, 360 ◦ (−2624 mm | 7907 mm)<br />

31 90 69, 92 ◦ 106, 70 ◦ 8475 mm −18, 390 ◦ (−2674 mm | 8042 mm)<br />

32 91 69, 98 ◦ 106, 64 ◦ 8469 mm −18, 332 ◦ (−2664 mm | 8039 mm)<br />

Tabelle 3.2: Vergleich der Entfernungen und Mittelpunkte der verschiedenen Möglichkeiten<br />

(vermutet, maximal, m<strong>in</strong>imal, ganz l<strong>in</strong>ks, ganz rechts) e<strong>in</strong>er 60 Pixel breiten Projektion <strong>für</strong> fünf<br />

verschiedene Projektionsmittelpunkte. Parameter: 720 Pixel horizontale Auflösung, 4, 8 mm<br />

Bildsensor-Breite, 6 mm Bildweite und 250 mm <strong>Roboter</strong>radius.<br />

wicklung der W<strong>in</strong>kel bei Änderung der Projektionsbreite allgeme<strong>in</strong> beweisen; im Laufe<br />

dieser Arbeit zeigte sich aber, dass daraus <strong>für</strong> das vorliegende Thema ke<strong>in</strong>erlei Nutzen<br />

entsteht. Auch der Fehler ∆d steigt nach außen h<strong>in</strong> (bei den behandelten Projektionen<br />

von 132 mm auf 146 mm), was aber an diesem Punkt wenig Schlussfolgerungen zulässt.<br />

Denn es bleibt zum<strong>in</strong>dest hier fraglich, ob die höhere Ungenauigkeit aus der größeren<br />

Entfernung, der stärkeren perspektivischen Verzerrung schräger Projektionen oder aus<br />

e<strong>in</strong>er wie auch immer beschaffenen Komb<strong>in</strong>ation dieser beiden entspr<strong>in</strong>gt.<br />

Darstellung der Berechnungsgenauigkeit <strong>in</strong> zweidimensionalen Karten<br />

Zur Veranschaulichung dieser Problematik <strong>für</strong> konkrete Zahlen hilft e<strong>in</strong>e Darstellung<br />

aller relevanter Ausgabewerte bei E<strong>in</strong>gabe der bekannten Parameter, also der horizonta-


56 3.4 Exemplarische Fallstudien zum Berechnungsverfahren<br />

Abbildung 3.10: (l<strong>in</strong>ks) Lokalisierungskarte <strong>für</strong> e<strong>in</strong>e Kamera mit C = (0 | 0), 720 Pixeln<br />

horizontaler Auflösung, 4, 8 mm Bildsensor-Breite und 6 mm Bildweite sowie <strong>Roboter</strong>n mit<br />

Radius 25 cm. Grün steht <strong>für</strong> gut lokalisierbare <strong>Roboter</strong>positionen, Rot <strong>für</strong> schlecht lokalisierbare.<br />

(rechts) Graphische Darstellung der vermuteten Positionen nach Breite der zugehörigen<br />

Projektionen. Die e<strong>in</strong>zelnen L<strong>in</strong>ien bezeichnen jeweils Projektionen gleicher Breite <strong>in</strong> Pixeln.<br />

len Auflösung, der Bildsensor-Breite, der Bildweite und des <strong>Roboter</strong>radius. Im Rahmen<br />

dieser Arbeit wurde e<strong>in</strong> Java-Programm entwickelt, das dem entgegenkommt, <strong>in</strong>dem<br />

es zu diesen dort e<strong>in</strong>stellbaren Parametern e<strong>in</strong>e zweidimensionale Karte (im Folgenden<br />

Lokalisierungskarte genannt) erstellt, die die Güte von Positionen anderer <strong>Roboter</strong> relativ<br />

zum Projektionszentrum der Kamera h<strong>in</strong>sichtlich der Genauigkeit der Lokalisierung<br />

visualisiert. Diese Software ist auf der der Arbeit beiliegenden CD enthalten und <strong>in</strong><br />

Anhang A grundlegend dokumentiert.<br />

Abbildung 3.10 (l<strong>in</strong>ks) zeigt e<strong>in</strong> exemplarisches Ausgabebild des Programms: Die Lokalisierungskarte<br />

bewertet Positionen vom Projektionszentrum (0 | 0) aus gesehen nach<br />

der maximal möglichen Abweichung der Entfernungsschätzung, hier im Bereich von<br />

x ∈ [−210 cm, 210 cm] und y ∈ [0 cm, 700 cm]. Dort, wo die Karte grün ist, kann<br />

e<strong>in</strong>e Lokalisierung relativ genau stattf<strong>in</strong>den, dort, wo sie rot ist, nur ungenau. Positionen<br />

dazwischen s<strong>in</strong>d <strong>in</strong> den auf dem Farbkreis zwischen Rot und Grün liegenden<br />

Farben gehalten. Für das gegebene Bild wurde im E<strong>in</strong>gabebereich des Programms e<strong>in</strong>e


3 Relative Lokalisierung von <strong>Roboter</strong>n aus Kamerabildern 57<br />

günstige Position als e<strong>in</strong>e mit Fehler ∆d ≤ 0, 01 m def<strong>in</strong>iert, e<strong>in</strong>e ungünstige mit im<br />

schlechten Falle Fehlern größer 0, 1 m. So hat etwa die Position (0, 2446 m | 1, 9544 m)<br />

die geschätzte Entfernung 1, 9696 m mit Fehler ∆d ≤ 0, 0083 m. Diese Daten s<strong>in</strong>d <strong>in</strong><br />

der Abbildung nicht textuell dargestellt, den Anzeigen des Programms aber ebenso wie<br />

weitere Werte entnehmbar. Weiße Stellen der Karte repräsentieren nun Positionen, an<br />

denen <strong>Roboter</strong> nicht lokalisierbar s<strong>in</strong>d. Sie ergeben sich implizit aus den E<strong>in</strong>gabewerten;<br />

direkt vor der Kamera überschreitet die Projektion e<strong>in</strong>es <strong>Roboter</strong>s die Breite des<br />

Kamerabilds, so s<strong>in</strong>d bei den gegebenen Parametern ke<strong>in</strong>e <strong>Roboter</strong> lokalisierbar, die weniger<br />

als etwa 0, 7 m vom Projektionszentrum entfernt s<strong>in</strong>d. Auch lassen sich <strong>Roboter</strong>,<br />

die l<strong>in</strong>ks und rechts vom Bildw<strong>in</strong>kel der Kamera stehen, nicht lokalisieren, da sich ihre<br />

Projektionen (zum<strong>in</strong>dest partiell) außerhalb der Bildebene bef<strong>in</strong>den.<br />

Die Lokalisierungskarte gibt also Aufschluss darüber, wo sich andere <strong>Roboter</strong> aufhalten<br />

müssen, damit sie anhand e<strong>in</strong>es Kamerabildes vernünftig zu lokalisieren s<strong>in</strong>d. Nicht<br />

überraschend zeigt sich, dass die Qualität der Lokalisierung mit zunehmender Entfernung<br />

vom Projektionszentrum abnimmt. Jedoch ist bereits hier erkennbar, dass gleich<br />

genau bestimmbare Positionen nicht etwa radial um das Projektionszentrum herum liegen,<br />

sondern dass näher an der Hauptprojektionsachse bef<strong>in</strong>dliche Positionen größere<br />

Abweichungen vorweisen als weiter außen liegende mit gleicher Entfernungsschätzung.<br />

Um die unterliegende Frage der Verteilung von Positionen mit gleich großer Berechnungsungenauigkeit<br />

wird es genauer aber erst im folgenden Abschnitt gehen. Hier sei<br />

schon darauf h<strong>in</strong>gewiesen, dass sicherlich nicht alle<strong>in</strong> die Größe der Projektion ausschlaggebend<br />

<strong>für</strong> die Güte der Entfernungsschätzung ist, wie Abbildung 3.10 (rechts)<br />

verdeutlicht, die ebenfalls mit der Software erzeugt wurde. Sie zeigt, wie es sich mit<br />

der gegenseitigen Lage von Mittelpunkten, die zu gleich breiten Projektionen führen,<br />

verhält: die sichtbaren, leicht nach oben gebogenen Kurven beziehen sich jeweils auf<br />

Projektionen gleicher Pixelzahl und korrespondieren nicht mit den Farbbelegungen von<br />

Abbildung 3.10 (l<strong>in</strong>ks).<br />

Es stellt sich die Frage, welche Konsequenzen Änderungen der bekannten E<strong>in</strong>gabeparameter<br />

<strong>für</strong> die Lokalisierungskarten haben. Da sich die Auswirkungen <strong>in</strong>tuitiv verhalten,<br />

wird hier erneut auf mathematische Beweise verzichtet, e<strong>in</strong>e beispielhafte Betrachtung<br />

wird h<strong>in</strong>gegen als ausreichend erachtet. Abbildung 3.11 illustriert, was pr<strong>in</strong>zipiell bei<br />

Modifikation jeweils e<strong>in</strong>es Parameters passiert. Die Lokalisierungskarte aus Abbildung<br />

3.10 (l<strong>in</strong>ks) ist zum Vergleich noch e<strong>in</strong>mal <strong>in</strong> Abbildung 3.11 (l<strong>in</strong>ks) dargestellt. Bei<br />

gleichbleibendem Verhältnis von Bildebene und Bildweite, also bei gleichem horizontalem<br />

Bildw<strong>in</strong>kel, führt e<strong>in</strong>e Erhöhung der horizontalen Auflösung erwartungsgemäß zu<br />

ger<strong>in</strong>geren Ungenauigkeiten (Abbildung 3.11 halb l<strong>in</strong>ks), da e<strong>in</strong> <strong>Roboter</strong> mit Entfernung<br />

d <strong>in</strong> diesem Fall e<strong>in</strong>e von der Pixelanzahl her breitere Projektion c erzeugt, weswegen<br />

sich Pixelunterschiede weniger auswirken. Wird nun der horizontale Bildw<strong>in</strong>kel η etwa<br />

wie <strong>in</strong> Abbildung 3.11 (halb rechts) vergrößert zu η ′ (das me<strong>in</strong>t e<strong>in</strong>e Vergrößerung<br />

der Bildsensor-Breite oder e<strong>in</strong>e Verkle<strong>in</strong>erung der Bildweite), so weisen bereits ger<strong>in</strong>gere<br />

Entfernungsberechnungen stärkere Abweichungen auf. Dies ist begründet <strong>in</strong> der<br />

Tatsache, dass sich e<strong>in</strong> <strong>Roboter</strong> bei Bildw<strong>in</strong>kel η ′ näher am Projektionszentrum bef<strong>in</strong>den<br />

muss als bei Bildw<strong>in</strong>kel η, um auf e<strong>in</strong>e Fläche der Breite c projiziert zu werden,<br />

da der zu c gehörige W<strong>in</strong>kel γ (vgl. Kapitel 3.2) <strong>in</strong> diesem Fall größer ist. Abbildung<br />

3.11 (rechts) zeigt nun letztlich e<strong>in</strong>e Verkle<strong>in</strong>erung des <strong>Roboter</strong>radius. Aus ihr resultiert


58 3.5 Ermittlung e<strong>in</strong>es günstigen Bereichs zur Lokalisierung von <strong>Roboter</strong>n<br />

Abbildung 3.11: Vergleich von Lokalisierungskarten bei Änderung jeweils e<strong>in</strong>es Parameters.<br />

(l<strong>in</strong>ks) Ausgangsbild: Horizontale Auflösung 720 Pixel, Verhältnis Projektionsbreite zu Bildweite<br />

4 : 5, <strong>Roboter</strong>radius 25 cm. (halb l<strong>in</strong>ks) Horizontale Auflösung 1280 Pixel. (halb rechts)<br />

Verhältnis Projektionsbreite zu Bildweite 1 : 1. (rechts) Radius des <strong>Roboter</strong>s 12, 5 cm.<br />

ebenfalls, dass der Fehler ∆d schon <strong>in</strong> ger<strong>in</strong>geren Entfernungen höher ist, denn bei gleicher<br />

Entfernung d ist die Projektion e<strong>in</strong>es kle<strong>in</strong>eren <strong>Roboter</strong>s schmaler. Folglich wirken<br />

sich Pixelunterschiede wie bekannt deutlicher aus.<br />

Dieses Teilkapitel diente dazu, e<strong>in</strong>e Vorstellung von den bei den Berechnungen auftretetenden<br />

Werten und ihren Ungenauigkeiten zu bekommen. E<strong>in</strong>e formale Ermittlung<br />

der verschiedenen Eigenschaften stand h<strong>in</strong>gegen nicht im Fokus des Interesses. In der<br />

Praxis, also bei der durch Kommunikation gegenseitig gesteuerten Bewegung der <strong>Roboter</strong>,<br />

um die es bei den Strategien <strong>in</strong> Kapitel 4 gehen wird, würden pr<strong>in</strong>zipiell konkrete<br />

Berechnungen ausreichen, denn natürlich kann e<strong>in</strong> <strong>Roboter</strong> stets erfragen, ob se<strong>in</strong>e aktuelle<br />

Position vom e<strong>in</strong>em ihn beobachtenden <strong>Roboter</strong> <strong>in</strong> e<strong>in</strong>er vorgegebenen Genauigkeit<br />

bestimmt werden kann, schließlich lässt sich dmax − dsupp jederzeit errechnen.<br />

Für e<strong>in</strong>e theoretische H<strong>in</strong>terfragung, welche Bewegungsabläufe allgeme<strong>in</strong> s<strong>in</strong>nvoll se<strong>in</strong><br />

könnten, haben mathematisch verifizierbare Schranken aber e<strong>in</strong>en großen Nutzen. Deshalb<br />

wird der letzte Abschnitt dieses Kapitels sich mit diesbezüglich herleitbaren Erkenntnissen<br />

beschäftigen. Es wird sich zeigen, dass die vorgestellten Berechnungsvorschriften<br />

aus Kapitel 3.2 sich dabei komplizierend auswirken und daher bestimmte Abstriche<br />

bei den Ergebnissen akzeptiert werden müssen.<br />

3.5 Ermittlung e<strong>in</strong>es günstigen Bereichs zur Lokalisierung<br />

von <strong>Roboter</strong>n<br />

Ziel diesen letzten Teilkapitels zur Analyse der Kamerabilder ist es, e<strong>in</strong>en Bereich relativ<br />

zur Lage des Projektionszentrums der Kamera unabhängig konkreter E<strong>in</strong>gabeparameter<br />

zu def<strong>in</strong>ieren, <strong>in</strong> dem sich <strong>Roboter</strong> vernünftig lokalisieren lassen. Vernünftig me<strong>in</strong>t


3 Relative Lokalisierung von <strong>Roboter</strong>n aus Kamerabildern 59<br />

hier, dass dabei e<strong>in</strong> fester, aber bei der Bestimmung beliebig gewählter Wert ε <strong>für</strong> die<br />

maximale Abweichung der Entfernungsberechnung nicht überschritten wird. E<strong>in</strong> solcher<br />

Bereich G, der die Bezeichnung günstiger Bereich trage, wird sich als nützlich <strong>für</strong> die<br />

Entwicklung von <strong>Bewegungsstrategien</strong> erweisen, da die sequentielle Fortbewegung e<strong>in</strong>er<br />

Gruppe von <strong>Roboter</strong>n darauf basierend untersucht werden kann, ohne die Kommunikation<br />

zwischen den <strong>Roboter</strong>n oder die konkreten Koord<strong>in</strong>aten <strong>in</strong>nerhalb der Planung der<br />

Bewegungsabläufe beachten zu müssen: E<strong>in</strong>e e<strong>in</strong>zelne Bewegungsabfolge e<strong>in</strong>es <strong>Roboter</strong>s<br />

kann dann abstrakt gesehen als Umpositionierung von e<strong>in</strong>em günstigen Bereich <strong>in</strong> e<strong>in</strong>en<br />

anderen aufgefasst werden.<br />

Ansätze zur Bestimmung e<strong>in</strong>es exakten Bereichs<br />

Die Lokalisierungskarten aus dem vorigen Teilkapitel gaben bereits H<strong>in</strong>weise darauf, wie<br />

e<strong>in</strong> günstiger Bereich <strong>in</strong> etwa aussieht. Vom Projektionszentrum aus betrachtet endet<br />

die zugehörige Fläche l<strong>in</strong>ks und rechts je an e<strong>in</strong>er Gerade, die sich aus dem horizontalen<br />

Bildw<strong>in</strong>kel der Kamera ergibt: Wenn die Projektion e<strong>in</strong>es <strong>Roboter</strong>s bis zu e<strong>in</strong>em Rand<br />

der Bildebene reicht, kann die Entfernung des <strong>Roboter</strong>s nicht mehr bestimmt werden, da<br />

sich nicht ermitteln lässt, ob die Projektion noch außerhalb der Bildebene weitergehen<br />

würde. Aus diesem Grund werden die entsprechenden Geraden gL und gR im Folgenden<br />

l<strong>in</strong>ke und rechte Sichtgrenze genannt. Ehe es um diese Grenzen geht, sei zuvor deren<br />

Schnittpunkt VG bestimmt. Nach den Lokalisierungskarten und auch <strong>in</strong>tuitiv ersichtlich<br />

schneiden sich die Geraden nahe dem Projektionszentrum auf der Hauptprojektionsachse.<br />

Denn VG repräsentiert den Mittelpunkt e<strong>in</strong>es <strong>Roboter</strong>s, dessen Projektion c die<br />

komplette Breite der Bildebene mit Ausnahme der Randpixel e<strong>in</strong>nimmt, also alle Pixel<br />

von e<strong>in</strong>schließlich i = 1 bis j = m − 2, wobei m wie gehabt die Anzahl der horizontalen<br />

Pixel p0, p1, ..., pm−1 beschreibt. Es werde nun also VG berechnet. Für die vermutete<br />

Projektion csupp ergeben sich mit i und j folgende Koord<strong>in</strong>aten der Randpunkte:<br />

<br />

1 <br />

1 m<br />

Asupp = (xA | yA) = + 2 − 2 · w<br />

<br />

<br />

<br />

m <br />

f<br />

<br />

3 − m<br />

= ·<br />

2<br />

w<br />

<br />

<br />

<br />

<br />

m f<br />

<br />

<br />

m <br />

1 m<br />

Bsupp = (xB | yB) = − 2 + 2 − 2 · w<br />

<br />

<br />

<br />

m <br />

f<br />

<br />

m − 3<br />

= ·<br />

2<br />

w<br />

<br />

<br />

<br />

<br />

m f<br />

<br />

Wie zu erwarten unterscheiden sich Asupp und Bsupp nur im Vorzeichen ihrer x-Koord<strong>in</strong>ate,<br />

denn αsupp und βsupp s<strong>in</strong>d selbstredend gleich groß. Es folgt <strong>für</strong> die bekannten Strecken<br />

asupp und bsupp:<br />

asupp = bsupp =<br />

m − 3<br />

2<br />

· w<br />

<br />

2 3 − m<br />

+ f 2 =<br />

m<br />

2<br />

· w 2 + f 2<br />

m<br />

Mittels asupp (oder wahlweise auch bsupp) kann nun die vermutete Entfernung dsupp<br />

berechnet werden, da sich αsupp = βsupp aus asupp ergibt:<br />

dsupp =<br />

=<br />

r<br />

αsupp+βsupp<br />

cos 2<br />

<br />

1 +<br />

=<br />

f 2<br />

xB 2 <br />

· r = 1 +<br />

r xB =<br />

asupp<br />

asupp<br />

· r =<br />

xB<br />

f 2<br />

<br />

m−3<br />

· 2 w<br />

2 · r =<br />

m<br />

<br />

xB 2 + f 2<br />

· r<br />

<br />

xB<br />

1 + 4 · m2 · f 2<br />

(m − 3) 2 · r<br />

· w2


60 3.5 Ermittlung e<strong>in</strong>es günstigen Bereichs zur Lokalisierung von <strong>Roboter</strong>n<br />

Somit sich ergibt sich mit dem Wissen, dass αsupp − βsupp = 0 und als Konsequenz<br />

s<strong>in</strong> α−β α−β <br />

2 = 0 und cos 2 = 1 ist, <strong>für</strong> den zu berechnenden Punkt VG = (0 · d | 1 · d):<br />

<br />

<br />

<br />

VG = 0 <br />

<br />

1 + 4 · m2 · f 2<br />

(m − 3) 2 · r<br />

· w2 Die y-Koord<strong>in</strong>ate von VG stellt somit gleichzeitig den y-Achsen-Abschnitt der Geraden<br />

gL und gR dar, weshalb deren Steigungen s(gL) und s(gR) zu ermitteln bleiben. Da<br />

offensichtlich −s(gL) = s(gR) gilt, reicht es, e<strong>in</strong>e von beiden herauszuf<strong>in</strong>den. Sei nun<br />

die durch C = (0 | 0) und Bsupp = m−3<br />

2 · w<br />

<br />

<br />

m f def<strong>in</strong>ierte Gerade betrachtet. Der<br />

Mittelpunkt jedes <strong>Roboter</strong>s, dessen rechter Projektionsrand durch Bsupp gegeben ist,<br />

hat die Entfernung r von dieser Gerade. Natürlich werden diese Mittelpunkte genau<br />

durch die Gerade gR zusammengefasst, folgerichtig muss gR parallel zur Gerade durch<br />

B und C se<strong>in</strong>, womit sich s(gR) und daher auch s(gL) wie folgt berechnen lassen:<br />

s(gR) = yB − yC<br />

xB − xC<br />

f − 0<br />

= <br />

m−3<br />

2 · w<br />

2 · m · f<br />

=<br />

m − 0 (m − 3) · w ⇒ s(gL)<br />

2 · m · f<br />

= −<br />

(m − 3) · w<br />

Es resultieren also folgende Funktionen der beiden gesuchten Sichtgrenzen:<br />

<br />

gL(x) =<br />

<br />

<br />

gR(x) =<br />

<br />

1 + 4 · m2 · f 2<br />

(m − 3) 2 · r<br />

· w2 1 + 4 · m2 · f 2<br />

(m − 3) 2 · r<br />

· w2 <br />

<br />

2 · m · f<br />

− · x<br />

(m − 3) · w<br />

<br />

+ 2 · m · f<br />

· x<br />

(m − 3) · w<br />

Entsprechend ergibt sich der Sichtw<strong>in</strong>kel ηG, also der Teil des horizontalen Bildw<strong>in</strong>kels<br />

η, <strong>in</strong> dem <strong>Roboter</strong> lokalisierbar s<strong>in</strong>d, aus dem Arcustangens des W<strong>in</strong>kels an Bsupp (oder<br />

auch Asupp):<br />

ηG = 2 · arctan (m − 3) · w <br />

2 · m · f<br />

Schließlich stellt sich die <strong>in</strong> diesem Zusammenhang sicherlich wichtigste Frage, wie der<br />

günstige Bereich nach h<strong>in</strong>ten abgeschlossen ist. Da die Ungenauigkeit der Berechnung<br />

wie gezeigt mit zunehmender Entfernung steigt, wird hier e<strong>in</strong>e Abweichungsgrenze gH<br />

nach h<strong>in</strong>ten gesucht. Im optimalen Fall wäre also e<strong>in</strong>e Funktion der Abweichungsgrenze<br />

wünschenswert, die <strong>in</strong> Abhängigkeit zu e<strong>in</strong>er der aus e<strong>in</strong>er Projektion resultierenden<br />

Randkoord<strong>in</strong>aten (zum Beispiel xA) die zugehörige y-Koord<strong>in</strong>ate liefert, so dass<br />

die maximale Abweichung ∆d = dmax − dsupp e<strong>in</strong>en beliebigen, aber fest gewählten<br />

Wert ε nicht überschreitet. Zweifelsohne bee<strong>in</strong>flussen die horizontale Auflösung m, die<br />

Bildsensor-Breite w, die Bildweite f und der <strong>Roboter</strong>radius r die Werte e<strong>in</strong>er solchen


3 Relative Lokalisierung von <strong>Roboter</strong>n aus Kamerabildern 61<br />

Funktion, denn das letzte Teilkapitel hat untermauert, dass Änderungen dieser Werte<br />

zu Variationen der Lokalisierungskarten führen.<br />

Problematischerweise berechnet sich aber die Ungenauigkeit wie vorgestellt über den<br />

Cos<strong>in</strong>us der halben W<strong>in</strong>kelsumme α+β<br />

2 . Es wurde <strong>in</strong> dieser Arbeit ke<strong>in</strong> Weg gefunden,<br />

aus der Summe generell Rückschlüsse auf die Koord<strong>in</strong>aten xA und xB machen zu können,<br />

da sich α und β, die selbst über e<strong>in</strong>e der W<strong>in</strong>kelverhältnisfunktionen bestimmt werden<br />

müssen, nicht aus der Summe isolieren lassen. E<strong>in</strong> Sonderfall ergibt sich bei Projektionen<br />

<strong>in</strong> der Mitte der Bildebene. Hier gilt α = β, weswegen cos α+β xB<br />

2 = cos(α) = a folgt.<br />

Damit e<strong>in</strong>e maximale Abweichung ε bei der Entfernungsberechnung e<strong>in</strong>gehalten wird,<br />

muss also folgende Ungleichung gelten:<br />

<br />

r · (xBsupp +<br />

ε ≤ dmax − dsupp =<br />

p<br />

2 )2 + f 2<br />

<br />

r · xB<br />

−<br />

2 supp + f 2<br />

xBsupp + p<br />

2<br />

xBsupp<br />

Hierbei bezeichnet p wie gehabt die Breite e<strong>in</strong>es Pixels. Es sei auf die Angabe der<br />

Umformung verzichtet, aus der sich folgende zu lösende Ungleichung ergibt, wobei aus<br />

def<strong>in</strong>iert seien:<br />

Gründen der Übersichtlichkeit s := ε<br />

r<br />

und t := p<br />

2<br />

(4s 2 − s 4 ) · xB + t) 4 · xB 4 − 2f 2 s 2 · (xB + t) 4 · xB 2 − f 4 · xB 4<br />

+(4f 2 s 2 − f 4 ) · (xB + t) 4 + 2f 2 s 2 · (xB + t) 2 · xB 4 + 2f 4 · (xB + t) 2 · xB 2 ≥ 0<br />

Es handelt sich hier also auf der l<strong>in</strong>ken Seite der Ungleichung um e<strong>in</strong> Polynom achten<br />

Grades, so dass es <strong>für</strong> die Lösung der Ungleichung ke<strong>in</strong>en allgeme<strong>in</strong>en Ansatz gibt. E<strong>in</strong><br />

erneutes Mal liegt e<strong>in</strong>e Situation vor, bei der es nicht weitergeht, selbst die verbreitete<br />

Mathematik-Software MuPAD (vgl. SciFace 2008) kann die Ungleichung nicht nach<br />

xB auflösen. Aufgrund der genannten Probleme bleibt daher hier offen, wie e<strong>in</strong>e exakte<br />

Abweichungsgrenze aussieht. Abbildung 3.12 (l<strong>in</strong>ks) zeigt, wie der sich ergebende,<br />

günstige Bereich G aussehen könnte. Dabei sei angemerkt, dass sich die dargestellte<br />

Kurvenform der Funktion gH an Messwerten orientiert, auf die hier nicht genauer e<strong>in</strong>gegangen<br />

wird, weil ke<strong>in</strong> theoretisches Fundament da<strong>für</strong> hergeleitet wurde.<br />

Näherung der Grenze vernünftiger Lokalisierbarkeit<br />

Im Folgenden wird als Ausweg e<strong>in</strong>e Näherung ˜gH der Abweichungsgrenze entwickelt,<br />

die auf den ersten Blick unangemessen ersche<strong>in</strong>en mag, sich <strong>in</strong> der Praxis aber durchaus<br />

als tauglich erweist, wie teils argumentativ, teils formal begründet werden wird. Die<br />

soeben beschriebenen Schwierigkeiten resultierten zum e<strong>in</strong>en aus der Komplexität der<br />

Entfernungsberechnung, die auf die halbe W<strong>in</strong>kelsumme α+β<br />

2 zurückgeht, zum anderen<br />

aus der Berechnung der Seitenlänge von b (respektive a) über Pythagoras, die beim<br />

Cos<strong>in</strong>us des W<strong>in</strong>kels β (respektive α) wichtig ist.<br />

Letzteres sei nun umgegangen, <strong>in</strong>dem die Entfernung bei σ = α+β<br />

2<br />

nicht über den Co-<br />

s<strong>in</strong>us als d = 1<br />

cos(σ) · r, sondern über den Tangens als ˜ d = tan σ) · r berechnet wird.<br />

Es gilt tan(σ) = 1<br />

cos(δ)<br />

· s<strong>in</strong>(σ), was sche<strong>in</strong>bar große Änderungen <strong>in</strong> den sich ergeben-<br />

den Werten bewirkt. Die konkreten Berechnungen im vorangegangen Kapitel zeigten<br />

aber schon, dass sich Werte <strong>für</strong> σ eher im Bereich nahe 90 ◦ als nahe 0 ◦ bef<strong>in</strong>den. Nach<br />

unten beschränkt s<strong>in</strong>d sie implizit durch den Sichtw<strong>in</strong>kel ηG des günstigen Bereichs.


62 3.5 Ermittlung e<strong>in</strong>es günstigen Bereichs zur Lokalisierung von <strong>Roboter</strong>n<br />

gLgL y y<br />

GG<br />

ηGηG VGVG C C<br />

gHgH gRgR x x<br />

gLgL y y<br />

HGH G<br />

~ ~<br />

GG<br />

ηGηG VGVG C C<br />

~ ~<br />

gHgH ~<br />

d<br />

~<br />

d supp<br />

gRgR Abbildung 3.12: (l<strong>in</strong>ks) Im günstigen Bereich G hat die Berechnung der Entfernung e<strong>in</strong>e<br />

maximale Abweichung e<strong>in</strong>es festen, aber beliebig gewählten Werts ε. Die Funktion gH der<br />

Abweichungsgrenze ist unbekannt. (rechts) Auch im angenäherten günstigen Bereich ˜ G hat die<br />

Berechnung der Entfernung e<strong>in</strong>e maximale Abweichung desselben ε. Die bekannte Funktion ˜gH<br />

hat überall den Abstand ˜ dsupp vom Projektionszentrum C.<br />

Dann nämlich ist nach Innenw<strong>in</strong>kelsumme e<strong>in</strong>es Dreiecks σ > 180◦−ηG 2 . Für die <strong>in</strong> den<br />

Beispielen verwendeten (realistischen) Kameradaten lag etwa e<strong>in</strong> Sichtw<strong>in</strong>kel von 43, 4◦ vor, womit stets σ ≥ 68, 3◦ und somit s<strong>in</strong>(σ) ≥ 0, 929 gelten würde. Die <strong>für</strong> e<strong>in</strong>e angenäherte<br />

Abweichungsgrenze relevanten Werte werden jedoch im Allgeme<strong>in</strong>en noch<br />

deutlich höher se<strong>in</strong>, denn unter der zweifellos s<strong>in</strong>nvollen Annahme, dass e<strong>in</strong> günstiger<br />

Bereich mehr als nur e<strong>in</strong>ige Zentimeter <strong>in</strong> die Tiefe gehen sollte, s<strong>in</strong>d dort Projektionen<br />

wesentlich schmaler als die Bildebene, womit der W<strong>in</strong>kel σ entsprechend größer ist. Zu<br />

der 240 Pixel breiten Projektion aus Tabelle 3.1, die zu e<strong>in</strong>er maximalen Abweichung<br />

von lediglich 8 mm führte, gehört σsupp ≈ 82, 6◦ und folglich s<strong>in</strong>(σsupp) ≈ 0, 992. Das<br />

bedeutet e<strong>in</strong>en Unterschied zwischen dsupp und ˜ dsupp von unter e<strong>in</strong>em Prozent.<br />

Selbst wenn hier nur anhand konkreter Werte argumentiert wurde, können sich <strong>in</strong> der<br />

Praxis zum<strong>in</strong>dest def<strong>in</strong>itiv ke<strong>in</strong>e negativen Folgen aus der Näherung ergeben, da sie<br />

nicht zu fehlerhaften Vermutungen führt. Es muss gewährleistet se<strong>in</strong>, dass bei e<strong>in</strong>er<br />

Entfernung d = ˜ d, bei der die Abweichung der Näherung ˜ d e<strong>in</strong>e Grenze ε nicht überschreitet,<br />

auch die Abweichung von d unterhalb derselben Grenze bleibt. Dies ist <strong>für</strong> die<br />

beschriebene Näherung gegeben, wie der folgende Satz sicherstellt:<br />

Satz 3.2 Seien zwei Projektionen c und ˜c mit gleichem Mittelpunkt gegeben. Seien<br />

weiter σsupp und σmax mit 0 ◦ < σsupp < σmax < 90 ◦ die zu c gehörende vermutete<br />

bzw. maximal mögliche halbe W<strong>in</strong>kelsumme. Entsprechend seien ˜σsupp und ˜σmax mit<br />

0 ◦ < ˜σsupp < ˜σmax < 90 ◦ <strong>für</strong> ˜c def<strong>in</strong>iert.<br />

Nun gelte dsupp =<br />

r<br />

cos(σsupp) = tan(˜σsupp) · r = ˜ dsupp. Dann folgt:<br />

r<br />

cos(σmax) −<br />

r<br />

cos(σsupp) < tan(˜σmax) · r − tan(˜σsupp) · r<br />

x x


3 Relative Lokalisierung von <strong>Roboter</strong>n aus Kamerabildern 63<br />

r<br />

cos(σsupp)<br />

Beweis: Es gilt tan(˜σsupp) · r =<br />

tan(˜σsupp) > tan(σsupp) und somit im relevanten W<strong>in</strong>kelbereich ˜σsupp > σsupp.<br />

= tan(σsupp)·r<br />

s<strong>in</strong>(σsupp) > tan(σsupp) · r. Hieraus folgt<br />

Weil c und ˜c den gleichen Mittelpunkt haben und <strong>in</strong> diesem Fall die Zunahme größerer<br />

W<strong>in</strong>kelsummen stärker als die kle<strong>in</strong>erer W<strong>in</strong>kelsummen ist (vgl. Lemma 3.3),<br />

ergibt sich folgerichtig ˜σmax − ˜σsupp > σmax − σsupp. Der Unterschied zwischen der<br />

vermuteten und maximal möglichen W<strong>in</strong>kelsumme von ˜c übersteigt also den entspre-<br />

chenden Unterschied bei c. Im vorliegenden Bereich 0◦ < x < 90◦ gilt nun weiter<br />

tan ′ 1 (x) = cos2 s<strong>in</strong>(x)<br />

> (x) cos2 <br />

1 ′,<br />

= (x) cos(x) denn dort ist 1 > s<strong>in</strong>(x). Dies bedeutet, dass<br />

r<br />

tan(˜σmax) > cos(σmax) gültig ist, was zu zeigen war. <br />

Es wird sich nun der Vermeidung der Komplexität gewidmet, die aus α+β<br />

2<br />

entsteht.<br />

Wie besprochen, legten die konkreten Werte aus Kapitel 3.4 die Vermutung nahe, dass<br />

weiter außen im Kamerabild bei gleicher Entfernung ger<strong>in</strong>gere Abweichungen vorliegen<br />

als <strong>in</strong> der Mitte. Lässt sich also e<strong>in</strong>e Entfernung ˜ dsupp bestimmen, bei der an der Hauptprojektionsachse<br />

e<strong>in</strong>e Abweichungsgrenze ε e<strong>in</strong>gehalten wird, so sollte diese auch außen<br />

nicht überschritten werden, was später gezeigt werden wird. Für die e<strong>in</strong>geführte Nähe-<br />

rung lässt sich die Abweichung von ˜ dsupp nämlich <strong>in</strong> der Tat <strong>in</strong> der Projektionsmitte,<br />

wo α = β, somit tan α+β <br />

2 = tan β und d ˜ f·r<br />

= tan(β) · r = gilt, allgeme<strong>in</strong> def<strong>in</strong>ieren:<br />

xB<br />

⇒<br />

⇒<br />

⇒<br />

ε ≤ ˜ dmax − ˜ dsupp =<br />

ε<br />

r ≤<br />

f · xBsupp<br />

xBsupp · xBsupp − p<br />

2<br />

f · r<br />

xBsupp − p<br />

2<br />

−<br />

f · r<br />

xBsupp<br />

− f · xBsupp − p<br />

2<br />

<br />

xBsupp · xBsupp − p<br />

2<br />

ε<br />

r · xBsupp 2 − p f · p<br />

· xBsupp ≤ f · xBsupp − f · xBsupp +<br />

2 2<br />

ε<br />

r · xBsupp 2 ε · p<br />

−<br />

2 · r · xBsupp<br />

f · p<br />

−<br />

2<br />

⇒ xBsupp 2 − p<br />

2 · xBsupp −<br />

⇒ xBsupp ≤ p<br />

4 ±<br />

<br />

<br />

− p<br />

4<br />

f · p · r<br />

2 · ε<br />

2<br />

+ f · p · r<br />

≤ 0<br />

2 · ε<br />

Nach Voraussetzung kann nur der positive Wert von xBsupp stimmen, da die Projektion<br />

mittig auf der Bildebene liegt. Dort, wo also xBsupp genau den errechneten Wert annimmt,<br />

liegt e<strong>in</strong> Punkt HG = (0 | ˜ dsupp), wobei ˜ dsupp demjenigen Wert entspricht, bei<br />

dem sich e<strong>in</strong>e maximale Abweichung von ε garantieren lässt:<br />

HG =<br />

<br />

0<br />

<br />

<br />

<br />

<br />

<br />

p<br />

4 +<br />

f · r<br />

p<br />

4<br />

≤ 0<br />

2 + f·p·r<br />

2·ε<br />

Die angenäherte Abweichungsgrenze ˜gH wird nun def<strong>in</strong>iert als diejenige Funktion, die<br />

an jeder Stelle den soeben berechneten Abstand ˜ dsupp zum Projektionszentrum C hat.<br />

Bekanntlich gilt <strong>für</strong> e<strong>in</strong>en Kreis mit Radius ˜ dsupp die aus dem Pythagoras ableitbare<br />

Gleichung x 2 + y 2 = ˜ d 2 supp, aus der sich ˜gH als Funktion, die die y-Koord<strong>in</strong>ate <strong>in</strong>


64 3.5 Ermittlung e<strong>in</strong>es günstigen Bereichs zur Lokalisierung von <strong>Roboter</strong>n<br />

<br />

Abhängigkeit der x-Koord<strong>in</strong>ate liefert, umformen lässt als ˜gH(x) = y = ˜d 2<br />

supp − x2 :<br />

<br />

<br />

<br />

˜gH(x) =<br />

<br />

<br />

p<br />

4 +<br />

f · r<br />

p<br />

4<br />

2 + f·p·r<br />

2·ε<br />

2<br />

− x 2<br />

Der <strong>in</strong>sgesamt ermittelte, angenäherte günstige Bereich ˜ G ist <strong>in</strong> Abbildung 3.12 (rechts)<br />

zu sehen. Es bleibt zu zeigen, dass die maximale Abweichung der Entfernungsberechnung<br />

an jedem Punkt der Funktion ˜gH unterhalb ε liegt. Der folgende Satz sagt genau<br />

dies aus, nämlich dass die Entfernungsschätzung <strong>in</strong> der Mitte der Bildebene schlechter<br />

funktioniert als außen, dass also die maximale Abweichung bei der Entfernungsberechnung<br />

zu e<strong>in</strong>er Projektion e<strong>in</strong>es <strong>Roboter</strong>s <strong>in</strong> Entfernung d <strong>in</strong> der Mitte größer ausfällt<br />

als am Rand. Im Beweis wird das e<strong>in</strong>zige Mal die <strong>in</strong> Kapitel 3.1 e<strong>in</strong>geführte E<strong>in</strong>schrän-<br />

kung, dass nur Kameras mit Bildw<strong>in</strong>kel kle<strong>in</strong>ergleich 90 ◦ , also f ≥ w<br />

2<br />

s<strong>in</strong>d, ausgenutzt, was sich <strong>für</strong> die Argumentation als wichtig erweist.<br />

, von Interesse<br />

Satz 3.3 Sei e<strong>in</strong>e Kamera mit Projektionszentrum C = (0 | 0), Bildweite f und e<strong>in</strong>er<br />

Bildebene der Breite w mit f ≥ w<br />

2 gegeben.<br />

Seien weiter c und c ′ zwei Projektionen von <strong>Roboter</strong>n mit gleichem Radius r, wobei der<br />

Mittelpunkt von c entgegen dem von c ′ auf der Hauptprojektionsachse liege. Für c und<br />

c ′ gelte, dass aus ihnen die gleiche, vermutete Entfernung dsupp zu C resultiert.<br />

Seien nun ˜ dmax die aus c und ˜ d ′ max die aus c ′ hervorgehende, maximal mögliche, angenäherte<br />

Entfernung zu C. Dann gilt ˜ dmax > ˜ d ′ max.<br />

Beweis: Der Satz wird über die Unterschiede der Summe der maximal möglichen E<strong>in</strong>fallsw<strong>in</strong>kel<br />

von c und c ′ geführt. Sei csupp die zu c gehörende, vermutete Projektion.<br />

Da auch der Mittelpunkt von csupp auf der Hauptprojektionsachse liegt, s<strong>in</strong>d deren<br />

Randpunkte Asupp = (xAsupp | f) und Bsupp = (xBsupp | f) gleich weit vom Projektionszentrum<br />

C entfernt. csupp wird also durch die Achse <strong>in</strong> zwei Seiten der gleichen<br />

Länge x geteilt: csupp = 2x. Entsprechend s<strong>in</strong>d die E<strong>in</strong>fallsw<strong>in</strong>kel αsupp und βsupp identisch,<br />

so dass <strong>für</strong> die folgenden Betrachtungen δsupp := αsupp = βsupp def<strong>in</strong>iert sei, wie<br />

<strong>in</strong> Abbildung 3.13 auf der l<strong>in</strong>ken Seite dargestellt ist. Die Summe der E<strong>in</strong>fallsw<strong>in</strong>kel<br />

ergibt sich folgerichtig als 2δsupp. Nach Innenw<strong>in</strong>kelsumme ist 2δsupp < 180◦ und damit<br />

vorausgesetzt wird und somit x < f se<strong>in</strong> muss (der<br />

l<strong>in</strong>ke Rand der Bildebene darf wie oben besprochen nicht von der Projektion berührt<br />

werden), gilt außerdem δsupp = arccot <br />

x<br />

f <br />

f > arccot f = 45◦ .<br />

δsupp < 90 ◦ . Da weiter f ≥ w<br />

2<br />

Die Randpunkte A ′ supp = (x ′ Asupp | f) und B′ supp = (x ′ Bsupp | f) der zu c′ gehörenden,<br />

vermuteten Projektion c ′ supp haben unterschiedliche Entfernungen zur Hauptprojektionsachse,<br />

die hier als x ′ A und x′ B bezeichnet werden, woraus c′ supp = x ′ A + x′ B resultiert.<br />

Ohne E<strong>in</strong>schränkung kann angenommen werden, dass x ′ A < x′ B ist (der umgekehrte<br />

Fall verhält sich symmetrisch). c ′ supp bef<strong>in</strong>det sich also gegenüber csupp weiter rechts auf<br />

der Bildebene und hat die E<strong>in</strong>fallsw<strong>in</strong>kelsumme α ′ supp + β ′ supp mit α ′ supp > β ′ supp (vgl.<br />

Abbildung 3.13 auf der rechten Seite).


3 Relative Lokalisierung von <strong>Roboter</strong>n aus Kamerabildern 65<br />

t=<br />

__ p<br />

2<br />

δ supp<br />

δ max<br />

c =2x<br />

supp<br />

x x<br />

f<br />

C<br />

δ max<br />

t=<br />

__ p<br />

2<br />

δ supp<br />

2δ = αʼ +βʼ<br />

αʼ<br />

supp<br />

supp supp supp<br />

=><br />

2δ > αʼ +βʼ<br />

t=<br />

max max max<br />

__ p<br />

2<br />

x Aʼ<br />

αʼ<br />

max<br />

cʼ =x +x<br />

supp Aʼ Bʼ<br />

Abbildung 3.13: Wenn von zwei Projektionen gleicher E<strong>in</strong>fallsw<strong>in</strong>kelsumme (2δsupp bzw.<br />

αsupp+βsupp) der Mittelpunkt e<strong>in</strong>er Projektion (csupp) im Gegensatz zu dem der anderen (c ′ supp)<br />

auf der Hauptprojektionsachse liegt, dann ist die maximal mögliche Abweichung 2δmax −2δsupp<br />

von csupp größer als die Abweichung (αmax + βmax) − (αsupp + βsupp) von c ′ supp. Vorausgesetzt<br />

wird, dass f ≥ w<br />

2 gilt, was aus Darstellungsgründen <strong>in</strong> der Abbildung vernachlässigt wurde.<br />

Nach Vorraussetzung ist nun dsupp bei beiden <strong>Roboter</strong>n gleich, 2δsupp = α ′ supp + β ′ supp<br />

muss deswegen gelten. Zu zeigen ist ˜ dmax > ˜ d ′ max, folglich muss die maximal mögliche<br />

W<strong>in</strong>kelsumme 2δmax der Projektion c größer als die Summe α ′ max + β ′ max von c ′ se<strong>in</strong>.<br />

Der Unterschied zwischen δsupp und den beiden W<strong>in</strong>keln α ′ supp und β ′ supp sei nun durch<br />

die Differenz<br />

τ := α ′ supp − δsupp<br />

ausgedrückt, also α ′ supp = δsupp + τ und β ′ supp = δsupp − τ. Wegen α ′ supp > β ′ supp,<br />

2δsupp = α ′ supp + β ′ supp und somit α ′ supp > δsupp gilt τ > 0. Da δsupp < 90 ◦ und wegen<br />

x ′ B < f zusätzlich δsupp − τ > 45 ◦ vorausgesetzt ist, muss τ außerdem kle<strong>in</strong>er als 45 ◦<br />

se<strong>in</strong>. Die E<strong>in</strong>führung von τ ermöglicht, das Verhältnis der maximal möglichen W<strong>in</strong>kel<br />

α ′ max, β ′ max und δmax zu den vermuteten quantitativ anzugeben; da x ′ A = f · cot(α′ supp),<br />

x ′ B = f · cot(β′ supp) und x = f · cot(δsupp) gilt, folgt:<br />

α ′ max = arccot x ′ A −t<br />

f<br />

β ′ max = arccot x ′ B −t<br />

f<br />

δmax = arccot x−t<br />

f<br />

= arccot f·cot(α ′ supp )−t<br />

f<br />

= arccot f·cot(β ′ supp)−t<br />

f<br />

= arccot f·cot(δsupp)−t<br />

f<br />

f<br />

C<br />

x Bʼ<br />

βʼ<br />

max<br />

t=<br />

βʼ<br />

__ p<br />

2<br />

supp<br />

<br />

= arccot cot(δsupp + τ) − t <br />

f<br />

<br />

= arccot cot(δsupp − τ) − t <br />

f<br />

<br />

= arccot cot(δsupp) − t <br />

f<br />

Aus Übersichtlichkeitsgründen wird hierbei t als halbe Pixelbreite, also t := p<br />

2 , def<strong>in</strong>iert.<br />

Die als positiv zu beweisende Differenz ∆ der maximal möglichen W<strong>in</strong>kelsummen kann<br />

damit <strong>in</strong> Abhängigkeit der Werte τ und t notiert werden:<br />

∆(τ, t) = 2δmax(t) − α ′ max(τ, t) − β ′ max(τ, t)<br />

Es lässt sich feststellen, dass ∆(0, t) = 0 <strong>für</strong> alle t ist, weil δmax = α ′ max = β ′ max<br />

<strong>in</strong> diesem Fall gilt. Wenn nun die Ableitung von ∆(τ, t) bei positivem τ (und festem<br />

> 0) steigend ist, kann die Behauptung gefolgert werden. Es ist:<br />

t = p<br />

2<br />

d<br />

d<br />

∆(τ, t) = 0 −<br />

dτ dτ arccotcot(δsupp + τ) − t<br />

f<br />

<br />

d − dτ arccotcot(δsupp − τ) − t<br />

<br />

f


66 3.5 Ermittlung e<strong>in</strong>es günstigen Bereichs zur Lokalisierung von <strong>Roboter</strong>n<br />

Nach Pohlmann 1996, S. 19 gilt cot ′ (x) = − 1<br />

s<strong>in</strong> 2 (x) und arccot′ (x) = − 1<br />

1+x 2 . Mittels<br />

Kettenregel (g(h)) ′ = g ′ (h) · h ′ folgt:<br />

d<br />

∆(τ, t)<br />

dτ<br />

=<br />

<br />

1<br />

0 − −<br />

1 + cot(δsupp + τ) − t<br />

<br />

2 · −<br />

f<br />

<br />

1<br />

− −<br />

1 + cot(δsupp − τ) − t<br />

<br />

2 · −<br />

f<br />

1<br />

s<strong>in</strong> 2 (δsupp + τ)<br />

1<br />

s<strong>in</strong> 2 (δsupp − τ)<br />

<br />

· 1<br />

<br />

<br />

· −1<br />

<br />

Bereits hier sei darauf h<strong>in</strong>gewiesen, dass wegen der Quadrate die Nenner aller auftretenden<br />

Brüche positiv se<strong>in</strong> müssen und damit auch deren Produkt, worauf weiter unten<br />

wieder e<strong>in</strong>gegangen wird. Da der Cotangens bekanntermaßen das Verhältnis von Cos<strong>in</strong>us<br />

und S<strong>in</strong>us bezeichnet, ergibt sich nun weiter:<br />

d<br />

∆(τ, t) =<br />

dτ<br />

=<br />

s<strong>in</strong>2 (δsupp − τ) · 1 + cos2 (δsupp−τ<br />

s<strong>in</strong>2 t − 2<br />

(δsupp−τ) f<br />

−<br />

s<strong>in</strong>2 (δsupp + τ) · 1 + cos2 (δsupp+τ<br />

s<strong>in</strong>2 t − 2<br />

(δsupp+τ) f<br />

1<br />

1<br />

1<br />

cos(δsupp−τ) t2<br />

· s<strong>in</strong>(δsupp−τ) + f 2<br />

<br />

cos(δsupp+τ) t2<br />

· s<strong>in</strong>(δsupp+τ) + f 2<br />

<br />

1 − 2 t<br />

f · s<strong>in</strong>(δsupp − τ) · cos(δsupp − τ) + s<strong>in</strong> 2 (δsupp − τ) · t2<br />

f 2<br />

−<br />

1<br />

1 − 2 t<br />

f · s<strong>in</strong>(δsupp + τ) · cos(δsupp + τ) + s<strong>in</strong> 2 (δsupp + τ) · t2<br />

f 2<br />

Zu beachten ist, dass (wie <strong>in</strong> Kapitel 3.2 und 3.3) s<strong>in</strong> 2 (x) + cos 2 (x) = 1 <strong>in</strong> der letzten<br />

Umformung ausgenutzt wurde. Es sei nun HN als Produkt der beiden zuletzt aufgeführten<br />

Nenner def<strong>in</strong>iert. Mit der Begründung von oben ist dieser Hauptnenner zwangsläufig<br />

positiv. Die Ableitung lässt sich jetzt erweitern, so dass HN im Nenner steht:<br />

t<br />

d<br />

1 − 2<br />

∆(τ, t) =<br />

dτ<br />

=<br />

f · s<strong>in</strong>(δsupp + τ) · cos(δsupp + τ) + s<strong>in</strong>2 (δsupp + τ) · t2<br />

f 2<br />

HN<br />

t 1 − 2 f<br />

− · s<strong>in</strong>(δsupp − τ) · cos(δsupp − τ) + s<strong>in</strong>2 (δsupp − τ) · t2<br />

f 2<br />

HN<br />

t2 f 2 · s<strong>in</strong>2 (δsupp + τ) − s<strong>in</strong>2 (δsupp − τ) <br />

HN<br />

t<br />

2 f<br />

− ·<br />

<br />

s<strong>in</strong>(δsupp+τ)·cos(δsupp+τ)−s<strong>in</strong>(δsupp−τ)·cos(δsupp−τ)<br />

HN<br />

Für die folgende Argumentation sei abkürzend def<strong>in</strong>iert:<br />

.<br />

k1(τ) := s<strong>in</strong> 2 (δsupp + τ) − s<strong>in</strong> 2 (δsupp − τ)<br />

k2(τ) := s<strong>in</strong>(δsupp + τ) · cos(δsupp + τ) − s<strong>in</strong>(δsupp − τ) · cos(δsupp − τ)<br />

Dann resultiert f<strong>in</strong>al:<br />

d<br />

∆(τ, t) =<br />

dτ<br />

t 2<br />

f 2 · k1(τ) − 2 t<br />

f<br />

HN<br />

· k2(τ)


3 Relative Lokalisierung von <strong>Roboter</strong>n aus Kamerabildern 67<br />

s<strong>in</strong> 2(x)<br />

0,5<br />

0<br />

50<br />

90<br />

δsupp-τ δsupp δsupp+τ<br />

150<br />

x <strong>in</strong> Grad<br />

s<strong>in</strong>(x)•cos(x)<br />

0,5<br />

0,25<br />

0 25 45<br />

75<br />

δsupp-τ δsupp+τ<br />

δsupp<br />

x <strong>in</strong> Grad<br />

Abbildung 3.14: (l<strong>in</strong>ks) Im Bereich [0 ◦ , 180 ◦ ] ist s<strong>in</strong> 2 (x) symmetrisch zur Achse bei x = 90 ◦ ,<br />

l<strong>in</strong>ks davon streng monoton steigend, rechts davon streng monoton fallend. Wegen δsupp < 90 ◦<br />

muss δsupp − τ < δsupp + τ bei τ > 0 gelten. (rechts) s<strong>in</strong>(x) · cos(x) ist im Bereich [0 ◦ , 90 ◦ ]<br />

symmetrisch zur Achse bei x = 45 ◦ , l<strong>in</strong>ks davon streng monoton steigend, rechts davon streng<br />

monoton fallend. Wegen δsupp > 45 ◦ muss δsupp − τ > δsupp + τ bei τ > 0 gelten.<br />

Da δsupp < 90 ◦ und τ < 45 ◦ , bef<strong>in</strong>den sich sowohl δsupp+τ als auch δsupp−τ im Intervall<br />

[0 ◦ , 180 ◦ ]. In diesem Bereich ist die <strong>in</strong> k1 auftauchende Funktion s<strong>in</strong> 2 (x) symmetrisch zur<br />

Achse bei x = 90 ◦ , bis 90 ◦ steigt sie streng monoton, danach fällt sie entsprechend (vgl.<br />

Abbildung 3.14 l<strong>in</strong>ks), was sich direkt aus dem Verlauf der bekannten S<strong>in</strong>usfunktion<br />

ableiten lässt. Wegen δsupp < 90 ◦ , muss δsupp + τ näher an 90 ◦ liegen als δsupp − τ, was<br />

<strong>in</strong> folgender Ungleichung resultiert:<br />

∀τ ∈ (0 ◦ , 45 ◦ ) : s<strong>in</strong> 2 (δsupp + τ) − s<strong>in</strong> 2 (δsupp − τ) > 0<br />

k1(τ) ist daher stets positiv und somit auch t2<br />

f 2 · k1(τ). Die Funktion s<strong>in</strong>(x) · cos(x)<br />

aus k2 verläuft h<strong>in</strong>gegen im Bereich [0 ◦ , 90 ◦ ] symmetrisch zur Achse bei x = 45 ◦ , wo<br />

s<strong>in</strong>(x) = cos(90 ◦ − x) sowie cos(x) = s<strong>in</strong>(90 ◦ − x) gilt (vgl. Pohlmann 1996, S. 16)<br />

und somit s<strong>in</strong>(x) · cos(x) = s<strong>in</strong>(90 ◦ − x) · cos(90 ◦ − x). Aus den Werten von S<strong>in</strong>us<br />

und Cos<strong>in</strong>us ergibt sich, dass die Funktion <strong>in</strong> [0 ◦ , 45 ◦ ] streng monoton steigend und <strong>in</strong><br />

[45 ◦ , 90 ◦ ] streng monoton fallend ist, wie Abbildung 3.14 (rechts) illustriert. Weil δsupp<br />

größer als 45 ◦ se<strong>in</strong> muss, bedeutet das jedoch umgekehrt zu oben hier:<br />

∀τ ∈ (0 ◦ , 45 ◦ ) : s<strong>in</strong>(δsupp − τ) · cos(δsupp − τ) − s<strong>in</strong>(δsupp + τ) · cos(δsupp + τ) < 0<br />

Damit muss k2(τ) negativ se<strong>in</strong>, wodurch −2 t<br />

f · k2(τ) positiv wird. Folglich ist die Ableitung<br />

d<br />

dτ ∆(τ, t) <strong>für</strong> alle relevanten τ > 0 und e<strong>in</strong> festes, aber beliebiges t > 0 positiv.<br />

Insgesamt kann hieraus hergeleitet werden, dass ∆ > 0 gelten muss, wozu e<strong>in</strong> beliebiger,<br />

konkreter W<strong>in</strong>kel τ0 ∈ (0◦ , 45◦ ) betrachtet wird. Wie oben gezeigt, gilt ∆(0, t) = 0 <strong>für</strong><br />

jedes beliebige t. Wegen der bei positivem τ positiven Ableitung von ∆, ergibt sich<br />

nach dem Hauptsatz der Differentialrechnung (vgl. Pohlmann 1996, S. 22) mit dem<br />

Integral über e<strong>in</strong>e positive Funktion:<br />

∆(τ0, t) = ∆(0, t) +<br />

τ0<br />

0<br />

d<br />

∆(τ, t)dτ > 0<br />

dτ<br />

Im Fall, dass c ′ bei gleicher vermuteter Entfernung dsupp weiter außen liegt als c, muss<br />

es e<strong>in</strong> solches τ0 > 0 geben. Dies hat als Konsequenz, dass 2δmax > α ′ max + β ′ max und


68 3.5 Ermittlung e<strong>in</strong>es günstigen Bereichs zur Lokalisierung von <strong>Roboter</strong>n<br />

damit ˜ dmax = tan(δmax) · r > tan α ′ max +β′ max<br />

2 ) · r = ˜ d ′ max ist, was zu zeigen war. <br />

Beispiel: Sei wieder m = 720, w = 4.8 mm, f = 6 mm und r = 250 mm. Dazu sei<br />

die nicht zu überschreitende Grenze der Ungenauigkeit der Lokalisierung durch<br />

ε = 10 mm gegeben. Dann ergibt sich <strong>für</strong> die angenäherte Abweichungsgrenze ˜gH<br />

mit Pixelbreite p =<br />

˜gH(x) =<br />

<br />

<br />

<br />

<br />

<br />

4.8 mm<br />

720<br />

= 1<br />

150 mm:<br />

6·250<br />

1<br />

150·4 +<br />

r 2 1<br />

+ 150·4<br />

6·250<br />

150·2·10<br />

2<br />

− x 2 ≈ 2116, 33 2 − x 2<br />

Dabei wird die E<strong>in</strong>heit „mm“ erneut ausgeblendet. Leicht erkennbar ergibt sich<br />

daraus als größtmögliche, vermutete Entfernung, bei der e<strong>in</strong>e Abweichung von<br />

maximal ε e<strong>in</strong>gehalten wird, ˜ dsupp ≈ 2, 116 m.<br />

Die l<strong>in</strong>ke und rechte Sichtgrenze lassen sich außerdem berechnen als:<br />

<br />

gL(x) = 1 + 4·7202 ·62 (720−3) 2 ·4.82 <br />

· 250<br />

<br />

gR(x) =<br />

<br />

1 + 4·7202 ·6 2<br />

(720−3) 2 ·4.8 2 · 250<br />

− 2·720·6<br />

(717−3)·4.8 · x ≈ 675, 574 − 2, 51x<br />

+ 2·720·6<br />

(717−3)·4.8 · x ≈ 675, 574 + 2, 51x<br />

Hier zeigt sich nebenbei, dass der nahest mögliche Mittelpunkt e<strong>in</strong>es lokalisierbaren<br />

<strong>Roboter</strong>s etwa bei VG = (0 m | 0, 676 m) liegt.<br />

Insgesamt wurde also e<strong>in</strong> günstiger Bereich mit exakten Sichtgrenzen gL und gR und<br />

e<strong>in</strong>er angenäherten Abweichungsgrenze ˜gH bestimmt. Das heißt, zusammen mit den Ergebnissen<br />

der vorigen Teilkapitel s<strong>in</strong>d über die Möglichkeit h<strong>in</strong>aus, die Entfernung e<strong>in</strong>es<br />

<strong>Roboter</strong>s Rproj mit festem Radius r anhand se<strong>in</strong>er Projektion c angenähert zu berechnen<br />

und den dabei auftretenden, maximal möglichen Fehler zu ermitteln, alle notwendigen<br />

Grundlagen geschaffen, um <strong>für</strong> e<strong>in</strong>e beliebige Kamera mit gegebenen Parametern e<strong>in</strong>e<br />

angenäherte geographische Umgebung zu def<strong>in</strong>ieren, <strong>in</strong> der e<strong>in</strong> frei zu wählender Fehler<br />

bei der Entfernungsschätzung nie überschritten wird.<br />

Damit soll dieses Kapitel zum Abschluss kommen. Es ist nun möglich, kooperative<br />

Strategien <strong>für</strong> die Bewegung e<strong>in</strong>er Gruppe von <strong>Roboter</strong>n <strong>in</strong> <strong>unbekannten</strong>, merkmalsarmen<br />

Umgebungen zu entwickeln, ohne dabei stets konkrete Berechnungen zur Rate<br />

ziehen zu müssen. Die Tatsache, dass e<strong>in</strong> <strong>Roboter</strong> lediglich im günstigen Bereich der<br />

Kamera e<strong>in</strong>es anderen <strong>Roboter</strong>s se<strong>in</strong> muss, um se<strong>in</strong>e vernünftig genaue Lokalisierbarkeit<br />

zu gewährleisten, wird ausreichen, um darauf aufbauend Bewegungsabläufe planen zu<br />

können. Hierbei sei zu beachten, dass im Vordergrund nicht etwa die exakte Umpositionierung<br />

von e<strong>in</strong>em Punkt X zu e<strong>in</strong>em Punkt Y steht, sondern vielmehr die kollektive<br />

Fortbewegung <strong>in</strong> e<strong>in</strong>em wenig aufschlussreichen Terra<strong>in</strong>.


Kapitel 4<br />

Explizite Verwendung kooperativer<br />

<strong>Bewegungsstrategien</strong><br />

Dieser Teil der Arbeit beschäftigt sich mit dem E<strong>in</strong>satz kooperativer Lokalisierung auf<br />

Grundlage der Ergebnisse des letzten Kapitels. Ansätze <strong>für</strong> Strategien, nach denen sich<br />

<strong>Roboter</strong>-Teams davon ausgehend <strong>in</strong> <strong>unbekannten</strong>, merkmalsarmen Umgebungen bewegen<br />

können, werden entwickelt und ihr Nutzen im gegebenen Kontext verdeutlicht.<br />

Begonnen wird mit e<strong>in</strong>er Diskussion über Ziele kooperativer <strong>Bewegungsstrategien</strong> und<br />

Kriterien <strong>für</strong> deren Analyse (Kapitel 4.1). Danach wird der Übergang von der relativen<br />

Lokalisierung aus Kapitel 3 zur globalen Standortbestimmung der <strong>Roboter</strong> e<strong>in</strong>es Teams<br />

aufgezeigt (4.2) und die dabei entstehende Akkumulation von Fehlern betrachtet (4.3).<br />

Die folgenden Teilkapitel (4.4 bis 4.6) stellen dann die Entwicklung dreier exemplarischer<br />

Algorithmen vor, die sich pr<strong>in</strong>zipiell <strong>für</strong> kooperative Fortbewegung eignen. Anschließend<br />

wird ihr E<strong>in</strong>satz <strong>in</strong> ausgewählten Szenarien untersucht, die <strong>für</strong> die Teambewegung relevant<br />

se<strong>in</strong> können (4.7), so dass sich die Algorithmen zuletzt vergleichen lassen (4.8). Als<br />

Resultat dieses Kernkapitels bestehen dann theoretische Konzepte, deren Bedeutung im<br />

Zusammenhang mit existierenden Verfahren geprüft werden kann.<br />

4.1 Ziele und Probleme bei der Fortbewegung <strong>in</strong> Teams<br />

E<strong>in</strong>e kooperative Bewegungsstrategie wird <strong>in</strong> dieser Arbeit als Aufrechterhaltung e<strong>in</strong>er<br />

Formation zusammen mit darauf def<strong>in</strong>ierten Operationen zur Fortbewegung angesehen.<br />

In allen bisher behandelten Aspekten stand die Lokalisierung der zur Verfügung stehenden<br />

<strong>Roboter</strong> stets im Mittelpunkt. Die Ergebnisse von Kapitel 3 sollen nun auf e<strong>in</strong>e<br />

sich bewegende Gruppe von <strong>Roboter</strong>n übertragen werden, weswegen das globale Ziel der<br />

Entwicklung solcher Strategien <strong>in</strong> dieser Arbeit auf den ersten Blick klar def<strong>in</strong>ierbar ist:<br />

Bestmögliche Lokalisierung des <strong>Roboter</strong>-Teams auf Dauer. Auch die Frage nach Qualitätskriterien<br />

zur Bewertung der Schätzungen bei geme<strong>in</strong>samer Lokalisierung mehrerer<br />

<strong>Roboter</strong> lässt wenig Spielraum zu; vor allem bieten sich hier die mittlere Abweichung<br />

der Posen im Durchschnitt über alle <strong>Roboter</strong> oder die maximale Abweichung der Pose<br />

e<strong>in</strong>es <strong>Roboter</strong>s <strong>in</strong>nerhalb der Gruppe an, denn aus diesen geht die Güte der Gesamtlokalisierung<br />

des Teams implizit hervor. Die untenstehenden Verfahren werden vorwiegend<br />

auf e<strong>in</strong>e Ger<strong>in</strong>ghaltung der mittleren Abweichung abzielen.


70 4.1 Ziele und Probleme bei der Fortbewegung <strong>in</strong> Teams<br />

Komplexer verhält es sich mit der <strong>in</strong>formell als „auf Dauer“ bezeichneten Problemstellung,<br />

da die unterliegenden Forderungen abhängig von den allgeme<strong>in</strong>en Zielen der Fortbewegung<br />

s<strong>in</strong>d. Wenn die <strong>Roboter</strong> e<strong>in</strong>en Zielort Z erreichen sollen, wäre e<strong>in</strong>e s<strong>in</strong>nvolle<br />

Bewertungsgrundlage, die Abweichung der Lokalisierung im Verhältnis zum zurückgelegten<br />

Weg zu messen, was wie <strong>in</strong> Trawny 2003 (vgl. Kapitel 2.2) nebenbei e<strong>in</strong>en<br />

stärkeren Fokus auf die Pfadplanung legen würde. Bei der Exploration unbekannter<br />

Umgebungen besteht jedoch nicht zwangsläufig Wissen über die Koord<strong>in</strong>aten von Z,<br />

und falls doch, so lässt sich die Länge der verbleibenden Teilstrecke nur schwer voraussehen.<br />

H<strong>in</strong>gegen ließe sich dort der bislang aufgetretene Fehler <strong>in</strong> Relation zur Größe der<br />

bereits erkundeten Fläche setzen. Auch könnte <strong>in</strong> e<strong>in</strong>er task-oriented doma<strong>in</strong> der Anteil<br />

schon erfüllter Aufgaben die angemessene Bezugsgröße darstellen. Allgeme<strong>in</strong> kann also<br />

gesagt werden, dass sich je nach E<strong>in</strong>satzgebiet verschiedene Vergleichswerte anbieten.<br />

Daher sei sich hier darauf beschränkt, dass als oberstes Kriterium zur Gegenüberstellung<br />

von Verfahren die Abweichungen der Lokalisierung <strong>in</strong> Abhängigkeit zur absolut zurückgelegten<br />

Strecke diene. E<strong>in</strong>erseits bedeutet das e<strong>in</strong>e starke Vere<strong>in</strong>fachung der Situation,<br />

denn die Qualität der beschrittenen Pfade bleibt praktisch außen vor. Andererseits vermeidet<br />

dieses Maß, nur <strong>in</strong> spezifischen Kontexten vernünftig anwendbar zu se<strong>in</strong>, und ist<br />

darüber h<strong>in</strong>aus gut analysierbar. Nichtsdestotrotz wird auch die Bewegungsflexibilität<br />

der genutzten Formationen E<strong>in</strong>zug <strong>in</strong> die Diskussionen f<strong>in</strong>den.<br />

Nun repräsentiert der <strong>in</strong> Kapitel 3.5 erarbeitete günstige Bereich e<strong>in</strong>es <strong>Roboter</strong>s gerade<br />

e<strong>in</strong> Konzept <strong>für</strong> die Verh<strong>in</strong>derung größerer Abweichungen. Wird neben der Forderung,<br />

dass sich <strong>Roboter</strong> zur Posenbestimmung <strong>in</strong> solchen Bereichen aufhalten müssen, zusätzlich<br />

versucht, die Anzahl notwendiger Berechnungen weitest möglich zu reduzieren, dann<br />

verkörpert dieses Vorgehen schon e<strong>in</strong>en Lösungsansatz <strong>für</strong> die besprochenen Richtl<strong>in</strong>ien.<br />

Entsprechend sei das globale Ziel kooperativer <strong>Bewegungsstrategien</strong> im vorliegenden<br />

Zusammenhang konkret formuliert, e<strong>in</strong>e möglichst m<strong>in</strong>imale Gesamtanzahl an Messungen<br />

bei maximal zurückgelegter Strecke des <strong>Roboter</strong>-Teams zu erreichen. In Kapitel 4.3<br />

wird hier<strong>für</strong> e<strong>in</strong> Qualitätsmaß Q def<strong>in</strong>iert werden. Es sei angemerkt, dass dieses Ziel<br />

bewusst im E<strong>in</strong>klang mit der Vorgabe steht, e<strong>in</strong>en Lokalisierungsmechanismus zu verwenden,<br />

der auf e<strong>in</strong>zelnen Kamerabildern beruht (im Gegensatz zu kont<strong>in</strong>uierlichen<br />

Schätzungsaktualisierungen).<br />

Verfolgung weitergehender Ziele und deren <strong>in</strong>härente Probleme<br />

E<strong>in</strong> grundsätzlicher Nachteil von Strategien, die von alternierenden Bewegungssequenzen<br />

Gebrauch machen, ergibt sich aus der Verlangsamung der Fortbewegungsgeschw<strong>in</strong>digkeit<br />

des gesamten <strong>Roboter</strong>-Teams. Dieses Problem wird sich nicht umgehen lassen,<br />

weshalb der Zeitaufwand bei der Behandlung kooperativer Abläufe nicht vordergründig<br />

se<strong>in</strong> wird. Dennoch kann <strong>in</strong> begrenztem Rahmen Abhilfe geleistet werden, <strong>in</strong>dem<br />

effiziente Pfadplanungen zum<strong>in</strong>dest <strong>in</strong>nerhalb des Kollektivs stattf<strong>in</strong>den und häufige<br />

Wechsel des sich umpositionierenden <strong>Roboter</strong>s vermieden werden, was möglichst wenig<br />

e<strong>in</strong>zelne Bewegungsphasen <strong>in</strong>nerhalb e<strong>in</strong>er kompletten Teambewegung impliziert und<br />

bei den Verfahren <strong>in</strong> Kapitel 4.4 bis 4.6 bedacht werden wird. Beim E<strong>in</strong>satz <strong>in</strong> <strong>unbekannten</strong><br />

Umgebungen darf weiter das Ziel e<strong>in</strong>er akkuraten Kartenerstellung nie völlig<br />

außer Acht gelassen werden, auch wenn dies hier nicht der eigentliche Gegenstand der


4 Explizite Verwendung kooperativer <strong>Bewegungsstrategien</strong> 71<br />

Betrachtung ist. E<strong>in</strong> Augenmerk wird bei den Algorithmen <strong>in</strong>sofern darauf liegen, als<br />

geschaut wird, was die <strong>Roboter</strong> von ihrer Umwelt wahrnehmen können.<br />

Direkt verbunden mit dem Aufbau von Karten ist der Umgang mit H<strong>in</strong>dernissen. H<strong>in</strong>dernisse<br />

stellen bei relativer Lokalisierung und der Bewegung <strong>in</strong> Formationen e<strong>in</strong> komplexeres<br />

Problem dar, als sie es <strong>für</strong> e<strong>in</strong>en e<strong>in</strong>zelnen <strong>Roboter</strong> tun: Bei der Ermittlung von<br />

Posen wirken sie dadurch störend, dass sie im Sichtbereich bef<strong>in</strong>dliche <strong>Roboter</strong> partiell<br />

verdecken können, was, speziell <strong>für</strong> die Entfernungsberechnung aus Kamerabildern,<br />

ke<strong>in</strong>esfalls passieren darf. Bezüglich Formationen kommt erschwerend h<strong>in</strong>zu, dass H<strong>in</strong>dernisse<br />

<strong>für</strong> den Fortbestand der Anordnung des Teams geplante Bewegungen unmöglich<br />

machen können. Hier<strong>für</strong> s<strong>in</strong>d Alternativstrategien zu bedenken, mittels derer das Team<br />

ausweicht oder die erlauben, e<strong>in</strong>e konkrete Formation temporär aufzugeben und sie nach<br />

Überw<strong>in</strong>dung des H<strong>in</strong>dernisses wieder aufzubauen. Letzteres erweist sich beispielsweise<br />

beim Passieren e<strong>in</strong>es Durchgangs als Muss, der zu schmal <strong>für</strong> die eigentliche Formation<br />

ist. Enstprechend Fredslund & Mataric 2002 (vgl. Kapitel 2.2) wird dieser Aspekt<br />

<strong>in</strong> Ansätzen betrachtet werden, wenngleich e<strong>in</strong>e erschöpfende Ause<strong>in</strong>andersetzung damit<br />

den Umfang dieser Arbeit deutlich übersteigen würde.<br />

In gewisser Weise ähnliche Schwierigkeiten unterliegen der Kompensierung des Ausfalls<br />

e<strong>in</strong>es <strong>Roboter</strong>s, denn bei dieser Situation verkörpert der defekte <strong>Roboter</strong> selbst das Objekt,<br />

dem ausgewichen werden muss. Darüber h<strong>in</strong>aus verlangt das Fehlen e<strong>in</strong>es <strong>Roboter</strong>s<br />

aber vor allem e<strong>in</strong>en Neuaufbau der Formation, dessen Notwendigkeit womöglich <strong>in</strong>mitten<br />

e<strong>in</strong>er Weiterbewegung des <strong>Roboter</strong>-Teams aufkommt. Auch diese Problemstellung<br />

wird hier <strong>in</strong> Ausschnitten untersucht; sie geht letztlich Hand <strong>in</strong> Hand mit der Frage<br />

nach der stetigen Kontrolle über die Aufenthaltsorte der e<strong>in</strong>zelnen <strong>Roboter</strong>; noch ist<br />

unklar, <strong>in</strong>wieweit permanent oder m<strong>in</strong>destens zwischen je zwei aufe<strong>in</strong>ander folgenden<br />

Bewegungen Wissen über die Posen aller <strong>Roboter</strong> vorhanden se<strong>in</strong> sollte.<br />

E<strong>in</strong> völlig anderes, generell denkbares Ziel kooperativen Handelns besteht <strong>in</strong> der M<strong>in</strong>imierung<br />

der Kommunikation zwischen den <strong>Roboter</strong>n. Diese wäre vorwiegend dann<br />

wichtig, wenn große Datenmengen verschickt würden, wie es unter Umständen bei geme<strong>in</strong>samer<br />

Kartenerstellung erforderlich wäre. Im vorliegenden Kontext werden Nachrichten<br />

jedoch ausschließlich aus Gründen des Mitteilens e<strong>in</strong>zelner Posenberechnungen<br />

an andere <strong>Roboter</strong> sowie zur Koord<strong>in</strong>ierung von Bewegungsabläufen versendet; letzteres<br />

me<strong>in</strong>t Informationen über anzustrebende Bewegungsrichtungen, Beobachtungen auf<br />

Aussagenebene über die An- oder Abwesenheit anderer <strong>Roboter</strong> im Sichtbereich und<br />

die Kommunikation des Fortschritts eigener Bewegungen. Es ist nicht anzunehmen, dass<br />

solche Nachrichten zu untragbarem Kommunikationsaufwand führen, weshalb hier ke<strong>in</strong>e<br />

Analyse dieses Aufwands angestellt werden wird. Auf den Inhalt von Kommunikation<br />

wird h<strong>in</strong>gegen am Ende von Kapitel 4.2 weiter e<strong>in</strong>gegangen.<br />

Ebenfalls ausgelassen sei die Initialisierung von Formationen aus potentiell beliebigen<br />

Anordnungen der <strong>Roboter</strong>, welche bei Beg<strong>in</strong>n e<strong>in</strong>er Explorationsaufgabe oder Ähnlichem<br />

relevant se<strong>in</strong> kann. Es wird aber angenommen, dass die <strong>Roboter</strong> des Teams nahe<br />

beie<strong>in</strong>ander starten und das globale Koord<strong>in</strong>atensystem, <strong>in</strong> dem sie sich lokalisieren<br />

sollen, e<strong>in</strong>e vom Team gewählte Stelle als Ursprung hat. Da die Genauigkeit aufrechterhaltener<br />

Formationen moderate Toleranzbereiche erlauben wird (siehe unten), sollte


72 4.1 Ziele und Probleme bei der Fortbewegung <strong>in</strong> Teams<br />

2<br />

Alternativ möglicher<br />

günstiger Bereich<br />

von R 1<br />

Orientierung von R 2<br />

Alternativ mögliche<br />

Position von R 2 aus<br />

Sicht von R 1<br />

1<br />

2<br />

Günstiger<br />

Bereich von R 1<br />

2<br />

Geplante<br />

Bewegung<br />

von R 2<br />

Zielpose der<br />

Bewegung<br />

von R 2<br />

Distanz von R 2 zu R 1<br />

als Kreis<br />

1<br />

1<br />

1<br />

1<br />

1<br />

Schätzung über Pose<br />

vorhanden<br />

Schätzung nur über<br />

Position vorhanden<br />

Ke<strong>in</strong>e ausreichende<br />

Schätzung vorhanden<br />

Ziel e<strong>in</strong>er Bewegung oder<br />

alternativ mögliche Pose<br />

<strong>Roboter</strong> defekt<br />

Abbildung 4.1: Beispiel und Legende <strong>für</strong> die visuelle Beschreibung kooperativer <strong>Bewegungsstrategien</strong>.<br />

In der Darstellung kennt R1 se<strong>in</strong>e Orientierung nicht und weiß damit nur, <strong>in</strong> welchem<br />

Abstand sich R2 von ihm aus gesehen bef<strong>in</strong>det. R2 plant währenddessen e<strong>in</strong>e Bewegung.<br />

es ohne weitere Argumentation möglich se<strong>in</strong>, dass sich die <strong>Roboter</strong> nach und nach ane<strong>in</strong>ander<br />

ausrichten. Im Folgenden wird aber nunmehr davon ausgegangen, dass das<br />

<strong>Roboter</strong>-Team aus e<strong>in</strong>er gewollten Startformation heraus se<strong>in</strong>e Bewegung aufnimmt.<br />

Kriterien zur Untersuchung von Formationen und <strong>Bewegungsstrategien</strong><br />

In Abbildung 4.1 ist e<strong>in</strong>führend die visuelle Darstellung zu sehen, die zur Illustration der<br />

<strong>Bewegungsstrategien</strong> dienen wird. Sie zeigt die relative Anordnung der <strong>Roboter</strong> e<strong>in</strong>er<br />

Gruppe stets zweidimensional von oben. E<strong>in</strong> <strong>Roboter</strong> wird abstrahiert als kreisförmige<br />

Figur mit e<strong>in</strong>er Orientierung und e<strong>in</strong>em davor liegenden günstigen Bereich aufgefasst.<br />

Dabei wird unterschieden, ob e<strong>in</strong>e Schätzung <strong>für</strong> die Pose des <strong>Roboter</strong>s existiert oder zum<strong>in</strong>dest<br />

<strong>für</strong> dessen Position, oder ob der <strong>Roboter</strong> aktuell ke<strong>in</strong> vernünftiges Wissen über<br />

se<strong>in</strong>en Standort besitzt (alle<strong>in</strong>iges Kennen der Orientierung <strong>in</strong>teressiert bei den vorliegenden<br />

Betrachtungen nicht). Weiß gefärbte <strong>Roboter</strong>darstellungen repräsentieren ke<strong>in</strong>e<br />

wirklichen Aufenthaltsorte, sondern angestrebte Zielpunkte oder verme<strong>in</strong>tliche relative<br />

Lagen, die aus der nur lokalen Beobachtbarkeit <strong>für</strong> e<strong>in</strong>en <strong>Roboter</strong> resultieren können.<br />

Es sei angemerkt, dass die Nummerierung der <strong>Roboter</strong> (bei der 1 abkürzend <strong>für</strong> R1 stehe<br />

usw.) nur zur Anschaulichkeit mite<strong>in</strong>gezeichnet ist, ke<strong>in</strong>eswegs etwa <strong>in</strong> Algorithmen<br />

verwendet werden wird. Entsprechendes gilt <strong>für</strong> geplante Bewegungen, die hier so dargestellt<br />

werden, als ob sie nur <strong>in</strong> Richtung der aktuellen Orientierung geschehen könnten.<br />

Außerdem wird die Orientierung jedes <strong>Roboter</strong>s durchweg angegeben, selbst wenn das<br />

Team sie zum gegebenen Zeitpunkt nicht kennt, und <strong>für</strong> den günstigen Bereich wird<br />

<strong>in</strong> allen Abbildungen entsprechend den Erläuterungen aus Kapitel 3.1 exemplarisch e<strong>in</strong><br />

Sichtw<strong>in</strong>kel von etwa 50 ◦ benutzt.<br />

Wie angesprochen, wird <strong>in</strong> Fredslund & Mataric 2002 die Stabilität von Formationen<br />

geprüft, womit dort die fortwährende E<strong>in</strong>haltung bestimmter Abstände und Lagen<br />

der <strong>Roboter</strong> zue<strong>in</strong>ander benannt wird. Im vorliegenden Kontext abwechselnder Bewegung<br />

werde dieser Begriff allerd<strong>in</strong>gs anders aufgefasst. Als stabile Formation sei hier<br />

nicht e<strong>in</strong>e dauerhaft bestehende <strong>Roboter</strong>anordnung, sondern stattdessen e<strong>in</strong> aktueller


4 Explizite Verwendung kooperativer <strong>Bewegungsstrategien</strong> 73<br />

1 2<br />

3<br />

2<br />

Abbildung 4.2: Drei Varianten e<strong>in</strong>er möglichen Ausgangsformation: Das gleichseitige Dreieck<br />

l<strong>in</strong>ks, bei dem jeder <strong>Roboter</strong> e<strong>in</strong>en anderen sieht, darf <strong>in</strong> gespiegelter und gedrehter Form wie <strong>in</strong><br />

der Mitte vorliegen. Auch werden geographische Versetzungen <strong>in</strong>nerhalb der günstigen Bereiche,<br />

wie die von R1 rechts, akzeptiert.<br />

Zustand def<strong>in</strong>iert, bei dem alle <strong>Roboter</strong> des Teams e<strong>in</strong>e Schätzung über ihre eigene Pose<br />

besitzen. Es sei gefordert, dass jede kooperative Bewegungsstrategie <strong>in</strong> regelmäßigen Intervallen<br />

e<strong>in</strong>e stabile Formation hervorbr<strong>in</strong>gt. Dies ermöglicht e<strong>in</strong>erseits argumentieren<br />

zu können, dass sie <strong>in</strong> Bezug auf ihre Fähigkeit zur kooperativen Lokalisierung korrekt<br />

funktioniert, andererseits, dass vernünftige Start- und Endpunkte zur Analyse e<strong>in</strong>zelner<br />

Aktionen der Strategie vorhanden s<strong>in</strong>d. Dazu passend werden im Folgenden nur Strategien<br />

betrachtet, deren Ausgangsformation stabil ist. E<strong>in</strong>e Ausgangsformation bezeichne<br />

dabei den bei der Startformation gültigen Zustand der Anordnung der <strong>Roboter</strong> oder<br />

e<strong>in</strong>e gespiegelte und/oder gedrehte Variante davon, was die aktuellen Sichtverhältnisse<br />

zwischen den <strong>Roboter</strong>n nicht bee<strong>in</strong>flusst. Ferner sei e<strong>in</strong>e Versetzung der <strong>Roboter</strong> <strong>in</strong>nerhalb<br />

der Grenzen günstiger Bereiche akzeptiert (vgl. Abbildung 4.2). Der so gewährte<br />

Toleranzbereich hilft beim Neuaufbau e<strong>in</strong>er Ausgangsformation, da sich Ungenauigkeiten<br />

dar<strong>in</strong> wieder ausgleichen lassen. Es sei zu beachten, dass <strong>Roboter</strong> über Versetzungen<br />

bescheid wissen (im Gegensatz zu Abweichungen durch Unsicherheit).<br />

Bisher wurde wenig über die Teilnehmerzahl der Formation gesagt. Grund da<strong>für</strong> ist,<br />

dass e<strong>in</strong>e E<strong>in</strong>schränkung weitestgehend vermieden werden soll, um das Spektrum der<br />

E<strong>in</strong>satzgebiete kooperativer Strategien nicht unnötig zu verkle<strong>in</strong>ern. Natürlich s<strong>in</strong>d aber<br />

m<strong>in</strong>destens zwei <strong>Roboter</strong> obligatorisch. Darüber h<strong>in</strong>aus mögen weitere gebraucht werden,<br />

um geme<strong>in</strong>same Bewegungsabläufe erst zu ermöglichen. Obergrenzen werden hier<br />

nicht festgesetzt, wenngleich große Zahlen, wie sie bei der Beschäftigung mit Schwarmverhalten<br />

auftreten, nicht Gegenstand der Debatte s<strong>in</strong>d, da sie die Bewegungsfreiheit<br />

im vorliegenden Kontext zu sehr verm<strong>in</strong>dern. Auch könnte es Formationen geben, die<br />

nur <strong>in</strong> bestimmten Anzahlen funktionieren, wobei dies nachteilig <strong>für</strong> die Kompensierbarkeit<br />

von <strong>Roboter</strong>ausfällen wirkt. Zusammenfassend lassen sich zwei Kriterien zur<br />

Untersuchung von Formationen, die H<strong>in</strong>weise auf deren Flexibilität liefern, angeben:<br />

(F1) Wiederkehrendes Vorhandense<strong>in</strong> e<strong>in</strong>er stabilen Ausgangsformation<br />

(F2) Variabilität der Anzahl teilnehmender <strong>Roboter</strong><br />

Es stellt sich weiter die Frage, welche Bewegungsaktionen e<strong>in</strong>e Formation allgeme<strong>in</strong><br />

ausführen können sollte. Grundlegend wichtig <strong>für</strong> das Fortschreiten s<strong>in</strong>d <strong>in</strong> erster L<strong>in</strong>ie<br />

1<br />

3<br />

2<br />

3<br />

1


74 4.1 Ziele und Probleme bei der Fortbewegung <strong>in</strong> Teams<br />

die Vorwärtsbewegung und die Drehung. Erstere bed<strong>in</strong>gt sche<strong>in</strong>bar e<strong>in</strong>e Gesamtorientierung<br />

der Formation; bei den kommenden Algorithmen wird sich aber herausstellen,<br />

dass mehrere Richtungen <strong>für</strong> die Vorwärtsbewegung gleichzeitig möglich se<strong>in</strong> können.<br />

Auch mag diese beispielsweise erst aus e<strong>in</strong>er „Schräg-l<strong>in</strong>ks“- gefolgt von e<strong>in</strong>er „Schrägrechts“-Bewegung<br />

resultieren. Die Forderung nach e<strong>in</strong>er Drehung birgt gar vielfältigere<br />

Ansatzpunkte: Sicherlich wäre e<strong>in</strong> Rotieren um beliebige Gradzahlen wünschenswert.<br />

Wenn sich jeder <strong>Roboter</strong> e<strong>in</strong>er Formation im günstigen Bereich e<strong>in</strong>es anderen bef<strong>in</strong>det,<br />

erlaubt e<strong>in</strong>e solche Anordnung das pr<strong>in</strong>zipiell: Die <strong>Roboter</strong> müssen sich nur stückweise<br />

abwechselnd so ger<strong>in</strong>gfügig drehen und mitbewegen, dass ke<strong>in</strong>er e<strong>in</strong>en günstigen Bereich<br />

verlässt, und das solange fortsetzen, bis der gewünschte Gesamtdrehw<strong>in</strong>kel erreicht wurde.<br />

Für nur zwei <strong>Roboter</strong> ist dies das e<strong>in</strong>zig realistische Vorgehen bei fortauernder Lokalisierung.<br />

Es sei aber zu bedenken, dass jede e<strong>in</strong>zelne Bewegung Standortbestimmungen<br />

nach sich zieht, was jeweils Unsicherheiten hervorruft (vgl. Kapitel 4.3). Daher wird vor<br />

allem untersucht werden, ob spezielle Drehungen besser (im S<strong>in</strong>ne der Vermeidung von<br />

Abweichungen) umgesetzt werden können, wobei der Nutzen von Formationen sicherlich<br />

zweifelhaft wäre, wenn sie nur Bewegungen erlauben würden, die mit dem bekannten<br />

Begriff der Manhattan-Metrik e<strong>in</strong>hergehen.<br />

Zur Rotation sei angemerkt, dass e<strong>in</strong>e Richtung (l<strong>in</strong>ks oder rechts) genügt, wenn zusätzlich<br />

e<strong>in</strong>e Spiegelung der Formation entlang e<strong>in</strong>er Mittelachse ausgeführt werden kann.<br />

Auch wird sich das Umdrehen e<strong>in</strong>er Gruppe <strong>in</strong> konkreten Fällen oftmals klüger gestalten<br />

lassen als e<strong>in</strong>fach durch e<strong>in</strong>e 180 ◦ -Drehung. Spiegelung und Umdrehen verkörpern mehr<br />

als Hilfsaktionen, denn ihre platzsparende Machbarkeit kann sich <strong>in</strong>sbesondere dort als<br />

nötig erweisen, wo der Raum <strong>für</strong> die Drehung e<strong>in</strong>es Teams zu eng wäre. Insgesamt lassen<br />

sich also folgende, <strong>in</strong> dieser Arbeit als angemessen erachtete Basisaktionen aufzählen:<br />

(A1) Vorwärtsbewegung<br />

(A2) Drehung um e<strong>in</strong>en beliebigen oder zum<strong>in</strong>dest spezielle W<strong>in</strong>kel ζ<br />

(A3) Spiegelung an e<strong>in</strong>er Mittelachse<br />

(A4) Umdrehen<br />

Diese Aktionen alle<strong>in</strong> geben allerd<strong>in</strong>gs zu e<strong>in</strong>er Bewegungsstrategie nicht ausreichend<br />

Aufschluss darüber, ob sich e<strong>in</strong> <strong>Roboter</strong>-Team mit ihr <strong>in</strong> e<strong>in</strong>er den Vorgaben entsprechenden<br />

Umgebung fortbewegen kann, da dort komplexere Bewegungspfade verfolgbar<br />

se<strong>in</strong> müssen. Der theoretische Standpunkt dieser Arbeit schränkt jedoch die Machbarkeit<br />

e<strong>in</strong>er Analyse hierbei e<strong>in</strong>. Nichtsdestotrotz können konkrete Szenarien durchgespielt<br />

werden, um die Verknüpfung e<strong>in</strong>zelner Aspekte e<strong>in</strong>er Strategie zu prüfen. Die oben genannten<br />

Ziele, mit H<strong>in</strong>dernissen und <strong>Roboter</strong>ausfällen umgehen zu können, dienen dabei<br />

als Anhaltspunkte: Vorwärts- und Drehbewegungen wie auch die Erkennung der Zeitpunkte<br />

von Richtungsänderungen kommen beim Ausweichen von H<strong>in</strong>dernissen zum<br />

Tragen, wodurch ggf. Basisaktionen <strong>in</strong>nerhalb ihrer Durchführung zu stoppen s<strong>in</strong>d. Der<br />

temporäre Wechsel e<strong>in</strong>er Formation muss h<strong>in</strong>gegen dann erfolgen, wenn e<strong>in</strong>e Anordnung<br />

der <strong>Roboter</strong> zu viel Platz e<strong>in</strong>nimmt, um zum Beispiel e<strong>in</strong>en engen Korridor entlanggehen<br />

zu können. E<strong>in</strong>e Formation, die auf schmale Stellen abzielt, wird da<strong>für</strong> <strong>in</strong> Kapitel<br />

4.7 e<strong>in</strong>geführt werden. Das Wiederherstellen e<strong>in</strong>er Formation erfordert schließlich das


4 Explizite Verwendung kooperativer <strong>Bewegungsstrategien</strong> 75<br />

Anpassen der Lagen der <strong>Roboter</strong> zue<strong>in</strong>ander, was etwa bei Verm<strong>in</strong>derung der Anzahl<br />

funktionstätiger <strong>Roboter</strong> auftritt. Die Güte der zu entwickelnden Strategien wird also<br />

h<strong>in</strong>sichtlich folgender Problemsituationen e<strong>in</strong>es <strong>Roboter</strong>-Teams zur Diskussion stehen:<br />

(S1) Umgehen e<strong>in</strong>es im Weg bef<strong>in</strong>dlichen H<strong>in</strong>dernisses<br />

(S2) Passieren e<strong>in</strong>es schmalen Durchgangs<br />

(S3) Ausfall e<strong>in</strong>es <strong>Roboter</strong>s<br />

Damit seien alle zu behandelnden Kriterien und Anforderungen angegeben. Sowohl die<br />

bestmögliche Lokalisierung auf Dauer als auch die soeben hervorgehobenen Punkte werden<br />

<strong>in</strong> den Kapiteln 4.4 bis 4.8 von Bedeutung se<strong>in</strong>. Vorher jedoch gilt es e<strong>in</strong>en Aspekt<br />

der kooperativen Lokalisierung zu besprechen, der bislang noch vernachlässigt wurde:<br />

die Aufrechterhaltung von Posenschätzungen mittels der im letzten Kapitel e<strong>in</strong>geführten<br />

Techniken <strong>in</strong>nerhalb der Umgebung aller <strong>Roboter</strong>.<br />

4.2 <strong>Kooperative</strong> Posenschätzung <strong>in</strong>nerhalb e<strong>in</strong>es globalen<br />

Koord<strong>in</strong>atensystems<br />

In Kapitel 3 wurde die Bestimmung des Standorts e<strong>in</strong>es <strong>Roboter</strong>s Rproj anhand des e<strong>in</strong>zelnen<br />

Kamerabilds e<strong>in</strong>es <strong>Roboter</strong>s Rloc vorgestellt. Diese Lokalisierung f<strong>in</strong>det jedoch<br />

relativ statt, das heißt, die Position von Rproj wird <strong>in</strong>nerhalb des egozentrischen Koord<strong>in</strong>atensystems<br />

von Rloc ermittelt. Für die fortdauernde Aufrechterhaltung der Schätzung<br />

von Posen e<strong>in</strong>es Teams erweist es sich aber als notwendig, die Standorte der <strong>Roboter</strong><br />

als globale Koord<strong>in</strong>aten zu kennen. Insbesondere entsteht dadurch e<strong>in</strong> wesentliches, bisher<br />

nicht betrachtetes Problem, nämlich dass auch die Möglichkeit zur Schätzung der<br />

absoluten Orientierung θ e<strong>in</strong>es <strong>Roboter</strong>s sichergestellt se<strong>in</strong> muss. Die globale Pose e<strong>in</strong>es<br />

<strong>Roboter</strong>s wird im Folgenden als Tupel (x | y | θ) angegeben, wobei Orientierungen als<br />

W<strong>in</strong>kel im mathematisch positiven S<strong>in</strong>ne <strong>in</strong>terpretiert werden und 0 ◦ der Richtung der<br />

y-Achse entspreche. Relative Positionen <strong>in</strong>nerhalb des Koord<strong>in</strong>atensystems e<strong>in</strong>es <strong>Roboter</strong>s<br />

werden zur Abgrenzung von hier an durch den Index rel kenntlich gemacht. Es<br />

sei noch e<strong>in</strong>mal explizit darauf h<strong>in</strong>gewiesen, dass sich die Orientierungen anderer beim<br />

gegebenen <strong>Roboter</strong>modell nicht aus Kamerabildern entnehmen lassen. Dies bedeutet<br />

implizit auch, dass die Pose e<strong>in</strong>es <strong>Roboter</strong>s, der <strong>in</strong> den freien Raum blickt (also ke<strong>in</strong>en<br />

anderen im Sichtw<strong>in</strong>kel hat), nicht hergeleitet werden kann.<br />

Jegliche Bewegung e<strong>in</strong>es <strong>Roboter</strong>s führt nun isoliert betrachtet <strong>in</strong> e<strong>in</strong>er realistischen<br />

Welt zur Verschlechterung des Wissens über Position und Orientierung. Um dort kaum<br />

gewährleistbare Annahmen über e<strong>in</strong>e maximale Ungenauigkeit des <strong>Roboter</strong>antriebs zu<br />

vermeiden, wird <strong>in</strong> dieser Arbeit darauf verzichtet, Daten des Bewegungssensors e<strong>in</strong>es<br />

<strong>Roboter</strong>s <strong>in</strong> die Schätzung von dessen Pose mite<strong>in</strong>zurechnen. Gegenteilig dazu wird vielmehr<br />

unterstellt, dass sich bei der Neubestimmung e<strong>in</strong>er Pose nach e<strong>in</strong>er Bewegung die<br />

zuletzt gemachte Schätzung nicht mehr verwenden lässt, weil e<strong>in</strong> beliebig großer Fehler<br />

während des Positionswechsels entstanden se<strong>in</strong> könnte. Dadurch tritt e<strong>in</strong>e weitere


76 4.2 <strong>Kooperative</strong> Posenschätzung <strong>in</strong>nerhalb e<strong>in</strong>es globalen Koord<strong>in</strong>atensystems<br />

Schwierigkeit <strong>für</strong> die Lokalisierung auf, denn es muss bedacht werden, dass sich <strong>Roboter</strong><br />

im vorliegenden Zusammenhang nicht e<strong>in</strong>deutig erkennen lassen. Da die Bewegungsabläufe<br />

der Teams hier aber koord<strong>in</strong>iert verlaufen werden, lässt sich zum<strong>in</strong>dest getrost<br />

annehmen, dass e<strong>in</strong> <strong>Roboter</strong> Rproj, der sich (wie die anderen wissen) gerade bewegt<br />

hat, von e<strong>in</strong>em <strong>Roboter</strong> Rloc als er selbst zum<strong>in</strong>dest dann identifiziert werden kann,<br />

wenn sich Rproj bei Abschluss se<strong>in</strong>er Bewegung im Sichtbereich von Rloc aufhält.<br />

Messungen der eigenen zurückgelegten Strecke werden nebenbei dennoch genutzt, wenn<br />

auch nur implizit, um während e<strong>in</strong>er Bewegung den geplanten Pfad verfolgen zu können.<br />

Zusätzlich kann dabei fungieren, eigene Kamerabilder h<strong>in</strong>sichtlich der Sichtbarkeit<br />

anderer <strong>Roboter</strong> auszuwerten. Umgekehrt können andere den sich bewegenden <strong>Roboter</strong><br />

darüber <strong>in</strong>formieren, ob er sich aktuell <strong>in</strong> ihrem Sichtw<strong>in</strong>kel bef<strong>in</strong>det oder nicht. Dies<br />

alles wird hier nicht genauer untersucht. Stattdessen sei vorausgesetzt, dass es solche<br />

Möglichkeiten gibt und sich somit angesteuerte Orte bei E<strong>in</strong>haltung von Wegen, auf denen<br />

sich <strong>Roboter</strong> gegenseitig sehen, im Groben erreichen lassen. Hierzu kann ausreichen,<br />

dass e<strong>in</strong> <strong>Roboter</strong> Rproj auch <strong>in</strong> Entfernungen, die den günstigen Bereich e<strong>in</strong>es <strong>Roboter</strong>s<br />

Rloc überschreiten, <strong>in</strong> dessen Kamerabild auftaucht.<br />

Im Folgenden stehen allerd<strong>in</strong>gs nur noch Lokalisierungszwecke im Fokus. Daher wird aus<br />

Gründen der Praktikabilität bei den Verfahren <strong>in</strong> Kapitel 4.4 bis 4.6 davon ausgegangen,<br />

dass Rproj zur Lokalisierung e<strong>in</strong>zig dann von Rloc gesehen wird, wenn sich Rproj <strong>in</strong><br />

dessen günstigem Bereich ˜ Gloc bef<strong>in</strong>det. Wie oben def<strong>in</strong>iert, sei hier<strong>für</strong> zu beachten, dass<br />

˜Gloc sich auf die Mittelpunkte anderer <strong>Roboter</strong> bezieht; es genügt <strong>für</strong> die Lokalisierung<br />

mit maximaler Abweichung ε also, dass der Mittelpunkt von Rproj <strong>in</strong> ˜ Gloc liegt. Der<br />

E<strong>in</strong>fachheit halber entspreche der Mittelpunkt M e<strong>in</strong>es <strong>Roboter</strong>s dabei dem Projektionszentrum<br />

C se<strong>in</strong>er Kamera. Dies bedeutet ke<strong>in</strong>e E<strong>in</strong>schränkung, da der Unterschied<br />

zwischen zwischen C und M sich bei e<strong>in</strong>er fest <strong>in</strong>stallierten Kamera problemlos mit <strong>in</strong><br />

Posenbestimmungen e<strong>in</strong>beziehen ließe. Schwierigkeiten beim Sehen e<strong>in</strong>es <strong>Roboter</strong>s kann<br />

jedoch machen, dass sich <strong>Roboter</strong> im Kamerabild überlagern, so dass sich ihre Randpixel<br />

nicht mehr generell bestimmen lassen. Daher wird <strong>in</strong> allen Verfahren bedacht werden,<br />

dass Lokalisierungsberechnungen nur dann stattf<strong>in</strong>den dürfen, wenn ableitbar ist, dass<br />

die da<strong>für</strong> genutzten <strong>Roboter</strong> isoliert auf das Kamerabild projiziert worden s<strong>in</strong>d.<br />

Lokalisierung anhand e<strong>in</strong>es <strong>Roboter</strong>s <strong>in</strong> e<strong>in</strong>em Kamerabild<br />

Zu Beg<strong>in</strong>n sei der Frage nachgegangen, <strong>in</strong>wiefern die alle<strong>in</strong>ige Nutzung der relativen<br />

Lokalisierung von <strong>Roboter</strong>n aus e<strong>in</strong>zelnen Kamerabildern die absolute Standortbestimmung<br />

<strong>in</strong> e<strong>in</strong>em globalen Koord<strong>in</strong>atensystem erlaubt. Hierbei s<strong>in</strong>d unterschiedliche Fälle<br />

anzuschauen, die aus verschiedenem geme<strong>in</strong>samen Wissen über die Positionen oder Posen<br />

der betreffenden <strong>Roboter</strong> entspr<strong>in</strong>gen, wobei zur Beschreibung <strong>in</strong> diesem Teilkapitel<br />

aus Gründen der Übersichtlichkeit die ideale Berechnung von Entfernungen ohne Abweichung<br />

zugrunde gelegt wird. Die eigentliche Entstehung akkumulierender Fehler ist<br />

Inhalt des folgenden Teilkapitels.<br />

Angenommen nun, über die Pose (x1 | y1 | θ1) e<strong>in</strong>es <strong>Roboter</strong>s R1 bestehe ke<strong>in</strong> Wissen.<br />

Im günstigen Bereich von R1 halte sich e<strong>in</strong> <strong>Roboter</strong> R2 auf, über dessen geschätzte absolute<br />

Position (x2 | y2) der <strong>Roboter</strong> R1 bescheid weiß. Dann kann R1 se<strong>in</strong>en Abstand d<br />

und den Projektionsw<strong>in</strong>kel ϕ bezüglich R2 berechnen. Da jedoch die absolute Orientie-


4 Explizite Verwendung kooperativer <strong>Bewegungsstrategien</strong> 77<br />

1<br />

1<br />

2<br />

1<br />

Regel 1 Regel 2Regel<br />

1 Regel 2<br />

1<br />

1 2<br />

2<br />

2 1<br />

1<br />

1<br />

1<br />

1<br />

2<br />

1<br />

2<br />

1<br />

1<br />

(x 1 |y 1 )<br />

y rel<br />

1<br />

2<br />

1<br />

φʼ 1<br />

d 1<br />

θ 2<br />

(x 2 |y 2 )<br />

Abbildung 4.3: Es wird jeweils davon ausgegangen, dass der gesehene <strong>Roboter</strong> identifiziert<br />

wird. (l<strong>in</strong>ks) Bei unbekanntem Standort kann R1 se<strong>in</strong>e Lage absolut auf e<strong>in</strong>en Kreis möglicher<br />

Positionen e<strong>in</strong>schränken, wenn er R2 mit bekannter Position sieht. (halb l<strong>in</strong>ks) Wenn R2 lediglich<br />

se<strong>in</strong>e Position kennt, lässt sich die Lage von R1, dessen Standort unbekannt ist, ebenfalls nur auf<br />

e<strong>in</strong>en Kreis möglicher Positionen reduzieren. (halb rechts) E<strong>in</strong> <strong>Roboter</strong> R2 mit bekannter Pose<br />

kann die Position jedes <strong>Roboter</strong>s R1, den er sieht, schätzen. (rechts) Umrechnung der Punkte im<br />

egozentrischen Koord<strong>in</strong>atensystem mit Ursprung (x2 | y2) <strong>in</strong> e<strong>in</strong> globales Koord<strong>in</strong>atensystem.<br />

rung θ1 von R1 nicht verfügbar ist, lässt sich lediglich herleiten, dass sich R1 irgendwo<br />

auf e<strong>in</strong>er Kreisbahn um R2 herum bef<strong>in</strong>det, wobei sich die möglichen Positionen von R1<br />

nach Pohlmann 1996, S. 31 aus der Kreisgleichung (x1−x2) 2 +(y1−y2) 2 = d 2 ergeben.<br />

Abbildung 4.3 (l<strong>in</strong>ks) zeigt drei der unendlich vielen Möglichkeiten <strong>für</strong> die Lage e<strong>in</strong>es<br />

solchen <strong>Roboter</strong>s R1 relativ zu R2. Diese E<strong>in</strong>grenzung bezeichnet die e<strong>in</strong>zige Schlussfolgerung,<br />

die e<strong>in</strong> <strong>Roboter</strong>, dem jegliches Vorwissen über die eigene Pose fehlt, anhand der<br />

Projektion e<strong>in</strong>es anderen machen kann. Jedoch br<strong>in</strong>gt selbst sie wenig, da dazu R2 als<br />

Selbiger von R1 identifiziert werden müsste, was wie gesagt nicht vorausgesetzt werden<br />

kann. Sieht umgekehrt e<strong>in</strong> <strong>Roboter</strong> R2 mit zum<strong>in</strong>dest unsicherem Positionswissen e<strong>in</strong>en<br />

<strong>Roboter</strong> R1, so kann auch R2 die Bandbreite denkbarer Standorte von R1 mit gleichen<br />

Überlegungen auf e<strong>in</strong>en Kreis reduzieren (vgl. Abbildung 4.3 halb l<strong>in</strong>ks). Da R2 aber<br />

unter Umständen weiß, dass es sich beim anderen um R1 handelt, beispielsweise weil<br />

dieser soeben e<strong>in</strong>e Bewegung ausgeführt hat, ließe sich hieraus e<strong>in</strong>e Regel formulieren,<br />

wobei diese im weiteren Verlauf aus weiter unten dargelegten Gründen nicht genutzt<br />

werden wird: Sieht e<strong>in</strong> <strong>Roboter</strong> Rloc mit bekannter Position e<strong>in</strong>en <strong>Roboter</strong> Rproj mit<br />

unbekannter Pose, dann kann Rloc die Schätzung der absoluten Lage von Rproj auf e<strong>in</strong>en<br />

Kreis von Positionen um sich selbst herum e<strong>in</strong>schränken. An dieser Stelle sei angemerkt,<br />

dass ähnliche, auf Kreisen und deren Schnittpunkten basierende Lokalisierungstechniken<br />

<strong>in</strong> dem bereits <strong>in</strong> Kapitel 2.1 erwähnten Paper Göhr<strong>in</strong>g & Burkhard 2006 e<strong>in</strong>e<br />

Rolle spielen, also nicht vollends neu <strong>in</strong> diesem Kontext s<strong>in</strong>d. Schnittpunkte von Kreisen<br />

werden auch hier weiter unten vorkommen.<br />

Kennt nun der <strong>Roboter</strong> R2 über den eben geschilderten Fall h<strong>in</strong>aus nicht nur se<strong>in</strong>e Position,<br />

sondern zusätzlich se<strong>in</strong>e Orientierung, lässt sich die Position von R1 sogar absolut<br />

schätzen (vgl. Abbildung 4.3 halb rechts): R2 habe die geschätzte Pose (x2 | y2 | θ2),<br />

se<strong>in</strong>e Berechnung der zu ihm relativen Lage von R1 ergebe die Entfernung d1 und den <strong>in</strong><br />

Kapitel 3.2 e<strong>in</strong>geführten vorzeichenbehafteten Projektionsw<strong>in</strong>kel ϕ ′ 1 (durch Verwendung<br />

von ϕ ′ 1 anstatt ϕ1 ist ke<strong>in</strong>e Fallunterscheidung bezüglich der Lage der Projektion von R1<br />

im Kamerabild von R2 notwendig). Dann erfolgt die Umrechnung der egozentrischen<br />

y glob<br />

2<br />

1<br />

x rel<br />

x glob


78 4.2 <strong>Kooperative</strong> Posenschätzung <strong>in</strong>nerhalb e<strong>in</strong>es globalen Koord<strong>in</strong>atensystems<br />

Koord<strong>in</strong>aten (x1rel | y1rel) <strong>in</strong> globale Koord<strong>in</strong>aten (x1 | y1) durch e<strong>in</strong>e Verschiebung<br />

nach (x2 | y2) und Drehung um θ2 − ϕ ′ 1 , wie Abbildung 4.3 (rechts) unterstreicht:<br />

x1 = x2 − s<strong>in</strong>(θ2 − ϕ ′ 1) · d1<br />

y1 = y2 + cos(θ2 − ϕ ′ 1) · d1<br />

Zur besseren Vorstellbarkeit sei daran er<strong>in</strong>nert, dass ϕ ′ bei e<strong>in</strong>er Projektion im positiven<br />

Bereich der x-Achse e<strong>in</strong>es egozentrischen Koord<strong>in</strong>atensystems positive, im negativen<br />

negative Werte annimmt. Zusammengefasst lässt sich e<strong>in</strong>e wichtige Regel angeben:<br />

Regel 1: Wenn e<strong>in</strong> <strong>Roboter</strong> Rloc mit bekannter (geschätzter) Pose e<strong>in</strong>en beliebigen<br />

<strong>Roboter</strong> Rproj sieht, dann kann Rloc die Position von Rproj absolut schätzen.<br />

Ke<strong>in</strong>e der bisherigen Lokalisierungsarten hat die Bestimmung der Orientierung e<strong>in</strong>es<br />

<strong>Roboter</strong>s als Ergebnis. Dennoch kann Letztere anhand e<strong>in</strong>es e<strong>in</strong>zelnen Kamerabilds geschätzt<br />

werden und zwar, wenn m<strong>in</strong>destens über die Positonen beider dabei betroffenen<br />

<strong>Roboter</strong> Schätzungen vorhanden s<strong>in</strong>d.<br />

Regel 2: Wenn e<strong>in</strong> <strong>Roboter</strong> Rloc mit bekannter (geschätzter) Position e<strong>in</strong>en <strong>Roboter</strong><br />

Rproj mit ebenfalls bekannter (geschätzter) Position sieht, dann kann Rloc se<strong>in</strong>e<br />

eigene absolute Orientierung und somit se<strong>in</strong>e absolute Pose schätzen.<br />

E<strong>in</strong>e solche Situation ist <strong>in</strong> Abbildung 4.4 (l<strong>in</strong>ks) dargestellt; e<strong>in</strong> <strong>Roboter</strong> R2 mit Position<br />

(x2 | y2) sieht e<strong>in</strong>en <strong>Roboter</strong> R1 mit Position (x1 | y1). Die Berechnung der Lage<br />

von R1 bezüglich R2 liefere die Werte d1 und ϕ ′ 1 . Dann folgt aus der leicht nachrechenbaren<br />

Umformung obenstehender Gleichungen <strong>für</strong> die globalen Koord<strong>in</strong>aten von R1 die<br />

Berechnungsvorschrift <strong>für</strong> die Orientierung von R2:<br />

<br />

x2 −<br />

<br />

x1<br />

θ2 = arcs<strong>in</strong> + ϕ ′ <br />

y1 −<br />

<br />

y2<br />

1 = arccos + ϕ ′ 1<br />

d1<br />

Den beschriebenen Fällen unterliegt <strong>in</strong>sofern bereits Kooperation, als ihr Auftreten erst<br />

bei geme<strong>in</strong>samer Fortbewegung ermöglicht wird und die Aneignung von Wissen über<br />

den eigenen Standort zum Teil Kommunikation mit anderen erfordert. E<strong>in</strong>e Komb<strong>in</strong>ation<br />

von Regel 1 und 2 erlaubt aber sogar, dass <strong>Roboter</strong> explizit zusammenarbeiten,<br />

um e<strong>in</strong>e Pose herauszuf<strong>in</strong>den: Begegnen sich zwei <strong>Roboter</strong> R1 und R2, von denen e<strong>in</strong>em<br />

(etwa R2) e<strong>in</strong>e Schätzung se<strong>in</strong>er Pose zur Verfügung steht, während der andere<br />

(R1) nichts über se<strong>in</strong>en Standort und se<strong>in</strong>e Blickrichtung weiß, so können diese die Pose<br />

von Letzterem schätzen. Abbildung 4.4 (rechts) veranschaulicht den dabei nötigen<br />

Ablauf, bei dem zuerst R2 die Position von R1 nach Regel 1 ermittelt und sie an R1 weitergibt,<br />

woraufh<strong>in</strong> R1 nach Regel 2 auf Grundlage der erhaltenen Positionsschätzung<br />

se<strong>in</strong>e Pose berechnen kann. Hierbei wird wieder vorausgesetzt, dass R1 von R2 aufgrund<br />

koord<strong>in</strong>ierter Bewegungsfolgen als dieser identifiziert werden konnte. Der Fehler<br />

der Entfernungsberechnung entsteht dabei nur e<strong>in</strong>mal, da R1 nur noch se<strong>in</strong>e Orientierung<br />

schätzen muss (vgl. dazu Kapitel 4.3). Dies gilt natürlich genauso, wenn R2 die<br />

Schätzung se<strong>in</strong>er Position von e<strong>in</strong>em dritten <strong>Roboter</strong> erhalten hätte.<br />

d1


el 1 Regel 2<br />

2<br />

1<br />

4 Explizite Verwendung kooperativer <strong>Bewegungsstrategien</strong> 79<br />

2<br />

1<br />

1<br />

2<br />

Regel 1 Regel 2<br />

1<br />

2 2<br />

Abbildung 4.4: (l<strong>in</strong>ks) E<strong>in</strong> <strong>Roboter</strong> R1 mit bekannter Position kann se<strong>in</strong>e eigene Pose anhand<br />

e<strong>in</strong>es <strong>Roboter</strong>s R2, dessen Position ebenfalls bekannt ist, schätzen. (rechts) Schätzung der Pose<br />

von R1 durch Wissensaustausch: R1 und R2 sehen sich gegenseitig, wobei die Pose von R2<br />

bekannt ist und dieser R1 identifizieren kann. R2 schätzt die Position von R1 und teilt ihm die<br />

Schätzung mit. Daraufh<strong>in</strong> schätzt R1 se<strong>in</strong>e Pose anhand der relativen Lage zu R2.<br />

Weitere Lokalisierungsverfahren <strong>für</strong> e<strong>in</strong>zelne Kamerabilder<br />

Es existieren weitere Ausgangspunkte <strong>für</strong> die Ermittlung von Posen; f<strong>in</strong>den sich etwa<br />

<strong>in</strong> e<strong>in</strong>em Kamerabild mehrere <strong>Roboter</strong> mit vorhandenen Positionsschätzungen, deren<br />

Projektionen sich getrennt analysieren lassen, weil sie sich nicht überlagern, können<br />

aus der relativen Lage der projizierten zum lokalisierenden <strong>Roboter</strong> Rloc Informationen<br />

über die Pose von Rloc abgeleitet werden. E<strong>in</strong>e solche Möglichkeit ergibt sich aus e<strong>in</strong>er<br />

Anordnung, wie sie <strong>in</strong> Abbildung 4.5 (l<strong>in</strong>ks) zu sehen ist. E<strong>in</strong> <strong>Roboter</strong> R1 bestimmt die<br />

Entfernungen d2 und d3 zu zwei <strong>Roboter</strong>n R2 und R3, die sich <strong>in</strong> se<strong>in</strong>em Kamerabild<br />

wiederf<strong>in</strong>den und über deren Position jeweils e<strong>in</strong>e Schätzung existiert. Wie gehabt führen<br />

diese Berechnungen zu Kreisen möglicher Positionen von R1, wenn ke<strong>in</strong> Vorwissen über<br />

dessen Pose besteht. Die beiden Kreise schneiden sich <strong>in</strong> der Regel <strong>in</strong> zwei Punkten, die<br />

sich durch das Lösen des folgenden l<strong>in</strong>earen Gleichungssystems berechnen lassen:<br />

I (x1 − x2) 2 + (y1 − y2) 2 = d2 2<br />

II (x1 − x3) 2 + (y1 − y3) 2 = d3 2<br />

Auf e<strong>in</strong>e Umformung der Gleichungen wird hier verzichtet, da das Vorgehen dabei klar<br />

ist. Es sei darauf h<strong>in</strong>gewiesen, dass ggf. nur e<strong>in</strong>e oder ke<strong>in</strong>e Lösung <strong>für</strong> die Position von<br />

R1 existiert, und zwar dann, wenn der Abstand zwischen R2 und R3 nicht kle<strong>in</strong>er als<br />

d2 und d3 ist, was aber bei normalen Bildw<strong>in</strong>keln abhängig von der <strong>Roboter</strong>größe nur<br />

<strong>in</strong> Grenzfällen möglich se<strong>in</strong> sollte, wie sich etwa aus Abbildung 4.5 (l<strong>in</strong>ks) ersehen lässt.<br />

Sei jetzt angenommen, es gebe zwei Schnittpunkte. Diese könnten zwar generell beide<br />

den Standort (x1 | y1) von R1 bezeichnen. Kann aber durch weiteres Wissen e<strong>in</strong>er der<br />

Punkte ausgeschlossen werden, zum Beispiel weil R2, der wie <strong>in</strong> Abbildung 4.5 (l<strong>in</strong>ks)<br />

se<strong>in</strong>e geschätzte Pose kennt, sieht, dass sich R1 nicht vor ihm bef<strong>in</strong>det (sicherer: auch<br />

ke<strong>in</strong> anderer), so resultiert daraus e<strong>in</strong>e e<strong>in</strong>deutige Position (x1 | y1) <strong>für</strong> R1, die natürlich<br />

bei Mite<strong>in</strong>beziehung von Abweichungen (siehe unten) mit Unsicherheit behaftet wäre.<br />

Mehr noch; R1 kann nun auch se<strong>in</strong>e Orientierung schätzen, da bei vorhandener Position<br />

Regel 2 anwendbar ist. Es lässt sich somit e<strong>in</strong>e letzte Regel, die im Folgenden benutzt<br />

werden wird, def<strong>in</strong>ieren:<br />

1


80 4.2 <strong>Kooperative</strong> Posenschätzung <strong>in</strong>nerhalb e<strong>in</strong>es globalen Koord<strong>in</strong>atensystems<br />

Regel 3<br />

2 3<br />

1<br />

2<br />

1<br />

Abbildung 4.5: (l<strong>in</strong>ks) Nach Berechnung von dsupp zu R2 und R3 bleiben <strong>für</strong> R1 die Schnittpunkte<br />

der beiden Kreise als mögliche Positionen. Lässt sich durch den Sichtbereich von e<strong>in</strong>em<br />

<strong>Roboter</strong> bekannter Pose, wie hier R2, e<strong>in</strong>er der Punkte ausschließen, kann damit die Pose von R1<br />

ermittelt werden. (Mitte) Bei solch e<strong>in</strong>er Lokalisierung ergibt sich der Unsicherheitsbereich als<br />

Schnittfläche zweier „R<strong>in</strong>ge“, die jeweils den Unterschied zwischen dm<strong>in</strong> und dmax verkörpern.<br />

(rechts) Der Bereich lässt sich e<strong>in</strong>schränken, wenn zusätzlich die Summe der Projektionsw<strong>in</strong>kel<br />

zu R2 und R3 betrachtet wird, welche sich im Umkreis der <strong>Roboter</strong>mittelpunkte wiederf<strong>in</strong>det.<br />

Regel 3: Wenn e<strong>in</strong> <strong>Roboter</strong> Rloc zwei <strong>Roboter</strong> Rproj 1 und Rproj 2 mit bekannten (geschätzten)<br />

Positionen sieht, deren Abstand untere<strong>in</strong>ander ger<strong>in</strong>ger als der jeweilige<br />

zu Rloc ist, dann kann Rloc se<strong>in</strong>e eigene absolute Lage auf zwei (geschätzte) Positionen<br />

e<strong>in</strong>schränken. Lässt sich e<strong>in</strong>e der Positionen durch den Sichtw<strong>in</strong>kel von<br />

Rproj 1 oder Rproj 2 ausschließen, so kann Rloc se<strong>in</strong>e eigene absolute Pose schätzen.<br />

E<strong>in</strong>e wichtige und <strong>für</strong> die vorliegenden Untersuchungen problematische Beobachtung<br />

besteht dar<strong>in</strong>, dass die Schätzung der Position e<strong>in</strong>es <strong>Roboter</strong>s R1 anhand zweier <strong>Roboter</strong><br />

R2 und R3 zu e<strong>in</strong>er neuen Unsicherheitsgröße führt. Da sich die Entfernung zu<br />

e<strong>in</strong>em anderen <strong>Roboter</strong> mit der angeführten Positionsberechnung nur auf e<strong>in</strong> Intervall<br />

[dm<strong>in</strong>, dmax] e<strong>in</strong>grenzen lässt, handelt es sich bei den beiden Kreisen eigentlich um zwei<br />

als R<strong>in</strong>ge benennbare Flächen, deren Ränder jeweils durch Kreise mit Radien dm<strong>in</strong> und<br />

dmax def<strong>in</strong>iert s<strong>in</strong>d (vgl. Abbildung 4.5 Mitte). Hieraus entsteht e<strong>in</strong>e nicht-triviale Fläche,<br />

<strong>in</strong>nerhalb der sich die Position von R1 bef<strong>in</strong>den muss. Die Ausmaße der Fläche<br />

variieren mit dem Abstand zwischen R2 und R3 wie auch mit dem zwischen R1 und<br />

diesen <strong>Roboter</strong>n. Für die Lokalisierung nützlich, aber <strong>für</strong> e<strong>in</strong>e formale Bestimmung dieses<br />

Bereichs erschwerend, kommt h<strong>in</strong>zu, dass sich die Lage von R2 <strong>in</strong> dem Bereich weiter<br />

spezifizieren lässt; <strong>in</strong> Kapitel 3.4 wurde argumentiert und exemplarisch gezeigt, dass die<br />

Abweichung des W<strong>in</strong>kels ϕsupp bei der Projektion e<strong>in</strong>es <strong>Roboter</strong>s Rproj auf die Bildebene<br />

e<strong>in</strong>es <strong>Roboter</strong>s Rloc im Allgeme<strong>in</strong>en verhältnismäßig sehr ger<strong>in</strong>g im Vergleich zur<br />

Abweichung der vermuteten Entfernung dsupp ist. Die Summe der Projektionsw<strong>in</strong>kel ϕ2<br />

und ϕ3 zu R2 und R3 f<strong>in</strong>det sich nun im Umkreis des durch die Mittelpunkte der drei<br />

<strong>Roboter</strong> def<strong>in</strong>ierten Dreiecks an R1 wieder. Da sich die Unsicherheit dieses Umkreises<br />

<strong>in</strong> der Genauigkeit der Berechnung der Projektionsw<strong>in</strong>kel gründet, kann e<strong>in</strong> weiterer<br />

„R<strong>in</strong>g“ <strong>in</strong> die Schnittmenge mitaufgenommen werden, aus der der Unsicherheitsbereich<br />

der Position von R1 hervorgeht, wie Abbildung 4.5 rechts illustriert.<br />

Es würde den Umfang dieser Arbeit übersteigen, auch <strong>für</strong> diesen Ansatz der Lokalisie-<br />

3<br />

2<br />

1<br />

3


4 Explizite Verwendung kooperativer <strong>Bewegungsstrategien</strong> 81<br />

2<br />

1<br />

1<br />

3<br />

2<br />

Abbildung 4.6: (l<strong>in</strong>ks) S<strong>in</strong>d R2 und R3 nahezu gleich weit von R1 entfernt und sieht ke<strong>in</strong>er<br />

davon R1, lässt sich ohne weiteres Vorwissen ke<strong>in</strong>er der Kreisschnittpunkte als Position von<br />

R1 ausschließen. (Mitte) Wenn dmax zu R2 kle<strong>in</strong>er als dm<strong>in</strong> zu R3 ist, kann zwar e<strong>in</strong>er der<br />

Schnittpunkte als Position von R1 ausgeschlossen werden, jedoch bleibt die Doppeldeutigkeit<br />

der Situation bestehen. (rechts) Die Pose e<strong>in</strong>es <strong>Roboter</strong>s, hier die von R1, lässt sich auch über<br />

den Schnittpunkt zweier Kreise aus den Sichtbereichen mehrerer <strong>Roboter</strong> bestimmmen.<br />

rung mathematische Ergebnisse herzuleiten, weswegen dies als offener Punkt verbleibe.<br />

Stattdessen werden <strong>in</strong> den anstehenden Teilkapiteln sowohl Verfahren mit Verwendung<br />

von Regel 3 als auch welche, die diese Regel auslassen, entwickelt werden. Im nächsten<br />

Teilkapitel wird da<strong>für</strong> e<strong>in</strong>e Abschätzung des resultierenden Fehlers gemacht, ohne die<br />

jegliche weitere Betrachtung auf Regel 3 aufbauender Konzepte unnütz wäre. So lässt<br />

sich anschließend zum<strong>in</strong>dest überlegen, ob e<strong>in</strong>e weitere Beschäftigung mit dem hier nur<br />

oberflächlich analysierten Unsicherheitsbereich s<strong>in</strong>nvoll wäre.<br />

Mit der Frage nach weiteren Lokalisierungsmöglichkeiten ließe sich noch ausgiebiger befassen.<br />

Abbildung 4.6 (l<strong>in</strong>ks) zeigt den zu Regel 3 entgegengesetzten Fall; obwohl beide<br />

im günstigen Bereich bef<strong>in</strong>dlichen <strong>Roboter</strong> ihre Pose geschätzt kennen, hilft dies <strong>Roboter</strong><br />

R1 nicht beim Ermitteln se<strong>in</strong>er Position. Verme<strong>in</strong>tlich könnte vermutet werden, dass<br />

aber Nutzen aus e<strong>in</strong>er deutlich unterschiedlichen Entfernung von R2 und R3 geschlagen<br />

werden kann, wie es <strong>in</strong> Abbildung 4.6 (Mitte) dargestellt ist. Ohne Verlust der Allgeme<strong>in</strong>gültigkeit<br />

liege R2 näher als R3 an R1; wenn die maximale Entfernung dmax2 von<br />

R2 ger<strong>in</strong>ger als die m<strong>in</strong>imale Entfernung dm<strong>in</strong>3 von R3 ist, bleibt wegen der horizontalen<br />

Lage der Projektionen im Kamerabild nur noch e<strong>in</strong> Schnittpunkt der Kreise <strong>für</strong> R1 übrig.<br />

In diesem Fall liegen sich die beiden Punkte allerd<strong>in</strong>gs nicht diametral gegenüber. Es<br />

folgt, dass R1 trotzdem nicht weiß, von welcher Seite aus er zu R2 und R3 blickt, sofern<br />

er sie nicht ause<strong>in</strong>anderhalten kann, denn die Entfernungsberechnung ergäbe <strong>in</strong> beiden<br />

Fällen die gleichen Werte, was Abbildung 4.6 (Mitte) verdeutlicht. Die Lösung des<br />

Problems mehrerer aus Entfernungsberechnungen entstehender Positionsmöglichkeiten<br />

wird also von dem der Mehrdeutigkeit mangels Orientierung unterlaufen.<br />

Davon unabhängig gibt es andere Mechanismen, die wiederum tatsächlich zur Posenf<strong>in</strong>dung<br />

benutzt werden könnten. Abbildung 4.6 (rechts) illustriert etwa die Kooperation<br />

dreier <strong>Roboter</strong>; lässt sich R1 von R2 wegen gerade beendeter Bewegungen identifizieren,<br />

so kann R1 ableiten, dass er R3 sieht, da der Abstand zwischen R2 und R1 sowie<br />

1<br />

1<br />

3<br />

2<br />

3<br />

1


82 4.2 <strong>Kooperative</strong> Posenschätzung <strong>in</strong>nerhalb e<strong>in</strong>es globalen Koord<strong>in</strong>atensystems<br />

R1 und R3 berechnet werden kann und der zwischen R2 und R3 aus deren Positionen<br />

folgt. Von den verbleibenden zwei Kreisschnittpunkten kann nur e<strong>in</strong>er die Position von<br />

R1 bezeichnen, weil R3 aufgrund bekannter Pose und se<strong>in</strong>em Sichtbereich weiß, dass<br />

der andere nicht besetzt ist. Solche Abläufe lassen sich auch auf größere Zahlen von<br />

<strong>Roboter</strong>n ausdehnen, jedoch werden sie schnell komplex und helfen damit wenig bei<br />

allgeme<strong>in</strong>en Techniken zur geme<strong>in</strong>samen Fortbewegung. Daher werden sie im Folgenden<br />

nicht mehr beachtet, ebenso wie sicherlich weitere Methoden, die hier überhaupt<br />

nicht berücksichtigt wurden. Die aufgezeigten Regeln 1 bis 3 sollen und werden h<strong>in</strong>gegen<br />

ausreichen, um sich mit koord<strong>in</strong>ierten Bewegungsfolgen beschäftigen zu können.<br />

Kommunikation im Zuge kooperativer Lokalisierung<br />

Ehe untersucht wird, wie sich die entwickelten Lokalisierungstechniken auf die zunehmenden<br />

Fehler der Posenschätzungen bei der Fortbewegung e<strong>in</strong>es <strong>Roboter</strong>-Teams auswirken,<br />

sei noch die Frage behandelt, welche Kommunikation <strong>für</strong> kooperative Lokalisierung<br />

gebraucht wird. E<strong>in</strong>en generell wichtigen Aspekt verkörpert die Teamleitung;<br />

damit kooperative <strong>Bewegungsstrategien</strong> erst S<strong>in</strong>n machen, bedarf es e<strong>in</strong>es Grunds, sich<br />

<strong>in</strong> e<strong>in</strong>e bestimmte Richtung fortbewegen zu wollen. Entsprechend Kapitel 4.1 liegt der<br />

Schwerpunkt hier allerd<strong>in</strong>gs nicht auf spezifischen Anwendungen, weswegen globale Entscheidungen<br />

über den verfolgten Weg nicht erörtert werden können. Daher sei unten<br />

jeweils davon ausgegangen, dass e<strong>in</strong>e geplante aktuelle Bewegungsfolge (etwa von e<strong>in</strong>em<br />

da<strong>für</strong> durchweg zuständigen <strong>Roboter</strong>) vorgegeben sei und nur deren Umsetzung <strong>in</strong>teressiere.<br />

Alle wissen also immer darüber bescheid, wann sich wer woh<strong>in</strong> zu bewegen hat,<br />

wozu sich natürlich Statusnachrichten benutzen ließen.<br />

Auch nicht Teil der Analyse wird se<strong>in</strong>, wie stillstehende <strong>Roboter</strong> e<strong>in</strong>en <strong>Roboter</strong> Rmov<br />

während dessen Bewegung koord<strong>in</strong>ieren, um ihn von se<strong>in</strong>em Startpunkt A zur Zielposition<br />

B unterstützend zu führen. Hierbei wird angenommen, dass Rmov beispielsweise<br />

<strong>in</strong> regelmäßigen Abständen se<strong>in</strong>e aktuell vermutete Position broadcastet und jeder <strong>Roboter</strong>,<br />

der e<strong>in</strong>en Teil des Pfads von A nach B beobachtet, eigenständig Rückmeldung<br />

darüber gibt, ob Rmov sich an der erwarteten Stelle aufhält, und ansonsten Kurskorrekturen<br />

vorschlägt. (bei den Verfahren muss später darauf geachtet werden, dass e<strong>in</strong> Pfad<br />

die da<strong>für</strong> nötigen Voraussetzungen erfüllt). Dies lässt sich also als temporäre Lokalisierung<br />

von Rmov durch die anderen begreifen, die bei anschließenden Posenbestimmungen<br />

ke<strong>in</strong>e Rolle mehr spielt, und ähnelt daher Ansätzen, wie sie <strong>in</strong> Kurazume & Hirose<br />

2000a umschrieben werden.<br />

Durchaus im Fokus liegt aber die geme<strong>in</strong>same Schätzung neu erreichter Standorte der<br />

<strong>Roboter</strong>, was letztlich auf die soeben erarbeiteten Lokalisierungstechniken zurückgeht.<br />

Anhand verschiedener Pseudocode-Methoden wird dazu explizit unterschieden werden,<br />

wann nur unter zwei <strong>Roboter</strong>n kommuniziert wird und wann alle am Wissen e<strong>in</strong>zelner<br />

teilhaben sollen, wobei sich zeigen wird, dass nur drei Arten von Nachrichten bei e<strong>in</strong>em<br />

sie verschickenden <strong>Roboter</strong> zum E<strong>in</strong>satz kommen: Mittels tellPosition(R_i) teilt er<br />

Ri se<strong>in</strong> Wissen über dessen Position mit, broadcastPosition(R_i) diene dazu, die<br />

Position von Ri an alle zu verbreiten, und durch broadcastOwnPose() wird Selbiges<br />

schließlich <strong>für</strong> die eigene Pose getan, die wie gehabt nur e<strong>in</strong> <strong>Roboter</strong> bei sich selbst f<strong>in</strong>al<br />

ermitteln kann. Die konkrete Adressierung von <strong>Roboter</strong>n demonstriert die Verwendung


4 Explizite Verwendung kooperativer <strong>Bewegungsstrategien</strong> 83<br />

von Code <strong>in</strong> dieser Arbeit: alle dadurch veranschaulichten Strategien werden passend<br />

zu den schon e<strong>in</strong>geführten Abbildungen von außen beschrieben, das heißt, die entsprechenden<br />

Algorithmen def<strong>in</strong>ieren das Verhalten der <strong>Roboter</strong>gruppe, als wenn diese global<br />

gesteuert wäre. Intern wird e<strong>in</strong> <strong>Roboter</strong> wissen, welcher <strong>Roboter</strong> gerade <strong>in</strong> se<strong>in</strong>en Sichtbereich<br />

getreten ist oder welchen er nach Abschluss se<strong>in</strong>er Bewegung sehen muss, so dass<br />

das direkte Ansprechen e<strong>in</strong>es speziellen <strong>Roboter</strong>s auch im Team so umgesetzt werden<br />

könnte. Alles Weitere zum Pseudocode, der sich an bekannten Programmiersprachen<br />

orientiert, aber auf deutlich abstrakterer Ebene formuliert ist, sei an den betreffenden<br />

Stellen geklärt und hier nicht weiter ausgeführt.<br />

4.3 Fehlerakkumulation bei der kooperativen Lokalisierung<br />

Als erste wichtige Erkenntnis zur Fehlerakkumulation lässt sich festhalten, dass ke<strong>in</strong>eswegs<br />

davon auszugehen ist, dass die Ungenauigkeiten der W<strong>in</strong>kel- und Entfernungsberechnungen<br />

stets Fehler gleicher Ausprägung s<strong>in</strong>d, wie es manch anderem Verfahren<br />

(z.B. Odometriemessungen) <strong>in</strong>neliegen kann: Es besteht ke<strong>in</strong>e erhöhte Wahrsche<strong>in</strong>lichkeit<br />

da<strong>für</strong>, dass Projektionen an e<strong>in</strong>er bestimmten Stelle e<strong>in</strong>es Pixels ihren Rand haben.<br />

Das heißt etwa, kont<strong>in</strong>uierliche Unterschätzungen von Abständen zwischen <strong>Roboter</strong>n<br />

s<strong>in</strong>d mittelfristig auszuschließen. Mag dies <strong>in</strong> der Praxis äußerst günstige Auswirkungen<br />

<strong>für</strong> die Aufrechterhaltung vernünftiger Posenschätzungen haben, so hilft es bei deren<br />

theoretischer Analyse wenig. Weiter liegt es gerade bei der E<strong>in</strong>haltung spezifischer <strong>Bewegungsstrategien</strong><br />

durchaus im Bereich des Möglichen, dass die Positionsberechnungen<br />

<strong>für</strong> e<strong>in</strong>en <strong>Roboter</strong> stets von ähnlichen relativen Standorten aus geschehen, womit der<br />

maximale Fehler ∆d entsprechend ähnlichen Abweichungsrichtungen entspr<strong>in</strong>gt. Aus<br />

solchen Gründen wird hier nur der schlechtest mögliche Fall angeschaut, bei dem der<br />

jeweils maximal mögliche Fehler als tatsächlich e<strong>in</strong>tretender angenommen wird (e<strong>in</strong>e<br />

Besprechung probabilistischer Modelle folgt <strong>in</strong> Kapitel 5).<br />

In Kapitel 3.3 hat sich herausgestellt, dass die Obergrenzen von Abweichungen <strong>in</strong> verschiedene<br />

Richtungen unterschiedlich ausfallen können. Ohne dass es explizit untersucht<br />

wurde, ersche<strong>in</strong>t es <strong>in</strong>tuitiv so, als würde die vorgestellte Positionsberechnung zu e<strong>in</strong>er<br />

ovalförmigen Fläche möglicher Standorte des projizierten <strong>Roboter</strong>s führen, die je nach<br />

Projektionsw<strong>in</strong>kel ggf. verzerrt se<strong>in</strong> kann. Dies macht aber e<strong>in</strong>e Beschäftigung mit Fehlerakkumulationen<br />

schwierig, da sie <strong>in</strong>nerhalb der günstigen Bereiche nicht gleichartig<br />

aussehen. Daher wird der Unsicherheitsbereich e<strong>in</strong>er Positionsschätzung bewusst größer<br />

def<strong>in</strong>iert als er real besteht, nämlich vorerst als Kreis mit Radius ∆d um den vermuteten<br />

Mittelpunkt Msupp des zu lokalisierenden <strong>Roboter</strong>s herum. Weiter unten wird noch die<br />

stärkere Ausweitung gemacht, dass der Radius durch die frei zu wählende Obergrenze ε<br />

möglicher Abweichungen (vgl. Kapitel 3.5) gegeben ist, was das Konzept der günstigen<br />

Bereiche <strong>in</strong> se<strong>in</strong>em Kern repräsentiert.<br />

Modell der Fehlerentwicklung aufe<strong>in</strong>ander folgender Posenschätzungen<br />

Sei zunächst e<strong>in</strong> Blick auf die im letzten Teilkapitel vorgestellte Kooperation der <strong>Roboter</strong><br />

über Regel 1 und 2 geworfen. Dort wurde bereits gesagt, dass nur e<strong>in</strong>e Entfernungs-


84 4.3 Fehlerakkumulation bei der kooperativen Lokalisierung<br />

(1) (2) (3)<br />

1<br />

1 1<br />

2<br />

2<br />

Abbildung 4.7: Entwicklung der Unsicherheit über die Pose der <strong>Roboter</strong>: (1) R1 bewegt sich,<br />

woraufh<strong>in</strong> e<strong>in</strong> anderer se<strong>in</strong>e Position schätzt, die <strong>in</strong>nerhalb e<strong>in</strong>er Kreisfläche mit Radius ∆d<br />

liegen muss. (2) R1 schätzt nun anhand von R2 se<strong>in</strong>e Orientierung, <strong>für</strong> die zwei Möglichkeiten<br />

dargestellt s<strong>in</strong>d. Außerdem könnte er die Unsicherheit se<strong>in</strong>er Position mittels dm<strong>in</strong> und dmax zu<br />

R2 wie e<strong>in</strong>gezeichnet verr<strong>in</strong>gern. (3) Schätzt R1 dann die Position e<strong>in</strong>es <strong>Roboter</strong>s R3, entsteht<br />

die zugehörige Fläche aus e<strong>in</strong>er Komb<strong>in</strong>ation der Unsicherheit der Orientierung und der Position<br />

von R1 sowie neuer Unsicherheit aus der Entfernungsberechnung zu R3.<br />

berechnung mit der Verknüpfung dieser Regeln e<strong>in</strong>hergeht. E<strong>in</strong>e zweite könnte aber<br />

sogar der Unsicherheit bezüglich der Position e<strong>in</strong>es <strong>Roboter</strong>s Rk entgegenwirken, da<br />

sich durch erneute Berechnung von dmax und dm<strong>in</strong> zu e<strong>in</strong>em <strong>Roboter</strong> mit geschätztem<br />

Positionswissen ggf. bestimmte Standorte ausschließen ließen; diese Werte könnten aufgrund<br />

ger<strong>in</strong>ger Pixelunterschiede anders ausfallen, als entsprechende bei der Positionsberechnung<br />

von Rk. Solche Verbesserungen bleiben wegen der steigenden Komplexität<br />

der Unsicherheitsbereiche im weiteren Verlauf jedoch außen vor. Ke<strong>in</strong>esfalls erhöht die<br />

geteilte Posenschätzung aber zum<strong>in</strong>dest die Ungenauigkeit des Wissens über den Standort<br />

e<strong>in</strong>es <strong>Roboter</strong>s. Die W<strong>in</strong>kelmessung aus Regel 2 hängt h<strong>in</strong>gegen mit der Schätzung<br />

von Orientierungen zusammen, auf die gleich noch e<strong>in</strong>gegangen wird.<br />

Es wird nun exemplarisch betrachtet, wie sich Abweichungen von Posenschätzungen<br />

durch die Akkumulation verschiedener Fehler entwickeln. Nur Regel 1 und 2 werden<br />

da<strong>für</strong> untersucht, denn <strong>für</strong> Regel 3 existieren mit den Begründungen aus Kapitel 4.2<br />

zu wenig Grundlagen, um tiefergehende Aussagen machen zu können. Nichtsdestotrotz<br />

wird h<strong>in</strong>terher auch zu Regel 3 noch etwas gesagt werden. Zur Illustration der Fehler<br />

bei Regel 1 und 2 diene jetzt erst e<strong>in</strong>mal Abbildung 4.7, bei der angemerkt sei, dass<br />

die verschiedenen Abweichungen allesamt zur Verdeutlichung <strong>in</strong> ihrer Größe deutlich<br />

überspitzt e<strong>in</strong>gezeichnet s<strong>in</strong>d.<br />

Angenommen, e<strong>in</strong> <strong>Roboter</strong> R1 lässt se<strong>in</strong>e Position von e<strong>in</strong>em <strong>Roboter</strong> mit exaktem<br />

Posenwissen nach Regel 1 schätzen. Die maximale Abweichung ∆d der Entfernungsberechnung<br />

führt zu e<strong>in</strong>er kreisförmigen Fläche mit eben diesem Radius, <strong>in</strong> der die<br />

Position von R1 liegen muss (Abbildung 4.7, Schritt 1). Sieht R1 daraufh<strong>in</strong> e<strong>in</strong>en <strong>Roboter</strong><br />

R2, kann er nach Regel 2 se<strong>in</strong>e Orientierung schätzen. Abbildung 4.7 stellt <strong>in</strong> Schritt<br />

2 zwei mögliche Blickrichtungen durch Angabe des günstigen Bereichs und der Position<br />

von R2 dar. Diese Positionen liegen auf e<strong>in</strong>em Kreissstück um R1 herum, dessen<br />

Größe aus der zwischen R1 und R2 vermuteten Entfernung dsupp resultiert. Zusätzlich<br />

könnte R1 die Unsicherheit se<strong>in</strong>es Standorts durch Berechnung von dm<strong>in</strong> und dmax zu<br />

3


4 Explizite Verwendung kooperativer <strong>Bewegungsstrategien</strong> 85<br />

R2 wie beschrieben ggf. verr<strong>in</strong>gern, was die Abbildung durch den schraffierten Anteil<br />

des Positionsbereichs von R1 schematisch zeigt. Akkumulierende Fehler treten nun auf,<br />

wenn R1 die Position e<strong>in</strong>es weiteren <strong>Roboter</strong>s R3 schätzt (Abbildung 4.7, Schritt 3):<br />

Wiederum kann die Positionsschätzung nur auf e<strong>in</strong>e Kreisfläche e<strong>in</strong>gegrenzt werden. Wo<br />

diese Fläche liegt, kann weiter wegen der Unsicherheit der Orientierung von R1 nicht<br />

e<strong>in</strong>deutig bestimmt werden; vielmehr führt Letztere dazu, dass e<strong>in</strong>e aus Kreisen zusammengesetzte<br />

Fläche <strong>für</strong> die Position von R2 entsteht, wie sie dick schwarz umrandet<br />

<strong>in</strong> der Abbildung skizziert ist. Darüber h<strong>in</strong>aus muss die Unsicherheit der Position von<br />

R1 mite<strong>in</strong>gerechnet werden, die den Bereich <strong>in</strong> alle Richtungen gleichmäßig vergrößert<br />

(äußere gestrichelte L<strong>in</strong>ie <strong>in</strong> Schritt 3 von Abbildung 4.7).<br />

Schon nach e<strong>in</strong>er solchen Verknüpfung von Fehlern wird der Unsicherheitsbereich (hier<br />

der von R3) durch e<strong>in</strong>e nicht-triviale Fläche verkörpert. Ihre Ausdehnung würde bei<br />

weiteren Messungen <strong>in</strong> der Regel gar komplizierte Formen annehmen und ließe sich<br />

daher schlecht analysieren. Da zusätzlich <strong>in</strong> dieser Arbeit ke<strong>in</strong>e Schranken <strong>für</strong> die Ungenauigkeit<br />

der Orientierung hergeleitet wurden, diese sich aber nach allen beispielhaften<br />

Betrachtungen aus Kapitel 3 <strong>für</strong> bereits 720 Pixel horizontaler Auflösung als sehr niedrig<br />

vermuten lassen, wird untenstehend e<strong>in</strong> vere<strong>in</strong>fachtes Modell der Fehlerentwicklung<br />

angesetzt, bei dem Abweichungen der Orientierungen vollständig vernachlässigt werden.<br />

Abbildung 4.8 zeigt, was sich dadurch <strong>für</strong> die Akkumulation der Unsicherheit ändert;<br />

sie kann auf exakt kreisförmige Bereiche zurückgeführt werden, die sich mit jeder neu<br />

h<strong>in</strong>zukommenden Messung vergrößern. Dabei wird als Radius allgeme<strong>in</strong> die gewählte<br />

Grenze ε zugrunde gelegt, anstatt jeweils differerierende Werte ∆d bedenken zu müssen.<br />

Ansonsten bleibt das Konzept gleich, weswegen Abbildung 4.8 nach der Beschreibung<br />

von Abbildung 4.7 als selbsterklärend angesehen wird. Es sei betont, dass diese Art der<br />

Problemreduzierung <strong>in</strong> der Praxis ger<strong>in</strong>gere Auswirkungen haben sollte als es ersche<strong>in</strong>en<br />

mag, denn, wie gesagt, s<strong>in</strong>d kont<strong>in</strong>uierliche Abweichungen gleicher Art (auch bei der<br />

Orientierung) mit der vorliegenden Lokalisierungstechnik nicht zu erwarten. Außerdem<br />

übersteigt der angenommene Unsicherheitsbereich aufgrund der Wahl von ε als obere<br />

Schranke ohneh<strong>in</strong> se<strong>in</strong>e realen Ausmaße. Das heißt natürlich nicht, dass Orientierungsfehler<br />

damit ausgeblendet werden sollen (vgl. dazu Kapitel 6), vielmehr geht es darum,<br />

e<strong>in</strong> handhabbares Maß <strong>für</strong> die weiteren Analysen zu erhalten.<br />

Abschätzung des aus Regel 3 hervorgehenden Fehlers<br />

H<strong>in</strong>sichtlich e<strong>in</strong>es Vergleichs der vorzustellenden Algorithmen werden sich nun Schwierigkeiten<br />

durch die Anwendung von Regel 3 ergeben, da <strong>für</strong> sie ke<strong>in</strong>e formal hergeleitete<br />

Güte existiert. Es sei aber aus Gründen der Praktikabilität davon ausgegangen, dass<br />

sich die Unsicherheit e<strong>in</strong>er Schätzung nach Regel 3 durch e<strong>in</strong>en Wert λ > 0 angeben<br />

lässt; während Regel 1 e<strong>in</strong>e neue Messung bed<strong>in</strong>gt, bewirke Regel 3 sozusagen λ neue<br />

Messungen. Abbildung 4.5 (rechts) legte dabei die Vermutung nahe, dass die maximal<br />

möglichen Abweichungen von Regel 3 größer als die soeben besprochenen se<strong>in</strong> können,<br />

weswegen erwartungsgemäß λ > 1 gilt. E<strong>in</strong> formaler Beweis dieser Eigenschaft wird hier<br />

nicht angestellt; trotzdem lässt sie sich <strong>für</strong> sehr wahrsche<strong>in</strong>lich halten, denn die Abweichungen<br />

gehen aus zwei verschiedenen Entfernungsberechnungen hervor, was kaum zu<br />

e<strong>in</strong>er Verkle<strong>in</strong>erung möglicher Ungenauigkeiten führen wird.


86 4.3 Fehlerakkumulation bei der kooperativen Lokalisierung<br />

(1) (2) (3)<br />

1<br />

1 1<br />

2<br />

Abbildung 4.8: Vere<strong>in</strong>fachtes Modell der Entwicklung der Unsicherheit über die <strong>Roboter</strong>posen:<br />

(1) Die Positionsberechnung bleibt im Grunde unverändert, die resultierende Kreisfläche<br />

habe aber stets den Radius ε. (2) Bei der Posenschätzung wird die Unsicherheit der Orientierung<br />

vernachlässigt. (3) Dadurch reduziert sich die akkumulierte Unsicherheit auf e<strong>in</strong>e Kreisfläche,<br />

da sie nur noch von Positionsberechnungen abhängt.<br />

Die Ungenauigkeit der Berechnung verkörpert aber nicht das e<strong>in</strong>zige Problem <strong>in</strong> diesem<br />

Zusammenhang, denn weiter bleibt auch fraglich, <strong>in</strong>wiefern die aus Regel 3 resultierende<br />

Schätzung e<strong>in</strong>es <strong>Roboter</strong>s Rk die Unsicherheit der zwei <strong>Roboter</strong> Ri und Rj<br />

übernimmt, deren Projektionen <strong>für</strong> die Anwendung der Regel genutzt werden. Ohne<br />

E<strong>in</strong>schränkung habe Ri ungenaueres Wissen über se<strong>in</strong>e Position als Rj. In späteren<br />

Analysen sei dann angenommen, dass die neue Unsicherheit von Rk aus der von Ri und<br />

der möglichen Abweichung der aktuellen Berechnung entsteht. Genauer gesagt: beruht<br />

die Posenschätzung von Ri auf mi Schätzungen, dann sei die Anzahl an Messungen,<br />

auf der das Posenwissen von Rk basiert, als mi + λ def<strong>in</strong>iert. Diese Festsetzung unterstellt,<br />

dass die Größe des <strong>in</strong> Kapitel 4.2 <strong>für</strong> Regel 3 umschriebenen, nicht-trivialen<br />

Bereichs möglicher Positionen im Wesentlichen durch die höhere der bereits bei Ri und<br />

Rj existierenden Ungenauigkeiten bee<strong>in</strong>flusst wird.<br />

Es ist wichtig, deutlich darauf h<strong>in</strong>zuweisen, dass ke<strong>in</strong>erlei Beweis da<strong>für</strong> vorliegt, dass bei<br />

der Fehlerakkumulation nicht etwa die Summe der Abweichungen von Ri und Rj oder<br />

e<strong>in</strong>e davon abhängige Funktion zum Tragen kommt. In diesem Fall würde Regel 3 aber<br />

grob überschlagen jeweils zur doppelten Unsicherheit der bislang mittleren Posenabweichung<br />

bei Rk führen. Daraus folgt, dass bei fortlaufender Lokalisierung mittels dieser<br />

Regel die Entwicklung des h<strong>in</strong>zukommenden, maximalen Fehlers quadratisch zunähme,<br />

was vernünftige Posenschätzungen auf längere Sicht verh<strong>in</strong>dern würde. Wenn also e<strong>in</strong>e<br />

Beschäftigung mit Regel 3 gerechtfertigt se<strong>in</strong> sollte, dann ausschließlich unter der<br />

Annahme, dass ihre <strong>in</strong>neliegende Abweichung nur auf der von e<strong>in</strong>em der projizierten<br />

<strong>Roboter</strong> fußt. Natürlich wird aber nicht vergessen werden, dass dieses Defizit bei der<br />

Analyisierbarkeit der Lokalisierung anhand zweier <strong>Roboter</strong> vorliegt.<br />

E<strong>in</strong> Qualitätsmaß auf Grundlage der Anzahl notwendiger Messungen<br />

E<strong>in</strong>e entscheidende Feststellung besteht nun vielmehr dar<strong>in</strong>, dass die Unsicherheit der<br />

neu geschätzten Pose e<strong>in</strong>es <strong>Roboter</strong>s Rk nicht von der bisherigen, sondern von der<br />

aktuellen Posenunsicherheit der an der Schätzung aktiv beteiligten <strong>Roboter</strong> abhängt.<br />

Das bedeutet, dass der Unsicherheitskreis der Position von Rk e<strong>in</strong>en Radius der Grö-<br />

3


4 Explizite Verwendung kooperativer <strong>Bewegungsstrategien</strong> 87<br />

ße (i + 1) · ε hat, wenn er aus der Positionsschätzung e<strong>in</strong>es <strong>Roboter</strong>s nach Regel 1<br />

hervorgeht, dessen Unsicherheitsbereich zu diesem Zeitpunkt auf i Messungen basiert.<br />

Folglich steht die Fehlerentwicklung im E<strong>in</strong>klang mit der Annahme, dass sich früheres<br />

Wissen über die Pose e<strong>in</strong>es <strong>Roboter</strong>s nach dessen Bewegung ohneh<strong>in</strong> nicht mehr e<strong>in</strong>setzen<br />

lässt. Ferner könnte diese Tatsache bei den Basisaktionen der <strong>Bewegungsstrategien</strong><br />

genutzt werden, <strong>in</strong>dem bevorzugt diejenigen <strong>Roboter</strong> Entfernungen berechnen, deren<br />

Unsicherheit team<strong>in</strong>tern vergleichsweise ger<strong>in</strong>g ist.<br />

Die Genauigkeit der Lokalisierung lässt sich also wie angekündigt direkt aus den notwendigen<br />

Messungen ableiten. Das vere<strong>in</strong>fachte Modell ermöglicht ferner, konkrete Berechnungsabweichungen<br />

auszublenden, was zur vorausgesetzten Verwendung günstiger<br />

Bereiche passt. Aufgrund dieses Ergebnisses lässt sich e<strong>in</strong> Qualitätsmaß Q <strong>für</strong> das <strong>in</strong><br />

Kapitel 4.1 def<strong>in</strong>ierte globale Ziel festsetzen: Q bezeichne den Quotienten zwischen der<br />

Summe aller neu h<strong>in</strong>zukommenden Messungen bei e<strong>in</strong>er Fortbewegung e<strong>in</strong>es <strong>Roboter</strong>-<br />

Teams und der dabei <strong>in</strong>sgesamt zurückgelegten Strecke des Teams. Hierbei <strong>in</strong>teressiert<br />

nicht die allererste Teambewegung, denn dort gehen alle <strong>Roboter</strong> noch von der gleichen<br />

Unsicherheit aus, was danach im Allgeme<strong>in</strong>en nicht mehr so ist. Die dadurch entstehenden<br />

Unterschiede s<strong>in</strong>d auf längere Sicht irrelevant. Es wird sich vielmehr anbieten,<br />

diesen Quotienten <strong>für</strong> e<strong>in</strong>en beliebigen (späteren) Zeitraum zu berechnen, <strong>in</strong>nerhalb<br />

dem sich jeder <strong>Roboter</strong> genau e<strong>in</strong>mal bewegt. Entsprechend gibt Q somit gleichzeitig<br />

die durchschnittliche Anzahl notwendiger Messungen pro vorangeschrittener Strecke e<strong>in</strong>es<br />

<strong>Roboter</strong>s an und eignet sich damit zur Abschätzung der mittleren Posenabweichung.<br />

Aus Gründen der Machbarkeit wird sich darauf beschränkt werden, das Qualitätsmaß<br />

<strong>für</strong> die Vorwärtsbewegung des Teams zu bestimmen; die Güte anderer Bewegungsschemata<br />

wird zum<strong>in</strong>dest aber oberflächlich besprochen.<br />

In den folgenden Teilkapiteln werden nun drei Ansätze <strong>für</strong> <strong>Bewegungsstrategien</strong> vorgestellt,<br />

die verschiedene Zielsetzungen haben und vorerst nur auf ihre <strong>in</strong>härenten Eigenschaften<br />

h<strong>in</strong> analysiert werden. Q wird dort jeweils angegeben und f<strong>in</strong>det auch E<strong>in</strong>zug<br />

<strong>in</strong> e<strong>in</strong>en Vergleich der Güte dieser Ansätze, wo die jeweiligen Vor- und Nachteile untersucht<br />

werden (Kapitel 4.8). Allen Ansätzen ist geme<strong>in</strong>, dass sie vom Spielraum Gebrauch<br />

machen, der durch e<strong>in</strong>en günstigen Bereich ˜ G als Gegenmittel zur nicht exakten Positionierungsmöglichkeit<br />

eröffnet wird, um kooperative Abläufe vernünftig benutzen zu<br />

können: Ger<strong>in</strong>gfügige Versetzungen der <strong>Roboter</strong> bezüglich der idealen Anordnung e<strong>in</strong>er<br />

Ausgangsformation lassen sich wegen der Ausmaße von ˜ G kompensieren und können<br />

wieder ausgeglichen werden, was <strong>in</strong> allen anstehenden Betrachtungen zu beachten sei.<br />

4.4 Ansatz 1: Kont<strong>in</strong>uierlicher Aufenthalt <strong>in</strong>nerhalb e<strong>in</strong>es<br />

günstigen Bereichs<br />

E<strong>in</strong>e nahe liegende Idee zur fortdauernden Ermöglichung kooperativer Lokalisierung<br />

könnte se<strong>in</strong>, e<strong>in</strong>e Formation aufrechtzuerhalten, <strong>in</strong> der ke<strong>in</strong> <strong>Roboter</strong> je den günstigen<br />

Bereich e<strong>in</strong>es anderen verlässt. Unter der an dieser Stelle vorerst gestellten Bed<strong>in</strong>gung,<br />

dass jeder <strong>Roboter</strong> dabei genau e<strong>in</strong>en anderen sehen soll, was nahezu unabhängig der<br />

Größe des Bildw<strong>in</strong>kels e<strong>in</strong>er Kamera funktioniert, s<strong>in</strong>d zwei pr<strong>in</strong>zipielle Varianten denk-


88 4.4 Ansatz 1: Kont<strong>in</strong>uierlicher Aufenthalt <strong>in</strong>nerhalb e<strong>in</strong>es günstigen Bereichs<br />

1<br />

2<br />

3<br />

1<br />

8<br />

Abbildung 4.9: (l<strong>in</strong>ks) R1 kann die Position von R2 mit dem Verfahren aus Kapitel 3 nicht<br />

bestimmen, da sich die Projektionen von R2 und R3 überlagern. (rechts) Zur Vermeidung von<br />

Überlagerungen könnten die <strong>Roboter</strong> versetzt angeordnet werden, was aber die Komplexität<br />

möglicher Bewegungsabläufe unnötig erhöht.<br />

bar: Entweder die <strong>Roboter</strong> ermitteln ihre Position reihum oder sie lokalisieren sich paarweise.<br />

Bei Formationen ohne festgelegte Größe ersche<strong>in</strong>t ersteres <strong>in</strong>tuitiver, weswegen<br />

dieses Konzept gleich als Ansatz diene. Nichtsdestotrotz wird zweiteres noch <strong>in</strong> Kapitel<br />

4.7 e<strong>in</strong>e Rolle spielen, wenn es um das Überw<strong>in</strong>den schmaler Durchgänge geht.<br />

Was <strong>in</strong> der Theorie e<strong>in</strong>fach kl<strong>in</strong>gt, birgt bei der Umsetzung Probleme; beobachtet e<strong>in</strong><br />

<strong>Roboter</strong> Rk−1 e<strong>in</strong>en <strong>Roboter</strong> Rk und Rk e<strong>in</strong>en weiteren Rk+1, so muss darauf geachtet<br />

werden, dass sich Rk und Rk+1 aus Sicht von Rk−1 nicht h<strong>in</strong>tere<strong>in</strong>ander bef<strong>in</strong>den,<br />

denn dies verh<strong>in</strong>dert wie angesprochen die Positionsbestimmung. Daher kommen Reihen<br />

<strong>in</strong> ähnliche Richtungen ausgerichteter <strong>Roboter</strong> nicht <strong>in</strong> Frage, was aus Abbildung<br />

4.9 (l<strong>in</strong>ks) klar wird. E<strong>in</strong> Ausweg da<strong>für</strong> könnte <strong>in</strong> e<strong>in</strong>er schrittweisen Versetzung der<br />

<strong>Roboter</strong> bestehen (Abbildung 4.9 rechts). Dies führt jedoch, ohne es hier genauer zu<br />

thematisieren, bei manchen Basisaktionen zu häufig nötigem Wechsel des sich bewegenden<br />

<strong>Roboter</strong>s, was dem Ziel weniger Messungen entgegensteht. Alternativ lässt sich die<br />

absolute Orientierung <strong>für</strong> jeden anders gestalten, was den Ausgangspunkt <strong>für</strong> die im<br />

Folgenden vorgestellte Formation und deren Aktionen repräsentiert.<br />

CIRCLE: E<strong>in</strong>e Bewegungsstrategie mit kreisartiger Ausgangsformation<br />

Abbildung 4.10 (l<strong>in</strong>ks) zeigt anhand von Beispielen das Pr<strong>in</strong>zip der wiederkehrenden<br />

Ausgangsformation e<strong>in</strong>er ersten Bewegungsstrategie; jeder der n <strong>Roboter</strong> Ri hat e<strong>in</strong>en<br />

anderen <strong>Roboter</strong> Ri+1 <strong>in</strong> se<strong>in</strong>em günstigen Bereich ˜ Gi (Rn entsprechend R1). Ri+1 hält<br />

sich zentral <strong>in</strong> ˜ Gi an e<strong>in</strong>em Punkt Prel auf, der zu den Sichtgrenzen und der Abweichungsgrenze<br />

e<strong>in</strong>en möglichst gleichen Abstand dP hat, welcher <strong>für</strong> die Vorwärtsbewegung<br />

wichtig se<strong>in</strong> und unten analytisch ermittelt werden wird. Die Orientierung des<br />

i+1-ten <strong>Roboter</strong>s unterscheidet sich dabei um etwa ∆θ = − 360◦<br />

n<br />

2<br />

7<br />

3<br />

6<br />

4<br />

5<br />

von der des i-ten (Spie-<br />

geln der Formation ändert das Vorzeichen von ∆θ). Hieraus entsteht e<strong>in</strong>e kreisförmige<br />

Anordnung, weswegen Strategie und Formation als CIRCLE benannt seien.<br />

Wenn e<strong>in</strong> <strong>Roboter</strong> Rk nie den Bereich ˜ Gk−1 von Rk−1 verlässt, kann Rk−1 die Position<br />

von Rk stets nach dessen Bewegung mittels Regel 1 schätzen (sofern er se<strong>in</strong>e eigene Pose<br />

geschätzt kennt). Sieht darüber h<strong>in</strong>aus Rk e<strong>in</strong>en <strong>Roboter</strong> Rk+1 mit ebenfalls bekannter<br />

Posenschätzung, kann Ri anschließend se<strong>in</strong>e eigene Pose nach Regel 2 ermitteln. Diese


4 Explizite Verwendung kooperativer <strong>Bewegungsstrategien</strong> 89<br />

1<br />

4<br />

5<br />

2<br />

3<br />

1 2<br />

4<br />

3<br />

8<br />

7<br />

1 2<br />

6<br />

Abbildung 4.10: (l<strong>in</strong>ks) Stabile Ausgangsformation der Bewegungsstrategie CIRCLE <strong>für</strong> vier,<br />

fünf und acht <strong>Roboter</strong>. Jeder der n <strong>Roboter</strong> hält sich mittig im Bereich e<strong>in</strong>es anderen auf und<br />

hat e<strong>in</strong>e Orientierung, die um etwa − 360◦<br />

n von der se<strong>in</strong>er Nachbarn abweicht. Alle Orientierungen<br />

stellen mögliche Richtungen der Vorwärtsbewegung dar. (rechts) Ermittlung der unteren<br />

Grenze ∆θm<strong>in</strong>, ab der sich <strong>Roboter</strong> bei der gegebenen Ausgangsformation im Kamerabild nicht<br />

überlagern. Angenommen wird, dass die <strong>Roboter</strong> ideal formiert s<strong>in</strong>d.<br />

Methodik unterliegt der Ausgangsformation und lässt sich aufgrund des kreisförmigen<br />

Aufbaus des Teams bei allen umsetzen. Leicht sichtbar könnte sie weiter pr<strong>in</strong>zipiell <strong>für</strong><br />

jede beliebige Teilnehmerzahl aufgebaut werden, sogar bereits <strong>für</strong> zwei, die sich dann<br />

gegenseitig sehen würden. Jedoch ergeben sich bei steigender Anzahl Schwierigkeiten:<br />

Nicht nur, dass der allgeme<strong>in</strong> nötige Platz der Formation durch jeden weiteren <strong>Roboter</strong><br />

zunimmt, wie Abbildung 4.10 (l<strong>in</strong>ks) untermauert (vgl. hierzu Kapitel 4.7). Vielmehr<br />

noch s<strong>in</strong>kt dabei auch stets die Größe des Werts ∆θ, so dass es ab e<strong>in</strong>er gewissen Anzahl<br />

doch zu Überlagerungen <strong>in</strong> den Kamerabildern kommt.<br />

E<strong>in</strong>en allgeme<strong>in</strong>en M<strong>in</strong>destw<strong>in</strong>kel ∆θm<strong>in</strong> anzugeben erweist sich als schwierig, da dieser<br />

nicht nur vom Radius r abhängt, sondern auch von der wirklichen Position der <strong>Roboter</strong><br />

<strong>in</strong>nerhalb der günstigen Bereiche. Grob abschätzen lässt er sich aber durch e<strong>in</strong>e geometrische<br />

Analyse der idealen Formierung, also unter der Annahme, dass die <strong>Roboter</strong><br />

exakt an der gleichen Stelle im günstigen Bereich des sie beobachtenden <strong>Roboter</strong>s (und<br />

damit auch im gleichen Abstand d zue<strong>in</strong>ander) stehen, wie Abbildung 4.10 (rechts)<br />

veranschaulicht: Wenn die von R1 ausgehende Tangente t an R2 den <strong>Roboter</strong> R3 m<strong>in</strong>destens<br />

berührt, überlagern sich R2 und R3 aus Sicht von R1, was nicht passieren darf.<br />

Der Unterschied zwischen θ1 von R1 und θ2 von R2 muss also größer als ∆θm<strong>in</strong> se<strong>in</strong>,<br />

das sich aufgrund der gleichen Lage der <strong>Roboter</strong> <strong>in</strong> den günstigen Bereichen an der<br />

abgebildeten Stelle wiederf<strong>in</strong>den lässt. ∆θm<strong>in</strong> berechnet sich aus ξ1 und ξ2 offensichtlich<br />

als ξ1 + ξ2 − 180 ◦ . Da t im rechten W<strong>in</strong>kel zum e<strong>in</strong>gezeichneten Radius r des <strong>Roboter</strong>s<br />

verläuft, ergeben sich die gesuchten W<strong>in</strong>kel über den Arcuscos<strong>in</strong>us:<br />

<br />

r<br />

<br />

ξ1 = arccos<br />

d<br />

<br />

2 · r<br />

<br />

, ξ2 = arccos<br />

d<br />

5<br />

3<br />

4<br />

2<br />

d<br />

Δθ m<strong>in</strong><br />

ξ2 ξ1 1<br />

t<br />

r<br />

•<br />

d<br />

3


90 4.4 Ansatz 1: Kont<strong>in</strong>uierlicher Aufenthalt <strong>in</strong>nerhalb e<strong>in</strong>es günstigen Bereichs<br />

(1) (2) (3)<br />

5<br />

1 1 2<br />

5<br />

4<br />

1 2<br />

4<br />

3<br />

3<br />

5<br />

5<br />

1 2<br />

5 3<br />

5<br />

(4) (5) (6)<br />

3<br />

4<br />

1 2<br />

4<br />

2<br />

3<br />

5<br />

1 2<br />

4<br />

4<br />

3<br />

1 2<br />

Abbildung 4.11: Vorwärtsbewegung der CIRCLE-Formation (hier aus Sicht von R1) <strong>für</strong> fünf<br />

<strong>Roboter</strong> mit je e<strong>in</strong>er Bewegung pro <strong>Roboter</strong> bis zur Wiederherstellung der stabilen Ausgangsformation.<br />

Die <strong>Roboter</strong> bleiben stets im günstigen Bereich e<strong>in</strong>es gleichen anderen, jedoch verläuft<br />

die Gesamtbewegung re<strong>in</strong> sequentiell und ist durch dP <strong>in</strong> ihrer Schrittweite beschränkt.<br />

Die Berechnung von ξ2 rührt daher, dass t die Strecke zwischen R2 und R3 nachprüfbar<br />

<strong>in</strong> der Mitte (bei d<br />

2 ) schneidet. S<strong>in</strong>d nun beispielsweise r = 0, 25 m und d = 2 m<br />

gegeben, so führt das zu ξ1 ≈ 82, 8◦ und ξ2 ≈ 75, 5◦ , woraus ∆θm<strong>in</strong> = −21, 7◦ resultiert.<br />

Um e<strong>in</strong>en moderaten Toleranzbereich zu gewähren, ließe sich der M<strong>in</strong>imalunterschied<br />

der Orientierung <strong>in</strong> diesem Fall etwa großzügig auf 30◦ ansetzen, was e<strong>in</strong>e maximale<br />

Größe der Formation von n = 360◦<br />

30◦ = 12 bedeuten würde. Solche Überlegungen wären<br />

aber bei realen Ausmaßen der <strong>Roboter</strong> und günstigen Bereiche praktisch zu verifizieren.<br />

Konzepte und Algorithmen <strong>für</strong> Basisaktionen der Strategie CIRCLE<br />

E<strong>in</strong> sichtbarer Vorteil der Formation resultiert aus der gleichförmigen Anordnung um<br />

ihren Mittelpunkt herum, aus der sich Richtungen der Vorwärtsbewegung <strong>in</strong> Anzahl<br />

der <strong>Roboter</strong> ergeben, die den jeweiligen Orientierungen der <strong>Roboter</strong> entsprechen. Dies<br />

macht e<strong>in</strong>e Rotation der Formation nahezu irrelevant, da bei n <strong>Roboter</strong>n bereits n − 1<br />

Drehw<strong>in</strong>kel ohne jegliche Bewegung implizit vorliegen; die Szenarien <strong>in</strong> Kapitel 4.7 werden<br />

H<strong>in</strong>weise darauf geben, dass sich mit derlei Bewegungsflexibilität e<strong>in</strong>iges anfangen<br />

lässt. Aus solchen Gründen seien Rotationen <strong>für</strong> CIRCLE vernachlässigt.<br />

Abbildung 4.11 illustriert nun den Ablauf e<strong>in</strong>er Vorwärtsbewegung <strong>für</strong> fünf <strong>Roboter</strong><br />

(ähnlich ließen sich auch leicht schräge Teambewegungen umsetzen): Nachdem die Orientierung<br />

e<strong>in</strong>es <strong>Roboter</strong>s als Richtung festgelegt wurde, bewegt sich der <strong>Roboter</strong> Rk<br />

(hier R1) mit der aktuell größten Posenunsicherheit <strong>in</strong> die gewählte Richtung bis kurz<br />

vor den Rand des günstigen Bereichs von Rk−1 (R5). Dabei kann er auf Basis se<strong>in</strong>es<br />

Kamerabilds, <strong>in</strong> dem Rk+1 (R2) zu sehen ist, und se<strong>in</strong>er alten Posenschätzung frühere<br />

4<br />

3


4 Explizite Verwendung kooperativer <strong>Bewegungsstrategien</strong> 91<br />

Versetzungen von der Idealformation ausgleichen. Bei Bewegungsabschluss bestimmt<br />

Rk−1 nach Regel 1 die Position von Rk und teilt sie ihm mit, so dass Rk anhand von<br />

Rk+1 nach Regel 2 se<strong>in</strong>e Pose schätzen kann. Daraufh<strong>in</strong> bewegt sich Rk−1 <strong>in</strong> gleichem<br />

Maße <strong>in</strong> dieselbe Richtung, wobei er se<strong>in</strong>e ursprüngliche Orientierung beibehält, weshalb<br />

sich dies von außen betrachtet als Verschiebung begreifen lässt. Auch die Posenbestimmung<br />

verläuft analog. Diesen Vorgang vollführen reihum rückwärts alle verbleibenden<br />

<strong>Roboter</strong>, bis nach n Bewegungen bei n <strong>Roboter</strong>n wieder e<strong>in</strong>e stabile Ausgangsformation<br />

erreicht wird. Dass die Anordnung rückwärts durchlaufen wird, dient der Ger<strong>in</strong>ghaltung<br />

der Fehlerakkumulation, da so außer beim letzten immer <strong>Roboter</strong> Positionsberechnungen<br />

ausführen, deren Unsicherheit noch nicht durch die aktuelle Gesamtbewegung erhöht<br />

wurde. Deshalb startet auch der <strong>Roboter</strong> mit der höchsten Unsicherheit, da se<strong>in</strong>e<br />

Schätzung dann direkt durch e<strong>in</strong>e neue ersetzt wird.<br />

Der folgende Pseudocode beschreibt das skizzierte Vorgehen, bei dem sich jedes Mitglied<br />

des Teams <strong>in</strong> Richtung direction weiterbewegt, und unterstreicht die E<strong>in</strong>fachheit<br />

des Konzepts. Hier werden die <strong>Roboter</strong> <strong>in</strong> e<strong>in</strong>er listenartigen, geordneten Datenstruktur<br />

circle (mit Indizes von 1 bis #circle) verwaltet, deren letztes Element das erste als<br />

Nachfolger habe. Zur Vere<strong>in</strong>fachung sei angenommen, dass jeder Index da<strong>für</strong> „modulo<br />

#circle“ aufgefasst wird. Weiter bewirke die Operation translateAndAdjust die<br />

besprochende Verschiebung samt möglicher Korrektur. Ansonsten sollte der Code mit<br />

Ausnahme von m<strong>in</strong>DistanceToBorder nach Kapitel 4.2 selbsterklärend se<strong>in</strong>.<br />

CIRCLE_FORWARD(direction, k)<br />

1 for (i from k downto (k+1 modulo #circle)) do<br />

2 distance := m<strong>in</strong>DistanceToBorder({circle[i-1], circle[i+1]});<br />

3 circle[i].translateAndAdjust(distance, direction);<br />

4 circle[i-1].estimatePositionOf(circle[i]); // Regel 1<br />

5 circle[i-1].tellPosition(circle[i]);<br />

6 circle[i].estimateOwnPoseFrom(circle[i+1]); // Regel 2<br />

7 circle[i].broadcastOwnPose();<br />

Damit dieser Algorithmus <strong>für</strong> verschiedene Formationsgrößen anwendbar ist, muss e<strong>in</strong>e<br />

Bed<strong>in</strong>gung <strong>für</strong> die zu wählende Schrittweite distance e<strong>in</strong>gehalten werden, und zwar,<br />

dass sie im idealen Fall gleich dem oben def<strong>in</strong>ierten Abstand dP und im realistischen Fall<br />

bei der Bewegung jedes <strong>Roboter</strong>s Ri um e<strong>in</strong>en gewissen Wert εP > 0 kle<strong>in</strong>er ist, was <strong>für</strong><br />

spätere Betrachtungen als d ′ P = dP − εP def<strong>in</strong>iert sei. Da die Positionen von Ri−1 und<br />

Ri+1 mit maximaler Abweichung bestimmbar s<strong>in</strong>d, lässt sich distance berechnen, was<br />

<strong>in</strong> m<strong>in</strong>DistanceToBorder passiere. Wird dieser Bed<strong>in</strong>gung nachgekommen, kann e<strong>in</strong><br />

<strong>Roboter</strong> Ri nach se<strong>in</strong>er Bewegung weder ˜ Gi−1 von Ri−1 verlassen, noch Ri+1 aus se<strong>in</strong>em<br />

Sichtbereich ˜ Gi verloren haben. Der permanente Aufenthalt <strong>in</strong> den günstigen Bereichen<br />

führt allerd<strong>in</strong>gs auch dazu, dass sich die e<strong>in</strong>zelnen Bewegungen der <strong>Roboter</strong> schlecht<br />

unabhängig konkreter Teamgrößen parallelisieren lassen. Darüber h<strong>in</strong>aus ersche<strong>in</strong>t die<br />

zurückgelegte Gesamtstrecke des Teams h<strong>in</strong>sichtlich der notwendigen Entfernungsmessungen<br />

ger<strong>in</strong>g; dies wird noch problematisiert werden.<br />

Zwar erlauben die diversen möglichen Vorwärtsbewegungen bereits flexible Richtungs-


92 4.4 Ansatz 1: Kont<strong>in</strong>uierlicher Aufenthalt <strong>in</strong>nerhalb e<strong>in</strong>es günstigen Bereichs<br />

(1) (2) (3)<br />

1 2<br />

4<br />

3<br />

1 2<br />

4<br />

Abbildung 4.12: Spiegelung der CIRCLE-Formation an e<strong>in</strong>er Mittelachse mit je e<strong>in</strong>er Bewegung<br />

pro <strong>Roboter</strong>. Die <strong>Roboter</strong> bleiben stets im günstigen Bereich e<strong>in</strong>es gleichen anderen, durch<br />

Parallelisierung s<strong>in</strong>d nur zwei bzw. drei Schritte nötig und der benötigte Platz ist m<strong>in</strong>imal.<br />

wechsel, jedoch existiert bislang ke<strong>in</strong> wirkliches Umdrehen. Diese Aktion ist vor allem<br />

<strong>für</strong> ungerade Anzahlen nodd an <strong>Roboter</strong>n nützlich, da hierbei nicht je zwei <strong>Roboter</strong> <strong>in</strong><br />

entgegengesetzte Richtung blicken, und daher durch Umdrehen nodd weitere Richtungen<br />

<strong>für</strong> das Voranschreiten entstehen. Generell macht aber diese Aktion <strong>für</strong> e<strong>in</strong>e Formation<br />

wie CIRCLE S<strong>in</strong>n, da sich die Relevanz des Sehens <strong>in</strong> <strong>unbekannten</strong> Umgebungen nicht<br />

auf andere <strong>Roboter</strong> beschränkt, sondern auch das Wahrnehmen umliegender Objekte<br />

wichtig se<strong>in</strong> kann. Der Aufbau der Ausgangsformationen (Abbildung 4.10 l<strong>in</strong>ks) legt nahe,<br />

dass sich die Umkehrung der Ausrichtung von CIRCLE e<strong>in</strong>fach umsetzen lässt, <strong>in</strong>dem<br />

jeder <strong>Roboter</strong> Ri, anstatt Ri+1 weiter zu beobachten, fortan Ri−1 <strong>in</strong> se<strong>in</strong>em Bereich ˜ Gk<br />

entspricht also der <strong>in</strong>vertierten, des Ri<br />

behält. Die zu erreichende neue Orientierung θ ′ k<br />

bislang sehenden <strong>Roboter</strong>s Ri−1, die sich um ∆θ von der alten Orientierung θk unterscheidet.<br />

Mit dem Wissen, dass ∆θ negativ ist, wenn die formations<strong>in</strong>terne Ausrichtung<br />

im Uhrzeigers<strong>in</strong>n verläuft, und positiv sonst, folgt:<br />

θ ′ k = 180◦ + θk−1 mod 360 ◦ = θk + (180 ◦ + ∆θ) mod 360 ◦<br />

Jeder <strong>Roboter</strong> muss sich also auf der Stelle um 180 ◦ + ∆θ drehen, um den gewünschten<br />

Effekt zu erzielen, was durch e<strong>in</strong>e Operation turnAndAdjust geschehe, wobei ∆θ als<br />

Eigenschaft von circle def<strong>in</strong>iert sei, die nur bei Ausfall e<strong>in</strong>es <strong>Roboter</strong>s anzupassen<br />

ist. Folgende Methode beschreibt die auszuführenden Operationen bei Ri. Der Index j<br />

hat dabei je nach beobachtendem <strong>Roboter</strong> den Wert i − 1 oder i + 1 (siehe unten):<br />

CIRCLE_TURN(i, j)<br />

1 circle[i].turnAndAdjust(180 ◦ + circle.∆θ);<br />

2 circle[j].estimatePositionOf(circle[i]); // Regel 1<br />

3 circle[j].tellPosition(circle[i]);<br />

4 circle[i].estimateOwnPoseFrom(circle[i-1]); // Regel 2<br />

5 circle[i].broadcastOwnPose();<br />

Die verfolgte Strategie lässt sich aus Abbildung 4.12 <strong>für</strong> vier <strong>Roboter</strong> ersehen, welche<br />

verdeutlicht, dass es sich dabei gleichzeitig um e<strong>in</strong>e Spiegelung der Gesamtformation an<br />

3<br />

1<br />

4<br />

2 3


4 Explizite Verwendung kooperativer <strong>Bewegungsstrategien</strong> 93<br />

e<strong>in</strong>er senkrecht zur Orientierung e<strong>in</strong>es <strong>Roboter</strong>s verlaufenden Mittelachse handelt. Da<br />

sich die Auswirkung der Drehung e<strong>in</strong>es <strong>Roboter</strong>s nur auf se<strong>in</strong>e Nachbarn erstreckt, kann<br />

das Vorhaben parallelisiert werden, so dass sich erst jeder <strong>in</strong> circle mit ungeradem<br />

Index umorientiert, anschließend jeder mit geradem Index. Hier ist zu berücksichtigen,<br />

dass die Position jedes sich zuerst drehenden <strong>Roboter</strong>s vom bislang da<strong>für</strong> zuständigen<br />

geschätzt wird, die der anderen (mit geradem Index) aber vom neu zuständigen. Dies<br />

regelt der zweite Parameter von CIRCLE_TURN (oben: j). Außerdem muss sich bei ungerader<br />

Teamgröße der letzte <strong>Roboter</strong> mit ungeradem Index e<strong>in</strong>zeln bewegen, damit nie<br />

zwei <strong>Roboter</strong> nebene<strong>in</strong>ander zur gleichen Zeit das geschätzte Wissen über ihre Pose verlieren.<br />

Folgender Pseudocode repräsentiert das Umdrehen bzw. Spiegeln der Formation.<br />

In der letzten Zeile wird das Vorzeichen von ∆θ modifiziert, so dass die Ausrichtung<br />

von CIRCLE (mit oder gegen den Uhrzeigers<strong>in</strong>n) jederzeit bekannt ist.<br />

CIRCLE_REFLECT()<br />

1 parallel (every i from 1 to ⌊#circle/2⌋) do<br />

2 CIRCLE_TURN(2·i-1, 2·i-2);<br />

3 if (#circle modulo 2 = 1) then CIRCLE_TURN(#circle);<br />

4 parallel (every i from 1 to ⌊#circle/2⌋) do<br />

5 CIRCLE_TURN(2·i, 2·i+1);<br />

6 circle.∆θ := − circle.∆θ;<br />

Zu beachten sei, dass es zur Vermeidung unnötiger Fehlerakkumulationen besser wäre,<br />

auf parallele Bewegungen zu verzichten. Stattdessen müsste da<strong>für</strong> wie oben der <strong>Roboter</strong><br />

mit der höchsten Posenunsicherheit mit dem Drehen beg<strong>in</strong>nen und die anderen hätten<br />

entsprechend sequentiell nachzufolgen. Es sollte aber an dieser Stelle gezeigt werden,<br />

dass parallele Handlungen im Allgeme<strong>in</strong>en durchaus denkbar s<strong>in</strong>d.<br />

Ger<strong>in</strong>ger Bewegungsfortschritt pro h<strong>in</strong>zukommender Messung<br />

Nach der ersten Vorwärtsbewegung der CIRCLE-Formation wurde die Pose jedes <strong>Roboter</strong>s<br />

e<strong>in</strong>mal mittels Regel 1 und 2 neu bestimmt. Die Messung der Position des letzten<br />

<strong>Roboter</strong>s Rk+1 wurde jedoch von e<strong>in</strong>em <strong>Roboter</strong> ausgeführt, dessen Pose bereits mit<br />

Unsicherheit behaftet ist. Dies ergibt n+1 Messungen <strong>für</strong> die erste Teambewegung <strong>in</strong> der<br />

Zählweise des im vorigen Kapitel def<strong>in</strong>ierten Maßes Q. Startet allerd<strong>in</strong>gs bei jeder folgenden<br />

Bewegung wie besprochen stets der <strong>Roboter</strong> mit e<strong>in</strong>er Messung mehr, so kommt<br />

<strong>für</strong> jede Pose genau e<strong>in</strong>e weitere Messungen h<strong>in</strong>zu; somit basieren die Posenschätzungen<br />

nach je e<strong>in</strong>er Bewegung pro <strong>Roboter</strong> im allgeme<strong>in</strong>en Fall auf genau n neuen Messungen.<br />

Jeder <strong>Roboter</strong> Ri beg<strong>in</strong>nt dabei an e<strong>in</strong>em Punkt Prel, der idealerweise exakt dP<br />

von den Sichtgrenzen gL und gR und der Abweichungsgrenze ˜gH des günstigen Bereichs<br />

˜Gi−1 e<strong>in</strong>es <strong>Roboter</strong>s Ri−1 entfernt ist, und bewegt sich um d ′ P voran; das Team legt<br />

zusammen also e<strong>in</strong>e Strecke von n · d ′ P zurück.<br />

Abbildung 4.13 (l<strong>in</strong>ks) verdeutlicht, dass sich dP wie folgt über e<strong>in</strong>e der Sichtgrenzen<br />

(hier gR) berechnen lässt: Zu ˜gH gehört die Entfernung ˜ dsupp (vgl. Kapitel 3.5), womit<br />

Prel im egozentrischen Koord<strong>in</strong>atensystem von Rk−1 die Koord<strong>in</strong>aten (0 | ˜ dsupp − dP )<br />

hat. Der Abstand von gR zu Prel ist bekanntlich dort m<strong>in</strong>imal, wo gR von e<strong>in</strong>er zu ihr


94 4.4 Ansatz 1: Kont<strong>in</strong>uierlicher Aufenthalt <strong>in</strong>nerhalb e<strong>in</strong>es günstigen Bereichs<br />

senkrecht und durch Prel verlaufenden Gerade hP geschnitten wird. hP hat also die<br />

Steigung − 1<br />

s(gR) und schneidet gR <strong>in</strong> Entfernung dP zu Prel, welcher sich ebenso wie der<br />

Punkt VG von gR auf der y-Achse des Koord<strong>in</strong>atensystems von Rk−1 bef<strong>in</strong>det. Für die<br />

Bestimmung von dP bietet sich e<strong>in</strong>e Vektordarstellung der beiden Geraden an:<br />

hP = <br />

Prel + m1 ·<br />

, gR = <br />

VG + m2 ·<br />

1<br />

s(gR)<br />

1<br />

− 1<br />

s(gR)<br />

Das Teilstück von hP muss am Schnittpunkt der beiden Vektoren die Länge dP haben.<br />

Dies wird durch Normierung mit der Länge | h| = q<br />

1 +<br />

1<br />

s(gR) 2 des Richtungsvektors h von hP und anschließendes Multiplizieren mit dP erreicht, so dass folgende Gleichung<br />

<strong>für</strong> den Schnittpunkt gilt:<br />

<br />

<br />

0<br />

˜dsupp − dP<br />

+ dP<br />

| h| ·<br />

<br />

=<br />

0<br />

+ m2 ·<br />

1<br />

s(gR)<br />

1<br />

− 1<br />

s(gR)<br />

Aus der ersten Zeile der Vektoren ergibt sich m2 = dP , was sich <strong>in</strong> die zweite Zeile<br />

e<strong>in</strong>setzen lässt. Daraufh<strong>in</strong> kann die Gleichung umgeformt werden, bis dP isoliert ist:<br />

dP +<br />

˜dsupp − dP −<br />

dP<br />

| h| · s(gR)<br />

yvG<br />

| h|<br />

dP<br />

= yvG +<br />

| · s(gR)<br />

h|<br />

dP<br />

s(gR) · | dP<br />

+<br />

h| | h| · s(gR) = ˜ dsupp − yvG<br />

dP =<br />

s(gR) · | h|<br />

s(gR) · | h| + 1 + s(gR) 2 · ( ˜ dsupp − yvG )<br />

Da sich somit dP und d ′ P analytisch ermitteln lassen, kann der Quotient QCIRCLE <strong>für</strong><br />

den idealen Fall der Vorwärtsbewegung also angegeben werden als:<br />

QCIRCLE = n<br />

n · d ′ P<br />

= 1<br />

d ′ P<br />

d ′ P ist dabei m<strong>in</strong>destens durch die halbe Breite der günstigen Bereiche <strong>in</strong> Entfernung<br />

˜dsupp − dP nach oben beschränkt. Dieses Verhältnis wirkt mit Blick auf die exemplarischen<br />

Größenberechnungen e<strong>in</strong>es günstigen Bereichs bei e<strong>in</strong>er nicht zu überschreitenden<br />

Grenze ε = 1 cm aus Kapitel 3.5 noch unzureichend; Abweichungen würde bereits auf<br />

kurzer Strecke schnell zunehmen. Selbst die Annahme, dass sich die Gesamtbewegung<br />

von CIRCLE so gestalten ließe, dass weitere Drehungen als die der Formation <strong>in</strong>neliegenden<br />

nicht nötig wären, wirkt wenig hilfreich. Es ersche<strong>in</strong>t so, als könnte das Aufgeben<br />

der Bed<strong>in</strong>gung, stetig <strong>in</strong> e<strong>in</strong>em bestimmten günstigen Bereich zu verweilen, helfen, was<br />

im nächsten Teilkapitel geschehen wird. Zuvor sei der Vollständigkeit halber noch zum<br />

Umdrehen (respektive Spiegeln) von CIRCLE gesagt, dass auch hier <strong>für</strong> jeden <strong>Roboter</strong><br />

durch die Neubestimmung der Pose e<strong>in</strong>e Messung h<strong>in</strong>zukommen würde, wenn auf die<br />

Parallelisierung verzichtet wird und wie bei der Vorwärtsbewegung der <strong>Roboter</strong> mit der<br />

höchsten Unsicherheit beg<strong>in</strong>nt.


4 Explizite Verwendung kooperativer <strong>Bewegungsstrategien</strong> 95<br />

g L<br />

~<br />

d supp<br />

y<br />

~<br />

g H<br />

d P d P<br />

→<br />

V G<br />

g→ R<br />

→<br />

P<br />

→ h<br />

rel<br />

P<br />

x<br />

1<br />

3<br />

2 4<br />

1<br />

3<br />

2 4<br />

Abbildung 4.13: (l<strong>in</strong>ks) Berechnung der Länge dP über den Schnitt der senkrecht zue<strong>in</strong>ander<br />

liegenden Vektoren gR und hP . (rechts) Ausgangsformation von HALLWAY <strong>für</strong> vier und fünf<br />

<strong>Roboter</strong>. Die <strong>Roboter</strong> stehen <strong>in</strong> zwei zue<strong>in</strong>ander gewandten Reihen, jeder <strong>Roboter</strong> hat h<strong>in</strong>ten<br />

l<strong>in</strong>ks und h<strong>in</strong>ten rechts <strong>in</strong> se<strong>in</strong>em günstigen Bereich e<strong>in</strong>en anderen, die <strong>Roboter</strong> am Rand nur auf<br />

e<strong>in</strong>er Seite. Senkrecht zu den Orientierungen der <strong>Roboter</strong> verlaufen die Richtungen möglicher<br />

Vorwärtsbewegungen der gesamten Formation.<br />

4.5 Ansatz 2: Effizientes Voranschreiten bei dauerhafter<br />

Beobachtung<br />

Für die realistischen Werte der Beispiele aus Kapitel 3 boten die günstigen Bereiche ohne<br />

Probleme Platz <strong>für</strong> zwei <strong>Roboter</strong> nebene<strong>in</strong>ander. Dies eröffnet neue Möglichkeiten, denn<br />

dadurch lässt sich der Bereich ˜ Gk e<strong>in</strong>es <strong>Roboter</strong>s Rk <strong>für</strong> verschiedene Zwecke gleichzeitig<br />

nutzen; e<strong>in</strong>erseits kann sich Rk bei Erreichen e<strong>in</strong>es Zielort auf Basis von ˜ Gk wie gehabt<br />

so ausrichten, dass er e<strong>in</strong>en <strong>Roboter</strong> Ri sieht, anhand dessen er sich lokalisieren will.<br />

Andererseits kann e<strong>in</strong> sich nach ihm bewegender <strong>Roboter</strong> Rj zusätzlich e<strong>in</strong>e Position <strong>in</strong><br />

˜Gk ansteuern, so dass sich Rj und Rk gegenseitig sehen und nach Regel 1 und 2 zum<br />

Ermitteln der Pose von Rj zusammenarbeiten. Von diesem Konzept geht der zweite<br />

Ansatz aus. Er versucht dabei <strong>in</strong>sbesondere das Problem häufiger Messungen, welches<br />

bei CIRCLE auftritt, <strong>in</strong> Angriff zu nehmen. Dennoch wird die stetige Kontrolle über die<br />

aktuellen Standorte aller <strong>Roboter</strong> größtenteils aufrechterhalten werden. Darüber h<strong>in</strong>aus<br />

werden sich weitere Vorzüge, etwa was die Beliebigkeit der Anzahl an <strong>Roboter</strong>n der<br />

Formation betrifft, ebenso wie neue Schwierigkeiten ergeben.<br />

HALLWAY: E<strong>in</strong> Korridor aus Sichtbereichen als Ausgangsformation<br />

Die stabile Ausgangsformation der nun vorzustellenden Bewegungsstrategie HALLWAY<br />

besteht aus zwei beliebig langen Reihen A und B e<strong>in</strong>ander zugewandter <strong>Roboter</strong>, wie<br />

<strong>in</strong> Abbildung 4.13 (rechts) exemplarisch <strong>für</strong> vier und fünf <strong>Roboter</strong> zu sehen. In beiden<br />

Reihen stehen maximal um e<strong>in</strong>s unterschiedlich viele <strong>Roboter</strong>. Alle <strong>Roboter</strong> der Reihe<br />

A haben dabei idealerweise exakt die gleiche Orientierung θA und stehen <strong>in</strong> e<strong>in</strong>er Entfernung<br />

dspace zu ihren Reihennachbarn. Entsprechend verhält es sich mit den <strong>Roboter</strong>n<br />

aus Reihe B, wobei diese <strong>in</strong> die umgekehrte Richtung θB = (θA + 180◦ mod 360◦ ) blicken.<br />

Außerdem ist jeder <strong>Roboter</strong> der Reihe B gegenüber denen der Reihe A um dspace<br />

2<br />

seitlich versetzt. Zwischen A und B liege e<strong>in</strong> Abstand drow, so dass sich die <strong>Roboter</strong><br />

jeder Reihe nahe der Abweichungsgrenze der günstigen Bereiche der <strong>Roboter</strong> der jeweils<br />

5


96 4.5 Ansatz 2: Effizientes Voranschreiten bei dauerhafter Beobachtung<br />

anderen Reihe (aber <strong>in</strong>nerhalb dieser Bereiche) bef<strong>in</strong>den. Zwischen drow und dspace besteht<br />

also e<strong>in</strong>e ganz bestimmte Relation, die sich aus dem zum günstigen Bereich ˜ G der<br />

<strong>Roboter</strong> gehörenden Sichtw<strong>in</strong>kel ηG ergibt: Mit Blick auf Abbildung 3.12 <strong>in</strong> Kapitel 3.5<br />

gilt das W<strong>in</strong>kelverhältnis tan ηG<br />

2<br />

= w ˜ G<br />

2·drow , wobei w ˜ G die Breite von ˜ G <strong>in</strong> Entfernung<br />

drow bezeichne. Logischerweise gilt im Idealfall dspace = wG ˜; realistisch betrachtet wird<br />

aber wieder Spielraum benötigt, etwa εspace > 0 <strong>für</strong> beide Seiten zusammen und damit<br />

dspace = wG˜ − εspace, so dass <strong>in</strong>sgesamt folgende Gleichung resultiert:<br />

<br />

ηG<br />

dspace = w ˜ G − εspace = 2 · tan<br />

2<br />

<br />

· drow − εspace<br />

Um auch nach h<strong>in</strong>ten und vorne Abweichungen der Positionierungen der <strong>Roboter</strong> zu erlauben,<br />

gelte zusätzlich drow = cos ηG<br />

2 · dsupp<br />

˜ −εrow <strong>für</strong> irgende<strong>in</strong> εrow > 0. Der Cos<strong>in</strong>us<br />

des halben Sichtw<strong>in</strong>kels geht hierbei auf die Näherung von ˜ G zurück und sichert, dass<br />

drow die Entfernung der <strong>Roboter</strong>reihe zu den Schnittpunkten von Sicht- und Abweichungsgrenze<br />

nicht überschreitet. Diese Anordnung führt dazu, dass e<strong>in</strong>e Art Korridor<br />

zwischen den Reihen entsteht, <strong>in</strong>nerhalb dem sich <strong>Roboter</strong> beobachtet bewegen können,<br />

was sich dazu benutzen lassen wird, e<strong>in</strong> Fortschreiten des Teams zu ermöglichen und<br />

dabei wiederkehrend die stabile Ausgangsformation herzustellen. Offensichtlich muss<br />

pr<strong>in</strong>zipiell ke<strong>in</strong>e E<strong>in</strong>schränkung bei der Teamgröße getroffen werden, schon <strong>für</strong> zwei<br />

<strong>Roboter</strong> funktioniert das Konzept und lässt sich um beliebige Anzahlen erweitern.<br />

Konzepte und Algorithmen <strong>für</strong> Basisaktionen der Strategie HALLWAY<br />

Die Vorwärtsbewegung von HALLWAY basiert auf der Idee, schon nach der Umpositionierung<br />

e<strong>in</strong>es e<strong>in</strong>zelnen <strong>Roboter</strong>s die stabile Ausgangsformation wieder zu erreichen,<br />

was Abbildung 4.14 (l<strong>in</strong>ks) zweimal <strong>in</strong> Folge <strong>für</strong> drei und Abbildung 4.14 (rechts) e<strong>in</strong>mal<br />

<strong>für</strong> sechs <strong>Roboter</strong> illustriert. Dabei stehen diejenigen zwei <strong>Roboter</strong> zur Auswahl,<br />

die sich ganz außen bef<strong>in</strong>den und nur e<strong>in</strong>en anderen sehen. Somit s<strong>in</strong>d zwei Bewegungsrichtungen<br />

denkbar, welche senkrecht zu den Orientierungen aller <strong>Roboter</strong> verlaufen<br />

(was nebenbei e<strong>in</strong> Umdrehen der Formation h<strong>in</strong>fällig macht). Der Ablauf wirkt von<br />

außen simpel, wird allgeme<strong>in</strong> def<strong>in</strong>iert aber von mehreren Faktoren bee<strong>in</strong>flusst und sei<br />

daher direkt anhand des untenstehenden Pseudocodes erklärt: E<strong>in</strong>e Boole’sche Variable<br />

firstMoves entscheide als Parameter der Hauptmethode HALLWAY_FORWARD zu<br />

Beg<strong>in</strong>n, <strong>in</strong> welche Richtung das Team fortschreitet. Hier<strong>für</strong> werden die <strong>Roboter</strong> <strong>in</strong> e<strong>in</strong>er<br />

l<strong>in</strong>earen Liste hallway verwaltet, <strong>in</strong> der die <strong>Roboter</strong> von e<strong>in</strong>em zum anderen Ende der<br />

Formation (also alternierend <strong>für</strong> beide Reihen) angeordnet s<strong>in</strong>d. firstMoves = true<br />

bedeutet, dass sich der erste <strong>Roboter</strong> <strong>in</strong> hallway <strong>in</strong> den günstigen Bereich des letzten<br />

bewegen soll, Umgekehrtes gilt sonst. Je nach Wert wird die Reihenfolge der Parameter<br />

e<strong>in</strong>er Methode HALLWAY_MOVE festgelegt und die Listenstruktur aktualisiert.<br />

HALLWAY_FORWARD(firstMoves)<br />

01 if (firstMoves = true)<br />

02 then HALLWAY_MOVE(1,#hallway);<br />

03 hallway.addLast(hallway.removeFirst());<br />

04 else HALLWAY_MOVE(#hallway, 1);<br />

05 hallway.addFirst(hallway.removeLast());


4 Explizite Verwendung kooperativer <strong>Bewegungsstrategien</strong> 97<br />

(1) (2)<br />

1<br />

2<br />

3<br />

3<br />

1 2 1<br />

2<br />

1<br />

3<br />

2 4<br />

Abbildung 4.14: Vorwärtsbewegung (hier nach rechts) und gleichzeitiges Spiegeln der Formation<br />

HALLWAY, bei der sich unabhängig der Teamgröße nur e<strong>in</strong> <strong>Roboter</strong> bewegt und stets im<br />

Sichtbereich der anderen bleibt. Dadurch verläuft die Gesamtbewegung der Formation sche<strong>in</strong>bar<br />

zwar re<strong>in</strong> sequentiell, jedoch könnten weitere Bewegungen <strong>in</strong> die gleiche Richtung vor Ende<br />

der ersten begonnen werden. (l<strong>in</strong>ks) Zwei aufe<strong>in</strong>ander folgende Vorwärtsbewegungen <strong>für</strong> drei<br />

<strong>Roboter</strong>. (rechts) E<strong>in</strong>e Vorwärtsbewegung <strong>für</strong> sechs <strong>Roboter</strong>.<br />

In HALLWAY_MOVE (siehe unten) wird nun die Bewegung und darauf folgende Posenbestimmung<br />

des <strong>Roboter</strong>s mover geregelt. Enthält die Formation e<strong>in</strong>e ungerade Zahl an<br />

<strong>Roboter</strong>n, so wechselt mover zum Voranschreiten der Formation die Seite (vgl. Abbildung<br />

4.14 l<strong>in</strong>ks). Er muss also se<strong>in</strong>er aktuellen Orientierung entsprechend unter Anderem<br />

um dRow vorwärts fahren, was <strong>in</strong> forward gespeichert wird. Bei e<strong>in</strong>er geraden Zahl<br />

bleibt er h<strong>in</strong>gegen <strong>in</strong> der gleichen Reihe (Abbildung 4.14 rechts), weswegen forward auf<br />

0 gesetzt wird. In Zeile 4 bis 6 des Codes wird anhand des Kamerabilds von mover dann<br />

automatisch ermittelt, ob se<strong>in</strong>e Zielposition l<strong>in</strong>ks oder rechts von ihm liegt, woraus das<br />

Vorzeichen von right resultiert. Unabhängig der Teamgröße unterscheidet sich die x-<br />

Koord<strong>in</strong>ate dieser Position dabei relativ betrachtet um dSpace·#hallway/2 von der<br />

vorherigen, wie die Abbildungen schnell erschließen lassen. Damit s<strong>in</strong>d die Variablen<br />

der zurückzulegenden Strecke ermittelt, so dass sich mover unter Beibehaltung se<strong>in</strong>er<br />

Orientierung (moveAndKeepHead<strong>in</strong>g, Zeile 7) entsprechend forward und right<br />

bewegen und danach um 180 ◦ drehen kann.<br />

HALLWAY_MOVE(mover, observer)<br />

01 if (#hallway modulo 2 = 1)<br />

02 then forward := dRow;<br />

03 else forward := 0;<br />

04 if (hallway[mover].cameraImage.robotIsLeft = true)<br />

05 then right := - dSpace·#hallway/2;<br />

06 else right := dSpace·#hallway/2;<br />

07 hallway[mover].moveAndKeepHead<strong>in</strong>g(forward, right);<br />

08 hallway[mover].turnAndAdjust(180 ◦ );<br />

09 hallway[observer].estimatePositionOf(hallway[mover]); // Regel 1<br />

10 hallway[observer].tellPosition(hallway[mover]);<br />

11 hallway[mover].estimateOwnPoseFrom(hallway[observer]);// Regel 2<br />

12 hallway[mover].broadcastOwnPose();<br />

5<br />

6<br />

1


98 4.5 Ansatz 2: Effizientes Voranschreiten bei dauerhafter Beobachtung<br />

Um den exakten Bewegungspfad gehe es hier nicht, der <strong>Roboter</strong> könnte <strong>in</strong> echt entlang<br />

der verschiedenen <strong>Roboter</strong> und von diesen per Kommunikation unterstützt fahren,<br />

um den „Korridor“ zu durchqueren. Ist er schließlich im Sichtbereich von observer<br />

angekommen, f<strong>in</strong>det zwischen mover und observer die bekannte Kooperation über<br />

Regel 1 und 2 statt, so dass mover se<strong>in</strong>e neue Pose geschätzt kennt (Zeile 9 bis 12). Als<br />

positiver Nebeneffekt zeigt sich vor allem <strong>für</strong> größere Teams, dass sich bei e<strong>in</strong>er längeren<br />

Gesamtbewegung <strong>in</strong> dieselbe Richtung aufe<strong>in</strong>ander folgende E<strong>in</strong>zelbewegungen zeitlich<br />

überschneiden dürften, da nur derjenige <strong>Roboter</strong> (eben observer genannt), dem der<br />

sich bewegende zuletzt begegnet, am Lokalisierungsprozess beteiligt ist. Hierdurch lässt<br />

sich also e<strong>in</strong>e sche<strong>in</strong>bar re<strong>in</strong>e Sequentialität der Abläufe verh<strong>in</strong>dern. Weiter bedeutet<br />

jede e<strong>in</strong>zelne Vorwärtsbewegung sowohl <strong>für</strong> gerade als auch ungerade Formationsgrößen<br />

gleichzeitig e<strong>in</strong>e Spiegelung an der Mittelachse zwischen den <strong>Roboter</strong>reihen, wie<br />

Abbildung 4.14 entnommen werden kann. Diese Eigenschaft reduziert die notwendige<br />

Beschäftigung mit e<strong>in</strong>er Rotation der Formation auf e<strong>in</strong>e Drehrichtung.<br />

Es stellt sich die Frage, <strong>in</strong>wieweit sich die überwiegend e<strong>in</strong>dimensionale Ausdehnung der<br />

HALLWAY-Formation negativ auf solcherlei Rotationen auswirkt. Am Anfang von Kapitel<br />

4.4 wurde aufgezeigt, welche Schwierigkeiten sich aus langen Reihen von <strong>Roboter</strong>n<br />

ergeben können. Diese würden bei naiven Ansätzen wie e<strong>in</strong>em versuchten Drehen der<br />

Formation auf der Stelle sofort aufkommen. Ferner ersche<strong>in</strong>t das <strong>in</strong> Kapitel 4.1 beschriebene,<br />

allgeme<strong>in</strong> anwendbare stückweise Mitdrehen <strong>in</strong>tuitiv betrachtet <strong>für</strong> HALLWAY bei<br />

größeren Anzahlen nahezu endlos, was e<strong>in</strong>e stärkere Zunahme an Unsicherheit der Posen<br />

impliziert. Für spezielle W<strong>in</strong>kel ζ lassen sich aber ausgeklügeltere Verfahren entwickeln,<br />

wie im Folgenden <strong>für</strong> ζ = 45 ◦ demonstriert. Generell erweist sich <strong>für</strong> solche Mechanismen<br />

e<strong>in</strong> Vorhandense<strong>in</strong> m<strong>in</strong>destens dreier <strong>Roboter</strong> als wichtig, da der stetige Aufenthalt<br />

<strong>in</strong> den günstigen Bereichen bei normalen Bildw<strong>in</strong>keln e<strong>in</strong>e E<strong>in</strong>schränkung bedeutet, die<br />

<strong>für</strong> nur zwei <strong>Roboter</strong> kaum Bewegungsfreiheit zulässt.<br />

Die hier verfolgte Strategie zielt darauf ab, auch beim Rotieren weitest möglich den<br />

gangartigen Aufbau zu erhalten und die Drehung jeweils <strong>in</strong> e<strong>in</strong>e Voranbewegung der<br />

<strong>Roboter</strong> zu <strong>in</strong>tegrieren. Auf Code wird an dieser Stelle verzichtet, stattdessen diene<br />

Abbildung 4.15 als Grundlage; sie stellt e<strong>in</strong>en möglichen Ablauf <strong>für</strong> die Rechtsdrehung<br />

um 45 ◦ bei sechs <strong>Roboter</strong>n dar. E<strong>in</strong>e besondere Rolle spielen unabhängig der Teamgröße<br />

n die drei vorderen <strong>Roboter</strong> Rn, Rn−1 und Rn−2 auf derjenigen Seite, wo die Drehung<br />

e<strong>in</strong>geleitet werden soll (hier R6, R5 und R4).<br />

Rn−1 (R5) beg<strong>in</strong>nt <strong>in</strong> Schritt 1 damit, sich im günstigen Bereich von Rn (R6) so zu<br />

platzieren, dass sich se<strong>in</strong>e Orientierung um −45 ◦ ändert und sich die Projektion von<br />

Rn−2 (R4) <strong>in</strong> se<strong>in</strong>em Kamerabild auf der gegenüberliegenden Seite wie vorher wiederf<strong>in</strong>det.<br />

Rn ermittelt die Position von Rn−1, so dass dieser se<strong>in</strong>e Pose anhand von Rn−2<br />

schätzen kann. Daraufh<strong>in</strong> dreht sich Rn−2 ebenfalls um −45 ◦ auf der Stelle, hat also<br />

h<strong>in</strong>terher wieder Rn−1 <strong>in</strong> se<strong>in</strong>em Bereich ˜ Gn−2 (Schritt 2), weshalb sich Regel 1 und 2<br />

zur Posenbestimmung anwenden lassen. Nun begibt sich Rn auf die andere Seite von<br />

˜Gn−2, wechselt somit die Reihe, was e<strong>in</strong>e Drehung um −225 ◦ erfordert (Schritt 3). Dabei<br />

startet er se<strong>in</strong>e Bewegung zwar völlig unbeobachtet, kann sich aber zum<strong>in</strong>dest selbst<br />

über die Lage von Rn−1 <strong>in</strong> se<strong>in</strong>em Kamerabild orientieren. Die Schätzung se<strong>in</strong>er Pose<br />

erfolgt analog wie direkt zuvor. In Schritt 4 bis 6 ziehen dann die übrigen <strong>Roboter</strong> geordnet<br />

nach und nehmen jeweils die nächste Position am Rand der Formation e<strong>in</strong>, bis


4 Explizite Verwendung kooperativer <strong>Bewegungsstrategien</strong> 99<br />

(1) (2) (3)<br />

1 3 5<br />

5<br />

1 3<br />

5<br />

1<br />

2 4<br />

6<br />

2 4 6<br />

(4) (5) (6)<br />

1<br />

2<br />

3<br />

4<br />

1<br />

5<br />

6<br />

2<br />

3<br />

4<br />

1<br />

5<br />

6<br />

3<br />

5<br />

2 4 6<br />

Abbildung 4.15: Drehung der HALLWAY-Formation um 45 ◦ , hier <strong>für</strong> sechs <strong>Roboter</strong> nach<br />

rechts. Jeder <strong>Roboter</strong> muss sich nur e<strong>in</strong>mal bewegen, die Gesamtdrehung geschieht aber sequentiell<br />

und benötigt <strong>in</strong> etwa den doppelten Platz der Ausgangsformation.<br />

diese wieder vollständig hergestellt ist. Auch der letzte <strong>Roboter</strong> (R3 <strong>in</strong> Abbildung 4.15)<br />

muss sich wie Rn dabei dem Problem stellen, anfangs nicht gesehen zu werden.<br />

Offensichtlich geht die Rotation der Formation auch mit e<strong>in</strong>er gewissen Weiterbewegung<br />

des Teams e<strong>in</strong>her. Das mag sich zwar nutzen lassen, wenn es bei der globalen Pfadplanung<br />

bedacht wird, hat allerd<strong>in</strong>gs den Nachteil, dass die Umsetzung dieser Basisaktion<br />

Platz benötigt, der <strong>in</strong> etwa doppelt so groß wie der der eigentlichen Formation ist;<br />

mit Ausnahme zweier <strong>Roboter</strong> bef<strong>in</strong>den sich alle nach Abschluss der Gesamtbewegung<br />

außerhalb der Fläche, auf der das Team zuvor stand. Dies kann <strong>in</strong> Umgebungen, die<br />

vermehrt H<strong>in</strong>dernisse aufweisen, selbstredend problematisch se<strong>in</strong>.<br />

Effizientere Vorwärtsbewegung auf vernünftigen Bewegungspfaden<br />

Lediglich e<strong>in</strong>e Entfernungsberechnung be<strong>in</strong>haltet die Vorwärtsbewegung e<strong>in</strong>es Teams der<br />

Größe n. Die zugehörige Schätzung wird fällig, nachdem sich e<strong>in</strong> <strong>Roboter</strong> um n<br />

2<br />

2<br />

3<br />

4<br />

1<br />

5<br />

3<br />

6<br />

6<br />

2<br />

· dspace<br />

voranbewegt hat. Solange e<strong>in</strong>e Bewegungsrichtung beibehalten wird, wird der Standort<br />

des umpositionierten <strong>Roboter</strong>s dabei von demjenigen bestimmt, der sich zuvor bewegt<br />

hat; pro Bewegung erhöht sich also die Anzahl zugrunde liegender Messungen bei der<br />

Schätzung um 1. Nach den ersten n Bewegungen folgen daraus 1 + 2 + .... + n = n2 +n<br />

2<br />

Messungen. Danach allerd<strong>in</strong>gs geht die Schätzung der Pose e<strong>in</strong>es <strong>Roboter</strong>s immer von<br />

e<strong>in</strong>em aus, dessen Pose bereits auf n − 1 Messungen mehr basiert. Daher kommen im<br />

allgeme<strong>in</strong>en Fall <strong>für</strong> jeder der n <strong>Roboter</strong> n neue Messungen bei se<strong>in</strong>er Pose h<strong>in</strong>zu; das<br />

Team hat sich <strong>in</strong> dieser Zeit zusammen um n · n<br />

2 · dspace weiterbewegt. Damit resultiert<br />

folgender Quotient QHALLWAY zwischen Messungen und zurückgelegter Strecke:<br />

QHALLWAY = n 2 ·<br />

2<br />

n 2 · dspace<br />

= 2<br />

dspace


100 4.6 Ansatz 3: Erschließung von Raum unter Verlust der stetigen Kontrolle<br />

Dieser Wert übertrifft QCIRCLE: dspace kann die doppelte Größe von d ′ P<br />

deutlich übersteigen,<br />

da e<strong>in</strong>e größere Entfernung zum beobachtenden <strong>Roboter</strong> vorliegt (e<strong>in</strong> Beispiel<br />

dazu folgt <strong>in</strong> Kapitel 4.8). Als <strong>in</strong>teressant erweist sich e<strong>in</strong>e Änderung der Richtung; hier<br />

entsteht die Unsicherheit des sich zuerst bewegenden <strong>Roboter</strong>s aus der des <strong>Roboter</strong>s, der<br />

sich vorher am längsten nicht bewegt hat, weshalb die maximal mögliche Abweichung<br />

der Posenschätzungen vorerst wieder abnimmt. Entgegen CIRCLE muss <strong>für</strong> HALLWAY<br />

nun aber angemerkt werden, dass die Pfade der <strong>Roboter</strong> nicht optimal h<strong>in</strong>sichtlich der<br />

Bewegungsrichtung des Teams s<strong>in</strong>d, denn die E<strong>in</strong>zelbewegungen verlaufen nicht nur <strong>in</strong><br />

diese Richtung. Jedoch bleiben sie nahe daran, und zwar um so mehr, je größer n ausfällt,<br />

weshalb die beschrittenen Pfade guten Gewissens als vernünftig bezeichnet werden<br />

können. Spiegeln und Umdrehen der Formation ist durch das Konzept der Vorwärtsbewegung<br />

darüber h<strong>in</strong>aus schon gegeben und lässt sich effektiver kaum machen.<br />

Auch der Aufwand e<strong>in</strong>er Drehung sieht vertretbar aus, da nur bed<strong>in</strong>gt Rotationsstrategien<br />

denkbar s<strong>in</strong>d, bei denen sich nicht das Wissen über die Pose jedes <strong>Roboter</strong>s zum<strong>in</strong>dest<br />

ger<strong>in</strong>gfügig verschlechtert. Hier bewegt sich jeder e<strong>in</strong>mal und somit ist erneut<br />

nur e<strong>in</strong>e Entfernungsschätzung pro <strong>Roboter</strong> nötig, womit n Schätzungen <strong>für</strong> n <strong>Roboter</strong><br />

folgen. Allerd<strong>in</strong>gs bleibt die Problematik des großen Platzbedarfs bestehen. Außerdem<br />

ist natürlich noch zu untersuchen, wie sich HALLWAY <strong>in</strong> den besprochenen Szenarien<br />

behauptet, was passiert, wenn der hier letzte Ansatz <strong>für</strong> die kooperative Bewegung e<strong>in</strong>es<br />

Teams im folgenden Teilkapitel vorgestellt worden ist.<br />

4.6 Ansatz 3: Erschließung von Raum unter Verlust der<br />

stetigen Kontrolle<br />

Bislang wurde ke<strong>in</strong> Bewegungsschema entwickelt, bei dem e<strong>in</strong> <strong>Roboter</strong> die von den Sichtbereichen<br />

der anderen abgedeckte Fläche aktiv verlässt. Grund da<strong>für</strong> ist, dass stetige<br />

Kontrolle über die Situation aller <strong>Roboter</strong> gewährleistet werden sollte. E<strong>in</strong>zig bei der<br />

Rotation von HALLWAY tauchten überhaupt Bewegungen außerhalb der Sicht anderer<br />

auf; hier jedoch sah der voranschreitende <strong>Roboter</strong> zum<strong>in</strong>dest selbst <strong>Roboter</strong> vom bestehenden<br />

Anteil der Ausgangsformation. Br<strong>in</strong>gen solche Umstände zwar besonders dort<br />

Sicherheit, wo sich mit ungenauen Bewegungen der <strong>Roboter</strong> rechnen lässt, so schränken<br />

sie doch die Möglichkeiten denkbarer Vorgehensweisen stark e<strong>in</strong>.<br />

Weiter muss bei den ersten beiden Ansätzen h<strong>in</strong>terfragt werden, ob sie sich zum Lernen<br />

unbekannter Umgebungen eignen; vor allem während der Vorwärtsbewegung von<br />

CIRCLE bekommen die <strong>Roboter</strong> wenig von umliegenden Objekten mit, stören sich sogar<br />

teilweise gegenseitig beim Sehen <strong>in</strong> den aktuell zu erkundenden Raum. Der sich<br />

bewegende <strong>Roboter</strong> der HALLWAY-Formation blickt zum<strong>in</strong>dest beim Durchqueren des<br />

durch die Reihen def<strong>in</strong>ierten Gangs ungeh<strong>in</strong>dert <strong>in</strong> die angestrebte Richtung des Teams.<br />

Die folgende Bewegungsstrategie geht aber noch weiter, <strong>in</strong>dem die zu betretende Fläche<br />

zuerst über e<strong>in</strong>ige Kameras erschlossen wird, ehe sich überhaupt e<strong>in</strong> <strong>Roboter</strong> auf den<br />

Weg dorth<strong>in</strong> macht. Wie <strong>in</strong> Kapitel 4.2 bereits implizit angemerkt, hat e<strong>in</strong> solches Vorgehen<br />

allerd<strong>in</strong>gs als Konsequenz, dass bestimmte <strong>Roboter</strong> zwischenzeitlich das Wissen<br />

über ihre Pose verlieren. Dies wird sich zwar handhaben lassen, resultiert gegenüber


4 Explizite Verwendung kooperativer <strong>Bewegungsstrategien</strong> 101<br />

den bisherigen Strategien jedoch <strong>in</strong> komplexeren Bewegungsabläufen und erfordert bis<br />

hierh<strong>in</strong> noch ungenutzte Lokalisierungstechniken.<br />

ZIGZAG: Neue Verwendungsart e<strong>in</strong>er schon bekannten Ausgangsformation<br />

Die Anordnung der <strong>Roboter</strong>, welche bei diesem Ansatz als stabile Ausgangsformation<br />

diene, gleicht der von HALLWAY <strong>in</strong> jeder H<strong>in</strong>sicht, weswegen noch e<strong>in</strong>mal auf Abbildung<br />

4.13 (rechts) verwiesen sei. Auch hier wird also von e<strong>in</strong>em Aufbau <strong>in</strong> zwei Reihen mit den<br />

bereits spezifizierten Abständen drow und dspace ausgegangen. Ebenso gibt es pr<strong>in</strong>zipiell<br />

ke<strong>in</strong>erlei E<strong>in</strong>schränkung bei den erlaubten Teamgrößen, außer dass hier m<strong>in</strong>destens drei<br />

<strong>Roboter</strong> notwendig se<strong>in</strong> werden; dies hat sich aber <strong>in</strong> den letzten Teilkapiteln ohneh<strong>in</strong><br />

als Voraussetzung herausgestellt, um vernünftig Mechanismen <strong>für</strong> Gesamtbewegungen<br />

zu entwickeln, die über das simple Geradeausfahren h<strong>in</strong>ausgehen.<br />

Anders als bei HALLWAY verhält es sich jedoch mit den möglichen Bewegungsrichtungen<br />

der Strategie, die hier direkt aus den Orientierungen der <strong>Roboter</strong> hervorgehen und somit<br />

senkrecht zu denen von HALLWAY verlaufen. Während sich diesbezüglich Letztere bei<br />

größerer <strong>Roboter</strong>anzahl als <strong>in</strong> die Länge gezogen begreifen ließ, geht die jetzt vorgestellte<br />

Formation demnach <strong>in</strong> die Breite. Dabei wird e<strong>in</strong>e der beiden Reihen als h<strong>in</strong>tere, die<br />

andere als vordere angesehen. Das unterliegende Konzept der Strategie basiert auf e<strong>in</strong>em<br />

abwechselnden Voranschreiten dieser Reihen, wie im Folgenden vorgestellt werden wird.<br />

Dies wird „zickzack“-artige Bewegungspfade zur Folge haben, weswegen diese Strategie<br />

(und zur Unterscheidung auch die Formation) den Namen ZIGZAG trage.<br />

Konzepte und Algorithmen <strong>für</strong> Basisaktionen der Strategie ZIGZAG<br />

Es sei bereits zu Anfang gesagt, dass Spiegelungen und Drehungen hier außen vor bleiben;<br />

sie können genauso wie im vorigen Teilkapitel umgesetzt werden. Bei der Vorwärtsbewegung<br />

von ZIGZAG ergeben sich nun Unterschiede <strong>für</strong> gerade und ungerade<br />

<strong>Roboter</strong>anzahlen. Vorerst sei e<strong>in</strong>e ungerade Teamgröße angenommen und <strong>für</strong> diese e<strong>in</strong>e<br />

h<strong>in</strong>tere Reihe def<strong>in</strong>iert, nämlich diejenige, welche e<strong>in</strong>en <strong>Roboter</strong> mehr enthält. Die <strong>für</strong> e<strong>in</strong>e<br />

gerade Zahl notwendigen Modifikationen werden h<strong>in</strong>terher aufgezeigt. In Kapitel 4.1<br />

wurde gesagt, dass sich e<strong>in</strong>e Vorwärtsbewegung aus e<strong>in</strong>er leichten „Schräg-l<strong>in</strong>ks“- und<br />

„Schräg-rechts“-Bewegung zusammensetzen kann. Davon macht ZIGZAG Gebrauch, wobei<br />

sich auf e<strong>in</strong>e Beschreibung <strong>für</strong> zweitere beschränkt wird. Es wird aber leicht sichtbar<br />

se<strong>in</strong>, dass das Vorgehen <strong>für</strong> die andere Richtung spiegelverkehrt verliefe.<br />

Abbildung 4.16 veranschaulicht <strong>für</strong> fünf <strong>Roboter</strong> die rechtslastige Vorwärtsbewegung der<br />

ZIGZAG-Formation. Sie lässt sich <strong>für</strong> jede ungerade Anzahl an <strong>Roboter</strong>n s<strong>in</strong>nvoll <strong>in</strong> die<br />

vier dargestellten Schritte unterteilen, so dass <strong>in</strong> der Hauptmethode ZIGZAG_RIGHTFWD<br />

des folgenden Pseudocodes dazu passend je e<strong>in</strong>e Untermethode aufgerufen wird. Zwei<br />

geordnete Listen back und front werden <strong>für</strong> die beiden Reihen der Formation verwendet.<br />

Da sich die Zugehörigkeit e<strong>in</strong>zelner <strong>Roboter</strong> zu den Reihen dynamisch während des<br />

Fortbewegungsprozesses ändert, dies aber nicht bedeutsam <strong>für</strong> das Verständnis der verfolgten<br />

Strategie ist, wird aus Platzgründen weiter unten e<strong>in</strong>e Methode updateRows<br />

benutzt, die da<strong>für</strong> sorge, dass die zum aktuellem Zeitpunkt gültige Partition der <strong>Roboter</strong><br />

<strong>in</strong> den beiden Datenstrukturen korrekt repräsentiert wird.


102 4.6 Ansatz 3: Erschließung von Raum unter Verlust der stetigen Kontrolle<br />

(1) (2)<br />

1<br />

2<br />

3<br />

4<br />

5<br />

1<br />

(3) (4)<br />

2<br />

3<br />

4<br />

5<br />

1<br />

2<br />

3<br />

Abbildung 4.16: Die leicht nach rechts gehende Vorwärtsbewegung der ZIGZAG-Formation<br />

verläuft <strong>für</strong> jede ungerade Teamgröße <strong>in</strong> vier Schritten: (1) E<strong>in</strong> <strong>Roboter</strong> der h<strong>in</strong>teren Reihe zieht<br />

<strong>in</strong> die vordere und erschließt unter Verlust se<strong>in</strong>er Orientierung neuen Raum. (2) Jeder zweite der<br />

sonstigen vorderen Reihe dreht sich auf der Stelle, um Gleiches zu tun. (3) Die restliche h<strong>in</strong>tere<br />

Reihe bewegt sich <strong>in</strong> den erschlossenen Raum und dreht sich zwecks Lokalisierung anschließend<br />

um. (4) Die bisher stationären <strong>Roboter</strong> der neuen h<strong>in</strong>teren Reihe drehen sich zur neuen vorderen.<br />

ZIGZAG_RIGHTFWD(back, front)<br />

01 ZIGZAG_RIGHTFWD_STEP1(back, front);<br />

02 ZIGZAG_RIGHTFWD_STEP2(back, front);<br />

03 ZIGZAG_RIGHTFWD_STEP3(back, front);<br />

04 ZIGZAG_RIGHTFWD_STEP4(back, front);<br />

In Schritt 1 begibt sich der erste <strong>Roboter</strong> der h<strong>in</strong>teren Reihe (R1 <strong>in</strong> Abbildung 4.16)<br />

unter versuchter Beibehaltung se<strong>in</strong>er Orientierung an den rechten Rand der vorderen<br />

Reihe. Zeile 1 von ZIGZAG_RIGHTFWD_STEP1 gibt wieder, dass er sich also relativ betrachtet<br />

um dRow nach vorne und #front·dSpace nach rechts umpositionieren muss,<br />

um die gewünschte Stelle im günstigen Bereich des letzten <strong>Roboter</strong>s (hier R3) zu erreichen,<br />

der daraufh<strong>in</strong> die resultierende Position schätzen kann. Die Orientierung des<br />

vorangeschrittenen <strong>Roboter</strong>s bleibt h<strong>in</strong>gegen vorerst unbekannt. Es sei hier zu beachten,<br />

dass e<strong>in</strong> Umdrehen der Formation sich <strong>in</strong> diesen Schritt der Vorwärtsbewegung e<strong>in</strong>bauen<br />

ließe, <strong>in</strong>dem sich R1 anstelle der Weiterbewegung auf der Stelle dreht, was zum gleichen<br />

Resultat <strong>für</strong> die entgegengesetzte Bewegungsrichtung führen würde.<br />

2<br />

3<br />

4<br />

5<br />

1<br />

4<br />

5<br />

1<br />

2<br />

3


4 Explizite Verwendung kooperativer <strong>Bewegungsstrategien</strong> 103<br />

ZIGZAG_RIGHTFWD_STEP1(back, front)<br />

01 back[1].moveAndKeepHead<strong>in</strong>g(dRow, #front·dSpace);<br />

02 updateRows();<br />

03 back[#back].estimatePositionOf(front[#front]); // Regel 1<br />

04 back[#back].broadcastPosition(front[#front]);<br />

Durch Schritt 1 wurde begonnen, die vor dem Team liegende Umgebung zu erschließen.<br />

Diesen Vorgang setzen weitere <strong>Roboter</strong> fort und zwar jeder zweite der vorderen Reihe<br />

l<strong>in</strong>ks vom vorangegangenen (<strong>in</strong> der Abbildung nur R4), wo<strong>für</strong> sie sich um möglichst<br />

genau 180 ◦ auf der Stelle drehen. Das Ganze lässt sich parallelisieren, wie im folgenden<br />

Code, wo gleichzeitig <strong>für</strong> die betreffenden <strong>Roboter</strong> Zeile 2 bis 5 abgearbeitet werde.<br />

Die Korrektur der Drehung (turnAndAdjust) kann sich dabei natürlich nur auf die<br />

Position des <strong>Roboter</strong>s beziehen und muss über Kooperation mit den beobachtenden<br />

<strong>Roboter</strong>n der h<strong>in</strong>teren Reihe erfolgen, welche auch anschließend <strong>für</strong> die Positionsschätzung<br />

zuständig s<strong>in</strong>d. Es kann sich als Problem herausstellen, dass ke<strong>in</strong>e Gewährleistung<br />

besteht, dass die <strong>Roboter</strong> wirklich annähernd geradeaus <strong>in</strong> den freien Raum blicken,<br />

denn als Anhaltspunkt kommt nur <strong>in</strong> Frage, dass sie ke<strong>in</strong>en anderen <strong>Roboter</strong> sehen.<br />

Größere Abweichungen kann die Strategie daher nur durch Anpassungen der entsprechenden<br />

Orientierungen nach Schritt 3 (siehe unten) kompensieren; dies kann aber die<br />

Beobachtung anderer <strong>Roboter</strong> <strong>in</strong> der Zwischenzeit verh<strong>in</strong>dern.<br />

ZIGZAG_RIGHTFWD_STEP2(back, front)<br />

01 parallel (every i from 1 to ⌊#front/2⌋) do<br />

02 <strong>in</strong>dex := #front-2i;<br />

03 front[<strong>in</strong>dex].turnAndAdjust(180 ◦ );<br />

04 back[<strong>in</strong>dex].estimatePositionOf(front[<strong>in</strong>dex]); // Regel 1<br />

05 back[<strong>in</strong>dex].broadcastPosition(front[<strong>in</strong>dex]);<br />

Wurde der erschlossene Raum als ausreichend <strong>für</strong> e<strong>in</strong>e Weiterbewegung des Teams erkannt,<br />

ziehen als nächstes (Schritt 3) alle verbleibenden <strong>Roboter</strong> der h<strong>in</strong>teren Reihe<br />

durch die Lücken der vorderen an dieser vorbei, bis sie im Idealfall nach e<strong>in</strong>er Strecke<br />

von 2 · drow im günstigen Bereich der vorausblickenden <strong>Roboter</strong> ersche<strong>in</strong>en, wobei sie<br />

temporär den beobachteten Bereich der vom Team e<strong>in</strong>genommenen Fläche verlassen.<br />

Als Ergebnis bilden sie die neue vordere Reihe der Formation. In Zeile 1 und 2 der<br />

Methode ZIGZAG_RIGHTFWD_STEP3 werden diese Bewegungen wieder parallelisiert.<br />

Die <strong>Roboter</strong> drehen sich dann auf der Stelle, bis sie l<strong>in</strong>ks und rechts vor sich je e<strong>in</strong>en<br />

<strong>Roboter</strong> der neuen h<strong>in</strong>teren Reihe sehen, so dass sie ihre Pose selbst nach der hier zum<br />

ersten und e<strong>in</strong>zigen Mal angewendeten Regel 3 ermitteln können (Zeile 4 bis 7). Sollte es<br />

kritisch ersche<strong>in</strong>en nach Bewegungsabschluss zu erkennen, welcher <strong>Roboter</strong> welcher ist,<br />

könnte e<strong>in</strong>e Sequentialisierung des Vorgangs aber Abhilfe leisten. Schritt 3 <strong>in</strong> Abbildung<br />

4.16 illustriert die gesamte, soeben beschriebene Bewegungsfolge.<br />

Da die <strong>Roboter</strong>, <strong>für</strong> die es aktuell ke<strong>in</strong>e Orientierungsschätzung gibt, nun e<strong>in</strong>en <strong>Roboter</strong><br />

mit bekannter (geschätzter) Position vor sich haben, können sie ihre Pose nach Regel 2<br />

ableiten, was <strong>in</strong> Zeile 8 bis 13 passiert. Die gesonderte Implementierung <strong>für</strong> den <strong>Roboter</strong>


104 4.6 Ansatz 3: Erschließung von Raum unter Verlust der stetigen Kontrolle<br />

ganz rechts <strong>in</strong> der h<strong>in</strong>teren Reihe (Zeile 12 und 13) ist notwendig, da dieser als e<strong>in</strong>ziger<br />

die Projektion e<strong>in</strong>es <strong>Roboter</strong>s l<strong>in</strong>ks <strong>in</strong> se<strong>in</strong>em Kamerabild nutzen muss, wodurch sich<br />

der zugehörige Index nicht im parallelen Codestück def<strong>in</strong>ieren lässt. Selbstredend könnte<br />

aber diese Schätzung zur gleichen Zeit wie die anderen stattf<strong>in</strong>den.<br />

ZIGZAG_RIGHTFWD_STEP3(back, front)<br />

01 parallel (every i from 1 to #back) do<br />

02 back[i].moveAndKeepHead<strong>in</strong>g(2·dRow);<br />

03 updateRows();<br />

04 parallel (every i from 1 to #front) do<br />

05 front[i].turnAndAdjust(180 ◦ );<br />

06 front[i].estimateOwnPoseFrom(back[i], back[i+1]); // Regel 3<br />

07 front[i].broadcastOwnPose();<br />

08 parallel (every i from 1 to ⌊#front/2⌋) do<br />

09 <strong>in</strong>dex := #front-2i;<br />

10 front[<strong>in</strong>dex].estimateOwnPoseFrom(back[<strong>in</strong>dex]); // Regel 2<br />

11 front[<strong>in</strong>dex].broadcastOwnPose();<br />

12 front[#front].estimateOwnPoseFrom(back[#back]); // Regel 2<br />

13 front[#front].broadcastOwnPose();<br />

Zwar existiert nach Schritt 3 wieder <strong>für</strong> alle <strong>Roboter</strong> unsicheres Wissen über deren Pose,<br />

jedoch ist die stabile Ausgangsformation noch nicht wiederhergestellt. Dies geschieht<br />

im letzten Schritt, bei dem sich die noch zurückblickenden <strong>Roboter</strong> der h<strong>in</strong>teren Reihe<br />

umdrehen und dann zwecks Posenbestimmung zusammen mit e<strong>in</strong>em sie sehenden <strong>Roboter</strong><br />

der vorderen Reihe Regel 1 und 2 <strong>in</strong> Kooperation ausführen, wie <strong>in</strong> Abbildung<br />

4.16 unten rechts zu sehen und im folgenden Codestück festgehalten ist:<br />

ZIGZAG_RIGHTFWD_STEP4(back, front)<br />

01 parallel (every i from 1 to ⌊#back/2⌋) do<br />

02 <strong>in</strong>dex := #back+1-2i;<br />

03 back[<strong>in</strong>dex].turnAndAdjust(180 ◦ );<br />

04 front[<strong>in</strong>dex].estimatePositionOf(back[<strong>in</strong>dex]); // Regel 1<br />

05 front[<strong>in</strong>dex].tellPosition(back[<strong>in</strong>dex]);<br />

06 back[<strong>in</strong>dex].estimateOwnPoseFrom(front[<strong>in</strong>dex]); // Regel 2<br />

07 back[<strong>in</strong>dex].broadcastOwnPose();<br />

Seien schließlich die bei e<strong>in</strong>er geraden Anzahl an <strong>Roboter</strong>n erforderlichen Abwandlungen<br />

betrachtet: Leicht nachvollziehbar macht es wenig S<strong>in</strong>n, <strong>in</strong> diesem Fall Schritt 1 auszuführen,<br />

denn dadurch würde die vordere Reihe unnötig groß werden. Schritt 1 entfällt<br />

somit, so dass der zu beschreitende Raum vollständig durch die Drehungen um die eigene<br />

Achse aus Schritt 2 erschlossen wird. Für sechs <strong>Roboter</strong> ergäbe sich die <strong>in</strong> Abbildung<br />

4.17 (l<strong>in</strong>ks) illustrierte Situation. Dort tritt e<strong>in</strong> Problem auf, nämlich dass e<strong>in</strong>er der <strong>Roboter</strong><br />

der h<strong>in</strong>teren Reihe (R1) bei Ausführung der nächst anstehenden E<strong>in</strong>zelbewegung<br />

(oben: Schritt 3) an e<strong>in</strong>en Ort gelangen würde, an dem sich weder Position noch Pose


4 Explizite Verwendung kooperativer <strong>Bewegungsstrategien</strong> 105<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

2<br />

3<br />

1 1<br />

Abbildung 4.17: (l<strong>in</strong>ks) Bei e<strong>in</strong>er geraden Teamgröße bleibt derjenige <strong>Roboter</strong> der h<strong>in</strong>teren<br />

Reihe, welcher nur e<strong>in</strong>en <strong>Roboter</strong> der vorderen sieht, bei der Vorwärtsbewegung vorerst stehen,<br />

während der Rest der h<strong>in</strong>teren Reihe nach vorne zieht. (rechts) Der zurückgebliebene <strong>Roboter</strong><br />

zieht nach, wenn die Basisaktion ansonsten komplett durchgeführt worden ist.<br />

e<strong>in</strong>deutig bestimmen ließe. Aus diesem Grund verschiebt der <strong>Roboter</strong> se<strong>in</strong> Vorhaben,<br />

bleibt also vorerst zurück. Stattdessen wird der verbleibende Teil der Basisaktion umgesetzt,<br />

als wenn dieser <strong>Roboter</strong> nicht existieren würde. Hat sich die Formation soweit<br />

aufgebaut, dass sie mit Ausnahme des stehengebliebenen <strong>Roboter</strong>s stabil ist, so zieht<br />

dieser <strong>in</strong> e<strong>in</strong>em letzten und zusätzlichen Schritt nach und kann sich am Zielort über<br />

Regel 1 und 2 lokalisieren (vgl. Abbildung 4.17 rechts).<br />

Objektiv gesehen wirkt der Algorithmus der Vorwärtsbewegung von ZIGZAG zweischneidig;<br />

auf der e<strong>in</strong>en Seite bietet er e<strong>in</strong>en hohen Grad an Parallelisierbarkeit, die sich bewegenden<br />

<strong>Roboter</strong> legen e<strong>in</strong>e verhältnismäßig weite Strecke zurück und die Erkundung<br />

der anszusteuernden Zielregion lässt sich sicherlich als s<strong>in</strong>nvoll bezeichnen. Auf der anderen<br />

Seite bleibt fraglich, ob der Algorithmus <strong>in</strong> realistischen Umgebungen vernünftig<br />

e<strong>in</strong>gesetzt werden kann, da er auf der Annahme basiert, dass die <strong>Roboter</strong> eigenständig<br />

<strong>in</strong> der Lage s<strong>in</strong>d, e<strong>in</strong>e gewisse Genauigkeit bei der eigenen Ausrichtung e<strong>in</strong>zuhalten. Ehe<br />

e<strong>in</strong>e weitere Diskussion zweckmäßig wäre, sei aber zunächst e<strong>in</strong> Blick auf die Qualität<br />

der Strategie h<strong>in</strong>sichtlich des globalen Ziels geworfen.<br />

Ger<strong>in</strong>ge maximale bei durschnittlicher mittlerer Posenabweichung<br />

Die Analyse der Anzahl notwendiger Messungen im Vergleich zur absolut zurückgelegten<br />

Strecke der Vorwärtsbewegung bei n <strong>Roboter</strong>n fällt <strong>für</strong> ZIGZAG etwas komplizierter<br />

als bei den vorigen Ansätzen aus. Zwar ist der Umfang der Weiterbewegung e<strong>in</strong>fach<br />

erkennbar, von außen gesehen verschiebt sich das Team um drow <strong>in</strong> die angestrebte<br />

Richtung, wenn sich jeder e<strong>in</strong>mal bewegt; zusammen legen die <strong>Roboter</strong> also e<strong>in</strong>e Strecke<br />

von n·drow zurück. Die Zahl dabei auftretender Messungen wird aber durch die Summe<br />

mehrerer, e<strong>in</strong>zeln zu untersuchender Größen def<strong>in</strong>iert.<br />

Sei zuerst betrachtet, was zu Beg<strong>in</strong>n der Fortbewegung des Teams passiert, um davon<br />

ausgehend die Anzahl an Messungen e<strong>in</strong>er beliebigen Vorwärtsbewegung errechnen zu<br />

4<br />

5<br />

6<br />

2<br />

3


106 4.6 Ansatz 3: Erschließung von Raum unter Verlust der stetigen Kontrolle<br />

können. Hier<strong>für</strong> wird ohne E<strong>in</strong>schränkung angenommen, dass die Position des sich zuerst<br />

bewegenden <strong>Roboter</strong>s erst nach Schritt 2 geschätzt wird. Das heißt, an dieser Stelle<br />

werden <strong>für</strong> aufgerundet jeden zweiten <strong>Roboter</strong> der vorderen Reihe, welche aktuell ⌈ n<br />

2 ⌉<br />

<strong>Roboter</strong> enthält, Positionen anhand e<strong>in</strong>er ersten Messung ermittelt. Alle betreffenden<br />

<strong>Roboter</strong> werden dann als Landmarken benutzt, wenn <strong>in</strong> Schritt 3 zuerst die ⌊ n<br />

2 ⌋ verbleibenden<br />

<strong>Roboter</strong> der alten h<strong>in</strong>teren Reihe, nachdem sie nach vorn gezogen s<strong>in</strong>d, Regel<br />

3 anwenden, um ihre Pose herausf<strong>in</strong>den. Entsprechend Kapitel 4.3 wird die Grundlage<br />

jeder Schätzung dieser <strong>Roboter</strong> als 1+λ Messungen angesehen. Schritt 3 umfasst weiter<br />

die Wiedergew<strong>in</strong>nung des Wissens über die verlorenen Orientierungen der <strong>Roboter</strong>, <strong>für</strong><br />

die bislang nur die Position bestimmt wurde. Zu ihrer Unsicherheit kommt also die der<br />

vorangezogenen h<strong>in</strong>zu, was <strong>in</strong> 2+λ Messungen resultiert. Gleiches gilt <strong>für</strong> die Posen der<br />

anderen <strong>Roboter</strong> aus derselben Reihe, welche zuletzt über Regel 1 und 2 <strong>in</strong> Kooperation<br />

mit <strong>Roboter</strong>n der vorderen Reihe geschätzt werden. Das Wissen aller ⌈ n<br />

2 ⌉ <strong>Roboter</strong> der<br />

neuen h<strong>in</strong>teren Reihe basiert somit auf 2 + λ Messungen.<br />

Offensichtlich entspr<strong>in</strong>gt der Unterschied im Posenwissen der h<strong>in</strong>teren zur vorderen Reihe<br />

nach Abschluss der Vorwärtsbewegung demnach genau e<strong>in</strong>er zusätzlichen Messung,<br />

was natürlich stets so gelten muss. Sei daher jetzt der Zeitpunkt betrachtet, wo sich<br />

bislang <strong>für</strong> alle <strong>Roboter</strong> der h<strong>in</strong>teren Reihe i + 1 und <strong>für</strong> alle der vorderen i Messungen<br />

ergeben haben. Bei der nächsten Bewegung kommt nach Schritt 2 analog zu oben<br />

bei jedem zweiten <strong>Roboter</strong> der vorderen Reihe e<strong>in</strong>e i + 2-te Messung h<strong>in</strong>zu, denn ihre<br />

Schätzungen fußen auf dem Wissen der h<strong>in</strong>teren Reihe. Deshalb gründet sich danach<br />

die Schätzung der ⌊ n<br />

2<br />

⌋ <strong>in</strong> Schritt 3 voranschreitenden <strong>Roboter</strong> <strong>in</strong> i + 2 + λ Messungen<br />

und die aller ⌈ n<br />

2 ⌉ anderen anschließend folgerichtig <strong>in</strong> i + 3 + λ Messungen. Daraus<br />

lässt sich direkt ableiten, dass bei e<strong>in</strong>er Vorwärtsbewegung des Teams (wie gehabt mit<br />

Ausnahme der allerersten) <strong>in</strong>sgesamt n · (2 + λ) neue Messungen zur Aufrechterhaltung<br />

aller Posenschätzungen notwendig s<strong>in</strong>d.<br />

Diese Zählung der Messungen bezieht sich eigentlich nur auf ungerade Teamgrößen;<br />

bei gerader Anzahl hätte der nachrückende <strong>Roboter</strong> (R1 <strong>in</strong> Abbildung 4.17 rechts)<br />

gegenüber der h<strong>in</strong>teren Reihe e<strong>in</strong>e Messung mehr zu verzeichnen. Wenn der temporär<br />

zurückbleibende <strong>Roboter</strong> aber stets so gewählt werden würde, dass er <strong>in</strong> der darauf<br />

folgenden Vorwärtsbewegung ke<strong>in</strong>er der sich <strong>in</strong> Schritt 2 drehenden ist, gleicht sich<br />

diese höhere Unsicherheit sofort wieder aus, wie sich durchspielen ließe. Um e<strong>in</strong>e <strong>für</strong> die<br />

vorliegenden Zwecke nicht wesentliche Fallunterscheidung zu vermeiden, sei die Zählung<br />

daher auch <strong>für</strong> gerade Teamgrößen akzeptiert. Unter der Annahme, dass die <strong>in</strong> Kapitel<br />

4.3 gemachte Abschätzung zu Regel 3 korrekt ist, kann also folgendes Ergebnis <strong>für</strong> den<br />

Quotienten QZIGZAG zwischen der Anzahl an Messungen und der zurückgelegten Strecke<br />

e<strong>in</strong>er idealen Vorwärtsbewegung festgehalten werden:<br />

QZIGZAG<br />

4.3 n · (2 + λ)<br />

≈ =<br />

n · drow<br />

2 + λ<br />

drow<br />

Die entstehende Unsicherheit der anderen Basisaktionen ist dem vorigen Kapitel entnehmbar,<br />

da ke<strong>in</strong>e echten Neuerungen gegenüber HALLWAY hier vorgestellt wurden.<br />

E<strong>in</strong> erster Vergleich zwischen QZIGZAG und QHALLWAY unter Beachtung der schlüssi-


4 Explizite Verwendung kooperativer <strong>Bewegungsstrategien</strong> 107<br />

gen Vermutung λ > 1 (vgl. Kapitel 4.3) lässt schon hier erahnen, dass die Werte <strong>für</strong><br />

λ ≈ 1 bei normalen Bildw<strong>in</strong>keln nah ane<strong>in</strong>ander liegen. QHALLWAY hängt zwar entgegen<br />

QZIGZAG nicht von drow sondern von dspace ab, diese Werte unterscheiden sich je nach<br />

Sichtw<strong>in</strong>kel aber nicht unbed<strong>in</strong>gt deutlich, wie e<strong>in</strong> Beispiel <strong>in</strong> Kapitel 4.8 verdeutlichen<br />

wird. Für λ ≫ 1 werden dementsprechend Vorteile auf Seiten der HALLWAY-Strategie<br />

se<strong>in</strong>. Entgegen HALLWAY liegt da<strong>für</strong> bei ZIGZAG aber e<strong>in</strong>e sehr e<strong>in</strong>heitliche maximale<br />

Posenabweichung der <strong>Roboter</strong> vor.<br />

An diesem Punkt angelangt, s<strong>in</strong>d die drei vorgestellten Algorithmen bezüglich ihrer<br />

<strong>in</strong>härenten Eigenschaften angemessen untersucht worden. Dabei hat sich <strong>für</strong> die implizit<br />

angenommenen Sichtw<strong>in</strong>kel bislang ke<strong>in</strong> deutlicher Favorit hervorgetan, was die<br />

Möglichkeit zur kooperativen Aufrechterhaltung vernünftiger Posenschätzungen betrifft.<br />

H<strong>in</strong>sichtlich anderen Kriterien, wie der Flexibilität der jeweils zugrunde liegenden Formation<br />

oder der Planbarkeit anzustrebender Ziele, ergaben sich differenziertere Ergebnisse;<br />

ZIGZAG mangelt es etwa im Vergleich zu den anderen an stetiger Kontrolle über<br />

die <strong>Roboter</strong>posen, da<strong>für</strong> können beispielsweise H<strong>in</strong>dernisse im Allgeme<strong>in</strong>en früher erkannt<br />

werden. Es bleibt der E<strong>in</strong>satz der Verfahren <strong>in</strong> Problemsituationen zu betrachten,<br />

die <strong>in</strong> <strong>unbekannten</strong> Umgebungen auftreten können.<br />

4.7 Szenarien <strong>für</strong> den E<strong>in</strong>satz der <strong>Bewegungsstrategien</strong><br />

Im Folgenden werden nur Lösungen <strong>für</strong> grundlegende Probleme auf Basis der <strong>in</strong> Kapitel<br />

4.1 e<strong>in</strong>geführten Szenarien S1 bis S3 anschaulich besprochen. Viele weitere <strong>in</strong> der<br />

Realität auftretende Probleme werden somit selbstredend vernachlässigt; schon durch<br />

Verknüpfung der Szenarien ließen sich Situationen konstruieren, <strong>in</strong> denen die unten beschriebenen<br />

Methoden nicht bestehen könnten. Tiefergehende Beschäftigungen übersteigen<br />

allerd<strong>in</strong>gs den Umfang dieser Arbeit; darum steht hier auch nicht die M<strong>in</strong>imierung<br />

der Anzahl an Messungen, sondern vorwiegend nur der Erfolg der Handlungen im Mittelpunkt.<br />

Zum<strong>in</strong>dest wird dies <strong>für</strong> die Abschlussdiskussion <strong>in</strong> Kapitel 4.8 ausreichen, <strong>in</strong><br />

der alle wesentlichen Eigenheiten der drei Ansätze wieder aufgegriffen werden.<br />

Ausweichen e<strong>in</strong>es H<strong>in</strong>dernisses<br />

Trifft e<strong>in</strong>e Formation auf e<strong>in</strong> H<strong>in</strong>dernis, das den geplanten Weg versperrt, so muss e<strong>in</strong>e<br />

Ausweichbewegung stattf<strong>in</strong>den (Szenario S1). Es wird hier vere<strong>in</strong>facht betrachtet,<br />

dass die <strong>Roboter</strong> frontal auf solch e<strong>in</strong> H<strong>in</strong>dernis zufahren und es auf e<strong>in</strong>er Seite (der<br />

l<strong>in</strong>ken) umgehen können, ohne dass weitere Objekte die notwendigen Bewegungsschemata<br />

erschweren. In diesem Fall ist nach Erkennen des H<strong>in</strong>dernisses e<strong>in</strong>e angemessene,<br />

alternative Bewegungsfolge anzusetzen, die bis zum Rand des H<strong>in</strong>dernisses e<strong>in</strong>gehalten<br />

werden muss, um danach mit der eigentlichen Bewegung fortfahren zu können. Weil<br />

auch dunkle Welten hier im Fokus stehen, sei angenommen, dass H<strong>in</strong>dernisse erst dann<br />

gesehen werden, wenn sie im günstigen Bereich e<strong>in</strong>es <strong>Roboter</strong>s auftauchen.<br />

Abbildung 4.18 zeigt e<strong>in</strong> solches Szenario <strong>für</strong> die CIRCLE-Strategie mit drei <strong>Roboter</strong>n.<br />

Bei der Vorwärtsbewegung der Formation (Schritt 1) können die <strong>Roboter</strong> je nach dem,


108 4.7 Szenarien <strong>für</strong> den E<strong>in</strong>satz der <strong>Bewegungsstrategien</strong><br />

(1) (1) (1) (2) (2) (2) (3) (3)<br />

(3)<br />

2<br />

2<br />

1<br />

3<br />

1<br />

3<br />

2<br />

2<br />

1<br />

3<br />

2<br />

1<br />

3<br />

2<br />

1<br />

3<br />

1<br />

3<br />

2<br />

(4)<br />

Abbildung 4.18: Umgehen e<strong>in</strong>es H<strong>in</strong>dernisses mit drei <strong>Roboter</strong>n bei CIRCLE: (1) Die Formation<br />

bewegt sich entsprechend der Orientierung e<strong>in</strong>es <strong>Roboter</strong>s, hier R3, vorwärts. (2) Sieht<br />

e<strong>in</strong> <strong>Roboter</strong> e<strong>in</strong> H<strong>in</strong>dernis, dient die Orientierung e<strong>in</strong>es anderen, R1, als Ausweichrichtung der<br />

Formation. (3) Die Formation wiederholt das Heranfahren und Ausweichen, bis das H<strong>in</strong>dernis<br />

1 1<br />

1<br />

umgangen wurde. (4) Jetzt lässt sich die ursprünglich geplante Bewegung fortsetzen.<br />

2<br />

wie die vordersten ihre Verschiebung umsetzen (siehe Kapitel 4.4), nur ger<strong>in</strong>gfügig <strong>in</strong><br />

3 3<br />

3<br />

den zu befahrenden Raum blicken. Spätestens wenn derjenige, dessen Orientierung die<br />

Bewegungsrichtung des Teams bezeichnet (hier R3), e<strong>in</strong> Objekt erkennt, das e<strong>in</strong> weiteres<br />

Voranziehen unmöglich macht, muss das Team se<strong>in</strong>e Richtung umplanen (Abbildung<br />

4.18, Schritt 2). Da auf die Entwicklung expliziter Rotationen <strong>für</strong> CIRCLE verzichtet wurde,<br />

unterliegt dieses Ausweichen E<strong>in</strong>schränkungen; nur die aktuellen Orientierungen der<br />

<strong>Roboter</strong> stehen <strong>für</strong> e<strong>in</strong>en Alternativkurs zur Auswahl, ggf. könnte die Formation zuvor<br />

gespiegelt werden. Für n ≥ 3 <strong>Roboter</strong> existiert aber auf jeden Fall e<strong>in</strong>e mögliche Richtung,<br />

die von der Tendenz her richtig verläuft, denn die Orientierungen benachbarter<br />

<strong>Roboter</strong> unterscheiden sich um weniger als 180◦ . Darüber h<strong>in</strong>aus kommen bei steigender<br />

<strong>Roboter</strong>zahl immer mehr solche Richtungen <strong>in</strong> Frage, was <strong>in</strong>tuitiv gesehen sogar vorteilhaft<br />

ersche<strong>in</strong>t, würde das H<strong>in</strong>dernis komplexere Formen aufweisen. Im Beispiel macht<br />

aber <strong>für</strong> das Umgehen nach l<strong>in</strong>ks nur die Blickrichtung von R1 S<strong>in</strong>n. Dadurch entfernt<br />

sich die Formation nach und nach vom H<strong>in</strong>dernis, so dass zwischenzeitlich wieder die<br />

eigentliche Vorwärtsbewegung (bei größerem n ggf. auch e<strong>in</strong>e ähnliche) aufgenommen<br />

werden muss, um den H<strong>in</strong>dernisrand nicht zu verpassen (Schritt 3). Dieses Verfahren<br />

wiederholt sich, bis der die Richtung vorgebende <strong>Roboter</strong> feststellt, dass die ursprüngliche<br />

Bewegung wieder aufgenommen werden kann (Schritt 4).<br />

CIRCLE bietet also zwar Verhaltensweisen <strong>für</strong> Szenarien wie S1, die Güte der verfolgbaren<br />

Bewegungspfade hängt dabei aber von der Teamgröße ab. Nun könnte e<strong>in</strong>e analoge<br />

Beschreibung <strong>für</strong> die beiden anderen Strategien folgen, welche auf der <strong>in</strong> Kapitel 4.5<br />

vorgestellten 45 ◦ -Rotation beruhen würde: Nachdem die <strong>Roboter</strong> realisiert hätten, dass<br />

die geplante Bewegung zu modifizieren ist, müsste die Rotation zweimal <strong>in</strong> Folge vom<br />

H<strong>in</strong>dernis weg ausgeführt werden, um mit genügend Abstand an diesem entlangfahren<br />

zu können. Die verschiedene Nutzung der gleichen Ausgangsformation bei HALLWAY<br />

und ZIGZAG erlaubt jedoch, e<strong>in</strong> Verfahren <strong>für</strong> S1 zu entwickeln, dass beide komb<strong>in</strong>iert,<br />

<strong>in</strong>dem e<strong>in</strong>e Strategie die Voranbewegung und die andere das Ausweichen regelt. Dies<br />

wird im Folgenden mit ZIGZAG <strong>für</strong> die Geradeaus- und HALLWAY <strong>für</strong> die L<strong>in</strong>ksbewegung<br />

illustriert; e<strong>in</strong>e Vertauschung der beiden ließe sich natürlich ebenso umsetzen.<br />

2<br />

1<br />

3<br />

(4)<br />

2<br />

2<br />

3<br />

2<br />

(4)<br />

2<br />

1<br />

3<br />

(4)<br />

1<br />

3<br />

2<br />

2<br />

2<br />

1<br />

1<br />

3<br />

3<br />

1<br />

3


)<br />

1<br />

(1)<br />

ZIGZAG<br />

(4)<br />

3<br />

4 Explizite Verwendung kooperativer <strong>Bewegungsstrategien</strong> 109<br />

(1)<br />

1<br />

ZIGZAG<br />

3 1<br />

ZIGZAG<br />

2 4 2 4 2 4<br />

ZIGZAG<br />

2<br />

(2)<br />

3<br />

(2)<br />

HALLWAY<br />

1<br />

2<br />

(2)<br />

ZIGZAG ZIGZAG ZIGZAG ZIGZAG ZIGZAG ZIGZAG<br />

HALLWAY<br />

3<br />

1<br />

4<br />

2<br />

HALLWAY<br />

3 1<br />

4 2<br />

(3)<br />

3<br />

4<br />

3<br />

(3)<br />

HALLWAY<br />

4<br />

3<br />

(3)<br />

2<br />

HALLWAY<br />

1<br />

4<br />

(4)<br />

HALLWAY<br />

113<br />

2 4<br />

Abbildung 4.19: Komb<strong>in</strong>ation von ZIGZAG und HALLWAY zum Umgehen e<strong>in</strong>es H<strong>in</strong>dernis-<br />

(4) (4)<br />

ses: ZIGZAG (1) Die ZIGZAG Formation bewegt sich auf Basis der ZIGZAG-Strategie vorwärts. (2) E<strong>in</strong>er der<br />

vorausblickenden <strong>Roboter</strong>, hier R4, sieht e<strong>in</strong> H<strong>in</strong>dernis. Er dreht sich zurück, so dass mittels<br />

HALLWAY e<strong>in</strong>e Ausweichbewegung stattf<strong>in</strong>den kann. (3) Nach e<strong>in</strong>er gewissen Strecke prüft die<br />

4 2 4 2 4<br />

Formation mittels ZIGZAG, ob das H<strong>in</strong>dernis noch im Weg ist, und führt <strong>in</strong> diesem Fall die<br />

Vorwärtsbewegung von HALLWAY fort. (4) Sieht ke<strong>in</strong> vorausblickender <strong>Roboter</strong> bei ZIGZAG<br />

mehr e<strong>in</strong> H<strong>in</strong>dernis, kann die ursprüngliche Kursrichtung wieder aufgenommen werden.<br />

Nähert sich e<strong>in</strong>e Formation mittels ZIGZAG-Strategie e<strong>in</strong>em H<strong>in</strong>dernis (Abbildung 4.19,<br />

Schritt 1), so wird dieses im schlechtesten Fall <strong>in</strong> dem Moment entdeckt, wo der vor<br />

den <strong>Roboter</strong>n liegende Raum erschlossen wird (vgl. Kapitel 4.6). Dies bed<strong>in</strong>gt, dass<br />

die Vorwärtsbewegung abgebrochen werden muss, weshalb sich die vorausblickenden<br />

<strong>Roboter</strong> (<strong>in</strong> Schritt 2 der Abbildung nur R4) zurückdrehen. Anschließend wird e<strong>in</strong>e<br />

senkrecht dazu verlaufende Richtung durch Verwendung der Vorwärtsbewegung von<br />

HALLWAY e<strong>in</strong>geschlagen und über e<strong>in</strong>e gewisse Strecke beibehalten (etwa könnte sich<br />

jeder <strong>Roboter</strong> e<strong>in</strong>mal voranbewegen). Der letzte <strong>Roboter</strong> auf Seite des H<strong>in</strong>dernisses<br />

startet dann erneut die Vorwärtsbewegung von ZIGZAG; wurde das H<strong>in</strong>dernis noch<br />

nicht überwunden (Abbildung 4.19, Schritt 3), verfährt das Team analog zu Schritt 2,<br />

ansonsten kann die ursprüngliche Kursrichtung fortgesetzt werden (Schritt 4).<br />

Offensichtlich kann dieser Ablauf <strong>für</strong> jede <strong>Roboter</strong>anzahl <strong>in</strong> gleicher Weise vollzogen<br />

werden. Es ersche<strong>in</strong>t, als wäre er dem von CIRCLE zum<strong>in</strong>dest bei Szenario S1 überlegen,<br />

da nur wenig ungeeignete Bewegungen ausgeführt werden und somit auch nur wenig zusätzliche<br />

Posenbestimmungen notwendig s<strong>in</strong>d. Nichtsdestotrotz sei darauf h<strong>in</strong>gewiesen,<br />

dass HALLWAY und ZIGZAG wie oben skizziert auch <strong>für</strong> sich alle<strong>in</strong> Lösungen ermöglichen.<br />

Insbesondere bedeutet die Verwendung der jeweils anderen Strategie nicht, dass<br />

Rotationen überflüssig s<strong>in</strong>d, denn e<strong>in</strong>e re<strong>in</strong>e Fortbewegung über die beiden Arten der<br />

Vorwärtsbewegung würde dazu führen, das jegliche zurückzulegende Strecke die Länge<br />

der zugehörigen Manhattan-Distanz hätte.<br />

ZIGZAG<br />

Wechseln der Formation zum Passieren e<strong>in</strong>es schmalen Durchgangs<br />

Vor allem die Breite der Formationen CIRCLE und ZIGZAG kann <strong>für</strong> e<strong>in</strong>e Fortbewegung<br />

<strong>in</strong> realistischen Umgebungen nachteilig se<strong>in</strong>, da sich etwa enge Durchgänge mit den<br />

2 24<br />

31<br />

42


110 4.7 Szenarien <strong>für</strong> den E<strong>in</strong>satz der <strong>Bewegungsstrategien</strong><br />

(1)<br />

(2)<br />

1<br />

1 3 3 5 5<br />

Abbildung 4.20: Formation samt Vorwärtsbewegung zum Passieren schmaler Durchgänge,<br />

hier nach rechts<br />

1<br />

3<br />

<strong>für</strong> sechs <strong>Roboter</strong>: Das Team steht <strong>in</strong> zwei längs ausgerichteten Reihen, <strong>in</strong>nerhalb<br />

denen der Abstand drow zwischen den <strong>Roboter</strong>n besteht. Die <strong>Roboter</strong> e<strong>in</strong>er Reihe blicken<br />

leicht<br />

1<br />

gedreht nach vorne 3 zur anderen Reihe, die der anderen entsprechend<br />

1<br />

3 nach h<strong>in</strong>ten. Jeder<br />

beobachtet also e<strong>in</strong>en gegenüberliegenden<br />

2<br />

4<br />

<strong>Roboter</strong>, weshalb<br />

2<br />

die nach h<strong>in</strong>ten 4 gewandte Reihe<br />

um drow nach vorn versetzt ist. (1) Die vorausblickende Reihe bewegt sich unter Beibehaltung<br />

der Orientierung exakt vorwärts. (2) Die andere Reihe zieht <strong>in</strong> die<br />

2<br />

gleiche Richtung4nach. (1) (2)<br />

1<br />

2<br />

2<br />

3<br />

4<br />

5<br />

2 4 4 6 6<br />

vorgestellten Basisaktionen unter Umständen nicht durchqueren lassen. Aber auch die<br />

von HALLWAY sei <strong>für</strong> die folgenden Betrachtungen als zu groß angenommen. Somit<br />

bedarf es der Möglichkeit e<strong>in</strong>es Formationswechsels (Szenario S2), wo<strong>für</strong> gleich e<strong>in</strong>e<br />

spezielle <strong>Roboter</strong>anordnung skizziert wird. Es sei darauf h<strong>in</strong>gewiesen, dass e<strong>in</strong> Wechsel<br />

der Anordnung sicherlich die aufwändigste, <strong>in</strong> dieser Arbeit behandelte Bewegungsfolge<br />

bezeichnet, besonders weil der S<strong>in</strong>n der vorgestellten Strategien natürlich nicht <strong>in</strong> erster<br />

L<strong>in</strong>ie dar<strong>in</strong> besteht, deren Formation zu ändern. Daher wird eher die Machbarkeit des<br />

Wechsels demonstriert, als dass die Entwicklung optimaler Zugfolgen im Vordergrund<br />

stände. Auch hier wird entsprechend S1 davon ausgegangen, dass die jeweilige Formation<br />

frontal auf den Durchgang zugefahren ist.<br />

Abbildung 4.20 zeigt <strong>in</strong> Schritt 1 die stabile Ausgangsformation zum Passieren schmaler<br />

Durchgänge <strong>für</strong> sechs <strong>Roboter</strong>, deren Bewegungsrichtung dort nach rechts verläuft. Die<br />

<strong>Roboter</strong> stehen <strong>in</strong> zwei Reihen, etwa jeweils im bekannten Abstand drow zue<strong>in</strong>ander<br />

(vgl. Kapitel 4.5). Alle <strong>Roboter</strong> der <strong>in</strong> der Abbildung oberen Reihe blicken schräg <strong>in</strong><br />

e<strong>in</strong>em W<strong>in</strong>kel ξ (hier −20 ◦ ) nach vorne zu jeweils e<strong>in</strong>em der unteren Reihe, weswegen<br />

Letztere um drow nach vorn versetzt ist. Die Orientierungen der <strong>Roboter</strong> der unteren<br />

Reihe unterscheiden sich um möglichst genau 180 ◦ von denen der oberen Reihe, so dass<br />

jeder dieser <strong>Roboter</strong> zum ihn beobachtenden schaut. Je zwei <strong>Roboter</strong> halten sich also<br />

paarweise <strong>in</strong> ihrem günstigen Bereich, wobei der W<strong>in</strong>kel ξ Überlagerungen <strong>in</strong> Kamerabildern<br />

vermeidet. Diese Hilfsformation kann sich nun <strong>in</strong> zwei Schritten vorwärts bewegen,<br />

<strong>in</strong>dem sich erst alle <strong>Roboter</strong> der oberen Reihe unter Beibehaltung der Orientierung<br />

voranbewegen (Abbildung 4.20, Schritt 1) und dann alle der unteren <strong>in</strong> gleicher Weise<br />

nachfolgen (Schritt 2). Diese Bewegungen lassen sich also (wie etwa die von CIRCLE)<br />

6


4 Explizite Verwendung kooperativer <strong>Bewegungsstrategien</strong> 111<br />

als Verschiebungen begreifen; ihre Schrittweite wird so gewählt, dass nie e<strong>in</strong> <strong>Roboter</strong><br />

den günstigen Bereich des ihm gegenüberliegenden verlässt.<br />

Es ist wichtig ist festzustellen, dass die genauen Abstände und W<strong>in</strong>kel der Hilfsformation<br />

an konkrete Ausmaße von <strong>Roboter</strong>n und günstigen Bereichen angepasst werden<br />

müssen, um die Anwendbarkeit des Lokalisierungsverfahrens aus Kapitel 3.2 zu gewährleisten.<br />

Aus diesem Grund sei die Formation hier nur grob umrissen; Abbildung 4.20<br />

verdeutlicht aber, dass mit den bislang stets angenommenen Werten e<strong>in</strong>e wesentlich<br />

schmalere Anordnung als bei den drei vorgestellten Strategien möglich ist. Da<strong>für</strong> würden<br />

etwa Richtungsänderungen der Hilfsformation Schwierigkeiten bereiten. Deutlich<br />

andere Anordnungen <strong>für</strong> das Voranschreiten an engen Stellen s<strong>in</strong>d bei den vorliegenden<br />

Mechanismen zur kooperativen Lokalisierung schwer vorstellbar, wenn die <strong>Roboter</strong><br />

beie<strong>in</strong>ander bleiben und zeitgleich die Breite der Projektionen anderer im Kamerabild<br />

e<strong>in</strong>deutig bestimmen können sollen. Deshalb wird im Folgenden der Wechsel von den<br />

Formationen aus Kapitel 4.4 bis 4.6 zur Hilfsformation exemplarisch beschrieben. Die<br />

Rückrichtung bleibt außen vor, da ke<strong>in</strong>e neuen Erkenntnisse daraus entnehmbar wären.<br />

Zusätzlich wird nur der Fall e<strong>in</strong>er geraden Teamgröße behandelt; <strong>für</strong> ungerade Anzahlen<br />

müsste e<strong>in</strong> <strong>Roboter</strong> der Hilfsformation ganz h<strong>in</strong>ten oder ganz vorn zusätzlich von se<strong>in</strong>em<br />

Reihennachbarn beobachtet werden. Hieraus ergeben sich zwar neue bei Bewegungen<br />

zu beachtende Probleme; diese s<strong>in</strong>d aber zweifelsfrei lösbar und <strong>für</strong> die Beschäftigung<br />

mit e<strong>in</strong>em Formationswechsel eher un<strong>in</strong>teressant.<br />

E<strong>in</strong> Vergleich der sehr verschiedenen Anordnungen der CIRCLE- und der Hilfsformation<br />

erweckt den E<strong>in</strong>druck, dass e<strong>in</strong> Übergang von der e<strong>in</strong>en zur anderen Probleme<br />

bereiten könnte. Jedoch lässt sich zum<strong>in</strong>dest leicht aus der kreisartigen e<strong>in</strong>e paarweise<br />

Beobachtungssituation erzeugen, <strong>in</strong>dem sich jeder zweite <strong>Roboter</strong> umdreht (vgl.<br />

CIRCLE_REFLECT <strong>in</strong> Kapitel 4.4). Dies wird <strong>in</strong> Schritt 1 von Abbildung 4.21 <strong>für</strong> sechs<br />

<strong>Roboter</strong> getan, wobei die sich bewegenden gleichzeitig schon notwendige Drehbewegungen<br />

<strong>in</strong>tegrieren. R1 und R2, die sich direkt vor dem zu durchschreitenden Durchgang<br />

bef<strong>in</strong>den, haben nach Schritt 2 bereits ihre Zielposen erreicht; sie werden das vordere<br />

Ende der Hilfsformation bilden. Alle verbleibenden <strong>Roboter</strong> müssen sich gemäß der zu<br />

erzielenden Anordnung h<strong>in</strong>ter diesen postieren. Die dabei zu beschreitenden Bewegungspfade<br />

s<strong>in</strong>d allerd<strong>in</strong>gs schlecht verallgeme<strong>in</strong>erbar, da sie von der Anzahl zur Verfügung<br />

stehender <strong>Roboter</strong> abhängen. In Schritt 3 bis 5 von Abbildung 4.21 lässt sich zum<strong>in</strong>dest<br />

e<strong>in</strong> pr<strong>in</strong>zipielles Bewegungsschema <strong>für</strong> die sich jeweils paarweise beobachtenden<br />

<strong>Roboter</strong> erkennen: E<strong>in</strong>er der beiden bewegt sich stets voraus, soweit wie es der günstige<br />

Bereich des anderen erlaubt. Der andere bewegt sich danach rückwärts wieder von<br />

diesem weg. Dabei steuern beide stückweise ihre zu erreichende Orientierung an. Alle<br />

weiteren Schritte bleiben hier ohne Abbildung, irgendwann wird die gewünschte Formation<br />

zustande gebracht (Abbildung 4.21, Schritt 6), so dass das <strong>Roboter</strong>-Team vorwärts<br />

durch den Durchgang ziehen kann.<br />

Offensichtlich kann die Pose jedes <strong>Roboter</strong>s aufgrund abwechselnder Bewegungen bei<br />

stetigem Verbleib <strong>in</strong> den günstigen Bereichen stets wieder nach Regel 1 und 2 neu bestimmt<br />

werden. Die Gesamtoperation erfordert jedoch e<strong>in</strong>e große Zahl an Entfernungsmessungen,<br />

die bei steigender Teamgröße wegen des wachsenden Formationsumfangs<br />

von CIRCLE noch stärker zunehmen würde. Sie könnte zwar verr<strong>in</strong>gert werden, wenn<br />

die beiden zuerst fertig positionierten <strong>Roboter</strong> nicht die Spitze, sondern die Mitte der


112 4.7 Szenarien <strong>für</strong> den E<strong>in</strong>satz der <strong>Bewegungsstrategien</strong><br />

(1)<br />

(1)<br />

1<br />

2<br />

1<br />

6<br />

2<br />

2<br />

5<br />

6<br />

3<br />

6<br />

4<br />

5<br />

3<br />

3<br />

4<br />

4<br />

5<br />

(2) (2)<br />

(2)<br />

(3) (3)<br />

(2) 3 3 3 3<br />

(3) (3)<br />

3 3 3 3<br />

1<br />

1<br />

1<br />

1<br />

4<br />

4<br />

6<br />

1<br />

5<br />

5<br />

(4) (5) (5)<br />

(6) (6)<br />

(4) (5)<br />

(5) (6) (6)<br />

1<br />

1<br />

6<br />

6<br />

1<br />

1<br />

5<br />

5<br />

4<br />

4<br />

6<br />

6<br />

2<br />

2<br />

2<br />

32<br />

3<br />

5<br />

5<br />

Abbildung 4.21: Wechsel von der CIRCLE- zur Hilfsformation bei gerader Teamgröße, um den<br />

oberhalb liegenden Durchgang passieren zu können. Erklärungen im Text.<br />

6<br />

6<br />

Hilfsformation repräsentieren würden, dann aber müsste das Team vorher so se<strong>in</strong>en<br />

Standort ändern, dass genügend Platz <strong>in</strong> beide Richtungen vorhanden ist. So oder so<br />

stellt sich an dieser Stelle vielmehr die Frage, ob HALLWAY und ZIGZAG beim Formationswechsel<br />

bessere Ergebnisse hervorbr<strong>in</strong>gen.<br />

Für diese Strategien liegt paarweises Beobachten von vorne here<strong>in</strong> vor; bei geraden<br />

Teamgrößen lässt sich die Ausgangsformation <strong>in</strong> Zweiergruppen gegenüberliegender <strong>Roboter</strong><br />

unterteilen, die sich gegenseitig sehen. Trotz gleicher Ausgangsformation ließe<br />

sich nun wegen unterschiedlicher Richtungen der Vorwärtsbewegung annehmen, dass<br />

verschiedene Verfahren zum Erreichen der Hilfsformation bei diesen Strategien s<strong>in</strong>nvoll<br />

se<strong>in</strong> könnten. Für HALLWAY böte sich e<strong>in</strong> Mechanismus an, der den Korridor (vgl. Kapitel<br />

4.5) sozusagen <strong>in</strong> die Länge zieht und dabei schrittweise die Orientierungen der<br />

<strong>Roboter</strong> h<strong>in</strong> zu denen der Hilfsformation anpasst. Vor allem <strong>für</strong> größere <strong>Roboter</strong>-Teams<br />

würde währenddessen aber e<strong>in</strong> Problem auftreten, nämlich dass die reihenartige Anordnung<br />

beim Umpositionieren Überlagerungen h<strong>in</strong>tere<strong>in</strong>ander bef<strong>in</strong>dlicher <strong>Roboter</strong> im<br />

4<br />

4<br />

5<br />

5<br />

4<br />

4<br />

6<br />

2<br />

2<br />

3<br />

3<br />

(...)<br />

(...)<br />

4<br />

5<br />

4<br />

4<br />

5<br />

5<br />

(...)<br />

(...)<br />

1<br />

1<br />

1<br />

1<br />

4<br />

4<br />

6<br />

6<br />

6<br />

6<br />

2<br />

2<br />

2<br />

2<br />

1<br />

1<br />

6<br />

6<br />

3 1<br />

3 1<br />

5 4<br />

5 4<br />

6<br />

6<br />

4<br />

4<br />

5<br />

5<br />

3<br />

3<br />

4<br />

4


4 Explizite Verwendung kooperativer <strong>Bewegungsstrategien</strong> 113<br />

(1) (1) (2) (2) (3)<br />

(3)<br />

1 13 3 35<br />

5 5<br />

1<br />

1 1<br />

13 3 35<br />

5 5<br />

2<br />

2<br />

2 2<br />

4<br />

24<br />

4<br />

3<br />

3 3<br />

23<br />

3<br />

3 2 3<br />

64<br />

6<br />

3<br />

3<br />

46<br />

6 6 2<br />

24<br />

4 46<br />

6 6<br />

2<br />

24<br />

4<br />

35<br />

5<br />

53<br />

5<br />

6<br />

5<br />

5<br />

5<br />

4<br />

3<br />

64<br />

6<br />

6<br />

35<br />

5<br />

6<br />

5<br />

5<br />

(...) (...) (...)<br />

1<br />

3<br />

1<br />

35<br />

5<br />

46<br />

6<br />

4 4<br />

4<br />

6<br />

4 6<br />

6<br />

6<br />

(4)<br />

(4)<br />

(4)<br />

(4)<br />

(5) (5) (5)<br />

(5)<br />

(5)<br />

(4)<br />

(4)<br />

(6) (6) (6)<br />

1<br />

1 1<br />

1<br />

1<br />

1<br />

1 1<br />

1<br />

1<br />

1<br />

1 1<br />

1<br />

1<br />

4<br />

5<br />

5<br />

2<br />

23<br />

3 3 2<br />

23<br />

3 3<br />

2 2 3 2 3 3<br />

2 2 3 2 3 3<br />

4<br />

4<br />

4<br />

6<br />

4<br />

6<br />

5<br />

5<br />

4<br />

6<br />

4<br />

6<br />

54<br />

5<br />

Abbildung 4.22: Wechsel von der HALLWAY-/ZIGZAG- zur Hilfsformation bei gerader Teamgröße,<br />

um den oberhalb liegenden Durchgang passieren zu können. Erklärungen im Text.<br />

Kamerabild e<strong>in</strong>es lokalisierenden <strong>Roboter</strong>s hervorruft. Deshalb wird hier nur betrachtet,<br />

wie sich die Formation umbauen lässt, wenn sie mit e<strong>in</strong>er Reihe voran den Durchgang erreicht<br />

hat. Dies br<strong>in</strong>gt bezüglich Szenario S2 Vorteile <strong>für</strong> die ZIGZAG-Strategie mit sich;<br />

aus dem Beispiel der Komb<strong>in</strong>ation von HALLWAY und ZIGZAG bei S1 lässt sich aber<br />

ersehen, dass genauso Situationen denkbar s<strong>in</strong>d, <strong>in</strong> denen die HALLWAY-Formation an<br />

e<strong>in</strong>em H<strong>in</strong>dernis entlanggeht, bevor sie zu e<strong>in</strong>em Durchgang kommt, so dass dort auch<br />

bei HALLWAY ke<strong>in</strong>e vorangehende 90 ◦ -Drehung erforderlich wäre.<br />

Abbildung 4.22 zeigt nun, wie beispielsweise sechs <strong>Roboter</strong> e<strong>in</strong>en Formationswechsel<br />

durchführen könnten: Im ersten Schritt dreht sich jeder <strong>Roboter</strong> der h<strong>in</strong>teren Reihe um<br />

ξ und positioniert sich am Rand des Sichtbereichs vom gegenüberliegenden, wobei e<strong>in</strong>er<br />

der sich bewegenden <strong>Roboter</strong> (hier R2) dadurch schon fertig ist. Während der <strong>Roboter</strong><br />

vor dem Durchgang (R1) daraufh<strong>in</strong> auch se<strong>in</strong>e Zielpose e<strong>in</strong>nehmen kann, ziehen die<br />

verbleibenden der vordere Reihe (R3 und R5) <strong>in</strong>nerhalb der günstigen Bereiche der<br />

h<strong>in</strong>teren nahest möglich an diese heran (Abbildung 4.22, Schritt 2) und drehen sich<br />

ebenfalls um ξ. Somit haben bereits alle <strong>Roboter</strong> an diesem Punkt die gewünschte<br />

Orientierung, so dass sich <strong>in</strong> den folgenden Schritten jede Zweiergruppe ähnlich wie<br />

6<br />

5<br />

6<br />

5


114 4.7 Szenarien <strong>für</strong> den E<strong>in</strong>satz der <strong>Bewegungsstrategien</strong><br />

bei CIRCLE weiterbewegen kann, um die Zielpositionen anzusteuern. Nach Schritt 5 <strong>in</strong><br />

Abbildung 4.22 s<strong>in</strong>d etwa auch R3 und R4 fertig. Nur noch R5 und R6 müssen ihre<br />

Bewegung nach gleichem Schema fortführen, was nicht mehr abgebildet ist.<br />

Auch <strong>für</strong> HALLWAY und ZIGZAG s<strong>in</strong>d folglich viele Messungen im Verlauf des Formationswechsels<br />

notwendig, jedoch verläuft die Gesamtbewegung wesentlich strukturierter<br />

als bei CIRCLE. E<strong>in</strong> allgeme<strong>in</strong>er Pseudocode <strong>für</strong> e<strong>in</strong>e beliebige (gerade) <strong>Roboter</strong>anzahl<br />

wäre hier im Bedarfsfall formulierbar. Außerdem weist die Ausgangsformation von<br />

HALLWAY und ZIGZAG e<strong>in</strong>e engere Anordnung der <strong>Roboter</strong> als CIRCLE auf, weswegen<br />

zum<strong>in</strong>dest ger<strong>in</strong>gfügig kürzere Gesamtsstrecken zurückzulegen s<strong>in</strong>d (auch hier wäre nebenbei<br />

e<strong>in</strong>e Verbesserung bei ausreichend Platz möglich, wenn nicht äußere <strong>Roboter</strong> zu<br />

den vorderen der Hilfsformation werden würden). Dennoch muss geschlossen werden,<br />

dass e<strong>in</strong> Formationswechsel bei allen drei <strong>Bewegungsstrategien</strong> mit deutlichen E<strong>in</strong>bußen<br />

<strong>in</strong> der Genauigkeit des Posenwissens e<strong>in</strong>hergeht. Ob sich dies durch Benutzung e<strong>in</strong>er anderen<br />

Hilfsformation wesentlich ändern ließe, bleibt zwar e<strong>in</strong> offenes Problem, ersche<strong>in</strong>t<br />

aber mit Begründung siehe oben eher unwahrsche<strong>in</strong>lich.<br />

Kompensieren des Ausfalls e<strong>in</strong>es sich bewegenden <strong>Roboter</strong>s<br />

Sei zuletzt Szenario S3 angeschaut, bei dem es um die Wiederherstellung der stabilen<br />

Ausgangsformation nach Verlust e<strong>in</strong>es <strong>Roboter</strong>s geht. Hierbei lassen pr<strong>in</strong>zipielle Probleme<br />

unterscheiden; e<strong>in</strong> <strong>Roboter</strong> könnte etwa während des Bestehens der Ausgangsformation<br />

ausfallen oder zu e<strong>in</strong>em Zeitpunkt, an dem er bis zum nächsten Erreichen dieser<br />

Formation ke<strong>in</strong>e Aufgaben mehr auszuführen hat. Schwieriger wirkt <strong>in</strong>tuitiv noch die<br />

Situation, <strong>in</strong> der e<strong>in</strong> <strong>Roboter</strong> bei der Umpositionierung kaputt geht oder <strong>in</strong> der er <strong>für</strong><br />

die Neubestimmung e<strong>in</strong>es sich bewegenden verantwortlich ist. Je nach Notwendigkeit<br />

werden gleich <strong>für</strong> diese Situationen Beispiele untersucht. Um die Ause<strong>in</strong>andersetzungen<br />

im Rahmen zu halten, sei gegeben, dass e<strong>in</strong> Ausfall von den anderen <strong>Roboter</strong>n (direkt)<br />

bemerkt wird. Außerdem wird jeweils nur der Verlust e<strong>in</strong>es <strong>Roboter</strong>s analysiert.<br />

Angenommen nun, e<strong>in</strong> <strong>Roboter</strong> der HALLWAY-Formation fällt während der Vorwärtsbewegung<br />

aus. Dann führt dies im schlechten Fall dazu, dass er anderen die Sicht auf<br />

die jeweils gegenüberliegenden <strong>Roboter</strong> versperrt, wie Abbildung 4.23 (l<strong>in</strong>ks) <strong>in</strong> der oberen<br />

Hälfte exemplarisch darstellt. Da nur die <strong>Roboter</strong> am Rand der Ausgangsformation<br />

Bewegungen ausführen, bleibt stets der sich nicht bewegende Anteil stabil (vgl. Kapitel<br />

4.5). Weiter gibt es schon bei Teamgrößen n ≥ 3 leicht ersichtlich nie die Möglichkeit,<br />

dass beide <strong>in</strong> Frage kommenden Zielpositionen e<strong>in</strong>er Vorwärtsbewegung durch den defekten<br />

<strong>Roboter</strong> verdeckt werden. Daher können die verbleibenden <strong>Roboter</strong> e<strong>in</strong>fach am<br />

defekten vorbeiziehen, bis die stabile Ausgangsformation neben ihm wieder aufgebaut<br />

wurde. In Abbildung 4.23 (l<strong>in</strong>ks) gehen da<strong>für</strong> nache<strong>in</strong>ander R2, R3 und R4 nach rechts,<br />

so dass die <strong>in</strong> der unteren Hälfte illustrierte Anordnung folgt. Lediglich R3 muss ggf.<br />

e<strong>in</strong>en komplizierteren Pfad zurücklegen, um R1 auszuweichen, ansonsten f<strong>in</strong>den sich bei<br />

HALLWAY diesbetreffend ke<strong>in</strong>e Schwierigkeiten. Offensichtlich lassen sich die weiteren<br />

genannten Situationen als simplere Spezialfälle der beschriebenen begreifen und werden<br />

aus diesem Grund hier ausgelassen. Auch e<strong>in</strong>e Rotation der HALLWAY-Formation (und<br />

somit auch der von ZIGZAG) br<strong>in</strong>gt ke<strong>in</strong>e weiteren Gefahrenstellen hervor, denn auch<br />

dort lässt sich der gleiche Mechanismus anwenden.


4 Explizite Verwendung kooperativer <strong>Bewegungsstrategien</strong> 115<br />

3<br />

(1)<br />

1<br />

2 4<br />

1<br />

5<br />

5<br />

(2)<br />

(3)<br />

3<br />

2 4<br />

3<br />

2 4<br />

2<br />

3<br />

4<br />

2<br />

3<br />

4<br />

Abbildung 4.23: Kompensierung e<strong>in</strong>es <strong>Roboter</strong>verlusts: (l<strong>in</strong>ks) Die HALLWAY-Formation<br />

rückt am <strong>in</strong> der Bewegung ausgefallenen <strong>Roboter</strong>, hier R1, vorbei, bis er ihnen nicht mehr<br />

die Sicht versperrt. (Mitte) Ist e<strong>in</strong> beobachtender <strong>Roboter</strong>, R2, der h<strong>in</strong>teren Reihe bei ZIGZAG<br />

defekt, nimmt e<strong>in</strong> äußerer <strong>Roboter</strong> der vorderen Reihe, R4, e<strong>in</strong>e Position <strong>in</strong> der h<strong>in</strong>teren e<strong>in</strong>.<br />

(rechts) Fällt e<strong>in</strong> voranziehender <strong>Roboter</strong>, R2, der ZIGZAG-Formation <strong>in</strong> Schritt 3 aus, wird er<br />

durch den zuvor aus der h<strong>in</strong>teren <strong>in</strong> die vordere Reihe gewechselten <strong>Roboter</strong>, R1, ersetzt.<br />

Die Vorwärtsbewegung von ZIGZAG weist h<strong>in</strong>gegen komplexere Abläufe auf (vgl. Kapitel<br />

4.6). E<strong>in</strong> Ausfall <strong>in</strong> Schritt 1 ließe sich analog wie bei HALLWAY behandeln und<br />

e<strong>in</strong> Versagen während der Drehungen <strong>in</strong> Schritt 2 und 4 bliebe vorerst folgenlos, da die<br />

betreffenden <strong>Roboter</strong> ohneh<strong>in</strong> mangels Orientierung ke<strong>in</strong>e Lokalisierung durchführen<br />

können. Interessant wirkt dort aber der Verlust e<strong>in</strong>es <strong>Roboter</strong>s, der e<strong>in</strong>en sich drehenden<br />

beobachten sollte. Abbildung 4.23 (Mitte) illustriert solch e<strong>in</strong>en Umstand: R4 hat<br />

bereits se<strong>in</strong> Posenwissen verloren, als R2 ausfällt, und ke<strong>in</strong> anderer kann die Position<br />

von R4 schätzen. E<strong>in</strong>e mögliche Lösung liefern die e<strong>in</strong>gezeichneten Bewegungspfade: die<br />

geplante Teambewegung wird abgebrochen, <strong>in</strong>dem sich der zuvor nach vorn gezogene<br />

<strong>Roboter</strong> R1 umdreht und zusammen mit R3 nach Regel 1 und 2 se<strong>in</strong>e Pose schätzt.<br />

Jetzt verlässt R4 die vordere Reihe, um die Größen der Reihen wieder auszugleichen<br />

und so nach entsprechender Regelanwendung e<strong>in</strong>e stabile Ausgangsformation herzustellen.<br />

Wie eben bei HALLWAY sollte danach noch e<strong>in</strong>e Bewegung von R5 folgen, um sich<br />

von R2 zu entfernen, worauf <strong>in</strong> der Abbildung verzichtet wurde. Verme<strong>in</strong>tlich mag an<br />

dieser Stelle problematisch ersche<strong>in</strong>en, dass e<strong>in</strong> beobachtender <strong>Roboter</strong> bei der Drehung<br />

e<strong>in</strong>es <strong>Roboter</strong>s <strong>in</strong>mitten e<strong>in</strong>er Reihe ausfällt. Dann aber existieren stets zwei, die den<br />

drehenden sehen, weshalb sich leicht Auswege f<strong>in</strong>den ließen.<br />

(2)<br />

4<br />

5<br />

1<br />

5<br />

1<br />

(1)<br />

2<br />

2<br />

4<br />

5<br />

1<br />

4<br />

5<br />

1<br />

3<br />

1<br />

3


116 4.7 Szenarien <strong>für</strong> den E<strong>in</strong>satz der <strong>Bewegungsstrategien</strong><br />

Schritt 3 der ZIGZAG-Vorwärtsbewegung benötigt ke<strong>in</strong>e Untersuchung beobachtender<br />

<strong>Roboter</strong>, da die voranziehenden ihre Pose eigenständig herausf<strong>in</strong>den und sich daraufh<strong>in</strong><br />

<strong>für</strong> weitere Posenschätzungen zu Rate ziehen lassen. Verendet jedoch e<strong>in</strong>er dieser <strong>Roboter</strong><br />

selbst auf dem Weg von der h<strong>in</strong>teren Reihe an der vorderen vorbei, fehlt er <strong>für</strong><br />

anstehende Berechnungen, so wie R2 <strong>in</strong> Abbildung 4.23 (rechts). Sobald die anderen ihre<br />

Voranbewegung abgeschlossen haben, kann aber e<strong>in</strong> <strong>Roboter</strong>, der <strong>in</strong> der neuen h<strong>in</strong>teren<br />

Reihe ganz außen steht (hier R1), Abhilfe leisten, denn er wird bis zur nächsten Basisaktion<br />

sonst nicht mehr benötigt. Folglich kann er den Platz des ausgefallenen ersatzweise<br />

e<strong>in</strong>nehmen ohne den Wiederaufbau der stabilen Ausgangsformation zu gefährden. Auch<br />

ZIGZAG sche<strong>in</strong>t also robust gegenüber <strong>Roboter</strong>ausfällen zu se<strong>in</strong>; aufwändigere Problemstellen<br />

ließen sich im Rahmen dieser Arbeit nicht f<strong>in</strong>den.<br />

HALLWAY und ZIGZAG ist geme<strong>in</strong>, dass Abhängigkeiten bei der kooperativen Lokalisierung<br />

fast nur paarweise bestehen. Anders verhält es sich bei CIRCLE, wo e<strong>in</strong> <strong>Roboter</strong>ausfall<br />

die Anpassung der gesamten Formation bed<strong>in</strong>gt: E<strong>in</strong>erseits ist ∆θ um den<br />

Wert ε∆θ = 360◦<br />

n−1<br />

− 360◦<br />

n zu modifizieren, um den Kreis aufrechtzuerhalten. Anderer-<br />

seits müssen die <strong>Roboter</strong> näher ane<strong>in</strong>ander rücken, da bei s<strong>in</strong>kender Teilnehmerzahl wie<br />

demonstriert auch der Umfang der Formation kle<strong>in</strong>er wird (vgl. Kapitel 4.4). Sei nun<br />

angenommen, e<strong>in</strong> <strong>Roboter</strong> Rk fällt aus. Dann liegt es e<strong>in</strong>zig nahe, die Zuständigkeiten<br />

so zu erneuern, dass Rk−1 fortan Rk+1 beobachtet. Da<strong>für</strong> müsste schrittweise die<br />

Orientierung jedes <strong>Roboter</strong>s Ri <strong>in</strong> deren gegebenen Reihenfolge um (i − 1) · ε∆θ geändert<br />

werden, damit als Resultat die paarweise gewünschte Differenz | 360◦<br />

n−1 | zwischen den<br />

Orientierungen benachbarter <strong>Roboter</strong> erreicht wird. Mit der Vergrößerung von ∆θ geht<br />

allerd<strong>in</strong>gs die Verkle<strong>in</strong>erung des Formationsumfangs schon e<strong>in</strong>her. E<strong>in</strong>e Umsetzung des<br />

Vorhabens gestaltet sich deshalb schwierig, da <strong>für</strong> Posenbestimmungen bei CIRCLE wie<br />

demonstriert e<strong>in</strong> stetiger Verbleib <strong>in</strong> den günstigen Bereichen notwendig ist, was die<br />

Bewegungsfreiheit deutlich e<strong>in</strong>schränkt. Zusätzlich gilt es auch zu bedenken, dass sich<br />

der defekte <strong>Roboter</strong> Rk ggf. direkt zwischen Rk−1 und Rk+1 aufhält und daher <strong>in</strong> den<br />

Kamerabildern von Rk−1 und Rk−2 Überlagerungen hervorrufen kann.<br />

Abbildung 4.24 zeigt <strong>in</strong> zwei Beispielen die Konsequenzen dieser Problematik: Die Formation<br />

müsste so ausweichen, dass sich R8 h<strong>in</strong>terher weder zwischen R7 und R1 noch<br />

aus Sicht von R6 h<strong>in</strong>ter R7 bef<strong>in</strong>det. Es ergeben sich Zielpositionen, welche ke<strong>in</strong>e Bewegungsabfolge<br />

ermöglichen, die dem Lokalisierungskonzept genügt, <strong>für</strong> jede Teamgröße<br />

machbar ist und bei der ohne diverse Zwischenschritte die gewünschten Orte angesteuert<br />

werden können: Unabhängig davon, welcher <strong>Roboter</strong> sich wann bewegt, käme es zu<br />

e<strong>in</strong>er Umpositionierung, bei der e<strong>in</strong> <strong>Roboter</strong> nicht im günstigen Bereich se<strong>in</strong>es e<strong>in</strong>en<br />

Nachbarns verweilen und zeitgleich se<strong>in</strong>en anderen Nachbarn im eigenen günstigen Bereich<br />

behalten könnte. Diese Behauptung ließe sich vermutlich über Betrachtungen der<br />

Ausmaße günstiger Bereiche und der nötigen Posenänderungen nachweisen, was hier<br />

aber nicht geschehe, da der da<strong>für</strong> erforderliche Umfang nicht im Verhältnis zum Ertrag<br />

stände: Zweifelsohne wäre nämlich e<strong>in</strong> <strong>in</strong> viele Teilschritte aufgesplitteter Ablauf zum<br />

Wiedererhalt der stabilen Ausgangsformation umsetzbar, wie er ähnlich <strong>für</strong> den Formationswechsel<br />

skizziert wurde. Hier bleibt festzustellen, dass ke<strong>in</strong> vernünftiger Ansatz<br />

<strong>für</strong> die Kompensierung e<strong>in</strong>es <strong>Roboter</strong>ausfalls bei der Strategie CIRCLE gefunden wurde.<br />

Daher sei trotz nur exemplarischer Betrachtungen geschlossen, dass CIRCLE bei S3<br />

deutliche Defizite gegenüber HALLWAY und ZIGZAG aufweist.


4 Explizite Verwendung kooperativer <strong>Bewegungsstrategien</strong> 117<br />

7<br />

8<br />

7<br />

1<br />

1 2<br />

6<br />

6<br />

2<br />

5<br />

5<br />

3<br />

3<br />

4<br />

4<br />

7<br />

8<br />

1 2<br />

Abbildung 4.24: Fällt e<strong>in</strong> <strong>Roboter</strong> von CIRCLE aus (wie hier R8), muss bei Anpassung der<br />

Formation neben ihrer Verkle<strong>in</strong>erung darauf geachtet werden, dass R8 nicht zu Überlagerungen<br />

<strong>in</strong> Kamerabildern führt. Zwei denkbare Nachfolgesituationen s<strong>in</strong>d hier durch die geplanten<br />

Zielpositionen abgebildet; beide verstärken die Vermutung, dass e<strong>in</strong>fache Bewegungsschemata<br />

zum Erreichen e<strong>in</strong>er neuen stabilen Ausgangsformation nicht generell möglich s<strong>in</strong>d.<br />

4.8 Diskussion der vorgestellten Ansätze<br />

Es sei schon zu Anfang betont, dass natürlich ke<strong>in</strong>erlei Beweis da<strong>für</strong> existiert, dass<br />

nicht bessere als die drei vorgestellten Verfahren <strong>für</strong> die kooperative Fortbewegung e<strong>in</strong>es<br />

<strong>Roboter</strong>-Teams auf Grundlage der <strong>in</strong> Kapitel 3 besprochenen Verfahren möglich s<strong>in</strong>d;<br />

sicherlich könnten zum<strong>in</strong>dest <strong>in</strong> Teilen Erfolg versprechendere Strategien entwickelt werden.<br />

Optimalität stand allerd<strong>in</strong>gs auch nicht im Vordergrund der Betrachtungen. Vielmehr<br />

sollten grundsätzliche Herangehensweisen an die Nutzung der Lokalisierung aus<br />

e<strong>in</strong>zelnen Kamerabildern entwickelt werden. Nichtsdestotrotz liefern die vorangestellten<br />

Analysen genügend Anhaltspunkte, um die S<strong>in</strong>nhaftigkeit des im Rahmen dieser Arbeit<br />

verfolgten Ansatzes zur kooperativen Lokalisierung abschließend diskutieren zu können.<br />

Dies wird unten geschehen, sobald die drei vorliegenden <strong>Bewegungsstrategien</strong> zu diesem<br />

Zwecke mite<strong>in</strong>ander verglichen worden s<strong>in</strong>d.<br />

Vergleich der Eigenschaften von CIRCLE, HALLWAY und ZIGZAG<br />

Für alle drei <strong>Bewegungsstrategien</strong> wurde gezeigt, das sich ihre stabile Ausgangsformation<br />

nach Durchführung e<strong>in</strong>er Basisaktion oder komplexerer Bewegungsabläufe wieder<br />

herstellen lässt (Kriterium F1 aus Kapitel 4.1). ZIGZAG benötigt an mehreren Stellen<br />

drei Teammitglieder. CIRCLE und HALLWAY funktionieren zwar partiell schon <strong>für</strong><br />

Teamgrößen n ≥ 2, die Rotation setzt aber ebenfalls e<strong>in</strong>en dritten <strong>Roboter</strong> voraus,<br />

wenn sie nicht nur schrittweise (wie <strong>in</strong> Kapitel 4.1 skizziert) verlaufen soll. Es kann<br />

also geschlossen werden, dass e<strong>in</strong>e m<strong>in</strong>imale Formationsgröße von drei <strong>Roboter</strong>n stets<br />

angemessen ist. Nur die CIRCLE-Strategie hat e<strong>in</strong>e obere Schranke <strong>für</strong> die Teamgröße,<br />

die vom Bildw<strong>in</strong>kel der Kamera und dem <strong>Roboter</strong>radius abhängt. Sie weist bezüglich F2<br />

6<br />

7<br />

6<br />

5<br />

1<br />

5<br />

4<br />

23<br />

4<br />

3


118 4.8 Diskussion der vorgestellten Ansätze<br />

folglich Schwächen gegenüber den anderen auf. Spiegeln (A3) und Umdrehen (A4) stellt<br />

<strong>für</strong> ke<strong>in</strong>e der Formationen e<strong>in</strong> Problem dar. HALLWAY und ZIGZAG erlauben spezielle<br />

Drehungen, die jedoch mit nicht ger<strong>in</strong>gem Platzaufwand verbunden s<strong>in</strong>d. Lediglich zwei<br />

Bewegungsrichtungen liegen der zugehörigen Ausgangsformation <strong>in</strong>ne. CIRCLE schneidet<br />

h<strong>in</strong>sichtlich Kriterium A2 besser ab; n Richtungen <strong>für</strong> die Vorwärtsbewegung s<strong>in</strong>d<br />

stets vorhanden. Das vorige Kapitel hat außerdem Anhaltspunkte <strong>für</strong> die Rotation von<br />

CIRCLE um kle<strong>in</strong>ere W<strong>in</strong>kel ζ gegeben: Jeder <strong>Roboter</strong> müsste sich gleichmäßig im günstigen<br />

Bereich des ihn beobachtenden um ζ drehen und se<strong>in</strong>e Position anpassen, so dass<br />

sich die Gesamtformation anschließend genau um diesen W<strong>in</strong>kel gedreht hätte. So oder<br />

so muss dennoch ausgesagt werden, dass effiziente Drehungen e<strong>in</strong>er Formation um beliebige<br />

W<strong>in</strong>kel allgeme<strong>in</strong> schwierig umzusetzen s<strong>in</strong>d.<br />

Der Schwerpunkt lag nun bei der Erarbeitung der Ansätze auf deren Vorwärtsbewegung<br />

(A1), die <strong>in</strong>sbesondere auf das globale Ziel bestmöglicher Lokalisierung h<strong>in</strong> analysiert<br />

wurde. Jeweils war das Qualitätsmaß dabei nicht unbed<strong>in</strong>gt absehbar unabhängig von<br />

der Teamgröße. QCIRCLE wirkte hierbei unterlegen, die Abschätzung von QZIGZAG schien<br />

(unter Annahme ihrer Angemessenheit) <strong>für</strong> normale Bildw<strong>in</strong>kel vergleichbar mit dem<br />

Quotienten QHALLWAY zu se<strong>in</strong>. E<strong>in</strong>e Fallstudie wird jetzt weitere Aufschlüsse geben:<br />

Beispiel: Seien der Sichtw<strong>in</strong>kel ηG = 43, 4 ◦ und die Entfernung ˜ dsupp ≈ 2, 116 m der<br />

Abweichungsgrenze gegeben, wie <strong>in</strong> Beispielen aus Kapitel 3. Die <strong>in</strong> der Verhältnis-<br />

gleichung von dspace und drow (siehe Kapitel 4.5) auftretenden Werte εspace und<br />

εrow seien außerdem gleich dem halben <strong>Roboter</strong>radius r<br />

2 = 0, 125 m, um e<strong>in</strong>en<br />

gewissen Spielraum <strong>für</strong> Positionierungen zu gewähren. Dann folgt:<br />

drow ≈ cos 43,4◦ dspace ≈<br />

<br />

2 · 2, 116 m − 0, 125 m<br />

2 · tan<br />

≈ 1, 845 m<br />

43,4◦ <br />

2 · 1, 845 m − 0, 125 m ≈ 1, 343 m<br />

Mit den Werten s(gR) ≈ 2, 51 und yVG<br />

≈ 0, 676 m (siehe Kapitel 3.5) resultiert<br />

d ′ P mit ebenfalls εP = 0, 125 m aus der Berechnungsvorschrift <strong>in</strong> Kapitel 4.4:<br />

d ′ P ≈<br />

q<br />

2,51· 1+ 1<br />

2,512 q<br />

2,51· 1+ 1 · (2, 116 m − 0, 676 m) − 0, 125 m ≈ 0, 265 m<br />

2,512 +1+2,512<br />

Es werde die optimistische Annahme λ = 1 gemacht. Somit gilt:<br />

QZIGZAG ≈<br />

QHALLWAY ≈<br />

QCIRCLE ≈<br />

3<br />

1,845 m<br />

2<br />

1,245 m<br />

1<br />

0,265 m<br />

≈ 1, 63/m<br />

≈ 1, 49/m<br />

≈ 3, 77/m<br />

Bei der Bewegung über HALLWAY kommt <strong>für</strong> jede Posenschätzung e<strong>in</strong>es <strong>Roboter</strong>s<br />

also im Durchschnitt 1, 49 mal pro Meter e<strong>in</strong>e Messung h<strong>in</strong>zu, bei ZIGZAG schon<br />

1, 63 mal und bei CIRCLE ganze 3, 77 mal. Obwohl die Genauigkeit von Regel 3<br />

durch λ = 1 also als genauso gut wie die von Regel 1 angenommen wurde, ist die<br />

HALLWAY-Stragie hier offensichtlich bereits besser.<br />

Wäre nun etwa λ = 1, 5, so läge der Wert QZIGZAG ≈ 1, 9 schon spürbar höher als<br />

der von ZIGZAG. Mehr noch verstärkt unter Beibehaltung von ˜ dsupp e<strong>in</strong>e Erhöhung


4 Explizite Verwendung kooperativer <strong>Bewegungsstrategien</strong> 119<br />

des Sichtw<strong>in</strong>kels um beispielsweise 10 ◦ die Dom<strong>in</strong>anz von HALLWAY, denn dann<br />

ergäbe sich QHALLWAY ≈ 1, 15/m, wie sich leicht nachrechnen lässt. Es sei zu<br />

beachten, dass ˜ dsupp nur die Größe der Werte, nicht deren Verhältnis bee<strong>in</strong>flusst.<br />

Das Qualitätsmaß Q alle<strong>in</strong>e reicht jedoch nicht aus, um auf den Nutzen der jeweiligen<br />

Strategie schließen zu können. Die Szenarien aus Kapitel 4.7 haben wenig qualitative<br />

Unterschiede der Güte zwischen HALLWAY und ZIGZAG hervorgebracht, zum<strong>in</strong>dest <strong>für</strong><br />

grundlegende Anforderungen sche<strong>in</strong>en beide die notwendige Variabilität und Robustheit<br />

mitzubr<strong>in</strong>gen. CIRCLE aber konnte auch dort mit den anderen nicht mithalten, was<br />

unter Anderem auf die mangelnde Flexibilität der zugrunde liegenden Formation zurückgeht.<br />

Auch andere der weitergehenden Ziele aus Kapitel 4.1 lassen CIRCLE schlecht<br />

aussehen; die re<strong>in</strong> sequentielle Vorwärtsbewegung verlangsamt die Fortbewegung, das<br />

gegenseitige Beh<strong>in</strong>dern beim Sehen der umliegenden Umgebung steht h<strong>in</strong>gegen e<strong>in</strong>er<br />

vernünftigen Kartenerstellung entgegen. So muss der zunächst nahe liegende Gedanke,<br />

<strong>Roboter</strong> permanent <strong>in</strong> e<strong>in</strong> und demselben günstigen Bereich zu belassen, im Nachh<strong>in</strong>e<strong>in</strong><br />

zum<strong>in</strong>dest auf Basis der erarbeiteten Ergebnisse verworfen werden.<br />

Den zuletzt genannten Punkten werden HALLWAY und ZIGZAG <strong>in</strong> verschiedenem Maße<br />

gerecht: Das Erschließen der zu betretenden Umgebung gehört direkt zum Konzept<br />

der ZIGZAG-Strategie und so ließe sich die Beschaffenheit nahe gelegener Objekte ohne<br />

Störung den Kamerabildern entnehmen. Auch Wissen über den neben der ZIGZAG-<br />

Formation liegenden Raum könnten sich die drehenden <strong>Roboter</strong> aneignen. In diesem<br />

Punkt behauptet sich ZIGZAG besser als HALLWAY, denn bei Letzterer wird vornehmlich<br />

nur gesehen, was sich <strong>in</strong> Bewegungsrichtung bef<strong>in</strong>det; l<strong>in</strong>ks und rechts erschweren die<br />

<strong>Roboter</strong>reihen bei dieser Aufgabe ähnlich CIRCLE die Sicht.<br />

Die Parallelisierung der Vorwärtsbewegung von ZIGZAG hat weiter nicht den Ansche<strong>in</strong><br />

erweckt, nachteilhaft zu se<strong>in</strong>. Hierbei lässt sich wie angesprochen allerd<strong>in</strong>gs vermuten,<br />

dass auch HALLWAY <strong>für</strong> größere <strong>Roboter</strong>anzahlen <strong>in</strong> der Praxis überzeugen könnte.<br />

Allgeme<strong>in</strong> wirkt vor allem aber die e<strong>in</strong>fache Struktur dieser Bewegungsstrategie <strong>in</strong> realistischen<br />

Umgebungen robuster als die von ZIGZAG: Trotz besserem Quotienten Q (im<br />

Vergleich zu ZIGZAG) verlassen die <strong>Roboter</strong> bei HALLWAY fast nie den beobachteten<br />

Bereich und wenn, dann sehen sie zum<strong>in</strong>dest selbst die anderen <strong>Roboter</strong>. Darüber h<strong>in</strong>aus<br />

wird nach jedem e<strong>in</strong>zelnen Bewegungsabschluss das geschätzte Wissen über alle<br />

Posen gewährleistbar zurückerhalten. Mit diesen Eigenschaften kann ZIGZAG ke<strong>in</strong>eswegs<br />

konkurrieren, im Gegenteil: das beschriebene Verfahren zum Vorausblicken <strong>in</strong> den<br />

freien Raum (vgl. Kapitel 4.5) verletzt im Grunde die Voraussetzung, dass nur der vorgestellte<br />

Lokalisierungsmechanismus verwendet werden soll, da ansonsten die geforderte<br />

Beobachtbarkeit der Bewegungspfade e<strong>in</strong>zelner <strong>Roboter</strong> verloren gehen könnte.<br />

Insgesamt lässt sich nach diesen Erkenntnissen HALLWAY als zu bevorzugende Bewegungsstrategie<br />

ansehen: sie verkörpert <strong>für</strong> das gegebene Welt- und <strong>Roboter</strong>modell e<strong>in</strong>e<br />

sichere Variante, sollte <strong>in</strong> der Praxis unter den gegebenen Strategien die besten Lokalisierungsergebnisse<br />

erzielen und vermeidet zusätzlich die Nutzung der hier nicht h<strong>in</strong>reichend<br />

analysierten Regel 3. Zu dieser Regel sei noch angefügt, dass ke<strong>in</strong>e Algorithmen<br />

gefunden wurden, <strong>in</strong> denen ihr E<strong>in</strong>satz Vorteile br<strong>in</strong>gt. Solche Verfahren müssten <strong>für</strong><br />

weitere Beschäftigungen mit Regel 3 aber vorliegen, da sie ger<strong>in</strong>gere Genauigkeiten<br />

hervorzubr<strong>in</strong>gen sche<strong>in</strong>t als die Posenbestimmung über Regel 1 und 2.


120 4.8 Diskussion der vorgestellten Ansätze<br />

Tauglichkeit der <strong>Bewegungsstrategien</strong> <strong>in</strong> den behandelten Umgebungen<br />

Für die HALLWAY-Strategie wurde eben exemplarisch QHALLWAY ≈ 1, 49/m berechnet.<br />

Durchschnittlich etwa anderthalb mal pro zurückgelegtem Meter verschlechtert sich danach<br />

bei der Vorwärtsbewegung also die Genauigkeit der Posenschätzung e<strong>in</strong>es <strong>Roboter</strong>s<br />

maximal entsprechend der gewählten Abweichungsgrenze, die implizit aus Kapitel 3.5<br />

hervorgehend als ε = 1 cm gegeben war. Es sei vorerst davon ausgegangen, dass die<br />

im Laufe dieser Arbeit über die Welt und die Fähigkeiten der <strong>Roboter</strong> gemachten Annahmen<br />

korrekt s<strong>in</strong>d. In diesem Fall folgt aus Kapitel 4.3, dass der durchschnittliche<br />

Fehler der Posenschätzung e<strong>in</strong>es <strong>Roboter</strong>s nach e<strong>in</strong>er zurückgelegten Strecke d maximal<br />

1,5<br />

100 · d betragen kann; bewegt sich e<strong>in</strong> Team also beispielsweise 100 m, so können<br />

die geschätzten Posen der <strong>Roboter</strong> im Mittel nicht mehr als 1, 5 m abweichen. Dieses<br />

Maß an Unsicherheit übersteigt zwar die Testergebnisse der <strong>in</strong> Kapitel 2.2 angeführten<br />

Arbeiten, fällt aber unter die gleiche Größenordnung. Darüber h<strong>in</strong>aus bezeichnet es<br />

wohlgemerkt den worst case; mit den Begründungen aus Kapitel 4.3 s<strong>in</strong>d <strong>in</strong> der Regel<br />

deutlich ger<strong>in</strong>gere Fehler zu erwarten (vgl. auch Kapitel 5). Daher lässt sich bereits<br />

an dieser Stelle schlussfolgern, dass das vorgestellte Lokalisierungskonzept m<strong>in</strong>destens<br />

<strong>in</strong> der Theorie <strong>in</strong> <strong>unbekannten</strong>, merkmalsarmen Umgebungen, die viele Verfahren der<br />

s<strong>in</strong>gle-robot localization erschweren oder gar unmöglich machen, e<strong>in</strong>e taugliche Alternative<br />

zu den bestehenden Ansätzen <strong>für</strong> <strong>Roboter</strong>-Teams repräsentiert. Es sei dazu noch<br />

e<strong>in</strong>mal darauf h<strong>in</strong>gewiesen, dass neben den geschilderten Vere<strong>in</strong>fachungen überwiegend<br />

realistische Umstände zugrunde lagen (vgl. Kapitel 2.3).<br />

E<strong>in</strong>e sicher aufkommende Frage ist, <strong>in</strong>wiefern die Vorgabe, sich nur entsprechend möglichen<br />

Bewegungsschemata e<strong>in</strong>er konkreten Strategie bewegen zu können (die sich natürlich<br />

um viele weitere Aktionen erweitern ließe), den Nutzen der hier beschriebenen<br />

Umsetzung von Kooperation verm<strong>in</strong>dert. Die <strong>in</strong> diesem Kapitel erarbeiteten Konzepte<br />

s<strong>in</strong>d restriktiver als die <strong>in</strong> Kurazume & Hirose 2000a und Rekleitis et al. 1997,<br />

gehen demnach mehr <strong>in</strong> die Richtung von Navarro-Serment et al. 1999 (vgl. jeweils<br />

Kapitel 2.2). Auf der e<strong>in</strong>en Seite stehen e<strong>in</strong>zuhaltende Pfade der Autonomie der<br />

<strong>Roboter</strong> entgegen oder gar deren Aufgabenerfüllung, wenn sie anderen Zielen widersprechen.<br />

Zusätzlich kann sich der Platzaufwand aufrechtzuerhaltender Formationen <strong>in</strong><br />

realistischen Umgebungen als Problem herausstellen. Auf der anderen Seite bleiben bei<br />

Nicht-Vorhandense<strong>in</strong> identifizierbarer Umgebungsmerkmale kaum Alternativen zu relativen<br />

Lokalisierungsverfahren, weswegen die Möglichkeit des E<strong>in</strong>satzes vernünftiger<br />

Konzepte wie dem von HALLWAY bedacht werden sollte. Auch wenn sich die stetige<br />

Zunahme der Ungenauigkeit <strong>in</strong> den Posenschätzungen nicht vermeiden lässt, stellen die<br />

Strategien <strong>für</strong> <strong>Roboter</strong>-Teams also wegen ihrer universellen E<strong>in</strong>satzbarkeit stets e<strong>in</strong>en<br />

Ausweg dar, wenn globale Lokalisierungsverfahren permanent nicht nutzbar s<strong>in</strong>d, und<br />

könnten sicherlich dort m<strong>in</strong>destens zur Überbrückung dienen, wo vorübergehend e<strong>in</strong>e<br />

ausreichende Analyse der Umgebung nicht möglich ist.<br />

Daher wird im folgenden Kapitel die E<strong>in</strong>bettung der kooperativen Posenschätzung anhand<br />

e<strong>in</strong>zelner Kamerabilder <strong>in</strong> bestehende Ansätze behandelt, ehe die gesamten Ause<strong>in</strong>andersetzungen<br />

dann bezüglich ihrer Bedeutung wie auch der durch die Annahmen<br />

gegebenen E<strong>in</strong>schränkungen zur Debatte stehen.


Kapitel 5<br />

E<strong>in</strong>bettung <strong>in</strong> bestehende Konzepte<br />

Dieses letzte <strong>in</strong>haltliche Kapitel bespricht die pr<strong>in</strong>zipielle E<strong>in</strong>bettbarkeit des vorliegenden<br />

Lokalisierungsverfahrens und der darauf aufbauenden kooperativen <strong>Bewegungsstrategien</strong><br />

<strong>in</strong> wichtige der <strong>in</strong> Kapitel 2 vorgestellten Konzepte, mit denen e<strong>in</strong>e tiefergehende<br />

Beschäftigung den Umfang dieser Arbeit überstiegen hätte.<br />

Neben dem Gebrauch probabilistischer Ansätze zur Schätzung von Posen geht es dabei<br />

darum, <strong>in</strong>wiefern e<strong>in</strong>e Komb<strong>in</strong>ation mit Mechanismen zur absoluten Lokalisierung realistisch<br />

ersche<strong>in</strong>t und welche Arten der Kartenerstellung die drei beschriebenen Ansätze<br />

<strong>für</strong> kooperative Bewegungsabläufe vernünftig erlauben. Dadurch kann bei der Diskussion<br />

der erarbeiteten Ergebnisse im abschließenden Kapitel 6 der Fokus auf den direkt<br />

bei den vorgestellten Verfahren aufgetretenen, offenen Problemen und gemachten Annahmen<br />

sowie auf ihrem Nutzen und ihren Grenzen liegen.<br />

Fehlermodellierung durch e<strong>in</strong>en probabilistischen Ansatz<br />

Die <strong>in</strong> Kapitel 4.3 e<strong>in</strong>geführte Berechnung akkumulierender Fehler bezog sich nur auf<br />

den schlechtest möglichen Fall, der bei der fortdauernden Schätzung e<strong>in</strong>er Pose auftreten<br />

kann. Innerhalb des verwendeten, vere<strong>in</strong>fachten Modells beschreibt e<strong>in</strong>e stetig gleichverteilte<br />

Zufallsvariable die Abweichung e<strong>in</strong>er e<strong>in</strong>zelnen Messung mit Radius ε um die<br />

berechnete Position herum. Dies führt bei aufe<strong>in</strong>ander folgenden Messungen zu unterschiedlichen<br />

Wahrsche<strong>in</strong>lichkeiten <strong>für</strong> verschiedene Gesamtabweichungen. Es stellt sich<br />

die Frage, ob diese durch e<strong>in</strong>en probabilistischen Ansatz zum Umgang mit unsicherem<br />

Wissen wiedergegeben werden können. Zwar s<strong>in</strong>d wegen der re<strong>in</strong> relativen Lokalisierung<br />

erst e<strong>in</strong>mal ke<strong>in</strong>e Verbesserungen des Posenwissens zu erwarten, jedoch könnte die<br />

Verwendung solcher Ansätze bei e<strong>in</strong>em etwaigen Zusammenspiel mit anderen Lokalisierungsverfahren<br />

an Bedeutung gew<strong>in</strong>nen. Die <strong>in</strong> Kapitel 2.1 besprochenen Eigenschaften<br />

zeigen deutlich auf, dass, wenn überhaupt, speziell e<strong>in</strong>er der Ansätze im vorliegenden<br />

Kontext angemessen ersche<strong>in</strong>t:<br />

Markov-Lokalisierung erwartet e<strong>in</strong> Modell der Umgebung, was aber nicht zur Verfügung<br />

steht. Darüber h<strong>in</strong>aus geht es bei ML hauptsächlich um die globale Standortbestimmung<br />

e<strong>in</strong>es <strong>Roboter</strong>s. Dieser Bereich der Lokalisierung steht aber nicht zur Debatte,<br />

da sich alle<strong>in</strong> auf Basis der erarbeiteten Vorgehensweisen ke<strong>in</strong> Wissen über den absoluten<br />

Standort e<strong>in</strong>es Teams <strong>in</strong>nerhalb der Weltkoord<strong>in</strong>aten herleiten lässt. Entsprechend


122<br />

ε<br />

ε<br />

Gewichtung<br />

Abbildung 5.1: Unsicherheit nach zwei Messungen im günstigen Bereich: Im worst case liegt<br />

die Abweichung auf e<strong>in</strong>em Kreis mit Radius 2 · ε um die vermutete Position herum. Gewichtung<br />

entsprechend der Gleichverteilung e<strong>in</strong>er Messung führt zu e<strong>in</strong>er rotationssymmetrischen Verteilung,<br />

deren zugehörige Wahrsche<strong>in</strong>lichkeiten von <strong>in</strong>nen nach außen monoton fallen. Es sei zu<br />

beachten, dass die Darstellung der Verteilung nur skizziert wurde.<br />

macht die Aufrechterhaltung mehrerer Hypothesen beim position track<strong>in</strong>g ke<strong>in</strong>en S<strong>in</strong>n;<br />

nur die relative Änderung der <strong>Roboter</strong>posen ausgehend von ihren Startpunkten muss<br />

verfolgt werden. Damit gehen auch die Vorteile der Monte-Carlo-Lokalisierung gegenüber<br />

Kalman-Filtern h<strong>in</strong>sichtlich der Robustheit verloren, weshalb nur Letztere wirklich<br />

von Interesse se<strong>in</strong> könnten, da sie die höchste Effizienz bieten. Zwar wird entgegen<br />

den Pr<strong>in</strong>zipien vom KF im vorliegenden Lokalisierungskonzept nur die Art von Sensor<br />

benutzt, deren Daten <strong>in</strong> den Bereich der observations fällt. Dennoch eignen sich zum<strong>in</strong>dest<br />

die grundlegenden Mechanismen des klassischen Kalman-Filters <strong>für</strong> die zugehörige<br />

Posenschätzung, da der KF auf Gauß’schen Normalverteilungen beruht, was, wie im<br />

Folgenden skizziert, die gegebenen Abweichungen s<strong>in</strong>nvoll annähern könnte.<br />

Abbildung 5.1 illustriert exemplarisch die Möglichkeiten der Position e<strong>in</strong>es <strong>Roboter</strong>s<br />

nach zwei Messungen im Rahmen günstiger Bereiche: Nach dem vere<strong>in</strong>fachten Modell<br />

aus Kapitel 4.3 wird davon ausgegangen, dass e<strong>in</strong>e vermutete Position <strong>in</strong> alle Richtungen<br />

gleichermaßen mit dem gewählten maximalen Fehler ε behaftet se<strong>in</strong> kann. Damit liegt<br />

die maximale Abweichung der zweiten Messung auf e<strong>in</strong>em Kreis mit Radius 2 · ε um<br />

die vermutete Position herum. Wird aber jede aus der ersten Messung hervorgehende,<br />

<strong>in</strong> Frage kommende Position als gleichwahrsche<strong>in</strong>lich angesehen, so differiert nach der<br />

zweiten die Wahrsche<strong>in</strong>lichkeit verschiedener Positionen je nach Lage: E<strong>in</strong>ige Positionen<br />

im Kreis mit Radius 2 · ε s<strong>in</strong>d nach der ersten Schätzung von vielen der möglichen<br />

Standorte aus denkbar, andere nur von wenigen.<br />

E<strong>in</strong>e e<strong>in</strong>zelne Messung hat nun offensichtlich e<strong>in</strong>e rotationssymmetrische Dichte; damit<br />

gilt Selbiges aber auch <strong>für</strong> jegliche Anzahl n an Messungen, wie sich über Induktion nach<br />

n beweisen ließe: <strong>in</strong>tuitiv gesprochen passt e<strong>in</strong>e h<strong>in</strong>zukommende Messung die Verteilung<br />

<strong>in</strong> jede Richtung vom Kreiszentrum aus identisch an. Die Wahrsche<strong>in</strong>lichkeit nimmt<br />

dabei radial um das Zentrum des Kreises herum monoton ab; dies resultiert <strong>in</strong> e<strong>in</strong>er<br />

Dimension aus dem zentralen Grenzwertsatz (vgl. Patel & Read 1982, S. 136 f.),<br />

angewendet auf die gleichverteilte Zufallsgröße der Abweichung; <strong>für</strong> das Intervall [−ε, ε]<br />

ε<br />

ε


5 E<strong>in</strong>bettung <strong>in</strong> bestehende Konzepte 123<br />

ergibt sich bei stetiger Gleichverteilung e<strong>in</strong>er Messung folgender Erwartungswert µ und<br />

dessen Standardabweichung σµ:<br />

µ =<br />

−ε + ε<br />

2<br />

= 0 , σµ =<br />

(ε − (−ε) 2<br />

12<br />

= ε<br />

√ 3<br />

Erwartungswert und Standardabweichung s<strong>in</strong>d endlich, außerdem ist jede Messung von<br />

den anderen unabhängig. Somit konvergiert die Summe von n solcher Zufallsvariablen<br />

<strong>für</strong> n → ∞ demnach gegen die Normalverteilung. Da diese Argumentation sich auf<br />

jede Richtung anwenden lässt, folgt die monotone Abnahme aus der bekannten Kurve<br />

der Normalverteilung. Bei e<strong>in</strong>er Positionsschätzung <strong>in</strong> zwei Dimensionen liegt allerd<strong>in</strong>gs<br />

ke<strong>in</strong>e bivariate Normalverteilung (vgl. Patel & Read 1982, S. 288 f.) vor, da die <strong>in</strong><br />

jede Richtung mögliche, maximale Abweichung ε nicht zu stochastisch unabhängigen<br />

Komponenten x und y führt (etwa kann die Abweichung nicht gleichzeitig <strong>in</strong> x- und<br />

y-Richtung ε betragen). Rotationssymmetrie und das Verhalten im Unendlichen deuten<br />

nichtsdestotrotz darauf h<strong>in</strong>, dass die Schätzung sich durch solch e<strong>in</strong>e Verteilung mit<br />

passenden Parametern angemessen annähern lässt.<br />

Über die Pose jedes <strong>Roboter</strong>s e<strong>in</strong>es Teams müsste also e<strong>in</strong>e zugehörige Wahrsche<strong>in</strong>lichkeitsdichte<br />

aufrechterhalten werden, was der KF ermöglicht (vgl. Kapitel 2.1). Darüber<br />

h<strong>in</strong>aus könnten auf diese Weise gespeicherte Posenschätzungen problemlos per Funk<br />

an andere übertragen werden: „the mean and covariance matrix suffice to describe the<br />

entire density“ (Dellaert et. al 1999, S. 1323). Letztlich würde aber <strong>für</strong> die relative<br />

Lokalisierung die generelle Annahme e<strong>in</strong>er zweidimensionalen Gaußverteilung mit<br />

Mittelpunkt auf der vermuteten Position schon ausreichen. Somit macht auch der KF<br />

mehr, als <strong>für</strong> das behandelte Fehlermodell notwendig wäre. Dennoch bleibt festzuhalten,<br />

dass sich die Posenschätzungen <strong>in</strong> e<strong>in</strong>en solchen Filter <strong>in</strong>tegrieren ließen. Dies kann<br />

nützlich se<strong>in</strong>, wenn die Lokalisierung anhand e<strong>in</strong>zelner Kamerabilder <strong>in</strong> Komb<strong>in</strong>ation<br />

mit anderen Verfahren e<strong>in</strong>gesetzt wird.<br />

Zusätzliche Nutzung absoluter Lokalisierungsverfahren<br />

Obwohl sich alle bisherigen Untersuchungen auf den E<strong>in</strong>satz <strong>in</strong> <strong>unbekannten</strong>, merkmalsarmen<br />

Umgebungen bezogen, lässt sich annehmen, dass die vorgestellten <strong>Bewegungsstrategien</strong><br />

zur Unterstützung absoluter Lokalisierungstechniken verwendet werden<br />

können. Die Komb<strong>in</strong>ation relativer und absoluter Lokalisierung wird natürlich bereits<br />

<strong>in</strong> e<strong>in</strong>igen Arbeiten umgesetzt, so etwa im gegen Ende von Kapitel 2.2 angesprochenen<br />

Paper Hidaka et al. 2005. Im vorliegenden Fall eignet sich die beschriebene<br />

Kooperation diesbezüglich unterschiedlich gut, je nach dem, um welche Klasse von Lokalisierungsmechanismen<br />

es sich handelt:<br />

Für Algorithmen, wie dem des SIFT-Verfahrens (vgl. Kapitel 2.1), die ohne Vorwissen<br />

eigenständig nur <strong>in</strong> ihrer Konstellation nutzbare Merkmale aus nahe liegenden Objekten<br />

extrahieren, wirken Konzepte abwechselnder Bewegung störend: Die Anwendbarkeit<br />

solcher Algorithmen gründet sich im regelmäßigen Wiedererkennen vieler fester Punkte,<br />

deren Lagen zum <strong>Roboter</strong> zwecks Posenschätzung angepasst werden müssen. Wenn<br />

aber zur relativen Lokalisierung <strong>Roboter</strong> im Blick behalten werden, steht dies über die


124<br />

dadurch gegebene Sichtbeh<strong>in</strong>derung h<strong>in</strong>aus generell der Orientierung anhand von Umgebungsmerkmalen<br />

entgegen. Zusätzlich kann sich die direkte Umgebung e<strong>in</strong>es <strong>Roboter</strong>s,<br />

der temporär stationär bleibt, <strong>in</strong> der Zwischenzeit durch andere, umpositionierte <strong>Roboter</strong><br />

vollkommen ändern. Um etwa das SIFT-Verfahren dann noch ausführen zu können,<br />

müssten gespeicherte Informationen über Merkmale stets an sich bewegende <strong>Roboter</strong><br />

weitergegeben werden, was neben erhöhtem Kommunikationsaufwand die Umrechnung<br />

der Merkmalspositionen <strong>in</strong> das jeweilige egozentrische Koord<strong>in</strong>atensystem erfordern und<br />

damit neue Schwierigkeiten hervorbr<strong>in</strong>gen würde.<br />

Praktikabler könnte <strong>in</strong> diesem Zusammenhang daher die absolute Lokalisierung anhand<br />

von Objekten se<strong>in</strong>, die sich <strong>in</strong> ihrer Gesamtheit auch nach Unterbrechungen erneut identifizieren<br />

lassen. Am Ende von Kapitel 2.1 wurde mit Davidon & Molton 2007 zum<br />

Beispiel e<strong>in</strong> Ansatz beschrieben, bei dem nur wenige, aber aussagekräftige Merkmale<br />

zur Lokalisierung mittels Kamera dienen, und bei dem die Posenschätzung, passend zu<br />

oben, über e<strong>in</strong>en Kalman-Filter stattf<strong>in</strong>det. Unter solchen Gegebenheiten lässt sich e<strong>in</strong>e<br />

Verfe<strong>in</strong>erung bzw. Korrektur der Schätzungen etwa der HALLWAY-Strategie vorstellen,<br />

<strong>in</strong>dem der jeweils nach vorne gezogene <strong>Roboter</strong> beim Sehen e<strong>in</strong>er bekannten Landmarke<br />

se<strong>in</strong>e geschätzte Pose mit deren Position abgleicht. Da<strong>für</strong> müssen natürlich, anders als<br />

<strong>in</strong> Kapitel 4 vorausgesetzt, entsprechend prägnante Objekte existieren.<br />

Besteht darüber h<strong>in</strong>aus auch Wissen über die Koord<strong>in</strong>aten bestimmter Orte, so ergibt<br />

sich e<strong>in</strong> weiteres, allgeme<strong>in</strong> denkbares E<strong>in</strong>satzgebiet kooperativer <strong>Bewegungsstrategien</strong>:<br />

In jedes Lokalisierungsverfahren, dass auf e<strong>in</strong>e Karte der Umgebung oder Ähnliches zugreifen<br />

kann, könnten die entwickelten Strategien <strong>in</strong> der Weise e<strong>in</strong>gebettet werden, dass<br />

manche <strong>Roboter</strong> ihre Pose absolut schätzen, und davon ausgehend die kooperative relative<br />

Lokalisierung nicht etwa bezüglich des Ausgangspunkts, sondern <strong>in</strong> Abhängigkeit<br />

zu den entsprechenden absoluten Koord<strong>in</strong>aten stattf<strong>in</strong>det. Solche Überlegungen sollten<br />

vor allem bei Strategien, die ähnliche Konzepte wie ZIGZAG verfolgen, h<strong>in</strong>reichend<br />

umsetzbar se<strong>in</strong>, da dort ohneh<strong>in</strong> das Betrachten der Umgebung mit der gegenseitigen<br />

Lokalisierung im Wechsel passiert. Bietet sich da<strong>für</strong> sicherlich speziell e<strong>in</strong>e kamerabasierte<br />

und nur unregelmäßige Lokalisierung wie <strong>in</strong> Olson 2000 (vgl. Kapitel 2.1) an,<br />

so müsste allerd<strong>in</strong>gs zusätzlich darauf geachtet werden, dass die Modelle der Aufrechterhaltung<br />

von Posen mite<strong>in</strong>ander vere<strong>in</strong>bar s<strong>in</strong>d.<br />

In Kapitel 2.2 wurde schließlich als e<strong>in</strong>e Herangehensweise an kooperative Lokalisierung<br />

der Austausch von Umgebungs<strong>in</strong>formationen zur Verbesserung des Posenwissens vorgestellt.<br />

Wie vermehrt deutlich wurde, resultiert aus der E<strong>in</strong>haltung von Formationen<br />

zwar, dass <strong>Roboter</strong> ihre Umwelt nicht durchweg und je nach Strategie nicht unbed<strong>in</strong>gt<br />

ausreichend wahrnehmen können; zum<strong>in</strong>dest haben aber jeweils alle daran Teil, die<br />

vom Team bei dessen Fortbewegung e<strong>in</strong>genommene Fläche zu explorieren. Dies führt<br />

zur Betrachtung geme<strong>in</strong>samer Kartenerstellung, um die es nun zuletzt geht, wobei da<strong>für</strong><br />

wieder von <strong>unbekannten</strong>, merkmalsarmen Umgebungen ausgegangen wird.<br />

Kartenerstellung anhand der verfolgten Pfade e<strong>in</strong>es Teams<br />

Der Schwerpunkt <strong>in</strong> Kapitel 4 lag ke<strong>in</strong>eswegs auf dem genauen Kartographieren der<br />

Objekte, auf die e<strong>in</strong> <strong>Roboter</strong>-Team bei der Fortbewegung trifft. In merkmalsarmen Umgebungen<br />

widerspräche dies als vordergründiges Ziel aber auch den Voraussetzungen,


5 E<strong>in</strong>bettung <strong>in</strong> bestehende Konzepte 125<br />

von denen ausgegangen werden kann. Dementsprechend bieten sich merkmalsbasierte<br />

Karten kaum an, da sie womöglich nur ger<strong>in</strong>gfügig mit Informationen gespeist werden<br />

könnten; auch wirken sie deswegen nicht nahe liegend, weil die <strong>Roboter</strong> ihre Umwelt<br />

<strong>in</strong> den besprochenen Strategien zum<strong>in</strong>dest zu Bewegungszwecken als zweidimensional<br />

auffassen. Bei e<strong>in</strong>igen Verfahren der cooperative multi-robot localization taucht weiter<br />

das Problem auf, dass die geme<strong>in</strong>same Kartenerstellung e<strong>in</strong>e Belastung <strong>für</strong> den Kommunikationsaufwand<br />

darstellen kann (vgl. Kapitel 2.2). Um die bisher als solche dargelegte<br />

Machbarkeit der Übermittlung von Nachrichten zur Lokalisierung nicht ad absurdum<br />

zu führen, sollte die Notwendigkeit, größere Datenmengen zu versenden, im vorliegenden<br />

Kontext sicherlich vermieden werden. Natürlich muss trotzdem auf e<strong>in</strong>e bestimmte<br />

Weise e<strong>in</strong> Kennenlernen der Umgebung stattf<strong>in</strong>den, damit zum<strong>in</strong>dest mit der Zeit zielgesteuerte<br />

Pfadplanungen ermöglicht werden. Die drei Ansätze <strong>für</strong> <strong>Bewegungsstrategien</strong><br />

aus dem vorangegangenen Kapitel haben wie besprochen nur bed<strong>in</strong>gt und auch nur <strong>in</strong><br />

Teilen das explizite Betrachten der Umgebung zur Aufgabe gehabt. Vor allem beim Erfolg<br />

versprechendsten Kandidaten, HALLWAY, war vielmehr nur e<strong>in</strong> Sehen der vor dem<br />

Team liegenden Fläche kurz vor deren Betreten wirklich relevant.<br />

Dies alles führt <strong>in</strong> Richtung der occupancy maps (vgl. Kapitel 2.1), die meist <strong>in</strong> gitterbasierter<br />

Form benutzt werden, um mit den Ausmaßen e<strong>in</strong>er Umgebung durch deren<br />

Diskretisierung umgehen zu können. „Each cell of such an occupancy grid map conta<strong>in</strong>s<br />

a numerical value represent<strong>in</strong>g the posterior probability that the correspond<strong>in</strong>g<br />

area <strong>in</strong> the environment is covered by an obstacle.“ (Burgard et al. 2005, S. 377).<br />

Solche Karten repräsentieren also e<strong>in</strong>en sehr grundlegenden Ansatz, die Beschaffenheit<br />

der Umgebung festzuhalten, da letztlich nur begehbare von nicht begehbaren Stellen<br />

unterschieden werden, wozu <strong>in</strong> der Regel stochastische Update-Regeln benutzt werden,<br />

die e<strong>in</strong>e Karte auf Grundlage des aktuellen Wissens e<strong>in</strong>es <strong>Roboter</strong>s anpassen. Da e<strong>in</strong><br />

<strong>Roboter</strong> e<strong>in</strong>en Ort im Moment des Betretens als erreichbar klassifizieren kann (unter<br />

Berücksichtigung se<strong>in</strong>es unsicheren Posenwissens), lassen sie sich pr<strong>in</strong>zipiell zu jeder<br />

Umgebung aufbauen, und werden entsprechend <strong>in</strong> vielen bereits angeführten Arbeiten<br />

verwendet (z.B. Grabowski et al. 2000, Olson 2000). „The advantage of grids is<br />

that they do not rely on predef<strong>in</strong>ed features which need to be extracted from sensor<br />

data. Furthermore, they offer a constant time access to grid cells and provide the ability<br />

to model unknown (unobserved) areas [...]“ (Stachniss 2006, S. 34).<br />

Occupancy grid maps erfordern allerd<strong>in</strong>gs im Allgeme<strong>in</strong>en viel Speicherplatz, selbst<br />

wenn dieser von der Größe der Karte und der e<strong>in</strong>zelner Zellen abhängt. Auch werden<br />

eigentlich die Ausmaße der Karte vorgegeben, was <strong>in</strong> <strong>unbekannten</strong> Umgebungen nicht<br />

unbed<strong>in</strong>gt s<strong>in</strong>nvoll wirkt. Zu beidem lassen sich aber Auswege erarbeiten; beispielsweise<br />

ließe sich überlegen, Quadtrees (vgl. Samet 1990) zur Repräsentation der Karte<br />

e<strong>in</strong>zusetzen, mithilfe derer etwa unbesuchte Regionen ohne Platzverbrauch implizit gespeichert<br />

werden. Dann könnte mit e<strong>in</strong>er Default-Kartengröße begonnen werden, die sich<br />

jederzeit durch Erzeugung e<strong>in</strong>es neuen Wurzelknotens der unterliegenden Baumstruktur<br />

ausweiten ließe. Dies bedürfte im gegebenen Fall aber weiterer Untersuchungen.<br />

E<strong>in</strong> wesentlicher Vorzug dieses Kartentyps resultiert <strong>für</strong> die kooperative Erstellung nun<br />

wieder daraus, dass sie grundsätzlich effiziente Operationen zum Mergen verteilten Wissens<br />

erlauben, da nicht unbed<strong>in</strong>gt komplette Karten, sondern nur geschätzte Daten über<br />

aktuell gesehene Bereiche passend zur Gitterstruktur e<strong>in</strong>gearbeitet werden müssen. Dies


126<br />

Abbildung 5.2: Vier Experimente zur Erstellung von occupancy grid maps durch e<strong>in</strong>en der fünf<br />

<strong>Roboter</strong> e<strong>in</strong>es Teams bei Grabowski et al. 2000 anhand des Wissens aller: Hellere Stellen<br />

bezeichnen als freie Fläche vermutete Bereiche, dunklere werden als H<strong>in</strong>dernisse angenommen.<br />

Zum Vergleich wurden die Wände der Testumgebung mit <strong>in</strong> die Darstellung <strong>in</strong>tegriert.<br />

steht im E<strong>in</strong>klang mit der Ger<strong>in</strong>ghaltung der Kommunikation, <strong>in</strong>sbesondere wenn nur<br />

e<strong>in</strong>er der <strong>Roboter</strong> <strong>für</strong> die Kartenerstellung zuständig ist, was entsprechend der Argumentation<br />

am Ende von Kapitel 4.2 hier geeignet ersche<strong>in</strong>t. Solche Mechanismen wurden<br />

bereits implementiert, etwa im erwähnten Verfahren aus Grabowski et al. 2000<br />

(vgl. Kapitel 2.2), dessen Lokalisierungs- und Bewegungskonzepte denen der vorliegenden<br />

Arbeit ähneln. „Dur<strong>in</strong>g operation, each robot collects <strong>in</strong>formation locally about its<br />

surround<strong>in</strong>gs. This data is transmitted to the team leader where it is used to build a<br />

local map centric to that robot.“ (Grabowski et al. 2000, S. 302). Abbildung 5.2<br />

zeigt dazu exemplarisch Karten aus vier Experimenten.<br />

Es lässt sich also schließen, dass die kooperativen <strong>Bewegungsstrategien</strong> aus Kapitel 4<br />

nicht den Voraussetzungen <strong>für</strong> die geme<strong>in</strong>same Erstellung von occupancy maps widersprechen;<br />

vielmehr ist anzunehmen, dass sich die Repräsentation freier Fläche sogar gut<br />

da<strong>für</strong> eignet, Bewegungsabläufe der platzaufwändigen Formationen besser planen zu<br />

können, was aber hier nicht mehr e<strong>in</strong>gehender untersucht wird. Sicherlich können auch<br />

andere Mechanismen zur kooperativen Modellierung der Umgebung gefunden werden,<br />

die im Zusammenspiel mit den <strong>Bewegungsstrategien</strong> funktionieren. Hier sollte nur exemplarisch<br />

demonstriert werden, dass trotz der vorgegebenen Verfolgung bestimmter Pfade<br />

verbreitete Verfahren zur Kartenerstellung anwendbar s<strong>in</strong>d.


Kapitel 6<br />

Zusammenfassung, Fazit und<br />

Ausblick<br />

Ziel dieser Arbeit war, e<strong>in</strong> kamerabasiertes Lokalisierungsverfahren formal zu entwickeln,<br />

auf dessen Basis die kooperative Posenschätzung e<strong>in</strong>es <strong>Roboter</strong>-Teams <strong>in</strong> e<strong>in</strong>em globalen<br />

Koord<strong>in</strong>atensystem ermöglicht wird, um davon ausgehend Strategien zur geme<strong>in</strong>samen<br />

und koord<strong>in</strong>ierten Fortbewegung von <strong>Roboter</strong>n <strong>in</strong> <strong>unbekannten</strong>, merkmalsarmen Umgebungen<br />

theoretisch aber anschaulich zu erarbeiten (Kapitel 1).<br />

Die Lokalisierung e<strong>in</strong>es <strong>Roboter</strong>s verkörpert e<strong>in</strong> grundlegendes Problem der Robotik:<br />

um sich zielgesteuert bewegen zu können, müssen Position und Orientierung bekannt<br />

se<strong>in</strong>, wo<strong>für</strong> <strong>in</strong> <strong>unbekannten</strong> Umgebungen oft gleichzeitig e<strong>in</strong>e Karte zu erstellen ist.<br />

Zum Umgang mit Ungenauigkeiten werden Posenschätzungen dabei meist durch Wahrsche<strong>in</strong>lichkeitsdichten<br />

repräsentiert. Kameras erweisen sich als relevanter Sensor <strong>für</strong> die<br />

Wahrnehmung der Umwelt, da sie vielfältig auswertbare Daten liefern; über sie erfolgt<br />

die Lokalisierung durch Identifizierung bekannter Objekte oder eigenständiges Klassifizieren<br />

wiedererkennbarer Merkmale (Kapitel 2.1). Vor allem E<strong>in</strong>satzgebiete, über die<br />

ke<strong>in</strong> Vorwissen besteht und die wenig Struktur besitzen, machen bei der Lokalisierung<br />

Schwierigkeiten. Kooperieren die <strong>Roboter</strong> e<strong>in</strong>es Teams, kann das Posenwissen durch<br />

Informationsaustausch über Positionen von Landmarken und <strong>Roboter</strong>n verbessert werden,<br />

was aber die Verarbeitung großer Datenmengen erfordert. E<strong>in</strong>e stets umsetzbare<br />

Alternative ist die re<strong>in</strong> relative Lokalisierung anhand der Teammitglieder, bei der explizit<br />

Bewegungen der jeweils anderen beobachtet werden. Auch können <strong>Roboter</strong> <strong>für</strong><br />

andere als Landmarken fungieren, <strong>in</strong>dem sie vorübergehend stationär bleiben, was zu<br />

den <strong>in</strong> dieser Arbeit behandelten Strategien abwechselnder Bewegung führt, die jedoch<br />

unausweichlich e<strong>in</strong>e monotone Zunahme an Posenunsicherheit implizieren (Kapitel 2.2).<br />

Für die vorliegenden Betrachtungen wurde neben e<strong>in</strong>er flachen Umgebungsoberfläche<br />

angenommen, dass <strong>Roboter</strong>, die ungeh<strong>in</strong>dert vom Standort e<strong>in</strong>er Kamera aus gesehen<br />

werden können, <strong>in</strong> ihrer Projektion korrekt erkennbar s<strong>in</strong>d (Kapitel 2.3).<br />

Güte des entwickelten Lokalisierungsverfahrens<br />

Bei der Analyse digitaler Kamerabilder muss deren Abbildungsoptik passend genutzt<br />

werden, um sowohl relativ nah am Objektiv liegende als auch entferntere Objekte scharf


128<br />

zu projizieren, was dann erlaubt, die Abbildungsgeometrie durch das Lochkameramodell<br />

zu beschreiben. Allerd<strong>in</strong>gs lässt sich die Breite e<strong>in</strong>er Projektion nie exakt bestimmen,<br />

denn es besteht ke<strong>in</strong> Wissen darüber, an welcher Stelle e<strong>in</strong>es Pixels sich ihr Rand genau<br />

bef<strong>in</strong>det. Wird hier<strong>für</strong> stets die Mitte des Pixels vermutet, m<strong>in</strong>imiert dies den maximal<br />

möglichen Unterschied zur realen Projektionsbreite (Kapitel 3.1). Für die Berechnung<br />

der vermuteten Entfernung des Mittelpunkts e<strong>in</strong>es zyl<strong>in</strong>derförmigen <strong>Roboter</strong>s anhand<br />

e<strong>in</strong>es e<strong>in</strong>zelnen Kamerabilds bedarf es der Kenntnis über dessen Radius r. Anhand der<br />

Lage und Breite se<strong>in</strong>er Projektion lassen sich die E<strong>in</strong>fallsw<strong>in</strong>kel derer Randl<strong>in</strong>ien ermitteln,<br />

aus denen zusammen mit r die Entfernung und darauf aufbauend die Koord<strong>in</strong>aten<br />

des Mittelpunkts relativ zum Projektionszentrum der Kamera abgeleitet werden können<br />

(Kapitel 3.2). Es wurde formal gezeigt, dass der maximal mögliche Fehler ∆d e<strong>in</strong>er Entfernungsberechnung<br />

aus der Differenz der resultierenden Entfernungen der maximalen<br />

und vermuteten Projektionsbreite hervorgeht (Kapitel 3.3).<br />

Auf Basis von ∆d lässt sich anschauen, wo sich e<strong>in</strong> <strong>Roboter</strong> vor der Kamera bef<strong>in</strong>den<br />

muss, um ihn vernünftig lokalisieren zu können. Orientierungsabweichungen waren <strong>in</strong> allen<br />

Beispielen nahezu verschw<strong>in</strong>dend ger<strong>in</strong>g (Kapitel 3.4). Die seitlichen Grenzen dieses<br />

Bereichs hängen von r, dem Bildw<strong>in</strong>kel der Kamera und der Breite ihrer Bilder <strong>in</strong> Pixeln<br />

ab. Für sie lassen sich ebenso allgeme<strong>in</strong>e Formeln angeben wie <strong>für</strong> ihren Schnittpunkt,<br />

der die nahest mögliche Position e<strong>in</strong>es lokalisierbaren <strong>Roboter</strong>s bezeichnet. E<strong>in</strong>e genaue<br />

h<strong>in</strong>tere Grenze, bis zu der der Fehler der Entfernungsberechnung e<strong>in</strong>en zu wählenden<br />

Wert ε nicht übersteigt, konnte nicht als Funktion bestimmt werden, jedoch wurde e<strong>in</strong>e<br />

Näherung entwickelt und deren Korrektheit bewiesen. Insgesamt wird so vollständig e<strong>in</strong><br />

günstiger Bereich def<strong>in</strong>iert, <strong>in</strong>nerhalb dem sich e<strong>in</strong>e Berechnung mit maximaler Abweichung<br />

ε unter den gegebenen Voraussetzungen garantieren lässt (Kapitel 3.5).<br />

Es stellt sich die Frage, als wie realitätsnah die erarbeiteten Ergebnisse anzusehen s<strong>in</strong>d.<br />

E<strong>in</strong>e wie hier letztlich als zweidimensional angenommene Oberfläche kann es zwar real<br />

nicht geben; die Bodenunebenheit e<strong>in</strong>er <strong>in</strong>door-Umgebung etwa würde sich aber ab<br />

e<strong>in</strong>er gewissen Radgröße der <strong>Roboter</strong> nicht mehr merkbar auswirken. Zum<strong>in</strong>dest <strong>in</strong> solchen<br />

Fällen lässt sich diese Annahme als gerechtfertigt erachten. Darüber h<strong>in</strong>aus verliert<br />

das Verfahren <strong>in</strong> echten 3D-Umgebungen nicht se<strong>in</strong>e Anwendbarkeit: Da die gesamte<br />

Frontseite e<strong>in</strong>es <strong>Roboter</strong>s dem Kamerabild entnommen werden kann, ließe sich der Unterschied<br />

der vertikalen Ausrichtung zwischen projiziertem und lokalisierendem <strong>Roboter</strong><br />

bestimmen und könnte entsprechend <strong>in</strong> die Berechnungen mite<strong>in</strong>bezogen werden. Allerd<strong>in</strong>gs<br />

g<strong>in</strong>ge dies mit weiteren Ungenauigkeiten e<strong>in</strong>her, welche formal herzuleiten wären;<br />

auch sie entspr<strong>in</strong>gen der begrenzten Pixelauflösung des Kamerabilds.<br />

Die Vermutung, dass die Projektion e<strong>in</strong>es <strong>Roboter</strong>s dessen sichtbare Breite korrekt wiedergibt,<br />

muss zweischneidig beurteilt werden; e<strong>in</strong>erseits wirkt es machbar, e<strong>in</strong>en <strong>Roboter</strong><br />

so zu markieren, dass er sich e<strong>in</strong>deutig vom H<strong>in</strong>tergrund absetzt. Andererseits besteht<br />

im Rahmen dieser Arbeit ke<strong>in</strong> gesichertes Wissen darüber, dass die Optik e<strong>in</strong>er L<strong>in</strong>se<br />

nicht Projektionsfehler bewirken kann, welche Pixelgrenzen überschreiten. Ähnliches<br />

könnten unscharfe Abbildungen <strong>in</strong>sbesondere sehr nahe gelegener <strong>Roboter</strong> hervorrufen,<br />

so dass der günstige Bereich vorne ggf. e<strong>in</strong>zuschränken wäre. Antworten auf die unterliegenden<br />

Fragen dieser Probleme erfordern tiefergehende physikalische Untersuchungen<br />

oder praktische Experimente, was beides hier außen vor geblieben ist.


6 Zusammenfassung, Fazit und Ausblick 129<br />

Dennoch lässt sich <strong>in</strong>sgesamt annehmen, dass mit dem entwickelten Verfahren e<strong>in</strong>e qualitativ<br />

hochwertige Lokalisierung anhand e<strong>in</strong>zelner Kamerabilder ermöglicht wird, mag<br />

deren Güte unter realen Bed<strong>in</strong>gungen auch nicht vollends an die theoretischen Ergebnisse<br />

heranreichen. Verbesserungen wären außerdem denkbar; so ließe sich betrachten, wie<br />

e<strong>in</strong>e gleichzeitige Entfernungsberechnung von zwei Kamerastandorten zur Verr<strong>in</strong>gerung<br />

der Ungenauigkeit beitragen könnte. Ebenso wäre e<strong>in</strong>e Erweiterung der Fehleranalyse<br />

um die Berechnung formaler Grenzen der W<strong>in</strong>kelabweichung s<strong>in</strong>nvoll, was speziell<br />

Nutzen <strong>für</strong> auf dem Verfahren aufbauende <strong>Bewegungsstrategien</strong> br<strong>in</strong>gen würde.<br />

Diskussion der kooperativen Lokalisierung und Bewegung<br />

Als zentrales Ziel der formationsartigen Fortbewegung <strong>in</strong> Teams wurde <strong>für</strong> den vorliegenden<br />

Kontext e<strong>in</strong>e ger<strong>in</strong>ge Posenabweichung der <strong>Roboter</strong> im Verhältnis zur absolut<br />

zurückgelegten Strecke herausgearbeitet. Zum Voranschreiten wichtige Aktionen wurden<br />

da<strong>für</strong> genauso gefordert, wie e<strong>in</strong> wiederkehrender Zustand, <strong>in</strong> dem jeder <strong>Roboter</strong><br />

se<strong>in</strong>e Pose geschätzt kennt (Kapitel 4.1).<br />

E<strong>in</strong>zig auf Grundlage des entwickelten Lokalisierungsverfahrens wurden konstruktiv Mechanismen<br />

zur absoluten Posenschätzung bei koord<strong>in</strong>ierten Bewegungsabläufen aufgezeigt.<br />

Die Orientierung e<strong>in</strong>es <strong>Roboter</strong>s kann dabei nur der <strong>Roboter</strong> selbst ermitteln,<br />

wo<strong>für</strong> er se<strong>in</strong>e Position kennen muss, wenn dies anhand der Projektion e<strong>in</strong>es <strong>Roboter</strong>s<br />

mit vorhandener Positionsschätzung stattf<strong>in</strong>det. Stehen zwei zur Verfügung, lässt sich<br />

die Pose komplett eigenständig berechnen, jedoch ergeben sich daraus Ungenauigkeiten,<br />

<strong>für</strong> die ke<strong>in</strong>e formalen Ergebnisse vorliegen (Kapitel 4.2). Der worst case der Fehlerakkumulation<br />

aufe<strong>in</strong>ander folgender Posenschätzungen wurde unter Vernachlässigung der<br />

Orientierung exemplarisch analysiert. Hieraus ließ sich e<strong>in</strong> Qualitätsmaß Q ableiten,<br />

das die Güte e<strong>in</strong>er Posenschätzung als Verhältnis der zugrunde liegenden Messungen<br />

zur zurückgelegten Strecke angibt (Kapitel 4.3).<br />

Zur Nutzung des Lokalisierungsverfahrens bei der kooperativen Bewegung können pr<strong>in</strong>zipielle<br />

Ansätze se<strong>in</strong>, dass <strong>Roboter</strong> stets <strong>in</strong> e<strong>in</strong>em bestimmten günstigen Bereich oder<br />

dass sie zum<strong>in</strong>dest <strong>in</strong>nerhalb der durch alle Bereiche geme<strong>in</strong>sam abgedeckten Fläche<br />

bleiben. Unter temporärem Verlust des Posenwissens ist auch e<strong>in</strong> zeitweises Verlassen<br />

beobachteter Stellen möglich. Für diese drei Ansätze wurden mit CIRCLE, HALLWAY<br />

und ZIGZAG konkrete Strategien überwiegend <strong>in</strong>formell vorgestellt. Dabei lag der Fokus<br />

auf der Vorwärtsbewegung der entsprechenden Formation, wo<strong>für</strong> jeweils Q berechnet<br />

wurde (Kapitel 4.4 bis 4.6). Neben den <strong>in</strong>härenten Eigenschaften der Strategien ergaben<br />

exemplarische Fallstudien (Kapitel 4.7), dass HALLWAY <strong>für</strong> das vorliegende Modell der<br />

Welt zu bevorzugen ist und sich deren Posenaufrechterhaltung <strong>in</strong> der Theorie mit bestehenden<br />

Verfahren abwechselnder Bewegung messen lässt, ihre festen Bewegungsabläufe<br />

den praktischen Nutzen aber möglicherweise e<strong>in</strong>schränken (Kapitel 4.8).<br />

Zu klären bleibt auch hier, welche Aussagekraft die besprochenen Konzepte beim wirklichen<br />

E<strong>in</strong>satz von <strong>Roboter</strong>-Teams haben. E<strong>in</strong>e weitere Diskussion zur E<strong>in</strong>bettung <strong>in</strong><br />

bestehende Verfahren f<strong>in</strong>det h<strong>in</strong>gegen mit Verweis auf Kapitel 5 nicht statt.<br />

Das vorgestellte Fehlermodell reicht alle<strong>in</strong> nicht aus, um die Qualität der kooperativen<br />

Lokalisierung abschließend zu bewerten: Besonders der Verzicht auf die Betrachtung von


130<br />

Orientierungsabweichungen ersche<strong>in</strong>t problematisch, da ungewollte Drehungen der gesamten<br />

Formation nicht erfasst werden. Jedoch wurde die Komplexität ihrer Integration<br />

<strong>in</strong> die Analyse skizziert; e<strong>in</strong> geeigneter Umgang damit hätte den zeitlichen Rahmen der<br />

Arbeit gesprengt. Obwohl der Orientierungsfehler <strong>in</strong> aller Regel sehr kle<strong>in</strong> gegenüber<br />

dem von Positionen se<strong>in</strong> sollte, bleibt also als offener Punkt e<strong>in</strong>e genauere Untersuchung<br />

der Fehlerakkumulation. Daher kann das e<strong>in</strong>geführte Qualitätsmaß höchstens<br />

unter Vorbehalt als angemessen deklariert werden. Die E<strong>in</strong>schränkung, es nur <strong>für</strong> die<br />

Vorwärtsbewegung e<strong>in</strong>es Teams zu bestimmen, wirkt zwar kritisch, weil dadurch die<br />

Verknüpfung verschiedener Fehler ausgeblendet wird. Dennoch hat das Maß se<strong>in</strong>e Berechtigung;<br />

die Güte der Posenschätzung e<strong>in</strong>es <strong>Roboter</strong>s gründet sich e<strong>in</strong>zig <strong>in</strong> der e<strong>in</strong>es<br />

anderen, folglich gilt der jeweilige Wert zum<strong>in</strong>dest <strong>für</strong> den Zeitraum e<strong>in</strong>er re<strong>in</strong>en Vorwärtsbewegung<br />

(wie gehabt mit Ausnahme von Orientierungsfehlern).<br />

Nur ausschnittsweise wurden ferner die verfolgbaren Pfade e<strong>in</strong>es Teams behandelt. Vor<br />

allem das Voranschreiten <strong>in</strong> bereits explorierten Regionen könnte besser gestaltet werden;<br />

alle drei entwickelten Strategien würden etwa das E<strong>in</strong>bauen ger<strong>in</strong>gfügiger Rotationen<br />

<strong>in</strong> die Vorwärtsbewegung zulassen, was die Wichtigkeit Letzterer hervorhebt. Die<br />

Strategien selbst repräsentieren gleichfalls nur grundlegende Ansätze zur Beschreibung,<br />

was mit dem gegebenen Lokalisierungsverfahren angewandt auf das schwierige Problem,<br />

dass sich weder Identität noch Orientierung e<strong>in</strong>es <strong>Roboter</strong>s von außen erkennen lassen,<br />

<strong>in</strong> <strong>unbekannten</strong>, merkmalsarmen Umgebungen möglich ist (entsprechend oberflächlich<br />

fiel die Beschäftigung mit Szenarien aus). Auch wurden Bewegungskonzepte untersucht,<br />

die ke<strong>in</strong>en Platz <strong>in</strong> dieser Arbeit gefunden haben, weil sich Probleme verschiedener Art<br />

ergaben. Zum Beispiel lässt sich die pro Messung zurückgelegte Strecke von CIRCLE <strong>für</strong><br />

bestimmte Teamgrößen stark erhöhen, was aber dem geforderten Kriterium F2 entgegengestanden<br />

hätte. Ausgefeiltere Konzepte wären natürlich trotzdem wünschenswert,<br />

ebenso wie zusätzliche formale Analysen.<br />

Weitere offene Probleme existieren; so wäre der Umgang mit e<strong>in</strong>er fehlenden Vollständigkeit<br />

der Kommunikation zu prüfen, obgleich die schrittweise Fortbewegung nicht<br />

annehmen lässt, dass <strong>Roboter</strong> bei Nicht-Erhalt e<strong>in</strong>zelner Nachrichten unwiderruflich<br />

vom Kurs abkommen, weshalb synchronisierte Prozesse sicher Lösungsansätze liefern<br />

würden. Dies liegt jedoch, wie auch andere Fragestellungen der Robotik, fernab des<br />

Schwerpunkts der Betrachtungen und sei daher hier nicht genauer erarbeitet.<br />

Alles <strong>in</strong> allem ist festzuhalten, dass h<strong>in</strong>reichend untermauert wurde, dass sich mit der<br />

Lokalisierung anhand e<strong>in</strong>zelner Kamerabilder kooperative Fortbewegung umsetzen lässt,<br />

was das Hauptziel dieser Arbeit widerspiegelt. Das unterliegende Konzept günstiger<br />

Bereiche, deren Spektrum an Möglichkeiten <strong>in</strong> anschaulicher Weise relativ umfassend<br />

aufgezeigt wurde, hält dabei die These aufrecht, dass entsprechende Verfahren trotz der<br />

nur ungenauen Bewegungs- und Lokalisierungsmöglichkeiten realer <strong>Roboter</strong> e<strong>in</strong>setzbar<br />

s<strong>in</strong>d. Viel mehr kann diesbezüglich von e<strong>in</strong>em theoretischen Standpunkt im gegebenen<br />

Rahmen nicht geleistet werden. Denn letztlich können nur Experimente Gewissheit darüber<br />

br<strong>in</strong>gen, ob sich die theoretischen Annahmen <strong>in</strong> der Praxis als haltbar erweisen.<br />

E<strong>in</strong>e softwarebasierte Simulation kann hier zum<strong>in</strong>dest e<strong>in</strong> erster Anknüpfpunkt se<strong>in</strong>:<br />

„computer hardware is cheap enough that what cannot be performed with real robots<br />

can now be done <strong>in</strong> simulation; though the robotics community still strongly encourages<br />

validation of results on real robots“ (Panait & Luke 2005, S. 411).


Literaturverzeichnis<br />

[Angel 2005] E. Angel (2005): Interactive Computer Graphics: A Top-Down Approach<br />

us<strong>in</strong>g OpenGL (4th Edition). Addison-Wesley Longman Publish<strong>in</strong>g Co.,<br />

Inc., Boston, MA, USA.<br />

[Bennewitz et al. 2006] M. Bennewitz, C. Stachniss, W. Burgard & S. Behnke<br />

(2006): Metric Localization with Scale-Invariant Visual Features us<strong>in</strong>g a S<strong>in</strong>gle Perspective<br />

Camera. In: European Robotics Symposium 2006, 22, S. 143–157. Spr<strong>in</strong>ger,<br />

Berl<strong>in</strong>, Heidelberg.<br />

[Betke & Gurvits 1997] M. Betke & L. Gurvits (1997): Mobile robot localization<br />

us<strong>in</strong>g landmarks. IEEE Transactions on Robotics and Automation, 13 : S. 135–142.<br />

[Burgard et al. 2005] W. Burgard, M. Moors, C. Stachniss & F. Schneider<br />

(2005): Coord<strong>in</strong>ated Multi-Robot Exploration. IEEE Transactions on Robotics<br />

and Automation, 21 (3): S. 376–387.<br />

[Chaimowicz et al. 2004] L. Chaimowicz, V. Kumar & M. F. M. Campos (2004):<br />

A Paradigm for Dynamic Coord<strong>in</strong>ation of Multiple Robots. Auton. Robots, 17 (1):<br />

S. 7–21.<br />

[Davison 2003] A. J. Davison (2003): Real-Time Simultaneous Localisation and<br />

Mapp<strong>in</strong>g with a S<strong>in</strong>gle Camera. In: ICCV ’03: Proceed<strong>in</strong>gs of the N<strong>in</strong>th IEEE<br />

International Conference on Computer Vision, S. 1403–1412. IEEE Computer Society,<br />

Wash<strong>in</strong>gton, DC, USA.<br />

[Davison & Molton 2007] A. J. Davison & N. D. Molton (2007): MonoSLAM:<br />

Real-Time S<strong>in</strong>gle Camera SLAM. IEEE Trans. Pattern Anal. Mach. Intell., 29 (6):<br />

S. 1052–1067.<br />

[Delipetkos 2002] E. Delipetkos (2002): E<strong>in</strong> probabilistischer Ansatz zur Lokalisierung<br />

mobiler <strong>Roboter</strong>.<br />

URL: http://www.tu-chemnitz.de/etit/proaut/paperdb/download/delipetkos02.pdf,<br />

Abruf: 4. Januar 2009.<br />

[Dellaert et al. 1999] F. Dellaert, D. Fox, W. Burgard & S. Thrun (1999): Monte<br />

Carlo Localization for Mobile Robots. In: IEEE International Conference on<br />

Robotics and Automation, S. 1322–1328.


132<br />

[DeSouza & Kak 2002] G. N. DeSouza & A. C. Kak (2002): Vision for Mobile<br />

Robot Navigation: A Survey. IEEE Trans. Pattern Anal. Mach. Intell., 24 (2):<br />

S. 237–267.<br />

[Dhanapanichkul 2006] S. Dhanapanichkul (2006): Cooperative Localization<br />

Us<strong>in</strong>g Angular Measures.<br />

URL: http://isl2.cp.eng.chula.ac.th/research-file/jai/Sorawish_Localization.pdf, Abruf:<br />

4. Januar 2009.<br />

[Doucet et al. 2000] A. Doucet, N. de Freitas, K. P. Murphy & S. J. Russell<br />

(2000): Rao-Blackwellised Particle Filter<strong>in</strong>g for Dynamic Bayesian Networks.<br />

In: Proceed<strong>in</strong>gs of the 16th Conference on Uncerta<strong>in</strong>ty <strong>in</strong> Artificial Intelligence,<br />

S. 176–183. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.<br />

[Fox et al. 1999] D. Fox, W. Burgard & S. Thrun (1999): Markov Localization<br />

for Mobile Robots <strong>in</strong> Dynamic Environments. Journal of Artificial Intelligence<br />

Research, 11 : S. 391–427.<br />

[Fox et al. 2000] D. Fox, W. Burgard, H. Kruppa & S. Thrun (2000): A Probabilistic<br />

Approach to Collaborative Multi-Robot Localization. Auton. Robots, 8 (3):<br />

S. 325–344.<br />

[Fredslund & Mataric 2002] J. Fredslund & M. Mataric (2002): A general algorithm<br />

for robot formations us<strong>in</strong>g local sens<strong>in</strong>g and m<strong>in</strong>imal communication. IEEE<br />

Transactions on Robotics and Automation, 18 (5): S. 837–846.<br />

[GeneralMotors 2008] General Motors (2008): General Motors, Carnegie Mellon<br />

Commit To Develop Driverless Vehicles.<br />

URL: http://www.gm.com:80/experience/technology/research/news/2008/mellon_<br />

061808.jsp, Erstveröffentlichung: 19. Juni 2008, Abruf: 4. Januar 2009.<br />

[Göhr<strong>in</strong>g & Burkhard 2006] D. Göhr<strong>in</strong>g & H.-D. Burkhard (2006): Multi Robot<br />

Object Track<strong>in</strong>g and Self Localization Us<strong>in</strong>g Visual Percept Relations.<br />

IEEE/RSJ International Conference on Intelligent Robots and Systems, S. 31–36.<br />

[Grabowski et al. 2000] R. Grabowski, L. E. Navarro-Serment, C. J. J. Paredis<br />

& P. K. Khosla (2000): Heterogeneous Teams of Modular Robots for Mapp<strong>in</strong>g and<br />

Exploration. Auton. Robots, 8 (3): S. 293–308.<br />

[Grisetti et al. 2007] G. Grisetti, G. Tipaldi, C. Stachniss, W. Burgard & D. Nardi<br />

(2007): Fast and Accurate SLAM with Rao-Blackwellized Particle Filters. Robots<br />

and Autonomous Systems, 55 (1): S. 30–38.<br />

[Gutmann 2000] J.-S. Gutmann (2000): Robuste Navigation autonomer mobiler<br />

Systeme. Doktorarbeit, Universität Bremen.<br />

URL: wwwradig.<strong>in</strong>.tum.de/people/schroetd/research/Papers/gutmann-diss.ps.gz,<br />

Abruf: 4. Januar 2009.<br />

[Gutmann 2002] D. Gutmann, J.-S. Fox (2002): An Experimental Comparison of<br />

Localization Methods Cont<strong>in</strong>ued. In: Proc. of the IEEE/RSJ International Conference<br />

on Intelligent Robots and Systems, S. 454–459.


Literaturverzeichnis 133<br />

[Haferkorn 1997] H. Haferkorn (1997): Optik: physikalisch-technische Grundlagen<br />

und Anwendungen. 3. bearbeitete und erweiterte Auflage. Barth Verlagsgesellschaft<br />

mbH, Leipzig, Berl<strong>in</strong>, Heidelberg.<br />

[Hidaka et al. 2005] Y. S. Hidaka, A. I. Mourikis & S. I. Roumeliotis (2005):<br />

Optimal Formations for Cooperative Localization of Mobile Robots. In: Proceed<strong>in</strong>gs<br />

of the IEEE International Conference on Robotics and Automation, S. 4137–4142.<br />

Barcelona, Spa<strong>in</strong>.<br />

[Howard et al. 2003] A. Howard, M. J. Matari & G. S. Sukhatme (2003): Cooperative<br />

relative localization for mobile robot teams: An ego-centric approach. In:<br />

Proceed<strong>in</strong>gs of the Naval Research Laboratory Workshop on Multi-Robot Systems,<br />

S. 65–76.<br />

[iRobot 2009] iRobot (2009): iRobot Scooba, Floor Wash<strong>in</strong>g Robot.<br />

URL: http://store.irobot.com/home/<strong>in</strong>dex.jsp, Abruf: 4. Januar 2009.<br />

[iWard 2007] Cordis (2007): Intelligent robot swarm for attendance, recognition,<br />

clean<strong>in</strong>g and delivery (IWARD).<br />

URL: http://www.iward.eu/cms/<strong>in</strong>dex.php, Abruf: 4. Januar 2009.<br />

[Joho et al. 2007] D. Joho, C. Stachniss, P. Pfaff & W. Burgard (2007): Autonomous<br />

Exploration for 3D Map Learn<strong>in</strong>g. In: K. Berns & T. Luksch (Hrsg.),<br />

Autonome Mobile Systeme, S. 22–28. Spr<strong>in</strong>ger, Kaiserslautern.<br />

[Julier & Uhlmann 1997] S. J. Julier & J. K. Uhlmann (1997): A new extension<br />

of the Kalman filter to nonl<strong>in</strong>ear systems. In: Int. Symp. Aerospace/Defense<br />

Sens<strong>in</strong>g, Simul. and Controls, S. 182–193.<br />

[Kaneko et al. 2004] K. Kaneko, F. Kanehiro, S. Kajita, H. Hirukawa, T. Kawasaki,<br />

M. Hirata, K. Akachi & T. Isozumi (2004): Humanoid robot HRP-2. In:<br />

Proceed<strong>in</strong>gs of the IEEE International Conference on Robotics and Automation, 2,<br />

S. 1083–1090.<br />

[Krotkov 1989] E. Krotkov (1989): Mobile robot localization us<strong>in</strong>g a s<strong>in</strong>gle image.<br />

In: Proceed<strong>in</strong>gs of the IEEE International Conference on Robotics and Automation,<br />

2, S. 978–983.<br />

[Kurazume & Hirose 2000a] R. Kurazume & S. Hirose (2000a): An Experimental<br />

Study of a Cooperative Position<strong>in</strong>g System. Auton. Robots, 8 (1): S. 43–52.<br />

[Kurazume & Hirose 2000b] R. Kurazume & S. Hirose (2000b): Development of<br />

a Clean<strong>in</strong>g Robot System with Cooperative Position<strong>in</strong>g System. Auton. Robots,<br />

9 (3): S. 237–246.<br />

[Lowe 1999] D. Lowe (1999): Object recognition from local scale-<strong>in</strong>variant features.<br />

In: Proceed<strong>in</strong>gs of the Seventh IEEE International Conference on Computer Vision,<br />

2 : S. 1150–1157.


134<br />

[Madhavan et al. 2004] R. Madhavan, K. Fregene & L. E. Parker (2004): Distributed<br />

Cooperative Outdoor Multirobot Localization and Mapp<strong>in</strong>g. Auton. Robots,<br />

17 (1): S. 23–39.<br />

[Marmoiton et al. 1998] F. Marmoiton, F. Collange, J. Derut<strong>in</strong> & J. Alizon<br />

(1998): 3D localization of a car observed through a monocular video camera. In:<br />

Proceed<strong>in</strong>gs of the 1998 IEEE International Conference on Intelligent Vehicles,<br />

S. 189–194.<br />

[Montesano et al. 2005] L. Montesano, J. Gaspar, J. Santos-Victor & L. Montano<br />

(2005): Fus<strong>in</strong>g vision-based bear<strong>in</strong>g measurements and motion to localize pairs<br />

of robots. In: International Conference on Robotics and Automation.<br />

URL: http://www.isr.ist.utl.pt/vislab/publications/05-icra-wshop.pdf, Abruf: 4. Januar<br />

2009.<br />

[Mouroulis & Macdonald 1997] P. Mouroulis & J. Macdonald (1997): Artificial<br />

Intelligence: A Modern Approach (Second Edition). Oxford University Press,<br />

New York Oxford, USA.<br />

[Nasa, 2008] NASA (2008): Mars Rovers Near Five Years of Science and Discovery.<br />

URL: http://www.nasa.gov/mission_pages/mer/news/mer-20081229.html, Erstveröffentlichung:<br />

29. Dezember 2008, Abruf: 4. Januar 2009.<br />

[Navarro-Serment et al. 1999] L. E. Navarro-Serment, C. J. J. Paredis & P. K.<br />

Khosla (1999): A Beacon System for the Localization of Distributed Robotic Teams.<br />

In: Proceed<strong>in</strong>gs of the International Conference on Field and Service Robotics,<br />

S. 232–237.<br />

[Odakura & Costa 2006] V. Odakura & A. H. R. Costa (2006): Negative <strong>in</strong>formation<br />

<strong>in</strong> cooperative multirobot localization. In: J. S. Sichman, H. Coelho &<br />

S. O. Rezende (Hrsg.), Advances <strong>in</strong> Artificial Intelligence - IBERAMA-SBIA 2006,<br />

Volume LNAI 4140, S. 552–561. Spr<strong>in</strong>ger.<br />

[Olson 2000] C. F. Olson (2000): Probabilistic self-localization for mobile robots.<br />

IEEE Transactions on Robotics and Automation, 16 : S. 55–66.<br />

[Panait & Luke 2005] L. Panait & S. Luke (2005): Cooperative Multi-Agent Learn<strong>in</strong>g:<br />

The State of the Art. Autonomous Agents and Multi-Agent Systems, 11 (3):<br />

S. 387–434.<br />

[Patel & Read 1982] J. K. Patel & C. B. Read (1982): Handbook of the Normal<br />

Distribution. Marcel Dekker, Inc., New York, NY, USA.<br />

[Pohlmann 1996] D. Pohlmann (1996): Mathematik: Formeln, Sätze und Tabellen<br />

<strong>für</strong> die Sekundarstufen 1 und 2. Aulis Verlag Deubner & Co KG, Köln.<br />

[Rekleitis et al. 1997] L. M. Rekleitis, G. Dudek & E. E. Milios (1997): Multirobot<br />

exploration of an unknown environment, efficiently reduc<strong>in</strong>g the odometry<br />

error. In: Proc. of the International Jo<strong>in</strong>t Conference on Artificial Intelligence,<br />

S. 1340–1345. Morgan Kaufmann Publishers, Inc.


Literaturverzeichnis 135<br />

[Rekleitis et al. 1998] I. M. Rekleitis, G. Dudek & E. E. Milios (1998): Accurate<br />

Mapp<strong>in</strong>g of an Unknown World and Onl<strong>in</strong>e Landmark Position<strong>in</strong>g. In: Proceed<strong>in</strong>gs<br />

of Vision Interface 1998, S. 455–461. Vancouver, Canada.<br />

[Rekleitis et al. 2001] I. Rekleitis, G. Dudek & E. Milios (2001): Multi-robot<br />

collaboration for robust exploration. Annals of Mathematics and Artificial Intelligence,<br />

31 (1-4): S. 7–40.<br />

[Rekleitis et al. 2002] I. M. Rekleitis, G. Dudek & E. E. Milios (2002): On the<br />

Positional Uncerta<strong>in</strong>ty of Multi-Robot Cooperative Localization. Multi-Robot Systems<br />

Workshop, Naval Research Laboratory, Wash<strong>in</strong>gton, DC, USA.<br />

URL: www.cim.mcgill.ca/˜yiannis/Publications/mrworkshop.ps.gz, Abruf: 4. Januar<br />

2009.<br />

[Riisgaard & Blas 2004] S. Riisgaard & M. R. Blas (2004): SLAM for Dummies:<br />

A Tutorial Approach to Simultaneous Localization and Mapp<strong>in</strong>g.<br />

URL: http://ocw.mit.edu/NR/rdonlyres/Aeronautics-and-Astronautics/16-412JSpr<strong>in</strong><br />

g-2005/D6247956-54B1-42F3-9ACC-726726808923/0/soren_project.pdf, Abruf: 4.<br />

Januar 2009.<br />

[RoboCup 2009] RoboCup (2009): The RoboCup Federation.<br />

URL: http://www.robocup.org/, Abruf: 4. Januar 2009.<br />

[RoboCupRescue 2009] RoboCupRescue (2009): RoboCup Rescue.<br />

URL: http://www.robocuprescue.org/, Abruf: 4. Januar 2009.<br />

[Roumeliotis & Bekey 2000] S. Roumeliotis & G. Bekey (2000): Synergetic Localization<br />

for Groups of Mobile Robots.<br />

URL: www.cim.mcgill.ca/˜yiannis/Publications/mrworkshop.ps.gz, Abruf: 4. Januar<br />

2009.<br />

[Russell & Norvig 2003] S. J. Russell & Norvig (2003): Artificial Intelligence: A<br />

Modern Approach (2nd Edition). Prentice Hall, Inc., Upper Saddle River, NJ, USA.<br />

[Samet 1990] H. Samet (1990): The Design and Analysis of Spatial Data Structures.<br />

Addison-Wesley Longman Publish<strong>in</strong>g Co., Inc., Boston, MA, USA.<br />

[SciFace 2009] SciFace (2009): MuPAD Pro.<br />

URL: http://www.sciface.com/, Abruf: 4. Januar 2009.<br />

[Sc<strong>in</strong>exx 2007] Sc<strong>in</strong>exx (2007): Die Strahlenfresser von Tschernobyl.<br />

URL: http://www.g-o.de/dossier-detail-370-5.html, Erstveröffentlichung: 19. Oktober<br />

2007, Abruf: 4. Januar 2009.<br />

[Se et al. 2002] S. Se, D. Lowe & J. Little (2002): Mobile robot localization and<br />

mapp<strong>in</strong>g with uncerta<strong>in</strong>ty us<strong>in</strong>g scale-<strong>in</strong>variant visual landmarks. Intl. Journal of<br />

Robotics Research, 21 : S. 735–758.<br />

[Sick 2009] SICK (2009): SICK Vertriebs-GmbH.<br />

URL: http://www.sick.de, Abruf: 4. Januar 2009.


136<br />

[S<strong>in</strong>z 2004] F. H. S<strong>in</strong>z (2004): Kamerakalibrierung und Tiefenschätzung: E<strong>in</strong> Vergleich<br />

von klassischer Bündelblockausgleichung und statistischen Lernalgorithmen.<br />

Technical report, Wilhelm-Schickard-Institut <strong>für</strong> Informatik, Universität Tüb<strong>in</strong>gen.<br />

URL: http://www.kyb.mpg.de/publications/pdfs/pdf2616.pdf, Abruf: 4. Januar<br />

2009.<br />

[Stachniss 2006] C. Stachniss (2006): Exploration and Mapp<strong>in</strong>g with Mobile Robots.<br />

Doktorarbeit, University of Freiburg, Department of Computer Science.<br />

[Strasdat et al. 2007] H. Strasdat, C. Stachniss, M. Bennewitz & W. Burgard<br />

(2007): Visual Bear<strong>in</strong>g-Only Simultaneous Localization and Mapp<strong>in</strong>g with Improved<br />

Feature Match<strong>in</strong>g. In: K. Berns & T. Luksch (Hrsg.), Autonome Mobile Systeme,<br />

Informatik Aktuell, S. 15–21. Spr<strong>in</strong>ger.<br />

[Trahanias et al. 1999] P. E. Trahanias, S. Velissaris & S. C. Orphanoudakis<br />

(1999): Visual Recognition of Workspace Landmarks for Topological Navigation.<br />

Auton. Robots, 7 (2): S. 143–158.<br />

[Trawny 2003] N. Trawny (2003): Optimized Motion Strategies for Cooperative Localization<br />

of Mobile Robots. Studienarbeit, Universität Stuttgart, IFR.<br />

URL: http://www-users.cs.umn.edu/˜trawny/Publications/studarbeit.htm, Abruf: 4.<br />

Januar 2009.<br />

[Weigel 1998] T. Weigel (1998): <strong>Roboter</strong>-Fußball: Selbstlokalisierung, Weltmodellierung,<br />

Pfadplanung und verhaltensbasierte Kontrolle. Diplomarbeit, Universität<br />

Freiburg.<br />

URL: http://www.<strong>in</strong>formatik.uni-freiburg.de/˜ki/theses/diploma_de.html, Abruf: 4.<br />

Januar 2009.<br />

[Welsh & Bishop 1995] G. Welsh & G. Bishop (1995): An Introduction to the<br />

Kalman Filter. Technical report, University of North Carol<strong>in</strong>a at Chapel Hill,<br />

Chapel Hill, NC, USA.<br />

URL: http://www.statslab.cam.ac.uk/˜elie/sim/KalfNt01.pdf, Abruf: 4. Januar<br />

2009.<br />

[Werman et al. 1999] M. Werman, S. Banerjee, S. Roy & M. Qiu (1999): Robot<br />

localization us<strong>in</strong>g uncalibrated camera <strong>in</strong>variants. IEEE Computer Society Conference<br />

on Computer Vision and Pattern Recognition., 2 : S. 354–359.<br />

[Wurm et al. 2007] K. Wurm, C. Stachniss, G. Grisetti & W. Burgard (2007):<br />

Improved Simultaneous Localization and Mapp<strong>in</strong>g us<strong>in</strong>g a Dual Representation of<br />

the Environment. In: Proc. of the European Conference on Mobile Robots. Freiburg,<br />

Germany.<br />

URL: http://www.<strong>in</strong>formatik.uni-freiburg.de/˜stachnis/pdf/wurm07ecmr.pdf, Abruf:<br />

4. Januar 2009.


Anhang A<br />

Software auf der beigefügten CD<br />

Im Rahmen dieser Arbeit wurde e<strong>in</strong> plattformunabhängiges Software-Tool <strong>in</strong> Java implementiert,<br />

mit dem sich Lokalisierungskarten (vgl. Kapitel 3.4) erstellen lassen. Diese<br />

Software f<strong>in</strong>det sich samt dokumentiertem Quellcode neben e<strong>in</strong>er Dateiversion dieser<br />

Arbeit auf der beigefügten CD-Rom, die im E<strong>in</strong>zelnen folgende Inhalte umfasst:<br />

• E<strong>in</strong>e pdf-Version dieser Arbeit liegt auf oberster Ebene als WachsmuthDA.pdf vor.<br />

• Die Software f<strong>in</strong>det sich als ausführbare jar-Datei im Verzeichnis executable. Zusätzlich<br />

s<strong>in</strong>d dort betriebssystemabhängige Skripte, die das Programm mit Zugriff<br />

auf 500 MB Arbeitsspeicher starten (Genaueres unten), wie auch die folgende Bedienungsanleitung<br />

als HowTo.pdf vorhanden.<br />

• Das Verzeichnis source enthält den Java-Quellcode der erstellten Software entsprechend<br />

se<strong>in</strong>er Package-Struktur.<br />

• Im Verzeichnis javadoc liegen schließlich Javadoc-Webseiten, die den Code der<br />

Software dokumentieren. Die Startseite heißt <strong>in</strong>dex.html.<br />

E<strong>in</strong>e Dokumentation der Architektur der entwickelten Software sei hier nicht von Interesse;<br />

sie orientiert sich an bekannten Verfahren zur Trennung von Datenhaltung, Steuerungsmechanismen<br />

und Benutzungsschnittstellen. Auch die unterliegenden Berechnungen<br />

bleiben außen vor; zu ihnen sei aber angemerkt, dass sie weder Speicher- noch<br />

Laufzeit-optimiert wurden, weil die Implementation nicht Kernaufgabe der Arbeit war.<br />

Die grundlegende Bedienung des Programms wird aber im Folgenden beschrieben.<br />

Bedienung der Software zum Erstellen von Lokalisierungskarten<br />

Programmstart: E<strong>in</strong>e Java Runtime Environment 1.5 oder höher muss vorhanden<br />

se<strong>in</strong>. Die Berechnung der Lokalisierungskarten erfordert vor allem <strong>für</strong> Kamerabilder<br />

größerer Breite erhöhten Speicherplatz, um zu jeder möglichen Projektion e<strong>in</strong>es <strong>Roboter</strong>s<br />

Daten über die resultierenden Koord<strong>in</strong>aten, deren Entfernung, Projektionsw<strong>in</strong>kel<br />

und Abweichungen zu sichern. Daher bietet es sich an, das Programm per Doppelklick<br />

auf das passende Skript zu starten: start.command <strong>für</strong> Mac OS X, start.sh <strong>für</strong> L<strong>in</strong>ux oder<br />

start.bat <strong>für</strong> W<strong>in</strong>dows. Jeweils werden 500 MB Speicher zur Verfügung gestellt, was zum


138<br />

Abbildung A.1: Die Bedienungsoberfläche unter Mac OS X : L<strong>in</strong>ks oben f<strong>in</strong>det sich e<strong>in</strong>e mehrfach<br />

genutzte Anzeige <strong>für</strong> geometrische Daten, darunter E<strong>in</strong>gabefelder <strong>für</strong> Parameter sowie<br />

Buttons zum Aktualisieren und Zoomen der Karten. In der Mitte wird die erzeugte Lokalisierungskarte<br />

angezeigt, rechts die zugehörigen Pixelbreiten der Projektionen.<br />

Beispiel bei 1440 Pixel breiten Kamerabildern vollkommen ausreicht. Sollten wider Erwarten<br />

Probleme auftreten, lässt sich die Software auch mit Übergabe von Argumenten<br />

<strong>für</strong> die Virtual Mach<strong>in</strong>e wie folgt aus e<strong>in</strong>er Konsole starten (hier <strong>für</strong> 500 MB):<br />

java -jar -Xms500M -Xmx500M ./LocalizationMapBuilder.jar<br />

Übersicht: Abbildung A.1 zeigt die Bedienungsoberfläche (im Folgenden GUI genannt)<br />

der Software unter Mac OS X. Je nach Betriebssystem können ger<strong>in</strong>ge visuelle<br />

Unterschiede bestehen. Die GUI enthält Anzeigebereiche <strong>für</strong> die Lokalisierungskarte<br />

(Localization Map) und die zugehörigen Breiten der Projektionen (Projection Map). Letztere<br />

werden beim Start des Programms nicht angezeigt; sie können bei Bedarf über das<br />

Menü Display aktiviert werden, was die Berechnung und darauf aufbauende Darstellung<br />

der Lokalisierungskarte allerd<strong>in</strong>gs verlangsamt. Erzeugte Karten können über das Menü<br />

File als Bilddateien im png-Format exportiert werden.<br />

Im l<strong>in</strong>ken Teil der GUI f<strong>in</strong>det sich oben der Bereich Geometry, welcher je nach Kontext<br />

e<strong>in</strong>e schematische Darstellung der Abbildungsgeometrie oder Daten über e<strong>in</strong>e Position<br />

anzeigt (siehe unten). Darunter (<strong>in</strong> Parameters) können die relevanten Parameter<br />

e<strong>in</strong>gegeben werden und der Bereich Control be<strong>in</strong>haltet neben dem Button Update zum<br />

Aktualisieren der Lokalisierungskarte entsprechend der Parameter zwei Buttons + und –<br />

zum Vergrößern bzw. Verkle<strong>in</strong>ern der angezeigten Kartenausschnitte. Diese Funktionen<br />

lassen sich auch über das Menü Edit und dort ersichtliche Tastenkürzel auslösen.


A Software auf der beigefügten CD 139<br />

Abbildung A.2: (l<strong>in</strong>ks) Die Parametere<strong>in</strong>gabe wird durch blaue E<strong>in</strong>färbung im Bereich Geometry<br />

visuell unterstützt. (rechts) Bef<strong>in</strong>det sich der Mauszeiger über der Lokalisierungskarte,<br />

zeigt Geometry die entsprechende Position, ihre Entfernung und mögliche Abweichungen an.<br />

Erzeugen e<strong>in</strong>er Karte: Im Bereich Parameters muss zuerst die Anzahl horizontaler<br />

Pixel des Kamerabildes, die Breite des Bildsensors, die Brennweite sowie der Radius des<br />

<strong>Roboter</strong>s e<strong>in</strong>gegeben werden, sofern nicht die Vorgabewerte verwendet werden sollen.<br />

Zur visuellen Unterstützung wird dabei der betreffende Teil des Projektionsschemas<br />

<strong>in</strong>nerhalb von Geometry blau e<strong>in</strong>gefärbt, wie Abbildung A.2 (l<strong>in</strong>ks) <strong>für</strong> die Anzahl horizontaler<br />

Pixel veranschaulicht. Über die E<strong>in</strong>gabefelder Max. ∆d of a good pose <strong>in</strong> m<br />

und M<strong>in</strong>. ∆d of a bad pose <strong>in</strong> m lässt sich außerdem bee<strong>in</strong>flussen, bis zu welchem ∆d<br />

e<strong>in</strong>e Position <strong>in</strong> re<strong>in</strong>em Grün und ab welchem ∆d sie <strong>in</strong> re<strong>in</strong>em Rot dargestellt wird.<br />

Drücken von Update führt dann zur Berechnung und anschließenden Anzeige der Lokalisierungskarte.<br />

Dieser Vorgang benötigt aufgrund umfangreicher Berechnungen oder der<br />

Ausführung der Zeichenmethode e<strong>in</strong>e gewisse Dauer; <strong>für</strong> 720 Pixel breite Kamerabilder<br />

müssen beispielsweise die vermutete Position samt Entfernung und Projektionsw<strong>in</strong>kel<br />

sowie mögliche Abweichungen <strong>für</strong> mehr als 250.000 <strong>in</strong> Frage kommende Projektionen<br />

(gegeben durch verschiedene Größen und horizontale Lagen) gezeichnet werden. Das<br />

verwendete Testsystem mit 2.4 GHz Intel Core 2 Duo benötigte da<strong>für</strong> knapp sieben<br />

Sekunden bei e<strong>in</strong>em Kartenausschnitt von 8 m <strong>in</strong> y-Richtung.<br />

Anzeigeoptionen: Über + und – lässt sich der anzuzeigende Ausschnitt der Lokalisierungskarte<br />

anpassen. Da dies e<strong>in</strong>e Neuzeichnung der Karte erfordert, spart es Zeit,<br />

die alte Anzeige zu löschen, um dann die gewünschte Zoom-Stufe e<strong>in</strong>zustellen und erst<br />

zum Schluss wieder Update zu betätigen. Die Reset-Funktion der Lokalisierungskarte<br />

wird über den Menüpunkt Reset Map <strong>in</strong> Edit oder per Tastenkürzel [CTRL]+[R] (bzw.<br />

[CMD]+[R] unter Mac OS X ) ausgeführt.<br />

Zusätzlich zur farblichen Codierung werden bei Überfahren e<strong>in</strong>er Position mit dem<br />

Mauszeiger im Bereich Geometry mittig deren Koord<strong>in</strong>aten Msupp sowie direkt darunter<br />

deren Entfernung dsupp und der W<strong>in</strong>kel ϕ ′ supp ausgegeben, wie Abbildung A.2 (rechts)<br />

exemplarisch zeigt. Ebenso lassen sich dort die maximalen Abweichungen zu Mmax,<br />

Mm<strong>in</strong>, Mleft und Mright ersehen (vgl. Kapitel 3).


Anhang B<br />

Eidesstattliche Erklärung<br />

Paderborn, den 16. Januar 2009<br />

Ich versichere, dass ich die vorliegende Arbeit selbständig und ohne unerlaubte fremde<br />

Hilfe sowie ohne Verwendung anderer als der im Literaturverzeichnis angegebenen<br />

Quellen angefertigt habe. Alle Ausführungen, die wörtlich oder s<strong>in</strong>ngemäß übernommen<br />

wurden, s<strong>in</strong>d als solche gekennzeichnet.<br />

Der Inhalt der Arbeit hat nach me<strong>in</strong>em bestem Wissen <strong>in</strong> gleicher oder ähnlicher Form<br />

noch ke<strong>in</strong>er anderen Prüfungsbehörde vorgelegen.<br />

Henn<strong>in</strong>g Wachsmuth

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!