2016-10-04 3 views
0

Ich entwickle eine Android App für die Firma, für die ich arbeite. Diese App wird von unseren Mitarbeitern genutzt, die Produkte an unsere Kunden liefern. Im Moment verwenden sie ein TomTom-Gerät, das auch erkennt, wie stark ein Fahrer mit dem Auto bremst/beschleunigt. Da wir versuchen wollen, ein Gerät mit allen Funktionen zu bekommen, die gerade verwendet werden, versuche ich herauszufinden, wie man das mit einem Android-Gerät macht.Erkennen von hartem Bremsen und starker Beschleunigung eines Autos mit Beschleunigungsmesser/Gyroskop

Im Moment wollen wir das Zebra (Motorola) TC75 als Gerät verwenden und es hat einen Beschleunigungsmesser darin. Ich fand das folgende Dokument darüber, wie man seine Sensoren nennt und es funktioniert. https://developer.xamarin.com/recipes/android/os_device_resources/accelerometer/get_accelerometer_readings/

Allerdings habe ich ehrlich gesagt keine Ahnung, was die Werte sind zu erkennen, dass harte brechen/beschleunigen geschieht.

Könnte mich jemand in die richtige Richtung drängen, damit das funktioniert? Oder ist das Ding, das ich entdecken möchte, nicht möglich?

Vielen Dank im Voraus.

Pim Dröge

Antwort

1

Beschleunigungsmesser tut, was der Name schon sagt - misst die Beschleunigung (1. Ableitung der Geschwindigkeit über die Zeit -> 2. Ableitung der Abstand im Laufe der Zeit 62).

Der Beschleunigungssensor gibt Werte zurück, die die Änderungen der Beschleunigung entlang der drei Achsen des Koordinatensystems in m/s2 beschreiben.

siehe

https://developer.xamarin.com/recipes/android/os_device_resources/accelerometer/get_accelerometer_readings/#Additional_Information

Also, Sie numerische Mathematik ein wenig brauchen, um die Werte zu integrieren Geschwindigkeit und Distanz zu erhalten. Einfache Algorithmen sollten in Ordnung sein, aber wenn Sie mehr Stabilität benötigen, gehen Sie zu Algorithmen höherer Ordnung wie Runge-Kutta.

+0

Ich habe diese Seite bereits gefunden, wie Sie in meiner Frage sehen können. Aber was ich brauche, ist eine Hilfe, wie man die richtigen Daten bekommt. –

+0

Ich habe gesehen, dass Sie die Xamarinstelle bereits gefunden haben, aber ich habe auf das entscheidende Teil - Referenzsystem (x -, y -, z - Achse) hingewiesen. Sie erhalten Beschleunigungsvektor (3 Achsen) [ax, ay, az] diese sind wahrscheinlich im Telefon Referenzsystem. Dann müssen Sie Daten vom Positionssensor erhalten, um die genaue Position des Telefons zu kennen. Dann benötigen Sie eine Vektormathematik, um die Rotation der erhaltenen Daten in ein erdverweisendes System (x-, y-, z-Achse) durchzuführen. Sie erhalten die Daten von dem Telefon mit Beschleunigungssensor. Die Richtigkeit hängt von Ihrer Definition ab, was richtig ist (Qualität). – moljac

Verwandte Themen