Forum: Digitale Signalverarbeitung / DSP / Machine Learning Beschleunigungssensor Drift schätzen


von Matse H. (tttrrrzzz)


Lesenswert?

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

von Matthias M... (Gast)


Lesenswert?

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,...

von Schreiber (Gast)


Lesenswert?

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.

von Wolfgang (Gast)


Lesenswert?

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.

von Matse H. (tttrrrzzz)


Angehängte Dateien:

Lesenswert?

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ß.

von Klaus (Gast)


Lesenswert?

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

von Matse H. (tttrrrzzz)


Angehängte Dateien:

Lesenswert?

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 ;):-*

von Stm M. (stmfresser)


Lesenswert?

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.

von Alexander J. (Gast)


Lesenswert?

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.

von Wolfgang S. (wsm)


Lesenswert?

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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.