PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fragen zu Kalman-Filter



Flo89
04.10.2013, 00:29
Einen guten Tag!

Zuerst einmal hoffe ich, dass Fragen zu einem Filter hier ins Unterforum passen, aber Sensorfusionierung hat ja schonmal was mit Sensoren zu tun :)
Für die Lageerkennung eines Quadrokopter arbeite ich mich gerade in den Kalman-Filter ein um die Gyroskope mit den Beschleunigungssensoren zu fusionieren.
Es gibt zu dem Thema bekannt funktionierende Lösungen die einen normalen Kalman filter und keinen extended einsetzen.
Was mir aber Kopfzerbrechen bereitet:
In diesem PDF http://hexor2k.files.wordpress.com/2008/08/kalmanfilter_korrigiert_2.pdf
wird erwähnt, dass der Kalman die Schätzung in linearen dynamischen Systemen erlaubt.

Nun ist aber so ein aerodynamisches Flugsystem sicherlich in keiner weise irgendwie linear?
Weiter wird in diesem PDF http://www-home.fh-konstanz.de/~bittel/roboMSI/Vorlesung/05_KalmanLokalisierung.pdf erwähnt:
- Die Zustände sind normalverteilt

Ich verstehe nicht ganz wie ein Zustand normalverteilt sein kann bzw. was dieser Ausdruck bedeutet. In diesem Fall ist dies ja der aktuelle Winkel des Quadrokopters im Bezug auf eine bestimmte Achse. Wie kann dies normalverteilt sein. dies könnte ich mir nur mit Bezug auf die aktuell gewünschte Position vorstellen, aber hier geht es ja erstmal nur um Datengewinnung und keine Regelung.

Vielen Dank für eure Hilfe!
Florian

Besserwessi
04.10.2013, 09:09
Das "linear" beim dynamischen System heißt, das verschiedene Einflüsse unabhängig sind und linear in der Größe Skalieren. Ob das Fluggerät jetzt kein lineares System ist, ist nicht so offensichtlich. Zumindest sind die viele Systeme noch näherungsweise linear, zumindest bei kleinen Störungen. Lineare Systeme lassen sich einfach mathematisch viel einfacher fassen. Nichtlineare Systeme sind dagegen kaum lösbar (außer den Fällen wo eine einfache Transformation auf ein lineares System möglich ist) und schon gar nicht so universell. Mit der Näherung als lineares System muss man wohl leben.

Das Normalverteilt bezieht sich auf die Verteilung der Störungen. Auf hier ist der Fall mit der Normalverteilung relativ gut zu rechnen und oft eine gar nicht so schlechte Näherung. Eine Normalverteilung bekommt man z.B. Wenn es viele unabhängige Störquellen gibt und das System linear ist - zusammen ergibt das dann die Normalverteilung.

Soweit ich das kenne ist der Kalmanfilter für ein lineares System mit normalverteilten Störungen optimal (im Sinne der Statistik) - für ein nur näherungsweise lineares System und nicht ganz normalverteilten Störungen ist das dann immer noch ein gute Lösung, wenn auch vielleicht nicht mehr die bestmögliche (die man aber i.A. nicht kennt).

Sapd
04.10.2013, 13:49
Hi,

ich arbeite gerade auch an etwas ähnlichem. Leider kann ich dir nicht genau erklären wie dieser Filter physikalisch/mathematisch funktioniert, aber vielleicht hilft dir das trotzdem: Für meinen Gyro + Acc Sensor benutz ich den Code hier: https://github.com/TKJElectronics/Example-Sketch-for-IMU-including-Kalman-filter siehe vorallem die kalman.h in den Beispiel Ordnern, der Code ist so direkt verwendbar und funktioniert :)
Und da dieser Code funktioniert, sollte wohl der Kalman-Filter für einen Quadrocopter auf jeden Fall anwendbar sein :)
BTW ist dort auch gleich ein Beispiel mit einem Komplementärfilter angegeben. Dieser ist ziemlich einfach zu verstehen, aber dafür ein bisschen ungenauer.

Flo89
04.10.2013, 20:50
Ich will mich bei euch 2 für die Hilfe bedanken! Mal schauen wie das ganze so wird, nicht ganz trivial! :)