Einführung |
Die Aufgabe der Sensorauswertung ist die Interpretation der Sensordaten, um auf den Zustand des Hubschraubers zu schließen. Allgemein betrachtet soll der Zustand eines möglicherweise gesteuerten/geregelten Systems beobachtet werden. Üblicherweise gibt es aber bei der Messung des unbekannten Systemzustandes immer Störungen. Die Aufgabe, die Sensordaten aufzubereiten und ggf. zu fusionieren, um den wahren unbekannten Systemzustand möglichst genau zu schätzen, übernehmen spezielle Filteralgorithmen. ![]() Ein weit verbreiteter Filteransatz sind Kalman-Filter, die es inzwischen in vielen verschiedenen Ausprägungen gibt. Im Internet gibt es viele Einführungsseiten zu dem Thema, wie z.B. die Seite von Greg Welch. Ein Kalman-Filter besteht aus 2 Teilen:
Die Gundform des Kalman-Filters stellt die mathematisch beste Schätzung (minimierung der Unsicherheit des geschätzten Systemzustandes) für ein lineares System und ausschließlich Gaußschem Rauschen dar. Für nichtlineare System wie einen Hubschrauber muß der Algorithmus geeignet angepaßt werden. Das Erweiterte Kalman-Filter (engl. Extended Kalman Filter: EKF) linearisiert das Systemmodell im Punkt, der durch die gegenwärtige Schätzung bestimmt wird. |
. |
Kalman-Filter für MARVIN |
Zustandsvektor Für MARVIN wurde ein EKF entwickelt, das 15 Zustände (5 Vektorgrößen) schätzt:
Die Translationsbeschleunigung wurde als Zustand aufgenommen, weil es dem Hubschrauber nicht möglich ist, die beschleunigenden Kräfte
instantan zu ändern. Die Servos benötigen etwas Zeit, um neue Stellungen zu erreichen, so daß sich auch die Beschleunigung des
Hubschraubers stetig ändert.
Meßgrößenvektor
Das Modell |
. |
Ergebnisse |
Das umfangreiche EKF wurde in der Simulation mit dem aktuell eingesetzten Filteralgorithmus MARVINs verglichen. Echte Flugtests wurden bisher nicht durchgeführt. Dies hat im wesentlichen zwei Gründe: Der verwendete Mikrocontroller besitzt keine FPU und die Rechenleistung reicht bei weitem nicht aus, um den EKF in Echtzeit im Flug zu berechnen. Außerdem kann die Abweichung zum exakten richtigen Zustand nur in der Simulation bestimmt werden, da in der Realität immer nur die fehlerbehafteten Sensorsignale vorliegen. Für eine Untersuchung der Ergebnisqualität bietet sich die Simulation also an. |
Das implementierte EKF benötigt trotz einiger Laufzeitoptimierungen auf einem Pentium 5 mit 2,8 GHz 890 μs gegenüber nur
4,5 μs des Algorithmus' von MARVIN, also etwa 200 mal länger. Auf dem Mikrocontroller wäre das Verhältnis wegen der fehlenden FPU
um einiges größer. Die absolute Genauigkeit der Ergebnisse für Position und Winkel ist kaum besser. Beschleunigung und Winkelgeschwindigkeiten
werden mit etwa der halben absoluten Abweichung geschätzt. Anzumerken ist außerdem, daß in diesen Simulationen das Sensorrauschen exakt
dem durch das EKF erwarteten entspricht, was in der Realität sicher nicht der Fall wäre. | ![]() |
. |
MARVINs Lagesensorik |
Da das Kalman-Filter mit MARVINs gegenwärtiger Lagesensorik verglichen wurde, soll letztere hier kurz beschrieben werden.
Translatorischer Zustand
Orientierung Die Orientierung wird intern durch einen Vektor nach Norden und einen nach unten repräsentiert. Norden kann dabei aus dem Kompaß bestimmt werden. Der Gravitationsvektor ist etwas aufwendiger. Da Bewegungsbeschleunigung prinzipbedingt nicht von Gravitationsbeschleunigung unterscheidbar ist (Äquivalenzprinzip), müssen die Werte der Beschleunigungssensoren, die die Summe beider Beschleunigungen messen, korrigiert werden. Die Bewegung kann aus den GPS-Informationen bestimmt werden, so daß diese Bewegungsbeschleunigung von der gemessenen Summe subtrahiert werden kann. Zu beachten ist dabei zusätzlich, daß die Bewegungsbeschleunigung aus den GPS-Daten signifikant älter sind als die der Beschleunigungssensoren. |
Zu meiner Dissertation
Zu meiner MARVIN-Seite
Zu meiner Hauptseite
Letzte Aktualisierung: 09.08.2006
© Carsten Deeg