Kalman Filter zur Sensorfusion mit Simulink

OP #2072898
Lesenswert?

Servus

Ich frage mich zur Zeit wie das Kalman Filter Design mit Simulink läuft. 
Ich habe 6 Sensorwerte (Beschleunigung, (Rotations)Geschwindigkeit und 
(Erd)Magnetfeld) und möchte damit ein INS bauen. Kalman Filter, ist 
klar. Aber ich bin mir im Moment nicht so 100% sicher wo ich welche 
Werte eintrgen muss. Deshalb mag ich ganze gerne Simulink designen und 
mir den C Code ausgeben lassen.

Ferner bin ich mir auch noch nicht ganz über die Gleichungen sicher die 
mir die pos. angeben.

Vielleicht kann jemand weiterhelfen

Grüße
Gast #2074679
Lesenswert?

Ein Kalmanfilter ist nicht so einfach.

Für dein INS brauchst du i.d.R. sogar einen nichtlinearen Filter, wie 
z.B. Extended oder Unscented Filter - die Rotation ist nichtlinear. 
(Wenn man sich einmal im Kreis dreht, kommt man am Anfang wieder raus)
Auch must du dich für eine Parametrisierung der Drehung (Drehkinematik) 
entscheiden, insbesonder falls du 3 Drehachsen hast z.B. Eulerwinkel, 
Kardanwinkel, Quaternionen,....
OP #2074684
Lesenswert?

Jup das is klar. So weit mich meine Recherchen gebracht hatten (länger 
her) sind Quaternionen in dem Zusammenhang zu empfehlen. Ansonsten stimm 
ich dir uneingeschränkt recht.

However, irgendwie muss es möglich sein einen Kalmanfilter zu designen, 
eben für diesen Zweck. Ich weiß nur nicht wie :) Ich hab versucht das 
Teil zu verstehen bin aber kurz nach dem Zustandsmodell hängen geblieben 
...
OP #2077355
Lesenswert?

Es gibt ja einige leute die 6DOF mit Kalman machen. ALso Gyro, ACC und 
Magnetsensor. Weiß jemand ob jemand irgendwo mal die passenden Matrizen 
für den Filter niedergeschrieben hat? Das wäre ja eine Basis um eine 
erst implementierung zu machen und darauf die Werte adaptieren. Das ist 
auch quasi das was ich suche, das Rad neu erfinden - gerade bei einem so 
komplexen Rad - macht nicht unbedingt den großen Sinn.

Grüße
#2079788
Lesenswert?

hallo,
wenn du dich wirklich interessierst würde ich dir etwas helfen einen 
kalmanfilter, extendet oder unscented in simulink hin zu bekommen.
Würde raten mit einem linearen kalmanfilter zu beginnen.
1. Schritt: Bau dir mit stift und zettel ein Systemmodell 
(Differentialgleichungen) und forme es in ein Zustandsraummodell um.
Die Werte trägst du in den Simulink-Block: Statespace-model ein.
Jetzt ein eingangssignal in den Block geben und schauen, ob das Modell 
sich so verhält, wie du es dir vorstellst.
Wenn du das hast, bist du praktisch schon fertig!
sag dann einfach bescheid, und in 5 weiteren minuten ist dein 
kalmanfilter fertig.

wie es weiter geht:
http://en.wikipedia.org/wiki/Kalman-Bucy_filter#Kalman.E2.80.93Bucy_filter
aufbauen und werte aus dem ersten Schritt einestzen.
Wie man geeignete Kovarianzmatrizen festlegt klären wir wenn du soweit 
bist.
OP #2079793
Lesenswert?

Jo mit nem Linearen wär ich schon zufrieden. Tus mir aber ein bisschen 
schwer mit der Vorstellung wie ich das ganze dann zusammen Knüpf 
(Sensorwerte von Gyro, ADC und Magnetfeld) und wie zum Teufel ich die 
Gleichungen aufstell, bzw wie die Gleichungen aussehen. Ich weiß zwar 
das ich mit allen Gleichungen Winkel rel. zur Erde bestimme aber so 
richtig auf was brauchbares komm ich nicht. Das ist mein Hauptproblem...
OP #2079916
Lesenswert?

Einen Teil von den Links kenn ich bereits. Aber da ist viel mehr 
Sourcecode drin als bei den anderen. Source is nich soooo gut, bisschen 
schwer da alles rauszufiltern was man fürn Kalman braucht.
http://code.google.com/p/sf9domahrs/source/browse/trunk/SF9DOF_AHRS.pde

Gäbs auch noch un das ist quasi genau das was ich mach. Im letzten Link 
sind aber die drei Matrizen, ich schau ma ob ich die in Matlab seh. Dann 
brauch ich mir nur überlegen wie ich die 3 Sensoren und 9 Werte in den 
Kalman krieg :)
OP #2080669
Lesenswert?

Soweit verstanden hab ichs. Nur ist es doch in meinem Fall bisschen 
anders oder?

Winkelgeschwindigkeit integriert ergibt Winkel --> DCM Matrix
Beschleunigungen ergeben Winkel
Magnetfeld Sensor ergibt "Blickrichtung" um die Erde/den Norden als 
Bezug zu nehmen

Oder? Wie verwurste ich dann die Integrale bzw die DCM Matrix

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