mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Kalman Filter Q R Dimensionierung


Autor: Stm Mc (stmfresser)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich versuche grad einen Kalman Filter für einen Gleichstrom Getriebe 
Motor von meinem Roboter zu entwerfen. Encoderauflösung (112 pro 
Umdrehung)

Es ist mir sehr wichtig, dass der Kalman Filter den Winkel und 
Winkelgeschwindigkeit bei niedriger Geschwindigkeit gut schätzt.

In der Simulation wird ein Sinus = 1 Hz & Amplitude = 0.13 rad sowie 
Abtastzeit = 0.01 sek als wahrer Winkel verwendet. Die wird mit einer 
Stufe 2pi/112 diskretisiert und als Messwinkel zu dem Kalman Filter 
gegeben.

Nun die Frage:

Wie sollen Q und R dimensoniert werden.
R habe ich als (2pi/112)**2/12 gesetzt. (Varianz vom 
Diskretiserungsrauschen)

Bei Q wusste ich nicht, nach welchen Kriterien dimensioniert werden 
soll.
Jedenfalls wird Q durch ausprobieren auf
Qsigma = 50
Qa = np.matrix([0.5*dt**2, dt]).T
Q = Qa*Qa.T *Qsigma 
Q = matrix([[  1.25000000e-07,   2.50000000e-05],
            [  2.50000000e-05,   5.00000000e-03]])
gesetzt.

Mich beunruhigt ein bisschen das Diskretiserungsrauschen da das nicht 
nach Weissesrauschen schaut. Ich dachte dass der Kalman Filter für 
Systeme mit Weissenrauschen gedacht ist oder doch NICHT?


Ich würde mich freuen auf die Vorschläge und Antworten.

ps: ich bin kein Deutsch-Muttersprachler, bitte entschuldigt mich für 
die Grammatikfehler

Autor: Klaus L. (klausi5000)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bist Du sicher dass der Kalman für Deine Anwendung das Richtige ist?

Autor: Stm Mc (stmfresser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klaus L. schrieb:
> Bist Du sicher dass der Kalman für Deine Anwendung das Richtige ist?

jedenfalls bin ich mir sicher dass ich für die 
Winkelgeschwindigkeitsschätzung einen Beobachter brauche, ob Kalman 
Filter die bessere Wahl ist als die anderen Beobachter wie Luneberger 
oder High Gain weiss ich nicht. Aus dem Grund, dass das einfache 
Differenzieren den Fehler zu stark verstärkt (s[i] - s[i-1])/dt.

Derzeit wird die Geschwindigkeit mit seitlicher Differentation gebildet 
wie
(s[i+1] - s[i-1])/2dt 
Nachteil ist dass ich immer einen Schritt hinterher bin.

Autor: chris_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Mich beunruhigt ein bisschen das Diskretiserungsrauschen da das nicht
>nach Weissesrauschen schaut.
Es ist kein weises Rauschen. In Deiner Simulation sieht die Amplitude 
ziemlich groß aus. Ich denke, das liegt in der niedrigen Abtastrate. 
Wenn die erhöht wird, wird die Rauschamplitude kleiner.

Autor: aSma>> (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus,
deine Auflösung mit 112 ppr ist etwas wenig. Ich würde mal auf 1000 ppr 
gehen. Außer natürlich du hast ein Getriebe davor hängen. Auch wenn 
diese ein Spiel von ca. 1° hat...

Mit den Kalman kann ich dir nicht helfen aber mit den Luenberger.

Ich habe ein inverses Pendel schon mal gebaut. Den Regler mit Luenberger 
habe ich in zwei Tagen erstellt.

Hier ist ein altes Video von mir:
Youtube-Video "Crane Pendulum, PI-Controller, Inverted Pendulum, stm32f4discovery part 2"

Dort kann man sich das Motorsignal mit und ohne Luenberger anschauen. 
Wobei es zwei verschiedene Strecken sind.

Ich meine einen Tiefpass, bei den differenzierbaren Größen mit 1/50s 
zusätlich, brachte eine Verbesserung dar. Abtastzeit ist 1ms. Mit 10ms 
müsste das auch klappen.

mfg

Autor: Stm Mc (stmfresser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
aSma>> schrieb:
> Servus,

> Hier ist ein altes Video von mir:
> Youtube-Video "Crane Pendulum, PI-Controller, Inverted Pendulum, stm32f4discovery part 2"
>

Du hast exakt den selben Motor ^^ den ich derzeit auf meinem Roboter 
habe

: Bearbeitet durch User
Autor: Hermann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du verwendest sicher ein EKF? Der Kalmanfilter ist nur optimal für 
weißes Rauschen. Evtl. wäre auch ein Partikelfilter gut, damit könntest 
du das Diskretisierungsrauschen besser simulieren.

Autor: aSma>> (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Du hast exakt den selben Motor ^^ den ich derzeit auf meinem Roboter
> habe

Ich habe bei ebay mal zugeschlagen. Habe davon drei stk hier rum liegen. 
Wenn man überlegt, dass so ein Motor 300 Tacken kostet. Bei diesen Motor 
brauchst du aufjeden Fall eine Stromregelung, da der Blockierstrom 30A 
beträgt.

Ich habe neulich bei Kleinanzeige bei einen Dachbodenfund 9 nagelneue 
Maxon Motoren mit Getriebe fürn 20er ergattert :).

Autor: Stm Mc (stmfresser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hermann schrieb:
> Du verwendest sicher ein EKF? Der Kalmanfilter ist nur optimal für
> weißes Rauschen. Evtl. wäre auch ein Partikelfilter gut, damit könntest
> du das Diskretisierungsrauschen besser simulieren.

Die Systemgleichungen sind sowieso linear, so dass ein einfacher Kalman 
Filter

Autor: Stm Mc (stmfresser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
aSma>> schrieb:
>> Du hast exakt den selben Motor ^^ den ich derzeit auf meinem Roboter
>> habe
>
> Ich habe bei ebay mal zugeschlagen. Habe davon drei stk hier rum liegen.
> Wenn man überlegt, dass so ein Motor 300 Tacken kostet. Bei diesen Motor
> brauchst du aufjeden Fall eine Stromregelung, da der Blockierstrom 30A
> beträgt.
>
> Ich habe neulich bei Kleinanzeige bei einen Dachbodenfund 9 nagelneue
> Maxon Motoren mit Getriebe fürn 20er ergattert :).

nice! Da muss ich dich um deine Motoren beneiden ^^

Autor: Hartmut (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
stm Mc (es wäre schöner, wenn Du einen richtigen Namen hättest),

vielleicht hilft Dir diese Arbeit weiter:

www.floba.info%2FFiles%2FKalman-Filter%2FLuenberger-Beobachter_und_Exten 
ded_Kalman-Filter_Ein_Vergleich.pdf

Offenbar ist in manchen Fällen der Luenberger-Beobachter stabiler als 
ein Kalman-Filter.

Ciao,
Hartmut

Autor: Stm Mc (stmfresser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hartmut schrieb:
> stm Mc (es wäre schöner, wenn Du einen richtigen Namen hättest),

Den will ich leider nicht preisgeben, Er könnte etwas exotisch klingen.

> vielleicht hilft Dir diese Arbeit weiter:
>
> www.floba.info%2FFiles%2FKalman-Filter%2FLuenberger-Beobachter_und_Exten 
ded_Kalman-Filter_Ein_Vergleich.pdf

Danke es ist echt gut.

> Offenbar ist in manchen Fällen der Luenberger-Beobachter stabiler als
> ein Kalman-Filter.

Luenberger probiere ich mal dann aus..

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.