<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 設(shè)計(jì)應(yīng)用 > RFID技術(shù)在移動(dòng)機(jī)器人同步定位中的應(yīng)用

          RFID技術(shù)在移動(dòng)機(jī)器人同步定位中的應(yīng)用

          作者: 時(shí)間:2009-01-07 來源:網(wǎng)絡(luò) 收藏
          在室內(nèi)人的導(dǎo)航中,機(jī)器人的定位與地圖創(chuàng)建是機(jī)器人研究中一個(gè)基礎(chǔ)且重要的問題。機(jī)器人只有實(shí)時(shí)明確自己當(dāng)前的方位,才能快速準(zhǔn)確地到達(dá)目的地。自從人誕生以來,已知環(huán)境地圖的定位問題和已知定位的地圖創(chuàng)建問題已經(jīng)被廣泛研究,提出了多種有效的解決途徑。而當(dāng)?shù)貓D和機(jī)器人的位置都事先未知時(shí),定位問題就變得更加復(fù)雜。

          在這種情況下,要求機(jī)器人在一個(gè)完全未知的環(huán)境中從一個(gè)未知的位置出發(fā),在遞增地建立環(huán)境的導(dǎo)航地圖同時(shí),利用已建立的地圖來同步刷新自身的位置,最終形成完整的環(huán)境地圖并在此基礎(chǔ)上提供準(zhǔn)確的定位。在上述問題中,機(jī)器人位置和地圖兩者的估算是高度相關(guān)的,任何一方都無法獨(dú)立獲取。這樣一種相輔相生,不斷迭代的過程,被學(xué)術(shù)界簡(jiǎn)稱為與地圖創(chuàng)建(SLAM)問題。該問題可以表述為:機(jī)器人在未知環(huán)境中,從一個(gè)未知位置開始移動(dòng),在移動(dòng)過程中根據(jù)位置估計(jì)和傳感器進(jìn)行自身定位,同時(shí)建立環(huán)境地圖。目前使用的主要是模糊邏輯和概率的方法,如Bayes估計(jì),Kalman濾波,擴(kuò)展Kalman濾波和Markov推理等。

          射頻識(shí)別()技術(shù)是近年來興起的一門自動(dòng)識(shí)別技術(shù)。與傳統(tǒng)的條形碼系統(tǒng)、接觸式卡等不同,射頻識(shí)別系統(tǒng)是利用無線射頻方式非接觸供電,并進(jìn)行非接觸雙向數(shù)據(jù)通信,以達(dá)到識(shí)別并交換數(shù)據(jù)的目的。識(shí)別工作無須人工干預(yù),可工作于各種惡劣環(huán)境。將技術(shù)應(yīng)用于機(jī)器人中,可以更好地發(fā)揮其技術(shù)特點(diǎn),使機(jī)器人更多地獲取外在信息。

          不少學(xué)者正在研究將用于機(jī)器人定位系統(tǒng)中,把RFID作為機(jī)器人的一種傳感器來進(jìn)行數(shù)據(jù)采集和處理。標(biāo)簽為機(jī)器人的外部信息量,機(jī)器人通過閱讀器來采集各個(gè)標(biāo)簽中的位置信息,通過獲取的信息利用與地圖創(chuàng)建算法來對(duì)機(jī)器人進(jìn)行有效的定位,從而得到更準(zhǔn)確地控制。本文的研究工作中提出了一種基于RFID系統(tǒng)的有效SLAM算法。該算法可以解決2維環(huán)境下的機(jī)器人定位問題。實(shí)驗(yàn)證明,通過已知的RFID數(shù)據(jù),該算法能成功地在2維環(huán)境中實(shí)現(xiàn)人的跟蹤定位。

          1RFID環(huán)境設(shè)置

          將RFID標(biāo)簽如圖1所示均勻分布在地面上,標(biāo)簽的間距為0.5m。每個(gè)標(biāo)簽牛都存放該標(biāo)簽所在位置的絕對(duì)坐標(biāo)數(shù)據(jù)。以便稍后為機(jī)器人提供外部位置信息。

          將RFID閱讀器安裝于機(jī)器人的底部,用于讀取放置在地面上的標(biāo)簽中的信息。機(jī)器人在移動(dòng)過程中進(jìn)入標(biāo)簽范圍時(shí),標(biāo)簽進(jìn)入閱讀器的磁場(chǎng)范圍,接收閱讀器發(fā)出的射頻信號(hào),憑借感應(yīng)電流所獲得的能量發(fā)送出存儲(chǔ)在標(biāo)簽中的坐標(biāo)信息。實(shí)驗(yàn)中RFID閱讀器的正面朝下讀取地面的標(biāo)簽卡。

          當(dāng)移動(dòng)機(jī)器人經(jīng)過標(biāo)簽時(shí),閱讀器讀取標(biāo)簽中的坐標(biāo)信息并將其傳回電腦存儲(chǔ),并讀取閱讀器的磁場(chǎng)范圍的下一個(gè)標(biāo)簽.重復(fù)這一過程直到閱讀器接收其射頻場(chǎng)內(nèi)所有標(biāo)簽信息。在本文的研究中,只考慮RFID閱讀器一次只處理一個(gè)標(biāo)簽坐標(biāo)信息的情況。

          2定位算法

          上文已經(jīng)描述了通過RFID系統(tǒng)獲取機(jī)器人基本位置的方法。然而,的精度與RFID標(biāo)簽的間距以及硬件設(shè)備的性能密切相關(guān)。文中提出的基于RFID系統(tǒng)的同步定位與地圖創(chuàng)建算法通過一些基本坐標(biāo)信息來預(yù)測(cè)移動(dòng)機(jī)器人的運(yùn)動(dòng)軌跡并定位。各國研究者已經(jīng)提出了多種地圖表示方法,大致可分為3類:柵格地圖、幾何特征地圖和拓?fù)涞貓D。本文使用幾何特征地圖,用幾何特征表示傳感器網(wǎng)絡(luò)中的一個(gè)傳感地標(biāo)。地圖中的地標(biāo)和機(jī)器人的位置用直角坐標(biāo)系表示。

          當(dāng)RFID標(biāo)簽進(jìn)入閱讀器的磁場(chǎng)范圍時(shí),閱讀器讀取其坐標(biāo)數(shù)據(jù)X(x,y),并根據(jù)該坐標(biāo)值計(jì)算機(jī)器人到各個(gè)已知路標(biāo)間的距離,已知路標(biāo)用標(biāo)簽表示。

          2.1不確定性信息處理

          作為SLAM的信息來源,機(jī)器人本體的運(yùn)動(dòng)模型及其攜帶的傳感器的準(zhǔn)確性是決定地圖精度的關(guān)鍵之一。實(shí)際上這些渠道獲得的信息都帶有不同程度的不確定性。在未知環(huán)境中,環(huán)境信息的不確定性尤為明顯.感知信息的不確定必然導(dǎo)致地圖和定位雙方的不確定。研究人員已經(jīng)提出了多種用來處理不確定性的度量方法,如模糊度量、概率度量、信任度量、可能性度量等。目前在SLAM中使用較多的主要是模糊度量和概率度量的方法。本文采用概率度量來處理不確定性。用概率表示SLAM中2個(gè)重要模型:觀測(cè)模型和運(yùn)動(dòng)模型。

          2.2觀測(cè)模型

          觀測(cè)模型P(xt,yt)是已知t時(shí)刻機(jī)器人位置和路標(biāo)位置集合M的條件下求t時(shí)刻觀察值五的條件概率。離散時(shí)間t=1,2,3,...;s=(xs,ys)表示通過RFID獲得的機(jī)器人位置;

          表示t時(shí)刻得到的整個(gè)系統(tǒng)總觀測(cè)值。

          t 時(shí)刻機(jī)器人到某一路標(biāo)的距離d是路標(biāo)坐標(biāo)fi(xfi,yfi)與機(jī)器人位置坐標(biāo)st(xs,ys)的函數(shù),fi(xfi,yfi)表示第i個(gè)路標(biāo)的實(shí)際位置。模型中的噪聲用q表示。觀測(cè)模型可以表示為:



          在定位算法中,信息標(biāo)簽對(duì)未知閱讀器的位置都有影響力,標(biāo)簽到閱讀器的距離越近,其影響力越大,對(duì)閱讀器位置有更大決定權(quán)。本文中的閱讀器放在移動(dòng)機(jī)器人底部.所以閱讀器的位置也是機(jī)器人的位置。如圖2,閱讀器收到了4個(gè)信息標(biāo)簽的信號(hào),4個(gè)標(biāo)簽的坐標(biāo)分別為(x1,y1),(x2,y2),(x3,y3),(x4,y4),它們到移動(dòng)機(jī)器人的距離分別為d1,d2,d3,d4??梢钥闯鰀1d2d4d3。

          因此Tagl的影響力最大,對(duì)閱讀器的位置有最大決定權(quán)。Tag3的影響力最小,對(duì)閱讀器位置的決定權(quán)最小。根據(jù)三角定位原理,只取影響力較大的3個(gè)信息標(biāo)簽來做定位計(jì)算。

          根據(jù)Tagl,Tag2,Tag4到閱讀器的距離d1,d2,d4可求出待定位的機(jī)器人計(jì)算坐標(biāo)St=(xs,ys):



          2.3運(yùn)動(dòng)模型

          運(yùn)動(dòng)模型預(yù)測(cè)下個(gè)時(shí)間段機(jī)器人的運(yùn)動(dòng)狀態(tài)和環(huán)境特征。移動(dòng)機(jī)器人在t時(shí)刻的位置為St(Xs,ys),St是 t 時(shí)刻移動(dòng)機(jī)器人的輸入控制Ut和前一時(shí)刻位置S t-1 的一個(gè)函數(shù),移動(dòng)機(jī)器人的位置信息可以用運(yùn)動(dòng)模型:

          來表示

          由于環(huán)境特征是靜止的點(diǎn),運(yùn)動(dòng)模型可以如下表示:



          其中(xi(t),yi(t))是t 一1時(shí)刻標(biāo)簽 i 的坐標(biāo)。

          從運(yùn)動(dòng)模型中采樣M條路徑,每條路徑都是一個(gè)粒子。對(duì)每個(gè)粒子來說,機(jī)器人運(yùn)動(dòng)路徑是確定的,每個(gè)粒子分別采用N個(gè)卡爾曼濾波器估計(jì)用N個(gè)環(huán)境特征的位置。


          分別表示第i個(gè)粒子的N個(gè)環(huán)境特征的高斯均值和協(xié)方差。

          2.4SLAM中的粒子濾波器

          粒子濾波算法的迭代過程為:

          ①初始Ⅳ個(gè)粒子,表示機(jī)器人的位置;
          ②求上一步中每個(gè)粒子的運(yùn)動(dòng)模型;
          ③對(duì)每個(gè)表示機(jī)器人的粒子,預(yù)測(cè)觀測(cè)值,并根據(jù)觀測(cè)值計(jì)算粒子權(quán)值;
          ④使用每個(gè)粒子對(duì)應(yīng)的K個(gè)卡爾曼濾波求各個(gè)環(huán)境坐標(biāo)位置的估計(jì)值;
          ⑤重采樣;

          機(jī)器人路徑粒子重采樣所需要的權(quán)值計(jì)算如下:



          3仿真結(jié)果

          機(jī)器人運(yùn)動(dòng)速度為0.5m/s,控制信號(hào)時(shí)間間隔為0.025s,觀測(cè)最遠(yuǎn)距離30m.模擬2O個(gè)時(shí)間步來測(cè)試算法的穩(wěn)定性.實(shí)驗(yàn)通過Matlab編程進(jìn)行參數(shù)設(shè)置,用鼠標(biāo)操作劃出機(jī)器人的行走線路.

          4結(jié)語

          本文采用RFID技術(shù)和粒子濾波器實(shí)現(xiàn)移動(dòng)機(jī)器人自主定位和地圖創(chuàng)建。利用RFID的高速數(shù)據(jù)傳輸?shù)奶攸c(diǎn),增強(qiáng)移動(dòng)機(jī)器人數(shù)據(jù)獲取能力,提高了機(jī)器人定位的效率。但目前,RFID技術(shù)還有待進(jìn)一步提高,閱讀器同時(shí)接受多個(gè)標(biāo)簽數(shù)據(jù)時(shí)的碰撞問題要進(jìn)一步解決完善。同時(shí)SLAM算法與RFID應(yīng)用的結(jié)合將幫助機(jī)器人更好的定位及控制。

          本文引用地址:http://www.ex-cimer.com/article/261320.htm


          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();