2016-08-01 66 views
0

我正在開發一個應用程序,它使用設備傳感器來確定用戶x軸旋轉和y軸間距(基本上用戶旋轉在一個圓圈內,仰望天空或仰視地面)。我使用android Sensor.getRotationMatrix和Sensor.getOrientation函數爲手機開發了此應用程序,然後使用前兩個生成的方向值。我現在將我的應用移至Project Tango平板電腦,這些值似乎不再有效。我已經研究過PT,看起來這是在Quarternions中測量的。這是否意味着Project Tango無意實現Android SDK?探戈項目是否利用Android SDK?

回答

0

從理論上講,Android SDK應該仍然有效,所以你的應用程序應該沒有任何改變,但它不會獲得Project Tango提供的改進。 爲了獲得Tango(魚眼相機改進運動跟蹤...)的優勢,您需要使用Tango API來激活Tango服務,然後是,在四元數中使用該姿勢。

+0

任何想法爲什麼取向方位角值完全基於?我可以做一個完整的旋轉,但其值只會改變0.0x弧度。這是探戈項目常見的情況嗎? – jskeezy

1

Project Tango API(僅適用於Android)和Android SDK都需要構建Project Tango應用程序。 Tango API爲Android設備傳感器提供了比Android SDK直接訪問傳感器狀態更高級別的接口 - Tango API結合了傳感器狀態以提供更完整的「姿態」(6自由度位置和方向)狀態以及3D(X ,Y,深度)場景點以及場景中的特徵識別等。Tango API的關鍵優勢在於可以非常精確地同步幾個不同的傳感器,因此姿態狀態非常準確;實際上,最新的Tango設備支持CPU電路本身內部的同步。使用(非Tango)Android SDK API從傳感器收集數據的應用程序速度不夠快,無法通過Tango API關聯傳感器。所以也許你會得到沒有同步的傳感器數據,這些數據會作爲偏移量播種。

另外,Tango API中的一個已知錯誤是設備的指南針傳感器正在返回垃圾值。我不知道這個bug是否會影響Android SDK調用直接返回到指南針的數據質量。但Android SDK對羅盤的調用將返回至少與Tango API調用返回的狀態不同步的狀態。