Warum driftet ein Beschleunigungssensor mit der Zeit weg?

Gast #6172912
Lesenswert?

Das Rauschen des Sensors wird doppelt integriert: a -> v -> x
Zur Veranschaulichung würde ein konstanter additiver Fehler in der 
gemessenen Beschleunigung a einen Fehler im Ort x hervorrufen, der mit 
t^2 wächst.
Gast #6172937
Lesenswert?

Nachtrag:

Das Rauschen der Beschleunigungsmesswerte an sich ist "nicht so 
schlimm", auch z.B. wenn die Beschleunigung direkt als Messsignal 
verwendet würde.

Das größere Problem ist neben dem doppelten Integral des Rauschens eher 
die doppelte Integration eines Nullpunktfehlers des 
Beschleunigungsmessers. Dieser ist dann nämlich im Vergleich mit dem 
Rauschen eher zeitlich langsam veränderlich, mittelt sich nicht weg und 
führt dann zum beschriebenen Fehler bzw. Drift im Ort der mit t^2 sehr 
schnell wächst.
Fehler durch ungenaue Achsenausrichtung des Sensors und damit falscher 
Kompensation der Gravitation ließen sich durch eine bekannte Messung 
entfernen, aber da kommt dann die Drift des Nullpunkts des 
Beschleunigungsmessers ins Spiel. Sensoren sind nun mal temperatur- und 
ggf. auch druck-, ... abhängig, zumal es sich um ein mikromechanisches 
System handelt.
Moderator #6172993
Lesenswert?

Da der TE nach nach der Drift der Sensoren fragt, und nicht nach der
Drift eines Systems bestehend aus Sensor und integrierender Auswertung,
meint er vermutlich die Alterungsdrift der Sensoren.

Die Alterungsdrift betrifft vor allem MEMS-Sensoren, wobei sich dort die
folgenden physikalischen Größen mit der Zeit ändern:

1. die Federkonstante der schwingenden Teile durch Materialermüdung

2. die Kapazität, über die die Auslenkung der schwingenden Teile
   gemessen wird, durch Oxidation des Siliziums

Im Gegensatz dazu driftet ein Servobeschleunigungssensor prinzipbedingt
praktisch überhaupt nicht.
#6173033
Lesenswert?

Hans schrieb:
> Wenn es richtiges Rauschen ist, sollte der Mittelwert doch null
> sein.

Ja, hilft dir aber nicht. Es driftet trotzdem, und zwar mit der Wurzel.

Siehe Anhang, Summe über richtiges Rauschen mit Mittelwert 0; bei einer 
Million Werten bist du ungefähr bis 1000 weggedriftet. Kann auch zu 
-1000 driften oder sonstwohin, aber es driftet. Und es driftet immer 
weiter, wenn du mehr Werte nimmst.

plt.plot(np.cumsum(np.random.normal(0, 1, 1000000))); plt.show()
Angehängte Dateien:
Gast #6173137
Lesenswert?

Sven B. schrieb:

> Das Rauschen mittelt sich auch nicht weg,

Doch.

> das ist eine verbreitete Fehlannahme.

Eigentlich nicht.

Wenn Du beim Berechnen des Mittelwertes korrekt durch
die Gesamtzahl der summierten Werte dividierst -- so,
wie man das bei jedem arithmetischen Mittelwert macht --,
mittelt sich das Rauschen heraus.

Genau DESHALB kann man Messwerte, denen ein zufälliger
Fehler überlagert ist, durch vielfache Wiederholung und
Mittelwertbildung verbessern.


ABER:

> Von einer Rauschamplitude X mittelt sich ein sqrt(X)
> weg, und ein sqrt(X) bleibt als Drift übrig. Siehe
> Random Walk.

Das passiert bei einfacher Akkumulation (=Integration)
der Messwerte -- und genau das ist ja die Operation,
die von der Beschleunigung zur Geschwindigkeit führt.

Der Einwand, Rauschen mittele sich heraus, führt sehr
elegant auf den Holzweg, weil gar keine Mittelung,
sondern eine Integration vorliegt :)
OP #6173374
Lesenswert?

A. S. schrieb:
> Zyrano D. schrieb:
>> Beispielsweise ein Piezo s
>
> Ein piezo ist eine besondere Form von Beschleunigungssensor: wahnsinnig
> schnell und hohe Werte.
>
> Die driften, weil sie Ladungen produzieren und keine statischen Werte.
>
> Normale Beschleunigungssensoren driften nicht annähernd so.

Aber die Ladung eines Piezos ist doch konstant, sobald man sie in Ruhe 
lässt? Wieso driftet denn dann der Weg und die Geschwindigkeit weg?
Gast #6173740
Lesenswert?

Zyrano D. schrieb:
> Weg und die Geschwindigkeit

jetzt bist Du auch bei Weg und Geschwindigkeit (erstes und zweites 
Integral).

Kannst Du Deine Frage vielleicht ein wenig beschreiben?

Um welchen Sensor geht es Dir? Um welche "Verarbeitung" geht es Dir. Bei 
einem Integral ist z.b. immer auch ein "+C" dabei, dass Dir gehörig in 
die Suppe spuckt.
Gast #6174075
Lesenswert?

Zyrano D. schrieb:

> A. S. schrieb:
>> Zyrano D. schrieb:
>>> Beispielsweise ein Piezo s
>>
>> Ein piezo ist eine besondere Form von Beschleunigungssensor:
>> wahnsinnig schnell und hohe Werte.
>>
>> Die driften, weil sie Ladungen produzieren und keine
>> statischen Werte.
>>
>> Normale Beschleunigungssensoren driften nicht annähernd
>> so.
>
> Aber die Ladung eines Piezos ist doch konstant, sobald man
> sie in Ruhe lässt?

Nur theoretisch.
Piezos sind i.d.R. kreuzempfindlich auf die Temperatur
(Pyroelektrizität). Ungleichmäßige Erwärmung gibt recht
heftige elektrische Spannung.


> Wieso driftet denn dann der Weg und die Geschwindigkeit
> weg?

Weil
1. die Geschwindigkeit das INTEGRAL über die Beschleunigung
   ist,
2. aufintegriertes Rauschen NICHT auf Dauer um Null herum
   pendelt, sondern (aus rein mathematischen Gründen) die
   Tendenz hat, nach der einen oder anderen Seite wegzu-
   driften,
3. ein auch noch so kleiner Offset in der Geschwindigkeit
   IMMER zu einer merklichen Drift in der Position führt.

Ein zweifach integrierendes System KANN in der realen
Welt nicht auf Dauer stabil sein. Nicht ohne zusätzliche
Maßnahmen.
Gast #6174547
Lesenswert?

>> Zyrano D. schrieb:

> Aber die Ladung eines Piezos ist doch konstant, sobald man sie in Ruhe
> lässt? Wieso driftet denn dann der Weg und die Geschwindigkeit weg?

Die Ladung bleibt auch nur dann konstant, wenn sie nicht weg kann. Da 
dort aber irgendwo ein Verstärker ist, wird dort auch ein deutlich von 
unendlich verschiedener Widerstand sein, durch denen Ladungen 
verschwinden.
Gast #6174564
Lesenswert?

Sensoren können auch driften ohne dass die Werte integriert werden... 
Temperatur, Federkonstanten, Kapazitätsänderungen über Laufzeit, 
Feuchtigkeit, alles fiese Gründe. Auch die Asics können fehlerhaft 
designt sein.
#6181900
Lesenswert?

Sven B. schrieb:
> Das Rauschen mittelt sich auch nicht weg, das ist eine verbreitete
> Fehlannahme. Von einer Rauschamplitude X mittelt sich ein sqrt(X) weg,
> und ein sqrt(X) bleibt als Drift übrig. Siehe Random Walk.

plot(cumsum(randn(1,1e7)))

Tatsächlich, erstaunlich. Für mich völlig kontraintuitiv, ne Falle, 
hätte gewettet, dass es nicht driftet.

Hast Du nen link, wo das mal durch die Mathematikmühle gedreht wird?

Cheers
Detlef
#6181906
Lesenswert?

Detlef _. schrieb:
> Sven B. schrieb:
>> Das Rauschen mittelt sich auch nicht weg, das ist eine verbreitete
>> Fehlannahme. Von einer Rauschamplitude X mittelt sich ein sqrt(X) weg,
>> und ein sqrt(X) bleibt als Drift übrig. Siehe Random Walk.
>
> plot(cumsum(randn(1,1e7)))
>
> Tatsächlich, erstaunlich. Für mich völlig kontraintuitiv, ne Falle,
> hätte gewettet, dass es nicht driftet.
>
> Hast Du nen link, wo das mal durch die Mathematikmühle gedreht wird?
>
> Cheers
> Detlef

Ich finde die Erklärung vom MIT ganz gut:
https://www.mit.edu/~kardar/teaching/projects/chemotaxis(AndreaSchmidt)/random.htm
Gast #6182586
Lesenswert?

Das z.B. ist das Problem bei Gyroskopen, durch die Integration von 
einfachem, weißen Rauschen mit Erwartungswert 0 entsteht über längere 
Zeiträume ein Random Walk, bei dem der absolute Fehler unbeschränkt 
wächst. Selbst wenn also der Offset der Rate == 0 ist!

Auch der Erwartungswert des Integrals einer Zufallsvariable mit EW = 0 
und Varianz = const ist 0, da Integral und Erwartungswert Operatoren 
linear sind.

Vielerorts steht dann (z.B. 
https://de.wikipedia.org/wiki/Random_Walk#Eindimensionaler_Fall, zwar 
für diskrete Binomialverteilungen, aber mMn kann man das auf weißes 
Rauschen auch anwenden): man keine Aussage über das Verhalten über die 
Zeit machen. Nur über den mittleren quadratischen Abstand, also der 
Varianz.
Die Varianz eines random walks steigt proportional mit der Zeit t. Der 
Erwartungswert bleibt aber bei 0.
Ziemlich paradox, finde ich auch.

Aber es sind halt Zufallsvariablen, da tickt die Welt etwas anders. Und 
du guckst dir bei einem cumsum(randn(1e6,1)) auch nur einen möglichen 
Pfad an, eine mögliche Realisierung des Zufallsprozesses an. Machst du 
das zig Mal, siehst du, dass der Prozess symmetrisch um 0 ist und du 
kannst auch die Standardabweichung (Wurzel der Varianz) mal einzeichnen, 
die immer größer wird.

In dem Link oben steht z.B. "Die relative Abweichung {\displaystyle 
{\sqrt {n}}/n}{\sqrt  {n}}/n geht gegen null, die absolute Abweichung 
{\displaystyle {\sqrt {n}}}\sqrt{n} wächst hingegen unbeschränkt."

Mir fehlt ebenfalls das letzte Klick. Aber vielleicht hilft es schon 
etwas.

Weitere Quellen:
https://www.matheplanet.com/default3.html?call=viewtopic.php?topic=136036&ref=https%3A%2F%2Fwww.google.com%2F
https://en.wikipedia.org/wiki/Random_walk#Gaussian_random_walk
https://www.mit.edu/~kardar/teaching/projects/chemotaxis(AndreaSchmidt)/random.htm
#6182901
Lesenswert?

Jan schrieb:

> Auch der Erwartungswert des Integrals einer Zufallsvariable mit EW = 0
> und Varianz = const ist 0, da Integral und Erwartungswert Operatoren
> linear sind.

> Ziemlich paradox, finde ich auch.

> Die Varianz eines random walks steigt proportional mit der Zeit t. Der
Erwartungswert bleibt aber bei 0.

> Aber es sind halt Zufallsvariablen, da tickt die Welt etwas anders.

Ja, sehr wahr, bizarre Welt.

Letzlich bin ich in dieser Welt schon mal schwer gescheitert:

Ich habe mir eine verjitterte clock genommen, deren Jitter gaussverteilt 
ist. Dann habe ich mit viel Mühe und Nachhilfe die Verteilung des 
Kehrwerts der Zufallsvariablen 'Jitter' berechnet und dachte dann, dass 
sei das Spektrum des verjitterten Signals ( Frequenz ist 1/Periodendauer 
). Das ist mitnichten der Fall, weil der Jitter 'komisches' Rauschen 
ist, das die Voraussetzungen der Theorie nicht erfüllt. Aber wenigstens 
kann ich jetzt die Verteilungsdichten von Funktionen von 
Zufallsvariablen berechnen.

math rulez!
Cheers
Detlef
#6189945
Lesenswert?

WolleRoseKaufe schrieb:
> mal ne frage. Was kann man eigentlich gegen den Drift tun? Wenn ich die
> position bestimmen will und 2mal integriere, dann krieg ich mit der Zeit
> ja einen riesigen Fehler rein...

Suchstichwort ist 'DC removal' oder 'DC suppression'. Hochpass oder 
Filter mit einer reellen Null bei zn=1 und einem reellen Pol nahebei, 
z.B. zp=0.8 .

Cheers
Detlef
Gast #6190148
Lesenswert?

Häufig reicht das aber nicht.
Du musst den Sensor Kalibrieren. Über Winkel und Temperatur, damit 
werden Offset und Skalierung Parameter kalibriert. Im Idealfall bleibt 
dann fast Nur noch Rauschen übrig. Aber wie oben beschrieben führt auch 
Rauschen, wenn es integriert wird zum Drift.

Da kannst du ohne zusätzliche Informationen rein gar nix machen IMO. 
Zusätzliche Informationen = gps oder eine andere absolute 
Positionsinformation, Informationen über die Applikation, es gab mal 
jmd, der hat mit einer imu und „zero velocity update“ brauchbare 
Positionen berechnen können.

Allgemein - der Beschleunigungssensor misst auch die Schwerkraft, die 
ist Orientierungsabhängig, die musst du auch erstmal raus rechnen...

Es ist schwierig.
#6191222
Lesenswert?

Sven B. schrieb:
> Es gibt keine realisierbare Möglichkeit aus einem Beschleunigungssensor
> driftfrei die Position zu berechnen.
>
> Alle Systeme, die so etwas tun, haben zusätzliche Sensorik zur
> Driftkorrektur, oft Odometer oder GPS.

Aber die Drift läßt sich sehr stark reduzieren. 
Trägheitsnavigationssysteme benutzen Beschleunigungssensoren zweimal 
aufintegriert zur Positionsbestimmung, um London zu treffen reichte das. 
In Vor-GPS Zeiten lagen die INS nach 6000km über den Atlantik angeblich 
einen halben daneben.

Cheers
Detlef

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