Seltsames Verhalten mit android-Ausrichtung sensor
Derzeit bin ich versucht zu drehen, 3D-Würfel mit Orientierungs-sensor-Werte, mit getRotation() Methode. Einige unerwartete Verhaltensweisen beobachtet werden, wenn das android-Gerät gedreht wird über einige Grenzen. Zum Beispiel, wenn ich das Gerät "stand-up" der Wert der 'Rolle' wird einfach verrückt.
Auch bei mir tritt das Phänomen ähnlich dem so genannten gimbal-lock. Der einzige Unterschied ist bei mir tritt das problem auch vor der Anwendung der sensor-Werte auf die 3D-Drehung. Wenn ich versuche, ändern Sie die "pitch" - Wert durch drehen Sie das Gerät um, nur 'pitch' - Achse, die "Gier" - Wert ändert sich auch nach der Drehung des Spielfeldes. Es scheint völlig abwegig zu mir.
Könnte mir jemand helfen?? Ich bin stecken in diesem problem für einen Monat.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist ein häufiges problem mit yaw, pitch und roll. Sie können nicht, es loszuwerden, solange Sie mit yaw, pitch und roll (Euler-Winkel). Dieses video erklärt, warum.
Benutze ich rotation Matrizen anstelle von Euler-Winkeln in meiner motion-sensing-Anwendung. Für eine Einführung in rotation Matrizen empfehle ich:
Direction Cosine Matrix IMU: Theorie
Rotation Matrizen arbeiten wie ein Charme.
Quaternionen sind auch sehr beliebt und so stabil.
[Diese Antwort wurde kopiert von hier.]
Verwendung von Quaternionen zu berechnen YPR nicht viel tun, um jedes problem zu lösen. Das problem des gimbal lock (die in der Nähe der Tonhöhe um +/-90 fahren kann, yaw und roll -- eigentlich yaw-roll am Nordpol -- verrückt unter leichten Veränderungen/Lärm in der zugrunde liegenden Quaternionen).
Wenn Sie jedoch mit Yaw Pitch und Roll Werte zum durchführen einer rotation eines 3D-Objekts sollte nicht zeigen jede ungerade Verhalten in der Nähe der gimbal lock position. Es ist nur so, dass ein amibguity in yaw und roll entstehen und große Schwankungen in der Gier-und roll bedeutet nicht, dass die tatsächliche Orientierung ist verrückt-nur, dass die Ausrichtung unempfindlich ist, um große Veränderungen in der yaw-roll in der Nähe von pitch 90.
ABER beachten Sie auch, dass Handys und Browser für HTML5, nicht richtig umsetzen yaw, pitch und roll pro-Konventionen für Android. Hier ist ein guter blog für Referenz:
http://www.sensorplatforms.com/understanding-orientation-conventions-mobile-platforms/
Hier ist ein einfaches Beispiel, das liefert den Vektor der Schwerkraft. Beachten Sie, dass Sie können ändern Sie den sensor-Typ und die Geschwindigkeit der Probenahme, mehr details hier
Gut, wenn Sie laufen auf dem Handy.
Quaternionen sind die besten, und Sie sollten es
Rotation matrix, euler-Winkel, können Sie leicht stieß dieser Begriff in der genannten gimbal lock. Es geschieht Häufig mit dem Benutzer gewalttätige Aktion.
Gimbal lock ist der Verlust eines Freiheitsgrades in einem dreidimensionalen, drei-gimbal-Mechanismus, der Auftritt, wenn die Achsen von zwei der drei Säulen angetrieben werden, die in einer parallelen Konfiguration, "sperren", die das system in rotation in eine heruntergekommene zwei-dimensionalen Raum.
Rotation matrix, euler-Winkel sind gut für langsam fahrende Roboter-action.
Details Quaternionen concatnations und Punkt-umwandeln-zu einem neuen system,
finden Sie unter wiki-link
https://en.wikipedia.org/wiki/Quaternion