Fußg¨anger-Positionsbestimmung mit Beschleunigungssensoren...

31
Fußg¨ anger-Positionsbestimmung mit Beschleunigungssensoren und RFID Studienarbeit an der Albert-Ludwigs-Universit¨ at Freiburg Fakult¨ at f¨ ur Angewandte Wissenschaften Dali Sun Betreuer: Prof. Dr. Bernhard Nebel, Alexander Kleiner 3. Mai 2007

Transcript of Fußg¨anger-Positionsbestimmung mit Beschleunigungssensoren...

Fußganger-Positionsbestimmung mitBeschleunigungssensoren und RFID

Studienarbeit an der Albert-Ludwigs-Universitat FreiburgFakultat fur Angewandte Wissenschaften

Dali Sun

Betreuer: Prof. Dr. Bernhard Nebel,Alexander Kleiner

3. Mai 2007

Inhaltsverzeichnis

1 Einfuhrung 31.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Beschreibung des Ansatzes . . . . . . . . . . . . . . . . . . . . 31.3 Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Beschreibung der Hardware 62.1 Xsens-Sensor MTx . . . . . . . . . . . . . . . . . . . . . . . . 62.2 GPS-Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3 Fussganger Dead Reckoning 8

4 Routegraph Optimierung 104.1 Problemspezifikation . . . . . . . . . . . . . . . . . . . . . . . 124.2 Lineare Verbesserung . . . . . . . . . . . . . . . . . . . . . . . 124.3 Nicht-lineare Verbesserung . . . . . . . . . . . . . . . . . . . . 14

5 Beschreibung der eigenen Implementierung 165.1 Behandlung von GPX-Dateien . . . . . . . . . . . . . . . . . . 175.2 Aufbau großer RFID-Netzwerke . . . . . . . . . . . . . . . . . 185.3 Kovarianz Update mit der Dead Reckoning-Methode . . . . . 215.4 Verbesserung der Trajektorie mittels korrigiertem RFIDs . . . 22

6 Experimente 246.1 Outdoor-Experiment . . . . . . . . . . . . . . . . . . . . . . . 246.2 Indoor-Experiment . . . . . . . . . . . . . . . . . . . . . . . . 25

7 Zusammenfassung und Ausblick 27

Abbildungsverzeichnis

1 Verwendet Hardware . . . . . . . . . . . . . . . . . . . . . . . 52 Xsens-Sensor, MTx. Quelle: MTi and MTx ”User Manual and

Technical Documentation” . . . . . . . . . . . . . . . . . . . . 63 das globale Koordinate System G (Fixed co-ordinate system)

und das lokale Koordinatensystem S (MTi/MTx co-ordinatesystem). Quelle: MTi and MTx ”User Manual and TechnicalDocumentation” . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1

4 Die Schrittfolge der biomechanischen Laufbewegung des Men-schen. Quelle: Personal Dead Reckoning with Accelerometers[Micheal Dippold] University of Bremmen. . . . . . . . . . . . 9

5 Trajektorie des PDR Moduls . . . . . . . . . . . . . . . . . . . 116 Feder Netzwerk. Jede Feder reprasentiert eine Verbindung zwi-

schen den Positionen. . . . . . . . . . . . . . . . . . . . . . . . 117 Man bewegt sich von unten links nach oben rechts. . . . . . . 158 PDR Trajektorie (grun) und GPS Trajektorie(blau), visuali-

siert mit GoogleEarth. . . . . . . . . . . . . . . . . . . . . . . 179 Direkter Weg und Umweg zwischen 2 RFIDs . . . . . . . . . . 1910 Spezielle Kante im Netzwerk . . . . . . . . . . . . . . . . . . . 2011 Trajektorie 1 (grun) und Trajektorie 2 (blau) besitzen gemein-

samen RFID i. . . . . . . . . . . . . . . . . . . . . . . . . . . 2012 Trajektorie 1 (grun) und Trajektorie 2 (blau) besitzen gemein-

samen Weg. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2113 Originaltrajektorie mit korrigierten RFIDs (rote Kreise) . . . . 2314 Stuck von Trajektorie korrigieren . . . . . . . . . . . . . . . . 2315 Trajektorien des PDR Moduls . . . . . . . . . . . . . . . . . . 2416 Trajektorien von GPS Empfanger . . . . . . . . . . . . . . . . 2417 Korrigierter RFID-Track . . . . . . . . . . . . . . . . . . . . . 2518 XTE- ATE- und Cartesian-Error vom Outdoor-Experiment . . 2619 Trajektorien des PDR Moduls . . . . . . . . . . . . . . . . . . 2720 true Trajektorie . . . . . . . . . . . . . . . . . . . . . . . . . . 2721 Korrigierte RFID-Track . . . . . . . . . . . . . . . . . . . . . 2822 XTE- ATE- und Cartesian-Error vom Indoor-Experiment . . . 28

2

1 Einfuhrung

1.1 Motivation

Wenn sich in einer Region eine Katastrophe ereignet, muss es so schnell wiemoglich zu einer Rettungsaktion kommen. In diesem Fall ist die Positionsbe-stimmung von Rettungskrafte von großer Wichtigkeit. Da im Katastrophen-gebiet die Infrastrukturen meistens defekt und unbenutzbar sind, mussen dieRetter auf schnellstem Wege Informationen uber dieses Gebiet erhalten. So-mit ist fur die Rettung die Kenntnis einer Karte des betroffenen Gebietesaußerst nutzlich. Deswegen soll eine vernunftige Karte (nicht notwendiger-weise vollstandig oder ganz korrekt) fur dieses Gebiet erzeugt werden: Umdas vorzunehmen, konnen viele Leute (oder Roboter) dieses Gebiet durch-laufen, um die Trajektorie (besteht aus einzelnen Positionen) von diesen zuerhalten. Danach werden alle Trajektorien aller Beteiligten zusammengefugt,damit kann man eine nutzbare Karte des Gebietes erstellen.

Weil die Trajektorie aus vielen Positionen besteht, muss die Frage geklartwerden, wie eine Position zu bestimmen ist. Fur dieses Vorgehen gibt es vieleMoglichkeiten. Eine davon, die beste, ist GPS1. Allerdings ist GPS nichtfur ein Rescue-Szenario geeignet. Denn einerseits weiß man uberhaupt nicht,wenn sich eine Katastrophe ereignet, ob GPS noch verfugbar ist. Andererseitsmussen Rettungskrafte auch Gebaude betreten, das heißt, GPS ist in dieserSituation nicht moglich. Deswegen soll eine allgemeinere und nicht von GPSabhangige Losung fur solche Szenarien gefunden werden.

1.2 Beschreibung des Ansatzes

Wie bereits erwahnt, soll eine allgemeine und nicht von GPS abhangigeLosung fur Rescue-Szenarien entwickelt werden. Dazu soll ein 3D Beschleuni-gungssensor Xsens mit integriertem 3D Kompass eingesetzt werden. Grund-prinzip fur die Anwendung des Xsens ist das folgende. Wenn jemand denSensor tragt und lauft, kann der Sensor die Beschleunigung in drei Richtun-gen messen, dabei kann jeder Schritt erkannt werden. Außerdem kann mandie Ausrichtung von jedem Schritt messen. Wenn Schritte und deren Aus-richtung bekannt sind, dann kann die auf diesem Schritt beruhende nachstePosition abgeschatzt werden. Uber den nachsten Schritt wird wieder die Po-sition geschatzt. Damit konnen alle Positionen der ganzen Trajektorie erfasstwerden. Je mehr Leute solche Durchlaufe vorgenommen haben, desto mehrTrajektorien konnen erstellt werden und desto mehr Informationen uber die-ses Gebiet sind verfugbar. Wenn wir genugend Trajektorien haben, dann

1Global Positioning System

3

konnen wir alle Trajektorien zusammenfugen und damit eine Karte erzeu-gen. Naturlich gibt es Fehler bei der Positionsabschatzung, weil eine Positionauf der vorherigen Position basiert, und die vorherige Position wiederumabhangig von der davor vorgenommenen Abschatzung ist. Das heißt, Feh-ler konnen sich aufaddieren. Das bedeutet wiederum, dass der Fehler immergroßer wird. Deswegen mussen wir den Fehler korrigieren. Es gibt viele Me-thoden und Algorithmen, das vorzunehmen. Hier benutzen wir Algorithmenvon Lu-Milios. Dieses Verfahren braucht einen Loop in der Trajektorie. Umden Loop zu erkennen, verwenden wir die sogenannte RFID-Technologie.RFID besteht aus RFID-Chips und RFID-Leser. Der Chip kann eine be-stimmte Anzahl an Informationen speichern, wie z. B. die Nummer des Chips,damit wird jeder Chip eindeutig identifiziert. Der Leser kann die Informationdes Chips lesen. Der Chip kann an einer bestimmten Stelle befestigt werden.Und wenn man an dieser Stelle vorbeilauft, kann man mit dem Leser denChip beruhren. Dann liest der Leser die Information ein, die in diesem Chipgespeichert ist. Mit der dazugehorigen Software konnen wir die eingelesenenInformation weiterverarbeiten oder einfach speichern. Mit dieser Technologiekonnen wir Chips an vielen Stellen einbauen, und wenn man an einer solchenStelle vorbeilauft, beruhrt man einfach den Chip. Dann wird die eindeutigeNummer desselben eingelesen. Am Ende des Laufs erhalten wir eine Folgevon Nummern, an denen wir vorbeigelaufen sind. Sobald die Nummern ver-glichen werden, kann der Loop auch die Stellen erkennen, an denen man z. B,zweimal vorbeigelaufen ist.

Wenn die Trajektorie Schleifen enthalt, kann diese Trajektorie direkt mitder Methode von Lu-Milios verbessert werden. Aber meistens ist das nichtder Fall. Man lauft normalerweise keine Schleife. Das heißt, die Trajektorieenthalt keinen Loop. Fur diesen Fall ist die Korrektur nicht moglich. Aberwenn zwei Leute uber ein Gebiet gelaufen sind, dann ist die Moglichkeitgroßer, dass zusammenfugte Trajektorien den Loop enthalten. Deswegen istdas Zusammenfugen von mehreren Trajektorien wichtig, weil sich die Chanceerhoht, die Trajektorie zu korrigieren. Und je mehr Loops eine Trajektorieenthalt, desto besser ist die Qualitat des Ergebnisses.

Um den Loop zu erkennen, verwenden wir RFID-Technologie. In der vor-liegenden Arbeit werden allerdings keine echten RFID-Chips und -Leser, son-dern eine Software ”vrfid” verwendet, um die RFID-Hardware zu simulieren,was die Exparimente deutlich Vereinfacht hat. Die Losung mittels Softwa-re ist sehr einfach. Die Funktionsweise dieser Software ist die folgende. Siebestimmt die Position von RFIDs mithilfe von GPS. Dann erzeugt das Pro-gramm fur diese Position einen kunstlichen RFID-Chip mit einer eindeuti-gen Nummer. Wenn man beim nachsten Mal wieder an dieser Position vor-beilauft, entdeckt das Programm, dass an der Stelle schon ein kunstlicher

4

RFID-Chip vorhanden ist und speichert dann die Nummer von diesem Chip.Dann konnen wahrend des Laufs die Chips erzeugt werden oder der RFID-Chip wird wiedererkannt, wenn an der Position schon ein Chip vorhanden ist.Das heißt, die Position des kunstlichen RFID-Chips, die von GPS geschatztwird, ist nicht wichtig und fur die Verbesserung der Trajektorie nicht ver-wendet worden. Diese Position von GPS dient nur als Hilfsmittel, um deneindeutig nummerierten RFID-Chip zu markieren und wiederzuerkennen.

Außerdem wird GPS verwendet, um den Fehler einer geschatzten Positionzu berechnen und die Grundwahrheit zu bestimmen. Eine ”echte” Trajekto-rie wird per GPS berechnet, und die Genauigkeit von dieser Messung betragtzwischen ein und zehn Meter, je nachdem ob es genung Satellite in Sichtwertedes Empfangers gibt. Beide Sensoren werden mit einen Mini-Laptop (Toshi-ba libretto) betrieber. Der Mini-Laptop ist 22.86 Zentimeter groß, ungefahr1,5 kg schwer. Er besitzt einen Pentium 4 1.6GHz Prozessor und 512 MBSpeicher, und hat Linux installiert. Darauf lauft die PDR2 Software ”fuss-gaenger” fur den Xsens-Sensor, und ”gpsSender” fur den GPS-sensor, und”vrfid” fur virtuelle RFIDs. Abbildung 1 zeigt eine Ubersicht der Hardware.

Abbildung 1: Verwendet Hardware

2Das ist eine Abkurzung fur das englischen Wort ”Personal Dead Reckoning”, undauf Deutsche ist Koppelnavigation. Die ist die laufende Ortsbestimmung eines bewegtenObjekts durch Messen der Bewegungrichtung, der Geschwindigkeit und der Zeit.

5

1.3 Aufbau der Arbeit

Im Folgenden wird die Struktur der vorliegenden Arbeit vorgestellt. In Ka-pitel 2 werden die verwendeten Sensoren pasentiert. In Kapitel 3 wird dasGrundprinzip der PDR Software ”fussgaenger” erlautert. In Kapitel 4 wirddas Verfahren von Lu-Mulios beschrieben. Kapitel 5 stellt die Implementie-rung des Verfassers vor. Anschließend werde in Kapitel 6 Ergebnisse vonExperimenten gezeigt. Am Ende in Kapitel 7 stehen die Zusammenfassungund der Ausblick auf weitere Forschungen auf diesem Gebiet.

2 Beschreibung der Hardware

Zunachst soll die verwendete Hardware vorgestellt werden. Dabei handelt essich um den Xsens-Sensor MTx und um den GPS-Sensor Holux GPSlim236.

2.1 Xsens-Sensor MTx

Abbildung 2: Xsens-Sensor, MTx. Quelle: MTi and MTx ”User Manual andTechnical Documentation”

Die Firma Xsens Technologie B. V. bietet zwei Varianten, MTx und MTi.Beide sind sich im Allgemeinen ahnlich. Der MTi ist fur Anwendung auf Ro-boter besser geeignet, der MTx (siehe Abbildung 2) wird von der Firma furdie Erfassung von menschlicher Bewegung empfohlen. Deswegen verwendenwir hier den MTx. Der Xsens MTx hat einen 3D Beschleunigungssensor, 3DMagnetfeldsensor und drei Gyroskope integriert. Er kann eine driftfreie Ori-entierung errechnen, die unempfindlich gegenuber magnetischer Storung ist.

6

Er kommuniziert uber eine RS232-Schnittstelle. Gleichzeitig liefert die Firmaauch einen USB-Converter zur RS232-Schnittstelle, damit er auch per USB-Schnittstelle kommunizieren kann. Der Vorteil einer USB-Schnittstelle ist,dass neben dem Datenaustausch die USB-Schnittstelle auch fur den Stromdes Sensors sorgt. Der Sensor kostet mit gelieferter Software insgesamt uber2.000,00 Euro.

Der Sensor bietet verschiedene Formate von Ausgabedaten, wie EulerParameter, Euler Winkel und Rotation-Matrix oder Rohdatenausgabe. DiePDR Software ”fussgaenger” benutzt Rohdatenausgabe. In diesen Modellwerden 3D Beschleunigungsmesswert, 3D Megnetfeltsmesswert und 3D Gy-roskopesmesswert direkt ausgegeben.

Der MTx berechnet die Orientierung zwischen lokalen Koordinatensys-tem S und einem globalen Koordinatensystem G (siehe Abbildung 3). Dasglobale Koordinatensystem G von der Firmeneinstellung wird wie folgt defi-niert: X-Achse zeigt in Richtung des magnetischen Nordpols. Y-Achse zeigtgemaß dem rechtshandigen karthesischen Koordinatensystem nach Westen.Z zeigt nach oben. Das lokale Koordinatensystem S kann je nach Anwendung

Abbildung 3: das globale Koordinate System G (Fixed co-ordinate system)und das lokale Koordinatensystem S (MTi/MTx co-ordinate system). Quelle:MTi and MTx ”User Manual and Technical Documentation”

zu einem objektfesten Koordinatensystem gedreht werden. Im vorliegendenExperiment ist das Koordinaten-System wie im Original definiert.

7

2.2 GPS-Sensor

Der Holux GPSlim236 verfugt uber den neuen SiRF Star 3 Chipsatz, derhochste Empfangsqualitat, Empfindlichkeit, und energiesparende Mikrotech-nologie vereint. Er kann bis zu 20 Satelliten gleichzeitig ermitteln, stellt Si-gnale in unter 100ms wieder her und verbessert die Positions-Daten jedeSekunde. Er bietet eine USB-Schnittstelle, die auch gleichzeitig fur Daten-austausch und Stromversorgung genutzt werden kann. Bei den Ausgabeda-ten kann man zwischen vielen Formaten wahlen. Im vorliegenden Fall wirdGPSGGA benutzt. Von diesem Format kann man Latitude und Longitudeerhalten. Danach werden Latitude und Longitude zu UTMEasting und UT-MNorthing umgerechnet. Der Sensor bietet auch die Moglichkeit, die emp-fangenen Satellitensignale von der Station am Boden zu korrigieren. Diesesbietet eine hohere Genauigkeit, damit ist der Fehler nur bis auf einige Meterbeschrankt. Um eine bessere Position uber GPS zu bekommen, verwendenwir diese Option.

Trotz der Anwendung der Bodenstationskorrektur ist der Fehler manch-mal recht groß (uber zehn Meter), z. B. wenn man zu nah neben einemGebaude lauft, oder wenn man innerhalb eines Gebaudes lauft, dann ist GPSnicht verfugbar.

3 Fussganger Dead Reckoning

Die PDR Software ”fussgaenger” wurde von Michael Dippold an der Univer-sitat Bremen entwickelt. Die Grundtheorie fur die Schritterkennung basiertauf der Methode von PNM3. Hier stelle ich das Grundprinzip dieser Methodevor. In der Theorie konnen wir mit folgender Formel die gelaufene Distanzberechnen.

time = senor frequency−1

speed = acceleration ∗ time

distance = speed ∗ time

Wegen des Rauschens und der Schwerkraft der Erde ist der Fehler des Be-schleunigungsmesswertes großer als 10%. Deswegen ist dieses Verfahren nichtgeeignet um die Distanz direkt von dem Originalbeschleunigungsmesswerteszu berechnen. Um eine bessere Genauigkeit bei der Schritterkennung des

3Das Laboratorie de Topometrie am Ecole Rolytechnique Federale de Lausanne be-gann 1999 in Zusammenarbeit mit der Leica Vectronix AG das Projekt des PedestrianNavigation Modules

8

Menschen zu erzielen, wird eine charakteristische Analyse des Beschleuni-gungssignals erwogen. Zuerst wird die biomechanische Laufbewegung desMenschen analysiert. Jedes Individuum hat seinen eigenen Laufstil, schnelloder langsam, kleine oder große Schritte. Trotzdem konnen wir allgemeineund wichtige charakteristische Attribute von der Bewegung bzw. vom Be-schleunigungssignal finden. Uberlegen wir uns wie ein Mensch sich bewegt(siehe Abbildung 4). Zuerst startet er indem er mit dem ersten Fuß hin-ter dem zweiten Fuß steht. Wahrend der erste Fuß hinter dem zweiten Fußliegt, bewegt sich der Korper von ihm nach oben. Nachdem der erste Fußuber den zweiten Fuß schreitet, bewegt sich der Korper von ihm nach un-ten. Wenn der erste Fuß wieder zum Boden kommt, ist ein Schritt fertig undder Korper stoppt die Bewegung nach unten. Wenn er einen neuen Schrittanfangt, bewegt sich der Korper wieder nach oben. Der Xsens-Sensor MTxkann die Beschleunigung in dieser Vertikal-Achse messen. Wir konnen diemaximale Beschleunigung in dieser Achse finden, da charakteristische At-tribute vorliegen. Diese charakteristischen Attribute bzw. diese maximaleBeschleunigung konnen wir sogar auch in der lateralen Bewegung finden.Nach der Erkennung des Maximum der vertikalen Achse mussen wir die Ent-

Abbildung 4: Die Schrittfolge der biomechanischen Laufbewegung des Men-schen. Quelle: Personal Dead Reckoning with Accelerometers [Micheal Dip-pold] University of Bremmen.

scheidung treffen, in welche Richtung (vorwarts, ruckwarts, seitliche Bewe-gung bzw. links oder rechts) die Person lauft. Zuerst unterscheiden wir dieVorwarts-ruckwarts-Bewegung von der lateralen Bewegung. Vergleichen wirdiese Vorwarts-ruckwarts-Bewegung, dann hat die laterale Bewegung außerdem vertikalen Maximum auch ein kleines vertikales Maximum zwischen dengroßen Maxima. Die Ursache dafur ist, dass der zweite Fuß bei lateraler Bewe-gung am Ende eines Schrittes stoppt und nicht einen neuen Schritt startet.Die Varianz der horizontalen Achse zeigt auch die Richtung an. Es kannfestgestellt werden, dass die Achse die Bewegungsachse ist, die eine großereVarianz besitzt. Nach der Unterscheidung der lateralen Bewegung und dernormalen Bewegung (vorwarts oder ruckwarts) konnen wir die Bewegungs-achse finden. Mit der Analyse des Beschleunigungsmesswertes von der hori-zontalen Bewegungsachse konnen wir bestimmen ob vorwarts oder ruckwartsbzw. ob links oder rechts, wenn der Beschleunigungsmesswert jeweils negativ

9

oder positiv ist.Nach der Erkennung des Schrittes mussen wir die Schrittlange bestim-

men. Jeder Mensch hat seine eigene Schrittlange. Die ist nicht konstant,sondern hangt von der Frequenz, von dem Boden, von der Oberflache undanderen Umstanden ab. Um das Problem zu vereinfachen und die reale Si-tuation zu simulieren, nehmen wir an, dass die Schrittlange nur von derFrequenz abhangig und konstant ist. Nach der Forschung von J. Bertamund A. Ruina ist ein Modell fur den Zusammenhang zwischen Lauffrequenzund Schrittgeschwindigkeit(v-f relationship) entwickelt worden. Dieser Zu-sammenhang kann in einer Kalibrierungsphase bestimmt werden.

Am Ende mussen wir die Orientierung eines jeden Schrittes bestimmen.Wahrend eines Schrittes bleibt die Orientierung allgemein konstant. Bei derFußbewegung schwankt der Korper etwas, um die Balance desselben beizu-behalten. Eine solche kleine Schwankung verursacht kleinere Veranderungenin der Orientierung eines Schrittes. Diese kleine Veranderung wird auch perKompass und Gyroskop erfasst. Um diese Storung zu vermeiden, betrachtenwir die Sichtlinie eines Schrittes und bestimmen die Gehrichtung (Azimut)gemaß dieser Sichtlinie. Wenn man ruckwarts lauft, dann werden 180 Gradaddiert. Wenn man sich seitlich bewegt, 90 Grad addiert oder subtrahiert, jenachdem ob eine Links- oder Rechtsbewegung vorliegt. Somit kann ein Schrittvollstandig erkannt werden. Dann kann man die nachste Position gemaß die-ses Schrittes abschatzen. Am Ende bekommen wir eine Trajektorie fur allePositionen. Dieses Programm erkennt den Schritt sehr gut, egal ob Vorwarts-,Ruckwarts- oder laterale Bewegung. Aber es gibt auch das Problem, dass dienachfolgende Arbeit erschwert. Das Problem ist, dass der Fehler von ”fuss-gaenger” nicht wirklich normal verteilt. Die fuhrt zur Schwierigkeit bei derVerbesserung. Daruber soll an spaterer Stelle diskutiert werden.

4 Routegraph Optimierung

In diesem Kapitel wird die Grundidee der Lu-Milios Methode vorgestellt.Von ”fussgaenger” bekommen wir die Trajektorie, die aus mehreren Positio-nen entsteht. Jede Position ist ein 3D Vektor (x, y, azimut), wobei x, y dieglobalen kartesianischen Koordinaten sind. Wir nehmen an, diese Trajekto-rie enthalt den Loop selbst (siehe Abbildung 5), z. B. fangt der Loop amPunkt P0 an und endet am Punkt Pn. Die P0 und Pn sind eigentlich diesel-ben Positionen, sodass wegen des Fehlers Punkt Pn ungleich Punkt P0 istund abgeschatzt wird. Die Idee der Verbesserung ist folgende: Wir betrach-ten diesen Loop als ein Netzwerk, und konstruieren eine objektive Funktionfur dieses Netzwerk, wobei alle Punkte Variablen sind, außer der Punkt, der

10

Abbildung 5: Trajektorie des PDR Moduls

als Ursprung definiert wurde (das globale Koordinatensystem wird gemaßdiesem Punkt definiert und die Position von diesem wird als (0, 0, azimut)festgestellt.). Jede Verbindung in diesem Netzwerk geht zu einem Energie-Term (Kante) in der objektiven Funktion W, und jeder Term hat eine eigeneKovarianz. Wir konnen uns diesen Energie-Term als eine Feder vorstellen, diezwei Punkte miteinander verbindet. Eine kleine Kovarianz entspricht einerstarken Feder (große Energie) und bedeutet, dass die relative Positionsdif-ferenz von beiden Positionen nicht stark verandert werden darf. Eine großeKovarianz entspricht einer schwachen Feder (kleine Energie) und bedeutet,dass die relative Positionsdifferenz der beiden relativ stark verandert werdendarf. Wenn die relative Positionsdifferenz zwischen den beiden Punkten demMesswert entspricht, dann benotigt diese Feder minimale Energie. Dann re-prasentiert die objektive Funktion die gesamte Energie des Netzwerks(SieheAbbildung 6). Die Idee von Lu-Milios ist es, alle Variablen durch die Op-timierung zu losen, um die gesamte Energie des Netzwerks zu minimieren.

Abbildung 6: Feder Netzwerk. Jede Feder reprasentiert eine Verbindung zwi-schen den Positionen.

11

4.1 Problemspezifikation

Das Problem wird wie folgt formell definiert. Allgemein angenommen, ha-ben wir n+1 Punkte, und jeder Punkt ist ein d-dimensionaler Vektor. EineVerbindung Dij zwischen zwei Punkten Xi und Xj reprasentiert die relativeDifferenz Dij von zwei Position. Dij kann dabei eine nicht-linear Funktion vonXi und Xj sein. Wir definieren eine Beobachtung von Dij als D′

ij = Dij+δDij,wobei δDij ein zufalliger Gausian-Error mit Mittelwert bei dem Nullpunktund Kovarianzmatrix Cij ist. Es sei eine Menge aller Differenzen zwischenden Positionen mit Kovarianzmatrizen gegeben. Das Ziel ist es, die opti-male Schatzung aller Positionen X ′

is zu berechnen, unter Berucksichtigungaller Beobachtungen. Um diese zu erhalten, mussen bestimmte Voraussetzun-gen zuerst erfullt werden: Alle Beobachtungsfehler sind normal verteilt undsind voneinander unabhangig. Der Fehler von ”fussgaenger” erfullt die ersteVoraussetzung aber nicht (siehe Kapitel 3). Das ist allerdings nicht weiterproblematisch, da die Fehlerverteilung von ”fussgaenger” doch ahnlich wieNormalverteilung ist. Dann ist die Korrektur nicht optimal. Dazu wird inKapitel 6 noch einmal naher darauf eingegangen. Um das obere Kriteriumzu optimieren, ist aquivalent zu der Minimierung folgender Mahalanobis-Distanz.

W =∑ij

(Dij − Dij)T C−1

ij (Dij − Dij) (1)

In der vorliegenden Arbeit ist die Position ein 3-dimensionaler Vektor (x,y, azimut). Wegen der Winkelkomponente ist Dij nicht-linear. Wir betrach-ten zuerst die lineare Verbesserung des Problems, dannach die nicht-lineareVerbesserung.

4.2 Lineare Verbesserung

Dij = Xi −Xj ist eine lineare Funktion, wobei Xi ein d-dimensionalen Vek-tor ist. Angenommen alle Punkte sind verbunden. Das heißt, fur jedes PaarXi, Xj gibt es eine Verbindung Dij. Wir haben fur jede Beobachtung Dij derMittelwertmit Dij und Kovarianzmatrix Cij. Fur den Fall, dass die tatsachli-che Messung von Dij fehlt, konnen wir einfach C−1

ij auf Null setzen. Dannlaßt sich Formel 1 umgeschrieben wie folgt:

W =∑

0≤i≤j≤n

(Xi −Xj − Dij)T C−1

ij (Xi −Xj − Dij) (2)

Ohne Beschrangkung der Allgemeinheit wahlen wir den ersten Punkt X0 alsReferenzpunkt (das Koordinatensystem wird gemaß diesem Punkt definiert)

12

und definieren X0 = 0. Dann werden X1, X2...Xn als relative Positionen zu X0

reprasentiert. Damit konnen wir die Messfunktion in Matrixform darstellen.

D = HX (3)

wobei X ein n×d-dimensionaler Vektor der Verkettung von X1, X2, ..., Xn ist,D ist die Verkettung von allen Positionsdifferenzen der Form Dij = Xi −Xj

und H ist die Indikatormatrix mit allen Werten 1, -1 oder 0. Dann kannFormel 1 wie folgt umgeschrieben werden.

W = (D −HX)T C−1(D −HX) (4)

Wobei D die Verkettung von allen Beobachtungen Dij fur die entsprechendenDij ist und C ist die Kovarianzmatrix von D. Dann ist die Losung fur dieMinimierung von W wie folgt.

X = (HT C−1H)−1HT C−1D (5)

und die Kovarianzmatrix ist gegeben durch:

Cx = (HT C−1H)−1 (6)

Wenn die Messfehler nicht abhangig sind, dann ist C eine Block-diagonal-Matrix und die Losung trivial. Wir bezeichnen die nd×nd matrix HT C−1Hmit G und expandieren die Matrixmultiplikation. Dann enthalten wir folgen-de Formel:

Cii =n∑

j=0

C−1ij (7)

Cij = −C−1ij (i 6= j) (8)

Bezeichnen wir der n×d-dimensional Vektor HT C−1D mit B, dann lautetder d-dimensionale Sub-Vektor wie folgt(Dij = −Dij):

Bi =∑

j=0; j 6=i

C−1ij Dij (9)

Dann konnen wir die Positionsschatzung und Kovarianzmatrix folgenderma-ßen umschreiben.

X = G−1B (10)

Cx = G−1 (11)

13

4.3 Nicht-lineare Verbesserung

Die Idee der Verbesserung eines nicht-linearen Systems ist es, die nicht-lineareFunktion zu linearisieren und dann die lineare Methode zu verwenden. Bevordie Linearisierung erfolgt, leiten wir die Positionsdifferenz im nichtlinearenFall ab. Beginnt eine Bewegung bei der ersten Position Vb = (xb, yb, θb) mitder Bewegung D = (x, y, θ) relative zu Vb und endet an der zweiten PositionVa = (xa, ya, θa), dann notieren wir wie folgt:

Va = Vb ⊕D. (12)

Die Koordinate von der Position ist gegeben durch:

xa = xb + x cos θb − y sin θb (13)

ya = yb + x sin θb + y cos θb (14)

θa = θb + θ (15)

Dann konnen wir die relative Differenz von Vb und Va ableiten:

x = (xa − xb) cos θb + (ya − yb) sin θb (16)

y = −(xa − xb) sin θb + (ya − yb) cos θb (17)

θ = θa − θb (18)

Gegeben die Notation Dab = Va Vb, dann konnen wir auch Dba von Dab

ableiten:Dba = Dab = (0, 0, 0)Dab (19)

Dann konnen wir fur jede wirkliche Verbindung im Netzwerk die Messung Dab

wie oben berechnen. Wir mussen noch die Kovarianzmatrix fur die objektiveFunktion W berechnen. Die Idee dazu ist die folgende: Zuerst dreht man sichum α zur Gehrichtung. Dann bewegt man sich um eine Distanz L zur neuenPosition. Am Ende dreht man sich um β zur neuen Richtung (Abbildung 7).

Wir definieren σα, σl, σβ als Fehler fur die Variablen α, l, β. Der Wertvon σα, σl, σβ muss empirisch bestimmt werden. Im vorliegenden Experimentwurde dies folgendermaßen definiert.

σα = λ1× α (20)

wobei λ1 = 15× 15/360 (15o Fehler bei 360o Drehung)

σl = λ2× l (21)

14

Abbildung 7: Man bewegt sich von unten links nach oben rechts.

wobei λ2 = 0.2× 0.2/100 (100 Meter laufen, 0.2 Meter Fehler)

σβ = Λ1× β (22)

Dann hat D”= (x, y, θ) folgenden Zusammenhang mit α, l, β:

x = l cos α, y = l sin α, θ = α + β.

und unlinieare Koavrianzmatirx ist:

C ′ = J

σ2α 0 00 σ2

l 00 0 σ2

β

J t (23)

J ist die Jakobian Matrix:

J =

−l sin α cos α 0l cos α sin α 0

1 0 1

Angenommen der Fehler ist ∆D′ = D′ − D′. und seien Va = (xa, ya, θa),Vb = (xb, yb, θb) die Beobachtung von Va, Vb, ∆Va = Va − Va und ∆Vb =Vb − Vb. Dann konnen wir durch die Taylor-Entwicklung ∆D′ linearisieren:

∆D′ = D′ −D′ = D′ − (Va Vb) (24)

= D − ((Va −∆Va) (Vb −∆Vb)) (25)

≈ D′ − (Va Vb) + K−1b (∆Va − Hab∆Vb) (26)

(27)

15

wobei

K−1ab =

cos θb sin θb 0− sin θb cos θb 0

0 0 1

Hab =

1 0 −ya + yb

0 1 xa − xb

0 0 1

.

Wenn wir einen neuen Beobachtungsfehler ∆D = −HaKb∆D′ definieren,dann bekommen wir folgende Formel:

∆D = D − (Ha∆Va − Hb∆Vb) = D −D (28)

mit D = HaKb((Va Vb)− D′) (29)

D = Ha∆Va − Hb∆Vb (30)

D ist eine Beobachtung von D, und die Kovarianz C von D′ kann wie untenberechnet werden:

C = HaKbC′KT

b HTa (31)

Der Energienterm ist in objektiver Funktion W:

W =∑ij

(Dij −Dij)tC−1

ij (Dij −Dij) (32)

Dij = Hi∆Vi − Hj∆Vj (33)

und Dij ist die Beobachtung von Dij, und Cij kann wie oben berechnetwerden. Dann erhalten wir den linearisierte Energieterm und konnen dieobjektive Funktion der linearen Verbesserung losen.

5 Beschreibung der eigenen Implementierung

In diesem Kapitel stelle ich meine eigene Implementierung vor. Dieses Pro-gramm liest alle Informationen uber Trajektorien und RFIDs von mehrerenLeuten als GPX-Datei ein. Danach baut die Software fur jede Trajektorieein RFID-Netzwerk. Danach werden alle RFID-Netzwerke zusammengefugt,um ein großes RFID-Netzwerk zu bauen. Dieses Netzwerk wird dann mit derMethode von Lu-Milios verbessert. Am Ende wird die korrigierte Trajektoriemit verbesserten RFIDs ausgegeben.

16

5.1 Behandlung von GPX-Dateien

Um eine bessere Visualisierung zu ermoglichen, verwenden wir die GPX-Datei als Eingabe- und Ausgabedatei. Das GPX-Format ist ein Standard-Format der GoogleEarth Software. Die Struktur derselben ist einfach unddeutlich und entspricht dem XML-Standard. Der Vorteil der GPX-Datei istder folgende: Diese Daten konnen direkt in Google-Earth eingelesen wer-den und eine Visualisierung der Karte erzeugt werden. Die Darstellung istanschaulich und man braucht nicht extra ein Visualisierungsprogramm zuschreiben. Abbildung 8 zeigt ein Beispiel.

Abbildung 8: PDR Trajektorie (grun) und GPS Trajektorie(blau), visualisiertmit GoogleEarth.

Die PDR Software ”fussgaenger” speichert die Trajektorie als Positionenin eine GPS-Datei ”pdr.gpx”. Diese Datei enthalt die folgenden Informatio-nen: globale Koordinaten x, y und die Winkel Azimut sowie Zeitstempel. DasProgramm ”vrfid” speichert RFIDs mit eindeutiger RFID-Nummer und Zeit-stempel in die Datei ”rfid.gpx”. Damit konnen wir mit Zeitstempel fur jedesRFID eine entsprechende Position finden. Außerdem speichert das Programm”gpsSender” die Position des GPS-Signals in die Datei ”gps.gpx”. Diese dientals Grundwahrheit und die Trajektorie des PDR Moduls4 wird mit dieserverglichen, letztendlich konnen wir eine numerische Zahl fur die Qualitatder Verbesserung berechnen. Der Server, um die GPX-Datei zu behandeln,heißt ”logparser”. Informationen von Positionen, RFIDs und GPS werden inverschiedene Puffer gespeichert. Die GPX-Datei wird per Kommando einge-geben. Theoretisch kann man beliebig viele Dateien eingeben. Fur jeden Laufeines Teilnehmers gibt es drei GPX-Dateien, diese sind: ”pdr.gpx”, ”rfid.gpx”

4PDR Software ”fussgaenger”

17

und ”gps.gpx”. Wenn wir insgesamt zehn Laufer haben, dann mussen 30Dateien eingegeben werden. Bei meinem Experiment habe ich maximal 11Laufer verwendet.

5.2 Aufbau großer RFID-Netzwerke

Wie bereits erwahnt, brauchen wir fur die Verbesserung Schlingen in derTrajektorie. Je mehr Loops eine Trajektorie enthalt, desto besser wird dieVerbesserung, weil es mehr Beschrankungen gibt. Aber fur eine einzige Tra-jektorie ist die Wahrscheinlichkeit kleiner, dass sie direkt den Loop enthalt.Denn der Mensch lauft haufig keine Schleifen. Aber wenn wir mehrere Tra-jektorien in einem Gebiet haben, dann ist die Wahrscheinlichkeit wesentlichhoher, dass die zusammengefugte Trajektorie den Loop enthalt. Deswegenmache ich zuerst aus allen eingegebenen Trajektorien ein großes Netzwerk,um es danach zu verbessern.

Um ein großes Netzwerk zu bauen, wahle ich zuerst zwei Trajektorienaus und versuche diese zusammenzufugen. Dann wird die dritte Trajektoriemit dem Gesamtgraph zusammengebracht. Das Vorgehen wird dann fur alleTrajektorien angewandt. Deswegen stelle ich hier nur vor, wie die erstenbeiden Trajektorien zusammengefugt werden.

Zuerst bauen wir fur jede Trajektorie ein eigenes RFID-Netzwerk. Dazuwahlen wir RFIDs als Stutzstellen in jeder Trajektorie. Von Zeitstempelnder RFIDs und Positionen konnen wir fur jedes RFID eine entsprechendePosition(x, y, azimut) erhalten. Aus solchen Stutzstellen wird ein Netzwerkgebaut. Die Regeln sind die folgenden.

1.) Wenn zwei Punkte Pi, Pj nacheinander auf einer Trajektorie liegen,dann bedeutet das, dass man von Pi nachPj lauft, und es wird eine Kante vonPi nach Pj fur beide einfugt. Aus der Position Pi (xi, yi, azimuti), Pj (xj, yj,azimutj) wird die Positionsdifferenz Dij gemaß den Formeln 16-18 berechnet.Dann gibt es zwei Moglichkeiten, um die Kovarianzmatrix zu berechen.

Die eine ist, die Kovarianz direkt aus den beiden Stutzstellen gemaß denFormeln 20-22 und 31 zu berechnen. Die andere ist, alle Zwischenpositionenvon Pi nachPj herauszunehmen und mittels Dead Recknoing die Kovarianzzu berechnen, wobei jeder Schritt wie im Fall 1 behandelt wird. Die ersteVariante ist eine grobe Abschatzung fur die Kovarianz, weil man zwischenzwei RFIDs nicht weiß, wie man von einem RFID zum nachsten RFID lauft.Wenn man direkt von einem zum anderem lauft, ist die Kovarianz kleiner alsdie, bei der man einen Umweg dazwischen einlegt (Abbildung 9). Deswegenwahlen wir normalerweise fur eine prazise Kovarianz fur die Differenz Dij

die zweite Variante, um mit Dead Reckoning die Kovarianz zu berechnen.Aber fur ein Indoor-Experiment ist die zweite Variante nicht geeignet, daher

18

Abbildung 9: Direkter Weg und Umweg zwischen 2 RFIDs

verwende ich die erste Variante. Uber dieses Problem wird in Kapitel 6 nochgenauer gesprochen. Welche Variante man benutzen will, kann man uber dieKommando-Zeile eingeben.

2.) Wenn fur alle direkten Verbindungen eine Kante eingefugt wird, su-chen wir die gemeinsamen RFIDs mit dieser Trajektorie. Wenn zwei verschie-dene RFIDs dieselbe RFID-Nummer haben (das bedeutet, diese Trajektorieenthalt selbst einen Loop, (Abbildung 10)), dann wissen wir, dass die bei-den Punkte eigentlich dieselbe Position haben. Das heißt, die Differenz vonden beiden muss wie folgt sein: Dij = (0, 0, θ). Denn wenn beide Positionengleich sind, dann sollte xi = xj, yi = yj, aber azimuti und azimutj kannunterschiedlich sein. Wegen des Fehlers der RFID Detektion definieren wireine spezielle Kovarianzmatrix: 10× 10 0 0

0 10× 10 00 0 σβ

Nach jeder Behandlung einer Trajektorie. Dann konnen wir die ersten

zwei RFID-Netzwerke zusammenfugen. Die Idee ist folgende: Alle Kanten,die das vorherige Netzwerk enthalt, werden beibehalten. Außerdem werdenwir einige spezielle Kanten einfugen.Wenn wir einen RFID-Punkt entdeckender in beiden Netzwerken enthalten ist, bedeutet das, dass die beiden Lauferzusammen eine Position besitzen (Abbildung 11). Beide Positionen solltengleich sein, deswegen fugen wir eine spezielle Kante fur beide mit Dij = (0,0, θ) und spezieller Kovarianz ein.

Wenn wir eine Kante finden, die in beiden Netzwerk enthalten ist (Ab-bildung 12), dann bedeutet das, dass die beiden Laufer zusammen denselbenWeg benutzt haben (es kann sein, dass der Weg Anfangspunkt und Endpunktgleich hat oder genau umgekehrt ist, aber die Zwischenpositionen vollig ande-re sind). Die beiden Kanten haben schon dieselben Dij und Cij in dem eigenen

19

Abbildung 10: Spezielle Kante im Netzwerk

Abbildung 11: Trajektorie 1 (grun) und Trajektorie 2 (blau) besitzen gemein-samen RFID i.

20

Netzwerk. Wir mussen alle zusammenfugen. Wir konnen die Kovarianz vonbeiden Kanten vergleichen und die kleinere Kovarianz von beiden herausneh-men, dann ist die andere Differenz die gleiche wie diese Differenz und die Ko-varianz gleich dieser Kovarianz. Denn eine kleinere Kovarianz bedeutet aucheine bessere Schatzung fur die Differenz. Wenn wir eine bessere Schatzung furdiese Strecke haben, dann konnen wir alle anderen schlechten Schatzungendurch diese ersetzen. Danach werden die beiden RFID-Netzwerke zusam-

Trajektorie1 (grun) und Trajektorie2 (blau) besitzen gemeinsamen Weg.

Abbildung 12: Trajektorie 1 (grun) und Trajektorie 2 (blau) besitzen gemein-samen Weg.

mengefugt. Wir konnen andere auch so rekursiv zusammenfugen. Am Endebekommen wir ein großes RFID-Netzwerk, das alle RFID-Netzwerke enthalt.Dann konnen wir das zusammengefugte RFID-Netzwerk mit der Methodevon Lu-Milios verbessern.

5.3 Kovarianz Update mit der Dead Reckoning-Methode

Wir haben eine Strecke, die aus mehreren Positionen P0, ..., Pn besteht. AmAnfang und am Ende stehen die zwei Punkten P0 und Pn . Jetzt haben wir diePositionsdifferenz D0n von der, wobei D0n nach Formel 16 bis 18 berechnetwerden kann, und wir mochten wissen, wie gut diese Positionsdifferenz ist.Dazu betrachten wir die Kovarianzmatrix fur diese Differenz. Da die Teilneh-mer von P0 nach Pn laufen, spielt dies fur die Qualitat die Positionsdifferenzeine große Rolle. Dann berechnen wir diese Kovarianz unter Berucksichti-gung dieses Unterschieds, die Zwischenposition wird namlich benutzt, um

21

die Kovarianz anzupassen. Dazu benutzen wir die Dead Reckoning-Methode.Mit Dead Reckoning wird die Kovarianz rekursiv berechnet. Sei P0 Vektor(x0, y0, azimut0)

T und P1 Vektor (x1, y1, azimut1)T . Dann die ist erste Ko-

varianz:

C01 =

σ2x σxy σxθ

σxy σ2y σyθ

σxθ σyθ σ2θ

Wir haben jetzt die Differenz D01 und deren Kovarianz C01. Wenn P2 kommt,dann konnen wir Odometrie Informationen von P2, P1 erhalten, namlichα, l und β. Fur die dazugehorige Kovarianz gilt:

Cα =

σ2α 0 00 σ2

l 00 0 σ2

β

Aus der Relation von x, y, θ und α, l, β, konnen wir mit folgender Formeldie Kovarianz berechnen.

C02 = ∆FαC01∆F tα

wobei ∆ F die Jakobi-Matrix von der nicht-linearen TransformationsfunktionF ist:

∆F =

1 0 −l sin α −l sin α cos α 00 1 l cos α l cos α sin α 00 0 1 1 0 1

Rekursiv kann man die nachste Kovarianz berechnen, bis die letzte Positi-on Pn erreicht ist. Dann erhalten wir eine prazise Kovarianz-Matrix fur diePositionsdifferenz fur beide RFIDs.

5.4 Verbesserung der Trajektorie mittels korrigiertemRFIDs

Das Problem ist folgendes. Wir haben die RFIDs korrigiert, aber die Zwi-schenpositionen werden nicht korrigiert. Wir mochten mit der korrigiertenRFIDs die gesamte Trajektorie korrigieren. Es sind die Trajektorie und diekorrigierten RFIDs (Abbildung 13) gegeben. Wegen des Zeitaufwands korri-gieren wir die Trajektorie stuckweise. Zum Beispiel wahlen wir eine Streckevon Pn bis Pm aus. Dazu haben wir zwei korrigierte RFIDs Ri und Rj (Ab-bildung 14). Pn entspricht RFID i, und Pm entspricht RFID j. Waren RFIDsnicht korrigiert, dann waren Pn Ri und Pm Rj vollig gleich. Aber nach der

22

Originaltrajektorie mit korrigierten RFIDs (rote Kreise)

Abbildung 13: Originaltrajektorie mit korrigierten RFIDs (rote Kreise)

Korrektur ist Pm ungleich Rj, dann konnen wir eine spezielle Kante zwischenPm und Rj bauen, sodass die DPmRj

= (0, 0, θ), gleich der Kovarianz ist:

KPmRj=

25 ∗ 25 0 00 25 ∗ 2500 0 ∆θ

Die beiden RFID sind schon korrigiert und die relative Position der beiden

Abbildung 14: Stuck von Trajektorie korrigieren

darf nicht mehr verandert werden. Dann bauen wir noch eine spezielle Kantefur die beiden RFIDs, namlich die Positionsdifferenz DR0R1 = (x, y, θ) wirdmit den Formeln 16 bis 18 berechnet und die spezielle Kovarianzmatrix istwie immer fur diese Kante vorgegeben. Wir bauen eine normale Kante fur je-de Verbindung von P0 zu Pn. Dann haben wir wieder ein Netzwerk mit Loops,welches wir mit der Methode von Lu-Milios verbessern konnen. So bekom-men wir eine verbesserte Trajektorie. Die anderen Strecken konnen auch so

23

behandelt werden, dann erhalten wir am Ende eine verbesserte Trajektorievon korrigierten RFIDs.

6 Experimente

Es werden zwei Experimente durchgefuhrt. Das eine ist ein Outdoor-Experimentund das andere ein Indoor-Experiment.

6.1 Outdoor-Experiment

Das Outdoor-Experiment besteht aus acht Trajektorien. Alle Trajektorienbesitzen kein eigenen Loop. Abbildung 15 zeigt das Bild der Originaltrajek-torien, und Abbildung 16 zeigt die GPS-Trajektorien (als Grundwahrheit).

Abbildung 15: Trajektoriendes PDR Moduls

Abbildung 16: Trajektorienvon GPS Empfanger

Die kurzeste Trajektorie ist ungefahr 600 Meter lang. Alle anderen Trajek-torien sind uber 1.000 Meter lang. Wenn man die unkorrigierten Trajektoriendes PDR Moduls sieht, kann man feststellen, dass der Fehler relativ groß ist,wenn die Trajektorie uber 1.000 Meter lang ist. Besonders ist der Fehler derWinkel nach einer großen Richtungsanderung sehr groß. Man kann auch vonden unkorrigierten Trajektorien sehen, dass die Voraussetzung der Normal-verteilung bei der PDR Software ”fussgaenger” nicht erfullt wird. Diese Ei-genschaft erschwert die Korrektur aller Trajektorien. Somit ist das Ergebnisauch nicht optimal. Abbildung 17 zeigt den korrigierten RFID-Track.

Von dem korrigierten RFID-Track kann man sehen, dass allgemein gese-hen das ganze Bild wesentlich verbessert wurde. Aber fur einige Trajektoriensind die Verbesserung nicht so groß. Die Verbesserung ist hier sichtbar.

24

Abbildung 17: Korrigierter RFID-Track

Um die Wirkung der Verbesserung besser zu vergleichen, berechnen wirden sogenannten XTE (Cross-Track Error), ATE ( Along-Track Error) undCartesian-Error fur unkorrigierte Trajektorien, Single-Korrektur und Multi-Korrektur. Weil alle Trajektorien keinen eigenen Loop besitzt, konnen dieTrajektorien nicht einzeln verbessert werden. Denn sind die XTE-, ATE-und Cartesian-Error von Single-Korrektur der Trajektorien gleich wie dieder unkorrigierten Trajektorien. Die nachfolgenden Abbildung 18 zeigt dieErgebnisse.

Von diesen Zahlen aus gesehen, ergibt die Multi-Verbesserung Sinn. VomAllgemeinen aus gesehen, ist der Fehler der meisten Trajektorien kleiner alsdie der unkorrigierten oder Single-Korrekturen. Mit der Multi-Korrektur ha-ben wir eine Moglichkeit, die einzige Trajektorie zu verbessern, die keineneigenen Loop enthalt.

6.2 Indoor-Experiment

Das Indoor-Experiment besteht aus sechs Trajektorien. Die Trajektorie 1 istvollig im Outdoor-Lauf. Alle anderen Trajektorien sind Outdoor- und Indoor-kombinierte Laufe. Hier bedeutet Indoor, dass man durch ein Gebaude lauft.Und alle Laufe sind kurzer als die Outdoor-Laufe, der langste betragt un-gefahr 500 Meter. Fur das Outdoor-Experiment konnte eigentlich GPS ver-

25

Abbildung 18: XTE- ATE- und Cartesian-Error vom Outdoor-Experiment

wenden werden, aber fur indoor(im Gebaude) konnen wir kein GPS verwen-den.

Fur Indoor ist ein anderes Problem: magnetische Storungen. Im Gebaudeist die magnetische Storung wesentlich großer als draußen. Die magnetischeStorung entsteht durch Stahlbeton, metallene Turen, metallene Mobel undandere Metallgegenstande. Diese Storung ist fur den Xsens schadlich, weildarin ein 3D Kompass integriert ist. Die magnetische Storung stort denKompass, und wenn die magnetische Storung zu stark ist, kann der Sensorgestort werden. Ich habe diese Storung auch bei meinem Experiment be-merkt. Diese war zwar nicht so stark, aber fur meine Korrektur spielt dieseStorung eine entscheidende Rolle. Namlich dann, wenn ich den Trajektorienwie normale (wie Outdoor-Trajektorien) behandele, funktioniert die Korrek-tur nicht. So muss ich mein Programm ein bisschen korrigieren, damit sichdieses an die Indoor-Gegebenheiten anpasst. Zuerst markiere ich alle Indoor-Kanten (die Kanten im Gebaude) mit einen Flag ”indoor”. Dann definiereich fur jede Indoor-Kante einen Fehler von 30 Grad pro 360 Grad Drehung.Fur die Berechnung der Kovarianzmatrix werde ich die einfache Methodebenutzen bzw. die Kovarianzmatrix wird nur aus Anfangspunkt und End-punkt der Kante berechnet, nicht aus den Zwischenpositionen mit der Dead

26

Reckoning-Methode. Die Grunde dafur sind, dass die Winkel der Zwischen-positionen wegen magnetischer Storungen nicht mehr richtig sind. Ich darfdiese falschen Informationen nicht benutzen. Mit solcher Sonderbehandlungvon Indoor-Kanten erhalte ich das beste Korrekturergebnis.

Die folgenden Abbildungen 19 und 20 zeigen die Grundwahrheit und dieTrajektorien des PDR Moduls. Die Grundwahrheit ist manuell erstellt wor-den, weil das GPS-Signal an dieser Stelle, sowohl im Gebaude als auch au-ßerhalb des Gebaudes, allgemein schlecht ist. Im Gebaude ist GPS gar nichtverwendbar, außerhalb des Gebaudes ist es auch nicht gut, weil man zu naham Gebaude lauft. Deswegen erzeuge ich die Grundwahrheit von Hand.

Abbildung 19: Trajektoriendes PDR Moduls

Abbildung 20: true Trajektorie

Die Abbildung 21 zeigt das korrigierte RFID-Netzwerk. Vom korrigiertenRFID-Netzwerk aus gesehen, ist die Korrektur relativ gut. Die korrigiertePosition von RFIDs ist ungefahr gleich wie die Grundwahrheit. XTE-Error,ATE-Error und Cartesian-Error bestatigen auch das Ergebnis (Die Abbil-dung 22).

Von diesen Zahlen aus gesehen, ist die Multi-Verbesserung die beste. Dieselasst die Moglichkeit offen, diejenigen Trajektorien zu verbessern, die keineeigenen Loops enthalten. Fur die Trajektorien, die selbst Loops enthalten,liefert die Multi-Korrektur ein besseres Ergebnis. Das Experiment bestatigtunsere Erwartung.

7 Zusammenfassung und Ausblick

Wir verwendeten den Xsens MTx und die dazugehorige Software ”fussgaen-ger”, um die Trajektorien eines Laufs zu erzeugen. Wir benutzten außerdemdie RFID-Technologie, um den Loop zu erkennen und ein großes Netzwerk

27

Abbildung 21: Korrigierte RFID-Track

Abbildung 22: XTE- ATE- und Cartesian-Error vom Indoor-Experiment

von allen Trajektorien zu bauen. Danach verwendeten wir die Methode vonLu-Milios, um das RFID-Netzwerk zu korrigieren. Fruher wurden auch beianderen Experimenten die RFID-Technologie und Methode von Lu-Milioseingesetzt, um die Trajektorie von Robotern zu korrigieren. Der grundsachli-

28

che Unterschied zu der fruheren Arbeit besteht darin, dass wir mehrere Tra-jektorien gleichzeitig korrigieren konnen. Der Vorteil davon ist, wenn dieTrajektorie keinen eigenen Loop enthalten, kann mit dieser Methode auchdiese korrigiert werden. Außerdem wird GPS als Hilfsmittel verwendet, umRFIDs zu simulieren und die Grundwahrheit zu erzeugen, damit kann manvergleichen, wie gut die Korrektur tatsachlich funktioniert.

Durch das Indoor- und Outdoor-Experiment konnten wir zeigen, dassdie Multi-Korrektur tatsachlich funktioniert und bessere Ergebnisse liefert.Das Indoor-Experiment war insofern interessant, weil man dort kein GPSverwenden kann. Das Ergebnis zeigt, dass die getestete Methode fur Indoorgut geeignet ist. Das ist sehr wichtig, da fur ein Indoor-Szenario dieser Einsatzeine gute Variante ist, wenn man innerhalb von Gebauden navigieren mochte.

Aber durch das Experiment haben wir auch Problem entdeckt. Die Kor-rektur und braucht volle Information. Das heißt, alle Leute, die laufen, konnennebeneinander auch kommunizieren. Aber in einem Rescue-Szenario ist dashaufig nicht moglich. Deswegen uberlegen wir in Zukunft, ein dezentralesVerfahren einzufuhren. Die Idee ist die folgende: Wenn jemand an einemRFID-Chip vorbeilauft, dann kann dieser RFID-Chip die bisherige Trajek-torie des Laufers speichern. Wenn andere Leute auch daran vorbeilaufen,dann wird dasselbe Verfahren angewandt. Denn in diesem Chip konnen Teil-Trajektorien von mehreren Leuten gespeichert werden. Wir konnen die bishe-rige Information von Teiltrajektorien verwenden, weil das moglich ist, dass indiesen bereits Loops enthalten sind. Dann konnen wir diese korrigieren unddanach die korrigierten Informationen wieder in diesen Chip einschreiben.Der Vorteil davon ist, dass die Leute mussen nicht miteinander kommuni-zieren mussen, da namlich der RFID-Chip zur indireckter Kommunikationverwendet werden kann.

29

Literatur

[1] Xsens Technologies B. V. MTi and MTx User Manual and TechnicalDocumentation. www.xsens.com

[2] Michael Dipppold. Personliche Positionsbestimmung mit Beschleuni-gungssensoren.

[3] Michael Dippold. Personal Dead Reckoning with Acclerometers.

[4] F. Lu and E. Milios. Globally consistent Rang Scan Alignment for Envi-roment Mapping.

[5] Holyer Kenn, Nils Behrers and Alexander Kleiner. Optimizing indoorPDR Performance with self-deployed position markers.

[6] libproj4 : Gerald I. Evenden. A comprehensive library of Cartographic Pro-jection Functions.

[7] Jens-Steffen Gutmann. Robuste Navigation autonomer mobiler systeme.

[8] GPS Format: GPGGA. http://de.wikipedia.org

[9] UTM-Abbildung und Koordinaten.

[10] The GPS Exchange Format.. http://www.topografix.com/gpx.asp

[11] XTE ATE and Cartisian-Error. http://www.wikipedia.com

30