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) 22 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