Unsere Smartphones wissen, wo oben und unten ist. Aber woher wissen sie das? Und wie genau kennen Smartphones ihre Orientierung und die Bewegung im Raum?
In dieser Arbeit wird ein Algorithmus entwickelt, welcher aus den Daten von mehreren Sensoren, wie sie in typischen Smartphones zu finden sind, die Orientierung und die Position im Raum berechnet. Mit zahlreichen mathematischen Tricks gelingt es, die Daten der einzelnen Sensoren in Echtzeit so umzurechnen, dass sogar Gesten und kurze Bewegungen erfasst werden können.
Anwendungen des Algorithmus sind nicht nur Mobiltelefone, sondern auch beispielsweise Quadrocopter oder Satelliten.
Inhaltsverzeichnis
- Setup
- Auslesen des Sensors
- Funktionsdefinitionen
- Hinweise zur Notation
- Algorithmus
- Grafische Visualisierung
- Vor- und Nachteile des Algorithmus
- Quellen
- Anhänge
Zielsetzung und Themenschwerpunkte
Das Ziel dieser Arbeit ist es, die 3D-Orientierung und -Translation eines 9DOF-Sensors (3D-Gyroskop, 3D-Accelerometer, 3D-Magnetometer) und eines Barometers zu erfassen. Dies geschieht durch die Implementierung eines Algorithmus, der die Messdaten der Sensoren verarbeitet und daraus die Rotation und Translation des Sensors im Raum berechnet.
- Sensordatenverarbeitung
- Kalibrierung und Filterung von Sensormesswerten
- Entwicklung eines Algorithmus zur Orientierungs- und Translationsbestimmung
- Grafische Visualisierung der ermittelten Daten
- Bewertung der Genauigkeit und der Vor- und Nachteile des entwickelten Algorithmus
Zusammenfassung der Kapitel
- Setup: Dieses Kapitel beschreibt die verwendeten Sensoren (LSM9DS0 und BMP180) und die Schaltung auf einem Raspberry Pi 3. Es wird außerdem die Programmiersprache Java mit der Erweiterung pi4j vorgestellt, die für die Implementierung des Algorithmus verwendet wird.
- Auslesen des Sensors: Hier wird die Konfiguration der Sensoren über die I²C-Schnittstelle beschrieben. Es werden die Aktualisierungsraten, Messbereiche und Filtereinstellungen der einzelnen Sensoren erläutert. Außerdem wird die Kalibrierung der Sensoren beschrieben, um eine genaue Messung zu gewährleisten.
- Funktionsdefinitionen: Dieses Kapitel stellt grundlegende Vektor- und Matrixoperationen vor, die für die Implementierung des Hauptalgorithmus benötigt werden. Dazu gehören Operationen wie Rotation, Skalierung, Addition und Multiplikation von Vektoren und Matrizen. Die Definitionen werden mit Java-Code illustriert.
- Hinweise zur Notation: Dieses Kapitel erklärt wichtige Notationselemente, die in der Arbeit verwendet werden, wie z.B. die Zuweisungsoperatoren und die Verwendung von Vektoren und Matrizen.
- Algorithmus: Dieses Kapitel beschreibt den Hauptalgorithmus, der die Sensordaten verarbeitet und die Orientierung und Translation des Sensors im Raum berechnet. Es wird erklärt, wie die Sensormesswerte zur Bestimmung der Rotationsmatrix und des Translationsvektors genutzt werden. Der Algorithmus setzt auf die Kombination von Gyroskop-, Beschleunigungs- und Magnetfeldmessungen sowie der Barometerdaten.
- Grafische Visualisierung: In diesem Kapitel wird die grafische Darstellung der ermittelten Daten mithilfe der 3D-Grafikbibliothek GraphicsEngine vorgestellt. Es werden die dargestellten Elemente, wie das Referenzkoordinatensystem und die Messdaten, beschrieben.
Schlüsselwörter
Die Arbeit befasst sich mit der Erfassung der 3D-Orientierung und -Translation eines Sensors mithilfe eines 9DOF-Sensors (Gyroskop, Accelerometer, Magnetometer) und eines Barometers. Zentrale Themen sind die Kalibrierung und Filterung von Sensormessdaten, die Entwicklung eines Algorithmus zur Orientierungs- und Translationsbestimmung, die grafische Visualisierung der Ergebnisse sowie die Analyse der Genauigkeit und der Vor- und Nachteile des Algorithmus.
- Arbeit zitieren
- Moritz Lehmann (Autor:in), 2017, Erfassung von 3D Orientierung und Translation mittels eines 9DOF Sensors und eines Barometers, München, GRIN Verlag, https://www.hausarbeiten.de/document/378112