Orientierungsbestimmung mit Inertialsensoren und Magnetometern

Werbung
Hochschule
Bonn-Rhein-Sieg
University
of Applied Sciences
Fachbereich Informatik
Department of Computer Science
Bachelorarbeit
im Studiengang Informatik (BCS)
Orientierungsbestimmung mit
Inertialsensoren und Magnetometern
auf Basis von Quaternionen
von
Stefan Otto
Erstbetreuer
Zweitbetreuer
Prof. Dr. Dietmar Reinert
M. Sc. Christoph Schiefer
Eingereicht am
28. August 2012
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Abstract
Zur Vorbeugung berufsbedingter Schäden im Muskel-Skelett-System ist die Erfassung und Bewertung physikalischer Belastungsgrößen am Arbeitsplatz erforderlich. Zu diesem Zweck wurde am Institut für Arbeitsschutz der Deutschen Gesetzlichen Unfallversicherung das personengebundene Messsystem CUELA entwickelt. Das auf mechanischen Sensoren basierende System
ermöglicht es, in realen Arbeitsumgebungen und unter realen Arbeitsbedingungen Körperbewegungen und –haltungen zu erfassen und nach medizinischen Maßstäben auszuwerten. In den
letzten Jahren ist eine auf digitalen Gyroskopen und Accelerometern basierende Messeinheit
entwickelt worden, welche in Zukunft die mechanischen Elemente des CUELA-Systems ersetzen soll. Dabei führt bei der alleinigen Verwendung von Inertialsensoren die Aufsummierung
der Winkelgeschwindigkeiten zu einem zunehmenden Abschätzungsfehler, welcher durch die
Neigungsdaten des Accelerometers nicht in allen Bewegungsebenen ausgeglichen werden kann.
Zur Verbesserung der Orientierungsbestimmung wird die Inertialmesseinheit daher um ein Magnetometer erweitert und die bestehenden Sensorelemente durch neuere Modelle ersetzt. Zur
Erkennung und Kompensation bauteilinterner magnetischer Störfelder wird ein geeignetes Kalibrierverfahren ermittelt und eine entsprechende Kalibriervorrichtung entworfen. Die Auswer tung der Sensordaten und die Abschätzung der Orientierung erfolgt mithilfe eines quaternionen basierten Algorithmus, der im Rahmen der Arbeit vorgestellt, überarbeitet und um einen Algorithmus zur Integration der Messdaten des Magnetometers erweitert wird. Zusätzlich wird ein
Algorithmus definiert, nach welchem die Präsenz magnetischer Störfelder weitestgehend erkannt und der Einfluss des Magnetometers auf die Orientierungsbestimmung entsprechend gedämpft wird.
2
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Gliederung
Abbildungsverzeichnis.................................................................................................................5
Tabellenverzeichnis......................................................................................................................5
Abkürzungsverzeichnis................................................................................................................6
1 Einleitung..................................................................................................................................7
2 Orientierungsbestimmung mit Intertialsensoren und Magnetometern.......................................9
2.1 Kommerzielle Systeme zur Orientierungsbestimmung....................................................11
3 Das CUELA-Messsystem........................................................................................................12
4 Methoden................................................................................................................................14
4.1 Rotation im dreidimensionalen Raum mit Quaternionen..................................................14
4.2 Definition des Koordinatensystems..................................................................................18
5.1 Sensornetzwerk................................................................................................................20
5.2 Sensoren...........................................................................................................................20
6 Kalibrierung der Sensoren.......................................................................................................22
6.1 Kalibrierung des Gyroskops.............................................................................................22
6.2 Kalibrierung des Accelerometers.....................................................................................24
6.3 Kalibrierung des Magnetometers......................................................................................27
6.3.1 Das Erdmagnetfeld....................................................................................................27
6.3.2 Funktionsweise des Magnetometers..........................................................................28
6.3.3 Überlagerung magnetischer Felder...........................................................................29
6.3.4 Kalibriervorrichtung..................................................................................................30
6.3.5 Kalibrierung des Magnetometers..............................................................................32
6.4 Automatisierung der Kalibrierdatenauswertung mit MATLAB.......................................34
7. Datenverarbeitung..................................................................................................................35
7.1 Speicherung der Sensorinformationen..............................................................................35
7.2 Filterung der Sensordaten.................................................................................................35
8. Orientierungsanalyse..............................................................................................................36
8.1 Ermittlung der Initialorientierung.....................................................................................36
8.1.1 Accelerometer...........................................................................................................36
8.1.2 Magnetometer...........................................................................................................37
8.2 Gyroskop Update.............................................................................................................37
8.2.1 Rotation um die z-Achse...........................................................................................38
8.2.2 Dämpfung des Gyroskops.........................................................................................39
8.3 Accelerometer Update......................................................................................................39
8.3.1 Rotation um die x-Achse...........................................................................................40
8.3.2 Rotation um die y-Achse...........................................................................................41
3
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
8.3.3 Dämpfung des Accelerometers.................................................................................42
8.4 Magnetometer Update......................................................................................................43
8.4.1 Rotation um die z-Achse...........................................................................................43
8.4.2 Dämpfung des Magnetometers..................................................................................45
8.5 Synthese der Sensormessungen........................................................................................46
8.5.1 Rotation um die z-Achse...........................................................................................46
8.5.2 Ermittlung des aktuellen Orientierungsquaternions..................................................47
8.6 Evaluierung der Orientierungsanalyse..............................................................................48
8.7 Ergebnis der Orientierungsanalyse...................................................................................53
9 Ausblick..................................................................................................................................55
10 Zusammenfassung.................................................................................................................56
Literaturverzeichnis....................................................................................................................57
4
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Abbildungsverzeichnis
Abbildung 1: Visualisierung der Messdaten...............................................................................12
Abbildung 2: Das digitale CUELA-System ...............................................................................13
Abbildung 3: Quaternionen als Kombination aus Drehachse und Drehwinkel...........................14
Abbildung 4: Rotation mit Quaternionen...................................................................................16
Abbildung 5: Spherical Linear Interpolation..............................................................................18
Abbildung 6: Koordinatensystem...............................................................................................19
Abbildung 7: CUELA-Sensormodul..........................................................................................20
Abbildung 8: Neues Design der Messeinheit..............................................................................21
Abbildung 9: Kalibriervorrichtung für das Gyroskop.................................................................22
Abbildung 10: Kalibrierung des Gyroskops...............................................................................24
Abbildung 11: Kalibrierung des Accelerometers........................................................................25
Abbildung 12: Interpretation der Accelerometer-Messungen auf einem Einheitskreis...............26
Abbildung 13: Stärke des Erdmagnetfeldes................................................................................28
Abbildung 14: Kalibriervorrichtung für das Magnetometer (Vorderseite).................................31
Abbildung 15: Kalibriervorrichtung für das Magnetometer (Rückseite)....................................31
Abbildung 16: Kalibrierung des Magnetometers........................................................................33
Abbildung 17: Graphische Auftragung zweier Sensorachsen.....................................................34
Abbildung 18: Globales und lokales Koordinatensystem...........................................................39
Abbildung 19: Evaluierungsaufbau für die Rotation um die x- und y-Achse.............................48
Abbildung 20: Evaluierungsaufbau für die Rotation um die z-Achse.........................................49
Abbildung 21: Winkelabschätzung bei schrittweiser Rotation um die x-Achse ........................49
Abbildung 22: Winkelabschätzung bei schrittweiser Rotation um die z-Achse.........................50
Abbildung 23: Winkelabschätzung in dynamischer Situation bei Bewegung um die y-Achse...51
Abbildung 24: Winkelabschätzung in dynamischer Situation bei Bewegung um die z-Achse . .52
Abbildung 25: Fehlerhafte Abschätzung des Rotationswinkels in statischer Situation ..............52
Abbildung 26: Fehlerhafte Abschätzung des Rotationswinkels in dynamischer Situation.........53
Tabellenverzeichnis
Tabelle 1: Genauigkeit der Neigungswinkelbestimmung...........................................................27
5
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Abkürzungsverzeichnis
AMR – Anisotrop Magneto-Resisitv
CUELA – Computer-Unterstützte Erfassung und Langzeit-Analyse
FQA – Factored Quaternion Algorithm
HID – Human Interface Design
I2C – Inter-Integrated Circuit
IMU – Inertial Measurement Unit
IMMU – Inertial/Magnetic Measurement Unit
MSE – Muskel-Skelett-Erkrankung
PDA – Personal Digital Assistant
QUEST – Quaternion Estimator
RMSE – Root-Mean-Square Error
SLERP – Spherical Linear Interpolation
WIDAAN – Winkel-Daten-Analyse
6
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
1 Einleitung
Arbeitsbezogene Erkrankungen und Beschwerden des Muskel-Skelett-Systems zählen in
Deutschland in allen Arbeits- und Berufsgruppen zu den häufigsten Krankheitsbildern und Ursachen für langfristige Arbeitsausfälle. Fast ein Viertel aller Krankmeldungen und nahezu ein
Fünftel aller gesundheitlich begründeten Frühberentungen waren in den letzten Jahren auf diese
Diagnosegruppe zurückzuführen [Eur10.1]. Entsprechend hoch sind die entstehenden betriebsund volkswirtschaftlichen Kosten. Ursachen für Muskel-Skelett-Erkrankungen (MSE) sind unter anderem die Handhabung von schweren Lasten, Zwangshaltungen, Vibrationen, repetitive
Tätigkeiten und einseitige Belastungen – etwa durch andauerndes Sitzen oder Stehen. Auch eine
bewegungsarme Arbeitsgestaltung kann Ursache für Erkrankungen des Muskel-Skelett-Systems
sein. Hinzu kommen Faktoren der Arbeitsumgebung wie große Hitze oder Kälte [Eur10.2]. Den
Einfluss physischer Aktivität auf die Gesundheit zu analysieren macht ein Messsystem erforder lich, welches Körperbewegungen und –haltungen unter Berücksichtigung gleichzeitiger physikalischer Belastung in der realen Arbeitsumgebung sowie unter realen Arbeitsbedingungen objektiv und zuverlässig erfassbar macht.
Für die Erfassung und Dokumentation der für die Entstehung von MSE ausschlaggebenden physischen Belastungsfaktoren wird am Institut für Arbeitsschutz (IFA) der Deutschen Gesetzlichen Unfallversicherung (DGUV) das personengebundene Messsystem CUELA (ComputerUnterstützte Erfassung und Langzeit-Analyse von Belastungen des Muskel-Skelett-Systems)
entwickelt und verwendet. Das auf mechanischen Sensoren basierende Messsystem ermöglicht
es, Körperbewegungen und -haltungen in realen Arbeitsumgebungen und unter realen Arbeitsbedingungen zu erfassen und zu analysieren. Seither wird das System kontinuierlich verbessert
und erweitert, um sowohl neuen Messaufgaben gerecht zu werden als auch technologisch auf
dem neuesten Stand zu bleiben.
In den letzten Jahren ist eine auf digitalen Inertialsensoren basierende Messeinheit (IMU) entwi ckelt worden, welche in Zukunft die analogen Sensoren und mechanischen Elemente des
CUELA-Systems ersetzen soll [Sch08.1]. Eine Inertial-Messeinheit besteht aus Gyroskopen und
Accelerometern zur Messung von Winkelgeschwindigkeit und Beschleunigung in allen drei Be wegungsebenen. Die Sensoren werden an Gliedmaßen, Rücken, Schulter und Kopf der Versuchsperson angebracht. Dabei lässt sich durch Kombination der Sensordaten die Änderung der
Ausrichtung eines Körpersegments ermitteln. Die Auswertung der Daten erlaubt die Bestimmung der Orientierung einer IMU im dreidimensionalen Raum. In statischen 1 Situationen bestimmt das als Inklinometer verwendete Accelerometer die Neigung der Sensoreinheit relativ
1
Der Begriff 'statisch' ist im Rahmen dieser Arbeit auf Situationen bezogen, in denen keine objektive Än-
derung der Orientierung stattfindet. Findet eine Orientierungsänderung statt, so wird die Situation als 'dynamisch' bezeichnet.
7
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
zum Schwerkraftvektor. Da der Gravitationsvektor jedoch keine Information über die Rotation
um die vertikale Achse enthält, ist die Orientierungsbestimmung allein mit Accelerometern unvollständig. Zudem wird in dynamischen Situationen wird die Schwerkraft von linearen oder
zentripetalen Beschleunigungen überlagert. Zur Orientierungsbestimmung im dynamischen Fall
wie zur Ermittlung der Rotation um die vertikale Achse wird daher das Gyroskop verwendet.
Veränderungen in der Orientierung können so relativ zu einer bekannten initialen Orientierung
mittels Aufsummierung der Winkelgeschwindigkeiten abgeschätzt werden. In dynamischen Situationen ist so eine gute Abschätzung der aktuellen Orientierung der Sensoreinheit möglich. Im
Falle der Abschätzung des Drehwinkels um die vertikale Achse in statischen oder fast statischen
Situationen ist das Verfahren der Aufsummierung von Winkeländerungsraten jedoch problema tisch. Messungenauigkeiten und Rauschen auf den Sensorachsen führen hier schnell zu DriftFehlern. Dies macht vor allem für längere Messungen die Verwendung zusätzlicher komplementärer Sensoren notwendig. Naheliegend ist hier der Einsatz von Magnetometern. Magnetometer messen Richtung und Stärke des Erdmagnetfelds. Die Richtung der horizontalen Kompo nente des Erdmagnetfelds kann so wie mit einem normalen Kompass zur Ermittlung der relati ven Orientierung in der horizontalen Ebene genutzt werden. Der Nachteil dieser Methode ist,
dass das Erdmagnetfeld gerade in realen Arbeitsumgebungen oft von magnetischen Störfeldern
überlagert wird [Bac04], [Vri09]. Eine auf Inertialsensoren und Magnetometern basierende Orientierungsbestimmung muss daher einen Algorithmus enthalten, der eine etwaige störfeldverursachte Verzerrung des gemessenen Magnetfeldvektors weitestgehend erkennt und den Einfluss
der Messungen des Magnetometers entsprechend dämpft. Zusätzlich sollte das Magnetometer
nur dann in die Orientierungsbestimmung einbezogen werden, wenn auf Seiten der komplementären Sensoren keine sicheren Daten vorliegen. Aufgrund der beschriebenen Eigenschaften von
Accelerometer und Gyroskop soll das Magnetometer daher nur für die Bestimmung des Drehwinkels um die vertikale Achse sowie nur in statischen Situationen bzw. Situationen von nur geringer Dynamik verwendet werden.
Zum Zeitpunkt der Entwicklung der IMU war die zuverlässige Verwendung von Magnetometern aufgrund des technischen Standes noch nicht möglich [Sch08.2]. Die jüngsten Verbesserungen auf dem Feld der Sensorik ermöglichen nun nicht nur einen notwendigen Austausch der bestehenden Sensorelemente, sondern auch die Erweiterung der IMU um ein Magnetometer. Dieser Austausch hat in den vergangenen Monaten stattgefunden. Im Rahmen der Thesis soll nun
die neue Inertial-magnetische Messeinheit (IMMU) evaluiert sowie die Analysesoftware überarbeitet und um einen Algorithmus erweitert werden, der für die Orientierungsbestimmung die
Daten der Magnetometermessungen berücksichtigt.
8
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
2 Orientierungsbestimmung mit Intertialsensoren und Magnetometern
Systeme zur Bestimmung der Orientierung von Personen werden in einer Vielzahl von Umgebungen verwendet. Beispielhaft sind hier Biomedizin, Robotik und virtuelle Realitäten zu nen nen. Systeme zur Orientierungsbestimmung können in ortsgebundene und personengebundene
Systeme unterteilt werden. Optische Systeme gehören zu den ortsgebundenen Systemen. In lo kal begrenzten Laborumgebungen ermöglichen sie mit großer Messgenauigkeit eine genaue Be stimmung der Bewegung und Position von Personen. Ein Nachteil optischer Systeme ist neben
hoher Kosten ihre räumliche Begrenzung, die Gefahr unvollständiger Daten bei Verdeckung optischer Marker sowie ihre Empfindlichkeit gegenüber variierenden Lichtumgebungen. Dies
macht sie für die Verwendung in realen Arbeitsumgebungen unbrauchbar. Aufgrund ihrer
Messgenauigkeit sind sie jedoch als Referenz für die Validierung und Kalibrierung im Zusammenhang mit personengebundenen Systemen von Bedeutung [Roe05], [Lui05].
Neuere personengebundene Systeme verwenden oft 3D-Inertialsensoren und 3D-Magnetometer,
die an Gliedmaßen, Rücken, Schulter und Kopf der Versuchsperson angebracht werden. Inertialsensoren sind ortsungebunden, da sie von künstlichen Signalen unabhängige Größen zur Orientierungsbestimmung verwenden. Obwohl Magnetometer mit der Erfassung von Magnetfeldern externe Signalquellen verwenden, ist zumindest in erdgebundenen Anwendungen mit der
Referenzierung des Erdmagnetfeldes das externe magnetische Signal immer verfügbar.
Die Genauigkeit der Messdaten hängt von den Eigenschaften der Sensoren ab. Aufgrund der
Aufsummierung kleiner Offsetfehler neigen Gyroskope in der Regel zu einer anwachsenden
Abweichung der Messwerte. Gyroskope mit geringerem RMSE (Root-Mean-Square Error) reduzieren diese Abweichung zwar, eliminieren sie aber nicht vollständig. Möglichkeiten zum
Ausgleich des Driftverhaltens bieten Rekalibrierung während der Laufzeit, geeignete Filterung
der Messdaten sowie die zusätzliche Verwendung komplementärer Sensorik wie Magnetometer
und Accelerometer.
Mit Accelerometer und Magnetometer lässt sich die Orientierung eines lokalen, körpergebundenen Koordinatensystems in Relation zu einem globalen, erdgebundenen Koordinatensystem ermitteln. Mit Gyroskopen wird die Orientierung relativ zu einer bekannten initialen Position berechnet. Ob die Orientierung einer Messeinheit zuverlässig ermittelt werden kann, hängt neben
den Eigenschaften der Sensoren von den verwendeten Algorithmen zur Verbindung und Filterung der Daten von Accelerometer und Magnetometer für statische Situationen einerseits und
vom Gyroskop für dynamische Situationen andererseits ab.
Die Ermittlung der statischen Orientierung einer IMMU ist zunächst unabhängig von der Orientierungsbestimmung mit Gyroskopen. Sie baut auf dem Prinzip des Abgleichs von Vektoren
auf, was die Messung von konstanten globalen Referenzvektoren (Schwerkrafts- und Erdmagnetfeldvektor) erfordert. Ein Großteil der aktuell in der Literatur verfügbaren Algorithmen ver9
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
wendet für die Orientierungsbestimmung in statischen Situationen aufgrund ihrer Vorteile gegenüber Rotationsmatrizen und Eulerwinkeln Quaternionen [Lov98], [Geb04]. Ähnlich wie Eulerwinkel und Rotatonsmatrizen stellen Quaternionen eine Möglichkeit dar, Vektor-Rotationen
im euklidischen Raum zu beschreiben. Ein Quaternion ist eine vierdimensionale Erweiterung
der komplexen Zahlen, die Informationen sowohl über die Rotationsachse als auch den Rotati onswinkel enthält (Kapitel 4.1). Die mithilfe der Daten von Magnetometer und Accelerometer
durchgeführte Orientierungsbestimmung in statischen Situationen ist Basis des in dieser Arbeit
verwendeten Factored Quaternion Algorithm (FQA) [Ghe04], [Apa04], [Yun08]. Neben seinen
rechnerischen Vorzügen liegt der Vorteil des FQA gegenüber vergleichbaren Algorithmen wie
dem in [Yun06] vorgestellten QUaternion ESTimator Algorithmus (QUEST) darin, die Auswertung der Daten des Magnetometers und der des Accelerometers voneinander zu entkoppeln. So
bestimmt das Accelerometer die Drehung der Messeinheit um ihre horizontalen Achsen, während das Magnetometer allein für die Ermittlung des Drehwinkels um die vertikale Achse verwendet wird. Durch die Entkopplung wird so der Einfluss magnetischer Störfelder auf die Orientierungsbestimmung begrenzt. Ein Nachteil des FQAs ist jedoch die alleinige Verwendung
von normalisierten Vektoren. Auf diese Weise gehen im Vektorbetrag enthaltene Informationen
verloren. Vor der Verwendung der Messungdaten ist daher die Auswertung der jeweiligen Vektorlängen erforderlich.
Die Verbindung der Winkelgeschwindigkeitsdaten des Gyroskops und des durch Accelerometer
und Magnetometer ermittelten Orientierungsquaternions führt zu einer stochastischen Abschätzung der tatsächlichen Orientierung der IMMU. Eine Möglichkeit die Daten zu verbinden ist
die Verwendung linearer oder erweiterter Kalman Filter [Kra03], [Roe10], [Mun11]. Kalman
Filter sind rekursive Filter, die auf Basis eines Modells und einer Serie rausch- oder fehlerbehafteter Messdaten eine statistisch optimale Abschätzung des aktuellen Zustands des zugrundeliegenden Messsystems erlauben [Wel09]. Sowohl der QUEST-Algorithmus als auch der FQA erlauben die Verwendung rechnerisch reduzierter, linearer Varianten des Kalman Filters [Yun05],
[Yun06], [Yun08]. Die im Rahmen der Evaluationssoftware verwendete Filterung beruht hingegen auf einem komplementären Filter-Verfahren [Bac00, S. 73ff.]: Grundlage der Orientierungsberechnung ist dabei die Integration der Winkelgeschwindigkeitsmessungen des Gyroskops. Diese wird anschließend mithilfe des abgeschätzten Lagevektors der Accelerometer- und
Magnetometer-Messungen korrigiert. Die Zuverlässigkeit der Messdaten wird dabei laufend
nach heuristischen Kriterien bewertet und ihr Einfluss auf die Orientierungsbestimmung entsprechend gedämpft. Der Einfluss der komplementären Sensormessungen verhält sich dabei
proportional. Wie gezeigt werden kann, erreichen komplementäre Filter bei geringerer Komplexität eine mindestens vergleichbare Zuverlässigkeit wie Kalman Filter [Hig75], [You08],
[You10]. Das Verfahren wird in Kapitel 8 näher erläutert. Einen detaillierten Überblick über in
der Orientierungsanalyse relevanten Algorithmen und Filter bietet [Sab11].
10
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
2.1 Kommerzielle Systeme zur Orientierungsbestimmung
Weltweit gibt es eine Vielzahl an Unternehmen, die auf Inertialsensoren und Magnetometern beruhende Systeme zur Orientierungsbestimmung herstellen und anbieten. Ihr Großteil wird für Navigationssysteme entwickelt, die sich aufgrund ihrer Größe nicht für die Anwendung in der personengebundenen Orientierungsbestimmung eignen. Unter den dem CUELA-System vergleichbaren
Ganzkörper-Kinematik-Systemen sind zwei Systeme besonders hervorzuheben. Dabei soll auch
herausgestellt werden, wieso die Entwicklung eines eigenständigen Messsystems notwendig ist:
Biosyn FAB-System [Bio.1], [Bio.2] Das FAB-System (Functional Assessment of Biomechanics) ist ein auf Intertialsensoren und Magnetometern basierendes System zur Bewegungsanalyse. Das System ist kabellos. Trotz der daraus resultierenden Vorteile ist die Abhängigkeit jedes
Sensormoduls von einer eigenen Stromquelle gerade für längere Messungen nachteilig. Die
Reichweite der Datenübertragung ist auf 20 m begrenzt, was eine Reihe von Anwendungsfällen
mit größeren Distanzen ausschließt. Zur Reduzierung der für kabellose Kommunikation benötigten Bandbreite wird die Orientierung einer IMMU bereits innerhalb der Messeinheit ermittelt,
sodass anstelle der Achsenmesswerte je Sample allein das Ergebnisquaternion übertragen wird.
Dies erschwert die Auswertung der für ein Körpersegment ermittelten Sensordaten in Relation
zu benachbarten Gliedmaßen, was vor allem in magnetisch gestörten Umgebungen leicht eine
fehlerhafte Orientierungsabschätzung zur Folge hat. Maximal sind pro System elf Sensoren einsetzbar. Aufgrund der Nachteile der Stromversorgung, der Begrenzung in Reichweite und Anzahl der je System verwendbaren Sensoren und der daraus resultierenden Folgen ist das FABSystem für den Einsatz als Kinematik-System im CUELA-Projekt nicht geeignet.
Xsens MTx [Xse], [Xse10] Das MTx ist eine kabelgebundene, auf Inertialsensoren und Magnetometern basierende Messeinheit zur Orientierungsanalyse. Zum Aufbau eines Körper-Systems
können mithilfe einer Xbus Schnittstelle bis zu zehn MTx IMMUs gekoppelt werden. Für die
Ganzkörperanalyse mit mehr als zehn Sensoren ist so die Verwendung zwei voneinander getrennter Kabelsysteme mit je eigenem Datenlogger notwendig. Im Hinblick auf die zu prüfende
mögliche Verwendung im Rahmen des CUELA-Projektes stellt die Inkompatibilität der XsensXbus- und der CUELA-USB-Schnittstellen ein besonderes Problem dar. Sie erschwert vor allem die Verbindung des Systems mit bereits bestehenden CUELA-Komponenten (Kapitel 3).
Auch ein auf MTx-Sensoren beruhendes Kinematik-System ist daher für die Verwendung im
Rahmen des CUELA-Projektes ungeeignet.
Die fehlende Eignung der bereits bestehenden Systeme begründet die Notwendigkeit einer eigenständigen Entwicklung, wie sie mit dem digitalen CUELA-Messsystem angestrebt wird.
11
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
3 Das CUELA-Messsystem
Das CUELA-Messsystem wurde im IFA entwickelt, um Belastungen des Muskel-Skelett-Sys tems unmittelbar am Arbeitsplatz und unter realen Arbeitsbedingungen messen zu können. Im
Zentrum des CUELA Systems steht die Analyse von Körperhaltungen und -bewegungen. Das
System beinhaltet eine zentrale, tragbare Datenspeicherungseinheit – den Datenlogger –, welche
die angeschlossenen Sensoren zur Laufzeit mit einer Frequenz von 50 Hz ausliest und deren Daten für die spätere Auswertung speichert. Hierdurch wird eine kontinuierliche Messdatenerfas sung über mehrere Stunden hinweg möglich. Eine Bluetooth-Verbindung ermöglicht darüber
hinaus die unmittelbare Übermittlung der Daten an einen Computer. Die Daten lassen sich so
während des Betriebs in Echtzeit visualisieren. Die Evaluationssoftware WIDAAN (WInkelDAten-ANalyse) wertet die Messdaten nach arbeitswissenschaftlichen und biomechanischen
Bewertungskriterien aus, um so Erkenntnisse über eventuell notwendige Maßnahmen zur Ver meidung berufsbedingter Gesundheitsgefährdungen zu gewinnen. Durch die parallele Dokumentation der Messungen mit Videoaufnahmen ist zudem nach Auswertung der Messungen die
direkte Zuordnung der Belastungsmesswerte zu den entsprechenden Arbeitssituationen möglich
[Ell06].
Abbildung 1: Visualisierung der Messdaten
12
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Die Sensoren werden am Körper der Versuchsperson getragen. In seiner ersten Version verwendet das CUELA-Messsystem vorwiegend mechanische Teile in Verbindung mit Potentiometern
zur Torsionsbestimmung und analogen Beschleunigungssensoren und Gyroskopen zur Bestimmung der Orientierung. In den letzten Jahren wurde nun ein allein auf digitalen Sensoren basierendes System angestrebt. Dies soll bei mindestens gleichbleibender Funktionalität eine Reduktion des CUELA-Messsystems ermöglichen. Die Sensoren werden auf oder unter der Kleidung
der Versuchsperson, an Armen, Beinen, Schulter, Rücken und Kopf getragen (Abbildung 2).
Abbildung 2: Das digitale CUELA-System
Neben den beschriebenen Hardware-Komponenten können je nach Aufgabenstellung weitere
Module zur Erfassung physischer Belastungsparameter eingesetzt werden [Ell06], [Web11]:
 Messung der Bodenreaktionskräfte durch spezielle Einlegesohlen zur Bestimmung im
Arbeitsumfeld gehobener Gewichte
 Messungen von Ganzkörpervibrationen, etwa bei der Arbeit an Geräten im Straßenbau
 Elektrokardiographische Messungen (EKG) zur Aufzeichnung der Herzaktivität
 Elektromyographische Messungen (EMG) zur Aktivitätserfassung ausgewählter Muskelpartien
 Externe Kraftgriffe auf Basis piezoelektrischer Kraftsensoren zur Messung des Drucks,
der von den Händen auf Arbeitsobjekte ausgeübt wird
Durch Synchronisierung der Messungen und Kombination der verschiedenen Messdaten lässt
sich so ein umfassendes Bild der physischen Belastung im Arbeitsumfeld ermitteln.
13
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
4 Methoden
4.1 Rotation im dreidimensionalen Raum mit Quaternionen
Zur Bewegungs- und Orientierungsanalyse ist eine Auswertung der Sensordaten über den Verlauf der Zeit notwendig. Dazu müssen Rotationen im dreidimesionalen Raum berechnet werden.
Der in dieser Arbeit vorgestellte Algorithmus verwendet hierzu Quaternionen. Quaternionen
sind vierdimensionale Zahlen, die Informationen sowohl über die Rotationsachse als auch den
Rotationswinkel enthalten. Sie stellen so eine rechnerisch elegante Möglichkeit dar, Rotationen
im euklidischen Raum zu beschreiben und die Orientierung einer Messeinheit in einem definierten Koordinatensystem zu repräsentieren.
Die Menge IH der Quaternionen entsteht als Erweiterung der reellen Zahlen durch Hinzufügen
dreier imaginärer Zahlenkomponenten i, j und k (1). Auf diese Weise entsteht ein vierdimensional komplexer Vektorraum aus einer skalaren Komponente und einem dreidimensionalen vektoriellen Imaginärteil (2), (3). Mithilfe der den komplexen Zahlen entlehnten für Quaternionen
q ϵ IH definierten Eigenschaften i2 = j2 = k2 = –1 sowie ijk = –1, lässt sich q somit auf folgende
zueinander äquivalente Schreibweisen notieren [Kra02, S. 43ff.]:
q ≡ w + ix + jy + kz
, w, x, y, z ϵ IR
(1)
≡ [w, (x, y, z)]
, w, x, y, z ϵ IR
(2)
≡ [w, v]
, w ϵ IR, v ϵ IR 3
(3)
Abbildung 3: Quaternionen als Kombination aus Drehachse und Drehwinkel
Die Addition von Quaternionen erfolgt komponentenweise:
q + q' = [w + w', v + v']
(4)
14
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Die Identität der Addition ist die reelle Null [0, (0 0 0)]. Die Multiplikation von Quaternionen
ist eine Kombination des aus der Vektorrechnung bekannten (dreidimensionalem) Skalar- und
Kreuzproduktes. Die Identität der Multiplikation wiederum ist die reelle Eins [1, (0 0 0)].
qq' = [w,v][w',v'] = [ww' – v ∙ v', wv' + w'v + v × v']
(5)
Das zu q konjugierte Quaternion q* ist definiert durch:
q* = [w, –v]
(6)
Entsprechend der Konjugation der komplexen Zahlen ergibt auch das Produkt eines Quaternions
q und dem korrespondierenden konjugierten Quaternion q* eine reelle Zahl:
qq* = q*q = [w2 + v2, (0 0 0)] = w2 + x2 + y2 + z2
(7)
Somit gilt für die Norm ||q|| eines Quaternions:
q  qq *  q * q 
w 2  x 2  y2  z2
(8)
Das zu q invertierte Quaternion q-1 mit qq-1 = q-1q = [1, (0 0 0)] = 1 ist definiert durch:
q 1 
q*
q
(9)
2
Das Innere Produkt zweier Quaternionen ist definiert als:
q • q' = ww' + vv' = ww' + xx' + yy' + zz'
(10)
Drehungen im dreidimensionalen Raum lassen sich mit Einheits-Quaternionen beschreiben.
Einheits-Quaternionen sind Quaternionen der Norm Eins. Ihre Menge wird mit IH1 notiert.
IH 1 = {q ϵ IH | ||q|| = 1}
(11)
Wie sich zeigen lässt [Dam98], [Kui00], existiert zu jedem q ϵ IH1 ein Winkel φ, mit welchem
q beschrieben werden kann als
q = [cos φ, sin φ ∙ ev]
, ev = v/||v||
(12)
15
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Dabei ist ev der Einheits-Vektor in Richtung des vektoriellen Anteils v von q. Ein Quaternion
entspricht also einer Kombination aus Einheitsvektor und Winkel. Wie gezeigt werden kann,
lässt sich mit dem Quaternion q = [cos φ, sin φ ∙ ev] eine Drehung um die Achse des EinheitsVektors ev mit dem Winkel 2φ beschreiben [Dam98], [Kui00].
Abbildung 4: Rotation mit Quaternionen
Die Rotation des Vektors u um die Rotationsachse r und den Winkel φ ergibt dabei den Vektor
u' durch folgende Berechnung:
u'  q u q  1

 

, q   cos , sin r 
2
2 

(13)
Dabei werden u und u' durch die korrespondierenden reinen Quaternionen u' = [0, u'] und
u = [0, u] mit einem skalaren Anteil von Null repräsentiert. Das aus zwei aufeinanderfolgenden
Rotationen q1 und q2 resultierende Quaternion q12 ergibt sich aus dem Produkt der beiden Rotations-Quaternionen:
q12 = q2q1
(14)
Anders als die Multiplikation von Skalaren ist die Multiplikation von Quaternionen nicht kommutativ. Die Umkehrung der Rotationsrichtung erfolgt durch Multiplikation mit dem zum Qua ternion q inversen Quaternion q-1. Werden alleine Einheitsquaternionen verwendet, kann so für
die Berechnung von Rotationen wegen ||q|| = 1 auch das konjugierte Quaternion q* verwendet
werden. Für Einheitsquaternionen gilt also q-1 = q*.
Ein Winkel α zwischen den vektoriellen Anteilen zweier Einheitsquaternionen q und q' lässt
sich mithilfe des Inneren Produktes der beiden Quaternionen bestimmen.
q • q' = cos α
(15)
16
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Die Bestimmung des Winkels zwischen zwei Quaternionen ist vor allem für die Interpolation
zweier Quaternionen von Bedeutung (Kapitel 8.5.1f).
Neben Quaternionen gibt es eine Reihe weiterer Möglichkeiten Rotation und Orientierung von
Objekten im dreidimensionalen Raum darzustellen [Die06]. Häufig werden hierzu Eulersche
Winkel verwendet. Bei Eulerwinkeln handelt es sich um ein Tripel von Winkeln, welche eine
Serie von Rotationen um drei orthogonal zueinander angeordnete Achsen beschreiben. Dabei
kann mit Rotation um die drei Achsen jede beliebige Drehung im Raum beschrieben werden.
Die Drehachsen können Teil eines globalen oder eines lokalen Koordinatensystems sein, welches mit dem Objekt zusammen rotiert wird. Von entscheidender Bedeutung ist die Reihenfolge
der Rotationen, da eine unterschiedliche Rotationsabfolge zu unterschiedlichen Ergebnissen
führt. Rechnerisch entspricht ein Tripel von Rotationen mit Eulerwinkeln einer Rotationsmatrix.
Ein Vorteil der Implementierung von Rotationen mithilfe von Eulerwinkeln und Matrizen ist
neben der Bekanntheit der mathematischen Operationen, dass Matrix-Anwendungen relativ
leicht mithilfe von Standard-Paketen implementiert werden können. Ein bedeutender Nachteil
gegenüber Quaternionen ist jedoch das Phänomen des Gimbal Lock [Die06]. Ein Gimbal Lock
tritt auf, wenn bei Rotation um eine Achse mit einem Winkel von 90° eine zweite Achse überlagert wird: Wird in solch einem Fall zusätzlich eine Rotation um die überlagerte Achse durchgeführt, wird nicht mehr um die überlagerte Achse rotiert, sondern um die bereits gedrehte. Dies
kann zum Verlust eines Freiheitsgrades führen, da mit dem Wegfall der Möglichkeit der Rotati on um eine Achse effektiv nur noch zwei Rotationsachsen zur Verfügung stehen. Für Quater nionen existiert das Problem des Gimbal Lock zunächst nicht, da bei Quaternionen direkt um
die gewünschte Drehachse rotiert wird. Wie im weiteren Verlauf der Arbeit deutlich werden
wird, gilt dieser Vorzug von Quaternionen jedoch nicht für das im Rahmen des FQA und der
statischen Orientierungsanalyse ermittelte Quaternion (Kapitel 8.3f).
Dennoch überwiegen die Vorteile von Quaternionen. Mit ihrer Darstellung von Drehachse und
Drehwinkel in einer einzigen Zahl sind Quaternionen in der Anwendung intuitiver. Der rechnerische Aufwand einer Rotation mit Quaternionen liegt zudem deutlich unter der Komplexität einer Rotation mit Eulerwinkeln [Die06], [Kra02]. Darüber hinaus existieren für Quaternionen
einfach anzuwendende Interpolationsverfahren, wie die Spherical Linear Quaternion Interpolation (SLERP) [Kre08]. Bei dem Verfahren der Spherical Linear Interpolation handelt es sich um
eine Methode zur Interpolation zweier Quaternionen q0 und q1 entlang des Radius eines Kreises
mit linearer Stufung des zwischen den Quaternionen liegenden Winkels φ:
q(t)  SLERP(q 0 , q1 ; t ) 
sin[(1  t )]
sin[( t )]
q 0 
q1
sin 
sin 
17
(16)
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Dabei ist t die im Intervall zwischen 0 und 1 liegende Gewichtung der Interpolation. Die Spheri cal Linear Interpolation wird im hier vorgestellten Algorithmus bei der Synthese der komplementären Sensormessungen und ihrer jeweiligen Gewichtung eine Rolle spielen (Kapitel 8.5).
Abbildung 5 zeigt eine vereinfachte Darstellung der Spherical Linear Interpolation zweier Quaternioen q0 und q1 in einem auf die Ebene projizierten Einheitskreis. Das Ergebnis der Interpolation ist das Quaternion q(t).
Abbildung 5: Spherical Linear Interpolation
Wie in diesem Abschnitt werden auch im Folgenden Quaternionen durch Fettdruck gekennzeichnet. Vektoren werden kursiv dargestellt.
4.2 Definition des Koordinatensystems
Um das Ergebnis einer Rotation im dreidimensionalen Raum interpretieren zu können, wird der
im Ergebnis-Quaternion enthaltene Winkel und Richtungsvektor in Relation zu einem Referenzkoordinatensystem betrachtet. Das Referenzkoordinatensystem kann dabei global oder lokal definiert sein. In der zu überarbeitenden WIDAAN-Software werden ein globales und mehrere lokale
Referenzkoordinatensysteme verwendet, wobei sich die letztere auf die Ausrichtung der Sensoreinheiten am Körper beziehen. Das Koordinatensystem einer Messeinheit ist dabei wie folgt definiert: Die negative x-Achse zeigt in Richtung des an die IMMU angeschlossenen USB-Kabels.
Die positive vertikale Achse verläuft orthogonal zur Oberseite des Sensormoduls [Sch08.2].
In der initialen nach dem globalen Koordinatensystem ausgerichteten Position, in welcher der
Sensor waagerecht und nach vorne ausgerichtet ist, sind alle Referenzkoordinatensysteme in
gleicher Weise wie folgt definiert:
1. Die Richtung der x-Achse zeigt nach Norden bzw. nach vorne.
2. Die Richtung der y-Achse zeigt nach Westen bzw. nach links.
3. Die Richtung der z-Achse zeigt nach oben.
18
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Abbildung 6: Koordinatensystem
Zur Kennzeichnung von globalen und lokalen Referenzkoordinatensystemen werden die in der
Arbeit verwendeten Vektorsymbole, falls nötig, mit den Indizes b (body) für lokale und g (global) für globale Referenzkoordinatensysteme verwendet. Für die Bezeichnung einer Rotation
wird die jeweilige Rotationsachse des entsprechenden Referenzkoordinatensystems verwendet.
So wird beispielsweise eine Drehung in der horizontalen xy-Ebene als z-Rotation bezeichnet.
19
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
5 Datenakquisition
5.1 Sensornetzwerk
Hauptanliegen des neuen CUELA-Designs ist die Erfassung von Körperbewegungen mithilfe
digitaler Sensoren. Erreicht wird dies durch die dezentralisierte Aufnahme der Daten von in
Modulen gebündelten dreiachsigen Inertialsensoren und Magnetometern, welche an Gliedma ßen, Kopf, Schulter und Rücken der Versuchsperson angebracht werden können. Die Abfrage
der Sensordaten geschieht je Messeinheit durch einen Mikrocontroller (PIC18LF4550), der die
Sensoren über einen I2C-Bus adressiert, konfiguriert und ausliest. Die Daten werden paketweise
über eine USB-Schnittstelle an ein Hostgerät, den Datenlogger (PDA), gesendet und dort zentral
gespeichert und verwaltet. Das Host-Gerät ist für die Verwaltung und Kommunikation mit den
Mikrocontrollern der einzelnen Messeinheiten zuständig. Für die Verknüpfung mit mehreren
Sensoren werden USB-Hubs verwendet. Für den Datenlogger agiert der Mikrocontroller innerhalb eines jeden Sensormoduls als Serviceprovider, welcher neben den Sensordaten auch Infor mationen über die angeschlossenen Sensoren und die Kalibriertabelle bereitstellt (siehe Kapitel
7.1). Aus Sicht der Sensoren stellt der Mikrocontroller wiederum einen USB-Kommunikationsadapter dar.
Gyroskop
I2C Bus
Accelerometer
Mikrocontroller
USB
PDA
Magnetometer
Abbildung 7: CUELA-Sensormodul
Die Auswertung der Sensordaten zur Ermittlung der Orientierung und Neigung der jeweiligen
Sensoreinheiten erfolgt mithilfe der in C# implementierten Software zur WInkel-DAten-ANalyse (WIDAAN), deren Überarbeitung und Erweiterung um einen Algorithmus zur Verwertung
der Magnetometerdaten einer der Hauptbestandteile dieser Arbeit ist. Eine detaillierte Darstellung über Funktion und Ablauf der mit der Winkel-Daten-Analyse verknüpften Algorithmen
wird in Kapitel 8 der Thesis erfolgen.
5.2 Sensoren
Die neue Version der Messeinheit besteht aus einem digitalen dreiachsigen Accelerometer und
Magnetometer (LSM303DLM), einem digitalen dreiachsigen Gyroskop (L3GD20) und dem
20
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Mikrocontroller (PIC18LF4550). Eine erste, im Vorfeld der Thesis vorgenommene Bestückung
der Platine mit den Vorgängermodellen des Accelerometers (LSM303DLH) und des Gyroskops
(L3G4200D) wurde damit verworfen, da beide hier verwendeten Modelle nicht weiter herge stellt wurden und somit ersetzt werden mussten. Verglichen mit dem Referenzmodell ermögli chen die neuen Sensoren bei deutlich geringerer Baugröße mehr Funktionalität. So wird statt
drei einachsiger Gyroskope (ADIS16100) nunmehr bei höherer Auflösung und Genauigkeit ein
einzelnes dreiachsiges Gyroskop verwendet (zu Auflösung und Rauscheigenschaften siehe Kapitel 6.1). Auch das im alten Design verwendete Accelerometer (VTI SCA3000-D01) wird nun
durch ein Bauteil geringerer Größe ersetzt, welches zudem im selben Gehäuse ein Magnetome ter unterbringt.
Abbildung 8: Neues Design der Messeinheit
Gegenüber dem Referenzmodell ergibt sich im Betrieb eine signifikante Verringerung des
Stromverbrauchs von 40,55 mA auf 30,68 mA. Dies ist vor allem im Hinblick auf die für eine
vollständige Orientierungsbestimmung notwendige Maximalbestückung des CUELA-Systems
mit 15 Sensoren von Bedeutung, für die sich eine Verminderung des Stromverbrauchs von etwa
148,05 mA ergäbe. Die neue IMMU ist in einem Temperaturumfang von -40°C bis +85°C einsetzbar [Mic07], [Stm11.1], [Stm11.3], was die neuen Sensoren für die Verwendung im CUE LA-Projekt qualifiziert, da je nach Arbeitsumgebung die Messeinheiten bei großen Temperaturunterschieden sowohl auf als auch unter der Kleidung tragbar sein müssen.
21
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
6 Kalibrierung der Sensoren
6.1 Kalibrierung des Gyroskops
Für die Kalibrierung des Gyroskop-Sensors wird die IMMU mit einem U-Profil auf dem Teller
eines Schallplattenspielers befestigt [Sch08.2]. Die Anbringung auf einem U-Profil bezweckt
dabei, dass sich alle Achsen des Sensors parallel zur Drehachse des Plattenspielers ausrichten
lassen. Mithilfe einer digitalen Wasserwaage wird sichergestellt, dass der Plattenteller waagerecht steht, sodass Rotationen des Plattentellers je nach Ausrichtung der Messeinheit jeweils nur
eine Drehachse des Gyroskops beeinflussen. Ein an einem dreibeinigen Stativ über dem Plattenspieler angebrachter und über eine Welle mit der Achse des Plattentellers verbundener kontaktloser Winkelsensor (Contelec Vert-X 22) misst während der Drehungen des Plattentellers die
Drehposition des Sensors. Die Differenz zweier aufeinanderfolgender Messungen des Winkelsensors wird als Referenz für die Winkelgeschwindigkeit genutzt. Die Abtastrate des Winkelsensors beträgt analog zur Abtastrate der Sensoren 50 Hz.
Abbildung 9: Kalibriervorrichtung für das Gyroskop
22
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Der Plattenspieler verfügt über drei Drehgeschwindigkeiten: 33 1/3, 45 und 78 U/min. Dies entspricht Winkelgeschwindigkeiten von 198, 270 und 468 °/s. Das L3GD20 erlaubt Messungen
mit einem Umfang von bis zu ±2000 °/s. Für das Referenzmodell ADIS16100 wurde ein Messumfang von ±300 °/s gewählt. Eine Erhöhung des Messbereichs war wegen der Rauscheigenschaften des Sensors nicht möglich [Sch08.2]. Aufgrund verbesserter Sensorcharakteristiken
wird für den aktuellen Sensor ein Messumfang von ±500 °/s gewählt. Dies ermöglicht für die
Kalibrierung die Hinzunahme eines weiteren Referenzpunktes bei 468 °/s. Die Wortbreite der
Messdaten beträgt 16 Bit. Für die Kalibrierung einer jeden Sensorachse stehen so, ausgehend
von den wählbaren Winkelgeschwindigkeiten des Plattenspielers, sieben Messpunkte zur Verfügung, inklusive Stillstand des Sensors und Umkehrung der Achse.
Die Sensordaten der auf dem Plattenteller rotierenden IMMU werden mit einem ebenfalls auf
dem Plattenteller befestigten PDA ausgelesen. Bei gleicher Abtastfrequenz werden die Daten
des Winkelsensors gesammelt. Über die Bildung der Differenz zweier aufeinanderfolgender
Winkelwerte lässt sich anschließend eine Referenz für die Winkelgeschwindigkeit ermitteln.
Über eine manuelle ruckartige Bewegung des Plattentellers zu Beginn der Messung wird sowohl auf den Winkelgeschwindigkeitsmessungen des Gyroskops als auch auf den ermittelten
Referenzwerten ein Scheitelwert erzeugt, über den sich die Daten des Gyroskops mit den Referenzwerten im Anschluss an die Messung synchronisieren lassen. Da sich die Rotationsrichtung
des Plattentellers nicht umkehren lässt und somit für positive und negative Winkelbeschleunigungen jeweils gleiche Referenzwerte zur Verfügung stehen, müssen zudem für Messungen mit
umgekehrten Sensorachsen die entsprechenden Intervalle der Referenzdaten umgekehrt werden.
Für die Bestimmung der Kalibrierwerte werden die Mittelwerte von einer Reihe aufeinanderfolgender Messungen des Gyroskops bei verschiedenen – möglichst konstanten – Winkelgeschwindigkeiten gegen ihre jeweiligen Referenzwerte der aus den Messungen des Winkelsensors errechneten Winkelgeschwindigkeiten aufgetragen. Durch die Verwendung von Mittelwerten bei konstanter Drehrate wird die durch das Rauschen der Sensorachsen verursachte Ungenauigkeit der Sensoren weitestgehend ausgeglichen.
Für die Relation zwischen den Rohdaten des Sensors und den korrespondierenden physikalischen Referenzwerten gibt das Datenblatt des L3GD20 eine lineare Abhängigkeit an. Mithilfe
der in MATLAB integrierten Funktion zur Polynominterpolation polyfit wird für die errechneten Punkte das korrespondierende Polynom zweiten Grades ermittelt. Die sich ergebenden Gra phen bestätigen die lineare Abhängigkeit (Abbildung 10). Aus den Koeffizienten der resultierenden Ergebnisfunktion ergeben sich je Achse unmittelbar Offset und Skalierungsfaktor zur
Umrechnung der Sensorwerte in ihre jeweils korrespondierende Winkelgeschwindigkeit.
23
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Abbildung 10: Kalibrierung des Gyroskops
Während der Kalibriermessungen liegt die Standardabweichung der einzelnen Sensorachsen im
Bereich von 0,12-0,14 °/s. Vergleichbare Werte ergeben sich bei der Ermittlung der Standardabweichungen im Ruhezustand. Hier entspricht das L3GD20 in etwa dem im Vorfeld der Thesis
getesteten Modell L3G4200D. Gegenüber dem Referenzmodell ADIS16100 mit einer Standardabweichung von 0,3-0,4 °/s im dynamischen und 0,27 °/s im statischen Zustand ergibt sich mit
dem Austausch der Sensoren jedoch eine deutliche Verbesserung.
6.2 Kalibrierung des Accelerometers
Zur Kalibrierung wird das Accelerometer des LSM303DLM – wie zur Kalibrierung des Gyroskops – auf eine Weise an dem U-Profil angebracht, dass sich jeweils eine Achse lotrecht und
die jeweils anderen waagerecht zum Erdradius ausrichten lassen. Auf diese Weise lassen sich
für jede Achse drei Kalibrierwerte bestimmen: Ein Maximalwert entsprechend dem Referenzwert von 1 g bei Ausrichtung in Richtung des Gravitationsvektors, ein Minimalwert entsprechend dem Referenzwert von –1 g bei Ausrichtung entgegen der Schwerkraft, und ein Nullwert,
wenn sich die Sensorachse in der Horizontalen befindet.
Das Accelerometer des LSM303DLM erlaubt Messungen in einem Umfang von ±8 g. Da der
Algorithmus zur Orientierungsbestimmung die Sensordaten des Accelerometers lediglich für die
Bestimmung der Sensorlage im unbeschleunigten Fall verwendet, wird der minimal einstellbare
Messumfang von ±2 g gewählt. Von 1 g abweichende Messdaten werden mithilfe eines Gaußfilters gedämpft (Kapitel 8.3.3). Die Wortbreite der Messdaten beträgt 12 Bit, die interne Abta24
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
strate 50 Hz. Zur Ermittlung der Kalibrierwerte werden die Mittelwerte der Accelerometer-Messungen je Sensorachse gegen ihren jeweiligen Referenzwert graphisch aufgetragen. Auch beim
Accelerometer wird im Datenblatt für die Relation zwischen den Rohdaten des Sensors und den
korrespondierenden physikalischen Referenzwerten eine lineare Abhängigkeit angegeben. Wieder wird durch Polynominterpolation mithilfe von MATLAB für die errechneten Punkte das
korrespondierende Polynom zweiten Grades ermittelt. Die resultierenden Koeffizienten des Ergebnispolynoms repräsentieren Skalierungsfaktor und Offset zur Umrechnung der Sensorwerte
des Accelerometers in ihre jeweils korrespondierende Beschleunigung.
Abbildung 11: Kalibrierung des Accelerometers
Die Standardabweichung der Sensorachsen des LSM303DLM liegt im Ruhezustand mit 7,08,4 mg weit über den Werten des im Vorfeld evaluierten und nicht mehr verfügbaren Vorgängermodells LSM303DLH (1,9-2,2 mg). Ein Grund für das Rauschverhalten des LSM303DLM
ist in der Reduktion des Stromverbrauchs im aktiven Modus von 0,83 mA (LSM303DLH) auf
0,36 mA zu sehen, welcher sich negativ auf die Signaleigenschaften der Sensorik auswirkt.
Auch gegenüber dem Referenzmodell SCA3000 D-01 ergibt sich eine deutliche Verschlechterung der Standardabweichung. Hier lagen die Werte zwischen 1,6 mg und 3,0 mg. Eine sensorinterne Anhebung der Abtastrate, welche eine Erhöhung der verfügbaren Messwerte auf Seiten
des Datenloggers und so die Implementierung eines Medianfilters ermöglichen würde, führt zu
einer Erhöhung des auf den Sensorachsen gemessenen Rauschens. So erhöht sich die Standardabweichung bei einer Abtastratevon 100 Hz auf 9,5-11,5 mg, bei 400 Hz auf 19,4-22,4 mg. Diese Beobachtung schließt eine Anhebung der Abtastrate und anschließende Filterung der Daten
25
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
aus2. Welche Konsequenzen sich im Worst Case aus dem Rauschverhalten der Sensorachsen auf
die Bestimmung des Neigungswinkels ergeben können, soll im Folgenden erläutert werden.
Abbildung 12: Interpretation der Accelerometer-Messungen auf einem Einheitskreis
(Quelle: [Sch08.1])
Im statischen Fall kann die Messung einer einzelnen Achse des Accelerometers als Projektion
des Gravitationsvektors auf die jeweilige Sensorachse betrachtet werden (Abbildung 12). Dabei
ergeben sich bei Ungenauigkeit der Messungen unterschiedliche Inklinationswinkel [Sch08.1].
Die Größe des Winkels lässt sich mithilfe des Arkussinus oder Arkuskosinus der jeweiligen
Sensormessung bestimmen. Da Sinus und Kosinus nicht-lineare Funktionen sind, kann eine
kleine Änderungen Δy der Messdaten des Accelerometers größere Änderungen (Δα 1 ≠ Δα2) des
Inklinationswinkels bewirken, abhängig von der aktuellen Neigung des Sensors. Mit Kenntnis
der Standardabweichung des Sensors lässt sich so eine maximale und eine minimale Ungenauigkeit der Neigungswinkelbestimmung ausmachen.
Inklres,max = Δα1 = arccos(1 – Δy)
(17)
Inklres,min = Δα2 = arcsin(Δy)
(18)
Bei der Bestimmung des Neigungswinkels kann bei einer Inklination von 0° eine minimale Un genauigkeit von Δα2 = ±0,48°, bei einer Neigung von 90° hingegen eine maximale Ungenauigkeit von Δα1 = ±7,43° entstehen. Bei einer Abtastrate von 100 Hz erhöht sich die errechnete Ungenauigkeit der Winkelbestimmung auf ±0,66° bzw. ±8,7°, bei 400Hz auf ±1,28° bzw. ±12,14°.
2
Eine mögliche Erklärung für dieses Verhalten ist, dass intern die Sensorachsen bei konstanter Rate abge-
tastet und per Medianfilterung vorgefiltert werden. Gegenüber den per Sensorkonfiguration einstellbaren
Abtastraten ist die sensorinterne Abtastrate maximal. Je nach eingestellter Frequenz fließt so eine unterschiedliche Anzahl von Sensormessungen in die Ermittlung des Medianwertes ein. Durch Erhöhung der
externen Abtastrate ist es daher nicht möglich, eine Verbesserung der Signaleigenschaften zu erzielen.
26
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Es ist anzumerken, dass diese Annäherung nur Gültigkeit besitzt, wenn der Fokus auf eine einzelne Achse des Accelerometers begrenzt und der Einfluss der anderen an der Winkelbestimmung beteiligten Achsen außer Acht gelassen wird. Aufgrund der orthogonalen Anordnung der
Sensorachsen wird die Genauigkeit der Winkelbestimmung in realiter jedoch von der in der
Messung involvierten Achse mit der höchsten Genauigkeit bestimmt. Im Best Case kann die
Ungenauigkeit einer Sensorachse so von der Genauigkeit einer anderen Achse vollständig ausgeglichen werden. Zur Ermittlung der ausgleichenden Eigenschaften der Sensorachsen wird das
Accelerometer nach vordefinierten Winkeln 0° ≤ α ≤ 90° in einer Weise ausgerichtet, dass zwei
Sensorachsen an der Winkelbestimmung beteiligt sind. Die dritte Achse wird orthogonal zum
Gravitationsvektor ausgerichtet. Anhand des RMSE lässt sich die mittlere Abweichung Δα des
errechneten Neigungswinkel gegenüber dem korrespondierenden Referenzwinkel α bestimmen.
α
0°
15°
30°
45°
60°
75°
90°
Δα
0,91°
0,79°
0,55°
0,5°
0,64°
0,76°
1,31°
Tabelle 1: Genauigkeit der Neigungswinkelbestimmung
Die Betrachtung des RMSE zeigt ein ausreichend gutes Ausgleichsverhalten der Sensorachsen
zueinander. In Extremsituationen um 0° bzw. 90° liegt die Winkelabweichung bei maximal
1,31°. Da alle Sensorachsen annähernd gleiche Rauscheigenschaften besitzen, ist ein vergleichbares Verhalten auch bei äquivalenter Anordnung der jeweils anderen Achsenpaare zu erwarten.
6.3 Kalibrierung des Magnetometers
6.3.1 Das Erdmagnetfeld
Das geomagnetische Feld ist das die Erde umgebende und durch Bewegung des äußeren, stark
eisenhaltigen flüssigen Erdkerns entstehende Magnetfeld [Chr02]. Sein Hauptanteil geht vom
Erdkern aus und kann nahe der Erdoberfläche annäherungsweise als Feld eines magnetischen
Dipols beschrieben werden, das außerhalb der Erdatmosphäre durch den Sonnenwind verformt
wird. Im Wesentlichen treten die magnetischen Feldlinien auf der Südhalbkugel aus der Erde
aus und durch die Nordhalbkugel in die Erde ein. Daher verläuft das Erdmagnetfeld auch nicht
parallel zur Erdoberfläche, sondern tritt mit einem Inklinationswinkel in die Oberfläche ein. Der
Neigungswinkel beträgt in Mitteleuropa etwa 60° gegenüber der Horizontalen. Die Stärke des
Erdmagnetfeldes liegt hier etwa bei 0,48 Gauß (1 Gauß entspricht 10-4 Tesla). Aufgrund seiner
27
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Entstehung ist das Erdmagnetfeld nicht zeitinvariant, und nicht nur seine Richtung, sondern
auch seine Stärke ändert sich kontinuierlich.
Abbildung 13: Stärke des Erdmagnetfeldes (in nT)
(Quelle: National Oceanic and Atmospheric Administration)
Für den in dieser Arbeit vorgestellten Algorithmus ist weder die Stärke des Erdmagnetfeldes
noch die Richtung des magnetischen Nordens als Referenz für die Auswertung der Sensordaten
von Bedeutung. Wie in Kapitel 8.1.2 näher erläutert wird, fungiert als Referenz einzig eine vor
jedem Messgang in möglichst verzerrungsfreier Umgebung durchzuführende Initialmessung.
Dadurch ist die Anwendungsmöglichkeit des Algorithmus lokal nicht durch eine Bindung an
Stärke und Richtung des geomagnetischen Feldes am Ort der Kalibriermessung begrenzt. Das
Ergebnis der Konvertierung der Magnetometermessungen entspricht daher auch nicht einer der
Stärke des magnetischen Feldes entsprechenden physikalischen Einheit, sondern ist auf das
während der Kalibrierung gemessene Erdmagnetfeld genormt.
6.3.2 Funktionsweise des Magnetometers
Das Magnetsensor-Element des LSM303DLH nutzt zur Magnetfeldbestimmung den anisotropen magneto-resistiven Effekt (AMR) [Hon09], [Gro05]. Der AMR-Effekt beruht auf der Beobachtung, dass sich der spezifische Widerstandswert von Metalllegierungen hoher magnetischer
Permeabilität wie Permalloy – einer Legierung aus etwa 81% Nickel und 19% Eisen – durch die
Richtung des Magnetfeldes ändert. Wird die Legierung mit einem Magnetfeld durchsetzt, ändert
sich aufgrund der mäanderförmigen Struktur der Legierung ihr elektrischer Widerstandswert in
Abhängigkeit des Winkels zwischen der Magnetisierung und dem Richtungsvektor des Widerstandes. Bei anliegender Spannungsversorgung reagiert der Sensor so auf jede Änderung des in
28
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Richtung einer Sensorachse gemessenen Magnetfeldes mit einer Änderung der Ausgangsspannung. Durch Messung der Spannungen an den drei Achsen des Magnetometers lässt sich so
Richtung und Stärke des äußeren Magnetfeldes bestimmen.
6.3.3 Überlagerung magnetischer Felder
Im Vergleich zu Accelerometer und Gyroskop ist die Kalibrierung des Magnetometers mit Umständen verbunden, die einer besonderen Berücksichtigung bedürfen. So ist bei der Verwendung
von Magnetometern mit der Präsenz von Störfeldern zu rechnen, welche die Messgenauigkeit
maßgeblich beeinflussen. Die Wichtigsten dieser Störfelder sind Überlagerungen des geoma gnetischen Feldes durch Hard- und Soft-Iron-Effekte. Sie entstehen durch magnetische Einflüsse auf der Platine mitverbauter Komponenten auf die Sensorachsen. Die Kenntnis dieser Effekte
ist notwendig, um ihren Einfluss auf die Messungen bereits im Vorfeld durch ein geeignetes Kalibrierverfahren eliminieren.
Hard-Iron-Effekte entstehen durch permanent magnetisierte Komponenten innerhalb der Gerä testruktur. Als eigenständige magnetische Komponenten verursachen sie zusätzlich die Induktion magnetischer Felder in nicht magnetisierten ferromagnetischen Materialien ihrer näheren
Umgebung. Auch auf solche Weise induzierte Magnetfelder werden zu den Hard-Iron-Feldern
gerechnet. Da sich permanent magnetisierte Gerätekomponenten – wie Mikrocontroller und Gyroskop – aufgrund ihrer festen Verankerung in der Gerätestruktur in einer zueinander unveränderlichen Position befinden, erzeugen Hard-Iron-Felder ein zum Feld der Erde additives Magnetfeld [Bac07], [Kon08], [Ozy12.1]. Auf den Sensoachsen zeigt sich dieser Effekt als konstanter positiver oder negativer Offset. Da die Stärke des magnetischen Feldes einer Komponente proportional zur Stärke des sie durchfließenden Stromes ist, besteht eine Möglichkeit der Reduktion von Hard-Iron-Effekten darin, bereits beim Design der Platine hochstromige Komponenten wie den Mikrocontroller möglichst weit vom Magnetometer entfernt anzubringen
[Ozy12.2]. Beim Design der IMMU wurde dies weitestgehend realisiert (siehe Abbildung 8).
Positiv zu bewerten ist auch der Umstieg vom Bussystem SPI auf I 2C, da durch Verminderung
der Anzahl benötigter Leiterbahnen nicht nur die Verringerung der Platinengröße, sondern auch
der möglichen Verursacher elektromagnetischer Störfelder erreicht wurde.
Im Gegensatz zum Hard-Iron- Effekt ist der Soft-Iron-Effekt Folge ferromagnetischer Bauteile,
die das gemessene magnetische Feld beeinflussen, ohne notwendigerweise selbst ein eigenes
magnetisches Feld zu erzeugen oder von einem Hard-Iron-Feld beeinflusst zu sein. Soft-IronEffekte sind Folge außerhalb der Gerätestruktur gelegener magnetischer Felder – etwa des Erdmagnetfeldes –, welche in geräteinternen ferromagnetischen Bauteilen temporäre magnetische
Felder induzieren. Erzeugt werden sie vor allem durch Leiterbahnen innerhalb der Gerätestruktur. Während Hard-Iron-Verzerrung unabhängig von der Ausrichtung des Sensors ist, ist die
durch Soft-Iron-Effekte verursachte Verzerrung abhängig von der Orientierung des verursa29
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
chenden Materials in Relation zum Sensor und dem extern gemessenen magnetischen Feld. Sie
ist daher auch nicht additiv. Die Kompensierung dieses Effekts lässt sich somit nicht durch die
einfache Addition oder Subtraktion einer Konstanten ausgleichen.
Die Fähigkeit eines Materials in Reaktion auf ein externes Magnetfeld ein Soft-Iron-Feld zu er zeugen, hängt direkt mit der Stärke seiner relativen magnetischen Permeabilität zusammen
[Ozy12.2]. Da beim Platinendesign der Messeinheit für die Leiterbahnen ausschließlich Kupfer
verwendet wurde, ist für die Messeinheit selbst nicht oder nur geringfügig mit Soft-Iron-Effekten zu rechnen. Kupfer hat eine Permeabilität von 0,999994 μ. Ähnliche Eigenschaften gelten
für das an jeder Messeinheit zur Verbindung mit dem Host angeschlossene USB-Kabel der Fir ma LEMO mit vieradrig geschirmten Leitungen [Lem10]. Neben Kupfer tritt hier lediglich Zinn
als metallischer Werkstoff hinzu, welches eine ähnliche Permeabilität besitzt. Für die Kalibrie rung des Magnetometers kann daher von der Berücksichtigung einer möglichen Soft-Iron-Verzerrung abgesehen werden.
Hard-Iron-Effekte lassen sich bestimmen, indem man das Magnetometer mitsamt den umgebenden Hard-Iron-Objekten um 360° in der vertikalen Ebene rotiert und die Daten der beiden in der
jeweiligen Ebene involvierten Sensorachsen graphisch gegeneinander aufträgt. Ergibt sich aus der
Auftragung ein gleichmäßiger Kreis, lässt sich aus der Achsenlage des Kreismittelpunktes im Koordinatensystem der Offset der jeweiligen Achse relativ zur Kreisebene bestimmen. Sind Soft-Iron-Effekte vorhanden, wird der Kreis zu einer Ellipse verzerrt [Kon08], [Ozy11], [Ozy12.1].
6.3.4 Kalibriervorrichtung
Zur Detektion der Hard-Iron-Effekte wurde im Rahmen der Bachelorarbeit eine Kalibriervor richtung entworfen, die es erlaubt, das Magnetometer gleichmäßig in der vertikalen Ebene um
360° zu rotieren. Um das Erdmagnetfeld nicht durch zusätzliche Hard-Iron- oder Soft-Iron-Fel der zu überlagern, musste der Entwurf frei von ferromagnetischen Materialien sein. Die Kalibriervorrichtung musste daher aus Materialien gefertigt werden, deren relative magnetische Permeabilität möglichst nah bei 1 μ liegt. Als Konstruktionsmaterial kam daher – neben Holz und
für die Konstruktion einer Kalibriervorrichtung ungeeigneten Materialien wie Gold, Kupfer,
Platin und Titan – vor allem Aluminium in Betracht, welches eine relative magnetische Permea bilität von 1,000022 μ besitzt.
Kernstück der Kalibriervorrichtung ist ein um 360° in der vertikalen Ebene rotierbarer Balken,
an dessen Enden sich die Messeinheit befestigen und für die Ansprache der jeweiligen Sensorachsen gleichgerichtet oder orthogonal zum Balken ausrichten lässt (Abbildung 14). Eine ausreichende Höhe der Vorrichtung stellt sicher, dass sich die IMMU am Ende des Drehbalkens zu
jedem Zeitpunkt mindestens 60 cm über dem Boden befindet [Bac04], [Bac07], um sicherzugehen, dass eventuell in der Bodenstruktur vorhandene ferromagnetische Materialien durch ihren
Einfluss das Erdmagnetfeld nicht überlagern. Zur lotrechten Ausrichtung der Kalibriervorrich30
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
tung sind an den Ecken der Standbalken höhenverstellbare Schrauben angebracht. Der lotrechte
Stand kann mithilfe einer an der Spitze des Gestells angebrachten Dosenlibelle überprüft werden (Abbildung 15).
Für zukünftige Anwendungen wie der zum Abschluss der Arbeit durchgeführten Evaulierung
der IMMU ist der Drehbalken darüber hinaus mithilfe eines Metallstiftes und einer Lochscheibe
in einer Schrittweite von 15° arretierbar (Abbildung 15).
Abbildung 14: Kalibriervorrichtung für das Magnetometer (Vorderseite)
Abbildung 15: Kalibriervorrichtung für das Magnetometer (Rückseite)
31
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
6.3.5 Kalibrierung des Magnetometers
Das Magnetometer des LSM303DLM erlaubt Messungen im Maximalbereich von ±8,1 Gauß.
Für die Orientierungsbestimmung soll allein die Richtung des Erdmagnetfeldes verwendet werden. Die Stärke des Erdmagnetfeldes liegt in Mitteleuropa etwa bei 0,48 Gauß. Da bei größeren
Messwerten von einem Einfluss eines externen Störfeldes auf das Messsignal auszugehen ist,
wird für die vorliegende Anwendung der für das Magnetometer minimale Messbereich von
±1,3 Gauß gewählt. Der Einfluss über den Wertebereich des Erdmagnetfeldes hinausgehender
Messungen soll für die Orientierungsbestimmung mithilfe eines Gaußfilters gedämpft werden
(Kapitel 8.4.2). Die Wortbreite des Magnetometers beträgt 16 Bit.
Die Kalibrierung selbst soll in einer von magnetischen Störfeldern weitestgehend freien Umge bung stattfinden. So kann sichergestellt werden, dass neben eventuellen Hard-Iron-Feldern nur
das Erdmagnetfeld auf den Sensorachsen gemessen wird. Für die Kalibrierung wird das Magnetometer in einer Weise an dem Rotierbalken der Kalibriervorrichtung angebracht, dass sich je
zwei Achsen in einer Ebene mit der Drehebene befinden. Die dritte Achse wird dann orthogonal
auf der Drehebene stehen. Mithilfe eines Kompasses wird die Kalibriervorrichtung nach dem
magnetischen Norden ausgerichtet. Bei der Ausrichtung einer Achse nach dem magnetischen
Norden ist das gemessene Magnetfeld im Verhältnis zu jeder anderen Ausrichtung in der Hori zontalen maximal. Die Exaktheit der Ausrichtung kann daher dadurch korrigiert oder verifiziert
werden, indem je nach Ausrichtung der involvierten Sensorachse das gemessene Maximum
oder bei entgegengesetzter Ausrichtung das gemessene Minimum in die Ermittlung des magnetischen Nordens einbezogen wird.
Für die Kalibrierung werden mithilfe der Kalibriervorrichtung je zwei Achsen des Magnetometers um 360° in der vertikalen Ebene rotiert. Ist der Rotierbalken auf den magnetischen Norden
ausgerichtet, lassen sich so für jede Achse – bei einem gegenüber der Horizontalen nach unten
gerichteten Inklinationswinkel von etwa 60° – ein Maximum und – bei einem Inklinationswin kel von 240° – ein Minimum bestimmen. Als Referenzwert für Maximum und Minimum wird
nicht die für die Lokalität der Kalibrierung angenommene Stärke des Erdmagnetfeldes gewählt,
sondern eine Norm von ±1 definiert, wobei der positive Wert dem gemessenen Maximum und
der negative Wert dem gemessenen Minimum zugerechnet wird. Der Grund für dieses Vorge hen liegt darin, dass für die Funktionsweise des in der Thesis vorgestellten Verfahrens der Ori entierungsbestimmung die tatsächliche Stärke des Erdmagnetfeldes nicht relevant ist. Referenz
hierfür ist eine vor jedem Messgang durchzuführende Initialmessung (Kapitel 8.1.2). Der neu trale Punkt – der Nulldurchgang – der jeweiligen Sensorachse lässt sich aufgrund der orthogonalen Anordnung der Sensorachsen über die Lage des Maximums und Minimums der jeweils
zweiten in der Kalibriermessung beteiligten Sensorachse ermitteln. Für die Kalibrierung einer
jeden Sensorachse stehen so drei Referenzwerte zur Verfügung, wobei sich für den neutralen
Punkt unter Umständen zwei voneinander verschiedene Messwerte ergeben können.
32
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Zur Ermittlung der Kalibrierwerte werden nun je Sensorachse Minimum, Maximum und Nullpunkt der Magnetometer-Messungen gegen ihren jeweiligen Referenzwert graphisch aufgetragen. Auch beim Magnetometer ergibt sich aus dem Datenblatt für die Relation zwischen den
Rohwerten des Sensors und den korrespondierenden Referenzwerten eine lineare Abhängigkeit.
Wiederum wird durch Polynominterpolation für die relevanten Punkte das korrespondierende
Polynom zweiten Grades ermittelt. Die sich ergebenden Koeffizienten repräsentieren Skalierungsfaktor und Offset zur vereinbarten Normierung der Sensorwerte.
Abbildung 16: Kalibrierung des Magnetometers
Die Standardabweichung des Magnetometers im Ruhezustand ist mit Werten zwischen 2,652,74 mGauß vernachlässigbar gering. Von einer Filterung der Daten kann daher abgesehen werden.
Die nachfolgende Abbildung zeigt exemplarisch für zwei Sensorachsen die graphische Auftragung der kalibrierten Messwerte in ihrer Achsenebene (Abbildung 17). Die graphische Auftragung bestätigt die fehlende Beeinflussung der Sensormessungen durch Soft-Iron-Effekte. Der
jeweils aus der Rotation der Sensorachsen resultierende Kreis ist von elliptischer Verzerrung
weitestgehend frei .
33
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Abbildung 17: Graphische Auftragung zweier Sensorachsen
6.4 Automatisierung der Kalibrierdatenauswertung mit MATLAB
Um den zeitlichen Aufwand der serienmäßigen Kalibrierung von Sensoreinheiten gering zu hal ten, sind im Rahmen der Bachelorarbeit eine Reihe sensorspezifischer MATLAB-Routinen geschrieben worden. Mit ihrer Hilfe reduziert sich der Aufwand zur Auswertung der jeweils aufgenommenen Kalibrierdaten auf die Eingabe relevanter Messpunkte und Messintervalle. Die
Ausgabe der Ergebnisse erfolgt zum Einen auf graphischer Ebene mit Auftragung der Polynomfunktion über die Intervall-Mittelwerte und ihre jeweiligen physikalischen oder normierten Referenzwerte und zum Anderen durch Ausgabe von Offset, Skalierungsfaktor und Standardabweichung der einzelnen Sensorachsen.
34
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
7. Datenverarbeitung
Vor der Orientierungsbestimmung einer jeden Messeinheit durchlaufen die Daten der Sensoren
verschiedene Stufen der Verarbeitung, welche im Folgenden kurz erläutert werden.
7.1 Speicherung der Sensorinformationen
Sämtliche zur Datenauswertung notwendigen Kalibrierinformationen werden in der Messeinheit
selbst vom Mikrocontroller verwaltet. Dazu gehört neben einem Sensordeskriptor mit Angabe
des Sensortyps und dem Datum der Firmware ein Kanaldeskriptor, der Informationen über Art,
Anzahl und Reihenfolge der Sensorkanäle bereithält. Die im Laufe der Kalibrierung ermittelten
Kalibrierwerte der einzelnen Sensoren können über USB als String in den Programmspeicher
des Mikrocontrollers geschrieben werden. Der erste Teil des Strings enthält dabei Angaben zur
Initialorientierung und Position der Messeinheit. Die Initialorientierung der IMMU wird in zwei
Buchstaben gespeichert. Dabei steht der erste Buchstabe für die Richtung des Kabels, der zweite
für die Ausrichtung der Oberseite. In beiden Fällen folgt die Bezeichnung der Ausrichtung der
gleichen Kodierung (f=front, b=back, l=left, r=right, u=up, d=down). Der zweite Teil des
Strings enthält die zur Konvertierung notwendigen numerischen Angaben über Offset und Skalierungsfacktor in der im Kanaldeskriptor festgelegten Reihenfolge [Sch08.2].
7.2 Filterung der Sensordaten
Zur Verbesserung der Signaleigenschaften und der Messergebnisse werden digitale Filter verwendet. Diese reduzieren zunächst das Rauschen auf den Sensorachsen. Zusätzlich beschränken
sie die auf Bewegung der Messeinheit beruhenden möglichen Sensormessungen auf tiefere Frequenzen. Die Accelerometerdaten werden bei einer Frequenz von 10 Hz, die Gyroskopdaten bei
einer Frequenz von 24,5 Hz tiefpassgefiltert. Die Magnetometer-Messungen werden wegen ihrer ausreichend guten Signaleigenschaften nicht gefiltert. Zur Filterimplementierung siehe
[Sch08.2].
35
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
8. Orientierungsanalyse
Im nun folgenden Kapitel soll der Algorithmus zur Orientierungsbestimmung vorgestellt werden. Orientierung wird dabei verstanden als eine Kombination aus Neigung (bei Rotation um
die x- und y-Achse) und horizontaler Ausrichtung (bei Rotation um die z-Achse). Sie wird berechnet aus der Orientierung des für jede Messeinheit spezifischen lokalen Koordinatensystems
– abhängig von der Ausrichtung am Körper der Versuchsperson – und ihrer Aktualisierung
durch Sensormessungen in Relation zum globalen Koordinatensystem. Ziel des Algorithmus ist
die Ermittlung eines Quaternions q, welches einen Vektor rg des globalen Koordinatensystems
in den korrespondierenden Vektor rb des lokalen Koordinatensystems transformiert:
rb = q rg q-1
(19)
mit den korrespondierenden reinen Quaternionen rb und rg. Das invertierte Quaternion q-1 transformiert den Vektor des lokalen zurück in das globale Koordinatensystem:
rg = q-1 rb q
(20)
Dabei repräsentieren die Vektoren des globalen Koordinatensystems die initiale Position und
die Vektoren des lokalen Koordinatensystems die aktuelle Position einer IMMU.
8.1 Ermittlung der Initialorientierung
Mehrere Messeinheiten an verschiedenen Körpersegmenten mit unterschiedlichen Orientierungen zu verwenden macht es schwierig, die relative Orientierung zweier Messeinheiten zu ermit teln. Aus diesem Grund wird zu Beginn jeder Messserie ein der initialen Orientierung der jeweiligen Messeinheit entsprechendes Initialquaternion qinit ermittelt, welches vor der Auswertung
der Messdaten die aktuellen Sensormessungen ωt = (ωx,t ωy,t ωz,t)T, at = (ax,t ay,t az,t)T und
mt = (mx,t my,t mz,t)T in die Basisorientierung zurückdreht. In dieser Lage hat das lokale Koordinatensystem der Messeinheit die gleiche Ausrichtung wie das globale Koordinatensystem. So
werden beispielsweise die Messungen eines mit der Oberseite nach unten angebrachten Sensormoduls durch eine 180°-Drehung um die x-Achse in die Initialorientierung zurückgedreht.
8.1.1 Accelerometer
Da aufgrund des menschlichen Körperbaus nicht davon ausgegangen werden kann, dass während der Initialmessung alle Sensorachsen exakt vertikal oder horizontal ausgerichtet sind, wird
zu Beginn einer jeden Messreihe auf Basis der Inklinationsmessung des Accelerometers ein
zweites Initialquaternion qinit,acc ermittelt. Dieses enthält Informationen über die Schieflage der
36
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
einzelnen Sensorachsen relativ zu ihrer initialen Ausrichtung. Die durch qinit ermittelte Initialorientierung der jeweiligen Messeinheit wird daher vor der Auswertung der Sensoren mithilfe des
Quaternions qinit,acc zusätzlich korrigiert.
8.1.2 Magnetometer
Für die Magnetometer-basierte Orientierungsbestimmung in der horizontalen Ebene wird ein
weiteres Quaternion qinit,mag benötigt, welches als Referenz sowohl für die zur Initialorientierung
relative aktuelle Sensorlage als auch den aktuell anzunehmenden Verzerrungsgrad durch mag netische Störfelder fungiert. Als Referenz für den Verzerrungsgrad dient die Stärke des aktuell
gemessenen Magnetfeldes. Diese kann an der Länge |mt| des Vektors mt = (mx,t my,t mz,t)T abgelesen werden. Weicht |mt| in starkem Maße von |minit| ab, ist von einer Überlagerung des Referenzmagnetfeldes auszugehen und der Einfluss der Magnetometer-Messungen auf die Orientierungsbestimmung entsprechend zu dämpfen. Dies wird mithilfe eines Gaußfilters realisiert, dessen
Einfluss direkt von der Differenz der aktuell gemessenen und der Stärke des initialen Magnetfeldes abhängt (Kapitel 8.4.2). Für die Plausibilität des Algorithmus ist es daher notwendig, die
Initialmessung in einer möglichst störfreien Umgebung vorzunehmen. Wie [Bac04] zeigt, ist ab
einem Abstand von etwa 60 cm von jedem künstlich erzeugten magnetischen Feld der Grad der
Überlagerung des Erdmagnetfeldes zu vernachlässigen. Bei der Initialmessung sollte daher gegenüber ferromagnetischen Objekten dieser Mindestabstand eingehalten werden.
8.2 Gyroskop Update
Ausgehend von einer initialen Orientierung q ergibt sich die neue Orientierung q' nach der neuen Messung aus dem Produkt des initialen Quaternions und eines Update-Quaternion qΔ:
q' = qΔ q
(21)
Das Gyroskop misst die Komponenten {ωx, ωy, ωz} der Winkelgeschwindigkeiten entlang der drei
zueinander orthogonalen Achsen des lokalen Koordinatensystems. Zusammen respräsentieren die
drei Winkelgeschwindigkeitskomponenten den Winkelgeschwindigkeitsvektor ω. Dessen resultierender normalisierter Richtungsvektor eω bezeichnet die aktuelle Rotationsachse des Sensors, sein
Betrag |ω| die Größe der aktuellen Winkelgeschwindigkeit um diese Achse [KRA02]:
eω ≡ ω / |ω|
(22)
Es ist also davon auszugehen, dass der Sensor sich seit der vorangegangenen Messung im Mittel
mit der Winkelgeschwindigkeit |ω| gedreht hat. Das Zeitintervall Δt zwischen zwei Messungen
ist der Kehrwert der Abtastrate. Aus dem Produkt der aktuellen, normierten Winkelgeschwin 37
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
digkeit und dem aktuellen Zeitintervall lässt sich so der Rotationswinkel zwischen der letzten
und der aktuellen Messung ermitteln:
Δω = |ω| ∙ Δt
(23)
Die differenzielle Drehung qΔ errechnet sich so wie folgt:

 

q  ,gyro   cos
, e sin
2
2 

(24)
Das neue Orientierungsquaternion q' lässt sich so direkt aus der vorhergenden Orientierung q
und dem aktuellen Update-Quaternion qΔ,gyro berechnen. Nach (21) ergibt sich so:
q' = qΔ,gyro q
(25)
8.2.1 Rotation um die z-Achse
Obwohl in q' bereits alle Informationen über die neue Orientierung enthalten sind, ist es für die
Funktionsweise des Accelerometer und Magnetometer einbeziehenden Algorithmus notwendig,
zusätzlich ein Quaternion für die Rotation um die z-Achse zu definieren. Der zur initialen Ori entierung relative Winkel ψ errechnet sich durch Integration aller bis zu diesem Zeitpunkt auf
g
der globalen vertikalen Achse ωz gemessenen Winkelgeschwindigkeiten. Zur Ermittlung von
b
b
b
b T
ωzg muss daher zunächst der aktuelle Gyroskopvektor ω  ( x  y  z ) in das globale Koordina-
tensystem transformiert werden.
ωg  q' ω b q' 1
(26)




b
b
b T
g
g
g T
ωb und ωg stehen für die reinen Quaternionen 0, (m x m y m z ) bzw. 0, (m x m y m z ) . Für die
Rotation um die z-Achse zum Zeitpunkt t und den absoluten Rotationswinkel ψ gilt dann:

t

g
z ,i
(27)
i 0
Das die Rotation um die z-Achse repräsentierende Quaternion qz,gyro errechnet sich wie folgt:



q z ,gyro   cos , (0 0 1) sin 
2
2

(28)
38
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
8.2.2 Dämpfung des Gyroskops
Das Gyroskop misst Winkelgeschwindigkeiten über 0°/s. In dynamischen Situationen, in denen
die Messeinheit bewegt wird, erlaubt die hier vorgestellte Methode eine gute Abschätzung der
Orientierung. Im statischen Fall jedoch ist das Gyroskop aufgrund seines Rauschverhaltens
nicht zur Orientierungsbestimmung geeignet. Zur Begrenzung der sich durch das Rauschen auf
den Achsen ergebenden Integrationsfehler wird daher ein Schwellenwert definiert, welcher
Winkelgeschwindigkeitsmessungen unter 1°/s durch Winkelgeschwindigkeiten von 0 °/s ersetzt.
8.3 Accelerometer Update
In seiner Initialorientierung sind die Achsen x bybzb des lokalen Koordinatensystems eines Sensormoduls den Achsen xgygzg des globalen Koordinatensystems gleichgerichtet. Ausgehend von
dieser initialen Orientierung lässt sich jeder Körper gemäß den Eigenschaften von Eulerwinkeln
mit drei aufeinanderfolgenden Rotationen in jede beliebige Orientierung bringen:
1. Rotation um die xb-Achse (Drehwinkel θ)
2. Rotation um die yb-Achse (Drehwinkel φ)
3. Rotation um die zb-Achse (Drehwinkel ψ)
Abbildung 18: Globales und lokales Koordinatensystem
Wird die Reihenfolge der Drehungen eingehalten, ist die sich ergebende Orientierung eindeutig.
Im Folgenden soll diese Eigenschaft von Eulerwinkeln dazu genutzt werden, für die Ermittlung
der Sensororientierung in statischer Lage drei Quaternionen qx, qy und qz zu ermitteln, die jeweils eine Rotationen um eine der drei Sensorachsen repräsentieren. Der Algorithmus zur Be stimmung der Quaternionen folgt weitestgehend dem in [Ghe04], [Apa04] und [Yun08] dargestellten FQA.
39
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
8.3.1 Rotation um die x-Achse
aufgrund ihrer zum Erdbeschleunigungsvektor waagerechten Ausrichtung misst in der Referenzorientierung weder die x-Achse noch die y-Achse des Accelerometers einen von Null verschiedenen Beschleunigungswert. Der Messwert der z-Achse liegt hingegen bei etwa –1 g. Unabhängig vom Drehwinkel ändern sich bei Rotation um die z-Achse die an den Achsen x und y gemessenen Werte nicht. Wird das Accelerometer jedoch mit einem positiven Winkel θ um seine
x-Achse gedreht, ergibt sich auf der y-Achse eine Messung von:
ay = g ∙ sin θ
(29)
Entsprechend gilt für die z-Komponente:
az = g ∙ cos θ
(30)
Da die Messungen des Accelerometers aufgrund minimaler Beschleunigungen und Rauschens
auf den Sensorachsen nicht unbedingt dem erwarteten Wert von 1 g entsprechen, ist es notwendig, den Vektor a = (ax ay az )T der Accelerometer-Messungen zuvor zu normalisieren. Aus (29)
folgt dann unmittelbar:
sin θ = ay
(31)
Mit sin θ lässt sich sodann cos θ wie folgt ermitteln:
(32)
cos   1  sin 2 
Gleichung (32) gilt jedoch nur für positive cos θ, also für Winkel im Intervall –π/2 ≤ θ ≤ π/2.
Werte, die ober- oder unterhalb dieses Intervalls liegen, führen zu einer Fehlinterpretation, und
ein Winkel von beispielsweise 95° würde als ein Winkel von 85° interpretiert. Die Werte für
sin θ und cos θ gelten auch bei Rotationen um die y-Achse, da sich dann zwar (30) ändern würde, (29) jedoch nicht.
Zur Ermittlung des aus der Rotation um die x-Achse sich ergebenden Quaternions ist es notwendig, die Werte für sin θ/2 und cos θ/2 zu kennen. Nach den trigonometrischen HalbwinkelFormeln gilt für Halbwinkel:
sin

1  cos  
 sign(sin ) 

2
 2

(33)
40
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
cos

1  cos  
 

2
 2

(34)
mit sign als der Vorzeichenfunktion, welche +1 für positive und –1 für negative Argumente zurückgibt. Da cos θ innerhalb des erlaubten Intervalls immer positiv ist, ist die Vorzeichenfunktion für (34) obsolet. Das die Rotation um die x b-Achse repräsentierende Einheits-Quaternion qx
lässt sich so mithilfe der Werte für Halbwinkel wie folgt berechnen:



q x   cos , (1 0 0) sin 
2
2

(35)
8.3.2 Rotation um die y-Achse
Eine Rotation um den positiven Winkel φ um die yb-Achse lässt den auf der yb-Achse gelesenen
Wert unverändert. Für die Messungen auf den Achsen x b und zb jedoch ergibt sich:
ax = –g cos θ sin φ
(36)
az = g cos θ cos φ
(37)
Für normalisierte Messungen gilt folglich:
ax = – cos θ sin φ
(38)
az = cos θ cos φ
(39)
Soweit cos θ einen Wert ungleich Null annimmt, lassen sich die Werte für sin φ und cos φ wie
folgt bestimmen:
sin φ = – ax / cos θ
(40)
cos φ = az / cos θ
(41)
Der Wert für cos θ wird Null, wenn die yb-Achse vertikal ausgerichtet, d.h. die x b-Achse um
einen Winkel von ±90° gedreht ist. In diesen Fällen ist der Winkel φ undefiniert. Der Algorithmus besitzt an dieser Stelle eine Singularität. Eine Möglichkeit diesen Fall zu umgehen ist, den
Winkel θ vor der Berechung des Orientierungsquaternions auf seinen Wert zu prüfen. Liegt der
Wert unter einem vordefinierten Grenzwert ϵ nahe Null und θ damit nahe 90°, wird sowohl der
normalisierte Vektor der Accelerometer-Messungen a als auch der normalisierte Vektor der
Magnetometer-Messung mb mit einen Offset-Winkel α um die xb-Achse rotiert:
41
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
e a ,offset  q  e a q  1
(42)
e bm ,offset  q  e bm q  1
(43)
Dabei stehen ea und em für die reinen Einheitsquaternionen [0, a] bzw. [0, mb ] mit den normalisierten Vektoren der Messungen von Accelerometer und Magnetometer. qα bezeichnet das Offset-Rotationsquaternion.



q    cos , (1 0 0) sin 
2
2

(44)
Liegt cos θ unter dem Grenzwert ϵ, wird statt der gemessenen Vektoren die Offset-Messung zur
Ausführung des FQA verwendet. Das sich aus den Rotationen um x-, y- und z-Achse ergebende
alternative Ergebnisquaternion qalt würde dann im Anschluss an die statische Orientierungsbestimmung wieder um den Winkel α zurückrotiert:
q = qalt qα
(45)
Der Winkel φ aus (40) und (41) ist begrenzt auf das Intervall –π ≤ φ ≤ π, sodass die Werte für
sin φ/2 und cos φ/2 analog zu (33) und (34) ermittelt werden können. Für den Fall, dass sowohl
sin φ/2 als auch cos φ/2 Null werden – bei cos φ = –1 und sin φ = 0 – wird die sign-Funktion in
einer Weise implementiert, die einem Argument von Null einen positives Ergebnis zuweist. Das
Einheits-Quaternion qy für die Berechnung der Rotation um die y-Achse ergibt sich dann wie
folgt:



q y   cos , (0 1 0) sin 
2
2

(46)
8.3.3 Dämpfung des Accelerometers
Der Algorithmus zur Orientierungsbestimmung verwendet das Accelerometer als Inklinometer.
Für die Auswertung der Sensordaten bedeutet dies, dass allein in unbeschleunigten Situationen
eine sinnvolle Datenanalyse möglich ist. Aus diesem Grund wird ein Dämpfungsfaktor λ acc definiert, der den Einfluss der Accelerometerdaten in beschleunigten Situationen bei von 1 g abweichenden Beschleunigungswerten begrenzt. Dies wird mithilfe einer Gaußfunktion realisiert.
acc  e

(| a |   )2
2 2
(47)
42
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Der Mittelwert μ der Beschleunigung wird während des in statischer Sensorlage durchgeführten
Initialisierungsprozesses ermittelt. Rein theoretisch ließe sich dieser Wert durch Eins ersetzen,
doch kann sich der Wert in der Praxis auch ein wenig von 1 g unterscheiden, welches unmittelbar zu einer fehlerhaften Gewichtung des Einflusses der Accelerometermessungen führen wür de. Die Varianz σ2 des Accelerometerwertes wurde während des Kalibrierprozesses ermittelt.
Der Effekt des Dämpfungsfaktors liegt darin, Messungen des Accelerometers, deren Betrag
nahe dem Initialisierungswert liegen, ungedämpft in die Orientierungsbestimmung einfließen zu
lassen. Vom Mittelwert abweichende Accelerometerwerte werden gedämpft.
Ein zweiter Dämpfungsfaktor λ gyro hängt mit dem Absolutwert der gemessenen Winkelgeschwindigkeit zusammen. Dieser wird mithilfe einer Sigmoidfunktion ermittelt [Sch08.2]:
gyro 
1
1  e b (|ω|  a )
(48)
Der Wert a bestimmt den Grenzwert, an dem die Funktion einen Wert von 0,5 einnimmt. Der
Wert für b bestimmt die Steigung der Funktion. Ziel der Dämpfung ist es, den Einfluss der Accelerometer-Messungen auf die Orientierungsbestimmung von der Größe der gemessenen Winkelgeschwindigkeit abhängig zu machen. So werden die Messungen des Accelerometers ab
Überschreiten einer bestimmten Winkelgeschwindigkeit gedämpft.
λacc,gyro = λacc ∙ λgyro
(49)
8.4 Magnetometer Update
8.4.1 Rotation um die z-Achse
Da eine Drehung um die zb-Achse keinen Einfluss auf die Bestimmung der Quaternionen qx und
qy für die Rotation um die horizontalen Achsen hat, ist es möglich, zunächst die letztgenannten
Rotationen durchzuführen, und darauffolgend mithilfe des Magnetometers die Berechnung des
Quaternions qz,mag vorzunehmen. Dafür ist es zunächst notwendig, den normalisierten Magnetfeldvektor der aktuellen Messung mithilfe der Operation für die Rotation von Quaternionen in
das globale Referenzkoordinatensystem zu transformieren:
e gm  q y q x e bm q x1q y1
(50)
b
b
b T
b
Dabei steht e m für das reine Einheitsquaternion [ 0, ( m x m y m z ) ] mit dem normalisierten
Vektor der aktuellen Messung des Magnetometers. Diese Konvention gilt ebenso für das Qua 43
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
g
ternion e m . Unter idealen Voraussetzung, d.h. in der Abwesenheit von magnetischen Störfelg
g
g
g T
dern, sollte sich m  (m x m y m z ) nun in derselben Ausrichtung befinden wie der zu Anfang der
g
g
g
g
T
Messreihe ermittelte initiale Magnetfeldvektor minit  ( m x ,init m y,init m z ,init ) , mit Ausnahme des Ef-
fektes der Rotation um die vertikale Achse. Normalisiert man den Initialvektor, so gilt unter der
g
g
g
g
Voraussetzung m z  m z,init für das Verhältnis von m und minit :
 m gx ,init 
 g 
 m y ,init  
 m gz ,init 


 cos 
 sin 

 0
 sin 
cos 
0
0  m gx 


0  m gy 
1   m gz 
(51)
mit ψ als dem Rotationswinkel um die vertikale Achse. Aus (51) folgt unmittelbar:
 m gx ,init 
 g  
 m y,init 
 cos 
 sin 

 sin    m gx 


cos    m gy 
(52)
Ebenso wie (51) setzt auch (52) voraus, dass sich die Vektoren nur in ihrer Ausrichtung unter scheiden. Aufgrund geomagnetischer Differenzen, Störungen des Magnetfeldes oder Rauschen
auf den Sensorachsen können die Vektoren jedoch auch in ihrer Länge voneinander abweichen.
Zur Kompensation dieses Effekts müssen die Vektoren auf beiden Seiten von (52) normalisiert
g
g
g
T
g
g
g T
werden. Sei M init  (M x ,init M y,init ) der normalisierte 2-D Initialvektor und M  (M x M y ) der
normalisierte 2-D Magnetfeldvektor, dann folgt für (52) unmittelbar:
 M gx ,init   cos 
 g  
 M y ,init   sin 
 sin    M gx 


cos    M gy 
(53)
g
g
Da die Vektoren M  M init bekannt sind, lässt sich (53) auch als Gleichungssystem für sin ψ und
cos ψ betrachten:
 cos  
 sin   


 M gx

g
  M y
M gy   M gx ,init 


M gx   M gy,init 
(54)
Der Winkel ψ ist begrenzt auf das Intervall –π ≤ φ ≤ π. Analog zu (33) und (34) lassen sich die
Halbwinkelwerte für sin ψ und cos ψ ermitteln. Für das die Rotation um die z-Achse repräsentierende Einheits-Quaternion qz,mag gilt dann:



q z ,mag   cos , (0 0 1) sin 
2
2

(55)
44
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
8.4.2 Dämpfung des Magnetometers
Wie erläutert sollen die Daten des Magnetometers nur dann Berücksichtigung finden, wenn das
Erdmagnetfeld nicht von einem Störfeld überlagert ist. Daher ist es notwendig einen Dämpfungsfaktor zu definieren, dessen Wert unmittelbar mit dem Grad der störfeldverursachten mag netischen Verzerrung zusammenhängt. In Europa beträgt die Stärke des Erdmagnetfeldes etwa
0,48 Gauß. Abweichungen in Stärke und Richtung können sich vor allem beim Zurücklegen
größerer Entfernungen oder auch im Unterschied von Tag und Nacht ergeben. Da beide Faktoren für die Anwendung im CUELA-Projekt weitestgehend zu vernachlässigen sind [Ell11],
kann für die Dauer einer Messung von einem relativ konstanten Referenzmagnetfeld ausgegangen werden. Wird das Erdmagnetfeld von einem Störfeld überlagert, kann die Stärke des Magnetfeldes jedoch variieren [Bac07]. Als Indikator für die Interferenz des Erdmagnetfeldes kann
daher die Länge |m| des gemessenen Magnetfeldvektors betrachtet werden. Die Stärke des Referenzmagnetfeldes wird während der Initialisierungsphase im initialen Magnetfeldvektor minit
festgehalten. Der Gewichtungsfaktor λmag wird sodann mithilfe einer Gaußfunktion definiert:
mag  e

(| m|   ) 2
(56)
22
Der Mittelwert μ der Stärke des magnetischen Feldes entspricht dem Betrag des während der
Initialisierungsphase ermittelten Referenzmagnetfeldvektors minit. Wird die Initialmessung in einer weitestgehend störfeldfreien Umgebung durchgeführt, entspricht sie in etwa der genormten
Stärke des örtlichen Erdmagnetfeldes. Die Varianz σ 2 des Magnetometerwertes wurde während
der Kalibrierung ermittelt. Ziel der Dämpfung ist es, Magnetfelder mit einer Stärke nahe der des
Referenzmagnetfeldes ungedämpft in die Orientierungsbestimmung einzubeziehen und den Einfluss von Magnetfeldern abweichender Stärke zu dämpfen.
Dieser Vorgehensweise liegt die Annahme zugrunde, dass bei einer Störung des Erdmagnetfeldes auch die Länge des Magnetfeldvektors variiert. Vor allem beim Übergang zwischen unver zerrten und verzerrten Messbereichen kann jedoch eine durch Überlagerung hervorgerufene
Richtungsänderung des Magnetfeldvektors erfolgen, ohne dass dies unmittelbar eine Änderung
der Magnetfeldstärke zur Folge hat. Findet eine Überlagerung des Magnetfeldes in der horizontalen Ebene statt, detektiert der Algorithmus eine Drehung um die vertikale Achse der IMMU,
welche sich von ihrer tatsächlichen Drehung unterscheidet. Eine Abschätzung der Orientierungsänderung enthält das durch Aufsummierung der auf der z-Achse des Gyroskops gemesse nen Winkelgeschwindigkeitswerte berechnete Quaternion qz,gyro ( Kapitel 8.2.1). Extrahiert man
den in qz,gyro enthaltenen Winkel ψgyro, erhält man für den mithilfe des Magnetometers errechneten Winkel ψmag einen Vergleichswert. Da ψ gyro ein durch Integration errechneter Schätzwert ist,
kann aufgrund des daraus entstehenden Driftverhaltens eine Differenz zwischen ψ gyro und ψmag
jedoch nicht als Indiz für eine fehlerhaft detektierte Rotation verwendet werden. Ändert sich die
45
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Richtung des Magnetfeldes, ohne dass eine äquivalente Rotation der Messeinheit stattfindet, liegen jedoch für ψgyro und ψmag unterschiedliche Winkeländerungsraten vor. Leider erwies sich deren Differenz als Grundlage für die Definition eines zweiten Dämpfungsfaktors als zu rauschbehaftet, da sich trotz der positiven Signaleigenschaften des Magnetometers durch (50) das
Rauschverhalten des Accelerometers auf die Berechnung von qz,mag und damit ψmag überträgt.
Eine Optimierung der Dämpfung wird erreicht, indem für λ mag eine Art Hysterese-Verhalten implementiert wird. Dabei wird λ mag für den Fall, dass bei einer neuen Messung zum Zeitpunkt t
der Wert von λmag,t über dem zuvor ermittelten Wert λ mag,t-1 liegt – die Länge des gemessenen
Magnetfeldvektors sich also der Norm annähert –, mithilfe des Faktors a mit dem zuvor ermit telten Wert interpoliert (57). Liegt λmag hingegen unter λmag,t-1, wird λmag nicht überschrieben (58).
λmag,t = a ∙ λmag,t + (1 – a) ∙ λmag,t-1
λmag,t = λmag,t
, λmag,t > λmag,t-1
(57)
, λmag,t ≤ λmag,t-1
(58)
Ein für a geeigneter Faktor wird im Versuch ermittelt. Der Einfluss magnetischer Störfelder mit
von der Norm abweichender Stärke wird so über den Zeitpunkt ihrer Detektion hinaus gedämpft. Ziel dieser Implementierung ist es, der methodisch bedingten Unvollständigkeit der Erkennung magnetischer Störfelder teilweise entgegenzuwirken.
Um den Einfluss des Magnetometers auf die Bestimmung des Rotationswinkels in der Horizontalen auf statische Situationen bzw. Situationen geringer Dynamik zu beschränken, wird der für
die Dämpfung des Accelerometers formulierte Faktor λ gyro auch auf die Messungen des Magnetometers angewandt. So werden Magnetometer-Messungen ab Überschreiten der durch den Faktor λgyro festgelegten Winkelgeschwindigkeit gedämpft.
λmag,gyro = λmag ∙ λgyro
(59)
8.5 Synthese der Sensormessungen
8.5.1 Rotation um die z-Achse
Mit qz,gyro und qz,mag liegen nun zwei Quaternionen vor, welche die Rotation der Messeinheit um
die vertikale Achse repräsentieren. Da qz,mag aufgrund des möglichen Einflusses magnetischer
Störfelder fehlerbehaftet sein kann, wird der Einfluss von qz,mag auf die Orientierungsbestimmung durch den Faktor λmag,gyro gedämpft. Mithilfe der Interpolationsfunktion SLERP werden
qz,gyro und qz,mag in Abhängigkeit von λmag,gyro interpoliert.
q z  SLERP(q z ,gyro , q z ,mag ; mag,gyro ) 
sin[(1  mag ,gyro ) ]
sin 
46
q z ,gyro 
sin[(mag ,gyro ) ]
sin 
q z ,mag (60)
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Dabei steht α für den Winkel zwischen den Quaternionen qz,gyro und qz,mag. Dieser lässt sich mithilfe des Arkuskosinus des inneren Produktes der beteiligten Quaternionen bestimmen (15). Bei
Abwesenheit magnetischer Interferenz und niedrigen Winkelgeschwindigkeiten ist die Bestimmung des die Rotation um die vertikale Achse repräsentierenden Quaternions qz so hauptsächlich von den Messdaten des Magnetometers abhängig. Liegt ein magnetisches Störfeld vor bzw.
wird eine magnetische Überlagerung durch Änderung der Länge des Magnetfeldvektors detek tiert, hängt die Bestimmung von qz in Situationen größerer Dynamik wiederum hauptsächlich
vom Schätzwert des Gyroskops ab. Mit derselben Abhängigkeit wird in jedem Messdurchlauf
die auf den Messwerten des Gyroskops beruhende Abschätzung des Rotationswinkels um die
vertikale Achse ψgyro (Kapitel 8.2.2) durch ψmag korrigiert.
ψgyro,neu = (1 – λmag,gyro) ∙ ψgyro,alt + λmag,gyro ∙ ψmag
(61)
Ziel der Korrektur ist es, in statischen oder gering dynamischen magnetisch störfreien Situatio nen die durch Aufsummierung kleiner Messfehler entstehende Drift von ψ gyro zu kompensieren
und ψgyro für die Abschätzung der nächsten Iteration auf einen neuen Wert zu initialiseren.
8.5.2 Ermittlung des aktuellen Orientierungsquaternions
Die auf Messwerten des Accelerometers basierenden Quaternionen qx, qy sowie das in magnetisch störfreiem Umfeld auf Messungen des Magnetometers basierende Quaternion qz bilden die
Grundlage der Orientierungsbestimmung in statischen und gering dynamischen Situationen. Das
die Rotation um die drei Achsen zusammenfassende Orientierungsquaternion qacc,mag ergibt sich
aus dem Produkt:
qacc,mag = qz qy qx
(62)
Dabei wird die Reihenfolge der Operanden zum Einen durch die vereinbarte Reihenfolge der
Rotationen (Kapitel 8.3) und zum Anderen durch die Definition der Quaternionen-Multiplikation (14) bestimmt. Das die aktuelle Orientierung der Messeinheit respräsentierende Quaternion q
entsteht durch Interpolation von qacc,mag und dem auf den Messwerten des Gyroskops beruhenden
Quaternion qgyro. Dabei wird der Einfluss des auf den Messungen von Accelerometer und Ma gnetometer beruhenden Quaternions qacc,mag durch den Faktor λacc,gyro gedämpft.3
q  SLERP(q gyro , q acc,mag ; acc,gyro ) 
3
sin[(1  acc,gyro ) ]
sin 
q gyro 
sin[(acc,gyro ) ]
sin 
q acc,mag
(63)
Auf die Messungen des Magnetometers wird der Faktor so doppelt angewandt, zum Einen bei der Be-
stimmung des Quaterions qz und zum Anderen bei der Interpolation von qacc,mag und qgyro. Die in der nachfolgenden Evaulierung ermittelte Genauigkeit der Winkelbestimmung in dynamischen Situationen in der
horizontalen Ebene bestätigt die Wirksamkeit dieser Vorgehensweise.
47
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Der Winkel α bezeichnet den Winkel zwischen qgyro und qacc,mag. Ziel der Dämpfung ist es, den
Einfluss von Accelerometer und Magnetometer auf die Orientierungsbestimmung auf statische
Situationen bzw. Situationen geringer Dynamik zu beschränken.
Das Quaternion q repräsentiert die aktuelle Orientierung der IMMU. Gleichzeitig bildet es das
Ausgangsquaternion für den nachfolgenden iterativen Schritt.
8.6 Evaluierung der Orientierungsanalyse
Aufgrund des begrenzten zeitlichen Rahmens kann an dieser Stelle keine vollständige Evaluie rung des vorgestellten Algorithmus erfolgen. So wird auch die Beurteilung der Erkennung ma gnetischer Störfelder nur in begrenztem Umfang möglich sein. Da zu diesem Zeitpunkt lediglich
ein einzelnes Exemplar der Messeinheit verfügbar ist, muss auch eine Evaluierung in Verbin dung mehrerer Sensormodule vorerst entfallen.
Für die Beurteilung des Algorithmus zur Orientierungsbestimmung werden verschiedene statische und dynamische Messungen in magnetisch störfreier und gestörter Testumgebung durchgeführt. Die Genauigkeit der Orientierungsbestimmung wird dabei anhand des Root Mean SquareErrors der abgeschätzten Winkelwerte und ihrer Referenzwinkel ermittelt. Zur Bestimmung der
Referenzwinkel wird das optische Bewegungserfassungssystem VICON verwendet [Vic]. Um
Aussagen über die Langzeitstabilität der Sensoren gewinnen zu können, wird jede der Testmes sungen über einen Zeitraum von zehn Minuten ausgeführt.
In einer ersten Messreihe wird die Genauigkeit der Winkelabschätzung im statischen Fall beurteilt. Dabei wird die IMMU mithilfe der in Kapitel 6.3.4 vorgestellten Kalibriervorrichtung in
einer von magnetischen Störfeldern weitestgehend freien Testumgebung in Schrittweiten von je
30° um jede ihrer drei Achsen rotiert.
Abbildung 19: Evaluierungsaufbau für die Rotation um die x- und y-Achse
48
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Abbildung 20: Evaluierungsaufbau für die Rotation um die z-Achse
An der Orientierungsbestimmung im statischen Fall ist bei Rotation um die horizontalen Achsen
der Sensoreinheit lediglich das Accelerometer beteiligt. Die ermittelte Winkelgenauigkeit lässt
so auch eine Beurteilung der Messgenauigkeit der verwendeten Beschleunigungssensoren zu.
Die Auswertung der Messung ergibt bei Rotation um die x-Achse einen mittleren RMSE von
1,31° mit einem maximalen Wert von 2,37° bei orthogonaler Ausrichtung des Sensors (Abbil dung 21). Die Abweichung über den Verlauf der Messung beträgt 1,28°.
Abbildung 21: Winkelabschätzung bei schrittweiser Rotation um die x-Achse
Die Rotation um die y-Achse der IMMU liefert vergleichbare Werte. Hier beträgt der RMSE im
Mittel 0,84° mit einem Maximum bei 1,98°. Die Abweichung über den Verlauf der Messung
liegt auch für die Rotation um die y-Achse mit 1,16° im Bereich der Messgenauigkeit der Sensorik. Auch für längere Messungen ist so von einer stabilen Sensorcharakteristik auszugehen.
49
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Die Genauigkeit der Winkelabschätzung bei Rotation um die vertikale Achse wird in statischen
Situationen und störfreier Umgebung durch die Messungen des Magnetometers bestimmt. Die
Auswertung der durch schrittweise Rotation um die z-Achse gewonnenen Messdaten zeigt eine
Abhängigkeit der Winkelabschätzung von der Richtung des initialen Referenzmagnetfeldvektors. So liegt der RMSE bei Ausrichtung der Messeinheit in Richtung der horizontalen Komponente des initialen Magnetfeldvektors bei 0,24°, bei entgegengesetzter Ausrichtung – bei einem
Referenzwinkel von 180° – hingegen bei einem für die Messung maximalen Wert von 4,36°
(Abbildung 22). Die Begründung für dieses Verhalten kann an dieser Stelle nicht ermittelt werden. Sie wird im Rahmen späterer und unabhängig von der Thesis durchgeführter Tests und Optimierungen erfolgen. Im Mittel liegt der RMSE über den Verlauf der Messung bei 3,59°. Für
dieselbe Messung zeigt die Winkelabschätzung des Gyroskops allein, d.h. ohne die Berücksichtigung der Magnetometer-Daten, eine mit jedem Winkelschritt ansteigende Abweichung mit einem maximalen RMSE von 7,72° bei Abschluss einer vollständigen Rotation. Bei Berücksichtigung der Messwerte des Magnetometers beträgt der RMSE im selben Messintervall hingegen
lediglich 0,39°. Der Vergleich zeigt, dass die Sensordrift des Gyroskops durch Integration des
Magnetometers im besten Fall nahezu vollständig ausgeglichen werden kann. Die Abschätzungsdifferenz zwischen dem ersten und letzten Messintervall bei gleicher Ausrichtung des
Sensors liegt mit 0,34° im Bereich der für das Magnetometer ermittelten Messgenauigkeit.
Abbildung 22: Winkelabschätzung bei schrittweiser Rotation um die z-Achse
In einer zweiten Versuchsreihe wird die Genauigkeit der Orientierungsabschätzung im dynami schen Fall beurteilt. Mithilfe eines zu den Testmessungen für statische Situationen äquivalenten
Versuchsaufbaus wird die IMMU über einen Zeitraum von jeweils 10 Minuten bei variierenden
Winkelgeschwindigkeiten und Bewegungsamplituden um jede ihrer drei Achsen rotiert.
In dynamischen Situationen ist die Abschätzung der Drehwinkels hauptsächlich von den Winkelgeschwindigkeitsdaten des Gyroskops abhängig. Bei Rotation um die horizontalen Achsen
50
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
wird in statischen oder gering dynamischen Momenten der ermittelte Neigungswinkel durch die
Daten des Accelerometers gestützt oder korrigiert. Solche Momente treten etwa bei Änderung
der Bewegungsrichtung auf. Bei Messungen, in denen solchermaßen dynamische mit statischen
Situationen wechseln, ist die Winkelabschätzung von beiden Sensoren abhängig.
Bei Rotation um die x-Achse der IMMU beträgt der RMSE im Mittel 3,52° mit einem Maxi malwert in Situationen großer Dynamik von bis zu 7,34°. Die Abweichung über den Verlauf der
Messung beträgt 0,54°.
Die Winkelabschätzung bei Rotation um die y-Achse zeigt vergleichbare Ergebnisse. Hier liegt
der RMSE bei 3,56° mit einem Maximum in dynamischen Situationen von bis zu 7,76° (Abbildung 23). Über den Verlauf der Messung beträgt die Abweichung 0,48°. Dies deckt sich in etwa
mit der für den statischen Fall festgehaltenen Beobachtung: Auch für dynamische Messungen
liegt die Abweichung innerhalb der durch die Messgenauigkeit der jeweiligen Sensorachse bestimmten Grenzen.
Abbildung 23: Winkelabschätzung in dynamischer Situation bei Bewegung um die y-Achse
Bei Rotation um die vertikale Achse der IMMU ist die Abschätzung des Rotationswinkels in
dynamischen Situationen von der Aufsummierung der Winkelgeschwindigkeitsdaten des Gyroskops abhängig. In Ruhelagen und bei Abwesenheit magnetischer Störfelder wird die Summe
durch die Messdaten des Magnetometers korrigiert und neu initialisiert. Die Ermittlung des Rotationswinkels in der horizontalen Ebene ist so bei Messungen, in denen dynamische mit stati schen Situationen wechseln, von den Werten beider Sensoren abhängig.
Bei Rotation der Messeinheit in der horizontalen Ebene ergibt sich für die dynamische Messung
im Mittel ein RMSE von 2,98° mit einem Maximalwert von 4,44° in Situationen großer Dyna mik (Abbildung 24). Die Abweichung über den Verlauf der Messung liegt mit 0,31° im Bereich
der Messgenauigkeit der Sensorik.
51
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Abbildung 24: Winkelabschätzung in dynamischer Situation bei Bewegung um die z-Achse
Zur Beurteilung der Erkennung von magnetischen Störfeldern wird die IMMU bei Bewegung
um die vertikale Achse zwei verschiedenen magnetischen Störfeldern ausgesetzt. Im Verlauf
der ersten Messung wird dabei ein Permanentmagnet in die Nähe des Sensors gebracht, im Ver lauf einer zweiten Messung die Stahl-Klingen einer Schere. Für statische Fälle kommt es dabei
bei unerkannter Überlagerung des Erdmagnetfeldes mitunter zu Verzerrungen von über 150°
(Abbildung 25). Im Fall des Permanentmagneten geschieht dies bei einem Abstand von etwa
15-20 cm, im Fall der Stahl-Klingen hingegen erst bei einem Abstand von unter 1 cm.
Abbildung 25: Fehlerhafte Abschätzung des Rotationswinkels in statischer Situation
Ist die Messeinheit über längere Zeit einem magnetischen Störfeld ausgesetzt, kann das Drift verhalten des Gyroskops in Ruhelagen nicht mehr durch das Magnetometer ausgeglichen werden. Liegt in Ruhelagen zudem ein nicht erkanntes Störfeld vor, wird die Winkelabschätzung
des Gyroskops zusätzlich durch das Magnetometer mit fehlerbehafteten Werten neu initialisiert.
So kann es zur Bildung eines fehlerhaften Offset kommen, welcher sich je nach Stärke und Expositionsdauer über einen längeren Zeitraum in den Messungen festsetzt (Abbildung 26).
52
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Abbildung 26: Fehlerhafte Abschätzung des Rotationswinkels in dynamischer Situation
8.7 Ergebnis der Orientierungsanalyse
Die in magnetisch ungestörter Umgebung durchgeführten Testmessungen bestätigen die allgemeine Funktionsweise des in dieser Arbeit vorgestellten Algorithmus. Für alle drei Rotationsachsen liegt der RMSE der Drehwinkelabschätzung sowohl in statischen wie auch in dynami schen Situationen unter 3,6°. In der horizontalen Ebene kann durch Einbindung der Messwerte
des Magnetometers die Sensordrift des Gyroskops auch bei längeren Messungen bis auf die
Messgenauigkeit des Magnetometers ausgeglichen werden. Die zu vernachlässigende Winkelabweichung am Ende einer jeden Messung bestätigt die Langzeitstabilität der verwendeten Sensoren.
Die vorliegenden Messungen liefern die Grundlage für weitere Optimierungen der Verbindung
der komplementären Sensordaten, etwa durch Anpassung der für die Dämpfungsfaktoren gewählten Parameter. Da die größten Abschätzungsfehler in Messsituationen hoher Dynamik auftauchen, ist hier vor allem der den Einfluss der Winkelgeschwindigkeitsdaten beeinflussende
Dämpfungsfaktor λgyro von Interesse.
Neben den dynamikbedingten Genauigkeitsdifferenzen zeigen die Testmessungen weitere Abhängigkeiten. So bedarf die Bedingtheit der Messgenauigkeit des Magnetometers von dessen relativer Ausrichtung zum initialen Referenzmagnetfeldvektor einer Klärung. Diese wird Bestandteil weiterer, vom Rahmen dieser Arbeit unabhängiger Tests und Optimierungen sein.
In magnetisch gestörten Situationen ergeben sich in Abhängigkeit von Stärke und Nähe eines
Störfeldes vor allem in statischen Situationen für die Dauer der Exposition große Messungenauigkeiten. Im Zusammenhang mit eigenständig magnetisierten Objekten, wie dem im Test ver wendeten Permanentmagneten, kommt es ab einem bestimmten, von der Stärke des Magnetfeldes abhängigen Abstand zu einer Überlagerung des gemessenen Erdmagnetfeldes. Im Über gangsbereich der Annäherung, in dem keine Änderung der Vektorlänge des gemessenen Ma gnetfeldes detektiert werden kann, kommt es dabei zu starken Fehlern in der Bestimmung des
53
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
horizontalen Rotationswinkels. Bei weiterer Annäherung des magnetisierten Objektes und einer
entsprechenden Dämpfung des Magnetometers setzt sich der in der Annäherungsphase entstandene Offset für die Dauer der Exposition in der Winkelabschätzung fort. Bei nicht aus sich
selbst magnetisieren ferromagnetischen Materialien, wie den in der zweiten Messung verwendeten Stahlklingen einer Schere, manifestiert sich die Störung erst kurz vor Berührung bei einem
Abstand von wenigen Zentimetern. In beiden Fällen kann die korrekte Bestimmung des Rotationswinkels in der Horizontalen nicht gewährleistet werden.
54
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
9 Ausblick
Mit der im Rahmen dieser Arbeit durchgeführten Evaluierung wurden neben der in weiten Tei len korrekten Funktionsweise der Orientierungsbestimmung auch Stellen im Algorithmus aufgezeigt, an denen weiterer Optimierungsbedarf besteht. So sind in näherer Untersuchung der
Schwachstellen – d.h. der Messintervalle mit größerer Winkelabweichung vom Referenzwert –
die für die Verbindung der komplementären Sensordaten ausschlaggebenden Dämpfungsparameter zu optimieren. Darüber hinaus ist die Empfindlichkeit der Bestimmung des vertikalen
Drehwinkels gegenüber magnetischen Störfeldern weiter zu evaluieren. Von besonderem Interesse wäre dabei eine detaillierte Auswertung des Einflusses von Störfeldern in Abhängigkeit
von deren Stärke und Distanz – wie sie etwa in [Bac04] und [Bac07] anhand einer Reihe von
Beispielen dargestellt wird –, um genauere Aussagen über Grenzen und Anwendbarkeit des
Messsystems zu gewinnen.
Die Lieferung weiterer, zum Zeitpunkt des Abschlusses der Arbeit in Produktion befindlicher
Exemplare der Messeinheit wird weitere Möglichkeiten für Tests und Optimierungen eröffnen,
wie etwa die Verbindung mehrerer Sensormodule zu einem Körpermodell. In einem Körpermodell ist jede Messeinheit einer bestimmten Extremität zugeordnet. Auf diese Weise wird es
möglich, die Orientierungsabschätzung einer Messeinheit in Abhängigkeit von den anatomisch
bedingten Bewegungsmöglichkeiten des jeweiligen korrespondierenden Körperteils in Relation
zu seinen benachbarten Körperteilen zu betrachten. Da Störfelder nur in begrenztem Radius die
korrekte Messung des Erdmagnetfeldes beeinflussen, ist zudem meist nicht das ganze System,
sondern nur ein einzelner Sensor von dem Störfeld betroffen. Im Idealfall ergibt sich so die
Möglichkeit, durch unerkannte magnetische Verzerrung verursachte fehlerhafte Winkelabschätzungen einer Messeinheit zu erkennen und auszugleichen.
55
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
10 Zusammenfassung
Mit der Thesis wurde ein auf Inertialsensoren basierendes digitales Messsystem zur Bewegungsanalyse überarbeitet. Die aus Accelerometern und Gyroskopen bestehende Sensorik der
Messeinheit wurde dabei durch neuere Sensoren ersetzt und um ein Magnetometer zur besseren
Abschätzung der Orientierung in der horizontalen Ebene erweitert. Zur Erkennung und Kompensation bauteilinterner magnetischer Störfelder wurde ein geeignetes Kalibrierverfahren ermittelt und eine entsprechende Kalibriervorrichtung entworfen. Accelerometer und Magnetometer wurden nach einem bestehenden Verfahren kalibriert. Zur Verringerung des zeitlichen Aufwandes der geplanten serienmäßigen Kalibrierung wurden den Kalibrierverfahren korrespondierende MATLAB-Routinen implementiert, welche die Auswertung der Messdaten erleichtern.
Auf Basis der kalibrierten IMMU wurde der für die Inertialsensorik entwickelte quaternionenbasierte Algorithmus zur Orientierungsbestimmung überarbeitet und um einen Algorithmus zur
Integration der Magnetometer-Messdaten erweitert. Abschließend wurde der neue Algorithmus
mithilfe des optischen Bewegungserfassungssystems VICON in einer Reihe von Testmessungen
evaluiert. Für magnetisch störfreie Umgebungen ergab sich dabei auf allen Rotationsebenen ein
Root Mean Square-Error von unter 3,6°. Testmessungen in gestörter Umgebung zeigten, an welchen Stellen im Algorithmus Optimierungsbedarf besteht.
56
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Literaturverzeichnis
[Apa04]
Aparicio C: Implementation of a Quaternion-Based Kalman Filter for Human
Body Motion Tracking Using MARG Sensors, Masterarbeit an der Naval Postgraduate School (2004).
[Bac00]
Bachman ER: Inertial and Magnetic Tracking of Limb Segment Orientation for
Inserting Humans into Synthetic Environments, Dissertation an der Naval Postgraduate School (2000).
[Bac04]
Bachmann ER, Xiaoping Y, Peterson CW: An Investigation on the Effects of
Magnetic Variations on Inertial/Magnetic Orientation Sensors, in: Proceedings
of IEEE International Conference on Robotics and Automation (2004), S. 11151122.
[Bac07]
Bachmann ER, Yun X, Brumfield A: Limitations of Attitude Estimation Algorithms for Inertial/Magnetic Sensor Modules, in: IEEE Robotics & Automation Magazine (2007), S. 76-87.
[Bio.1]
Biosyn Systems Inc.: Biosyn FAB-System.
[Bio.2]
Biosyn Systems Inc.: Functional Assessment of Biomechanics System: Measurement Range, Accuracy and Data Rate Specifications.
[Chr02]
Christensen UR, Tilgner A: Der Geodynamo, in: Physik Journal 1, Nummer 10
(2002), S. 41-47.
[Die06]
Diebel J: Representing Attitude: Euler Angles, Unit Quaternions, and Rotation
Vectors, Stanford University (2006).
[Dam98]
Dam EB, Koch M, Lillholm M: Quaternions, interpolation and animation,
Technical Report, Department of Computer Science, Universität von Kopenhagen (1998).
[Ell06]
Ellegast R: Einsatz des Messsystems CUELA zur Erfassung und Bewertung physischer Arbeitsbelastungen, Information des Berufsgenossenschaftlichen Instituts
für Arbeitsschutz, Sankt Augustin (2006).
[Ell11]
Ellegast R: IFA-Report 06/2011. 4. Fachgespräch Ergonomie 2010, Deutsche
Gesetzliche Unfallversicherung e.V., Berlin (2011).
[Eur10.1]
European Agency: Annual Report 2010, European Agency for Safety and Health
at Work, Luxemburg (2010).
[Eur10.2]
European Agency: OSH in figures: Work-related muscosceletal disorders in the
EU – Facts and figures, European Agency for Safety and Health at Work, Luxemburg (2010).
57
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
[Geb04]
Gebre-Egziabher D, Hayward RC, Powell JD: Design of multi-sensor attitude
determination systems, in: IEEE Transaction on Aerospace Electronic Systems,
Volume 40 (2004), S. 627-649.
[Ghe04]
McGhee RB: The Factored Quaternion Algorithm for Orientation Estimation
from Measured Earth Gravity and Magnetic Field, Technical Memorandum,
MOVES Institute, Naval Postgraduate School, Monterey (2004).
[Gro05]
Gross R, Marx A: Der Anisotrope Magnetwiderstand, Vorlesungsskript Spinelektronik, Kapitel 3, Walther-Meißner-Institut, München (2005).
[Hig75]
Higgins WT: A Comparison of Complementary and Kalman Filtering, in: IEEE
Transactions on Aerospace and Electronic Systems, Volume 11 (1975), S. 321-325.
[Hon09]
Honeywell: 3-Axis Digital Compass IC HMC 5843 (2009).
[Kon08]
Konvalin Ch: Compensating for Tilt, Hard Iron and Soft Iron Effects, Technical
Document MTD0802, MEMSense (2008).
[Kra02]
Kraft E: Ein Sensorsystem zur Bestimmung räumlicher Orientierung in Echtzeit,
Diplomarbeit an der Rheinischen-Friedrich-Wilhelms-Universität, Bonn (2002).
[Kra03]
Kraft E: A Quaternion-Based Unscented Kalman Filter for Orientation Tracking, Proceedings of the Sixth International Conference of Information Fusion,
IEEE Press (2003).
[Kre08]
Kremer VE: Quaternions and SLERP, University of Saarbrücken, Department
for Computer Science, Vorlesungsskript Seminar Character Animation (2008).
[Kui99]
Kuipers JB: Quaternions and Rotation Sequences, Princeton University Press,
Princeton (1999).
[Lov98]
Lovren N, Pieper JK: Error Analysis of Direction Cosines and Quaternion Parameters Rechniques for Aircraft Attitude Determination, in: IEEE Transactions on
Aerospace and Electronic Systems, Volume 34 (1998), S. 983-989.
[Lem10]
LEMO SA: Einpolige & Mehrpolige Steckverbindungen, Katalog (2010).
[Lui05]
Luinge HJ, Veltink P: Measuring Oientation of Human Body Segments using
Miniature Gyroscopes and Accelerometers, in: Medical and Biological Engineering and Computation, Volume 43 (2005), S. 273-282.
[Mic07]
Microchip Technology Inc: PIC18F2455/2550/4455/4550 Data Sheet (2007).
[Mun11]
Munguia R, Grau A: Attitude and Heading System based on EKF Total State
Configuration, IEEE Interntational Symposium on Industrial Electronics (2011).
[Ozy11]
Ozyagcilar T: Implementieren eines eCompass mit Neigungsausgleich mithilfe
von Beschleunigungsmesser- und Magnetometersensoren, in: Technology First.
Journal XIV ( 2011), S. 17-20.
58
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
[Ozy12.1]
Ozyagcilar T: Calibrating an eCompass in the Presence of Hard and Soft-Iron
Interference, AN4246 Application Note, Freescale Semiconductor (2012).
[Ozy12.2]
Ozyagcilar T: Layout Recommendations for PCPs Using a Magnetometer
Sensor, AN4247 Application Note, Freescale Semiconductor (2012).
[Roe05]
Roetenberg D, Luinge HJ, Baten CTM, Veltink PH: Compensation of Magnetic
Disturbances improves Inertial and Magnetic Sensing of Human Body Segment
Orientation, in: IEEE Transactions on Neural Systems and Rehabilitation Engineering 12, Volume 13 (2005), S. 395-405.
[Sab11]
Sabatini AM: Estimating Three-Dimensional Orientation of Human Body Parts
by Inertial/Magnetic Sensing, in: Sensors, Volume 11 (2011), S. 1489-1525.
[Stm11.1]
STMicroelectronics: LSM303DLM. Sensor Module: 3-Axis Accelerometer and
3-Axis Magnetometer, STMicroelectronics (2011).
[Stm11.3]
STMicroelectronics: L3GD20. MEMS Motion Sensor: Ultra-Stable Three-Axis
Digital Output Gyroscope, STMicroelectronics (2011).
[Sch07]
Schiefer Ch: Development of a Person Centered Measuring System for Detecting Human Body Posture and Activity Monitoring, Forschungs- und Entwicklungsprojekt I am BGIA und an der Fachhochschule Bonn-Rhein-Sieg (2007).
[Sch08.1]
Schiefer Ch: Development of a Person Centered Measuring System for Detecting Human Occupational Workload – Implementation and Validation of Sensors
in the Network, Forschungs- und Entwicklungsprojekt I am BGIA und an der
Fachhochschule Bonn-Rhein-Sieg (2008).
[Sch08.2]
Schiefer Ch: Development of a Person Centered Measuring System for Detecting Torsion and Rotation of Human Trunk or Head, Masterarbeit an der Fachhochschule Bonn-Rhein-Sieg (2008).
[Vic]
Vicon: Vicon Motion Systems, www.vicon.com.
[Vri09]
de Vries WHK, Veeger HEJ, Baten CTM, van der Helm FCT: Magnetic Distortion in Motion Labs, Implications for Validating Inertial Magnetic Sensors, in:
Gait Posture 29 (2009), S. 535-541.
[Web11]
Weber B: Entwicklung und Evaluation eines Bewegungsmesssystems zur Analyse der physischen Aktivität, Dissertation an der Sporthochschule Köln (2011)
[Wel09]
Welch G: The Use of the Kalman Filter for Human Motion Tracking in Virtual
Reality, in: Presence. Teleoperators and Virtual Environments, Volume 18
(2009), S. 72-91.
[Xse]
Xsens Technologies BV: MTx. 3DOF Orientation Tracker.
[Xse09]
Xsens Technologies BV: MTi and MTx User Manual and Technical Documentation, MT0100P (2009).
59
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
[You08]
Young AD: Comparison of Orientation Filter Implementations, 7th Workshop in
Speckled Computing (2008).
[You10]
Young AD: Wireless Realtime Motion Tracking System using Localised Orientation Estimation, Dissertation am Institute of Computing Systems Architecture,
University of Edingburgh (2010).
[Yun05]
Yun X, Lizarraga M, Bachmann E, McGhee B: Implementation and
Experimental Results of a Quaternion-Based Kalman Filter for Human Body
Motion Tracking, in: Proceedings of the 2005 IEEE International Conference on
Robotics and Automation (2005), S. 317-322.
[Yun06]
Yun X, Bachmann ER: Design, Implenentation, and Experimental Results of a
Quaternion-Based Kalman Filter for Human Body Motion Tracking, in: IEEE
Transactions on Robotics, Volume 22 (2006), S. 1216-1227.
[Yun08]
Yun X, Bachmann ER, McGhee R: A Simplified Quaternion-Based Algorithm
for Orientation Estimation from Earth Gravity and Magnetic Field Measurements, in: IEEE Transactions on Instrumentation and Measurement, Volume 57
(2008), S. 638-650.
60
Orientierungsbestimmung mit Inertialsensoren und
Magnetometern auf Basis von Quaternionen
Eidesstattliche Erklärung
Ich erkläre hiermit, dass ich die vorliegende Arbeit selbständig und nur unter Benutzung der an gegebenen Literatur und Hilfsmittel angefertigt habe. Wörtlich übernommene Sätze oder Satzteile sind als Zitat belegt, andere Anlehnungen hinsichtlich Aussage und Umfang unter Quellenangabe kenntlich gemacht.
Die Arbeit hat in gleicher oder ähnlicher Form noch keiner Prüfungsbehörde vorgelegen und ist
nicht veröffentlicht.
Sankt Augustin, den 28. August 2012
Stefan Otto
61
Herunterladen