2016-08-01 15 views
0

Ich entwickle eine App, die Gerät Sensoren verwendet, um Benutzer X-Achsen-Rotationen und Y-Achsen-Abstand zu bestimmen (im Wesentlichen dreht der Benutzer in einem Kreis und schaut in den Himmel oder unten auf dem Boden). Ich habe diese App für ein Telefon mit den Android Sensor.getRotationMatrix und Sensor.getOrientation Funktionen entwickelt und dann die ersten beiden resultierenden Orientierungswerte verwendet. Ich habe meine App jetzt auf ein Project Tango-Tablet verschoben, und diese Werte scheinen nicht mehr gültig zu sein. Ich habe PT ein bisschen angeschaut und es scheint, dass dies die Dinge in Quarternions misst. Bedeutet dies, dass Project Tango nicht dazu gedacht ist, das Android SDK zu implementieren?Verwendet Project Tango das Android SDK?

Antwort

0

Theoretisch sollte das Android SDK immer noch funktionieren, also sollte Ihre App ohne Änderungen funktionieren, aber es wird keinen Vorteil aus den Verbesserungen des Project Tango ziehen. Um die Vorteile von Tango (Fisheye-Kamera für verbesserte Bewegungsverfolgung) zu nutzen, müssen Sie den Tango-Dienst mit der Tango-API aktivieren und dann die Pose in Quaternionen verwenden.

+0

Eine Idee, warum der Orientierungsazimutwert vollständig von der Basis ist? Ich kann eine volle Umdrehung machen, aber der Wert wird nur um 0,0x Radianten verschoben. Ist das bei Project Tango üblich? – jskeezy

1

Die Projekt-Tango-APIs (nur für Android) und das Android-SDK werden zum Erstellen von Project Tango-Apps benötigt. Die Tango-APIs bieten höhere Schnittstellen zu Android-Gerätesensoren als der direkte Zugriff des SDK auf den Sensorstatus - Tango-APIs kombinieren Sensorzustände, um einen vollständigeren "Pose" -Zustand (6 Freiheitsgrade Position und Orientierung) sowie 3D (X , Y, Tiefen-) Szenenpunkte und sogar Feature-Erkennung in Szenen usw. Der entscheidende Vorteil der Tango-APIs besteht darin, mehrere verschiedene Sensoren sehr präzise in Echtzeit zu synchronisieren, so dass der Pose-Zustand sehr genau ist; Tatsächlich unterstützen die neuesten Tango-Geräte diese Synchronisation innerhalb der CPU-Schaltung selbst. Eine App, die Daten von Sensoren sammelt, die die (nicht-Tango) Android SDK-APIs verwenden, ist nicht schnell genug, um die Sensoren über die Tango-APIs zu korrelieren. Vielleicht erhalten Sie Sensordaten, die nicht synchronisiert sind, die als Offsets ausgegeben werden.

Ein bekannter Fehler in den Tango APIs ist auch, dass der Kompasssensor des Geräts Müllwerte zurückgibt. Ich weiß nicht, ob dieser Fehler die Qualität der Daten beeinflusst, die von den Android SDK-Anrufen direkt an den Kompass zurückgegeben werden. Die Aufrufe des Android-SDK an den Kompass werden jedoch den Zustand zurückgeben, der mit dem von den Tango-API-Aufrufen zurückgegebenen Status nicht mehr übereinstimmt.