一種指南針方位的確定方法及裝置的制造方法
【技術領域】
[0001]本發(fā)明實施例涉及指南針校準技術,尤其涉及一種指南針方位的確定方法及裝置。
【背景技術】
[0002]指南針在人們的日常生活、戶外活動和工作等很多方面有著至關重要的作用。作為一種常用的工具,不少移動終端中都集成了指南針功能。
[0003]移動終端的指南針主要通過加速度傳感器、地磁傳感器或陀螺儀等傳感器來測量數(shù)據(jù),并依據(jù)測得的數(shù)據(jù)采用預設的算法來確定指南針方位。
[0004]然而,當移動終端處于充電狀態(tài)時,受硬件設計的影響,會對指南針帶來干擾,使其指針指向不準確,即在移動終端處于充電狀態(tài)時,移動終端中的指南針所確定的方位角的準確性較低,以致指南針指示失效。
【發(fā)明內容】
[0005]本發(fā)明提供了一種指南針方位的確定方法及裝置,以提高指南針確定的方位角的準確性。
[0006]第一方面,本發(fā)明實施例提供了一種指南針方位的確定方法,所述方法包括:
[0007]在智能終端處于充電狀態(tài)時,通過硬件抽象層獲取內核層中的指南針傳感器測得的傳感測量值;
[0008]根據(jù)預先獲得的傳感誤差值計算所述傳感測量值的傳感校正值;
[0009]根據(jù)所述傳感校正值計算指南針的方位角。
[0010]第二方面,本發(fā)明實施例還提供了一種指南針方位的確定裝置,所述裝置包括:
[0011]測量值獲取模塊,用于在智能終端處于充電狀態(tài)時,通過硬件抽象層獲取內核層中的指南針傳感器測得的傳感測量值;
[0012]校正值計算模塊,用于根據(jù)預先獲得的傳感誤差值計算所述傳感測量值的傳感校正值;
[0013]方位角計算模塊,用于根據(jù)所述傳感校正值計算指南針的方位角。
[0014]本發(fā)明實施例在智能終端處于充電狀態(tài)時,通過硬件抽象層獲取內核層中的指南針傳感器測得的傳感測量值,根據(jù)預先獲得的傳感誤差值計算所述傳感測量值的傳感校正值,根據(jù)所述傳感校正值計算指南針的方位角,解決了移動終端處于充電狀態(tài)時,移動終端中的指南針所確定的方位角的準確性較低,以致指南針指示失效的問題,提高了指南針確定的方位角的準確性。
【附圖說明】
[0015]圖1是本發(fā)明實施例一中的一種指南針方位的確定方法的流程圖;
[0016]圖2是本發(fā)明實施例二中的一種指南針方位的確定方法的流程圖;
[0017]圖3是本發(fā)明實施例三中的一種指南針方位的確定方法的流程圖;
[0018]圖4是本發(fā)明實施例四中的一種指南針方位的確定裝置的結構圖。
【具體實施方式】
[0019]下面結合附圖和實施例對本發(fā)明作進一步的詳細說明??梢岳斫獾氖?,此處所描述的具體實施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關的部分而非全部結構。
[0020]實施例一
[0021]圖1是本發(fā)明實施例一中的一種指南針方位的確定方法的流程圖,本實施例可適用于終端充電狀態(tài)下指南針受干擾的情況,該方法可以由指南針方位的確定裝置來執(zhí)行,其中該裝置可以由軟件和/或硬件實現(xiàn),該裝置通常配置在用戶所使用的終端中,終端可以是諸如手機、平板電腦之類的移動終端。如圖1所示,所述方法具體可以包括如下步驟:
[0022]步驟110、在智能終端處于充電狀態(tài)時,通過硬件抽象層(Hardware Abstract1nLayer, HAL)獲取內核層中的指南針傳感器測得的傳感測量值。
[0023]其中,Android(安卓)的HAL是Google應廠商不希望公開源碼的要求所推出的新概念,它能以封閉源碼的形式提供硬件模塊,其目的是把Android的框架和Linux內核隔開,讓Android不至于過度依賴Linux內核。HAL提供了簡單的設備程序接口,應用程序使用設備程序接口與底層硬件通信?,F(xiàn)在的終端對傳感器,如加速度傳感器,地磁傳感器,距離傳感器等的使用越來越多,對大部分傳感器來說,雖然內核層有各自的驅動,但我們在HAL會對其進行抽象,以使用戶層都調用相同的接口。
[0024]具體的,所述指南針傳感器可以包括地磁傳感器和加速度傳感器。地磁傳感器是一類利用被測物體在地磁場中的運動狀態(tài)不同,通過感應地磁場的分布變化而指示被測物體的姿態(tài)和運動角度等信息的測量裝置。由于被測物體在地磁場中處于不同的位置狀態(tài),地磁場在不同方向上的磁通分布是不同的,地磁傳感器通過檢測三個軸線上磁場強度的變化而指示被測物體的狀態(tài)。加速度傳感器用于測量三個軸線上個加速度。另外所述指南針傳感器還可以包括陀螺儀,用于測量繞三個軸線的角速度,以提高指南針方位的指示精度。
[0025]指南針傳感器測得的傳感測量值包括地磁傳感器測得的三個軸線上的磁場強度和加速度傳感器測得的三個軸線上的加速度。
[0026]步驟120、根據(jù)預先獲得的傳感誤差值計算所述傳感測量值的傳感校正值。
[0027]其中,所述傳感誤差值分別包括地磁傳感器和加速度傳感器三個軸的誤差值。傳感誤差值為終端的指南針傳感器充電狀態(tài)下的測量值與非充電狀態(tài)下的測量值的差值。所述傳感校正值為所述傳感測量值與傳感誤差值的差值。通過傳感誤差值對所述傳感測量值進行校正,大大降低了充電對指南針傳感器的干擾,提高了指南針傳感器的測量精度。
[0028]步驟130、根據(jù)所述傳感校正值計算指南針的方位角。
[0029]具體的,通過預設的算法可以根據(jù)所述傳感校正值計算得到指南針的方位角。如,所述方位角為0°時表示正北,90°表示正東,180°表示正南,270°表示正西。
[0030]本實施例的技術方案在智能終端處于充電狀態(tài)時,通過硬件抽象層獲取內核層中的指南針傳感器測得的傳感測量值,根據(jù)預先獲得的傳感誤差值計算所述傳感測量值的傳感校正值,根據(jù)所述傳感校正值計算指南針的方位角,解決了移動終端處于充電狀態(tài)時,移動終端中的指南針所確定的方位角的準確性較低,以致指南針指示失效的問題,提高了指南針確定的方位角的準確性。
[0031]實施例二
[0032]本實施例以上述實施例為基礎提供了一種指南針方位的確定方法,本實施例中在通過硬件抽象層獲取內核層中的指南針傳感器測得的傳感測量值之前,還可以包括:通過硬件抽象層獲取智能終端處于充電狀態(tài)時指南針傳感器測得的充電傳感測量值,以及智能終端處于非充電狀態(tài)時指南針傳感器測得的非充電傳感測量值;根據(jù)所述充電傳感測量值和所述非充電傳感測量值,計算指南針傳感器的傳感誤差值。
[0033]圖2是本發(fā)明實施例二中的一種指南針方位的確定方法的流程圖,如圖2所示,所述方法具體可以包括如下步驟:
[0034]步驟210、通過硬件抽象層獲取智能終端處于充電狀態(tài)時指南針傳感器測得的充電傳感測量值,以及智能終端處于非充電狀態(tài)時指南針傳感器測得的非充電傳感測量值。
[0035]其中,可以對所述充電傳感測量值和非充電傳感測量值進行多次測量,以提高測量精度。并且隨著使用時間的增長,所述指南針傳感器的工作狀態(tài)可能會發(fā)生變化,可以每隔一段時間對所述充電傳感測量值和非充電傳感測量值進行一次測量。
[0036]步驟220、根據(jù)所述充電傳感測量值和所述非充電傳感測量值,計算指南針傳感器的傳感誤差值。
[0037]具體的,若分別在充電狀態(tài)下測量一組充電傳感測量值,在非充電狀態(tài)下測量一組非充電傳感測量值,則可以分別對所述充電傳感測量值和非充電傳感測量值求取平均值,并通過做差得到傳感誤差值。若進行多次充電和非充電狀態(tài)傳感測量值的測量,可以得到多個傳感誤差值,將多個傳感誤差值求取平均值,可以大大提高傳感誤差值的準確度。
[0038]步驟230、在智能終端處于充電狀態(tài)時,通過硬件抽象層獲取內核層中的指南針傳感器測得的傳感測量值。
[0039]步驟240、根據(jù)預先獲得的傳感誤差值計算所述傳感測量值的傳感校正值。
[0040]步驟250、根據(jù)所述傳感校正值計算指南針的方位角。
[0041]本實施例的技術方案通過硬件抽象層獲取智能終端處于充電狀態(tài)時指南針傳感器測得的充電傳感測量值,以及智能終端處于非充電狀態(tài)時指南針傳感器測得的非充電傳感測量值,根據(jù)所述充電傳感測量值和所述非充電傳感測量值,計算指南針傳感器的傳感誤差值,并根據(jù)所述傳感誤差值計算所述傳感測量值的傳感校正值,進而根據(jù)所述傳感校正值計算指南針的方位角,解決了移動終端處于充電狀態(tài)時,移動終端中的指南針所確定的方位角的準確性較低,以致指南針指示失效的問