金 浩,孫運全,楊海晶
(江蘇大學 電氣信息工程學院,江蘇 鎮江 321100)
為了提高井下生產調度管理的效率以及減少煤礦事故帶來的損失,需要對井下人員定位技術做進一步研究。目前在煤礦生產中廣泛應用的井下人員定位系統大多數是基于射頻識別(RFID,radio frequency identification)技術開發的,這些系統普遍無法達到較高定位精度,只能確定人員所在的大致區域,而國有大型煤礦在智能化發展過程中將會把有線無線一體化網絡作為移動通信系統的主流技術[1],這就為利用接收信號強度指示(RSSI,received signal strength indication)[2]實現更高精度的井下人員定位奠定了基礎。
基于RSSI的定位算法主要包括兩種,一是直接測距,即根據RSSI的數值直接確定目標節點與信標節點之間的距離,得到目標節點的相對位置。二是位置指紋方法,即確立RSSI值與位置的直接映射關系,而不必確定目標節點與信標節點之間的距離。由于井下環境復雜,信號傳播過程中不可避免地受到衰落,陰影以及多徑效應的影響,直接測距的方法精度不高,所以位置指紋方法逐漸成為了當前研究的主流。
文獻[3]使用模擬退火算法優化RBF神經網絡的結構,并將其應用于無線定位問題中。文獻[4]使用啟發式算法優化神經網絡,建立RSSI值與位置的直接映射關系。文獻[5]提出基于極限學習機的定位算法,通過對比測試,發現其定位效果好于BP等其他神經網絡定位算法。文獻[6]使用了鯨魚算法優化神經網絡的結構,在避免局部最優和收斂速度上表現良好。文獻[7]使用遷移學習的方式使定位算法適應室內環境的變化,將上個時間段提取的特征遷移到下一個時間段使用。這一構想還不能適應環境變化更為復雜的井下。文獻[8]根據參考基站實時RSSI更新指紋地圖。這種方法可以使用較少的參考基站,降低了對硬件的要求。但由于算法的復雜度太高,定位的速度慢,無法滿足井下實時定位的要求。
以上研究表明采用智能算法優化神經網絡能夠準確高效地進行在復雜環境下的定位,本文提出了改進鯨魚算法優化極限學習機的井下人員定位模型。
在離線訓練階段,將煤礦井下參考節點接收到的RSSI值作為神經網絡的輸入,將參考節點的位置坐標作為網絡輸出,以此訓練ELM 神經網絡,獲得RSSI值與節點坐標之間的網絡模型。為了提高ELM神經網絡的泛化能力,采用改進鯨魚算法為ELM選取合適的權值和閾值,構建了IWOA-ELM初始定位模型。在線定位階段則引入帶動態權值因子的在線連續學習方法,首先接收采集實時位置指紋數據,代入初始定位模型中,對其進行動態調整。然后利用無線信號接收裝置接收目標點的RSSI指紋數據,代入到調整后的模型中,計算出目標節點的估計位置坐標。定位環境如圖1所示。

圖1 定位環境示意圖
綜上,本文主要針對ELM神經網絡輸入權值和隱含層閾值取值難以及環境時變性影響定位精度等問題,改進定位算法,提高了定位效果。
極限學習機(ELM,extreme learning machine) 是由文獻[8]提出的一種單隱含層前饋神經網絡(SLFN,single hidden layer feedforward neural network)。該神經網絡包括輸入層、隱含層、輸出層三層結構(如圖2所示)。

圖2 ELM神經網絡結構
ELM不依賴于梯度下降,學習速度比 BP(back-propagation) 算法等傳統前饋網絡快,對于大量及非線性樣本也具有很好的適用性[9-10]。
ELM需要設置隱含層神經元的個數,而輸入層與隱含層之間的權值和隱含層的閾值則隨機產生,然后利用最小二乘法解方程組得到輸出權值。
對于訓練集中N個位置指紋數據(xi,ti),其中輸入向量為xi=[xi1,xi2,…,xim],輸出向量為ti=[ti1,ti2,…,tim]T。設ELM位置估計模型的輸入層節點個數為n,隱含層節點,個數為L,輸出層節點個數為m,該模型如下所示:
(1)
式中,σ為激活函數,以激活函數將樣本映射到另一個特征空間,得到矩陣H,
Hβ=T
(2)
在新的特征空間下,利用最小二乘法便可求解出最優輸出權值β:
β*=H+T
(3)
式中,β*為輸出權重,H+為矩陣H的Moore-Penrose廣義逆。
鯨魚優化算法是受到座頭鯨捕食行為啟發的一種啟發式算法,鯨魚包圍目標獵物的時候,假設當前的最佳候選解是目標獵物位置或最靠近獵物的位置。然后會不斷更新其位置[11],這種狩獵行為可以用如下數學公式表示:
D=|CX*(t)-X(t)|
(4)
X(t+1)=X*(t)-AD
(5)
其中:D為包圍步長,t表示當前迭代次數,X*(t)是是目前得到的最優解的位置向量,X(t)為當前位置向量,如果在迭代中出現更優解,那么位置向量X*(t)也要隨之更新。A和C是系數向量,由如下公式得出:
(6)
C=2r
(7)
其中:a在迭代過程中從2線性下降到0,tmax是最大迭代次數。r是區間內的隨機向量。
算法模擬鯨魚通過氣幕襲擊和隨機搜索的捕食過程進行迭代,尋找最優鯨魚種群適應度值,該階段可以用如下公式表示:
L(t+1)=

(8)
D1=|CL*(t)-L(t)|
D2=|CLrand(t)-L(t)|
D3=|L*(t)-L(t)|
(9)
式中,當|A|<1時,鯨魚向獵物發起攻擊,攻擊方式取決于取值范圍為[0,1]的隨機數ρ,當ρ<0.5時采用收縮包圍機制更新空間位置,當ρ≥0.5時則采用螺旋式位置更新機制。當|A|>1時鯨魚群則用隨機的方式更新位置進行搜索捕食,這樣可以保證算法對于全局的搜索。
WOA算法簡潔易實現、參數設置少、尋優性能強, 然而,基本WOA算法仍然存在不足,由相關文獻[12]分析可知,由于收斂因子a在迭代過程中線性遞減,算法的全局搜索能力也隨之下降,到了迭代后期群體中所有個體均向最優個體聚集,導致群體多樣性缺失,易使算法陷入局部最優[13-14]。為了解決上述問題,本文引入多樣性變異操作改善WOA算法性能,使算法能避免早熟收斂,得到全局最優解。
IWOA算法的基本思想是將多樣性變異操作引入WOA算法中,假設最優個體Xi=(xi1,xi2,…,xid),從個體中隨機選取一個元素xk(k=1,2,…,d),然后進行如下式所示的變異:

(10)
其中:λ為取值范圍[0,1]的隨機數,ui和li分別為變量Xi的上界和下界。
對最優鯨魚個體的多樣性變異操作,避免了算法出現早熟收斂,最終收斂到全局最優解。
IWOA-ELM算法的基本思想是利用IWOA算法對ELM的權值和閾值進行優化,發揮IWOA算法的全局尋優能力,提高ELM神經網絡的泛化能力。IWOA-ELM算法流程如下。
Step1:設置IWOA算法的參數,鯨魚種群規模sizepop,迭代次數maxgen,鯨魚種群的位置上界和下界ub和lb;
(11)
(12)

對每個個體的適應度值進行排序,得到最佳鯨魚個體及位置,并將其記錄;
Step3:根據收斂因子更新公式計算收斂因子a的值;
Step4:計算其他參數A,C,l和p,判斷概率P的值是否小于0.5,若是,則轉入Step5,否則搜索個體按照公式以螺旋運動的方式向獵物進行攻擊;
Step5:判斷參數A的值是否小于 1,若是,搜索個體則按照公式對獵物進行收縮包圍,否則搜索代理根據公式進行全局搜索;
Step6:此時位置更新完畢,再次計算每個搜索個體求解目標函數的適應度值,并與先前保留的最佳搜索代理的位置信息X*進行比較,若優于X*對X*位置信息進行替換;
Step7:對當前最優個體進行多樣性變異操作,計算個體的適應度值,更新最優解;
Step8:比較當前迭代次數與設定值,若達到設定值,終止迭代,輸出當前最優解(即ELM的最優權值和閾值),否則返回 Step3;
Step9:將IWOA算法輸出的最優解映射為ELM神經網絡的初始權值和閾值,用訓練樣本集訓練ELM神經網絡,完成井下定位算法模型建立。
為了在井下電磁環境隨時間變動的情況下,保證定位系統的精度,就需要根據環境的變化,及時對定位模型進行校準。因此,本文在原有IWOA-ELM算法的基礎上,引入在線連續學習方法[15],使得初始定位模型能夠根據在線階段更新的動態校準數據得到調整。
H的Moore-Penrose廣義逆H+為:
H+=(HTH)-1HT
(13)
所以初始定位模型的輸出權值矩陣如公式所示:
(14)

(15)

(16)
則式(15)可改寫為:
(17)
那么,當第k+1組數據輸入時,輸出權值矩陣為:
(18)

從式(18)中可以看出,當定位模型中輸入新的指紋數據時,不需要再將此前的數據重新納入訓練范圍,算法的計算量由此沒有大幅增長。同時定位模型也根據新增數據得到了修正,兼顧了效率和環境適應性。
但是在對式(18)進一步分析后發現,式中舊模型和新增調整量的權重系數是相同的(均為1),而事實上,在井下環境隨時變動的情況下,就要求定位模型能盡快適應這種變化,調整好舊有模型和新增調整量的相對重要性[16]。所以本文在式(15)中加入動態權值因子,將式(15)改為:
(19)

(20)
式中,E為調整前后模型的精度之差,由于環境的變化是連續且相對穩定的,所以選擇平滑性好的arctan作為激活函數,同時通過測試,確定當arctan的放大系數為1/5π時能夠使調整后的模型達到最高定位精度。
井下定位算法分為離線訓練階段和在線定位階段兩個部分。在離線訓練階段,首先利用無線信號接收裝置采集初始階段的位置指紋數據,然后用采集好的數據集訓練IWOA-ELM神經網絡。建立IWOA-ELM神經網絡定位模型,具體流程如圖3所示。

圖3 在線訓練流程
在線定位階段,首先接收采集實時位置指紋數據,代入初始定位模型中,對其進行動態調整。然后利用無線信號接收裝置接收目標點的RSSI指紋數據,代入到調整后的模型中,計算出目標節點的估計位置坐標。具體流程如圖4所示。

圖4 實時定位流程
本文使用MATLAB對井下場景的射線跟蹤進行仿真[17-19],生成用于測試的指紋數據庫。實驗的仿真平臺為MATLAB 2016b,電腦配置為 Core i5處理器、8 GB內存。該指紋數據庫設定為50 m×4 m的狹長空間,其中分布有6個AP節點,由 ITU傳播模型[20]來構建,其表達式如下:
PL(d)=PL0-10αlog(d)+Xσ
(21)
式中,PL0是路徑損耗系數,Xσ是均值為零的隨機噪聲,α是路徑衰減指數。構建完成的指紋數據庫包括10 000組離線訓練數據、1 000組增量訓練數據以及90組在線測試數據,部分訓練數據如表1所示。
實驗分為兩部分:第一部分是在環境不變的情況下驗證初始定位模型的性能,而第二部分則是在環境

表1 部分訓練數據 信號強度單位:dBm
變化情況下驗證定位模型對環境變化的適應能力。對定位模型性能的評判標準為定位平均誤差和不同誤差距離下的置信概率。
根據實驗中采集的訓練數據集,對IWOA-ELM神經網絡的初始參數進行設置,由于一組數據中包含6個RSSI值,所以輸入層節點數為6。分別對sin,hardlim和sigmoid函數進行測試對比后發現,激活函數選擇sigmoid函數時,定位結果最穩定,誤差也相對小。如圖5所示,其他條件相同時,在測試中確定當隱含層節點數為700,定位誤差最小。

圖5 不同隱含層節點個數下的定位誤差
為了能夠直觀地展示本文提出的定位算法性能,使用同樣的訓練數據和測試數據代入不同定位模型。并對其結果進行對比分析,其中包括BP, ELM, WOA-ELM和IWOA-ELM。使用的數據為離線階段在同一環境中采集的同一時段的測量數據。部分定位結果如圖6所示。

圖6 初始定位模型性能對比

表2 各定位模型的定位平均誤差
針對煤礦井下環境時變特性使定位精度隨時間下降的問題,首先改變式(21)中的參數σ,獲得在線階段變化后的位置指紋數據,然后將數據代入初始定位模型,利用帶動態權值因子的在線序列方法對初始定位模型修正獲得本文模型(IWOA-DOS-ELM),最后分別對初始定位模型(IWOA-ELM)在線序列修正的初始定位模型(IWOA-OS-ELM)以及本文模型進行測試,測試結果如圖7所示。

圖7 三種算法的性能對比
從圖7可以看出,本文算法在誤差為1.5 m以內的置信概率是72%,而IWOA-OS-ELM算法和IWOA-ELM的置信概率分別只有56%和50%,在限定誤差為1.5 m時,IWOA-OS-ELM算法和本文算法的準確率相對于IWOA-ELM要高6%和22%,這是因為前兩個模型針對環境變化做出了一些適應性的改進,而本文算法比IWOA-OS-ELM算法的準確率還要高16%,這是因為本文算法加入了動態權值因子,使算法模型的改進更能適應環境。
由圖8可知,定位模型經動態調整后,輸出的定位坐標更加接近于實際坐標,定位精度得以提高。計算校準前后的定位平均誤差可得,未經校準的IWOA-ELM算法的定位平均誤差為2.25 m,經過校準后的IWOA-ELM算法的定位平均誤差為1.64 m,定位精度提高了,驗證了動態校準法更加適應隨時間變化的煤礦井下環境,能夠滿足井下自適應定位要求。

圖8 模型校準性能對比
圖9將三個時間段中IWOA-ELM、IWOA-OS-ELM、IWOA-DOS-ELM三種算法的平均定位誤差進行對比。時間段0、1、2分別代表發生環境變化的次數,可以發現在第一次環境變化之前,定位精度非常接近。但是在環境變化之后,可以看出通過本文提出的動態校準方法,本文算法的魯棒性最強,定位誤差最小。

圖9 三種算法不同時間段定位誤差變化
1)引入多樣性變異操作優化WOA算法,優化后的IWOA算法全局尋優能力表現更好,利用IWOA算法對ELM的輸入權值和隱含層閾值進行優化,提高了ELM神經網絡的泛化能力。
2)引入帶動態權值因子的在線連續學習方法,克服初始定位模型無法適應井下環境時變性的缺點,能夠根據在線階段更新的動態校準數據實時調整定位模型。在環境發生變化后仍有較高的定位精度。
3)對實驗結果分析得出,本文算法在環境未發生動態變化時的定位精度相比于BP、ELM、WOA-ELM算法更高。在環境發生動態變化之后,通過本文提出的動態校準方案,定位平均誤差未發生較大變化,定位穩定性最好。
4)下一步工作將研究井下人員的移動模式,根據人員移動模式的特點找到相鄰時間點人員位置之間的關聯,對連續定位的結果進行修正。預計可以剔除一些誤差較大的定位結果,以此進一步提高定位精度。