基于Android端的慣性導(dǎo)航算法研究_第1頁
基于Android端的慣性導(dǎo)航算法研究_第2頁
基于Android端的慣性導(dǎo)航算法研究_第3頁
基于Android端的慣性導(dǎo)航算法研究_第4頁
基于Android端的慣性導(dǎo)航算法研究_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

基于Android端的慣性導(dǎo)航算法研究

作者:徐鼎孟坤李尚同

來源:《軟件導(dǎo)刊》第04期

摘要:為了在GPS定位系統(tǒng)無法定位的地方(如室內(nèi)、地下通道、地鐵站等處)進行定位跟蹤,提出了一種基于Android智能手機的慣性導(dǎo)航算法,通過對安卓手機傳感器數(shù)據(jù)的采集,實現(xiàn)行人軌跡跟蹤,并實時顯示在手機屏幕上。在傳統(tǒng)慣性導(dǎo)航算法基礎(chǔ)上,該算法運用人行走過程中的周期性運動特點,對傳感器數(shù)據(jù)進行修正,精確度比傳統(tǒng)慣性導(dǎo)航算法平均提高5%。該算法不受時間、地區(qū)限制,顧客只需保持手機的對的姿態(tài),正常行走即可獲得較為精確的數(shù)據(jù),滿足了脫離GPS還能實現(xiàn)室內(nèi)導(dǎo)航的需求。核心詞:Android;慣性導(dǎo)航;傳感器DOI:10.11907/rjdk.162681中圖分類號:TP312文獻標(biāo)記碼:A

0引言現(xiàn)有的手機導(dǎo)航系統(tǒng)大多依賴GPS系統(tǒng),現(xiàn)在民用GPS系統(tǒng)精度已經(jīng)達成5m左右。但是GPS系統(tǒng)使用條件規(guī)定較高,必須確保在空曠的地方才含有較高精度,在室內(nèi)或地下等地方無用武之地。為了在GPS無法應(yīng)用的地方實現(xiàn)導(dǎo)航功效,本文提出一種基于Android智能手機傳感器的慣性導(dǎo)航算法,實現(xiàn)在手機屏幕上實時跟蹤運動軌跡的慣性導(dǎo)航系統(tǒng)。

1慣性導(dǎo)航慣性導(dǎo)航系統(tǒng)(INS,InertialNavigationSystem)也稱作慣性參考系統(tǒng),是一種不依賴于外部信息、也不向外部輻射能量(如無線電導(dǎo)航)的自主式導(dǎo)航系統(tǒng)。其工作環(huán)境不僅涉及空中、地面,還能夠在水下。慣性導(dǎo)航的基本原理是以牛頓力學(xué)定律為基礎(chǔ),通過測量載體在慣性參考系的加速度,將它對時間進行積分,變換到導(dǎo)航坐標(biāo)系中,得到在導(dǎo)航坐標(biāo)系中的速度、偏航角和位置等信息。慣性導(dǎo)航系統(tǒng)屬于推算導(dǎo)航方式,即從一已知點的位置根據(jù)持續(xù)測得的運動體航向角和速度推算出下一點位置[1]。慣性導(dǎo)航系統(tǒng)中的陀螺儀用來形成一種導(dǎo)航坐標(biāo)系,使加速度計的測量軸穩(wěn)定在坐標(biāo)系中,并給出航向和姿態(tài)角;加速度計用來測量運動體的加速度,通過對時間的一次積分得到速度,速度再通過對時間的一次積分即可得到位移[2]。

2Android傳感器大多數(shù)Android設(shè)備中都內(nèi)置有各類傳感器,用來測量運動、方向和多個環(huán)境條件。這些傳感器能夠提供非常精確的原始數(shù)據(jù),刻畫手機的多個狀態(tài),用于監(jiān)控設(shè)備的三維運動,或者設(shè)備周邊的環(huán)境變化等等。Android平臺支持下列3類傳感器:①位移傳感器。沿3個軸線測量加速度和旋轉(zhuǎn),包含加速度傳感器、重力傳感器、陀螺儀傳感器和矢量傳感器;②環(huán)境傳感器。測量多個環(huán)境參數(shù),例如周邊的空氣溫度、壓力、光線和濕度,包含氣壓傳感器、光線傳感器和溫度傳感器;③位置傳感器。測量設(shè)備的物理位置包含方向傳感器和磁力傳感器。開發(fā)過程中,通過使用Android傳感器提供的框架獲取原始數(shù)據(jù)。傳感器框架提供了某些類和接口,協(xié)助開發(fā)者完畢多個與傳感器有關(guān)的任務(wù)。

3加速度傳感器和方向傳感器本文提出的算法依賴于上述傳感器中的加速度傳感器和方向傳感器實現(xiàn)。3.1加速度傳感器加速度傳感器會返回X軸、Y軸和Z軸的加速度值,此處的三軸指傳感器本身表達方向的坐標(biāo)軸,而不是手機位置的空間直角坐標(biāo)軸。在Android系統(tǒng)中,用圖1所示的3條軸線來描述加速度方向。當(dāng)手機垂直放在桌面上時,X軸正向為沿著屏幕向右的方向,Y軸正向為沿著屏幕向上的方向,Z軸正向為與屏幕平面垂直向屏幕外的方向。各軸的數(shù)值包含引力影響,單位是m/s2;將手機屏幕朝上平放在桌面上時,X軸默認(rèn)為0,Y軸默認(rèn)0,Z軸默認(rèn)9.81;將手機屏幕朝下平放在桌面上時,X軸默認(rèn)為0,Y軸默認(rèn)0,Z軸默認(rèn)為-9.81;將手機沿屏幕左側(cè)的邊為軸向左翻轉(zhuǎn)時,X軸為正值;將手機沿屏幕右側(cè)的邊為軸向右翻轉(zhuǎn)時,X軸為負(fù)值;將手機沿屏幕上側(cè)的邊為軸向上翻轉(zhuǎn)時,Y軸為負(fù)值;將手機沿屏幕下側(cè)的邊為軸向下翻轉(zhuǎn)時,Y軸為正值。

3.2方向傳感器安卓方向傳感器是通過軟件模擬的基于加速度傳感器和地磁傳感器的虛擬傳感器。最底層數(shù)據(jù)來源仍是硬件傳感器。方向傳感器也有三條軸,返回的值為手機不同狀態(tài)的角度值。傳感器本身三軸的數(shù)據(jù)含義闡明:將手機平放在桌面上,帶圈的一端視為手機上邊,將手機視作一種平面矩形。以該矩形的中心為O點,手機縱向平行于側(cè)邊且過中點的直線為X軸,橫向平行于上下邊且過O點的直線為Y軸,垂直于手機屏幕且過O點的直線為Z軸,建立空間直角坐標(biāo)系如圖2所示(此處的三軸為空間直角坐標(biāo)軸,而不是傳感器本身的三軸)。

方向傳感器中的X:規(guī)定坐標(biāo)軸中的X正半軸為北。手機頭部指向OF方向,此時X的值為0;如果手機頭部指向OG方向,此時X值為90;指向OH方向,X值為180;指向OE,X值為270。方向傳感器中的Y:將手機沿著BC軸慢慢向上抬起,即以手機上邊為軸翻轉(zhuǎn),直到AD落到BC右邊并落在XOY平面上,這期間Y的值將在0~180之間變動;如果手機沿著AD軸慢慢翻轉(zhuǎn),直到BC落到AD左邊并且落在XOY平面上,Y的值將在0~-180之間變動。傳感器中的Z:將手機沿AB軸向上翻轉(zhuǎn),直到CD落到AB右邊并落在XOY平面上,Z值將在0~180之間變動;如果手機沿著CD軸翻轉(zhuǎn),直到AB跑到CD左邊并且落在XOY平面上,Z值將在0~-180之間變動。

4Android端顯示軌跡算法Android智能手機自帶的傳感器為實現(xiàn)慣性導(dǎo)航提供了必要的硬件支持。根據(jù)慣性傳感器收集的數(shù)據(jù)進行步態(tài)檢測、動態(tài)步長預(yù)計以及航向擬定,并在步態(tài)檢測過程中采用多條件約束的波峰—波谷檢測辦法減少偽步態(tài)識別[3]。據(jù)此,本文提出在Android手機端實現(xiàn)慣性導(dǎo)航算法。該算法包含3個部分:運動距離擬定算法、運動角度擬定算法、屏幕顯示軌跡算法。在一次運動過程中,將該過程分割為多個相等的較小單位時間,分別得出每個單位時間內(nèi)的運動距離和運動角度,并在每個單位時間結(jié)束時實時更新運動軌跡點,即可在屏幕上繪制出整個運動過程的軌跡。

4.1運動距離擬定算法假設(shè)手機持有者水平手持手機運動,手機上邊頭部方向與人面對方向一致。手機持有者運動前先輸入步長值,然后開始運動。運動過程中,首先通過傳感器獲得傳感器3個軸的加速度大小和方向。由于手機持有者每邁進一步都會使得加速度傳感器的Z軸數(shù)據(jù)出現(xiàn)一次波動,每次波動狀況非??拷?,從而在整個運動過程中能夠獲得一條運動的正弦曲線軌跡。然后對運動過程進行峰值檢測,與上一次統(tǒng)計的加速度大小進行比較,得到加速度大小的變化量,從而判斷現(xiàn)在加速度的方向,并和上一次統(tǒng)計的加速度方向進行比較,如果方向相反,則表達剛過峰值,此時執(zhí)行計步邏輯開始計步,反之則舍棄數(shù)據(jù)。在計步邏輯中,以一種峰值出現(xiàn)的周期為計步時間,在該時間內(nèi),將獲取到的加速度變化量進行二次積分,得出該時間內(nèi)的位移。如果數(shù)據(jù)十分精確,這段位移應(yīng)當(dāng)與持有者的步長相差無幾,但實際狀況下,手機加速度傳感器的采樣頻率不高,加上人類動作復(fù)雜,造成加速度傳感器的讀數(shù)誤差較大[4]??稍诜逯禉z測時加上閾值頻率判斷,過濾干擾數(shù)據(jù)。另首先,將計算出的位移與持有者步長進行比較,如果差距較大,則取初始輸入的步長值為實際步長值,如果差距較小,則取兩者的平均值為實際步長值。最后將獲得的步數(shù)乘以實際步長值即可得出運動距離。

4.2運動方向擬定算法假設(shè)手機持有者在運動中水平手持手機,手機上邊頭部方向與人面對方向一致。手機持有者在轉(zhuǎn)彎時,通過讀取方向傳感器的X值獲得現(xiàn)在手機朝向。由于手機頭部朝向與人面對方向一致,因此該值即為手機持有者的運動偏轉(zhuǎn)角度。轉(zhuǎn)向過程中手機的側(cè)面會不可避免地出現(xiàn)少量抬起,造成其它軸出現(xiàn)數(shù)據(jù)波動,因此應(yīng)當(dāng)舍棄這些波動數(shù)據(jù)。4.3屏幕顯示軌跡算法通過以上兩種方法分別獲得運動過程中的距離與角度,同時調(diào)用安卓程序接口,在手機屏幕上繪制有關(guān)軌跡。當(dāng)手機持有者直線行走時,根據(jù)檢測到的峰值,將每個峰值在屏幕上繪制一條線段,該線段的長度與初始行走時輸入的步長形成一種固定比例,后續(xù)每次峰值出現(xiàn),就按照該比例繪制一條線段,以每次峰值出現(xiàn)到下一次峰值出現(xiàn)為一種時間戳,重復(fù)繪制線段。當(dāng)手機持有者開始轉(zhuǎn)向時,方向傳感器便能讀取到X軸有較大變化,當(dāng)方向傳感器的X軸穩(wěn)定到一定程度不再出現(xiàn)較大變化時,轉(zhuǎn)向結(jié)束,應(yīng)當(dāng)立刻讀取方向傳感器的角度值,并在屏幕上根據(jù)方向傳感器返回的角度立刻朝新的方向繪制線段。運動結(jié)束時屏幕上即可顯示運動軌跡。將事先制作好的地圖放在屏幕上作為背景圖片,即可顯示出地圖軌跡。

5算法測試為驗證算法可行性,筆者根據(jù)該算法開發(fā)出了APP雛形,通過多次測試后,獲得了有關(guān)數(shù)據(jù)。

5.1測試環(huán)境測試環(huán)境地圖如圖3所示。其中橙色星標(biāo)部分為運動起點。初始狀態(tài),手機持有者打開程序,保持手機平放在手掌中,面部朝向與手機頭部朝向保持一致,輸入步長為0.6m,從起點開始正常行走。

5.2測試成果行走過程測試結(jié)束后,手機上繪制的途徑如圖4所示。對測試過程進行數(shù)據(jù)取樣,摘取其中一段直線途徑的9組數(shù)據(jù)如表1所示。表1數(shù)據(jù)顯示了程序計算的距離和實際距離,將實際距離與計算距離的差值絕對值認(rèn)為是一組數(shù)據(jù)的誤差,則10組數(shù)據(jù)的平均誤差為0.18m。

6結(jié)語基于Android手機傳感器的慣性導(dǎo)航算法,運用Android手機的加速度傳感器和方向傳感器分別獲取運動時的加速度和運動角度,通過加速度的變化規(guī)律推測步數(shù),運用加速度變化量計算步長,并通過與預(yù)設(shè)步長比較進行步長修正,再根據(jù)角度變化判斷運動轉(zhuǎn)向,從而繪制出運動軌跡,算法切實可行,可精確到0.2m以內(nèi),足以滿足室內(nèi)導(dǎo)航需求。

參考文獻:[1]王凡.智能車輛中基于GPS和陀螺儀的導(dǎo)航與定位[D].北京:北京工業(yè)大學(xué),.

[2]賈振興.導(dǎo)彈飛行過程仿真軟件設(shè)計[D].北京:北京郵電大學(xué),.

[3]王旭鳳.基于慣性導(dǎo)航的室內(nèi)定位系統(tǒng)的研究[D].長春:吉林大學(xué),.

[4]王鄭合.基于智能手機的慣性導(dǎo)航軌跡生成算法[J].工礦自動化,,41(5):8790.

[5]蘇亞光,吳亞峰,索依娜.Android平臺下傳感器技術(shù)開發(fā)計步器應(yīng)用[J].電腦編程技巧與維護,(23):4046.

[6]段丙濤.基于慣性傳感器的機器人運動軌跡研究及實現(xiàn)[D].成

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論