王肖玥峰, 魯照權(quán), 周永燕, 徐盛良
(合肥工業(yè)大學(xué) 電氣與自動化工程學(xué)院,安徽 合肥 230009)
傳統(tǒng)的自動導(dǎo)引車(automatic guided vehicle,AGV)小車通常采用循跡技術(shù),移動路徑是固定的,已無法滿足智能制造的要求。為了能方便地任意規(guī)劃路徑,必須尋求新的循跡技術(shù)并實現(xiàn)室內(nèi)導(dǎo)航,而室內(nèi)定位是實現(xiàn)室內(nèi)導(dǎo)航的關(guān)鍵技術(shù)。
常見的室內(nèi)定位技術(shù)有超聲波、紅外線、超寬帶、射頻識別(radio frequency identification,RFID)等技術(shù)。超聲波定位精度最高,但覆蓋范圍最小;射頻識別技術(shù)雖然覆蓋范圍最大,但精度最低;超寬帶的精度較高,覆蓋范圍較廣,但成本最高。由于工廠廠房面積較大,可采用射頻信號強度測距進行定位。其中,基于接收信號強度指示(received signal strength indication,RSSI)的定位算法有三邊測量法[1]、壓縮感知[2]算法等方法。三邊測量法通過3只傳感器以自身坐標(biāo)為圓心、測得目標(biāo)距離為半徑畫圓,根據(jù)其圓的交點判斷目標(biāo)位置,精度較高,但對定位模塊要求較高。文獻[3~5]運用壓縮感知定位算法通過將待測區(qū)域劃分網(wǎng)格并測量每只傳感器接收到的由每個網(wǎng)格的目標(biāo)發(fā)射的信號強度構(gòu)建測量矩陣(指紋庫),通過基追蹤(basis pursuit,BP)、匹配追蹤(matching pursuit,MP)等算法計算目標(biāo)位置。該方法可用于判斷多個目標(biāo)的位置,但有目標(biāo)數(shù)量上限,需要構(gòu)建巨大的測量矩陣,且構(gòu)建完畢后,一但測量區(qū)域發(fā)生變化,測量矩陣需要重新構(gòu)建,精度隨待測目標(biāo)數(shù)增多而下降。
為了滿足大覆蓋范圍的要求,本文基于射頻信號強度,使用CC1101芯片進行距離測量。將測量結(jié)果采用改進的三邊測量法分別對每個目標(biāo)算法進行定位計算。通過試驗,得到較為精確的結(jié)果。
假設(shè)定位區(qū)域長為L(m),寬為T(m)。在定位區(qū)域內(nèi)隨機布設(shè)M個定位模塊,每個定位模塊分配一個ID號,且位置坐標(biāo)已知。設(shè)在定位區(qū)域內(nèi)有K個移動目標(biāo),每個目標(biāo)上安裝一個目標(biāo)模塊,為了便于識別,每個目標(biāo)模塊分配一個ID號,目標(biāo)模塊根據(jù)定位模塊發(fā)射射頻信號的強度。
第m個定位模塊(1≤m≤M)和第k個目標(biāo)模塊(1≤k≤K)的歐氏距離為
(1)
式中xm和ym為第m個定位模塊的坐標(biāo),xk和yk為第k個目標(biāo)模塊的坐標(biāo)。
射頻信號的強度受障礙物遮擋、多徑傳播等環(huán)境因素的影響較大。大量實驗統(tǒng)計結(jié)果表明,平均信號強度與傳輸距離之間的函數(shù)關(guān)系[6~8]為
(2)
由式(2)可得第k個目標(biāo)模塊測量到的定位模塊m的信號強度為
pmk=p0-10nplg(dmk/d0)
(3)
式中dmk為目標(biāo)模塊k到定位模塊m的距離。
(4)
圖1 三邊測量法原理
在計算交點Pi的過程中,由于系統(tǒng)誤差、粗大誤差等測量誤差導(dǎo)致的三邊定位模塊所構(gòu)成的圓并不能交于一點。經(jīng)大量實驗發(fā)現(xiàn),CC1101芯片測距測距誤差大于實際距離,故定位情況如圖2所示。
圖2 三邊測量法誤差
通過式(5)分別解得圓B與圓C交點E1(xbc1,ybc1),E2(xbc2,ybc2),圓A與圓C交點F1(xac1,yac1),F2(xac2,yac2),圓A與圓B交點G1(xab1,yab1),G2(xab2,yab2)
三十年前,過年三十的晚上,我生下你的第二個兒子才三天,你為了趕緊娶那位有錢、有門第的小姐,你們逼著我冒著大雪出去。
(5)
通過式(6)分別比較2個圓的2個交點與另一個圓圓心距離,找出距離較小的點,篩選出點E(xe,ye)、點F(xf,yf)、點G(xg,yg)
(6)
通過式(7)將得到的3個點進行平均,得到點Pi(xi,yi),即目標(biāo)模塊的定位坐標(biāo)
(7)
考慮到實際測量中出現(xiàn)定位模塊故障、目標(biāo)模塊與定位模塊之間有物體遮擋[9]等情況會造成較大的誤差。當(dāng)有效定位模塊數(shù)大于3個時,為減小誤差,對數(shù)據(jù)進行進一步處理。
(8)
(9)
將這3個坐標(biāo)平均得到第k個目標(biāo)模塊最終定位坐標(biāo)Pk(xk,yk)如下
(10)
考慮到定位目標(biāo)由于老化等因素不能得到有效數(shù)據(jù),影響定位精度。在定位模塊的位置上安裝接收信號的校驗?zāi)K。每個校驗?zāi)K與定位模塊距離l0已知,在每次定位之前定位模塊發(fā)送信號讓校驗?zāi)K檢測強度并得到距離l,當(dāng)所有校驗?zāi)K測距與實際距離偏差值在校驗精度范圍ε以內(nèi),定位系統(tǒng)正常執(zhí)行
(11)
若某個定位模塊與各檢測模塊距離均大于校驗精度范圍,則剔除該定位模塊數(shù)據(jù),使用其他定位模塊數(shù)據(jù)定位。
在60 m×60 m的方形區(qū)域中,均勻安裝5個定位模塊,分別編號A1~A5。收發(fā)模塊采用CC1101芯片,參數(shù)為:p0=-35 dBm,n0=2.1,d0=1。收發(fā)模塊核心原理如圖3所示。
圖3 收發(fā)模塊原理
信號強度受氣溫、氣壓等外界條件[10]和傳感器芯片自身的誤差的影響,經(jīng)測試CC1101芯片測距范圍在30 m內(nèi)效果較好,目標(biāo)模塊有10個,ID編號01~10、定位模塊測距精度為2 m,校驗精度2 m。對所有目標(biāo)模塊進行定位,結(jié)果如表1、圖4所示。
表1 定位數(shù)據(jù)
圖4 CC1101信號強度測距定位結(jié)果
通過試驗數(shù)據(jù)可得定位模塊正常測距時定位精度基本處于測距精度2 m以內(nèi),當(dāng)有定位模塊測距超出有效定位距離以及出現(xiàn)異常時定位精度基本不受到變化。與一般三邊測量法相比,校驗?zāi)K可直接剔除不符合校驗精度的數(shù)據(jù),減少了粗大誤差對定位結(jié)果的干擾;校驗?zāi)K還可以檢測到失效模塊,方便維修。
本文提出了一種改進的三邊測量方法。利用三邊測量法得到多組定位坐標(biāo),通過校驗?zāi)K剔除失效數(shù)據(jù);通過定位坐標(biāo)平均值篩選出較為符合的數(shù)據(jù)進行處理,得到較為準(zhǔn)確的目標(biāo)模塊坐標(biāo),保證了在定位目標(biāo)均正常工作的情況下的定位精度,緩解了傳感器超出有效定位距離及當(dāng)部分定位模塊工作異常時精度大幅度下降以及維修定位模塊時需尋找失效模塊的問題。