在室內移動機器人的導航中,機器人的定位與地圖創建是機器人研究中一個基礎且重要的問題。機器人只有實時明確自己當前的方位,才能快速準確地到達目的地。自從移動機器人誕生以來,已知環境地圖的定位問題和已知定位的地圖創建問題已經被廣泛研究,提出了多種有效的解決途徑。而當地圖和機器人的位置都事先未知時,定位問題就變得更加復雜。
在這種情況下,要求機器人在一個完全未知的環境中從一個未知的位置出發,在遞增地建立環境的導航地圖同時,利用已建立的地圖來同步刷新自身的位置,最終形成完整的環境地圖并在此基礎上提供準確的定位。在上述問題中,機器人位置和地圖兩者的估算是高度相關的,任何一方都無法獨立獲取。這樣一種相輔相生,不斷迭代的過程,被學術界簡稱為同步定位與地圖創建( SLAM )問題。該問題可以表述為:機器人在未知環境中,從一個未知位置開始移動,在移動過程中根據位置估計和傳感器進行自身定位,同時建立環境地圖。目前使用的主要是模糊邏輯和概率的方法,如Bayes估計,Kalman濾波,擴展Kalman濾波和Markov推理等。
射頻識別(RFID)技術是近年來興起的一門自動識別技術。與傳統的條形碼系統、接觸式卡等不同,射頻識別系統是利用無線射頻方式非接觸供電,并進行非接觸雙向數據通信,以達到識別并交換數據的目的。識別工作無須人工干預,可工作于各種惡劣環境。將RFID技術應用于機器人中,可以更好地發揮其技術特點,使機器人更多地獲取外在信息。
不少學者正在研究將RFID用于機器人定位系統中,把RFID作為機器人的一種傳感器來進行數據采集和處理。標簽為機器人的外部信息量,機器人通過閱讀器來采集各個標簽中的位置信息,通過獲取的信息利用同步定位與地圖創建算法來對機器人進行有效的定位,從而得到更準確地控制。本文的研究工作中提出了一種基于RFID 系統的有效SLAM 算法。該算法可以解決2維環境下的機器人定位問題。實驗證明,通過已知的RFID數據,該算法能成功地在2維環境中實現移動機器人的跟蹤定位。
1 RFID 環境設置
將RFID標簽如圖1所示均勻分布在地面上,標簽的間距為0.5m。每個標簽牛都存放該標簽所在位置的絕對坐標數據。以便稍后為機器人提供外部位置信息。
將RFID 閱讀器安裝于機器人的底部,用于讀取放置在地面上的標簽中的信息。機器人在移動過程中進入標簽范圍時,標簽進入閱讀器的磁場范圍,接收閱讀器發出的射頻信號,憑借感應電流所獲得的能量發送出存儲在標簽中的坐標信息。實驗中RFID閱讀器的正面朝下讀取地面的標簽卡。
當移動機器人經過標簽時,閱讀器讀取標簽中的坐標信息并將其傳回電腦存儲,并讀取閱讀器的磁場范圍的下一個標簽.重復這一過程直到閱讀器接收其射頻場內所有標簽信息。在本文的研究中,只考慮RFID閱讀器一次只處理一個標簽坐標信息的情況。
2 定位算法
上文已經描述了通過RFID系統獲取機器人基本位置的方法。然而,同步定位的精度與RFID標簽的間距以及硬件設備的性能密切相關。文中提出的基于RFID系統的同步定位與地圖創建算法通過一些基本坐標信息來預測移動機器人的運動軌跡并定位。各國研究者已經提出了多種地圖表示方法,大致可分為3類:柵格地圖、幾何特征地圖和拓撲地圖。本文使用幾何特征地圖,用幾何特征表示傳感器網絡中的一個傳感地標。地圖中的地標和機器人的位置用直角坐標系表示。
當RFID標簽進入閱讀器的磁場范圍時,閱讀器讀取其坐標數據X( x,y ),并根據該坐標值計算機器人到各個已知路標間的距離,已知路標用標簽表示。
2.1 不確定性信息處理
作為SLAM 的信息來源,機器人本體的運動模型及其攜帶的傳感器的準確性是決定地圖精度的關鍵之一。實際上這些渠道獲得的信息都帶有不同程度的不確定性。在未知環境中,環境信息的不確定性尤為明顯.感知信息的不確定必然導致地圖和定位雙方的不確定。研究人員已經提出了多種用來處理不確定性的度量方法,如模糊度量、概率度量、信任度量、可能性度量等。目前在SLAM 中使用較多的主要是模糊度量和概率度量的方法。本文采用概率度量來處理不確定性。用概率表示SLAM 中2個重要模型:觀測模型和運動模型。
2.2 觀測模型
觀測模型P( x t ,y t )是已知t時刻機器人位置和路標位置集合M 的條件下求t時刻觀察值五的條件概率。離散時間t=1,2,3,...;s = ( x s , y s )表示通過RFID獲得的機器人位置;
表示t時刻得到的整個系統總觀測值。
t 時刻機器人到某一路標的距離d是路標坐標f i ( x f i ,y f i )與機器人位置坐標st ( x s ,ys )的函數,f i ( x f i ,y f i )表示第i個路標的實際位置。模型中的噪聲用q表示。觀測模型可以表示為:
在定位算法中,信息標簽對未知閱讀器的位置都有影響力,標簽到閱讀器的距離越近,其影響力越大,對閱讀器位置有更大決定權。本文中的閱讀器放在移動機器人底部.所以閱讀器的位置也是機器人的位置。如圖2,閱讀器收到了4個信息標簽的信號,4個標簽的坐標分別為( x1,y1),(x2,y2),( x3,y3),( x4,y4),它們到移動機器人的距離分別為d1 ,d2,d3,d4。可以看出d1
因此Tagl的影響力最大,對閱讀器的位置有最大決定權。Tag3的影響力最小,對閱讀器位置的決定權最小。根據三角定位原理,只取影響力較大的3個信息標簽來做定位計算。
根據Tagl,Tag2,Tag4到閱讀器的距離d1,d2,d4 可求出待定位的機器人計算坐標St =(xs,ys ):
2.3 運動模型
運動模型預測下個時間段機器人的運動狀態和環境特征。移動機器人在t時刻的位置為St (X s,ys),St是 t 時刻移動機器人的輸入控制Ut和前一時刻位置S t-1 的一個函數,移動機器人的位置信息可以用運動模型:
來表示
由于環境特征是靜止的點,運動模型可以如下表示:
其中(xi (t),yi (t))是t 一1時刻標簽 i 的坐標。
從運動模型中采樣M 條路徑,每條路徑都是一個粒子。對每個粒子來說,機器人運動路徑是確定的,每個粒子分別采用N個卡爾曼濾波器估計用N個環境特征的位置。
和
分別表示第i個粒子的N個環境特征的高斯均值和協方差。
2.4 SLAM 中的粒子濾波器
粒子濾波算法的迭代過程為:
① 初始Ⅳ 個粒子,表示機器人的位置;
② 求上一步中每個粒子的運動模型;
③ 對每個表示機器人的粒子,預測觀測值,并根據觀測值計算粒子權值;
④ 使用每個粒子對應的K個卡爾曼濾波求各個環境坐標位置的估計值;
⑤ 重采樣;
機器人路徑粒子重采樣所需要的權值計算如下:
3 仿真結果
機器人運動速度為0.5m/s,控制信號時間間隔為0.025s,觀測最遠距離30m.模擬2O個時間步來測試算法的穩定性.實驗通過Matlab編程進行參數設置,用鼠標操作劃出機器人的行走線路.
4 結語
本文采用RFID技術和粒子濾波器實現移動機器人自主定位和地圖創建。利用RFID的高速數據傳輸的特點,增強移動機器人數據獲取能力,提高了機器人定位的效率。但目前,RFID技術還有待進一步提高,閱讀器同時接受多個標簽數據時的碰撞問題要進一步解決完善。同時SLAM 算法與RFID應用的結合將幫助機器人更好的定位及控制。