Geschwindigkeit durch integration eines Beschleunigungssignals

#7585768
Lesenswert?

Toni E. schrieb:

Ich messe den Zeitabstand zwischen zwei Signalen und multipliziere mit der momentanen Beschleunigung?

Wenn deine Beschleunigung während dt konstant ist, ja. Sonst ist es halt nur eine Näherung, die gut sein kann, wenn a sich wenig ändert und dt kurz ist.

Am Anfang für v0 einfach 0 nehmen?

Du bekommst halt immer nur die Geschwindigkeitsänderung für jedes Intervall dt.

#7585792
Lesenswert?

Toni E. schrieb:

Ich messe den Zeitabstand zwischen zwei Signalen und multipliziere mit der momentanen Beschleunigung? Am Anfang für v0 einfach 0 nehmen?

Rein theoritisch kann man das so machen. In der Praxis wird das mit den üblichen Sensoren für ein paar € sehr schnell sehr ungenau. Wenn Du irgendeine Möglichkeit hast, die Geschwindigkeit oder den Ort direkt zu messen, dann mach das.

Für die Trägkeitsnavigation geeignete Sensoren sind mindestens dreistellig, eher vierstellig im Preis.

fchk

#7585819
Lesenswert?

Toni E. schrieb:

Reicht es so: V0+a*dt

Ich messe den Zeitabstand zwischen zwei Signalen und multipliziere mit der momentanen Beschleunigung? Am Anfang für v0 einfach 0 nehmen?

Theoretisch geht das, gesteuerte Raketen machen das genau auf diese Weise. Durch zweifache Integration kommt dann die Position heraus: https://www.aggregat4.de/pdf/Ger%C3%A4tebeschreibung_A4.pdf

Das Problem ist ein in der Praxis immer vorhandener Offset des Beschleunigungsmessers. Das führt zu einem mit der Zeit linear ansteigenden Fehler in der Geschwindigkeit, der Positionsfehler erhöht sich sogar quadratisch. Für Zeiten länger als ein paar Minuten muss daher durch eine externe Referenz nachkorrigiert werden.

#7586106
Lesenswert?

Der Offset eine analogen Sensors ist temperaturabhaengig. Daher kann man ihn nicht rauskompensieren. Der Offset fuehrt zu einem sich ueber die Zeit vergroessernden Fehler. Daher muss man periodisch, wenn moeglich kompensieren. Wenn man die Geschwindigkeit nicht erfassen kann, zB per GPS, kann man nochmals integrieren und bekommt die Position. Allenfalls kann man ueber die Position kompensieren, falls man die kennt. Ein Drehbeschleunigungssensor, integriert liefert einen winkel. Der kann zB mit einem Kompass kompensiert werden. Kompensieren bedeutet, vom Istwert-Sollwert rechnet man den Offset zurueck, und verwendet den weiterhin.

#7586317
Lesenswert?

Toni E. schrieb:

Ich habe einen Beschleunigungssensor,

Ohne nähere Angaben gehen wir also von einem idealen Sensor aus, der Dir tatsächlich zu jedem Zeitpunkt die exakte Momentanbeschleunigung liefern kann.

von den Werten will ich die Geschwindigkeit bekommen.

Reicht es so: V0+a*dt

Ich messe den Zeitabstand zwischen zwei Signalen und multipliziere mit der momentanen Beschleunigung?

Sofern die Beschleunigung in dem betrachteten Zeitraum tatsächlich konstant ist, dann funktioniert das mal für dieses eine Intervall. Wenn Deine Messintervalle außerdem noch tatsächlich nahtlos aufeinander folgen, dann bekommst Du (mit Deinem perfekten Sensor) auch über beliebige, längere Zeiträume exakte Ergebnisse.

Allerdings ginge das in dem Fall auch viel einfacher: Da die Beschleunigung in jedem einzelnen Intervall als konstant vorausgesetzt wurde, die Intervalle nahtlos auf einander folgen und jede reale Beschleunigungskurve stetig sein muß, ist die bleibt die Beschleunigung auch über beliebig lange Zeiträume konstant, wir haben also den Spezialfall der gleichförmig beschleunigten Bewegung und die Geschwindigkeit läßt sich auch mit der einfachen Formel:

v = a * t

ausrechnen.

Leider liefert Dir ein realer Sensor immer nur fehlerbehaftete Messwerte und damit stehst Du vor einem Problem: je kleiner Du dt wählst, umso mehr Fehlerterme summierst Du auf, vergrößerst Du aber dt, dann steigt der Fehler Deines Ergebnisses, weil Du ja Änderungen der Beschleunigung während diese Intervalls übersiehst.

#7586821
Lesenswert?

Toni E. schrieb:

Reicht es so: V0+a*dt

Mathematisch ist das vermutlich "gut genug", im Sinne von, es wird das Ergebnis nicht erheblich verbessern, etwas schlaueres zu machen.

Konzeptuell wird das vermutlich nicht funktionieren, die so ermittelte Geschwindigkeit driftet dir innerhalb kürzester Zeit völlig weg.

Beschreibe mal die reale Aufgabenstellung, dann kann man vielleicht ein funktionierendes Konzept empfehlen. Versuche irgendeinen Sensor-Input zu finden, der einen direkten Bezug zur Geschwindigkeit hat, zum Beispiel ein Odometer -- das funktioniert immer am besten.

#7586842
Lesenswert?

Das Problem plagt Roboterbauer und Entwickler schon lange. Rakentenbauer noch länger ;). Deswegen wird für mobile Roboter gern in einigermaßen verlässlichen Abständen ein genauerer Positionswert zur Korrektur/ Stützung hinzugezogen. Ob nun über z.B im Boden eingelassene RFID Transponder, optische Referenzmarken oder RTK GPS ... Auch die schonmal etwas genaueren von den Antriebsrädern abnehmbaren Odometriedaten leiden ja unter Schlupf und veränderlichen Fehlern durch Last und verschleißbedingte Änderungen der Raddurchmesser.

Persönliche Seite #7587443
Lesenswert?

Bruno V. schrieb:

Dass Bewegungen nicht immer senkrecht zur Erdoberfläche und gradlinig verlaufen (Kurvenfahrten verfälschen v ebenso), diese Anforderung stellt das Leben.

Warum senkrecht zur Erdoberfläche? Warum Kurvenfahrten? Wenn Toni E nicht schreibt, was er genau möchte, dann ist es müßig weiter darüber zu diskutieren. Wenn ich bei einer rotierenden Maschine die Schwinggeschwindigkeit aus der Schwingbeschleunigung berechnen möchte, dann dividiere ich einfach Beschleunigung durch die Frequenz der Drehbewegung. Bei einer IMU ist sicherlich ein Kalman- oder Mahony-Filter der geeignete Algorithmus.

#7587453
Lesenswert?

Joe G. schrieb:

. Wenn ich bei einer rotierenden Maschine die Schwinggeschwindigkeit aus der Schwingbeschleunigung berechnen möchte, dann dividiere ich einfach Beschleunigung durch die Frequenz der Drehbewegung.

Wortwahl und Inhalt der OP lassen darauf schließen, dass er noch keinen gSensor hat und er sich neu damit beschäftigt.

Ich fürchte gar, dass er noch annimmt, es gäbe Sensoren, die rein die Beschleunigung aus Geschwindigkeitsänderung messen. So wie andere sich Neigungssensoren für Motorrad oder Fluggerät erhoffen.

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