馬海舒,馬宗正
(河南工程學院,鄭州 451191)
智慧工廠的核心理念就是信息系統和物理系統的深度融合。實現物料,人員和設備的實時定位識別對于提高車間管理質量和效率具有重要意義。射頻識別技術作為物聯網的關鍵技術以其非接觸、非視距且抗干擾能力強等特點,成為了室內定位領域的一個主要研究方向[1]。RFID已經越來越多被用在倉儲物流[2],工業自動化[3],AGV定位[4]等場景中。海南航空利用RFID技術進行行李分揀[5]。精確的追蹤技術確保了分揀設備可以快速準確的找到目標設備行李。射頻識別技術也被應用在機器人導航和對象操作并達到了很高的精度[6]。通過RFID實現AGV高精度定位同時降低定位成本是目前研究的熱點。
基于RFID接收信號強度(RSS)來實現定位的研究很多。最經典的方法被稱為Landmarc,該方法通過在已知位置參考點布置RFID標簽,然后根據最近鄰算法估計目標位置[7]。但是RSS在復雜室內環境下并不準確,尤其在目標移動情況下。針對室內多徑效應,指紋法被普遍采用[8]。指紋法的應用包括兩個階段。在離線訓練階段,已知位置參考點的RSS值被采集并建立指紋庫。在線階段,當前接收信號強度和指紋庫中數據比對以確定目標點位置[9]。
依賴相位的定位方法逐漸引起越來越多注意。這類方法大致可以分為到達角度法和合成孔徑法。到達角度法利用不同天線上接收信號相位值差確定標簽位置,但是這種方法對天線間隔距離有嚴格要求,必須小于半個波長[10]。區別于到達角度法,合成孔徑法利用移動天線測量信號相位值。
本文提出了一種基于RFID的融合接收信號強度和相位值的自動導引車追蹤方法。該方法首先根據RSS得到粗略的位置估計,然后通過卡爾曼濾波將目標點預估的粗略值和標簽的瞬時速度結合得到精確的目標位置。
對于有n個參考點m個RFID天線覆蓋的區域,首先采集參考點位置的接收信號強度值RSSI。RSSI指紋是指RFID標簽在室內某一已知位置接收每一個信號接入點信號(AP)強度序列值,RSSI指紋庫可以表示為:

射頻信號強度和天線與標簽之間的距離成正相關。根據對數距離衰減模型可以得到:

其中T是信號傳遞功率,dij是信號接入點APj與第i個參考點位置之間距離,Gr,Gt分別是RFID讀寫器和標簽天線增益,λ是波長,α是信號衰減系數。是服從高斯分布的變量,被用來模擬由于多徑效應造成的RSS值浮動。
假設rssiik是在第i個參考點位置采集到的最小值,可以計算得到:

式(2)中標簽天線增益Gt可以被消掉。因此,通過將指紋庫中RSSI值做標準化處理,能夠消除標簽多樣性對指紋定位精度的影響,數據標準化處理過程如式(3)所示:

其中Ri是經過標準化處理的新指紋。
指紋庫建立完成后,依據基于機器學習的指紋定位算法實時從指紋庫中估計室內目標的粗略位置。本文采用的指紋匹配方式為基于極限學習機的指紋定位算法。極限學習機(Extreme Learning Machine,ELM)是含有單隱藏層的前饋機器學習算法并且具有極快的學習速度。對于隱藏層含有L個節點的極限學習機,輸出可以表示為:

其中,αi,βi分別是權重和偏置項,ηi是輸出權重,G是激活方程。相比于傳統神經網絡算法需要輸入層和隱藏層的權重和偏置,極限學習機中的權重和偏置可以隨機分配,只要滿足激活函數可以無限求導,最常用的激活函數是sigmoid函數。
測得的相位值由波長和信號傳播距離決定,可以根據式(5)計算:

式中θT,θR,θtag分別是由RFID閱讀器信號發射端,接收端和標簽引入的額外相位量。如圖1所示,在閱讀器連續讀取標簽時間間隔內,目標沿信號接入點APi和標簽之間徑向方向移動位移Δid:

其中φi(tn)是信號接入點APi在時刻tn測得的相位值。進而,標簽徑向速度可以計算為:


圖1 動態標簽瞬時速度計算
標簽瞬時速度和徑向速度的關系可以表達為:

其中θ為瞬時速度v(tn)和徑向速度之間的夾角。瞬時速度和徑向速度可以分別表達為因此可以將瞬時速度v(tn)和徑向速度之間非線性關系轉換為線性關系式:

對于n個信號接入點AP,可以構建n個類似于上式的方程,根據最小二乘法可以擬合目標的瞬時速度v(tn)。
通過指紋算法得到一個位置估計(觀測位置),然后由上一時刻的目標位置和瞬時速度來預測出當前位置(預測位置)。把這個觀測結果和預測結果通過卡爾曼濾波得出目標點精確位置軌跡。
卡爾曼濾波(Kalman filter,KF)可以用來迭代更新離散時間控制的線性動態系統,用以下狀態模型表示:


以長方形車間為例對提出的AGV定位算法進行驗證。在車間內3m的間隔布置一個RFID閱讀器,以確保RFID信號對實驗車間的覆蓋。通過在目標AGV上粘貼標簽,并選擇離目標AGV最近的4個RFID閱讀器建立信號傳播數學模型。以選定的RFID閱讀器讀取的信號強度值和相位值來定位目標AGV的位置。
實測中移動目標圍繞著半徑1m的圓形軌跡以0.8m/s速度做勻速運動。如圖2所示,經過擬合得到的目標瞬時速度方向如箭頭方向所示,基本上沿著軌跡方向。經過計算得到的瞬時速度大小如圖中箭頭長度所示,速度估計值非常接近真實值。本方法計算的目標瞬時速度無論大小還是方向都與實際近似相等。

圖2 任意時刻目標瞬時速度
本文提出的融合算法(Fusion)和極限學習機(ELM),極限學習機加卡爾曼濾波(ELM+KF)作比較。ELM是指單獨通過指紋定位算法估計標簽實時位置,ELM+KF是指經過極限學習機計算出粗略位置后,通過卡爾曼濾波直接細化位置信息。三種方法的位置推測誤差如圖3所示。由于RSSI測量值的波動,ELM的表現不穩定而且準確度不高,標準差達到0.1122m。最大位置估計誤差為0.4898m,而最小估計誤差為0.013m。經過卡爾曼濾波優化,ELM+KF提高了精度,最大位置估計誤差減少到0.3121m,結果證明卡爾曼濾波可以糾正部分RSS測量誤差。通過融合速度信息,標簽位置誤差可以進一步精確。融合算法可以減小最大位置估計誤差到0.1975m,并且位置估計標準差達到0.0425m。

圖3 點位置估計誤差
圖4給出了三種方法的軌跡預測結果。由圖可知,ELM預測的位置點非常散亂,說明單獨通過信號強度很難得到精準的軌跡信息。ELM+KF可以有效壓制RSS測量誤差,得到的軌跡基本上是圍繞著圓形路徑,其平均距離偏差為0.1583m。通過融合速度信息,融合算法得到的軌跡更加精確,平均位置偏差達到0.0876m。

圖4 軌跡估計誤差
本文提出了一種基于RFID的用于智慧車間的自動導引車定位算法。通過采集參考點的信號強度值建立指紋庫,利用數據標準化處理可以有效抑制RFID標簽多樣性對指紋匹配方法的影響,提高了定位精度。利用卡爾曼濾波融合接收信號強度和相位值進行車間內移動目標追蹤,該方法計算量小,可以確保實時性。本方法定位精度高,算法復雜度低,具有良好的應用前景。