手機方向傳感器的缺點及解決方法探究

方向傳感器是算法生成的傳感器之一,主要藉助於磁場傳感器的數據。

Android系統自帶了方向傳感器,不過系統5.0之後方法就被廢除了(我們還是可以使用的,只是谷歌不推薦繼續使用了)。谷歌提供了一套新的算法來作爲替代,運用磁場傳感器和加速度傳感器來計算方向(可自行搜索調用方法)。

兩種方法之間的優劣暫時無法判定,當然我們希望新方法的效果更好。由於沒有具體研究兩個算法之間的區別,根據我個人使用經驗來說,效果應該差不多。

 

算法的抗干擾能力很弱

我不是要嘲諷谷歌,而是陳述一個事實。我們想象手機中有一個小小的指南針,玩過磁鐵的朋友應該知道同性相斥、異性相吸,因此這個小指南針一旦遇到強磁干擾時就會失效。這是算法上的一大缺陷,也是難以克服的。而且市面上幾乎所有的手機傳感器都會遇到這樣一個問題,包括蘋果。

手機、電腦、鐵製品等容易帶磁性的物體,都會對手機的方向造成很大的干擾,一般來說保持合適的距離(手機電腦十五釐米以上,汽車一米以上),干擾就可以忽略不計。但是在車、電梯或者大型儀器設備附近及其內部,方向傳感器就很難保持穩定了。

那麼手機本身呢?手機本身也可以看作是強磁體,但由於硬件位置是固定的,我們可以把手機本身看作是靜態干擾(也就是說干擾是個穩定的值),算出對應的值,做個補償即可(實際上谷歌的算法中已經考慮到這點,所以並不需要我們多操心)。

一旦受到強磁干擾,此時的傳感器在大部分情況下是很難做到自身調節並快速恢復正常的,我們可以拿着手機進行八字形迴轉來使磁場重新回到正確的值,前提是離開強磁體。

 

如何克服

合理運用手機的陀螺儀傳感器有一定的可能性能降低磁場干擾,陀螺儀給出的是物體旋轉時的角速度,理想情況下是正好與我們的方向傳感器變化速度(也就是角速度)是一致的,二者相互結合相互印證,就能在一定程度上判斷磁場是否受到干擾,可以有效降低手機方向的突變情況。這裏提供一種可行的解決思路,具體怎麼做,還需要探究。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章