2010-06-22 11 views
43

Jetzt, da iOS 4 nicht mehr NDA ist, würde ich gerne wissen, was Gyroscope über den Accelerometer für Entwickler zu bieten hat. Gibt es einen Unterschied in den APIs? Andere Dinge?Gyroskop vs Beschleunigungsmesser?

Antwort

37

Ein MEMs Gyroskop ist eine Rate der Änderung Gerät. Wenn das Gerät in einer beliebigen Achse dreht, können Sie eine Änderung der Drehung sehen. Ein Beschleunigungsmesser liefert nur die Kraft entlang der X-, Y- und Z-Vektoren und kann nicht nach "Twist" auflösen. Wenn Sie beide Sensoren verwenden, können Sie oft ein sogenanntes 6DOF-Inertialsystem (oder Dead Reckoning) implementieren, mit dem Sie den relativen physischen Standort des Geräts ermitteln können. (Beachten Sie, dass alle Trägheitssysteme driften, so dass es auf lange Sicht nicht stabil ist).

Kurz gesagt: Gyroskope messen die Rotation, Beschleunigungsmesser messen die Translation.

Es gibt eine new API zum Lesen des Gyroskops.

+2

Die neue API ist insofern nett, als es eine ziemlich hochrangige API gibt, die Ihnen aggregierte Daten von allen Positionssensoren sowie Zugriff auf die Rohdaten von Beschleunigungssensoren und Gyros liefert. –

37

Tatsächlich misst der Beschleunigungsmesser lineare Beschleunigung; aber da die Kraft gleich der Masse der Beschleunigung ist, können die Menschen sie als Messkraft betrachten, so lange sie eine konstante Masse hat. Lineare Beschleunigung ist die Änderungsgeschwindigkeit der linearen Geschwindigkeit. Ein Gyroskop dagegen liefert die Winkelgeschwindigkeitsmessung im Gegensatz zur linearen Bewegungsbeschleunigung. Beide Sensoren messen die Änderungsrate; Sie messen nur die Änderungsrate für verschiedene Dinge.

Technisch ist es möglich, dass ein linearer Beschleunigungsmesser die Rotationsgeschwindigkeit misst. Dies ist auf die Zentrifugalkraft zurückzuführen, die das Gerät erzeugt, wenn es sich dreht. Die Zentrifugalkraft steht in direktem Zusammenhang mit ihrer Rotationsgeschwindigkeit. Tatsächlich verwenden viele MEMS-Gyrosensoren tatsächlich lineare Beschleunigungsmesser, um die Rotationsgeschwindigkeit zu bestimmen, indem sie sorgfältig in bestimmte Orientierungen gebracht werden und die Zentrifugalkräfte gemessen werden, um die tatsächliche Drehkreiselgeschwindigkeit zu berechnen.

+2

+1 für die Wissenschaft! Wenn also nur ein 3-Achsen-Beschleunigungssensor verwendet wird, wie berechnet man die Drehrichtung und die Gradzahl? – Brad

+0

OMG! Reine physische Antwort. Hab es einfach geliebt. Vielen Dank! :) – NightFury

+0

Brad, Sie benötigen zwei Beschleunigungsmesser, die in der gleichen Ebene gemessen werden, um eine Drehung abzuleiten. Mit drei in der gleichen Ebene können Sie einen Zwei-Achsen-Rate-Gyro mit einer kleinen Vektormanipulation machen. –

Verwandte Themen