• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

      2017-06-20 09:00:22徐鼎孟坤李尚同
      軟件導(dǎo)刊 2017年4期
      關(guān)鍵詞:慣性導(dǎo)航步長(zhǎng)軌跡

      徐鼎 +孟坤+李尚同

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

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

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

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

      3加速度傳感器和方向傳感器 本文提出的算法依賴于上述傳感器中的加速度傳感器和方向傳感器實(shí)現(xiàn)。3.1加速度傳感器 加速度傳感器會(huì)返回X軸、Y軸和Z軸的加速度值,此處的三軸指?jìng)鞲衅鞅旧肀硎痉较虻淖鴺?biāo)軸,而不是手機(jī)位置的空間直角坐標(biāo)軸。在Android系統(tǒng)中,用圖1所示的3條軸線來描述加速度方向。 當(dāng)手機(jī)垂直放在桌面上時(shí),X軸正向?yàn)檠刂聊幌蛴业姆较颍琘軸正向?yàn)檠刂聊幌蛏系姆较?,Z軸正向?yàn)榕c屏幕平面垂直向屏幕外的方向。 各軸的數(shù)值包含引力影響,單位是m/s2;將手機(jī)屏幕朝上平放在桌面上時(shí),X軸默認(rèn)為0,Y軸默認(rèn)0,Z軸默認(rèn)9.81;將手機(jī)屏幕朝下平放在桌面上時(shí),X軸默認(rèn)為0,Y軸默認(rèn)0,Z軸默認(rèn)為-9.81;將手機(jī)沿屏幕左側(cè)的邊為軸向左翻轉(zhuǎn)時(shí),X軸為正值;將手機(jī)沿屏幕右側(cè)的邊為軸向右翻轉(zhuǎn)時(shí),X軸為負(fù)值;將手機(jī)沿屏幕上側(cè)的邊為軸向上翻轉(zhuǎn)時(shí),Y軸為負(fù)值;將手機(jī)沿屏幕下側(cè)的邊為軸向下翻轉(zhuǎn)時(shí),Y軸為正值。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      [6]段丙濤.基于慣性傳感器的機(jī)器人運(yùn)動(dòng)軌跡研究及實(shí)現(xiàn)[D].成都:電子科技大學(xué),2012.

      [7]齊保振.基于運(yùn)動(dòng)傳感的個(gè)人導(dǎo)航系統(tǒng)及算法研究[D].杭州:浙江大學(xué),2013.

      [8]尹博.基于GPS和加速度傳感器的運(yùn)動(dòng)類智能終端應(yīng)用軟件的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2012.

      [9]郝立果.基于加速度傳感器的運(yùn)動(dòng)信息采集和應(yīng)用研究[D].天津:天津大學(xué),2010.

      [10]邸文華.基于iPhone的人員行走慣性導(dǎo)航系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].天津:天津大學(xué),2012.(責(zé)任編輯:杜能鋼)

      猜你喜歡
      慣性導(dǎo)航步長(zhǎng)軌跡
      基于Armijo搜索步長(zhǎng)的BFGS與DFP擬牛頓法的比較研究
      基于慣性導(dǎo)航量程擴(kuò)展的滾動(dòng)再次受控方法
      軌跡
      基于FPV圖傳及慣性導(dǎo)航系統(tǒng)對(duì)機(jī)器人的控制
      軌跡
      軌跡
      進(jìn)化的軌跡(一)——進(jìn)化,無盡的適應(yīng)
      中國三峽(2017年2期)2017-06-09 08:15:29
      極區(qū)間接橫向慣性導(dǎo)航方法
      基于逐維改進(jìn)的自適應(yīng)步長(zhǎng)布谷鳥搜索算法
      一種新型光伏系統(tǒng)MPPT變步長(zhǎng)滯環(huán)比較P&O法
      原平市| 新昌县| 浦北县| 房产| 锡林郭勒盟| 井陉县| 白朗县| 句容市| 科技| 汝阳县| 鹤庆县| 龙州县| 鄂伦春自治旗| 和政县| 甘南县| 汉寿县| 双鸭山市| 织金县| 绍兴县| 芦溪县| 杂多县| 常山县| 通江县| 凉城县| 沂南县| 平武县| 稷山县| 军事| 辉南县| 长乐市| 诏安县| 伊吾县| 鹤岗市| 邯郸市| 西丰县| 通化市| 灯塔市| 二手房| 四川省| 岳阳县| 广德县|