劉 夏 莫樹培,2 羅 浩 陳 明
1(貴州工業(yè)職業(yè)技術(shù)學(xué)院電子與信息工程學(xué)院 貴州 貴陽 550008)
2(中南大學(xué)信息科學(xué)與工程學(xué)院 湖南 長沙 410000)
煤礦井下人員定位系統(tǒng)是《煤炭安全規(guī)程》中規(guī)定必須安裝的安全避險(xiǎn)“六大系統(tǒng)”之一,定位系統(tǒng)的可靠性、實(shí)時(shí)性和定位精度,對提高煤礦安全保障能力具有重要作用。
隨著國家對煤礦安全生產(chǎn)重視,國有大中型煤礦都采用以有線工業(yè)以太網(wǎng)為核心骨干網(wǎng)的煤礦綜合自動(dòng)化系統(tǒng),各種設(shè)備都通過網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸,可在此基礎(chǔ)上搭建井下人員無線定位系統(tǒng)。無線定位[1]主要有到達(dá)時(shí)間定位[2]、到達(dá)時(shí)間差定位[3]、三角定位[4]和DV-Hop定位[5]和指紋定位等定位方法。其中指紋定位[6]通常分為離線階段(即離線建立指紋數(shù)據(jù)庫)和定位階段(即在線匹配指紋估算位置)。目前用于指紋定位算法有貝葉斯分類算法、神經(jīng)網(wǎng)絡(luò)算法、加權(quán)K近鄰算法和動(dòng)態(tài)K值加權(quán)算法等。利用貝葉斯分類算法[7]可較好實(shí)現(xiàn)定位,但概率計(jì)算需要大量統(tǒng)計(jì)工作,在定位時(shí)計(jì)算復(fù)雜,對硬件要求較高。神經(jīng)網(wǎng)絡(luò)算法定位[8]效果好,但結(jié)構(gòu)復(fù)雜,收斂速度慢,容易陷入局部極小值問題。加權(quán)K近鄰算法[9](WKNN)是將目標(biāo)點(diǎn)與K個(gè)樣本點(diǎn)之間的信號空間距離為權(quán)重對其坐標(biāo)進(jìn)行加權(quán)處理,從而得到目標(biāo)點(diǎn)的位置坐標(biāo)。該算法具有很好的魯棒性和普適性,但K為固定值,通常是交叉驗(yàn)證或統(tǒng)計(jì)得到,并非對所有樣本點(diǎn)都是最優(yōu),會出現(xiàn)把離目標(biāo)點(diǎn)實(shí)際距離較遠(yuǎn)的樣本點(diǎn)帶入計(jì)算,從而影響定位精度。動(dòng)態(tài)K值加權(quán)算法[10](EWKNN)是動(dòng)態(tài)地選擇值,但需要計(jì)算全部樣本點(diǎn),計(jì)算量較大,定位實(shí)時(shí)性差。
針對上述問題結(jié)合煤礦井下特殊環(huán)境,本文提出了離線階段利用K-means++算法對所有樣本點(diǎn)進(jìn)行聚類建立離線指紋數(shù)據(jù)庫;定位階段利用校準(zhǔn)補(bǔ)償器離線和定位階段RSSI的變化量,實(shí)時(shí)補(bǔ)償目標(biāo)點(diǎn)RSSI值,再通過動(dòng)態(tài)WKNN改進(jìn)算法和離線指紋數(shù)據(jù)庫對目標(biāo)點(diǎn)進(jìn)行位置估算。經(jīng)實(shí)驗(yàn)證明在煤礦井下特定的環(huán)境中,本文提出算法運(yùn)算時(shí)間減少,定位精度得到提升,平均定位誤差為1.67 m。因此K-means++和動(dòng)態(tài)WKNN自適應(yīng)指紋定位算法更適應(yīng)煤礦井下人員定位。
本文實(shí)驗(yàn)條件為貴州某煤礦井下965 m工業(yè)以太網(wǎng)已覆蓋的巷道。在工業(yè)以太網(wǎng)基礎(chǔ)上搭建無線局域網(wǎng)絡(luò),從而降低建造成本,并能快速建成井下無線定位系統(tǒng),其結(jié)構(gòu)如圖1所示。
圖1 井下無線指紋實(shí)時(shí)定位系統(tǒng)結(jié)構(gòu)圖
由圖1可知井下無線實(shí)時(shí)定位系統(tǒng)由地面機(jī)房和井下系統(tǒng)組成。地面機(jī)房由服務(wù)器、交換機(jī)和展示系統(tǒng)等設(shè)備組成;井下系統(tǒng)由本安型AP終端、自制校準(zhǔn)補(bǔ)償器和無線終端等設(shè)備組成。
實(shí)現(xiàn)井下無線定位系統(tǒng)所涉及到的關(guān)鍵技術(shù)包括井下巷道無線網(wǎng)絡(luò)覆蓋、數(shù)據(jù)鏈組網(wǎng)技術(shù)、無線終端設(shè)計(jì)和人員運(yùn)動(dòng)軌跡電子地圖等。
煤礦井下電氣設(shè)備必須滿足《煤礦安全規(guī)程》相關(guān)要求才能使用。為此AP終端選用本質(zhì)安全型的無線設(shè)備,無線信道選取頻段2.4 GHz,同時(shí)限制發(fā)射功率不能超過100 mW。
煤礦井下巷道空間狹小、表面粗糙、分支較多、斷面面積大小不一等地理因素會影響到無線信號傳播。而巷道中分布有電纜、水管、鐵軌和機(jī)械設(shè)備,當(dāng)它們工作時(shí)會產(chǎn)生嚴(yán)重噪聲,并對無線信號傳播進(jìn)行干擾。按常用無線網(wǎng)絡(luò)布置方法,不能實(shí)現(xiàn)井下巷道無線網(wǎng)絡(luò)全覆蓋,為此引入虛擬力算法[11]對無線覆蓋進(jìn)行優(yōu)化。
首先在實(shí)驗(yàn)井下巷道中按照一定的間距隨機(jī)布置個(gè)AP節(jié)點(diǎn)。假設(shè)在實(shí)驗(yàn)區(qū)域中每個(gè)AP節(jié)點(diǎn)都受到其他AP節(jié)點(diǎn)的力作用,則每個(gè)AP節(jié)點(diǎn)受到作用力的合力Fα,可表示為:
(1)
式中:Fαβ為第β個(gè)對第α個(gè)AP節(jié)點(diǎn)的作用力,F(xiàn)αγ為第α個(gè)AP節(jié)點(diǎn)的引力,F(xiàn)αθ為實(shí)驗(yàn)區(qū)域邊界對第α個(gè)AP節(jié)點(diǎn)的約束力。
設(shè)第α個(gè)AP節(jié)點(diǎn)的位置坐標(biāo)為(xα,yα),鄰居節(jié)點(diǎn)的位置坐標(biāo)為(xβ,yβ),節(jié)點(diǎn)之間距離為dαβ可以表示為:
(2)
AP節(jié)點(diǎn)之間距離的閾值為dth;如AP節(jié)點(diǎn)之間距離小于dth,說明節(jié)點(diǎn)之間距離過近,需要調(diào)整AP節(jié)點(diǎn)的坐標(biāo),調(diào)整量move可以表示為:
move=(dth-dαβ)/2
(3)
設(shè)實(shí)驗(yàn)區(qū)域邊界與AP節(jié)點(diǎn)距離的閾值為dbth;如AP節(jié)點(diǎn)之間距離小于dbth,說明節(jié)點(diǎn)太靠近邊界,需要調(diào)整AP節(jié)點(diǎn)的坐標(biāo),調(diào)整量可以表示為:
(4)
虛擬力算法對無線覆蓋進(jìn)行優(yōu)化過程如下:
步驟1在實(shí)驗(yàn)區(qū)域內(nèi)所有N個(gè)AP節(jié)點(diǎn)的位置坐標(biāo)和MAC地址進(jìn)行集合得到node,初始化α=1。
步驟2計(jì)算節(jié)點(diǎn)α與鄰居節(jié)點(diǎn)β之間距離dαβ。若dαβ>dth,則進(jìn)入下一步;否則節(jié)點(diǎn)α通過式(3)計(jì)算需要調(diào)整量move,并更新集合node。
步驟3計(jì)算節(jié)點(diǎn)α與區(qū)域邊界之間距離dbα。若dbα>dbth,則進(jìn)入下一步;否則節(jié)點(diǎn)α通過式(4)計(jì)算需要調(diào)整量move,并更新集合node。
步驟4α=α+1。若α>N,則進(jìn)入下一步;否則跳轉(zhuǎn)到步驟2。
步驟5判斷覆蓋程度。若滿足要求,則算法結(jié)束;否則增加1個(gè)AP終端,N=N+1,初始化a=1,跳轉(zhuǎn)到步驟2。
經(jīng)過虛擬力算法對井下巷道無線覆蓋進(jìn)行優(yōu)化,可以將AP與AP的間距基本控制在85 m內(nèi),實(shí)現(xiàn)井下測試巷道無線網(wǎng)絡(luò)全覆蓋。
無線網(wǎng)絡(luò)是搭建在煤礦工業(yè)以太網(wǎng)基礎(chǔ)上,所以必須設(shè)計(jì)適合井下定位系統(tǒng)且支持移動(dòng)節(jié)點(diǎn)的MAC協(xié)議。為此本文系統(tǒng)采用MS-MAC協(xié)議[12],可以處理沖突,還能減小網(wǎng)絡(luò)延遲,確保數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性。
當(dāng)工業(yè)以太網(wǎng)內(nèi)有多個(gè)終端同時(shí)發(fā)送數(shù)據(jù)時(shí),會出現(xiàn)數(shù)據(jù)沖突。引入競爭避免算法到MS-MAC協(xié)議中,可消除信道競爭和數(shù)據(jù)擁塞問題。
MS-MAC協(xié)議充分考慮無線終端移動(dòng)特性,可利用節(jié)點(diǎn)密度和距離信息選擇嚇一跳轉(zhuǎn)發(fā)節(jié)點(diǎn),降低路由跳數(shù)和傳輸時(shí)延。
無線終端由鋰電池供電,采用內(nèi)置天線,方便井下作業(yè)人員隨身攜帶。該終端是采集井下人員所處位置的相關(guān)信息數(shù)據(jù),其工作原理為利用ESP8266EX芯片采集井下各個(gè)AP節(jié)點(diǎn)的RSSI值、IP地址和MAC地址,由主控芯片對信息數(shù)據(jù)進(jìn)行處理后,再通過無線網(wǎng)絡(luò)發(fā)送給服務(wù)器[13]。
校準(zhǔn)補(bǔ)償器由井下供電模塊[14]進(jìn)行供電,采用外置天線,可安裝在井下巷道,用于采集井下巷道無線信號變化量。
在硬件設(shè)計(jì)時(shí),首先將無線終端和校準(zhǔn)補(bǔ)償器合二為一,可減少防爆測試次數(shù),從而降低制作成本。其次考慮天線使用環(huán)境不同,在電路中設(shè)計(jì)了內(nèi)置天線和外置天線接口。最后根據(jù)使用方式不同,設(shè)計(jì)了井下電源模塊和鋰電池模塊兩種不同的供電方式。在實(shí)驗(yàn)中可根據(jù)設(shè)備使用方式不同,利用跳線排插,選擇天線和供電方式,以滿足在各種環(huán)境下使用,具體硬件電路組成如圖2所示。
圖2 硬件電路組成
自制無線終端和校準(zhǔn)補(bǔ)償器經(jīng)過防爆測試,完全滿足井下設(shè)備本質(zhì)安全性的要求。
根據(jù)煤礦井下實(shí)時(shí)人員定位需要,使用編程環(huán)境為Python,數(shù)據(jù)庫為MySQL。現(xiàn)有井下人員定位系統(tǒng)僅僅只能定位在某個(gè)區(qū)域范圍[15],還未在電子地圖上實(shí)現(xiàn)動(dòng)態(tài)井下人員運(yùn)動(dòng)軌跡。在系統(tǒng)軟件設(shè)計(jì)時(shí),增加井下人員軌跡數(shù)據(jù)庫,流程如圖3所示。
圖3 生成人員軌跡數(shù)據(jù)庫流程圖
由圖3可知,當(dāng)目標(biāo)點(diǎn)通過定位算法完成物理位置估算后,再與井下地理信息數(shù)據(jù)進(jìn)行比對最終生成人員軌跡數(shù)據(jù),并存放到井下人員軌跡數(shù)據(jù)庫。管理人員通過網(wǎng)絡(luò)調(diào)用人員軌跡數(shù)據(jù)庫,可實(shí)時(shí)掌握井下人員具體坐標(biāo)位置,并能在電子地圖顯示動(dòng)態(tài)井下作業(yè)人員的運(yùn)動(dòng)軌跡。當(dāng)災(zāi)難發(fā)生時(shí),可為救援工作提供有效數(shù)據(jù)支持[16-17]。
基本K-means聚類算法[18]隨機(jī)選定初始中心點(diǎn)會很容易造成算法最終收斂到局部最優(yōu),使算法未達(dá)到全局最優(yōu)。在初始化階段完善對初始值的設(shè)定,可以提高算法的性能,使得算法具有更強(qiáng)的生命力。
Arthur等提出K-means++聚類算法[19],有效解決了初始值的選擇難題,從而提高算法穩(wěn)定性。K-means++聚類算法選擇初始中心點(diǎn)方法是:先考慮到數(shù)據(jù)樣本集內(nèi)所有樣本的分布情況,選取初始的中心點(diǎn)之間距離要盡可能遠(yuǎn),這樣可以避免較大的簇被誤劃分或者幾個(gè)較小的簇被誤合并的問題。
先設(shè)所有采樣點(diǎn)的數(shù)據(jù)集合P={x1,x2,…,xP},隨機(jī)選取一個(gè)初始中心點(diǎn)為C1,剩余點(diǎn)集合P′,求剩余點(diǎn)到中心點(diǎn)之間的距離,采用歐幾里得度量可表示為:
(5)
把計(jì)算出來的全部距離相加:
(6)
K-means++算法流程如下:
輸入:所有數(shù)據(jù)點(diǎn)P,聚類個(gè)數(shù)K
輸出:K個(gè)簇的中心點(diǎn)
隨機(jī)選取一個(gè)數(shù)據(jù)點(diǎn)作為第一個(gè)初始中心點(diǎn);
repeat
由式(5)求得每個(gè)點(diǎn)與中心點(diǎn)距離得到D(xi),并保存成一個(gè)數(shù)組;
通過式(6)將所有點(diǎn)的距離相加得到Sum;
在Sum的范圍內(nèi)隨機(jī)R;
for (n=1,R>0,n++)R=R-D(xn);
點(diǎn)D(xn)作為下一個(gè)中心點(diǎn);
until選取出K個(gè)簇的中心點(diǎn)
end
由于產(chǎn)生的隨機(jī)閾值不同,計(jì)算出來的中心點(diǎn)就會不同。算法每次運(yùn)算都會產(chǎn)生不同中心點(diǎn),所以簇的中心點(diǎn)具有很強(qiáng)的多樣性,同時(shí)也保證中心點(diǎn)的質(zhì)量。
使用K-means++聚類算法得到每個(gè)簇的中心點(diǎn)作為聚類的初始化中心點(diǎn),再通過K-means算法計(jì)算出K個(gè)簇的數(shù)據(jù),從而完成聚類,整個(gè)算法具有很強(qiáng)的魯棒性,促使聚類更加穩(wěn)定。
利用K-means++聚類算法建立離線指紋庫是定位系統(tǒng)的一部分;雖然K-means++聚類比K-means聚類用時(shí)更多,但在實(shí)時(shí)定位階段時(shí)不需要對這一部分進(jìn)行計(jì)算,因此算法增加的計(jì)算成本可以不用考慮到系統(tǒng)實(shí)時(shí)性上。
自適應(yīng)補(bǔ)償法基本思想是首先通過目標(biāo)點(diǎn)RSSI信息數(shù)據(jù)計(jì)算出安裝在井下巷道最近兩個(gè)校準(zhǔn)補(bǔ)償器;其次利用這兩個(gè)校準(zhǔn)補(bǔ)償器離線階段和定位階段的RSSI信息數(shù)據(jù)計(jì)算出兩個(gè)階段之間的平均變化量;最后通過補(bǔ)償公式對目標(biāo)點(diǎn)的RSSI值進(jìn)行線性補(bǔ)償,完成對目標(biāo)點(diǎn)的實(shí)時(shí)校準(zhǔn)。
校準(zhǔn)補(bǔ)償器兩個(gè)階段之間RSSI值的平均變化量可直接反映出井下巷道電磁環(huán)境的時(shí)變特性,因此可以實(shí)時(shí)修正目標(biāo)點(diǎn)的RSSI數(shù)據(jù)。
無線信號在空間傳播模型[20]為:
P(d)=P(d0)-10αlg(d/d0)+ξ
(7)
式中:α為無線信息衰減因子;ξ為高斯分布的隨機(jī)變量且均值為零;P(d0)為經(jīng)過單位距離后的路徑損耗,通常d0為1;P(d)為經(jīng)過距離d后的路徑損耗。
由式(7)可以看出無線信息在空間中傳播是非線性的,但在井下實(shí)驗(yàn)條件中,巷道環(huán)境相對固定,選擇校準(zhǔn)補(bǔ)償器是距離目標(biāo)點(diǎn)最近兩個(gè),且對目標(biāo)點(diǎn)補(bǔ)償RSSI值變量相對較小。因此為提高定位系統(tǒng)實(shí)時(shí)性,降低計(jì)算量,可把對目標(biāo)點(diǎn)RSSI值校準(zhǔn)看作線性補(bǔ)償[21]。其具體自適應(yīng)補(bǔ)償法如下:
用歐式距離計(jì)算出目標(biāo)點(diǎn)到各個(gè)校準(zhǔn)補(bǔ)償器的距離,選取兩個(gè)歐式距離最小的校準(zhǔn)補(bǔ)償器設(shè)為CC1和CC2,其離線階段的RSSI值集合數(shù)據(jù)設(shè)為:
其定位階段的RSSI值集合數(shù)據(jù)設(shè)為:
CC1 on={R11,R12,…,R1n}
CC2 on={R21,R22,…,R2n}
求CC1離線和定位階段之間接收到各個(gè)AP節(jié)點(diǎn)RSSI的變化量,可表示為:
(8)
求CC2離線和定位階段之間接收到各個(gè)AP節(jié)點(diǎn)RSSI的變化量,可表示為:
(9)
求CC1和CC2平均變化量,可表示為:
ΔRi=(ΔRCC1i+ΔRCC2i)/2i=1,2,…,n
(10)
對目標(biāo)點(diǎn)接收到各個(gè)AP節(jié)點(diǎn)RSSI值進(jìn)行實(shí)時(shí)補(bǔ)償,可表示為:
(11)
加權(quán)K近鄰算法WKNN根據(jù)井下特殊環(huán)境,目標(biāo)點(diǎn)位置不同,選擇鄰近點(diǎn)也不同。若K值過大,則可能會將較遠(yuǎn)的無益鄰近點(diǎn)包含進(jìn)來;若K值過小,則可能會將較近的有益鄰近點(diǎn)排除在外,從而影響到系統(tǒng)定位精度。但如果值固定則無法避免上述問題[22]。為此文獻(xiàn)[10]提出了動(dòng)態(tài)K值加權(quán)算法(Enhanced Weighted K-Nearest Neighbor,EWKNN),算法思想是通過設(shè)定一個(gè)閾值,避免K值過小,并能消除歐式距離較大的參考點(diǎn),從而動(dòng)態(tài)確定K值,提高系統(tǒng)的定位精度。但EWKNN算法是對整個(gè)指紋庫中所有的樣本點(diǎn)都進(jìn)行距離計(jì)算,計(jì)算量較大,顯然不適合實(shí)時(shí)定位要求。
針對上述問題,本文提出基于K-means++聚類的動(dòng)態(tài)WKNN改進(jìn)算法,具體算法如下:
(1) 根據(jù)K-means++聚類把所有樣本點(diǎn)聚類成K個(gè)簇,K個(gè)簇的中心點(diǎn)集合為C,經(jīng)過補(bǔ)償過目標(biāo)點(diǎn)的RSSI集合為T′。
用歐式距離計(jì)算出目標(biāo)點(diǎn)T′到各個(gè)簇的中心點(diǎn)C的距離,選取歐式距離最小的簇,假設(shè)這個(gè)簇為F簇。再計(jì)算目標(biāo)點(diǎn)T′與F簇所有樣本點(diǎn)的距離,可表示為:
(12)
式中:Fij為F簇中第i個(gè)樣本點(diǎn)接收到第j個(gè)AP節(jié)點(diǎn)的RSSI值,N為AP節(jié)點(diǎn)的數(shù)量,L為F簇全部樣本點(diǎn)的數(shù)目。
(2) 通過設(shè)定一個(gè)閾值RT,保留Hi中小于等于RT中的樣本點(diǎn),設(shè)G為保留下來樣本點(diǎn)數(shù)目,并把各樣本點(diǎn)按照升序進(jìn)行排列,得到最小距離H1和最大距離HG。計(jì)算H1到各個(gè)保留樣本點(diǎn)的距離差,可表示為:
si=Hi-H1i=2,3,…,G
(13)
(3) 計(jì)算保留點(diǎn)距離差的平均值,可表示為:
S=(s2+s3+…+sG)/(G-1)
(14)
通過計(jì)算保留距離差si小于等于距離差的平均值S的樣本點(diǎn),過濾距離差較大的樣本點(diǎn),保留下來樣本點(diǎn)的數(shù)目就是K值。
(4) 最后用信號距離進(jìn)行加權(quán)估算位置,可表示為:
(15)
動(dòng)態(tài)WKNN改進(jìn)算法每次估算目標(biāo)點(diǎn)位置時(shí),都會生成動(dòng)態(tài)K值,過濾距離遠(yuǎn)的樣本點(diǎn),確保系統(tǒng)定位精度;基于K-means++聚類的動(dòng)態(tài)WKNN改進(jìn)算法因只計(jì)算離目標(biāo)點(diǎn)最近的簇中的所有點(diǎn),所以相比EWKNN算法減少運(yùn)算時(shí)間,提升定位實(shí)時(shí)性。
井下無線實(shí)時(shí)指紋定位分為離線階段和定位階段,具體定位流程如圖4所示。
圖4 系統(tǒng)定位流程圖
可以看出,離線階段的主要任務(wù)是采集足夠多采樣點(diǎn)建立離線指紋數(shù)據(jù)庫。具體流程為無線終端采集采樣點(diǎn)處接收各個(gè)AP節(jié)點(diǎn)RSSI信息數(shù)據(jù),并傳送到離線原始數(shù)據(jù)庫中。采樣點(diǎn)RSSI的平均值與人工測量的物理位置坐標(biāo)進(jìn)行組合Pi,通過這種組合方式把P個(gè)采樣點(diǎn)的數(shù)據(jù)都存入到離線原始數(shù)據(jù)庫;啟動(dòng)K-means++聚類程序?qū)﹄x線原始數(shù)據(jù)庫中所有采集點(diǎn)的數(shù)據(jù)進(jìn)行聚類,計(jì)算出K個(gè)簇的中心點(diǎn),再利用K-means聚類算法和K個(gè)簇的中心點(diǎn)進(jìn)行聚類,最后建立K個(gè)簇的離線指紋數(shù)據(jù)庫。
在采集采樣點(diǎn)的同時(shí),各個(gè)校準(zhǔn)補(bǔ)償器也采集離線階段的RSSI值,通過無線網(wǎng)絡(luò)傳送到離線補(bǔ)償數(shù)據(jù)庫中。對各個(gè)校準(zhǔn)補(bǔ)償器的RSSI信息數(shù)據(jù)求平均值,存入到離線補(bǔ)償數(shù)據(jù)庫,待定位階段補(bǔ)償時(shí)調(diào)用。
定位階段的主要任務(wù)通過算法和指紋庫估算出目標(biāo)點(diǎn)物理位置。具體流程為目標(biāo)點(diǎn)的無線終端采集接收各個(gè)AP節(jié)點(diǎn)RSSI信息數(shù)據(jù),通過無線網(wǎng)絡(luò)傳送到實(shí)時(shí)定位數(shù)據(jù)庫中。與此同時(shí),各個(gè)校準(zhǔn)補(bǔ)償器也傳送數(shù)據(jù)到定位補(bǔ)償數(shù)據(jù)庫中,具體采集數(shù)據(jù)方法和離線階段一樣。啟動(dòng)自適應(yīng)補(bǔ)償程序,計(jì)算出目標(biāo)點(diǎn)歐式距離最小的兩個(gè)校準(zhǔn)補(bǔ)償器,調(diào)用其離線和定位階段的RSSI值計(jì)算出變化量,對目標(biāo)點(diǎn)RSSI值進(jìn)行實(shí)時(shí)補(bǔ)償。然后啟動(dòng)動(dòng)態(tài)WKNN改進(jìn)程序,把目標(biāo)點(diǎn)補(bǔ)償后的RSSI值通過動(dòng)態(tài)WKNN改進(jìn)算法和離線指紋數(shù)據(jù)庫估算出目標(biāo)點(diǎn)物理位置。再與井下地理信息數(shù)據(jù)融合生成人員軌跡數(shù)據(jù),并存放到人員軌跡數(shù)據(jù)庫,完成實(shí)時(shí)定位。管理人員可實(shí)時(shí)調(diào)看井下人員運(yùn)動(dòng)軌跡,第一時(shí)間掌握井下人員狀態(tài)。
根據(jù)煤礦井下巷道環(huán)境特點(diǎn),共計(jì)965 m的巷道選取回風(fēng)巷、切眼、運(yùn)輸巷和聯(lián)絡(luò)巷為測試點(diǎn),進(jìn)行實(shí)驗(yàn),如圖5所示。
圖5 系統(tǒng)測試工程平面圖
由圖5可知運(yùn)輸巷巷道彎曲不利定位,因此在運(yùn)輸巷中安裝4個(gè)校準(zhǔn)補(bǔ)償器,回風(fēng)巷中安裝2個(gè)校準(zhǔn)補(bǔ)償器,聯(lián)絡(luò)巷和切眼各安裝1個(gè)校準(zhǔn)補(bǔ)償器,共8個(gè)校準(zhǔn)補(bǔ)償器用于對目標(biāo)點(diǎn)的RSSI值進(jìn)行實(shí)時(shí)補(bǔ)償。
根據(jù)井下巷道截面寬度,設(shè)計(jì)并定制一種可拆卸由尼龍棒組成日字格的塑料架子,長寬3 m×1.5 m,間隔1.5 m,每次能同時(shí)采集6個(gè)采樣點(diǎn)。在實(shí)際采樣過程中采樣點(diǎn)間距基本控制在1.5~2 m之間,每個(gè)采樣點(diǎn)采集10次以上RSSI數(shù)據(jù),本次測試一共采集1 826個(gè)采樣點(diǎn)。采樣完成后,由系統(tǒng)將原始信息數(shù)據(jù)庫中所有采樣點(diǎn)數(shù)據(jù)通過K-means++聚類算法程序生成離線指紋數(shù)據(jù)庫。
定位階段由作業(yè)人員帶著無線終端從回風(fēng)巷起點(diǎn)開始行徑,以2 m/s速度走完測試路段,到達(dá)聯(lián)絡(luò)巷終點(diǎn)。通過多次行走獲取482個(gè)目標(biāo)點(diǎn)的信息數(shù)據(jù)存放到實(shí)時(shí)定位數(shù)據(jù)庫中。
針對井下強(qiáng)時(shí)變性會引起較大定位誤差,把目標(biāo)點(diǎn)未經(jīng)補(bǔ)償和實(shí)時(shí)補(bǔ)償?shù)腞SSI值進(jìn)行定位比較,如圖6所示。
圖6 補(bǔ)償定位精度圖
由圖6可知目標(biāo)點(diǎn)RSSI值經(jīng)過動(dòng)態(tài)補(bǔ)償后,定位效果更好,定位精度得以提升。計(jì)算兩條曲線可得,未經(jīng)補(bǔ)償?shù)膭?dòng)態(tài)WKNN改進(jìn)算法定位精度為2.01 m,實(shí)時(shí)補(bǔ)償?shù)膭?dòng)態(tài)WKNN改進(jìn)算法定位精度為1.67 m,定位精度提高了16.92%。
對系統(tǒng)定位性能進(jìn)行檢驗(yàn),分別利用WKNN算法、EWKNN算法和本文算法進(jìn)行定位實(shí)驗(yàn),結(jié)果如圖7所示。
圖7 算法定位精度圖
由圖7可知本文算法在3 m內(nèi)定位精度明顯比EWKNN算法和WKNN算法高。計(jì)算三條曲線可得,WKNN算法定位精度為2.85 m,EWKNN算法定位精度為2.11 m,本文算法定位精度為1.67 m。
對系統(tǒng)實(shí)時(shí)性能進(jìn)行檢驗(yàn),分別利用KNN算法、WKNN算法、EWKNN算法和本文算法進(jìn)行定位實(shí)驗(yàn),結(jié)果如表1所示。
表1 算法實(shí)時(shí)性比較
由表1可知本文算法比EWKNN算法在運(yùn)算時(shí)間大幅減少,比WKNN算法運(yùn)算時(shí)間略有增加,但本文算法比WKNN算法定位精度提高了41.75%,比EWKNN算法定位精度提高了20.85%。從而驗(yàn)證了本文提出K-means++和動(dòng)態(tài)WKNN的自適應(yīng)指紋定位算法更適合煤礦井下無線指紋定位。
本文在EWKNN算法基礎(chǔ)上提出了基于K-means++聚類和動(dòng)態(tài)補(bǔ)償WKNN改進(jìn)算法,經(jīng)過井下實(shí)際測試,相對于EWKNN算法無論是在定位精度還是定位實(shí)時(shí)性方面都有顯著提高。本文將定位信息和井下地理信息數(shù)據(jù)結(jié)合,使定位更有針對性,作業(yè)人員定位可視性更好。通過自適應(yīng)補(bǔ)償法,可實(shí)時(shí)補(bǔ)償目標(biāo)點(diǎn)的RSSI值,減小環(huán)境對定位影響,從而使指紋定位算法能自適應(yīng)井下多變電磁環(huán)境。在后繼工作中,進(jìn)一步對系統(tǒng)進(jìn)行優(yōu)化,對算法進(jìn)行改進(jìn),在性能不變前提下逐步減少采樣點(diǎn)數(shù)量。