Position Berechnung von kleines Modell von einem Auto mit Beschleunigungssensor + Gyroskop
Möchte ich berechnen position eines kleinen ferngesteuerten Auto (relativ zur Startposition). Das Auto bewegt sich auf einer flachen Oberfläche, zum Beispiel: ein Zimmer Boden.
Nun, ich bin über einen Beschleunigungsmesser und ein Gyroskop. Um genau zu sein dieses board --> http://www.sparkfun.com/products/9623
Als ersten Schritt habe ich die accelerometer-Daten in x-und y-Achse (da die PKW-Bewegungen auf der Oberfläche), und doppelklicken Sie integriert die Daten zu bekommen position. Die Formeln, die ich verwendet wurden, waren:
vel_new = vel_old + ( acc_old + ( (acc_new - acc_old ) /2.0 ) ) * SAMPLING_TIME;
pos_new = pos_old + ( vel_old + ( (vel_new - vel_old ) /2.0 ) ) * SAMPLING_TIME;
vel_old = vel_new;
pos_old = pos_new;
acc_new = measured value from accelerometer
Den oben angegebenen Formeln basieren auf diesem Dokument: http://perso-etis.ensea.fr/~pierandr/cours/M1_SIC/AN3397.pdf
Aber das gibt schreckliche Fehler.
Nach der Lektüre ähnliche Fragen in diesem forum, fand ich heraus, dass ich brauche, um zu subtrahieren Sie die Komponente der Schwerkraft von oben-acceleration-Werte (immer von acc_new) durch die Verwendung von Gyroskop-irgendwie. Diese Idee ist sehr gut erklärt in der Google Tech Talks video Sensor Fusion auf Android-Geräten: A Revolution in Motion-Processing an Zeit 23:49.
Nun mein problem ist, wie zu subtrahieren, dass die Schwerkraft-Komponente?
Ich bekomme Winkelgeschwindigkeit von Gyroskop. Wie wandle ich es in der Beschleunigung so, dass ich subtrahieren Sie von der Ausgabe des Beschleunigungssensors?
- Haha.. Eigentlich wurde das Projekt über lange Zeit zurück. Unser Professor war wirklich kleben, bis zu dem Punkt, dass diese position Berechnung ist möglich, da einige andere professor hatte ihm gesagt, dass sein team schaffte es, die position bis zu 95% Genauigkeit.. Aber schließlich haben wir es geschafft, Sie zu überzeugen, unser Prof, dass dies nicht möglich ist. In all dies hatte ich vergessen zu akzeptieren, die Antworten. So besser spät als nie!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es wird nicht funktionieren, diese sensoren sind nicht genau genug, um die Berechnung der position.
Der Grund ist auch im video erklärt Sie sich beziehen.
Die besten Sie tun können, um die Geschwindigkeit auf der Grundlage der Drehzahl der Räder. Wenn Sie auch wissen, die überschrift, der gehört zu der Geschwindigkeit, können Sie integrieren die Geschwindigkeit zu bekommen position. Weit von perfekt, aber es sollte Ihnen eine angemessene Schätzung der position.
Weiß ich nicht, wie könnte man die Position des Autos, es hängt von der hardware, die Sie haben.
Fürchte ich Ali ' s Antwort ist ganz wahr, wenn es um solche Geräte. Aber warum versuchen Sie nicht, auf der Suche arduino dead reckoning", die cover-Geschichten von Menschen, die versuchen, ähnliche Bretter?
Hier ist ein link, der erschien, nachdem eine Suche, ich denke, vielleicht helfen Sie:
Konvertieren IMU INS
Sogar es scheint, wie alle von Ihnen versagt, auf die Sie stoßen Problemumgehungen, die verringern wird, Fehler zu akzeptablen Mengen oder Kalibrieren Sie den Algorithmus mit einigen anderen sensor, um ihn wieder in Spur, als die quadrierten Fehler der Beschleunigung zusammen mit gyros white noise zerstören Genauigkeit.
Einen Grund haben Sie ein großer Fehler ist, dass die Gleichung falsch angezeigt.
Beispiel: man aktualisiert vel,verwenden Sie"..
Velnew=velold+((accelold+accelnew)/2)*sampletime
.Sieht aus wie Sie hatten einen extra-accel-term in die Gleichung ein. Mit dieser allein nicht beheben Sie alle Fehler....müssen, wie Sie sagen, richtigen für den Einfluss der Schwerkraft und andere Dinge.