Ortsbestimmung von einem Roboter mit Hilfe von GPS
- Art: Diplomarbeit
- Autor: Jens Oehlert
- Abgabedatum: Dezember 2005
- Umfang: 134 Seiten
- Dateigröße: 2,3 MB
- Note: 1,0
- Institution / Hochschule: Helmut Schmidt Universität - Universität der Bundeswehr Hamburg Deutschland
- Bibliografie: ca. 7
- ISBN (eBook): 978-3-8324-9933-4
-
ISBN (Paperback) :
978-3-8324-9933-4 P - ISBN (CD) :978-3-8324-9933-4 CD
- Sprache: Deutsch
- Prämierung:
- Arbeit zitieren: Oehlert, Jens Dezember 2005: Ortsbestimmung von einem Roboter mit Hilfe von GPS, Hamburg: Diplomica Verlag
- Schlagworte: Global Positioning System, Navigation, Technische Informatik, Elektrotechnik, NMEA
In den Warenkorb
74,00 €
Diplomarbeit von Jens Oehlert
Zusammenfassung:
Diese Diplomarbeit beschäftigt sich mit den Gegebenheiten der GPS-Navigation. Dazu wird am Anfang die Funktionsweise des GPS-Systems erläutert. Im Anschluss daran wird auf das Datenprotokoll NMEA-0183, welches die Kommunikation zwischen GPS-Empfänger und angeschlossenen Gerät sicherstellt. An Hand dieses Datenprotokolls wird die Entschlüsselung der Daten des GPS-Empfängers mit Hilfe des Mikrocontrollers XC161CJ von Infineon durchgeführt.
Diese Daten dienen dann zur Berechnung eines Kurses zwischen der aktuellen, durch den GPS-Empfänger ermittelten Position und einem vorgegebenen Ziel. Diese Rechnung wird durch die Großkreisberechnung durchgeführt, auf welche auch näher eingegangen wird.
Mit Hilfe dieses errechneten Kurses kann dann durch vergleichen mit dem anliegenden Kurses, welcher von einem integrierten Kompassmodul stammt, eine Steuerinformation erzeugt und zur Verfügung gestellt.
Des Weiteren wurde eine weitere Version des Programms entwickelt, welche neben den eben genannten Eigenschaften noch alle vom GPS zur Verfügung gestellten Daten aufarbeitet und diese in entsprechender Form ebenfalls zur Verfügung stellt.
Alle in dieser Diplomarbeit verwendeten Module und deren Einbindung bzw. Verwendung ist in dieser Arbeit näher erläutert. Dies sind:
- Ein GPS-Empfänger angebunden über RS 232 – Schnittstelle.
- Ein Kompassmodul (Arbeitsweise basiert auf dem Magnetfeldlinien der Erde) angebunden über I²C – Schnittstelle.
- Display (4x16, zum Anzeigen von Zwischen- und Endergebnissen) angebunden über Daten – Schnittstelle (Datenbus (parallel)).
Alle aufgeführten Module wurden mit Hilfe von in C (Programmirrung) in Compiler „Keil“ geschrieben und befinden sich Anhang der Diplomarbeit.
Um die Daten zu nutzen wurde dem Programm noch ein Navigationsprogramm hinzugefügt, welches Daten (Koordinaten) von Punkten der zurückgelegten Strecken (in einem vorgegebenen abstand (z.B. 5m) speichert und nach erreichen des Zieles diese Daten nutzt um dem Rückweg zu bestimmen.
Inhaltsverzeichnis:
| 1. | AUFGABENSTELLUNG UND KURZBESCHREIBUNG | 8 |
| 1.1 | Aufgabenstellung | 8 |
| 1.2 | Kurzbeschreibung | 9 |
| 2. | GPS | 10 |
| 2.1 | Allgemeines zu GPS | 10 |
| 2.2 | Funktionsweise des GPS-Systems | 11 |
| 2.2.1 | Aufbau des GPS-Systems | 11 |
| 2.2.2 | Das Weltraumsegment | 11 |
| 2.2.3 | Das Kontrollsegment | 13 |
| 2.2.4 | Benutzersegment | 14 |
| 2.3 | Positionsbestimmung | 15 |
| 2.3.1 | Zwei- und dreidimensionale Positionsbestimmung | 16 |
| 2.3.2 | Zeitdifferenzen zwischen Satelliten und Empfängern | 17 |
| 2.4 | Die Trägerfrequenz | 18 |
| 2.5 | Fehlerquellen bei GPS | 20 |
| 2.5.1 | Fehlerquelle SA | 20 |
| 2.5.2 | Fehlerquelle Satellitengeometrie | 21 |
| 2.5.3 | Satellitenumlaufbahnen | 22 |
| 2.5.4 | Mehrwegeeffekt | 23 |
| 2.5.5 | Atmosphärische Effekte | 24 |
| 2.5.6 | Uhrenungenauigkeit und Rundungsfehler | 25 |
| 2.5.7 | Relativistische Effekte | 25 |
| 2.5.8 | Differenziales GPS ( DGPS ) | 26 |
| 2.5.9 | Wide Area Augmentation System (WAAS) | 26 |
| 2.5.10 | EGNOS / GALILEO | 27 |
| 2.5.11 | Erreichbare Genauigkeiten des GPS-Systems | 27 |
| 2.6 | Standard NMEA–0183 | 29 |
| 2.6.1 | Wichtigen Datensätze des NMEA–0183 Standard | 30 |
| 3. | DAS KOORDINATENSYSTEM | 33 |
| 3.1 | Geographische Breite | 33 |
| 3.2 | Geographische Länge | 34 |
| 3.3 | Umrechnungen Grad, Minute Sekunde | 35 |
| 4. | DER GROßKREIS | 35 |
| 4.1 | Bedeutung des Großkreises | 35 |
| 4.2 | Die Großkreisberechnung | 37 |
| 4.3 | Beispielrechnung Großkreisberechnung | 38 |
| 5. | AUSWAHL EINES GPS–EMPFÄNGER | 41 |
| 5.1 | Auswahlkriterien für einen GPS–Empfänger | 41 |
| 5.2 | Ausgewählte GPS–Empfänger | 43 |
| 6. | ENTSCHLÜSSELUNG DES NMEA–0183 STANDARDS | 45 |
| 6.1 | Entwurf eines Programms zum Plotten der Datensätze der ausgewählten Empfänger | 45 |
| 6.2 | C++ Programm zum Plotten des Datenstroms an der USB–Schnittstelle | 46 |
| 6.3 | Entschlüsselung des Datensatzes | 48 |
| 7. | DER VERSUCHAUFBAU | 62 |
| 7.1 | Erstellen des Entwicklungsbords mit den benötigen Komponenten | 62 |
| 7.2 | Der Mikrokontroller XC161CJ | 62 |
| 7.3 | Die zusätzlichen Komponenten des Expansion Board | 63 |
| 7.3.1 | Spannungsstabilisierungsschaltung | 63 |
| 7.3.2 | Schaltung zur Ansteuerung eines LCD–Displays | 64 |
| 7.3.3 | Der Kompassmodul | 64 |
| 7.3.3.1 | Verwendungszweck und Funktionsweise | 64 |
| 7.3.3.2 | Anschlüsse | 65 |
| 7.3.3.3 | Kalibrierung des Kompassmoduls | 65 |
| 7.3.4 | Anschluss der GPS–Empfängers über PS2 an der RS232-Schnittstelle | 67 |
| 8. | ENTWICKLUNG DES PROGRAMMS | 68 |
| 8.1 | Interrupt Service Routine (ISR) | 69 |
| 8.1.1 | Bereitgestellte Variablen durch die ISR | 69 |
| 8.1.2 | Funktionsweise der ISR | 72 |
| 8.1.3 | Funktionsweise des Programms der ISR | 72 |
| 8.1.4 | Die Headerdatei „interruptdefs.h“ | 74 |
| 8.2 | Die Initialisierung der Kompassmoduls | 74 |
| 8.3 | Minimale Version des GPS – Navigationsprogramm | 76 |
| 8.3.1 | Die Bestandteile der Minimale Version | 77 |
| 8.3.2 | Die Initialisierungsdatei „GPSinit“ | 78 |
| 8.3.3 | Das Minimal Navigationsprogramm | 79 |
| 8.4 | Bestandteile der Maximalversion des Navigationsprogramms | 83 |
| 9. | VERWENDUNG DES NAVIGATIONSPROGRAMMS | 87 |
| 9.1 | Verwendung der Minimale Version des Navigationsprogramms | 90 |
| 9.2 | Verwendung der Maximalen Version des Navigationsprogramms | 91 |
| 10. | LITERATUR UND QUELLENNACHWEIS | 92 |
| 11. | BILDERVERZEICHNIS | 93 |
| 12. | ANHANG | 94 |
| 12.1 | Anhang A Datenblatt des GPS-Empfängers „Holux GM-210“ | 94 |
| 12.2 | Anhang B Datenblatt des GPS-Empfängers „Holux GR-211“ | 94 |
| 12.3 | Anhang C1 Log-Datei 1 | 95 |
| 12.4 | Anhang C2 Log-Datei2 | 98 |
| 12.5 | Anhang D Entwicklungsboard mit Komponenten | 101 |
| 12.6 | Anhang E Ansteuerung für das LCD-Display | 102 |
| 12.7 | Anhang F Anschlussbelegung des GPS-Empfängers | 104 |
| 12.8 | Anhang G Kompassmodul Devan CMPS03 | 105 |
| 12.9 | Anhang H Externe Variablen der Maximalversion des Navigationsprogramms | 105 |
| 12.10 | Anhang I Externe Variablen der Maximalversion des Navigationsprogramms | 107 |
| 12.11 | Code | 109-134 |
Kapitel 2.2.3 Das Kontrollsegment:
Die Kontrolle über das GPS-System liegt vollständig in der Hand der US-Armee. Zur Überwachung der Satelliten dient eine „Master Control Station“ auf der „Schriever Air Force Base“ (zwanzig Kilometer östlich von Colorado Springs) sowie vier weitere Monitorstationen auf Hawaii, den Ascension Islands, Diego Garcia und Kwajalein.
Die passiven Monitorstationen sind nichts weiter als GPS-Empfänger, die alle im Sichtbereich befindlichen Satelliten verfolgen und auf diese Weise Messdaten der Satellitensignale sammeln. Die Monitorstationen senden diese Rohdaten an die „Master Control Station“ zur Weiterverarbeitung. Die Stationen Ascension Islands, Diego Garcia und Kwajalein sind auch Sendestationen für Korrekturdaten. Die Master Control Station ist für den Betrieb des GPS-Systems verantwortlich. Hier werden die Daten der Monitorstationen 24 Stunden am Tag in Echtzeit ausgewertet und daraus Informationen über die Uhren und Bahnen der Satelliten gewonnen.
Auf diese Weise können eventuelle Fehlfunktionen schnell festgestellt werden. Aus den Informationen werden auch neue Ephemeridendaten berechnet. Ein bis zwei mal pro Tag werden diese Daten dann zusammen mit anderen Kommandos über Sendeantennen der Stationen auf den Ascension Islands, Diego Garcia oder Kwajalein über ein S-Band Signal (S-Band: 2000 - 4000 MHz) an die Satelliten zurückgesandt. Die Satelliten des Blocks IIR (die aktuell neuste Version der GPS-Satelliten) sind in der Lage, Signale mit anderen GPS-Satelliten auszutauschen und können dadurch ihre Bahndaten selbst korrigieren, wodurch sie theoretisch nur alle 180 Tage eine Verbindung mit den Bodenstationen benötigen.
Bei größeren Abweichungen der Satelliten kann die „Master Control Station“ den betroffenen Satelliten vorrübergehend auf „standby“ schalten. Damit sendet der Satellit keine Signale mehr. Nun kann mit Hilfe von Steuerdüsen die Satellitenbahn korrigiert werden (dies wird ebenfalls von der „Master Control Station“ aus veranlasst und überwacht). Ist dies erfolgreich abgeschlossen, schaltet die „Master Control Station“ den Satelliten wieder zu. Außerdem kann man zum Kontrollsystem auch noch die Bodenstationen des WAAS bzw. EGNOS Korrektursystem hinzuziehen.
Die Ansteuerung des LCD–Displays auf dem Expansion Board dient zur Ansteuerung von Punktmatrix-LCD-Displays mit einem 2x8 poligen Anschluss. Von mir wurde ein 4x20 Zeichen – Display „Character“ verwendet. Den Schaltplan, sowie die Belegung der Stecker X1, X2 (siehe Anlage E) und die Anschlussbelegung auf dem Patchfeld habe ich der Diplomarbeit von Jörg Fimpler, mit der Genehmigung von Prof. Dr. Englberger entnommen. Damit man auch ohne diese Diplomarbeit weiter arbeiten kann habe ich sowohl die Schaltung wie auch sämtliche Belegungen im Anhang E hinterlegt. Das Display dient mir legendlich zur Überprüfung des Programms auf dem Mikrocontroller. Dies ist erforderlich, da diese Diplomarbeit ein Bestandteil eines autonomen Roboters werden soll. [...]
- 49 Bei genauerer Betrachtung dieses Ausschnittes sieht man, dass vier verschiede Datensätze vom GPS–Empfänger zur Verfügung gestellt werden (Die Satzkennung ist farblich unterschiedlich). Auch weitere Messungen haben gezeigt, dass der GPS–Empfänger “Holux GM 210“ wie auch der GPS – Empfänger „Holux GR 211“ vier Datensätze des NMEA-0183–Protokolls unterstützt. Diese sind der Datensatz RMC, GSA, GGA und GSV. Betrachtet man die Aufzeichnungen einmal sehr sorgfältig, so stellt man fest, dass die Datensätze RMC, GGA, GSA sich ständig mit aktualisierten Daten wiederholen. Und beim Auswerten der vollständigen Aufzeichnung stellt man fest, dass diese drei Datensätze 31-mal (in 30 sec Aufzeichnungsdauer) vorhanden sind. Dies Bedeutet, dass diese Datensätze sich jede Sekunde mit neuen, aktuellen Daten wiederholen. Nur bei jeder fünften Wiederholung ist auch der Datensatz GSA (welchen bis zu viermal hintereinander vorkommen kann) vorhanden. Dies entspricht einer Wiederholungsrate von 5 Sekunden. Durch die zufällige Aufschaltung in den Datenstrom des Empfängers, beginnt die Aufzeichnung mit nicht identifizierbaren Zeichen. Dies geschieht dadurch, dass der Datenstrom nicht zwingend zu Beginn eines ASCII–Zeichen beginnt, sonder mitten in einem solchen beginnen kann. Dadurch entstehen Bitfolgen, welche im ASCII–Protokoll zwar definiert, aber keinen logischen Sinn ergeben. Der Empfänger macht nach jedem gesendeten Satz ein CR/LF sowie eine kurze Pause (einige wenige bit), welche die Synchronisation des Datenstroms ermöglicht. Nach jeder Sendepause wird eine neue Zeile begonnen, so dass bereits in der zweiten Zeile ein vollständiger Datensatz steht. Jeder Datensatz beginnt zur Erkennung des Anfangs mit einem “$“. Gefolgt von einer zwei Zeichen große Herstellerkennung und der drei Zeichen großen Satzkennung (GPRMC, GPGSA, GPGGA, GPGSV). Den Abschluss eines jeden Satzes bildet die Prüfsumme, welche aus einem “*“ und einer zweistelligen Hexadezimalen Zahl besteht, die sich durch ein (bitweise) exklusiv-oder (1+1=0, 1+0=1, 0+0=0) aller Zeichen zwischen dem "$" und dem "*" berechnen. Bei manchen Sätzen ist die Prüfsumme notwendig. Doch nun zur Entschlüsselung der einzelnen Datensätze. [...]
Mit Hilfe des Datenentschlüsselungssatzes des Datenprotokolls NMEA-0183, welcher unter 2.6.1 näher erläutert wurde, kann nun der Aufgezeichnete Datenstrom entschlüsselt und dessen Zusammensetzung ermittelt werden. Im Nachfolgenden ist ein kleiner Ausschnitt aus der „log.txt“ –Datei sowie aus der „log1.txt“ –Datei, mit dessen Hilfe ich auf die Entschlüsselung näher eingehen möchte. Diese Dateien sind mit dem „Holux GM 210“ – Empfänger ausgezeichnet wurden. Bei Vergleichsmessungen mit dem zweiten von mir ausgewählten GPS–Empfänger „Holux GR 211“ hat ein vergleichbares Ergebnis ergeben, so dass ich im Weiteren nur auf Daten des „Holux GM 210“ eingehe. Die Messung wurde im Freien mit freier Sicht zum Himmel durchgeführt. [1] [...]
In den Warenkorb
74,00 €
Link zur Arbeit:
http://www.diplom.de/ean/9783832499334
Arbeit zitieren:
Oehlert, Jens Dezember 2005: Ortsbestimmung von einem Roboter mit Hilfe von GPS, Hamburg: Diplomica Verlag
Schlagworte:
Global Positioning System, Navigation, Technische Informatik, Elektrotechnik, NMEA



