Forum: Mikrocontroller und Digitale Elektronik Accelerometer künstlich zurücksetzten??


von Mirko (Gast)


Lesenswert?

Hallo,

ich habe vor die Bewegungen einer Kamera aufzuzeichnen um den zurück 
gelegten Pfad berechnen zu können. Ziel ist es Motiontracking / 
Matchmooving auf ein Minimum
reduzieren zu können.

Ein MPU6050 ist mit einem Arduino im Einsatz um die Orientierung zu 
bekommen.
Das funktioniert auch mittlerweile sehr gut.

Nun fehlt mir noch die Bewegung der Kamera.
Benötigt wird die relative Bewegung von Bild zu Bild. Daten Bekomme ich 
jetzt nur bei Geschwindigkeitsänderungen.
Ist es irgendwie möglich einem Accelerometer vor zu gaukeln das die 
Bewegung gerade anfängt?
Das müsste dann in der Bildrate passieren, also normalerwiese 24 mal pro 
Sekunde.
Genauigkeit ist zwar wünschenswert, aber den Feinschliff kann man (wenn 
das Gefilmte kontrastreich ist und kurze Shuterzeiten eingesetzt wurden) 
über das
Bildmaterial berechnen.

Existieren Alternativen zu einem Accelerometer?


Schon mal vielen Dank an jeden der sich die Zeit nimmt um Ideen und 
Vorschläge einzubringen.

Bis dahin
     Mirko

von g457 (Gast)


Lesenswert?

> Benötigt wird die relative Bewegung von Bild zu Bild. Daten Bekomme ich
> jetzt nur bei Geschwindigkeitsänderungen.
> Ist es irgendwie möglich einem Accelerometer vor zu gaukeln das die
> Bewegung gerade anfängt?

[ ] Du hast verstanden was Beschleunigung ist.
[x] Du möchtest nochmals nachlesen was ein Accelerometer so tut den 
ganzen Tag.

Nix für ungut.

von Alex G. (dragongamer)


Lesenswert?

Wenn du schon davon ausgehst dass die Genauigkeit durch den Sensor nicht 
ausreicht (wovon ich auch ausgehen würde, denn z.B. in einem Roboter 
wird schon das Profil der Reifen sehr viel Jitter einschleusen), dann 
verlass dich besser nur auf die Kamera.
Beide Informationsquellen zu kombinieren stell ich mir schwierig vor.

Hier gibt es eine sehr beeindruckende Library dafür: 
http://www.cvlibs.net/software/libviso/

von Mirko (Gast)


Lesenswert?

g457 schrieb:
> [ ] Du hast verstanden was Beschleunigung ist.
> [x] Du möchtest nochmals nachlesen was ein Accelerometer so tut den
> ganzen Tag.

Schätze das hab ich nicht anders verdient...
Eigentlich war mir schon fast klar das es nicht geht, aber eine gewisse 
Resthoffnung war da.

Alex G. schrieb:
> , dann
> verlass dich besser nur auf die Kamera.

Das ist genau was Motiontracking ist.

Alex G. schrieb:
> Hier gibt es eine sehr beeindruckende Library dafür:
> http://www.cvlibs.net/software/libviso/

Die Library sieht vielversprechend aus, leider gibt es aber (noch) einen 
Haken.

It further assumes that the camera is moving at a known and fixed height 
over ground (for estimating the scale).

Werde mir das aber nochmal genau anschauen. Die Algorythmen um 
automatisch
Referenzpunkte zu finden scheint sehr gut zu funktionieren.
Im Moment muss ich die Punkte manuel setzten um gute Ergebnisse zu 
bekommen.

von Wolfgang (Gast)


Lesenswert?

Mirko schrieb:
> Ist es irgendwie möglich einem Accelerometer vor zu gaukeln das die
> Bewegung gerade anfängt?

Was meinst du mit "Bewegung gerade anfängt", meinst du die Position in 
deinem aktuellen Bezugssystem oder meinst du Geschwindigkeitsänderungen.
https://de.wikipedia.org/wiki/Kinematik

Dem Accelerometer kannst du gar nichts vorgaukeln. Das passiert bei der 
Auswertung der Accelerometerdaten, indem du die entsprechenden 
Integrationskonstanten zurücksetzt. Integrierende Methoden neigen aber 
immer dazu, Drift aufzusammeln, die du dann über Bildauswertung und 
Sensorfusion abfangen müsstest.

von georg (Gast)


Lesenswert?

Ein Accelerometer liefert die aktuelle Beschleunigung und sonst nichts. 
Die kannst du aufintegrieren, um den zurückgelegten Weg zu berechnen, 
wobei naturgemäss der Wegfehler immer grösser wird. Du kannst natürlich 
die Intergration nach jeder Aufnahme neu starten, dann erhältst du 
jeweils den Weg von Aufnahme zu Aufnahme, wahrscheinlich mit brauchbarer 
Genauigkeit. Du solltest aber nicht davon träumen, dass du an der 
richigen Position ankommst, wenn du die Wege aneinandersetzt, das wird 
sicher noch ungenauer als die Integration von Anfang bis Ende. Ich würde 
das Rücksetzen daher lassen. Teilstücke kannst du ja ohne weiteres 
rechnerisch bestimmen.

Georg

von Wolfgang (Gast)


Lesenswert?

georg schrieb:
> Du kannst natürlich die Intergration nach jeder Aufnahme neu starten,
> dann erhältst du jeweils den Weg von Aufnahme zu Aufnahme,
> wahrscheinlich mit brauchbarer Genauigkeit.

Damit wird das bestimmt nicht funktionieren.

Zum Neustart der Wegintegration von Aufnahme zu Aufnahme braucht man die 
Geschwindigkeit, weil die für den Weg mit aufintegriert werden muss. Und 
die Geschwindigkeit kann keiner der Mems im MPU6050 liefern. Die 
Information muss also sonstwoher (z.B. aus der Bildauswertung) kommen.

von helfer (Gast)


Lesenswert?

1 mal integrieren = Geschwindigkeit
2 mal integrieren = Weg

Der Fehler integriert sich schnell auf.

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.