基于 RFID 及超聲波的室內(nèi)定位算法
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引 言
移動(dòng)機(jī)器人在室內(nèi)定位的應(yīng)用愈發(fā)廣泛,其研究的發(fā)展趨勢(shì)日益迅猛 [1-2]。2017年 CES展會(huì)上維弦科技(Ewaybot) 推出的 MoRo家居助理機(jī)器人可以通過實(shí)時(shí)語音控制與用戶進(jìn)行自然語言交互,在室內(nèi)和室外環(huán)境中進(jìn)行導(dǎo)航。2018年9 月 12 日,安博會(huì)在連云港工業(yè)展覽中心展館開幕。智能安防巡檢機(jī)器人將巡邏地區(qū)的地圖輸入車輛芯片,然后設(shè)置巡防路線,該機(jī)器人就能進(jìn)行自主無人巡防,如果途中遇到障礙物,會(huì)自動(dòng)辨識(shí)并避讓。沃爾瑪采用 BossaNova制造的機(jī)器人在貨架之間智能穿梭,將捕捉的商店貨架上的數(shù)碼圖像反饋給工作人員。
室內(nèi)移動(dòng)機(jī)器人的自主移動(dòng)研究逐漸成為一個(gè)熱點(diǎn)問題 [3]。機(jī)器人在室內(nèi)移動(dòng)過程中,需要解決三個(gè)主要問題, 分別為“在哪里”“去哪里”“怎么去”,而這些問題的核心就是室內(nèi)定位技術(shù) [4]。
在傳統(tǒng) RFID 傳感器定位中,往往采用三點(diǎn)定位方式 [5]。具體方法是已知三個(gè) RFID 傳感器的位置坐標(biāo),通過信號(hào)強(qiáng)度測(cè)量得到三個(gè) RFID 傳感器分別與目標(biāo)標(biāo)簽的距離,通過已知點(diǎn)坐標(biāo)與到目標(biāo)點(diǎn)距離列方程求解,從而得到目標(biāo)點(diǎn)位置 [6]。但由于誤差因素的影響,通常得到的三個(gè)圓是相交成某一區(qū)域而非特別精確的一點(diǎn) [7]。通常的解決方法為計(jì)算相交區(qū)域的質(zhì)心 [8],但 RFID 單獨(dú)進(jìn)行室內(nèi)定位的缺點(diǎn)是受環(huán)境影響較大,誤差較大,計(jì)算過程復(fù)雜 [9-10]。
本文提出了一種基于 RFID 和超聲波結(jié)合的室內(nèi)定位算法,用于解決現(xiàn)有 RFID 室內(nèi)定位方法中存在的針對(duì)不同實(shí)際需求靈活性較差、數(shù)據(jù)處理過程復(fù)雜的問題。
1 信號(hào)強(qiáng)度定位算法
本算法利用室內(nèi)移動(dòng)機(jī)器人上的 RFID 傳感器測(cè)量其與RFID 標(biāo)簽之間的距離,首先利用 RFID 傳感器對(duì)室內(nèi)墻壁上水平、均勻地設(shè)置的 N 個(gè) RFID 標(biāo)簽進(jìn)行信號(hào)強(qiáng)度值測(cè)量,得到 N 個(gè)信號(hào)強(qiáng)度值 p(dn)。
從得到的 N 個(gè)信號(hào)強(qiáng)度值 p(dn)中,任意選取兩個(gè)RFID 標(biāo)簽對(duì)應(yīng)的信號(hào)強(qiáng)度值 p(d0)和 p(dn),并將其代入對(duì)數(shù) - 常態(tài)分布傳播損耗模型,得到當(dāng)前室內(nèi)環(huán)境的信號(hào)傳播常量 n :
式中:p(dn)為 RFID 閱讀器接收到距離為 dn 的標(biāo)簽發(fā)送回來的信號(hào)強(qiáng)度;p(d0)為 RFID 閱讀器接收到距離為 d0的標(biāo)簽發(fā)送回來的信號(hào)強(qiáng)度。
將信號(hào)傳播常量 n 代入對(duì)數(shù) - 常態(tài)分布傳播損耗模型,得到當(dāng)前室內(nèi)環(huán)境下機(jī)器人上 RFID 傳感器與 RFID 標(biāo)簽之間的距離 :
利用機(jī)器人上 RFID 傳感器到多點(diǎn) RFID 標(biāo)簽之間距離最短的一個(gè) RFID 標(biāo)簽坐標(biāo)(xmin,ymin)和剩余 N-1 個(gè) RFID標(biāo)簽坐標(biāo)(xi,yi),求取機(jī)器人當(dāng)前位置的 N-1 個(gè)待定坐標(biāo)值, i 表示 N-1 個(gè) RFID 標(biāo)簽坐標(biāo)中第 i 個(gè) RFID 標(biāo)簽的坐標(biāo)。
由于采用距離閱讀器越近的電子標(biāo)簽估算的位置就越確,因此引入賦權(quán)值比例算法給距離閱讀器越近的標(biāo)簽坐標(biāo)賦予更多的權(quán)重,并根據(jù)權(quán)值函數(shù)將不同的權(quán)值賦予方程中不同的位置標(biāo)簽,對(duì)應(yīng)計(jì)算出坐標(biāo)值。距閱讀器越遠(yuǎn)權(quán)值越小,越近權(quán)值越大。本實(shí)驗(yàn)所使用的權(quán)值函數(shù)見式(3):
式中:wi 代表第 i 個(gè)電子標(biāo)簽坐標(biāo)所對(duì)應(yīng)的權(quán)重,距閱讀器di;dmin 為距閱讀器最近的標(biāo)簽距離。在該賦權(quán)值比例算法下的閱讀器坐標(biāo)如下:
由于較遠(yuǎn)距離的估算不準(zhǔn)確,因此將距離閱讀器較遠(yuǎn)的標(biāo)簽賦予權(quán)值為 0,使其不對(duì)最終的坐標(biāo)結(jié)果產(chǎn)生任何干擾。舍棄估算的距離大于 80 cm 的閱讀器標(biāo)簽坐標(biāo),將這些標(biāo)簽的權(quán)值賦為 0,即不參與最終的坐標(biāo)加權(quán)求和。各標(biāo)簽節(jié)點(diǎn)的權(quán)重函數(shù)表達(dá)式見式(5):
最后利用機(jī)器人上的超聲波傳感器測(cè)量與其平行的室內(nèi)墻面之間的距離,得到機(jī)器人當(dāng)前待定位置的縱向坐標(biāo)。將得到的橫向坐標(biāo)和縱向坐標(biāo)結(jié)合,得到機(jī)器人當(dāng)前待定位置的最終坐標(biāo)。
2 定位算法測(cè)試結(jié)果
在本實(shí)驗(yàn)中,我們?cè)谑覂?nèi)墻壁的同一條線上每相隔10 cm 貼一個(gè)標(biāo)簽,共貼 10 個(gè)。將這 10 個(gè)標(biāo)簽的坐標(biāo)分別設(shè)置為(0,0)、(10,0)、(20,0)、(30,0)、(40,0)、(50,0)、(60, 0)、(70,0)、(80,0)、(90,0)、(100,0)。將 RFID 閱讀器分別放置在不同的位置,閱讀器距離墻壁的距離值即為其縱坐標(biāo)值。每次接收這 10 個(gè)標(biāo)簽的一組信號(hào)強(qiáng)度值,若無法接收到某標(biāo)簽的信號(hào)強(qiáng)度時(shí),則記為 0。為減小實(shí)際環(huán)境帶來的不確定干擾,在每個(gè)位置依次測(cè)量 10 組數(shù)據(jù),并對(duì)記錄的數(shù)據(jù)求平均值,作為機(jī)器人定位算法的輸入數(shù)據(jù)。使用賦權(quán)值算法對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行加權(quán),最終估算的機(jī)器人定位坐標(biāo)見表 1 所列。
3 結(jié) 語
由實(shí)驗(yàn)表中的數(shù)據(jù)可知,結(jié)合定位算法估算出的橫坐標(biāo)誤差可以控制在 5 cm 范圍內(nèi),估算出的縱坐標(biāo)誤差可以控制在 2 cm 范圍內(nèi),超聲波結(jié)合 RFID 共同定位的算法大大提高了單一傳感器定位的精度,減小了定位誤差。