Bachelorarbeit - Martin Hu127...

52
OTTO-VON-GUERICKE-UNIVERSIT ¨ AT MAGDEBURG FAKULT ¨ AT F ¨ UR INFORMATIK Institut f ¨ ur Verteilte Systeme Embedded Systems and Operating Systems O T T O - V O N - G U E R IC K E - U N I V E R S ITÄ T M A G D E B U R G Martin H ¨ unermund 186501 Bachelorarbeit Entwicklung eines Navigationssystems f¨ ur ein autonomes Modellfahrzeug Betreuer: Prof. Dr. J¨ org Kaiser Dr. Ing. Sebastian Zug Otto-von-Guericke-Universit¨ at Magdeburg Fakult¨ at f ¨ ur Informatik Universit¨ atsplatz 2 39106 Magdeburg

Transcript of Bachelorarbeit - Martin Hu127...

OTTO-VON-GUERICKE-UNIVERSITAT MAGDEBURG

FAKULTAT FUR INFORMATIKInstitut fur Verteilte Systeme

Embedded Systems and Operating Systems

O

TTO

-VO

N-G

UE

R

ICKE-UNIVERSIT

ÄT

MA

GD

EB

UR

G

Martin Hunermund186501

BachelorarbeitEntwicklung eines Navigationssystems fur ein autonomes Modellfahrzeug

Betreuer:Prof. Dr. Jorg KaiserDr. Ing. Sebastian Zug

Otto-von-Guericke-Universitat MagdeburgFakultat fur InformatikUniversitatsplatz 239106 Magdeburg

Inhaltsverzeichnis

Inhaltsverzeichnis

1 Einfuhrung 3

1.1 Carolo-Cup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Aktueller Stand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 Geplante Entwicklung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.4 Anforderungen an das zu entwickelnde System . . . . . . . . . . . . . . . . . 51.5 Anforderungen an den Leser . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.6 Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Konzept 7

2.1 Ausbau der bisherigen Kamera-Wahrnehmung . . . . . . . . . . . . . . . . . . 72.2 Grundlagen der Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3 Inertial Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.4 Unterstutzende Sensorik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.4.1 Magnetometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.4.2 Inkrementalgeber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.4.3 Keine Positionssensorik . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.5 Ausgewahlte Sensoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3 Sensoranalyse 12

3.1 Beschleunigungssensor und Gyroskop . . . . . . . . . . . . . . . . . . . . . . 123.1.1 Skalierungsfaktoren . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.1.2 Allan-Varianz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.1.3 Reprasentation von Rauschgroßen in Allan-Varianz . . . . . . . . . . . 143.1.4 Relative Abweichung der Allan-Varianz-Berechnung . . . . . . . . . . 203.1.5 Testaufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.2 Magnetometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.2.1 Kalibrierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.2.2 Verbleibender Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.2.3 Testaufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.3 Inkrementalgeber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.3.1 Bestimmung des Ubersetzungsfaktor . . . . . . . . . . . . . . . . . . 233.3.2 Bestimmung der Varianz . . . . . . . . . . . . . . . . . . . . . . . . . 233.3.3 Testaufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.4 Zusammenfassung: Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

1

3.5 Testergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.5.1 Beschleunigungssensor und Gyroskop . . . . . . . . . . . . . . . . . . 243.5.2 Magnetometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.5.3 Inkrementalgeber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4 System-Entwurf und Analyse 31

4.1 Inertial Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.2 Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.2.1 Kalman Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.2.2 Filter-Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.3 Zusammenfuhrung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.3.1 Filter Spezifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.4 Filter Stabilitat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

5 Evaluation 41

5.1 Testaufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415.2 Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5.2.1 Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425.2.2 Orientierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425.2.3 Geschwindigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

6 Schluss 45

6.1 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Abbildungsverzeichnis 47

Tabellenverzeichnis 48

Literaturverzeichnis 49

Einfuhrung

1 Einfuhrung

Fur den Hochschulwettbewerb Carolo-Cup der Technischen Universitat Braunschweig soll einautonom fahrendes Fahrzeug im Maßstab 1:10 entwickelt werden.

1.1 Carolo-Cup

Aus den offiziellen Regeln des Carolo-Cup[Car14]:Das Studententeam wird von einem fiktiven Fahrzeughersteller beauftragt, anhand eines Modell-fahrzeugs im Maßstab 1:10 ein moglichst kostengunstiges und energieeffizientes Gesamtkonzepteines autonomen Fahrzeuges zu entwickeln, herzustellen und zu demonstrieren. Beim Wettbe-werb mussen moglichst schnell und fehlerfrei bestimmte Fahraufgaben bewaltigt werden unddas erarbeitete Konzept in Prasentationen erlautert werden.Das Fahrzeug soll autonom auf einem unbekannten Rundkurs (z.B. Abb. 1.1) eine moglichstgroße Strecke zurucklegen. Das Fahrzeug startet auf der Straße an einer weißen 40 mm breitenStartlinie, indem ein Taster am Fahrzeug betatigt wird.Fur diese Disziplin stehen jedem Team 3 Minuten zur Verfugung.

Abbildung 1.1: Carolo-Cup Strecke

Die Straße ist konstant 820 mm breit und anden Randern mit durchgezogenen Linien abge-grenzt. Die Straße wird durch eine gestrichelteMittellinie in zwei Fahrstreifen aufgeteilt. Al-le Linien sind weiß und ca. 20 mm breit. DieMittellinie ist alle 200 mm durch eine 200 mmLucke unterbrochen. Dieses Schema wird biszum Erreichen einer Kreuzung oder Startli-nie fortgesetzt. Dies bedeutet, dass die Mit-tellinienmarkierung an einer Kreuzung oderStartlinie mit einer Lucke enden kann.Die komplette Rundstrecke befindet sich inder Ebene. Alle drei Linien konnen in allenDurchlaufen an beliebiger Stelle auf einerLange von bis zu 1000 mm unterbrochen werden. Außer an Kreuzungen fehlen jedoch ankeiner Stelle des Rundkurses mehr als zwei Linien gleichzeitig.

3

Einfuhrung

1.2 Aktueller Stand

Bisher wird die Aufgabe des Carolo-Cup folgendermaßen umgesetzt:Mit einer Kamera, die auf die Fahrbahn ausgerichtet ist, werden die Straßenmarkierungenerkannt. Auf Grund der erkannten Straßenmarkierungen wird eine Zieltrajektorie in den beob-achteten Straßenausschnitt projiziert. Um diese Zieltrajektorie anzusteuern wird ein Punkt ineiner festen Entfernung vom Fahrzeug auf dieser Trajektorie als aktuellen Zielpunkt ausgewahlt.Mittels einfacher PID-Regler wird die Servo-Einstellung geregelt, um das Fahrzeug in Richtungdes Zielpunktes zu steuern. Dabei wird dauerhaft eine konstante Geschwindigkeit eingehalten.Dieser relativ einfache geometrische Ansatz hat sich als recht robust erwiesen. Jedoch wurdenbereits einige Schwachen erkannt. Als erstes fallt auf, dass die Geschwindigkeit nicht geregeltwird. Gerade auf langen Strecken ware es jedoch sinnvoll die Geschwindigkeit zu erhohen. Umnicht aus Kurven auszubrechen, muss die Geschwindigkeit jedoch wieder rechtzeitig reduziertwerden. Das Blickfeld der Kamera reicht jedoch nicht weit genug nach vorne, um Kurvenrechtzeitig zu erkennen. Außerdem gibt es den Fall, dass die Fahrbahn eine S-Kurve nimmt. DieZieltrajektorie wird zwar zur Zeit in diesem Fall meistens richtig erkannt, jedoch fuhrt der obenbeschriebene geometrische Regler-Ansatz dazu, dass er die Fahrbahnmarkierungen in solchenSituationen schneidet. An Kreuzungen tritt ein weiteres Problem auf. Direkt vor einer Kreuzungsind kaum Fahrbahnmarkierungen zu sehen, da auf die Kreuzung selbst geschaut wird. Dadurcherkennt die Wahrnehmung in solchen Fallen nicht immer die richtige Zieltrajektorie und eskommt vor, dass das Fahrzeug wegen Blindheit anhalten muss, aus der Fahrbahn ausbricht, da eseine durch Bildstorungen falsch ermittelte Zieltrajektorie anfahrt oder manchmal auch einfachabbiegt, weil die Straßenmarkierung der kreuzenden Straße erkannt werden. Diese Problemekommen dadurch zustande, dass nur unmittelbar vor das Fahrzeug geschaut wird.

1.3 Geplante Entwicklung

Um diese Probleme anzugehen, ist ein anderes Konzept geplant: die Fahrt auf einer globalenKarte. Diese wird vor oder wahrend der Fahrt (SLAM; von engl. Simultaneous Localizationand Mapping) erstellt. Auf dieser Karte wird ein optimaler Pfad geplant, der dann abgefahrenwerden soll. Angesteuert werden soll dieser Pfad mittels einer MPC (engl. Model PredictiveControl). Die MPC beruht auf einem Fahrzeug-Modell, welches das Verhalten des Fahrzeugesauf Basis von aktuellem Status und Steuergroßen vorhersagt (daher “model predictive”). DieSteuergroßen sind dabei die eingestellte Motorstarke, um die Geschwindigkeit zu beeinflussen,sowie die Servo-Stellung zum Lenken. Mittels dieser Moglichkeit, Vorhersagen bzgl. bestimmterSteuerbefehle zu machen, lassen sich die optimalen Steuerbefehle ermitteln, um den geplantenPfad abzufahren. Die MPC fur das Ottocar-Projekt wird zur Zeit von anderen Studenten des

4

Einfuhrung

Ottocar-Teams entwickelt und ist nicht Teil dieser Arbeit.Die MPC benotigt fortlaufend den aktuellen Fahrzeugstatus mit Informationen uber Geschwin-digkeit, Position, Orientierung, und Drehrate. Es ist die Aufgabe dieser Arbeit ein System zuentwickeln, welches diese zur Verfugung stellt. Die Bestimmung von Geschwindigkeit, Position,Orientierung, und Drehrate ist ein Problem der Navigation [BOW02], deswegen wird diesesSystem als Navigationssystem bezeichnet.

1.4 Anforderungen an das zu entwickelnde System

Abbildung 1.2: Fahrzeug auf Fahrbahn

Es soll ein System entwickelt werden, wel-ches Geschwindigkeit, Position, Orientierung,und Drehrate des Fahrzeuges dauerhaft undluckenlos zur Verfugung stellt. Das Systemmuss dabei die gleiche Taktrate der restli-chen Software des Ottocar-Fahrzeuges errei-chen, welche 100 Hz betragt. Die zeitlicheVerzogerung zwischen realen und berechne-ten Werten soll so gering wie moglich sein,da die MPC moglichst aktuelle Informatio-nen benotigt, um sinnvoll handeln zu konnen.Die Aufgabe des Fahrzeuges im Carolo-Cupist es, die Fahrspur zu halten. Die Fehlerva-rianz der Positionangaben darf deshalb einenbestimmten Wert nicht uberschreiten. Wenndie Positionsangaben maximal 10 cm vomtatsachlichen Wert abweichen, lasst sich dasFahrzeug gerade noch innerhalb der Fahrspurhalten ohne die Fahrbahnmarkierungen zuberuhren. Dies ist in Abb. 1.2 veranschaulicht.Unter der Annahme, dass die MPC dafur sorgt, dass die ihr vom Navigationssystem geliefertePosition in die Mitte der Fahrbahnspur geregelt wird, wird ersichtlich, dass selbst wenn diesePosition, um bis zu 10 cm abweicht, die tatsachliche Position des Fahrzeuges noch immerinnerhalb der Fahrspur ist.

5

Einfuhrung

1.5 Anforderungen an den Leser

Um den Rahmen dieser Arbeit in einem uberschaubaren Rahmen zu halten, werden ein paarGrundkenntnisse vom Leser erwartet. Dazu gehoren physikalisches Grundwissen, speziell uberdie Newtonsche Physik und ein Verstandnis uber Messfehler. Ebenfalls wird vom Leser einmathematisches Grundwissen, speziell in den Teilgebieten Analysis und Stochastik, erwartet.Es werden nicht alle verwendeten Konzepte und Methodologien aufs genaueste erklart (z.B.Kalman Filter). Stattdessen wird an geeigneten Stellen auf andere Quellen verwiesen, bei denenman sich genauer informieren kann.

1.6 Aufbau der Arbeit

Im Kapitel 2 wird das untersuchte Problem dieser Arbeit genauer beleuchtet und verschiedeneLosungsansatze vorgestellt. Im Kapitel 3 wird die verwendete Sensorik und ihre Fehlermodelleuntersucht. Diese Informationen sind notwendig, um im Kapitel 4 ein geeignetes System zu ent-werfen. Das entwickelte System wird im Kapitel 5 an echten Testdaten evaluiert. Abschließendwird im letzten Kapitel 6 eine Zusammenfassung uber die geleistete Arbeit, die aufgetretenenund auch die ungelosten Probleme gegeben. Es werden Empfehlungen fur Arbeitsanweisungengegeben, wie die noch ungelosten Probleme angegangen werden konnten. Es wird weiterhinbeleuchtet, welche Verbesserungsmoglichkeiten bestehen und wie in der Zukunft das entwickelteSystem erweitert werden konnte.

6

Konzept

2 Konzept

Im folgenden Kapitel sollen nun mogliche Losungsansatze fur das gegebene Problem diskutiertwerden.

2.1 Ausbau der bisherigen Kamera-Wahrnehmung

Eine naheliegende Moglichkeit ist es, die bisherige Kamera-Wahrnehmung, die zur Fahrbahner-kennung genutzt wird, auszubauen, um die notigen Daten (Geschwindigkeit, Position, Orientie-rung, und Drehrate) zu bestimmen. Dieser Ansatz ist jedoch nicht ideal, da er einige Schwachenhat, wodurch die Anforderungen an das zu entwickelnde System nicht eingehalten werdenkonnen.Die Sicht des Fahrzeuges auf die Strecke lasst nicht auf eine eindeutige Position schließen. Mar-kante Punkte wie Kurvenein- und -austritte oder Kreuzungen grenzen die moglichen Positionendes Fahrzeuges schon mehr ein. Dies verletzt die Anforderung, dass luckenlos Informationengeliefert werden mussen.Durch Beobachten der mittleren Fahrbahnmarkierung konnte am Versatz der Mittelstreifendie Geschwindigkeit abgelesen werden. Die Strecke enthalt jedoch Fehlstellen und auch wenndie mittlere Fahrbahn zeitweise nicht zu sehen ist, ist dennoch eine sinnvolle Schatzung derGeschwindigkeit notwendig. Eine Geschwindigkeit auf Grund der Bewegung der Mittelstreifenlasst sich somit schon vom Streckenaufbau her nicht zu jedem Zeitpunkt ermitteln. Aber auchwenn der Mittelstreifen sichtbar ist, lasst sich abhangig von Geschwindigkeit des Fahrzeugesund der Bildwiederholrate nicht eindeutig auf eine Geschwindigkeit schließen.Die Bildwiederholrate der Kamera und der Bildverarbeitung sind schon zum jetzigen Zeitpunkt(≈50 Hz) nicht in dem Bereich, in dem das Navigationssystem Daten liefern soll(100 Hz).Kennt man die aktuelle Position und die globale Karte, kann man den aktuellen Sichtbereichmit dem entsprechenden Ausschnitt in der globalen Karte vergleichen und somit die Drehungermitteln. Dafur wird jedoch die Position benotigt, die, wie oben erwahnt, mit der Kamera nichtzu jeder Zeit bestimmt werden kann.Zusatzlich treten unvorhersehbare Bildstorungen auf. Verursacht werden diese durch Reflek-tionen, sich verandernde Lichtverhaltnisse, umherlaufende Personen auf der Fahrbahn, Kabelam Rand der Fahrbahn und weitere. Es kann dadurch nicht garantiert werden, dass zu jedemZeitpunkt ein gut erkennbares Kamerabild verfugbar ist.Der Fahrzeugstatus muss jedoch auch dann jederzeit ermittelt werden konnen.Ein kamerabasiertes Navigationsssytem ist also nicht geeignet, um den Anforderungen gerecht

7

Konzept

zu werden.Auch sind externe Hilfen wie GPS, Peilung oder externes optisches Tracking den Carolo-Cup-Regeln nach nicht erlaubt/bzw. moglich, da das Fahrzeug autonom und nur in Innenraumenfahren darf.

2.2 Grundlagen der Navigation

Es muss also auf andere Weise nach einer Losung gesucht werden. Bei der Recherche derLiteratur zum Thema Navigation stoßt man sehr schnell auf das Konzept des “Dead Reckoning”zu dt. Koppelnavigation.“Dead Reckoning” ist definiert als fortlaufender Prozess der naherungsweisen Ortsbestimmungeines bewegten Objekts, aufgrund von Bewegungsrichtung (Kurs / Orientierung) und Geschwin-digkeit [Wik14a].Dieses Konzept wird schon seit Jahrhunderten in der Schiffsnavigation genutzt. In Abb. 2.1ist diese Arbeitsweise veranschaulicht. Aus Kurs und Geschwindigkeit wird ein globaler Ge-schwindigkeitsvektor berechnet. Dieser Vorgang wird Resolution [TW04, S. 24] genannt und inBlockdiagrammen in dieser Arbeit mit R symbolisiert. Ausgehend von einer Startposition erhaltman nun durch Integration dieses Geschwindigkeitsvektors fortlaufend eine Schatzung der Posi-tion. Dieses Vorgehen beruht auf dem erstmals von Galileo Galilei formulierten Tragheitsprinzip,welches auch als Inertialgesetz bekannt ist.

KursKurs

Geschwindigkeit

Startposition

R∫

Position

Abbildung 2.1: Koppelnavigation

2.3 Inertial Navigation

Erweitert man das Prinzip der Koppelnavigation um die Großen Beschleunigung und Drehratespricht man von einer Inertial Navigation. Veranschaulicht ist dies in Abb. 2.2. Die GroßenBeschleunigung und Drehrate werden benutzt, um durch Integration die fur die Koppelnavigation

8

Konzept

benotigten Großen Kurs / Orientierung und Geschwindigkeit zu ermitteln. Ein Vorteil dieserHerangehensweise ist, dass Beschleunigung und Drehrate jederzeit und referenzlos betriebenwerden konnen, somit also unabhangig von jeglichen Ortungssignalen aus der Umgebung sind[Wik14b]. Sensoren fur Beschleunigung und Drehrate werden IMU (aus dem engl. inertialmeasurement unit) genannt und sind zum Entstehungszeitpunkt dieser Arbeit (Stand 2014) zumoderaten Preisen als elektronische Sensoren auch fur den Modellbau verfugbar.Da Messungen immer einen Fehler mit sich fuhren, sind naturlich auch Beschleunigung undDrehrate in diesem System mit einem Fehler uberlagert. Durch die Integration dieses Fehlers,summiert sich der Fehler in den integrierten Großen und wird immer großer. Dieser immergroßer werdende Fehler wird dann in einer weiteren Integration zur Bestimmung der Positionnochmals aufsummiert. Der Fehler der Position wachst dadurch immer weiter an. DiesesProblem wird Drift genannt. Um dem zu begegnen, mussen diese Fehler kompensiert werden.Dazu muss das Fehlerverhalten der verwendeten Sensoren untersucht werden. Dies geschiehtim Kapitel 3. Selbst bei guter Reduktion der Fehler von Beschleunigung und Drehrate wird einRestfehler uberbleiben, dessen Effekt (durch Fehlerfortpflanzung) kompensiert werden muss.Dafur ist unterstutzende Sensorik fur die aufintegrierten Werte Geschwindigkeit, Orientierungund Position notwendig.

∫R

Winkelgeschwindigkeit Orientierung

Beschleunigung Geschwindigkeit

Position

Abbildung 2.2: Inertial Navigation, nach [Woo07]

2.4 Unterstutzende Sensorik

Es ist vorgesehen die oben beschriebene ausgebaute Kamerawahrnehmung spater als un-terstutzende Sensorik zu nutzen. Die Weiterentwicklung der Kamerawahrnehmung ist jedochnicht Teil dieser Arbeit.

9

Konzept

Stattdessen soll andere in Modellbau und Robotik ubliche Sensorik genutzt werden. Sobald dieKamerawahrnehmung ebenfalls Informationen uber Geschwindigkeit, Orientierung und Positionliefern kann, konnen diese zusatzlichen Messwerte ebenfalls verwendet werden.

2.4.1 Magnetometer

Moderne Inertial-Sensorik, wie sie in Modellbau und Robotik ublich ist, enthalt zumeist einMagnetometer. Eine Sensoreinheit bestehend aus Beschleunigungssensor, Drehratensensor(=Gyroskop) und Magnetometer nennt man MARG (aus dem engl. magnetic angular rate andgravity). Es ist jedoch ublich auch diese Sensoreinheiten als IMU zu bezeichnen, auch wenn esfachlich nicht ganz korrekt ist. Ein Magnetometer kann genutzt werden, um eine Aussage uberdie Orientierung bzgl. des Erdmagnetfeldes zu machen. Das Magnetometer misst dazu die Starkedes Magnetfeldes entlang aller drei Raumachsen. Damit kann die Richtung der Magnetfeldlinienals dreidimensionaler Vektor bestimmt werden. Durch Projektion dieses Vektors auf die zurErdoberflache tangentialen zweidimensionalen Ebene lasst sich nun die Orientierung bzgl. desErdmagnetfeldes bestimmen.MARG Sensoren konnen somit als unterstutzende Sensorik zur Orientierung dienen. Bei derAuswahl der zu verwendenden IMU ist somit darauf zu achten, dass eine IMU mit Magnetometerausgewahlt wird.

2.4.2 Inkrementalgeber

Die ubliche Bezeichnung eines Gerates zur Bestimmung der Geschwindigkeit bei radgetriebenenLandfahrzeugen, wie z.B. KFZs und auch dem Ottocar-Versuchsfahrzeug, ist Tachometer.Im Modellbau wird zur Bestimmung der Geschwindigkeit haufig ein Odometer genutzt. EinOdometer misst den zuruckgelegten Weg statt der Geschwindigkeit, so dass noch einmal uberdie Zeit differenziert werden muss.Eine der einfachsten Varianten ist die Odometrie durch Drehzahlmessung mittels Inkremental-geber. Im Alltag bekannt ist dieses Messverfahren durch den Fahrradcomputer.Haufige Verwendung findet der Inkrementalgeber auf Basis photoelektrischer Abtastung. Dazuwird an einem der rotierenden Elementen, z.B. direkt am Motor, eine Strichscheibe (auch haufigOdometerscheibe genannt) angebracht. Auf dieser aus lichtdurchlassigen Material bestehendenStrichscheibe sind in regelmaßigen Abstanden lichtundurchlassige Striche aufgetragen. EineGabellichtschranke misst dann bei Drehung der Scheibe die Anzahl der vorbeilaufenden Striche.Mit Wissen uber den konstanten Ubersetzungsfaktor # Striche

# Radumdrehung und den Reifenumfang kannsomit der zuruckgelegte Weg bestimmt werden. Radumfang und # Striche

# Radumdrehung konnen zu einemeinzigen Ubersetzungsfaktor # Striche

Meter zusammengefasst werden.

10

Konzept

Durch Differenzierung uber die Zeit lasst sich aus diesem Messwert nun die Geschwindigkeitbestimmen.Ein Vorteil durch die Messung mittels Lichtschranken ist, dass die Anzahl der Umdrehungenals diskrete Werte bestimmt werden. Die Messdaten sind dadurch sehr zuverlassig. Ein Sensordieser Art ist zudem relativ einfach in das Versuchsfahrzeug zu integrieren.

2.4.3 Keine Positionssensorik

Unterstutzende Sensorik fur die Position ist nur mit Hilfe externer Referenzen wie GPS oderPeilung verfugbar. Diese konnen wie oben bereits erwahnt nicht verwendet werden. Stattdessenwird wieder auf die geplante Nutzung der Kamerainformationen verwiesen. Da es noch nichtklar ist, in welcher Weise diese Informationen generiert werden und wie diese aussehen werden,macht es keinen Sinn diese in das aktuelle Konzept einzuplanen. Stattdessen wird ein moglichstrobustes System entwickelt, welches auch ohne externe Positionsinformationen auskommt.

2.5 Ausgewahlte Sensoren

Die Auswahl der zu verwendenden IMU fiel im Rahmen dieser Arbeit sehr leicht, da derbetreuende Lehrstuhl bereits eine IMU des Types “Pololu MinIMU-9 v2” zur Verfugung stellenkonnte. Diese wurde als zu verwendende IMU in Betracht gezogen, eingebaut und getestet.Leider ist bei der Entwicklung am Versuchsfahrzeug, durch einen Kurzschluss diese erste IMUin Flammen aufgegangen. Auch stand nur noch eine weitere IMU dieser Art zur Verfugung. DasOttocar-Projekt hat aber mehrere Versuchsfahrzeuge und es ist wunschenswert, dass in allen diegleiche IMU verbaut ist. Ungefahr zeitgleich wurden eine großere Menge anderer IMUs vomTyp “9 Degrees of Freedom Sensor Stick (SEN-10724)” der Firma Sparkfun eingekauft. Umunterschiedliche IMUs auf den verschiedenen Versuchfsfahrzeugen des Ottocar-Projektes zuvermeiden, wurde dann stattdessen diese IMU genutzt. Als Referenz fur die getesteten IMUsdient eine industriell eingesetzte IMU mit nachgeordneter Filterung vom Typ “IG-500E”.Fur die Odometrie wurde eine Strichscheibe mit 120 Strichen auf einer Achsverlangerung desMotors angebracht. Zur Messung der Umdrehungen wurde eine Gabellichtschranke des Typs“Sharp GP1A30R” eingebaut.Naturlich ist auch die unterstutzende Sensorik nicht fehlerfrei. Es ist somit notwendig auch furdiese die Messfehler zu bestimmen und zu berucksichtigen.

11

Sensoranalyse

3 Sensoranalyse

Wie in Kapitel 2 erwahnt, ist es notwendig das Messverhalten der verwendeten Sensoren zuuntersuchen. Fur jeden Sensortyp wird ein passendes Fehlermodell vorgestellt. Es werdenTestszenarien entworfen, um die Parameter der einzelnen Fehlermodelle zu bestimmen. AmEnde des Kapitels werden die Ergebnisse der durchgefuhrten Testszenarien vorgestellt undausgewertet.

3.1 Beschleunigungssensor und Gyroskop

3.1.1 Skalierungsfaktoren

Die gemessenen Beschleunigungs-, sowie Drehratenwerte mussen fur eine spatere Verwendungrichtig skaliert sein.

Skalierung der Beschleunigung

Die Skalierungsfaktoren fur den Beschleunigungssensor werden jeweils fur alle drei Achsengleich angenommen. Es ware besser, wenn die Skalierungen fur jede Achse einzeln bestimmtwerden wurde. Dazu ist jedoch eine prazise Halterung fur das Fahrzeug notig, um es so auszu-richten, dass jeweils jede der Sensorachsen genau nach unten, entlang der Erdbeschleunigung,zeigt. Die Erdbeschleunigung wurde dann als Referenzvektor genutzt werden, um die Skalierungder entsprechenden Achse zu bestimmen. Mit der Annahme, dass die Skalierungsfaktoren allegleich sind, lasst sich der einzelne Skalierungsfaktor auch ohne eine prazise Ausrichtung desFahrzeuges bestimmen. Dazu wird in Ruhelage die Erdbeschleunigung gemessen. Der bekannteWert fur die Erdbeschleunigung (g = 9,81m s−2) wird dabei als Referenzwert genutzt. DenBetrag des gemessenen Beschleunigungsvektors |~a| kann man nun zur Berechnung der korrektenSkalierung sa nutzen:

sa =g|~a|

=9,81m s−2

|~a|(3.1)

Skalierung der Drehrate

Fur das Navigationssystem relevant ist nur die Drehrate um die zur Fahrbahn orthogonalenZ-Achse. Die anderen Drehraten konnen, unter Annahme einer korrekten Ausrichtung, somitvernachlassigt werden.

12

Sensoranalyse

Zur exakten Bestimmung der Drehratenskalierung wird ein Drehteller benotigt. Mit diesem lasstsich der Sensor in eine Rotationsbewegung mit bekannter Drehrate versetzten. Die Skalierunglasst sich dann einfach durch das Verhaltnis der gemessenen und der vom Drehteller bekanntenReferenzdrehrate bestimmen. Im Rahmen dieser Arbeit steht ein solcher Drehteller nicht zurVerfugung.Als Alternative bietet es sich an, das Fahrzeug mit konstanter Geschwindigkeit und konstantemRadeinschlag in eine Kreisfahrt zu versetzen. Die Magnetometer-Daten konnen dann dazugenutzt gewerden, um die Dauer t einer vollstandigen 360° Drehung zu bestimmen. Dazuwerden bei einer der beiden zweidimensionalen Komponenten (x oder y) der Magnetometer-Daten die Zeitpunkte der Scheitelpunkte bestimmt. Die Dauer fur eine vollstandige Umdrehungist dann die Zeit zwischen zwei benachbarten Scheitelpunkten. Die Integration der uber diesenZeitraum gemessenen Drehraten θ lasst sich nun nutzen, um den Skalierungsfaktor s

θzu

bestimmen:

sθ=

360°∫ t0 θ

(3.2)

3.1.2 Allan-Varianz

Zur Charakterisierung der Fehler wird die Allan-Varianz-Analyse benutzt. Diese Methode wur-de 1966 ursprunglich entwickelt, um die Frequenzstabilitat von Oszillatoren zu untersuchen[All66]. Spater wurde sie auf die Untersuchung anderer Sensorarten ubertragen. Die Allan-Varianz-Analyse wurde ebenfalls erfolgreich zur Charakterisierung der Fehler von Gyroskopenund Beschleunigungssensoren verwendet [IEE98]. Trotz ihrer großen Aussagekraft, ist sieunkompliziert zu implementieren und intuitiv zu verstehen. Da sie fur die Beschreibung derFehler beider Sensoren identisch verwendet werden kann, wird die Allan-Varianz-Analyse hierexemplarisch am Beschleunigungssensor erlautert. Dabei wird großtenteils wie in [IEE98],[ESHN08] und [Woo07] beschrieben vorgegangen. Die Ergebnisse der Analyse fur beide Sen-sortypen werden dann am Ende des Kapitels, zusammen mit den Ergebnissen fur die anderenSensortypen, vorgestellt und diskutiert.Die Allan-Varianz eines Signals ist eine Funktion uber Zeitintervalle. Fur einen Zeitinterval τ

wird die Allan-Varianz wie folgt berechnet [Woo07]:

1. Teile eine lange Datenreihe in Cluster der Zeitlange τ auf. Es mussen genugend Datenfur mindestens 9 Cluster vorhandenen sein. Andernfalls beginnen die Ergebnisse anSignifikanz zu verlieren.

2. Durch mitteln der Daten in jedem Cluster erhalt man eine Liste von Mittelwerten(a(τ)1,a(τ)2, . . . ,a(τ)n), wobei n die Anzahl der Cluster ist.

13

Sensoranalyse

Abbildung 3.1: Fehlergroßen in Allan-Deviation Plot [IEE98]

3. Die Allan-Varianz wird dann berechnet durch:

σ2(τ) = AVAR(τ) =

12(n−1)∑

i(a(τ)i+1−a(τ)i)

2 (3.3)

Um die Charakteristiken der zugrunde liegenden Rauschprozesse zu bestimmen, wird dieAllan-Deviation AD(τ)

σ(τ) = AD(τ) =√

AVAR(τ) (3.4)

als Funktion von τ auf einer log-log-Skala geplottet.Verschiedene Typen von Rauschprozessen verursachen Steigungen verschiedenen Anstiegsund treten in unterschiedlichen Bereichen von τ auf. Veranschaulicht ist dieser Sachverhalt inAbb. 3.1.

3.1.3 Reprasentation von Rauschgroßen in Allan-Varianz

Quantisierungsfehler

Der Quantisierungsfehler ist eine Art Fehler der durch die Kodierung eines analogen Signales indigitale Form entsteht. Er entsteht durch den kleinen Unterschied zwischen den tatsachlichenAmplituden, der abgetasteten Datenpunkte, und der Auflosung des Analog-zu-Digital Konverters.[ESHN08] Veranschaulicht ist dies in Abb. 3.2.

14

Sensoranalyse

Abbildung 3.2: Quantisierungsfehler

Die Allan-Varianz fur einen solchen Prozess ist wie in [IEE98] gegeben:

σ2(τ) =

3Q2

τ2 (3.5)

wobei Q der Quantisierungsfehler Koeffizient ist.Diese Funktion ist in einem log-log Plot von σ(τ) versus τ als eine Gerade mit Anstieg −1reprasentiert, wie in Abb. 3.3 zu sehen [IEE98].Die Einheit τ der Zeitachse in der Abbildung ist gegeben durch

τ = kτ0 (3.6)

k ∈ℵ

wobei τ0 der Sample-Intervall des Signals ist. Die Große des Quantisierungsfehlers kann an derGerade bei τ =

√3s abgelesen werden [IEE98].

15

Sensoranalyse

Abbildung 3.3: σ(τ) Plot fur Quantisierungsfehler [IEE98]

Geschwindigkeit Random Walk

Die Hauptquelle fur diesen Fehler sind spontante Photonenemissionen die standig prasent sind.Dieser Fehlerterm ist durch ein weißes Rauschen am Sensorausgang charakterisiert [IEE98].Die Allan-Varianz fur einen solchen Prozess ist wie in [IEE98] gegeben:

σ2(τ) =

N2

τ(3.7)

wobei N der Geschwindigkeit Random Walk Koeffizient ist.Diese Funktion ist in einem log-log Plot von σ(τ) versus τ als eine Gerade mit Anstieg −1

2

reprasentiert, wie in Abb. 3.4 zu sehen. Der Geschwindigkeit Random Walk Koeffizient kann ander Gerade bei τ = 1s abgelesen werden [IEE98].

16

Sensoranalyse

Abbildung 3.4: σ(τ) Plot fur Geschwindigkeit Random Walk [IEE98]

Bias Instabilitat / Funkelrauschen

Dieser Fehler entsteht durch Auftreten von Funkelrauschen in der verwendeten Elektronik derSensoren. Er erscheint in den Daten als Bias Fluktuationen uber einen langeren Zeitraum.Die Allan-Varianz fur einen solchen Prozess ist wie in [IEE98] gegeben:

σ2(τ) =

2B2

π

[ln2− sin3 x

2x2 (sinx+4xcosx)+Ci(2x)−Ci(4x)]

(3.8)

wobeiB der Bias Instabilitats Koeffizient ist,x π f0τ ist,f0 die Grenzfrequenz ist,Ci Die Cosinus-Integral Funktion [GJR80] ist.

Diese Funktion tritt in einem log-log Plot von σ(τ) versus τ auf, wie in Abb. 3.5 zu sehen.

17

Sensoranalyse

Abbildung 3.5: σ(τ) Plot fur Bias Instabilitat [IEE98] (der Wert 0,664 in der Abbildung ist dasErgebnis von

√2ln2/π)

Die Plateauhohe lasst sich fur B = 1 folgendermaßen bestimmen:

limτ→∞

σ(τ) =

√2ln2

π(3.9)

Die Grenzfrequenz spielt fur die Plateauhohe also keine Bedeutung. Der Bias InstabilitatsKoeffizient kann im log-log-Plot an der flachen Region abgelesen werden. Zu beachten ist dabei,dass man nicht direkt B abliest, sondern

√2ln2/π ·B.

Rate Random Walk

Dies ist ein Zufallsprozess unbekannter Herkunft. Moglicherweise ist es ein Grenzfall einesexponentiell korrelierten Rauschens mit einer sehr langen Korrelationszeit [IEE98].Die Allan-Varianz fur einen solchen Prozess ist wie in [IEE98] gegeben:

σ2(τ) =

K2τ

3(3.10)

wobei K der Rate Random Walk Koeffizient ist.Diese Funktion ist in einem log-log Plot von σ(τ) versus τ als eine Gerade mit Anstieg +1

2

reprasentiert, wie in Abb. 3.6 zu sehen. Der Rate Random Walk Koeffizient kann an der Geradebei τ = 3s abgelesen werden [IEE98].

18

Sensoranalyse

Abbildung 3.6: σ(τ) Plot fur Rate Random Walk [IEE98]

Drift Rate Ramp

Dieser Fehler gehort zu den deterministischen Fehlern. Es ist eine langsame monotone Anderungder Ausgabe uber einen langen Zeitraum.

σ2(τ) =

R2τ2

2(3.11)

wobei R der Drift Rate Ramp Koeffizient ist.Diese Funktion ist in einem log-log Plot von σ(τ) versus τ als eine Gerade mit Anstieg +1reprasentiert, wie in Abb. 3.7 zu sehen. Der Drift Rate Ramp Koeffizient kann an der Gerade beiτ =√

2s abgelesen werden [IEE98].

19

Sensoranalyse

Abbildung 3.7: σ(τ) Plot fur Drift Rate Ramp [IEE98]

3.1.4 Relative Abweichung der Allan-Varianz-Berechnung

Da die Allan-Varianz eine Funktion aus Zufallsvariablen ist, ist sie selbst auch eine Zufalls-variable. Damit hat sie eine Verteilung, deren Varianz eine Guteaussage uber die berechneteAllan-Varianz zulasst. Eine Formel zur Berechnung der relativen Abweichung δ der Allan-Deviation (nicht Varianz) ist in [ESHN08] gegeben:

δ =1√

2(Nn −1)

(3.12)

wobei N die Gesamtzahl der Datenpunkteund n die Cluster-Große ist.

3.1.5 Testaufbau

Zum Testen der beiden IMUs Pololu MinIMU-9 v2 und 9 Degrees of Freedom Sensor Stick(SEN-10724) werden diese im Fahrzeug verbaut. Die IG-500E IMU kann wegen Mangel an Platzund Anschlussmoglichkeiten nicht vom Fahrzeug aus angesteuert werden. Sie wird stattdessenan einem Laptop angeschlossen und daneben gelegt.Fur alle drei getesteten Sensoren werden in Ruhelage uber einen Zeitraum von mindestens 12hDaten mit einer Abtastfrequenz von 100 Hz aufgezeichnet. Diese Daten werden ebenfalls zurBestimmung des Skalierungsfaktors fur den Beschleunigungssensor genutzt.Zur Bestimmung des Skalierungsfaktors des Gyroskopes dienen zehn Runden einer Kreisfahrt

20

Sensoranalyse

(konstante Geschwindigkeit und konstanter Radeinschlag). Zur Validierung dieses Ergebnisseswird die zehn-rundige Kreisfahrt funf mal wiederholt.

3.2 Magnetometer

Das Magnetometer misst die Starke des Magnetfeldes entlang aller drei Raumachsen. Damitkann die Richtung der Magnetfeldlinien als dreidimensionaler Vektor bestimmt werden. DurchProjektion dieses Vektors auf die zur Erdoberflache tangentialen zweidimensionalen Ebene lasstsich nun die Orientierung bzgl. des Erdmagnetfeldes bestimmen.

3.2.1 Kalibrierung

Hart- und Weicheiseneffekte durch metallische Elemente in der Karosserie des Fahrzeuges unddurch Elektronik verursachte Magnetfelder verzerren die Messungen des Magnetfeldes. Diesesind großtenteils statisch und konnen daher vor dem Betrieb des Navigationssystems bestimmtund kompensiert werden. Bei perfekter Kalibrierung mussten bei einer Drehung des Fahrzeugesum alle Raumachsen die gemessenen Magnetfeldvektoren alle auf einer im Koordinatenursprungzentrierten Kugel liegen. Es wird von einer Bewegung in der zur Erdoberflache tangentialenEbene ausgegangen. Die gemessenen Magnetfeldvektoren wurden bei einer solchen Bewegung(bei perfekter Kalibrierung) alle auf einem Schnitt durch diese Kugel liegen. Die verzerrendenEffekte fuhren aber dazu, dass die zu erwartende Kugel stattdessen zu einem Ellipsoid transfor-miert wird, dessen Zentrum nicht im Koordinatenursprung zu erwarten ist. Der Schnitt durchdie Kugel wird dabei von einem Kreis zu einer Ellipse transformiert.Ziel der Kalibrierung ist es, diese Verzerrung zu kompensieren. Dazu musste man eigentlicheine Rotationsmatrix, Skalierungsfaktoren und einen Offset zur Rucktransformation des Ellip-soiden bestimmen. Stattdessen wird im Rahmen dieser Arbeit jedoch auf die Bestimmung derRotationsmatrix verzichtet und eine korrekte Ausrichtung angenommen. Weiterhin ist fur dieAnwendung im Navigationssystem nur entscheidend, dass die Daten auf dem Schnitt durch dieKugel (durch Bewegung in der Ebene) korrekt kalibriert sind.Somit mussen fur die Kalibrierung Parameter bestimmt werden, um den zur Ellipse verzerrtenKreis zuruck zu transformieren. Eine Korrektur der Rotation dieser Ellipse ist nur bei sehrstarken Deformationen notwendig. Es ist hinreichend genau, anzunehmen, dass dies nicht derFall ist, die Hauptachsen der Ellipse also parallel zu den Achsen des Koordinatensystems liegen.Damit mussen lediglich Skalierungsfaktoren und ein Offset bestimmt werden.Da fur unseren Anwendungsfall die Amplitude des gemessenen Magnetfeldes irrelevant ist,werden die Skalierungsfaktoren und der Offset so bestimmt, dass die bei vollstandiger Drehunggemessenen Magnetfeldvektoren auf einem Einheitskreis, d.h. mit einem Radius von eins, im

21

Sensoranalyse

Koordinatenursprung liegen.Dazu werden die Minimal- und Maximalwerte der einzelnen Komponenten (x,y) fur alle Vekto-ren ermittelt. Durch den Mittelwert von Minimum und Maximum lasst sich fur jede Komponenteein Offset bestimmen. Die Differenz zwischen Maximum und Minimum lasst sich als Skalie-rungsfaktor nutzen, um die Vektoren in den Einheitskreis zu transformieren.

3.2.2 Verbleibender Fehler

Nach der Kalibrierung wird das Magnetometer, wie die meisten Messinstrumente, noch immereinen Fehler bei der Messung aufweisen. Dieser Fehler tritt bei der Messung der Magnetfeld-komponenten entlang der Raumachsen auf und wird als normalverteilter Fehler angenommen.Da fur das spatere System nur die resultierende Richtungsangabe von Interesse ist, ist es sinnvollden Fehler fur diesen Wert zu bestimmen. Der Einfachkeit halber wird dieser Fehler ebenfallsals normalverteilt angenommen.Die Varianz der Richtungsangabe kann durch Messung in Ruhelage bestimmt werden. DieRichtungsangabe wird dabei aus den kalibrierten Magnetometerdaten bestimmt.

3.2.3 Testaufbau

Zehn Runden einer Kreisfahrt (konstante Geschwindigkeit und konstanter Radeinschlag) dienenzur Bestimmung der zweidimensionalen Offsets und Skalierungsfaktoren zur Kompensationstatischer Magnetfeldverzerrungen.Zur Verifikation der Ergebnisse werden diese Tests jeweils funf mal wiederholt.Zur Bestimmung der Varianz des Orientierungsfehlers, werden zusatzlich Daten in Ruhelageaufgenommen.

3.3 Inkrementalgeber

Wie in Abschnitt 2.4.2 beschrieben ist auf einer Achsverlangerung am Motor eine Strichscheibeangebracht. Eine Gabellichtschranke misst die Anzahl der vorbeilaufenden Striche. Mit Wissenuber den konstanten Ubersetzungsfaktor # Striche

# Radumdrehung und den Reifenumfang kann somit derzuruckgelegte Weg bestimmt werden. Radumfang und # Striche

# Radumdrehung konnen zu einem einzigenUbersetzungsfaktor # Striche

Meter zusammengefasst werden. Durch Differenzierung uber die Zeit lasstsich aus diesem Messwert die Geschwindigkeit bestimmen.

22

Sensoranalyse

3.3.1 Bestimmung des Ubersetzungsfaktor

Man kann den zusammengesetzen Ubersetzungsfaktor mit Wissen uber die Komponenten, ausdenen er sich zusammensetzt, berechnen:Das verwendete Fahrgestell (Tamiya TT-01 Type-E) hat eine interne Ubersetzung von 2,6. Dieverwendeten Zahnrader von Motor zur Mittelachse haben eine Ubersetzung von 61

19 . Dadurchergibt sich eine Gesamtubersetzung von 2,6∗ 61

19 = 8,35. Die verwendete Strichscheibe hat 120Striche. Der Reifendurchmesser betragt 6,7cm. Der Umfang betragt somit ≈ 21,05cm.Nun kann man die Anzahl der Striche fur eine Reifenumdrehung zum Reifenumfang insVerhaltnis setzen:

120∗8,350,2105m

=# Striche

Weg=≈ 4760,1m−1 (3.13)

Die Reifen werden beim Aufliegen auf den Boden etwas platt gedruckt. Dadurch ist die Angabedes Umfangs nicht ganz korrekt. Durch unterschiedlichen Untergrund, Reifendruck und Schlupfgibt es zusatzliche Variationen.Um den berechneten Wert zu verifizieren, sollte der zusammengesetze Ubersetzungsfaktor alsonoch einmal auf andere Weise nachgemessen werden. Dazu bietet es sich an, das Fahrzeug einelangere gerade Strecke fahren zu lassen und den Ubersetzungsfaktor dann aus dem Verhaltnisder Streckenlange zu Anzahl gezahlter Striche zu berechnen.

3.3.2 Bestimmung der Varianz

Durch die Differenzierung uber die Zeit, um die Geschwindigkeit zu bestimmen, unterschiedli-chen Untergrund, Reifendruck, Schlupf, sowie weiterer nicht naher spezifizierter Einflusse wirdein verrauschtes Signal der Geschwindigkeit gemessen. Dieses sollte keinen bestimmbaren Biashaben, da nur gemessen werden kann wenn das Fahrzeug in Bewegung ist, und dann ist derZusammenhang linear. Nimmt man den vorhanden Fehler als normalverteilte Zufallsvariable an,gilt somit nur noch die Varianz zu bestimmen.Diese lasst sich bestimmen, indem eine konstante Geschwindigkeit gefahren wird und dann dieVarianz des gemessenen Signals mit bekannten Methoden der Statistik bestimmt wird. Einewirklich konstante Geschwindigkeit zu fahren, ist jedoch nicht trivial. Selbst bei konstanterMotorleistung regelt der Motor intern hin und her. Insbesondere in Kurven gibt es großereSchwankungen durch das Differentialgetriebe und eine erhohte Belastung des Motors. Dadurchverursachte Geschwindigkeitsschwankungen werden dann zusatzlich als Varianz wahrgenom-men. Die so gemessene Varianz ist damit großer als die tatsachliche. Es ist somit jedochimmerhin eine obere Abgrenzung der Varianz moglich.

23

Sensoranalyse

3.3.3 Testaufbau

Zur Verifikation des berechneten Ubersetzungsfaktors wird eine Strecke von 10 m abgemessen.Das Fahrzeug fahrt diese Strecke dann moglichst gerade ab. Dabei wird die Anzahl der gezahltenStriche gemessen.Zur Bestimmung der Varianz der Geschwindigkeitsmessung wird eine Dauerfahrt im Kreis beikonstanter Geschwindigkeit und konstantem Radeinschlag uber 10 Runden durchgefuhrt.Beide Tests werden funf mal wiederholt.

3.4 Zusammenfassung: Tests

Zum Bestimmen der Allan-Varianz der beiden IMUs Pololu MinIMU-9 v2 und 9 Degreesof Freedom Sensor Stick (SEN-10724) werden sie im Fahrzeug verbaut. Die IG-500E IMUkann wegen Mangel an Platz und Anschlussmoglichkeiten nicht vom Fahrzeug aus angesteuertwerden. Sie wird stattdessen an einem Laptop angeschlossen und daneben gelegt. Fur alle dreizu testenden Sensoren werden uber einen Zeitraum von mindestens 12h Daten in Ruhelage miteiner Abtastfrequenz von 100 Hz aufgezeichnet.Diese Daten werden ebenfalls genutzt, um die Varianz des Orientierungsfehlers und den Skalie-rungsfaktor des Beschleunigungssensors zu bestimmen.Zehn Runden einer Kreisfahrt (konstante Geschwindigkeit und konstanter Radeinschlag) dienenzur Bestimmung der zweidimensionalen Offsets und Skalierungsfaktoren zur Kompensationstatischer Magnetfeldverzerrungen, des Skalierungsfaktors fur das Gyroskop, sowie der Varianzder Geschwindigkeitsmessung.Zur Verifikation des berechneten Ubersetzungsfaktors wird eine Strecke von 10 m abgemessen.Das Fahrzeug fahrt diese Strecke dann moglichst gerade ab. Dabei wird die Anzahl der gezahltenStriche gemessen.Beide Tests werden funf mal wiederholt.

3.5 Testergebnisse

3.5.1 Beschleunigungssensor und Gyroskop

Skalierungsfaktoren

Es wurden Kreisfahrten sowohl gegen als auch mit dem Uhrzeigersinn aufgenommen. Dabeiwurden jeweils zehn volle Umrundungen absolviert. Aus diesen Daten wurden die Skalierungs-faktoren fur das Gyroskop wie in Abschnitt 3.1.1 beschrieben bestimmt.

24

Sensoranalyse

SkalierungsfaktorTest # Im Uhrzeigersinn Gegen den Uhrzeigersinn

1 1,1732575762 1,13000455562 1,1768581001 1,13132765013 1,1765893045 1,13387611614 1,1755598010 1,12750323635 1,1759063453 1,1296069302

Mittelwert 1,1756342254 1,1304636977Standardabweichung 0,0012757817 0,0021023894

Tabelle 3.1: Skalierungsfaktoren fur Gyroskop

Es ist in Tabelle 3.1 ein deutlicher Unterschied zwischen den Skalierungsfaktoren fur die Fahrtengegen und mit dem Uhrzeigersinn zu sehen. Unklar ist wodurch dieser Unterschied zu standekommt. Jedoch wird vermutet, dass dies durch eine nicht exakte Ausrichtung der IMU bedingtist. Fur das Navigationssystem ist eher der Wert fur gegen den Uhrzeigersinn zu nehmen, da dieStrecke des Carolo-Cup (siehe Abb. 1.1) die meiste Zeit gegen den Uhrzeigersinn fuhrt.

Test # Skalierungsfaktor

1 10,53121750142 10,51977547973 10,52118950444 10,52024329055 10,52925452236 10,53236900727 10,51829794968 10,51109221319 10,536642745910 10,5233284386

Mittelwert 10,5243410653Standardabweichung 0,00740170279

Tabelle 3.2: Skalierungsfaktoren fur Beschleunigungssensor

Von den zwolf Stunden Daten in Ruhelage wurden zehn Datensegmente der Lange zehn Sekun-den (entspricht 1000 Datenpunkten) zur Bestimmung der Skalierungsfaktoren des Beschleu-nigungssensors genutzt. Die Ergebnisse dessen sind in Tabelle 3.2 vorzufinden. Die geringe

25

Sensoranalyse

Standardabweichung lasst auf eine gute Reproduzierbarkeit dieses Testes schließen. Jedes derzehnsekundigen Datensegmente kann fur eine Bestimmung des Skalierungsfaktors genutztwerden. Das Gleiche gilt fur die Bestimmung des Skalierungsfaktors fur das Gyroskop.Deshalb kann die Bestimmung der Skalierungsfaktoren jederzeit schnell und mit unkompli-zierten Tests erfolgen. Sollte es notig werden, im Wettkampf eine Kalibrierung durchzufuhren,(z.B. beim Austausch einer defekten IMU), wird sich dieses Merkmal der Kalibrierung als sehrnutzlich erweisen.

Allan-Varianz-Analyse

Abbildung 3.8: Allan-Deviation fur Beschleunigungssensoren

26

Sensoranalyse

Abbildung 3.9: Allan-Deviation fur Gyroskope

Pololu Sparkfun IG-500E

Gyroskopσ in 10−3 · ° s−1 3,340±0,238 0,863±0,061 5,797±0,412Beschleunigungssensorσ in 10−1 ·m s−2 1,195±0,085 2,784±0,198 0,087±0,006

Tabelle 3.3: Allan-Deviation der untersuchten IMUs

Es ist in Abb. 3.8 und Abb. 3.9 gut zu erkennen, dass der dominante Fehler sowohl beim Gyro-skop als auch beim Beschleunigungssensor der Winkel, bzw. Geschwindigkeit Random Walk ist.Dieser ist im Allan-Deviation log-log-Plot durch eine Steigung von −0,5 charakterisiert. DieserFehlertyp außert sich durch ein weißes, d.h. normalverteiltes, Rauschen am Sensorausgang,welches durch Integration zu einem Random Walk des Winkels, bzw. der Geschwindigkeit fuhrt.Der numerische Wert des Winkel, bzw. Geschwindigkeit Random Walk Koeffizienten kann inAbb. 3.8 und Abb. 3.9 bei τ = 1s in m/s2

√Hz

, bzw. °/s√Hz

abgelesen werden. Dieser Wert entsprichtgenau der Rauschdichte N0. Eine Umwandlung der Rauschdichte in die Standardabweichungdes Signals am Sensorausgang erfolgt durch:

σ = N0 ·√

Bandbreite (3.14)

27

Sensoranalyse

wobei die Bandbreite bei unserem System 100 Hz betragt.Die daraus resultierenden abgelesenen Standardabweichungen am Sensorausgang sind in Tabel-le 3.3 aufgelistet.

3.5.2 Magnetometer

Bei der Auswertung der Magnetometer der Kreisfahrten ist beobachtet worden, dass es uner-klarliche aber reproduzierbare Verzerrungen bei der gemessenen Magnetfeldstarke gibt.Untersuchungen der Magnetfeldstarke uber der Fahrbahn (ohne Fahrzeug) haben ergeben, dassdiese Verzerrungen an der Umgebung liegen. Es wird vermutet, dass im Boden eingearbeiteteStahltrager das Magnetfeld lokal stark verzerren.Die Ergebnisse der Magnetometer Kalibrierung hangen daher stark davon ab, an welchem Ortgemessen wurde. Daher ist es ratsam, die Magnetometer Kalibrierung beim Wettkampf direktauf der zu absolvierenden Strecke erneut durchzufuhren.

Abbildung 3.10: Magnetometer Daten bei Kreisfahrt

Von den zwolf Stunden Daten in Ruhelage wurden zehn Datensegmente der Lange zehn Sekun-

28

Sensoranalyse

den (entspricht 1000 Datenpunkten) zur Bestimmung der Varianz der magnetometerbasiertenOrientierung genutzt. Die Ergebnisse dessen sind in Tabelle 3.4 vorzufinden.

Test # Standardabweichung in °

1 0,4985816303672 0,4753655360113 0,5066747958024 0,5144436053395 0,5183541987716 0,4891530418667 0,5121403201768 0,4923176081899 0,50345637737510 0,493417737058

Mittelwert der Standardabweichung 0,500390485095

Tabelle 3.4: Standardabweichung der Orientierung in Ruhelage

3.5.3 Inkrementalgeber

Zur Verifikation des berechneten Ubersetzungsfaktors wurde eine abgemessene gerade Streckebefahren und dabei die Anzahl der Odometrie Striche gezahlt. Aus diesen konnte dann derUbersetzungsfaktor bestimmt werden.In Tabelle 3.5 ist ein nicht unerheblicher Unterschied zwischen dem vorhergesagten und dem ge-messenen Ubersetzungsfaktor festzustellen. Es ist moglich, dass einer der Werte zur Berechnungdes vorhergesagten Ubersetzungsfaktors nicht stimmt. So konnen z.B. andere Zahnrader verbautsein, als eigentlich angenommen oder der interne Ubersetzungsfaktors des Chassis konnte anderssein. Auch ist es moglich, dass die Messung des Reifenumfangs nicht ganz korrekt ist. Allerdingsist der gemessene Wert großer als der vorhergesagte. Das bedeutet, dass mehr Umdrehungen prozuruckgelegten Wert benotigt werden. Dieser Effekt ist auch gut durch Schlupf erklarbar. Diegeringe Standardabweichung lasst darauf schließen, dass das Messverfahren reproduzierbareErgebnisse liefert. Auf Grund der guten Reproduzierbarkeit ist jede einzelne der Messungenaussagekraftig. Sollten neue Reifen genutzt werden oder auf einem anderen Untergrund gefahrenwerden ist es zu erwarten, dass sich der gemessene Wert (reproduzierbar) verandert. Fur dieNutzung im Navigationssystem ist es ratsam sich auf die gemessenen Werte zu stutzen.

29

Sensoranalyse

Test # Ubersetzungsfaktor

1 4988,92 4987,73 4983,74 4981,75 4993,46 4995,17 4991,58 4987,69 4988,910 4991,6

Mittelwert 4989,01Standardabweichung 3,94

Berechnet 4760,1

Tabelle 3.5: Ubersetzungsfaktoren fur Inkrementalgeber

Fur die Bestimmung der Varianz, bzw. Standardabweichung wurden Kreisfahrten mit konstanterGeschwindigkeit und konstantem Radeinschlag durchgefuhrt. Dabei wurden die in Tabelle 3.6angegebenen Standardabweichungen gemessen.

Test # Standardabweichung in m s−1

1 0,005210764260382 0,005271220386533 0,004834280582054 0,004601079471985 0,00460107947198

Mittelwert 0,00480059018124

Tabelle 3.6: Standardabweichungen der Odometrie

30

System-Entwurf und Analyse

4 System-Entwurf und Analyse

4.1 Inertial Navigation

Wie im Kapitel 2 beschrieben, wird das zu entwerfende Navigationssystems auf einem InertialNavigationssystem basieren.Die Großen Beschleunigung und Drehrate werden benutzt, um durch Integration Orientierungund Geschwindigkeit zu ermitteln. Aus Geschwindigkeit und Orientierung wird ein globalerGeschwindigkeitsvektor berechnet. Ausgehend von einer Startposition erhalt man nun durchIntegration dieses Geschwindigkeitsvektors fortlaufend eine Schatzung der Position.Dieses ist nochmals in Abb. 4.1 veranschaulicht.

∫R

Winkelgeschwindigkeit Orientierung

Beschleunigung Geschwindigkeit

Position

Abbildung 4.1: Inertial Navigation, nach [Woo07]

Die gemessenen Beschleunigungs- und Drehratenwerte sind mit einem Fehler uberlegt. Durchdie Integration dieses Fehlers, summiert sich der Fehler in den integrierten Großen und wirdimmer großer. Dieser immer großer werdende Fehler wird dann in einer weiteren Integrationzur Bestimmung der Position nochmals integriert. Der Fehler der Position wachst dadurchexponentiell an.Zur Kompensation dieser Fehler wurden zusatzliche Sensoren fur die Orientierung und dieGeschwindigkeit ausgewahlt und untersucht.Nun stellt sich die Frage wie die verschiedenen Sensordaten optimal zusammengefugt undgefiltert werden konnen.

31

System-Entwurf und Analyse

4.2 Filtering

Filtern ist das Schatzen eines verrauschten Signals. Sensoren liefern als Signal immer dastatsachliche Signal (s(t) in Abb. 4.2), welches mit einem zusatzlichen Fehler (n(t) von engl.“noise” fur Fehler) uberlagert ist. Ziel des Filterns ist es nun, das tatsachliche Signal moglichstgut zu schatzen. Das Fehlersignal soll also herausgefiltert werden. Das geschatzte Signal x(t)

ist wie gesagt nur geschatzt, da es im allgemeinen nicht moglich ist, den Fehler komplett zuentfernen.

s(t)+n(t) Filter x(t)≈ s(t)

Abbildung 4.2: Das “Filter” Problem, nach [GH92]

4.2.1 Kalman Filter

Ein haufig in der Inertial Navigation genutzter Filter ist der Kalman Filter. Die Verwendung desKalman Filters in der Inertial Navigation datiert bis zu seinem Entstehungsjahr 1960 zuruck[GH92, S. 367].Der Kalman Filter ist relativ einfach zu implementieren. Es werden nur einige Matrixmul-tiplikationen benotigt, die sich, wie in Abschnitt 4.3.1 zu sehen, in unserem Fall sogar aufskalare Multiplikationen reduzieren. Er filtert optimal (im Sinne von Least Square Error denuber gesamten Zeitraum) unter Angabe der Fehlerparameter (Varianzen). Zusatzlich liefert ereine Aussage uber die Gute der Schatzungen. Die Gute der Schatzungen lasst sich sogar ohnekonkrete Messdaten bestimmen, da sie nur vom verwendeten Modell abhangt. Die Konvergenzdes Filters ist damit sehr einfach untersuchbar.Auf die genaue Funktionsweise und Herleitung des Kalman Filters wird an dieser Stelle nichteingegangen, da es den Rahmen der Arbeit sprengen wurde. Fur eine sehr gute Erklarung wirdauf [GH92] verwiesen.Beim Kalman Filter werden die zu schatzenden Werte x (Zustandsvektor genannt) als stochasti-sche Prozesse beschrieben. Ein stochastischer Prozess ist die Beschreibung eines Prozesses inAbhangigkeit von Zufallsvariablen. Die Zufallsvariablen sind beim Kalman Filter normalverteilt.Hat man es mit einem Prozess zu tun, dessen stochastischer Anteil nicht direkt normalver-teilt ist, muss man diesen so transformieren, dass er in Abhangigkeit der normalverteiltenZufallsvariablen des Kalman Filters darstellbar ist.

Die Beschreibung des stochastischen Prozesses findet mit der Zustandsubergangsgleichung statt:

xk+1 = φkxk +wk (4.1)

32

System-Entwurf und Analyse

wobeix der Zustandsvektor,k der aktuelle Schritt,w ein Vektor mit den normalverteilten Zufallsvariablen undφ die symmetrische “Systemmatrix” ist.

Die Berechnung des nachsten Zustands (Pradiktion) erfolgt also als lineare Kombination des vor-herigen Zustandes plus den normalverteilten Zufallsvariablen. Das beschreibende Systemmodellist somit linear.

Der Zusammenhang zwischen Messungen und dem geschatztem Zustand wird uber die Beob-achtungsgleichung beschrieben:

zk = Hkxk + vk (4.2)

wobei,z der Messvektor, welcher die Messungen enthalt, undv ein Vektor mit den normalverteilten Zufallsvariablen, die den Messfehler beschreiben, ist.

H ist eine Matrix, die den Zusammenhang zwischen Zustandsvektor und Messvektor beschreibt.Die Anzahl der Elemente des Zustandsvektors und des Messvektors muss dabei nicht gleich sein.H ist somit keine symmetrische Matrix. Der Messvektor wird dabei als lineare Kombination derZustande plus den normalverteilten Zufallsvariablen beschrieben.Das Messmodell ist somit ebenfalls linear. Es wird fur die Korrektur des geschatzten Zustandesgenutzt.Die Kovarianzen fur das Prozessmodell, sowie das Messmodell werden in den Matrizen Q undR angegeben.Die Kovarianzen fur den geschatzten Zustand ist in der Matrix P vorzufinden.Fur das weitere Verstandnis nicht weiter von Bedeutung sind hier dennoch der Vollstandigkeithalber die verwendeten Kalman Gleichungen angegeben:Berechnung des Kalman Gain:

Kk = P−k HTk (HkP−k HT

k +Rk)−1 (4.3)

Schatzung mit neuem Messwert korrigieren:

xk = x−k +Kk(zk−Hkx−k ) (4.4)

Fehler Kovarianz aktualisieren:

Pk = (I−KkHk)P−k (4.5)

33

System-Entwurf und Analyse

Pradiktion des nachsten Zustandes auf Grund des Prozessmodells:

ˆx−k+1 = φkxk (4.6)

P−k+1 = φkPkφTk +Qk (4.7)

[GH92, S. 235]

4.2.2 Filter-Konfiguration

Es gibt einen wichtigen Aspekt bei der Implementierung eines gefilterten Inertial NavigationsSystems: die Wahl zwischen direkten oder indirekten Filtern. [May79]

Direktes Filtern

Beim direkten Filtern werden die eigentlichen Werte (also z.B. Beschleunigung, oder Geschwin-digkeit) geschatzt.Beim Filtern in einem Navigationssystem stellt sich nun aber das Problem, dass die (System-)Dynamik des Fahrzeuges nicht korrekt modellierbar, da nicht vorhersehbar, ist. Durch Anwendeneiner falschen Dynamik, werden diese jedoch verzerrt.Dies soll am Beispiel eines direkten Drehratenfilters erlautert werden: Es wurde beobachtet,dass die gemessenen Drehraten haufig konstant bleiben, dann aber unvorhersehbar auf einenanderen Wert springen. Weil die Drehrate die meiste Zeit konstant bleibt, ist es denkbar in einemSystemmodell genau dies anzunehmen.

Abbildung 4.3: Direktes Filtern eines springenden Wertes

34

System-Entwurf und Analyse

In Abb. 4.3 ist zu sehen, welches Problem durch das direkte Filtern des Signals mit einem unkor-rekten Systemmodell auftritt. Der geschatzte Wert hangt dem beobachteten Wert zeitlich etwashinterher. Zusatzlich werden in diesem Zeitraum Werte geschatzt, die so real nie aufgetretensind. Dieses Verhalten ist unerwunscht.Zudem ist die Systemdynamik der eigentlichen Großen des Fahrzeuges meist nicht linear, wasdas Problem verkompliziert.

Indirektes Filtern

Beim indirekten Filtern werden nun statt der eigentlichen Großen deren Fehler geschatzt.Die eigentlichen Werte werden nach dem in Abb. 4.1 veranschaulichten Grundprinzip derInertial Navigation geschatzt.Durch die zusatzliche Sensorik lassen sich nun Fehlerterme aufstellen, in denen die eigentlichenGroßen nicht mehr enthalten sind. Dies ist konzeptionell in Abb. 4.4 veranschaulicht.

InertialNavigation

UnterstutzendeSensoren

+ Filter

+

(Tatsachliche Werte)+ (Fehler der unterstutzenden Sensoren)

Geschatzte Fehlerder Inertial Navigation

(Tatsachliche Werte)−(Fehler der Inertial Navigation)

KorrigierteWerte

Abbildung 4.4: Indirekt gefiltertes Inertial Navigationssystem, nach [TW04]

Die Fehler lassen sich auf Grund des Fehlermodells der Sensoren und der Fehlerfortpflanzungsehr gut linear modellieren. Durch das Filtern der Fehler werden die tatsachlichen Werteunverzerrt durchgereicht und nachtraglich um den geschatzten Fehler korrigiert.

4.3 Zusammenfuhrung

Den bisherigen Entwurfsentscheidungen folgend, soll das Navigationssystem also ein indi-rekt gefiltertes auf inertialer Koppelnavigation basierendes System sein. Dies fuhrt zu derBeschreibung in Form eines Blockdiagrams veranschaulicht in Abb. 4.5.Dabei gilt:

35

System-Entwurf und Analyse

θ ist Orientierungθ ist Ableitung der Orientierung, also Drehrateθmag ist Orientierung bestimmt aus Magnetometer-Datenθ ist geschatzte Orientierungv ist Geschwindigkeitv ist Ableitung der Geschwindigkeit, also Beschleunigungvodo ist durch Odometrie bestimmte Geschwindigkeitv ist geschatzte Geschwindigkeit~v ist geschatzter Geschwindigkeitsvektor(

x

y

)ist durch Integration schatzungsweise bestimmte Position

R bedeutet Resolution, also Projektion in globales Koordinatensystem

+ Filter

θmag−

θ

+ Filter

+v

vodo−

vR

∫ ~v(

x

y

)

ORIENTIERUNGSFILTER

GESCHWINDIGKEITSFILTER

Abbildung 4.5: Komplettes Inertial Navigationssystem (INS)

Die nach außen gefuhrten Pfeile symbolisieren, dass das System diese Werte ausgibt. Danoch keine Positionssensorik existiert, wird hier nicht mehr weiter gefiltert. Ein Filtern ohneunterstutzende Positionssensorik ware nur in der direkten Konfiguration moglich. Dies ist nichterwunscht, da es wie in Abschnitt 4.2.2 beschrieben die tatsachlichen Informationen verzerrt undzeitlich verzogert. Eine Konvergenz des Filters ist auf diese Art ohnehin nicht zu gewahrleisten,da der Restfehler des Geschwindigkeitsvektors aufintegriert und so immer großer wird.

36

System-Entwurf und Analyse

4.3.1 Filter Spezifikation

Zur vollstandigen Spezifikation des Navigationssystems mussen nun noch die in Abb. 4.5 auf-tauchenden Filter naher beschrieben werden. Der Orientierungs- und der Geschwindigkeitsfiltersind offensichtlich vom Aufbau her identisch. Da auch die selben Fehlermodelle fur θ undv, sowie fur θmag und vodo angenommen wurden, sind die zu Grunde liegenden Prozess- undMessgleichungen von der gleichen Art. Es mussen lediglich andere Werte fur die Varianzeneingesetzt werden.Die weitere Betrachtung geschieht deshalb an einem verallgemeinerten Blockdiagram (sieheAbb. 4.6), welches einem der beiden Blocke aus dem kompletten System entspricht.

+ Kalman

+ys = y+ ey

ys = y+ ey

y+∫

ey = y− e∫− e∫ + ey

e∫

y

Abbildung 4.6

Dabei gilt:ys ist der bias-bereinigte Sensorwert von Gyroskop, bzw. Beschleunigungssensory ist die tatsachliche Drehrate, bzw. Beschleunigungy ist der tatsachliche aufintegrierte Wert (Orientierung, bzw. Geschwindigkeit)y ist der korrigierte aufintegrierte Wert (Orientierung, bzw. Geschwindigkeit)ys ist der bias-bereinigte Sensorwert der Hilfssensoren (Magnetometer,Odometrie)

Die Bias verandern sich in der Betriebsdauer, in der das System aktiv sein wird, nicht wesentlich.Sie werden daher nicht im laufenden Betrieb bestimmt. Eine vorherige Bestimmung fand inKapitel 3 statt. Beim Betrieb des Systems wird dauerhaft der so bestimmte Bias bereinigt. Es istan dieser Stelle noch einmal wichtig darauf hinzuweisen, dass diese Annahme nur in kurzenZeitraumen adaquat ist. Bei einer langeren Betriebsdauer, z.B. von mehreren Stunden, kannschon deutlich ein sich verandernder Bias erkennbar sein, welcher nicht berucksichtigt wird.Das weitere Modell basiert jedoch auf der Annahme, dass der Bias entfernt wurde!

ey ist der Fehler von Gyroskop, bzw. Beschleunigungssensor, mit E(ey) = 0, da bias-bereinigtey ist der Fehler der Hilfssensoren mit E(ey) = 0, da bias-bereinigte∫ ist der durch Integration von ey entstandene Fehler, der kompensiert werden soll

Die Integration des tatsachlichen y fuhrt offensichtlich zum tatsachlichen y. Die Subtraktionvom Sensorwert des Hilfssensors fuhrt zum Wegfallen des tatsachlichen Wertes y. Damit bleibt

37

System-Entwurf und Analyse

e∫ + ey uber. Dieser wird durch den Kalman-Filter gefiltert. Geschatzt werden soll der durch dieIntegration entstandene Fehler e∫ . Der Zustand des Kalman-Filters entspricht also dem Fehlere∫ :

x = e∫ (4.8)

Die Messgroße des Filters ist e∫ + ey. Es wird direkt der zu schatzende Zustand e∫ gemessen,welcher mit dem (normalverteilten) Fehler ey uberlagert ist.Das Beobachtungsmodell ist damit trivial:

H = 1 (4.9)

v = ey (4.10)

R = var(ey) (4.11)

Die Integration der normalverteilten Zufallsvariable ey, lasst sich e∫ als Wiener-Prozess [GH92,S. 108] beschreiben.Das Prozessmodell ist damit:

φ = 1 (4.12)

w = ey (4.13)

Q = T · var(ey) (4.14)

wobei T die Samplezeit ist.Der Fehler e∫ ist zu Beginn naturlich Null, da noch keinerlei Integration vorgenommen wurde,welche zu einem Fehler fuhren konnte.Die Anfangsbedingungen sind damit:

x0 = 0 (4.15)

P0 = 0 (4.16)

Der Kalman Filter ist damit vollstandig beschrieben.

4.4 Filter Stabilitat

Die Gleichungen zum Berechnen der Zustandsfehlervarianzen (Gleichung (4.5), Gleichung (4.7))lassen sich so umformen, dass Sie von den Messungen unabhangig sind. Es lasst sich zeigen,dass [GH92, S. 276]:

38

System-Entwurf und Analyse

Pk+1 = φ2k (1−

PkH2k

H2k Pk +R

)Pk +Q (4.17)

Durch Einsetzen von Gleichung (4.9) und Gleichung (4.12) erhalt man fur die fur das Navigati-onssystem spezifizierten Kalman Filter:

Pk+1 = (1− Pk

Pk +R)Pk +Q (4.18)

Somit lasst sich die anfangliche Fehlervarianz unabhangig von tatsachlichen Messungen furbeliebige Zeitschritte bestimmen.Dies wurde genutzt, um die Stabilitat der Filter zu bestimmen, indem die Entwicklung derFehlervarianzen uber die gesamte Betriebsdauer berechnet wurde. Dabei wurden fur Q und Rdie in Kapitel 3 bestimmten Werte eingesetzt.In Abb. 4.8 ist zu sehen, dass die Fehlervarianzen des Geschwindigkeitsfilters bereits nach0,05 s einen stabilen Wert annehmen. Wie in Abb. 4.7 zu sehen, nehmen die Fehlervarianzendes Orientierungsfilters allerdings erst nach 30 s einen stabilen Wert an.

Abbildung 4.7: Fehlervarianz der Orientierung

39

System-Entwurf und Analyse

Abbildung 4.8: Fehlervarianz der Geschwindigkeit

Die Konvergenz beider Kalman Filter wurde gezeigt. Beide Kalman Filter sind somit stabil.

40

Evaluation

5 Evaluation

5.1 Testaufbau

Zur Evaluation des entwickelten Navigationssystems werden unterschiedliche Testfahrten aufdem Rundkurs des Ottocar-Projektes durchgefuhrt. Dabei wird das Fahrzeug mit optischenMarkern ausgestattet. Eine Kamera nimmt wahrendessen den gesamten Rundkurs auf. An Handder optischen Marker konnen aus den Kameraaufnahmen der Testfahrten Referenzwerte furPosition, Geschwindigkeit und Orientierung generiert werden. Diese Referenzwerte werden mitden Ausgaben des Navigationssystems verglichen.

Abbildung 5.1: Ottocar-Rundkurs

Es werden zwei unterschiedliche Szenarienevaluiert. Zum einen wird eine zehnrundigeKreisfahrt mit konstanter Geschwindigkeitund konstantem Radeinschlag durchgefuhrt.Außerdem wird eine autonome Fahrt mit demin Kapitel 1 beschriebenen Reglerkonzept aufdem in Abb. 5.1 abgebildeten Rundkurs uberdie maximale Betriebsdauer des Navigations-systems (3 min) ausgewertet. Der Startpunktfur die autonome Fahrt ist in Abb. 5.1 miteinem Pfeil eingezeichnet. Beide Szenarienwerden jeweils funf mal unabhangig vonein-ander durchgefuhrt.

5.2 Ergebnisse

Wahrend der Evaluation ist aufgefallen, dassdas als Referenz verwendete Kameratracking selbst keine optimalen Werte liefert. Insbesonderebei den Kreisfahrten wurden die optischen Marker auf dem Fahrzeug haufig nicht dauerhafterkannt. Nichtsdestotrotz eignen sich die Referenzdaten gut, um die Gute des Navigationssystemabzuschatzen. Die beiden Testszenarien wurden jeweils funf mal wiederholt und haben dabeireproduzierbar zu ahnlichen Ergebnissen gefuhrt. Um die Ubersichtlichkeit zu wahren, wird andieser Stelle eine reprasentative Wiederholung fur jedes Szenario vorgestellt.

41

Evaluation

5.2.1 Position

Die Ausreißer des verwendeten Kameratrackings sind in Abb. 5.3(a) gut zu erkennen. InAbb. 5.2(a) und Abb. 5.2(b) ist zu sehen, dass das Navigationssystem den tatsachlichen Weg inseiner Form gut folgt. Jedoch sind die vom Navigationssystem bestimmten Wege zu klein. Beieiner Vermessung der Strecke von Hand wurde festgestellt, dass die Skalierung des Referenzsys-tems schon nicht ganz korrekt ist. Dazu wurde die Strecke zwischen den in Abb. 5.1 mit zwei Xmarkierten Punkten mit 4,76 m vermessen. Die dazu equivalenten Punkte in Abb. 5.2(b) sindder mit einem schwarzen Punkt markierte Start und der unterste Punkt in der Abbildung, direktuber der X-Achse am Punkt 0. Diese Entfernung betragt jedoch bereits uber 5,6 m. Die gleicheEntfernung, schatzungsweise in Abb. 5.2(b) abgelesen, in den Daten vom Navigationssystemliegt jedoch bei unter 4,5 m. Somit ist auch bei richtiger Skalierung der Referenzdaten dieSkalierung der Navigationsdaten etwas zu klein.Zudem ist ein standiges systematisches Wegdriften der Position in Abb. 5.3(a) und Abb. 5.3(b)zu erkennen.

(a) Kreisfahrt (b) Rundkurs

Abbildung 5.2: Position - Navigationssystem und Kameratracking

5.2.2 Orientierung

Abb. 5.4(a) und Abb. 5.4(b) zeigt den Orientierungsfehler. Es sind große periodische Schwan-kungen festzustellen. Die ganz großen Spitzen entstehen durch Ausreißer des Trackings.Es ist anzunehmen, dass die periodischen Schwankungen durch wiederholtes Fahren uber lokaleMagnetfeldverzerrungen auf dem Boden entstehen.

42

Evaluation

(a) Kreisfahrt Komplett (b) Rundkurs Komplett

Abbildung 5.3: Position - Navigationssystem und Kameratracking

(a) Kreisfahrt (b) Rundkurs

Abbildung 5.4: Orientierungsfehler

Fur einen kleinen Bereich der Teststrecke wurde zur Uberprufung dessen die Magnetfeldver-zerrung gemessen. Dazu wurde das Fahrzeug auf gerader Strecke uber den Kreuzungsbereichgefuhrt. Die gemessene Orientierung auf Grund des Magnetometers sollte fur diesen Fall kon-stant bleiben. In Abb. 5.5 ist jedoch zu sehen, dass eine Abweichung von uber 20° vorhandenist. Wahrscheinlich sind direkt unter der Fahrbahn Stahltrager oder stromfuhrende Kabel verlegt,welche diese Verzerrung verursachen. Hinzu kommt, dass diese Verzerrungen sicher nicht aufden getestet Bereich beschrankt sind, sondern auf der gesamten Teststrecke vorzufinden sind.Eine Orientierung an Hand des Magnetfeldes ist somit sehr erschwert.

43

Evaluation

Abbildung 5.5: Orientierung wahrend einer Fahrt durch eine Magnetfeldverzerrung

5.2.3 Geschwindigkeit

In Abb. 5.6(a) & Abb. 5.6(b) ist gut zu erkennen, dass das Navigationssystem die Geschwin-digkeit sehr konstant halt und stabilere Ergebnisse als das Kameratracking liefert. Wie vorherschon besprochen ist jedoch kein Verlass auf die Skalierung. Somit kann nicht wirklich beurteiltwerden wie gut das Navigationssystem bzgl. der Geschwindigkeit ist.

(a) Kreisfahrt (b) Rundkurs

Abbildung 5.6: Geschwindigkeitsfehler

44

Schluss

6 Schluss

In dieser Arbeit wurde ein Inertial Navigationssystem fur das Versuchsfahrzeug des Ottocar-Projektes entwickelt. Dabei wurden verwendete Sensoren und die auftretenden Messfehleruntersucht. Es wurden Methoden zur Kalibrierung der Sensoren fur die Verwendung im Naviga-tionssystem vorgestellt. Diese konnen beim Wechsel der einzelnen Sensoren (z.B. bei einemDefekt) unkompliziert und schnell angewendet werden.Das entwickelte Navigationssystem verfolgt die Bewegungen des Fahrzeuges bereits recht gut,jedoch nicht perfekt. Insbesondere konnte, auf Grund fehlender unterstutzender Positionssenso-rik, die Anforderung an die Genauigkeit der geschatzten Position nicht eingehalten werden. Dierestlichen Anforderungen konnten jedoch eingehalten werden. Es ist ohne Probleme moglicheinen luckenloser Betrieb bei 100 Hz Taktung zu gewahrleisten. Eine zeitliche Verzogerung,sowie eine Verzerrung der tatsachlichen Signale wurde durch die indirekte Filterkonfigurationvermieden. Bei der Weiterentwicklung ist darauf, dass diese Konfiguration weiterhin genutztwird.Es wurde eine solide Basis geschaffen, die fur eine weitere Entwicklung genutzt werden kann.

6.1 Ausblick

In einer zukunftigen Entwicklung sollte insbesondere fur eine unterstutzende Positionssensorikgesorgt werden. Ohne diese ist ein Driften der Position nicht zu vermeiden und es kann nurgehofft werden, dass die Genauigkeit innerhalb der geforderten Grenzen bleibt.Der in der Evaluation beobachtete systematische Drift der Position sollte weiter untersuchtwerden, auch wenn er mit unterstutzender Positionssensorik wahrscheinlich bereits ausgeglichenwerden konnte. Es scheinen noch nicht kompensierte systematische Fehler enthalten zu sein, diezu diesem Drift fuhren. Z.B. konnte dies daran liegen, dass die IMU als korrekt ausgerichtetangenommen wurde, was definitiv nicht ganz der Fall ist. Eine Untersuchung der Ausrichtungder IMU benotigt eine Vorrichtung, um das Fahrzeug prazise entlang der Schwerkraft ausrichtenzu konnen. Diese muss dafur entwickelt werden.Als unterstutzende Positionssensorik sollte die Kamerawahrnehmung wie in Kapitel 2 beschrie-ben ausgebaut werden.Es ist auch denkbar, eine nach oben gerichtete Kamera zu nutzen, um daran die Geschwindigkeitoder auch die Position zu bestimmen. Beim letzten Veranstaltungsort des Carolo-Cup war dieDecke mit einem sehr groben Gittermuster uberzogen. Wahrscheinlich wird dies nicht sehrgenau funktionieren, es ware aber eine Untersuchung wert.Außerdem mussen die in der Evaluation beobachteten Schwankungen im Orientierungsfehler vonuber 40° untersucht werden. Da die Vermutung besteht, dass diese durch die unerwartet großen

45

Schluss

lokalen Magnetfeldanomalien verursacht werden, ware es hochinteressant diese zu vermessenund zu untersuchen. Es ist denkbar, dass die lokalen Magnetfeldanomalien genutzt werdenkonnen, um eine zusatzliche unterstutzende Positionssensorik zur Verfugung zu stellen. Wennman die lokalen Magnetfeldanomalien durch ein einfaches Abfahren der Strecke vermessenkann, kann dies auch beim Carolo-Cupvor Ort gemacht und somit im Wettkampf genutzt werden.Es ist auch zu untersuchen, inwieweit der Einfluss der lokalen Magnetfeldanomalien verringertwerden kann, indem man die IMU an einer hoheren Stelle im Fahrzeug unterbringt.Um eine aussagekraftigere Evaluation zu ermoglichen, ist es weiterhin notwendig das alsReferenz verwendete Kameratracking stabiler und genauer zu gestaltet. Dies konnte dann auchgenutzt werden, um bestimmte Sensorparameter wie Skalierungsfaktoren, zu bestimmen.Es sollte erwahnt werden, dass bei der Evaluierung nur Szenarien mit konstanter Geschwin-digkeit untersucht worden. Wunschenswert ware das Verhalten bei schwankenden Geschwin-digkeiten zu untersuchen. Dabei ist noch fraglich wie die Geschwindigkeitsschwankungenauf Grund des geplanten Regelkonzepts aussehen werden. Allerdings ist die unterstutzendeOdometrie-Sensorik, so genau, dass das wohl zu keinen Problemen fuhrt.Beim Untersuchen des Beschleunigungssignals ist aufgefallen, dass auch bei konstanter ge-schwindigkeit bei Kreisfahrten die Beschleunigung nicht wie angenommen Null ist. Das wird aneinem zu stark vereinfachten physikalischen Modell liegen. Es sollte genauer untersucht werden,welche Beschleunigungen bei welchen Fahrmanovern zu erwarten sind. Denkbar ist, dafur dasFahrzeugmodell der noch in Entwicklung befindlichen MPC zu nutzen.Mit einem verfeinerten physikalischen Modell konnten auch die anderen Achsen der Sensorengenutzt werden. Insbesondere die Y-Achse des Beschleunigungssensors (welche zur Seite zeigt)sollte zusatzlich genutzt werden.Die skalierungsfaktoren sollten dann beim Beschleunigugnssensor fur die verwendeten Achseneinzeln bestimmt werden. Dazu ist eine Vorrichtung zur prazisen Ausrichtung des Fahrzeugesnotwendig.Fur eine genauere Bestimmung der Varianz der Odometrie ist es notig, eine definierte konstanteGeschwindigkeit halten zu konnen. Dazu konnte man das Fahrzeug auf ein Laufband stellen undfixieren. Die Geschwindigkeit des Laufbands lasst sich konstanter halten als es bei Kreisfahrtendes Fahrzeugs moglich ware.Wenn ein ausgeklugelteres physikalisches Modell genutzt wird, kann man auch in jedem derRader eine Odometrie einbauen und so die Geschwindigkeit noch genauer bestimmen.Außerdem hat samtliche verwendete Sensorelektronik einen Fehler der mit der Temperaturkorreliert. Welchen Einfluss das auf unsere Anwendung hat ist noch zu untersuchen. Dafursollten die Temperaturschwankungen im Fahrzeug bestimmt werden. Um eine Kennlinie fur denmit der Temperatur korrelierten Fehler zu bestimmen, ist es notig die Umgebungstemperaturkontrolliert zu beeinflussen.

46

Abbildungsverzeichnis

Abbildungsverzeichnis

1.1 Carolo-Cup Strecke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Fahrzeug auf Fahrbahn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1 Koppelnavigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2 Inertial Navigation, nach [Woo07] . . . . . . . . . . . . . . . . . . . . . . . . 9

3.1 Fehlergroßen in Allan-Deviation Plot [IEE98] . . . . . . . . . . . . . . . . . . 143.2 Quantisierungsfehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.3 σ(τ) Plot fur Quantisierungsfehler [IEE98] . . . . . . . . . . . . . . . . . . . 163.4 σ(τ) Plot fur Geschwindigkeit Random Walk [IEE98] . . . . . . . . . . . . . 173.5 σ(τ) Plot fur Bias Instabilitat [IEE98] (der Wert 0,664 in der Abbildung ist das

Ergebnis von√

2ln2/π) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.6 σ(τ) Plot fur Rate Random Walk [IEE98] . . . . . . . . . . . . . . . . . . . . 193.7 σ(τ) Plot fur Drift Rate Ramp [IEE98] . . . . . . . . . . . . . . . . . . . . . . 203.8 Allan-Deviation fur Beschleunigungssensoren . . . . . . . . . . . . . . . . . . 263.9 Allan-Deviation fur Gyroskope . . . . . . . . . . . . . . . . . . . . . . . . . . 273.10 Magnetometer Daten bei Kreisfahrt . . . . . . . . . . . . . . . . . . . . . . . 28

4.1 Inertial Navigation, nach [Woo07] . . . . . . . . . . . . . . . . . . . . . . . . 314.2 Das “Filter” Problem, nach [GH92] . . . . . . . . . . . . . . . . . . . . . . . 324.3 Direktes Filtern eines springenden Wertes . . . . . . . . . . . . . . . . . . . . 344.4 Indirekt gefiltertes Inertial Navigationssystem, nach [TW04] . . . . . . . . . . 354.5 Komplettes Inertial Navigationssystem (INS) . . . . . . . . . . . . . . . . . . 364.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.7 Fehlervarianz der Orientierung . . . . . . . . . . . . . . . . . . . . . . . . . . 394.8 Fehlervarianz der Geschwindigkeit . . . . . . . . . . . . . . . . . . . . . . . . 40

5.1 Ottocar-Rundkurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415.2 Position - Navigationssystem und Kameratracking . . . . . . . . . . . . . . . . 425.3 Position - Navigationssystem und Kameratracking . . . . . . . . . . . . . . . . 435.4 Orientierungsfehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435.5 Orientierung wahrend einer Fahrt durch eine Magnetfeldverzerrung . . . . . . 445.6 Geschwindigkeitsfehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

47

Tabellenverzeichnis

Tabellenverzeichnis

3.1 Skalierungsfaktoren fur Gyroskop . . . . . . . . . . . . . . . . . . . . . . . . 253.2 Skalierungsfaktoren fur Beschleunigungssensor . . . . . . . . . . . . . . . . . 253.3 Allan-Deviation der untersuchten IMUs . . . . . . . . . . . . . . . . . . . . . 273.4 Standardabweichung der Orientierung in Ruhelage . . . . . . . . . . . . . . . 293.5 Ubersetzungsfaktoren fur Inkrementalgeber . . . . . . . . . . . . . . . . . . . 303.6 Standardabweichungen der Odometrie . . . . . . . . . . . . . . . . . . . . . . 30

48

Literaturverzeichnis

Literaturverzeichnis

[All66] David W Allan. Statistics of atomic frequency standards. Proceedings of the IEEE,54(2):221–230, 1966.

[BOW02] C BOWDITCH. American practical navigator. bicentennial edition, 2002.

[Car14] Carolo cup. https://wiki.ifr.ing.tu-bs.de/carolocup/carolo-cup,2014. [Online; Stand 22-September-2014].

[ESHN08] N. El-Sheimy, Haiying Hou, and Xiaoji Niu. Analysis and modeling of inertialsensors using allan variance. Instrumentation and Measurement, IEEE Transactions

on, 57(1):140–149, Jan 2008.

[GH92] Robert Grover and PYC Hwang. Introduction to random signals and applied

Kalman filtering. 1992.

[GJR80] I. S. (Izrail Solomonovich) Gradshteyn, Alan Jeffrey, and I. M. (Iosif Moiseevich)Ryzhik. Table of integrals, series, and products / I.S. Gradshteyn and I.M. Ryzhik ;

incorporating the 4th ed. prepared by Yu. V. Geronimus, M. Yu. Tseytlin ; translated

from the Russian by Scripta Technica, inc., and edited by Alan Jeffrey. New York ;Sydney : Academic Press, corr. and enl. ed. / prepared by alan jeffrey edition, 1980.Translated from the Russian text ’Tablitsy integralov, summ, riadov i proizvedenii’,by Scripta Technica, Inc. and edited by Alan Jeffrey. Incorporates 4th ed. preparedby Yu.V. Geronimus and M.Yu Tseytlin.

[IEE98] Ieee standard specification format guide and test procedure for single-axis interfero-metric fiber optic gyros. IEEE Std 952-1997, pages i–, 1998.

[May79] Peter S. Maybeck. Chapter 6 design and performance analysis of kalman filters. InPeter S. Maybeck, editor, Stochastic models, estimation, and control, volume 141,Part 1 of Mathematics in Science and Engineering, pages 289 – 367. Elsevier, 1979.

[TW04] David Titterton and John Weston. Strapdown Inertial Navigation Technology. IET,The Institution of Engineering and Technology and Michael Faraday House and SixHills Way and Stevenage SG1 2AY and UK, 2004.

[Wik14a] Koppelnavigation. http://de.wikipedia.org/wiki/Koppelnavigation,2014. [Online; Stand 26-September-2014].

49

Literaturverzeichnis

[Wik14b] Tragheitsnavigationssystem. http://de.wikipedia.org/wiki/Tr%C3%

A4gheitsnavigationssystem, 2014. [Online; Stand 26-September-2014].

[Woo07] Oliver J. Woodman. An introduction to inertial navigation, 2007.

50

Hiermit versichere ich, dass ich diese Arbeit selbstandig bearbeitet und keine anderen, als dieangegebenen Quellen und Hilfsmittel benutzt, sowie die wortlich oder inhaltlich ubernommenenStellen als solche kenntlich gemacht habe.

Ort, den Datum