基于RFID技術的機器人定位算法
1. 引言
射頻識別(RFID)技術是從20 世紀80 年代起走向成熟的一項自動識別技術。它利用射頻方式進行非接觸式雙向通信交換數據以達到識別目的,和傳統的磁卡、IC 卡相比,射頻卡最大的優點就在于非接觸,因此完成識別工作時無須人工干預,適合于實現系統的自動化且不易損壞。RFID技術的快速發展使得其應用也在日益壯大,國家有關部門也非常重視。科技部《中國RFID發展策略白皮書》正式出臺,國家高技術研究發展計劃(863 計劃)的RFID重大項目全面啟動,RFID的發展及應用前景廣闊。
目前,RFID技術應用于智能機器人的研究也在不斷發展。監視幼兒園孩子的機器人,吸塵器機器人對“智能地毯”清潔衛生,商場導購機器人等等,應用RFID技術的機器人不斷推出。機器人在運動過程中存在自身定位的問題,而定位的方法有很多種,多采用機載傳感器定位。機器人相對定位技術主要有導航信標、主動或被動標識、地圖匹配或衛星導航技術(GPS)等,這幾種方法中,信標或標識牌技術的建設和維護成本較高,地圖匹配技術處理速度慢,GPS 只能用于室外,目前精度還很差;絕對定位的位置計算方法包括二視角法、二視距法、模型匹配算法等。相對定位優點是機器人的位置是自我推算出來的,不需要對外界環境的感知信息,缺點是漂移誤差會隨時間累積,不適于精確定位。絕對定位通過感知獲取周圍環境的信息,利用各種算法來求出機器人的精確坐標,在區域內定位精度高。
本文將探討利用RFID技術,通過RF 信號傳播損耗模型, 計算讀寫器和讀到各個標簽間的距離[2] [4],利用算法求出機器人的坐標位置。
2. 信號傳播損耗模型
RFID標簽讀寫是通過射頻信號的收發來實現的。RFID讀寫器可以將讀到標簽的相關信息通過串口發送給機器人。可以采用接收信號強度指示(RSSI)來標示RF 信號在某個位置的強度。一般來說,每個標簽發出的信號的強度都是一個定值,但是當讀寫器與標簽的距離不一樣時,接收標簽發送回來的信號強度也就不一樣。這種強度的衰減,稱為信號的傳播損耗,它與環境有關。根據接收到信號的強度,利用理論和經驗傳播損耗模型,可以將傳輸損耗轉化為距離。下式(1)是一種對數-常態分布傳播損耗模型:

其中,P(d)表示讀寫器接收到標簽發送回來的信號強度;P(d0)表示讀寫器在參考點d0 接收到標簽發送的信號強度,所有標簽的初始發送信號強度相同;n 表示路徑長度和路徑損耗之間的比例因子,依賴于障礙物的結構和使用的材料,它的范圍在2 至5 之間;XΣ是平均值為0 的高斯分布隨機變數,也就是信號穿過障礙物的衰減,其標準差范圍為4 到10;d0表示參考點和標簽的距離;d 表示需要計算的標簽和讀寫器間的距離。
是用對數-常態分布模型(公式1)繪制的RSSI 曲線圖。從圖1 中可以看出,節點到信號源的距離越近,由RSSI 值的偏差產生的絕對距離誤差越小。而當距離大于100cm 時,由于上述式(1)中XΣ 的影響,由RSSI 波動造成的絕對距離誤差將會很大。基于上面的分析,本文提出信標標簽影響力概念,即在定位算法中,信標標簽對未知讀寫器位置都有影響力,RSSI 越大的信標標簽,影響力越大,對讀寫器位置有更大的決定權。本文中的讀寫器放在移動機器人上,所以,決定了讀寫器的位置也就是決定了機器人的位置。如圖2,讀寫器收到了4 個信標標簽的信號,其中Tag3 的RSSI 最大,對讀寫器的位置有最大的決定權。本文中只取影響力較大的4 個信標標簽來做定位計算。
3. 定位算法計算
3.1 信標
本文采用RFID標簽作為信標。根據RFID讀寫器識讀標簽可穿透性,對標簽的布置可以放在地下,也可以放在室內的天花板上。讀寫器識讀到多個標簽時,根據RSSI 得知的各個標簽的距離,機器人選4 個最近的距離來進行定位。
RFID標簽信標的選擇原則:帶讀寫器的機器人在運動過程中,可能讀到遠處的多個標簽信號,應當采用RSSI 值大的前幾個信標標簽進行定位計算。在保證參與定位計算的信標標簽數為4 個的情況下,將距離大于100cm(視應用環境而定)的信標標簽去除,以免造成定位誤差擴大。后面進行的仿真計算也證明了這點。
在布置標簽的時候,兩個標簽之間的距離設為讀寫器的準確識讀距離,略小于其最大讀寫距離值,本文中標簽布置間隔為1 米。RFID在讀取的范圍內,由于各種原因(如反射、金屬阻擋、干擾等)對標簽的識別會有一點的偏差。本文中一般情況下能讀到4 個標簽。當可能只讀到3 個時,把該正方形區域內的另外一個標簽到機器人的距離設為最大值,在本論文中為1;當有其他反射等原因導致讀取多于4 個時,則選4 個距離最近的標簽,來確定移動機器人的位置。本文中用到的RFID設備是工作在2.45GHz 下,讀寫器長寬尺寸為23.6cm×12cm,對其發射功率設定,可以設成4 個等級的讀寫距離,本文設置為可讀最大距離1.4 米左右。
3.2 機器人定位
標簽布置好以后,可以將它的位置(坐標)信息寫入標簽內,移動機器人通過讀寫器讀到4 個標簽后,就知道自己到達了哪個區域,再根據讀到的標簽的坐標信息以及標簽到機器人的距離,采用極大似然估計法求取機器人的準確坐標位置。
把他們用坐標軸劃分成格子形式,他們之間的間隔距離為1米,如圖每個標簽的坐標都已知,當裝有讀寫器的移動機器人在該區域內運動,就可以讀取到格子內鄰近的4 個標簽,通過標簽的信息進而得知鄰近4 個坐標值,根據RSSI 得到與標簽的相對距離就可以計算出機器人的坐標位置。
已知4 個標簽的坐標分別為(x1,y1), (x2,y2), (x3,y3),(x4,y4),它們到移動機器人R 的距離分別為d1,d2,d3, d4,假設裝有讀寫器移動機器人R的坐標為(x,y)。
使用標準的最小均方差估計方法可以得到移動機器人R 的坐標為:

本文在UNIX 平臺上用C 語言編程仿真計算RSSI。式(1)中的損耗因子n 取3.2,高斯分布隨機變數XΣ 的標準差取為4,d0 取0.1m。下表1 為各個數據對照,其中實際坐標為隨機選擇機器人的分布坐標;通過RSSI 得到的讀寫器與4 個標簽的距離是通過仿真得到的距離值,表中從上到下的距離值依次和4 個標簽坐標對應;計算得到的坐標值是根據式(2)仿真計算得出。
紅色點為用定位算法得出的機器人相應坐標點,各坐標點相應的偏差分別為:0.1416、0.0775、0.0124、0.0473、0.9536、0.0067、0.136、0.0619,單位為米,最大偏差不到15cm,最小偏差不到1cm,偏差值在讀寫器尺寸之內,可以說該定位方法精確度還是比較高的,采用4 個點來用極大似然定位估計精確度大大提高。
從各個點的偏差值來看,通過把RSSI 仿真得到的讀寫器到各個標簽距離值與其實際距離值進行比較,發現機器人到各個標簽的距離值,對最后定位的精度直接有很大的影響。而極大似然估計是利用到各個標簽的距離值,來計算機器人的坐標位置,精確的坐標值依賴于機器人到各個標簽的距離值。通過多次仿真進行定位計算比較,到4 個標簽距離中若只有一個距離值偏差較大時,如第八個點,它的位置偏差為0.0619 不是很大;而第一和第七個點到3 個標簽距離值都有相對較大的偏差時,它的定位精度就很差,偏差有0.1416 和0.136;第三和第六個點到4 個標簽的距離值偏差都很小時,其定位精度就很高,偏差為0.0124 和0.0067。
4. RFID定位其他方法
將RFID技術引用到機器人的定位中,目前已有人在嘗試和研究,主要是結合視覺來配合RFID技術進行定位[1] [3]。韓國學者用RFID和視覺結合[1]讀取布置在室內墻壁周圍的標簽,讓機器人在該環境中沿著標簽布置多次行走,提取特征值進行制圖,機器人獲取環境信息后,然后用RFID來進行特征匹配作導航定位。日本學者在機器人做避障移動到定點目標位置時[3],利用RFID技術來識別動態障礙物進行避障,同時檢測到標簽時,就啟用視覺來判斷各個標的方位角度,然后結合標簽的相對距離來對移動機器人進行定位,這樣就可以省去大量的視覺圖形采樣分析計算。
另外,通過RFID標簽導航機器人也可以采用如圖5 所示的方式:機器人A 沿著直線ADNM 向前行走,在運動過程中根據讀到的標簽來確定機器人到達的區域。區域范圍的確定:由于能讀到某個標簽都有個識讀半徑為d 的圓,裝備有RFID讀寫器的機器人在運動中會讀到不同的標簽,再根據讀到的各個標簽的識讀圓區域的重疊范圍來確定機器人所到達的位置。如果機器人走偏了,沒有讀到某個該讀的標簽,則控制機器人進行相應的位置調整。如圖5,若機器人走到B 的左上方,不在ABCD 范圍內,沒有讀到P、F,則要往右調整。該方法為區域定位,精度不高,但是簡單實用。可以在機器人上加其他傳感器(如電子指南針)來進行改進,作更精確的定位。
5. 結論
隨著RFID技術的快速發展,與機器人的結合應用也將會有很廣闊的前景。利用射頻識別的這種非接觸無線傳輸特點,機器人可以獲取包括定位在內的更多的信息,本文提出的采用RFID技術來給移動機器人定位,用到無線接收信號強度指示來進行距離的計算,在短距離內其精度較高,對機器人的定位也較準確。在室內環境下,用均勻分布RFID的標簽對機器人的定位也提高了效率和精度。而標簽可以布置在地板下面或者天花板上,不占地方也方便應用。值得一提的是,本文中基于RFID的機器人定位算法,需要標簽讀寫器具備RF 信號強度檢測功能;另外,金屬障礙物的阻擋可能會影響到讀取識別的效果和精度,這也是射頻識別技術的關鍵需要解決的問題。