Kalman Filter Klasse

OP #3757989
Lesenswert?

Hallo,

ich arbeite momentan an einen FlightController für einen Quadrocopter, 
um dessen Neigung zu berechnen, verwende ich ein Gyroscope und einen 
Beschleunigungssensor. Um die Daten beider Sensoren zu einen Winkel zu 
vereinen möchte ich einen Kalman Filter verwenden, da ich schon alle 
andere Methoden probiert habe. (Komplementärfilter, Hoch - und Tiefpass)
Bei diesen Methoden war das Problem, dass durch die Vibration der 
Motoren der Winkel verfälscht wurde. Darum möchte nun eben den Kalman 
Filter verwenden, da er unter anderem solche Änderungen rausfiltert.

Ich progamiere in AVR Studio (also in c) auf einen ATmega64.
Hat jemand eine fertige Klasse, welcher ich nur die Werte beider 
Sensoren übergeben muss, um einen Winkel zu erhalten?

Danke im Voraus für eure Hilfe
Moderator #3760013
Lesenswert?

Um die Parameter richtig einzustellen, ist es von Vorteil, die Funktion
de Kalman-Filters wenigstens im Ansatz verstanden zu haben. Dann ist man
aber auch in der Lage, die paar Zeilen Code für den Algorithmus selber
zu schreiben.

Aber auch mit schlecht eingestellten Parametern sollte das Filter,
gutmütig wie es ist, halbwegs vernünftige Ergebnisse liefern. Ist die
Parameterwahl nicht völlig unsinnig (bspw. ein negative Werte, wo der
Theorie nach positive stehen sollten), leidet darunter lediglich die
Dynamik, d.h. das Filter reagiert u.U. deutlich langsamer auf Änderungen
der Messgröße.

Peter Kremsner schrieb:
> Marcel D. V. schrieb:
>> Ich habe es mal ausprobiert und funktioniert nicht so wie es sollte...
>
> was genau macht er anders als ers sollte?

Genau das ist jetzt die Frage.
Gast #3760227
Lesenswert?

Marcel D. V. schrieb:
> Ja das wäre logisch.
> Abr komisch ist, dass dort ja der Beschleunigunssensor schon
> einberechnet worden ist.

Warum?
Eine Beschleunigung ist auch keine Geschwindigkeit, ein Gyroskop gibt 
dir eine Drehrate aus und der Beschleunigungssensor eine beschleunigung

Aus der Fusion von Drehrate und Beschleunigung kann ich jetzt eine 
gefilterte Drehrate und Beschleunigung berechnen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren