Google在Google Play服務中添加一個新的Fused Orientation Provider(FOP)API,該API透過融合加速計、陀螺儀和測量磁場的磁強計(Magnetometer),提供準確且一致的裝置朝向(Orientation),適用於Android 5(Lollipop)以上執行Google Play服務的所有裝置。

Google提到,FOP API的設計將與原本的Android Rotation Vector類似,方便開發人員轉換。相比Android Rotation Vector,FOP更能提供統一的跨裝置實作,彌補因較低品質感測器和不同OEM的實作差異。

Android生態系中存在各式各樣的感測系統實作,雖然裝置都需要符合Android相容性定義文件中的標準,但Google指出,由於文件中建議的感測器規格不夠嚴謹,無法完全避免裝置朝向資訊不準確。像是裝置朝向可能受到裝置內部的磁力干擾、延遲或是不平均的感測器採樣,裝置周圍也可能存在扭曲地磁的物質,同時,也需要考量不同使用者的行為。

為此Google推出新的FOP API,以提供更強健且精確的裝置朝向資訊。FOP API的重要更新包括同步各感測器的時間基準,確保所彙整的加速計、陀螺儀和磁強計資料來自同一個時窗,避免因為時間差產生計算誤差。

FOP還補償了硬磁(Hard Iron)偏移,硬磁偏移是因為周圍環境中恆定磁場所產生的干擾,FOP透過演算法校正這種偏差,提高磁強計的精準度。FOP也會隨時監測陀螺儀產生的偏差,確保裝置朝向估計正確。

FOP最重要的核心功能,則是融合加速計、陀螺儀和磁強計資訊,計算裝置在世界中的朝向,透過結合三種感測器的優點來克服各自的缺點,提供更準確且穩定的裝置朝向資訊。FOP能夠參照現實指南針方向產生準確估算,讓開發者可以評估當前FOP所生成裝置朝向資料的信心程度。

Google指出,FOP演算法經過全面的測試資料驗證,已經確定可在各種裝置上提供高品質結果。FOP會以四元數(Quaternion)串流輸出裝置朝向估算,朝向會參照地理北極,但是當位置資訊不可用,磁偏角未知的時候,方向則參照地磁北極。

另外,FOP還會提供裝置相對於地理北極的方向(Heading),該方向是從水平面量測,與Google地圖中顯示的方向相同。由於Google地圖也使用FOP,因此開發者可以藉此了解裝置方向資料的可靠性。

熱門新聞

Advertisement