Beschleunigungssensor Drift schätzen

OP #4821441
Hallo Leute,

ich messe meine Beschleunigung und Winkel. Bei meinem 
Beschleunigungssensor habe ich immer einen Drift in 
X-Richtung(Fahrzeuglängsachse). Der Drift ist immer da aber immer 
unbekannt hoch und wenn ich mit dem Fahrzeug am Berg stehe und die 
Beschleunigung in X-Richtung 0 (z.B ich stehe) ist soll er mir auch in 
X-Richtung 0 ausgeben und nicht noch den Anteil von der 
Erdbeschleunigung.

Jetzt hab ich mich natürlich erkundigt und bin auf den Kalman Filter 
gestoßen. Das wäre auch schon meine erste Frage bin ich damit richtig? 
kann ich sowas überhaupt schätzen? Wenn ich am Berg stehe ist ja meine 
Winkelbeschleunigung 0, Geschwindigkeit 0 und meine Beschleunigung.

Danke schonmal :)

Grüße
Gast #4826121
Matthias H. schrieb:
> ich messe meine Beschleunigung und Winkel.

Winkel oder Winkelgeschwindigkeit?

Matthias H. schrieb:
> Wenn ich am Berg stehe ist ja meine
> Winkelbeschleunigung 0, Geschwindigkeit 0 und meine Beschleunigung.

Der Beschleunigungssensor misst im Stillstand die Erdbeschleunigung. Man 
kann somit die Lage berechnen, wenn man 2 Vektoren gegeben hat. In 
deinem Fall ist einer dieser Vektoren der g-Vektor. Ein Magnetometer 
könnte als zweiter Vektor dienen. Wenn du wirklich, wie von dir 
geschrieben, schon Winkel misst => umso besser : siehe nächster Punkt

Matthias H. schrieb:
> Der Drift ist immer da aber immer
> unbekannt hoch und wenn ich mit dem Fahrzeug am Berg stehe und die
> Beschleunigung in X-Richtung 0 (z.B ich stehe) ist soll er mir auch in
> X-Richtung 0 ausgeben und nicht noch den Anteil von der
> Erdbeschleunigung.

Im Grunde hast du 2 Koordinatensysteme: Fahrzeug und "Erde".
Mit der bekannten Lage könntest du deine in Fahrzeugkoordinaten 
gemessenen Werte ins Erdkoordinatensystem umrechnen. Beziehungsweise den 
g-Vektor herausrechnen...

Matthias H. schrieb:
> Jetzt hab ich mich natürlich erkundigt und bin auf den Kalman Filter
> gestoßen.

Ja, kann man damit machen. Aber nur der Kalman allein nützt auch nix. 
Die Umrechnung der Koordinatensystem ergibt außerdem Nichtlinearitäten 
=> also siehe EKF, UKF, Partikel Filter,...
Gast #4826140
Matthias H. schrieb:
> ich messe meine Beschleunigung und Winkel. Bei meinem
> Beschleunigungssensor habe ich immer einen Drift in
> X-Richtung(Fahrzeuglängsachse). Der Drift ist immer da aber immer
> unbekannt hoch und wenn ich mit dem Fahrzeug am Berg stehe und die
> Beschleunigung in X-Richtung 0 (z.B ich stehe) ist soll er mir auch in
> X-Richtung 0 ausgeben und nicht noch den Anteil von der
> Erdbeschleunigung.

Geht ganz einfach: Doppler-Radar am Fahrzeug schräg nach unten zur 
Messung der Fahrzeuggeschwindigkeit über dem Untergrund. Geschwindigkeit 
nach der Zeit ableiten und schon hat man die Beschleunigung.
Gast #4826143
Matthias H. schrieb:
> Der Drift ist immer da aber immer unbekannt hoch ...

Was meinst du mit "Der Drift ..:"?

> ... wenn ich mit dem Fahrzeug am Berg stehe und die Beschleunigung
> in X-Richtung 0 (z.B ich stehe) ist soll er mir auch in
> X-Richtung 0 ausgeben und nicht noch den Anteil von der
> Erdbeschleunigung.

Wie denn nun?
Wenn du am Berg stehst, ist die X-Achse (vermutlich) nicht horizontal 
ausgerichtet, sondern bergab bzw. bergauf. Der Beschleunigungssensor 
kann nicht zwischen dynamischer Beschleunigung und Schwerebeschleunigung 
unterscheiden. Natürlich taucht dann die Erdbeschleunigung mit dem Sinus 
der Neigung als X-Wert auf.

Bei Verwendung des Erdmagnetfeldes als Bezugssystem, musst du erstmal 
die örtliche Inklination berücksichtigen. Es gibt als Modell fürs 
Erdmagnetfeld z.B. das WMM, das aber nichts von lokalen Effekten weiss.
OP #4826669
Okay,

Also was ich möchte ist, dass sobald ich stehe egal ob am Berg oder 
nicht, die Beschleunigung in X-Richtung 0 ist. Damit, wenn ich die 
Beschleunigung integriere, auch meine echte Geschwindigkeit bekomme und 
meine "echte" Beschleunigung in X-Richtung(Längsrichtung) regeln kann.

Ich hab die Rotationsmatritzen aber damit funktioniert es nicht ganz und 
deswegen dachte ich, ich könnte mit dem Kalman Filter schätzen wann 
meine Beschleunigung in X-Richtung 0 sein muss.


Ich hab meinen "Drift" mal angehängt. Die Zeit ist in Sekunden. Also 
eigentlich nicht so arg groß.
Angehängte Dateien:
Gast #4826692
Matthias H. schrieb:
> Also was ich möchte ist, dass sobald ich stehe egal ob am Berg oder
> nicht, die Beschleunigung in X-Richtung 0 ist.

Du kannst soviel mögen wie du willst, die Beschleunigung wird sich nicht 
darum scheren. Stehst du am Berg, ist die Beschleunigung in Richtung der 
Fahrzeuglängsachse nicht 0, ob du willst oder nicht. Daher rollt dein 
Fahrzeuge ja auch weg, wenn es nicht gebremst wird.

MfG Klaus
OP #4827210
Ok, ok :D.

Wenn ich hier grad schon ein Fachpublikum habe, kann ich euch fragen wie 
ihr die Fahrzeugmasse schätzen würdet? ich hab da mal wieder an den 
Kalman Filter gedacht.

Ich brauche für den Kalman Filter zwei Eingänge u und y, was sind das 
für Eingänge??... Ich messe meine Beschleunigung und kann meine Kräfte 
ungefähr bestimmen. Kann ich damit dann schon meine Masse schätzen?






in Simulink hab ich den Block wie im Anhang.

Danke ;):-*
Angehängte Dateien:
#4876585
Der Drift entsteht eigentlich meist durch numerische Integration, da die 
Daten des Accelerometers stark verrauscht sind.

Kalman Filter wird für Datenfusionierung von Gyroscope und Accelerometer 
eingesetzt um den Drift von Gyroscope und das Rauschen vom Accelerometer 
zu schätzen.
Gast #4876598
Matse H. schrieb:
> Also was ich möchte ist, dass sobald ich stehe egal ob am Berg oder
> nicht, die Beschleunigung in X-Richtung 0 ist.

Nunja, so einfach geht das auch wieder nicht. Wenn du eine konstante 
Geschwindigkeit (z.B. 50km/h) fährst, ist die Beschleunigung in 
Fahrzeugrichtung auch gleich 0.

Ich vermute, dass Du den Stillstand rel. zum Boden nicht so einfach ohne 
Messwerte von sich bewegenden Teilen, (Reifen....) messen kannst. Vll. 
ein Drucksensor nach vorne, der die relative Änderung misst. Solange in 
Bewegung übt der Fahrtwind Druck aus.
#4876627
Schreibe mal, was für ein Projekt du betreibst.

Ich habe ein Segway Clone gebaut und bin auch auf das Problem gestoßen.
Kalman erfordert statistische Parameter über die Daten, die vom Gyro- 
und Acc-Sensor kommen. Diese haben mit gefehlt.

Sehr gut funktioniert auch ein Komplementär-Filter, in welchem neben 
einer Reduzierung des Rauschens (Tiefpass) auch das die Drift des Gyro 
(Hochpass) unterdrückt wird.

Ich war mit dem Ergebnis zufrieden.

W.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.