基于RFID技術(shù)的機(jī)器人定位算法
1. 引言
射頻識(shí)別(RFID)技術(shù)是從20 世紀(jì)80 年代起走向成熟的一項(xiàng)自動(dòng)識(shí)別技術(shù)。它利用射頻方式進(jìn)行非接觸式雙向通信交換數(shù)據(jù)以達(dá)到識(shí)別目的,和傳統(tǒng)的磁卡、IC 卡相比,射頻卡最大的優(yōu)點(diǎn)就在于非接觸,因此完成識(shí)別工作時(shí)無(wú)須人工干預(yù),適合于實(shí)現(xiàn)系統(tǒng)的自動(dòng)化且不易損壞。RFID技術(shù)的快速發(fā)展使得其應(yīng)用也在日益壯大,國(guó)家有關(guān)部門也非常重視??萍疾俊吨袊?guó)RFID發(fā)展策略白皮書(shū)》正式出臺(tái),國(guó)家高技術(shù)研究發(fā)展計(jì)劃(863 計(jì)劃)的RFID重大項(xiàng)目全面啟動(dòng),RFID的發(fā)展及應(yīng)用前景廣闊。
目前,RFID技術(shù)應(yīng)用于智能機(jī)器人的研究也在不斷發(fā)展。監(jiān)視幼兒園孩子的機(jī)器人,吸塵器機(jī)器人對(duì)“智能地毯”清潔衛(wèi)生,商場(chǎng)導(dǎo)購(gòu)機(jī)器人等等,應(yīng)用RFID技術(shù)的機(jī)器人不斷推出。機(jī)器人在運(yùn)動(dòng)過(guò)程中存在自身定位的問(wèn)題,而定位的方法有很多種,多采用機(jī)載傳感器定位。機(jī)器人相對(duì)定位技術(shù)主要有導(dǎo)航信標(biāo)、主動(dòng)或被動(dòng)標(biāo)識(shí)、地圖匹配或衛(wèi)星導(dǎo)航技術(shù)(GPS)等,這幾種方法中,信標(biāo)或標(biāo)識(shí)牌技術(shù)的建設(shè)和維護(hù)成本較高,地圖匹配技術(shù)處理速度慢,GPS 只能用于室外,目前精度還很差;絕對(duì)定位的位置計(jì)算方法包括二視角法、二視距法、模型匹配算法等。相對(duì)定位優(yōu)點(diǎn)是機(jī)器人的位置是自我推算出來(lái)的,不需要對(duì)外界環(huán)境的感知信息,缺點(diǎn)是漂移誤差會(huì)隨時(shí)間累積,不適于精確定位。絕對(duì)定位通過(guò)感知獲取周圍環(huán)境的信息,利用各種算法來(lái)求出機(jī)器人的精確坐標(biāo),在區(qū)域內(nèi)定位精度高。
本文將探討利用RFID技術(shù),通過(guò)RF 信號(hào)傳播損耗模型, 計(jì)算讀寫(xiě)器和讀到各個(gè)標(biāo)簽間的距離[2] [4],利用算法求出機(jī)器人的坐標(biāo)位置。
2. 信號(hào)傳播損耗模型
RFID標(biāo)簽讀寫(xiě)是通過(guò)射頻信號(hào)的收發(fā)來(lái)實(shí)現(xiàn)的。RFID讀寫(xiě)器可以將讀到標(biāo)簽的相關(guān)信息通過(guò)串口發(fā)送給機(jī)器人??梢圆捎媒邮招盘?hào)強(qiáng)度指示(RSSI)來(lái)標(biāo)示RF 信號(hào)在某個(gè)位置的強(qiáng)度。一般來(lái)說(shuō),每個(gè)標(biāo)簽發(fā)出的信號(hào)的強(qiáng)度都是一個(gè)定值,但是當(dāng)讀寫(xiě)器與標(biāo)簽的距離不一樣時(shí),接收標(biāo)簽發(fā)送回來(lái)的信號(hào)強(qiáng)度也就不一樣。這種強(qiáng)度的衰減,稱為信號(hào)的傳播損耗,它與環(huán)境有關(guān)。根據(jù)接收到信號(hào)的強(qiáng)度,利用理論和經(jīng)驗(yàn)傳播損耗模型,可以將傳輸損耗轉(zhuǎn)化為距離。下式(1)是一種對(duì)數(shù)-常態(tài)分布傳播損耗模型:
其中,P(d)表示讀寫(xiě)器接收到標(biāo)簽發(fā)送回來(lái)的信號(hào)強(qiáng)度;P(d0)表示讀寫(xiě)器在參考點(diǎn)d0 接收到標(biāo)簽發(fā)送的信號(hào)強(qiáng)度,所有標(biāo)簽的初始發(fā)送信號(hào)強(qiáng)度相同;n 表示路徑長(zhǎng)度和路徑損耗之間的比例因子,依賴于障礙物的結(jié)構(gòu)和使用的材料,它的范圍在2 至5 之間;XΣ是平均值為0 的高斯分布隨機(jī)變數(shù),也就是信號(hào)穿過(guò)障礙物的衰減,其標(biāo)準(zhǔn)差范圍為4 到10;d0表示參考點(diǎn)和標(biāo)簽的距離;d 表示需要計(jì)算的標(biāo)簽和讀寫(xiě)器間的距離。
是用對(duì)數(shù)-常態(tài)分布模型(公式1)繪制的RSSI 曲線圖。從圖1 中可以看出,節(jié)點(diǎn)到信號(hào)源的距離越近,由RSSI 值的偏差產(chǎn)生的絕對(duì)距離誤差越小。而當(dāng)距離大于100cm 時(shí),由于上述式(1)中XΣ 的影響,由RSSI 波動(dòng)造成的絕對(duì)距離誤差將會(huì)很大?;谏厦娴姆治?,本文提出信標(biāo)標(biāo)簽影響力概念,即在定位算法中,信標(biāo)標(biāo)簽對(duì)未知讀寫(xiě)器位置都有影響力,RSSI 越大的信標(biāo)標(biāo)簽,影響力越大,對(duì)讀寫(xiě)器位置有更大的決定權(quán)。本文中的讀寫(xiě)器放在移動(dòng)機(jī)器人上,所以,決定了讀寫(xiě)器的位置也就是決定了機(jī)器人的位置。如圖2,讀寫(xiě)器收到了4 個(gè)信標(biāo)標(biāo)簽的信號(hào),其中Tag3 的RSSI 最大,對(duì)讀寫(xiě)器的位置有最大的決定權(quán)。本文中只取影響力較大的4 個(gè)信標(biāo)標(biāo)簽來(lái)做定位計(jì)算。
3. 定位算法計(jì)算
3.1 信標(biāo)
本文采用RFID標(biāo)簽作為信標(biāo)。根據(jù)RFID讀寫(xiě)器識(shí)讀標(biāo)簽可穿透性,對(duì)標(biāo)簽的布置可以放在地下,也可以放在室內(nèi)的天花板上。讀寫(xiě)器識(shí)讀到多個(gè)標(biāo)簽時(shí),根據(jù)RSSI 得知的各個(gè)標(biāo)簽的距離,機(jī)器人選4 個(gè)最近的距離來(lái)進(jìn)行定位。
RFID標(biāo)簽信標(biāo)的選擇原則:帶讀寫(xiě)器的機(jī)器人在運(yùn)動(dòng)過(guò)程中,可能讀到遠(yuǎn)處的多個(gè)標(biāo)簽信號(hào),應(yīng)當(dāng)采用RSSI 值大的前幾個(gè)信標(biāo)標(biāo)簽進(jìn)行定位計(jì)算。在保證參與定位計(jì)算的信標(biāo)標(biāo)簽數(shù)為4 個(gè)的情況下,將距離大于100cm(視應(yīng)用環(huán)境而定)的信標(biāo)標(biāo)簽去除,以免造成定位誤差擴(kuò)大。后面進(jìn)行的仿真計(jì)算也證明了這點(diǎn)。
在布置標(biāo)簽的時(shí)候,兩個(gè)標(biāo)簽之間的距離設(shè)為讀寫(xiě)器的準(zhǔn)確識(shí)讀距離,略小于其最大讀寫(xiě)距離值,本文中標(biāo)簽布置間隔為1 米。RFID在讀取的范圍內(nèi),由于各種原因(如反射、金屬阻擋、干擾等)對(duì)標(biāo)簽的識(shí)別會(huì)有一點(diǎn)的偏差。本文中一般情況下能讀到4 個(gè)標(biāo)簽。當(dāng)可能只讀到3 個(gè)時(shí),把該正方形區(qū)域內(nèi)的另外一個(gè)標(biāo)簽到機(jī)器人的距離設(shè)為最大值,在本論文中為1;當(dāng)有其他反射等原因?qū)е伦x取多于4 個(gè)時(shí),則選4 個(gè)距離最近的標(biāo)簽,來(lái)確定移動(dòng)機(jī)器人的位置。本文中用到的RFID設(shè)備是工作在2.45GHz 下,讀寫(xiě)器長(zhǎng)寬尺寸為23.6cm×12cm,對(duì)其發(fā)射功率設(shè)定,可以設(shè)成4 個(gè)等級(jí)的讀寫(xiě)距離,本文設(shè)置為可讀最大距離1.4 米左右。
3.2 機(jī)器人定位
標(biāo)簽布置好以后,可以將它的位置(坐標(biāo))信息寫(xiě)入標(biāo)簽內(nèi),移動(dòng)機(jī)器人通過(guò)讀寫(xiě)器讀到4 個(gè)標(biāo)簽后,就知道自己到達(dá)了哪個(gè)區(qū)域,再根據(jù)讀到的標(biāo)簽的坐標(biāo)信息以及標(biāo)簽到機(jī)器人的距離,采用極大似然估計(jì)法求取機(jī)器人的準(zhǔn)確坐標(biāo)位置。
把他們用坐標(biāo)軸劃分成格子形式,他們之間的間隔距離為1米,如圖每個(gè)標(biāo)簽的坐標(biāo)都已知,當(dāng)裝有讀寫(xiě)器的移動(dòng)機(jī)器人在該區(qū)域內(nèi)運(yùn)動(dòng),就可以讀取到格子內(nèi)鄰近的4 個(gè)標(biāo)簽,通過(guò)標(biāo)簽的信息進(jìn)而得知鄰近4 個(gè)坐標(biāo)值,根據(jù)RSSI 得到與標(biāo)簽的相對(duì)距離就可以計(jì)算出機(jī)器人的坐標(biāo)位置。
已知4 個(gè)標(biāo)簽的坐標(biāo)分別為(x1,y1), (x2,y2), (x3,y3),(x4,y4),它們到移動(dòng)機(jī)器人R 的距離分別為d1,d2,d3, d4,假設(shè)裝有讀寫(xiě)器移動(dòng)機(jī)器人R的坐標(biāo)為(x,y)。
使用標(biāo)準(zhǔn)的最小均方差估計(jì)方法可以得到移動(dòng)機(jī)器人R 的坐標(biāo)為:
本文在UNIX 平臺(tái)上用C 語(yǔ)言編程仿真計(jì)算RSSI。式(1)中的損耗因子n 取3.2,高斯分布隨機(jī)變數(shù)XΣ 的標(biāo)準(zhǔn)差取為4,d0 取0.1m。下表1 為各個(gè)數(shù)據(jù)對(duì)照,其中實(shí)際坐標(biāo)為隨機(jī)選擇機(jī)器人的分布坐標(biāo);通過(guò)RSSI 得到的讀寫(xiě)器與4 個(gè)標(biāo)簽的距離是通過(guò)仿真得到的距離值,表中從上到下的距離值依次和4 個(gè)標(biāo)簽坐標(biāo)對(duì)應(yīng);計(jì)算得到的坐標(biāo)值是根據(jù)式(2)仿真計(jì)算得出。
紅色點(diǎn)為用定位算法得出的機(jī)器人相應(yīng)坐標(biāo)點(diǎn),各坐標(biāo)點(diǎn)相應(yīng)的偏差分別為:0.1416、0.0775、0.0124、0.0473、0.9536、0.0067、0.136、0.0619,單位為米,最大偏差不到15cm,最小偏差不到1cm,偏差值在讀寫(xiě)器尺寸之內(nèi),可以說(shuō)該定位方法精確度還是比較高的,采用4 個(gè)點(diǎn)來(lái)用極大似然定位估計(jì)精確度大大提高。
從各個(gè)點(diǎn)的偏差值來(lái)看,通過(guò)把RSSI 仿真得到的讀寫(xiě)器到各個(gè)標(biāo)簽距離值與其實(shí)際距離值進(jìn)行比較,發(fā)現(xiàn)機(jī)器人到各個(gè)標(biāo)簽的距離值,對(duì)最后定位的精度直接有很大的影響。而極大似然估計(jì)是利用到各個(gè)標(biāo)簽的距離值,來(lái)計(jì)算機(jī)器人的坐標(biāo)位置,精確的坐標(biāo)值依賴于機(jī)器人到各個(gè)標(biāo)簽的距離值。通過(guò)多次仿真進(jìn)行定位計(jì)算比較,到4 個(gè)標(biāo)簽距離中若只有一個(gè)距離值偏差較大時(shí),如第八個(gè)點(diǎn),它的位置偏差為0.0619 不是很大;而第一和第七個(gè)點(diǎn)到3 個(gè)標(biāo)簽距離值都有相對(duì)較大的偏差時(shí),它的定位精度就很差,偏差有0.1416 和0.136;第三和第六個(gè)點(diǎn)到4 個(gè)標(biāo)簽的距離值偏差都很小時(shí),其定位精度就很高,偏差為0.0124 和0.0067。
4. RFID定位其他方法
將RFID技術(shù)引用到機(jī)器人的定位中,目前已有人在嘗試和研究,主要是結(jié)合視覺(jué)來(lái)配合RFID技術(shù)進(jìn)行定位[1] [3]。韓國(guó)學(xué)者用RFID和視覺(jué)結(jié)合[1]讀取布置在室內(nèi)墻壁周圍的標(biāo)簽,讓機(jī)器人在該環(huán)境中沿著標(biāo)簽布置多次行走,提取特征值進(jìn)行制圖,機(jī)器人獲取環(huán)境信息后,然后用RFID來(lái)進(jìn)行特征匹配作導(dǎo)航定位。日本學(xué)者在機(jī)器人做避障移動(dòng)到定點(diǎn)目標(biāo)位置時(shí)[3],利用RFID技術(shù)來(lái)識(shí)別動(dòng)態(tài)障礙物進(jìn)行避障,同時(shí)檢測(cè)到標(biāo)簽時(shí),就啟用視覺(jué)來(lái)判斷各個(gè)標(biāo)的方位角度,然后結(jié)合標(biāo)簽的相對(duì)距離來(lái)對(duì)移動(dòng)機(jī)器人進(jìn)行定位,這樣就可以省去大量的視覺(jué)圖形采樣分析計(jì)算。
另外,通過(guò)RFID標(biāo)簽導(dǎo)航機(jī)器人也可以采用如圖5 所示的方式:機(jī)器人A 沿著直線ADNM 向前行走,在運(yùn)動(dòng)過(guò)程中根據(jù)讀到的標(biāo)簽來(lái)確定機(jī)器人到達(dá)的區(qū)域。區(qū)域范圍的確定:由于能讀到某個(gè)標(biāo)簽都有個(gè)識(shí)讀半徑為d 的圓,裝備有RFID讀寫(xiě)器的機(jī)器人在運(yùn)動(dòng)中會(huì)讀到不同的標(biāo)簽,再根據(jù)讀到的各個(gè)標(biāo)簽的識(shí)讀圓區(qū)域的重疊范圍來(lái)確定機(jī)器人所到達(dá)的位置。如果機(jī)器人走偏了,沒(méi)有讀到某個(gè)該讀的標(biāo)簽,則控制機(jī)器人進(jìn)行相應(yīng)的位置調(diào)整。如圖5,若機(jī)器人走到B 的左上方,不在ABCD 范圍內(nèi),沒(méi)有讀到P、F,則要往右調(diào)整。該方法為區(qū)域定位,精度不高,但是簡(jiǎn)單實(shí)用。可以在機(jī)器人上加其他傳感器(如電子指南針)來(lái)進(jìn)行改進(jìn),作更精確的定位。
5. 結(jié)論
隨著RFID技術(shù)的快速發(fā)展,與機(jī)器人的結(jié)合應(yīng)用也將會(huì)有很廣闊的前景。利用射頻識(shí)別的這種非接觸無(wú)線傳輸特點(diǎn),機(jī)器人可以獲取包括定位在內(nèi)的更多的信息,本文提出的采用RFID技術(shù)來(lái)給移動(dòng)機(jī)器人定位,用到無(wú)線接收信號(hào)強(qiáng)度指示來(lái)進(jìn)行距離的計(jì)算,在短距離內(nèi)其精度較高,對(duì)機(jī)器人的定位也較準(zhǔn)確。在室內(nèi)環(huán)境下,用均勻分布RFID的標(biāo)簽對(duì)機(jī)器人的定位也提高了效率和精度。而標(biāo)簽可以布置在地板下面或者天花板上,不占地方也方便應(yīng)用。值得一提的是,本文中基于RFID的機(jī)器人定位算法,需要標(biāo)簽讀寫(xiě)器具備RF 信號(hào)強(qiáng)度檢測(cè)功能;另外,金屬障礙物的阻擋可能會(huì)影響到讀取識(shí)別的效果和精度,這也是射頻識(shí)別技術(shù)的關(guān)鍵需要解決的問(wèn)題。