本發(fā)明涉及室內(nèi)定位技術(shù)領(lǐng)域,具體涉及一種基于android智能終端設(shè)備的室內(nèi)定位簡易方法。
背景技術(shù):
隨著無線通信技術(shù)的快速發(fā)展和人們對定位服務(wù)需求的日益增多,無線定位技術(shù)獲得越來越多的關(guān)注。全球定位系統(tǒng)gps(globalpositionsystem)是20世界70年代由美國國防部研制建立的一種具有全方位、全天候、全時段、高精度的衛(wèi)星導(dǎo)航系統(tǒng),能為全球用戶提供低成本、高精度的三維位置、速度和精確定時等導(dǎo)航信息。在信號比較容易到達(dá)的無遮擋的室外,可以通gps來獲取高精度的定位信息。對于室內(nèi)環(huán)境,由于gps信號強(qiáng)度受到室內(nèi)復(fù)雜環(huán)境的影響而大為衰弱,降低了定位精度,無法取得有用的位置信息。
研究表明人們?nèi)粘I钪?0%的時間是在室內(nèi),也就是說大部分時間都是gps定位照顧不到的,所以我們需要研究別的室內(nèi)定位技術(shù)。現(xiàn)如今,室內(nèi)定位技術(shù)受到了越來越多的關(guān)注,人們對室內(nèi)定位的需求不斷增長,如:地下車庫對車輛位置的定位管理,醫(yī)院對病人的跟蹤管理,家中兒童老人定位看護(hù)以及發(fā)生災(zāi)難時的人員追蹤與定位等等。根據(jù)室內(nèi)環(huán)境的復(fù)雜多變性,室內(nèi)定位的各種實現(xiàn)方法和解決方案也日益出現(xiàn),比如依靠gnss技術(shù)實現(xiàn)室內(nèi)定位,或利用無線傳輸技術(shù)進(jìn)行室內(nèi)定位,以及利用航位推算、圖像分析、電腦視覺等技術(shù)進(jìn)行室內(nèi)定位。
現(xiàn)有的紅外線、rfid等定位技術(shù)的定位精度一般,而且需要預(yù)先在定位環(huán)境中鋪設(shè)精度較高的信號接收裝置,對信號接受裝置的擺放位置也有很高要求。而如超聲波和超寬帶等定位技術(shù)的定位精度較高,但定位裝置的成本造價太高,不便于技術(shù)推廣。如藍(lán)牙、zigbee等定位技術(shù)雖然應(yīng)用較為普及,實現(xiàn)成本較低,但定位精度受周圍環(huán)境影響較大。wifi技術(shù)是一種基于無線信號的定位技術(shù),它對基礎(chǔ)設(shè)施的需求低,成本低廉,而且不需要安裝額外設(shè)備,是現(xiàn)在主流的室內(nèi)定位技術(shù)。但wifi室內(nèi)定位技術(shù)也存在著信號容易被室內(nèi)復(fù)雜環(huán)境干擾的缺點。pdr(pedestriandeadreckoning)定位技術(shù)是一種基于傳感器的定位技術(shù),是一種相對位置定位技術(shù),能夠隨時提供運(yùn)動體連續(xù)的二維位置信息。與基于無線信號的定位技術(shù)相比,該技術(shù)的優(yōu)點在于它的定位精度,取決于傳感器實時測量的數(shù)據(jù)的準(zhǔn)確性,受周圍環(huán)境的干擾較小。但是pdr技術(shù)也有相應(yīng)的缺點,它容易產(chǎn)生累積誤差。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有的室內(nèi)定位技術(shù)存在的精確度不足,易于受環(huán)境干擾和成本高的缺點,本發(fā)明提出了一種能夠有效提高定位精度,減小環(huán)境干擾,成本低廉,技術(shù)原理簡單,易于推廣的室內(nèi)定位簡易方法。
本發(fā)明是通過下述技術(shù)方案實現(xiàn)的:
一種基于wifi與pdr的室內(nèi)定位簡易方法,包括如下步驟:
s1:設(shè)定初始位置和步長;
s2:通過加速度傳感器測量的加速度值對行人的運(yùn)動狀態(tài)進(jìn)行判定;
s3:通過rssi值進(jìn)行wifi定位方法,采集多個參考節(jié)點的rssi值,當(dāng)檢測到rssi值超過閾值時,運(yùn)用改進(jìn)后的算法計算出當(dāng)前位置,將當(dāng)前位置作為實際位置值;
s4:進(jìn)行pdr定位,對室內(nèi)行人進(jìn)行航跡推算得到位置估計。
上述技術(shù)方案中,步驟s2中,判斷行人的運(yùn)動狀態(tài)的方法如下:
通過android系統(tǒng)提供的系統(tǒng)接口獲取移動終端加速度傳感器的實時數(shù)據(jù),得到數(shù)組ai=(xi,yi,zi),xi、yi、zi分別代表系統(tǒng)第i次測量時在三個方向上的加速度,與此同時通過對z軸加速度值zi進(jìn)行峰值檢測,得到z軸加速度峰值大小數(shù)據(jù)zp,間隔時間ti,持續(xù)時間td;
記錄當(dāng)前時刻的加速度傳感器數(shù)據(jù)an=(xn,yn,zn)與100ms前的加速度傳感器數(shù)據(jù)an-1=(xn-1,yn-1,zn-1),將an與an-1的數(shù)據(jù)與間隔時間ti進(jìn)行處理可以得到震動幅度值value,value由以下的式子得出:
value=(|xn-xn-1|+|yn-yn-1|+|zn-zn-1|)/ti*100,
對value的累積值values進(jìn)行檢測,當(dāng)values大于設(shè)定的震動閾值5時,才會判斷z軸加速度峰值大小數(shù)據(jù)zp是否大于1.5,當(dāng)300ms>持續(xù)時間td>90ms,間隔時間ti>100ms時,計步算法才會判定用戶的移動。
上述技術(shù)方案中,在步驟s3中的采集rssi值,當(dāng)檢測到有三個以上的rssi值超過閾值時,運(yùn)用rssi三角形質(zhì)心算法計算出當(dāng)前位置,將當(dāng)前位置作為實際位置值,實現(xiàn)rssi測距補(bǔ)償。
上述技術(shù)方案中,步驟s3具體通過以下步驟實現(xiàn):
s301:設(shè)定rssii表示未知節(jié)點m接受固定錨節(jié)點b1信號的rssi平均值,pi表示未知節(jié)點m接收到固定錨節(jié)點bi的信號強(qiáng)度平均值,則兩者的轉(zhuǎn)換關(guān)系,如公式所示:
s302:所有錨節(jié)點以相同功率周期性地對外發(fā)出廣播信息,信息中包括自身坐標(biāo)及節(jié)點id,未知節(jié)點收集每一錨節(jié)點的rssi值,求出每個錨節(jié)點的平均值;
s303:當(dāng)普通節(jié)點收集到一定數(shù)量的錨節(jié)點信息時,求出普通節(jié)點到錨節(jié)點距離,由對應(yīng)公式計算出di,將計算得到的di值從小到大排列;
s304:普通節(jié)點根據(jù)rssi值從大到小對錨節(jié)點排序,并建立rssi值與節(jié)點到錨節(jié)點距離的映射,建立三個集合,
其中錨節(jié)點位置集合:p_set={(x1,y1),(x2,y2),…,(xn,yn),},
錨節(jié)點集合:b_set={a1,a2,…,an},
未知節(jié)點到錨節(jié)點距離集合:d_set={d1,d2,…,dn},三個集合根據(jù)di從小到大的順序進(jìn)行排列;
s305:在錨節(jié)點集合b_set中優(yōu)先選取rssi值大的前幾個錨節(jié)點,組成以下的錨節(jié)點集合:
tset={(a1,a2,a3),(a1,a2,a4)…..(a1,a3,a4),(a1,a3,a5)…}
對錨節(jié)點集合tset,根據(jù)傳統(tǒng)的三角形質(zhì)心算法,求出最終節(jié)點m坐標(biāo),也就是最后的定位位置。
上述技術(shù)方案中,步驟s4具體包括對室內(nèi)行人進(jìn)行航跡推算,設(shè)定k是預(yù)先設(shè)定的步長,ai表示第i次測量的z軸加速度值,n表示行人在一步過程中一共采集到了n次z軸加速度值,根據(jù)以上的數(shù)值,估算位移stepsize,由下面的式子得出:
通過android智能設(shè)備提供的方位傳感器對應(yīng)api接口得到浮點型方向數(shù)據(jù)后,首先對東西南北四個方向進(jìn)行判斷,然后每隔45度分割,以此判斷東南、東北、西南和西北,然后再計算出具體的度數(shù)得到具體的方位,根據(jù)方位和估算位移,由初始位置p0得到推算位置p1,將推算位置p1的值賦給p0,做好下一次pdr定位的準(zhǔn)備。
上述技術(shù)方案中,所述android智能設(shè)備包智能手機(jī)、智能平板或者智能手表。
本發(fā)明與現(xiàn)有技術(shù)相比,具有如下有益效果:
由于本本發(fā)明使用的技術(shù)方案是采用基于rssi的wifi定位技術(shù)與pdr技術(shù)相融合的聯(lián)合定位策略,基于rssi的絕對定位克服了單獨(dú)使用pdr航位推算算法時步長不穩(wěn)定及容易產(chǎn)生積累誤差的缺陷,又可以通過pdr技術(shù)減小rssi定位的波動性。定位過程主要采用航位推算,規(guī)避了基于rssi室內(nèi)定位時信號易受環(huán)境干擾的缺點。同時,使用本發(fā)明的方法的系統(tǒng)不用安裝外部設(shè)備,對傳感器的精度要求低,從而在避免設(shè)計復(fù)雜度較高的系統(tǒng)的同時,還可減少硬件成本消耗,進(jìn)而使得室內(nèi)定位時耗費(fèi)的成本較低。本發(fā)明具有成本低廉,技術(shù)原理簡單,并且定位精度較高,受周圍環(huán)境干擾較小的優(yōu)點。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
圖1為本發(fā)明的流程示意圖;
圖2為本發(fā)明中的運(yùn)動狀態(tài)判斷原理圖;
圖3為本發(fā)明中基于pdr的計步算法流程圖;
圖4為本發(fā)明中基于rssi的三角形質(zhì)心定位原理圖;
圖5為本發(fā)明中運(yùn)用方位傳感器判斷方向流程圖。
具體實施方式
下面結(jié)合實施例及附圖對本發(fā)明作進(jìn)一步詳細(xì)的描述,但本發(fā)明的實施方式不限于此。
如圖1所示,本發(fā)明提出一種基于wifi與pdr的室內(nèi)定位簡易方法,包括如下步驟:
s1:設(shè)定初始位置和步長;初始步長需要根據(jù)對應(yīng)模型設(shè)定。通過一個佩戴在行人身上的設(shè)備,由加速度傳感器實時收集數(shù)據(jù),可以由收集的加速度信息和預(yù)先設(shè)定的閾值進(jìn)行初始化狀態(tài)判定。通過行人起步的時間和步行過程中的加速度值,通過步長算法求出行人的步長。
s2:通過加速度傳感器測量的加速度值對行人的運(yùn)動狀態(tài)進(jìn)行判定;
s3:通過rssi值進(jìn)行wifi定位方法,采集多個參考節(jié)點的rssi值,當(dāng)檢測到rssi值超過閾值時,運(yùn)用改進(jìn)后的算法計算出當(dāng)前位置,將當(dāng)前位置作為實際位置值;
s4:進(jìn)行pdr定位,對室內(nèi)行人進(jìn)行航跡推算得到位置估計。
步驟s2中,判斷行人的運(yùn)動狀態(tài)的方法如下:
通過android系統(tǒng)提供的系統(tǒng)接口獲取移動終端加速度傳感器的實時數(shù)據(jù),得到數(shù)組ai=(xi,yi,zi),xi、yi、zi分別代表系統(tǒng)第i次測量時在三個方向上的加速度,與此同時通過對z軸加速度值zi進(jìn)行峰值檢測,得到z軸加速度峰值大小數(shù)據(jù)zp,間隔時間ti,持續(xù)時間td,結(jié)果如圖2所示。
記錄當(dāng)前時刻的加速度傳感器數(shù)據(jù)an=(xn,yn,zn)與100ms前的加速度傳感器數(shù)據(jù)an-1=(xn-1,yn-1,zn-1),將an與an-1的數(shù)據(jù)與間隔時間ti進(jìn)行處理可以得到震動幅度值value,value由以下的式子得出:
value=(|xn-xn-1|+|yn-yn-1|+|zn-zn-1|)/ti*100,
對value的累積值values進(jìn)行檢測,當(dāng)values大于設(shè)定的震動閾值5時,才會判斷z軸加速度峰值大小數(shù)據(jù)zp是否大于1.5,當(dāng)300ms>持續(xù)時間td>90ms,間隔時間ti>100ms時,計步算法才會判定用戶的移動,如圖3所示。
在步驟s3中的采集rssi值,當(dāng)檢測到有三個以上的rssi值超過閾值時,運(yùn)用rssi三角形質(zhì)心算法計算出當(dāng)前位置,將當(dāng)前位置作為實際位置值,實現(xiàn)rssi測距補(bǔ)償。
步驟s3具體通過以下步驟實現(xiàn):
s301:設(shè)定rssii表示未知節(jié)點m接受固定錨節(jié)點b1信號的rssi平均值,pi表示未知節(jié)點m接收到固定錨節(jié)點bi的信號強(qiáng)度平均值,則兩者的轉(zhuǎn)換關(guān)系,如公式所示:
s302:所有錨節(jié)點以相同功率周期性地對外發(fā)出廣播信息,信息中包括自身坐標(biāo)及節(jié)點id,未知節(jié)點收集每一錨節(jié)點的rssi值,求出每個錨節(jié)點的平均值;
s303:當(dāng)普通節(jié)點收集到一定數(shù)量的錨節(jié)點信息時,求出普通節(jié)點到錨節(jié)點距離,由對應(yīng)公式計算出di,將計算得到的di值從小到大排列;
s304:普通節(jié)點根據(jù)rssi值從大到小對錨節(jié)點排序,并建立rssi值與節(jié)點到錨節(jié)點距離的映射,建立三個集合,
其中錨節(jié)點位置集合:p_set={(x1,y1),(x2,y2),…,(xn,yn),},
錨節(jié)點集合:b_set={a1,a2,…,an},
未知節(jié)點到錨節(jié)點距離集合:d_set={d1,d2,…,dn},三個集合根據(jù)di從小到大的順序進(jìn)行排列;
s305:在錨節(jié)點集合b_set中優(yōu)先選取rssi值大的前幾個錨節(jié)點,組成以下的錨節(jié)點集合:
tset={(a1,a2,a3),(a1,a2,a4)…..(a1,a3,a4),(a1,a3,a5)…}
對錨節(jié)點集合tset,根據(jù)傳統(tǒng)的三角形質(zhì)心算法,求出最終節(jié)點m坐標(biāo),也就是最后的定位位置,如圖4所示。
步驟s4具體包括對室內(nèi)行人進(jìn)行航跡推算,設(shè)定k是預(yù)先設(shè)定的步長,ai表示第i次測量的z軸加速度值,n表示行人在一步過程中一共采集到了n次z軸加速度值,根據(jù)以上的數(shù)值,估算位移stepsize,由下面的式子得出:
通過android智能設(shè)備提供的方位傳感器對應(yīng)api接口得到浮點型方向數(shù)據(jù)后,首先對東西南北四個方向進(jìn)行判斷,然后每隔45度分割,以此判斷東南、東北、西南和西北,然后再計算出具體的度數(shù)得到具體的方位,根據(jù)方位和估算位移,如圖5所示。由初始位置p0得到推算位置p1,將推算位置p1的值賦給p0,做好下一次pdr定位的準(zhǔn)備。
所述android智能設(shè)備包智能手機(jī)、智能平板或者智能手表。
上述方案使用的是基于rssi的wifi定位技術(shù)與pdr技術(shù)相融合的聯(lián)合定位策略,基于rssi的絕對定位克服了單獨(dú)使用pdr航位推算算法時步長不穩(wěn)定及容易產(chǎn)生積累誤差的缺陷,又可以通過pdr技術(shù)減小rssi定位的波動性。定位過程主要采用航位推算,規(guī)避了基于rssi室內(nèi)定位時信號易受環(huán)境干擾的缺點。同時,使用本發(fā)明的方法的系統(tǒng)不用安裝外部設(shè)備,對傳感器的精度要求低,從而在避免設(shè)計復(fù)雜度較高的系統(tǒng)的同時,還可減少硬件成本消耗,進(jìn)而使得室內(nèi)定位時耗費(fèi)的成本較低。
上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受上述實施例的限制,其他的任何未背離本發(fā)明的精神實質(zhì)與原理下所作的改變、修飾、替代、組合、簡化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護(hù)范圍之內(nèi)。