馬子耀 程琳琳 李月
DOI:10.16644/j.cnki.cn33-1094/tp.2021.11.005
摘? 要: 傳統(tǒng)RSSI測距模型在移動機器人對使用者進行定位時存在依賴環(huán)境參數(shù)和不能辨別目標方位等問題,因此提出一種基于BP神經(jīng)網(wǎng)絡(luò)的測距定位方法。該方法采用了RSSI測距模型和超聲波測距模型,利用測距定位模塊收集到的RSSI值與超聲波數(shù)據(jù)作為輸入對BP神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練。實驗結(jié)果表明,該方法有效地解決了傳統(tǒng)RSSI測距模型的問題,對目標距離估計準確率達89.98%、對目標方位估計準確率達88.18%,在移動機器人對使用者進行定位時取得良好效果。
關(guān)鍵詞: RSSI測距模型; 超聲波測距模型; BP神經(jīng)網(wǎng)絡(luò); 移動機器人; 測距定位模塊
中圖分類號:TP228;TP242? ? ? ? ? 文獻標識碼:A? ? ? ?文章編號:1006-8228(2021)11-16-05
Research on RSSI and ultrasonic positioning based on BP neural network
Ma Ziyao, Cheng Linlin, Li Yue
(Guangdong Communications Polytechnic, Guangzhou, Guangdong 510650, China)
Abstract: The traditional RSSI ranging model has the problems of relying on environmental parameters and unable to distinguish the target position when the mobile robot locates the user. Therefore, a ranging and positioning method based on BP neural network is proposed. The method adopts RSSI ranging model and ultrasonic ranging model, and uses the RSSI value and ultrasonic data collected by the ranging and positioning module as input to train the BP neural network. The experimental results show that this method effectively solves the problem of the traditional RSSI ranging model. The accuracy of target distance estimation is 89.98%, the accuracy of target position estimation is 88.18%, and good results are obtained when the mobile robot locates the user.
Key words: RSSI ranging model; ultrasonic ranging model; BP neural network; mobile robot; ranging and positioning module
0 引言
近年來,智能機器人逐漸被應(yīng)用于不同領(lǐng)域之中,如醫(yī)院藥物配送、家庭服務(wù)、餐飲服務(wù)等等。但在運載工廠貨物、超市和藥店的商品更換時,由于勞動力短缺,導(dǎo)致出現(xiàn)效率低下的現(xiàn)象,而下一代機器人研究的核心問題是如何進行人機共融[1-3],即機器人與人在同一空間內(nèi)的密切交互,機器人精準定位到使用者并進行跟隨,這是解決以上問題的一種人機交互方式。
目前,定位的方法有很多種,如北斗衛(wèi)星、超聲波、ZigBee[4]、GPS、激光雷達等等。由于大部分超市、倉庫等是建在地下的,衛(wèi)星無法提供精確的位置給機器人;激光雷達雖然可以通過測量與目標物體之間的距離從而來進行目標跟隨,但不能判定被測物體的類別,容易導(dǎo)致丟失目標[5];隨著無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network, WSN)的發(fā)展,常用的測距方法有:到達時間(Time Of Arrival,TOA)、接收信號強度指示(Received SignalStrength Indication,RSSI)、到達角(Angle Of Arrival, AOA)等[6]。由于RSSI不需要額外的硬件就可以進行定位,以及具有較低的能耗、復(fù)雜度低等特點被廣泛用于定位,文獻[7]通過構(gòu)建三層BP神經(jīng)網(wǎng)絡(luò)模型進行訓(xùn)練,最后利用Matlab進行模擬仿真;文獻[8]通過引進蟻群算法來對BP神經(jīng)網(wǎng)絡(luò)模型進行優(yōu)化;文獻[9]通過使用卷積神經(jīng)網(wǎng)絡(luò)來訓(xùn)練RSSI測距模型,這些測距模型相對于傳統(tǒng)RSSI模型減少了對環(huán)境參數(shù)的依賴并且測距精度比傳統(tǒng)的測距精度高,但是這些測距模型只能測量目標到信號發(fā)射源之間的距離,并不能確定目標在信號發(fā)射源的哪個方位。
本文測距定位模型的輸入?yún)?shù)為提供測距定位模塊獲取的不同方位和不同距離類型的超聲波數(shù)據(jù)及對應(yīng)的RSSI值,經(jīng)過模型中的BP神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練后,希望達到同時可測量目標距離和目標方位的目的。
1 RSSI與超聲波測距模型
1.1 基于RSSI測距模型
基于RSSI測距模型[10]的工作原理是無線電信號在空氣中傳播的能量會隨著距離的增大而產(chǎn)生能量損耗,根據(jù)能量損耗值可以計算出傳播的距離,理想RSSI測距模型是Shadowing模型,其模型表達式為:
其中,P值是指未知點到已知點的距離所接收到的無線信號強度(dBm);[P0]是指參考點到已知點的距離所產(chǎn)生的無線信號強度(dBm);n是指無線信號在實際環(huán)境中傳輸時所產(chǎn)生的路徑損耗指數(shù),[ξ]是指衰減指數(shù),[d0]是參考距離,即參考點到已知點之間的距離,d是指未知點到已知點之間的距離。
現(xiàn)實中,由于在進行RSSI測量時,存在障礙物以及周圍環(huán)境等問題,目前比較常用的測距模型為:
其中,RSSI(d)值是指設(shè)備接收到的無線信號強度(dBm);d是指未知點到已知點之間的距離;A是指參考點到已知點指定距離所產(chǎn)生的無線信號強度(dBm);n是指無線信號在實際環(huán)境中傳輸時所產(chǎn)生的路徑損耗指數(shù),與周圍環(huán)境有關(guān)。
1.2 基于超聲波測距模型
基于超聲波測距[11]模型的主要工作原理是利用方波振蕩器發(fā)射發(fā)送40kHz的方波并轉(zhuǎn)換為超聲波,在特定時間內(nèi)接受由被測物體傳送回來的超聲波,此時根據(jù)超聲波在空氣中傳播的時間可以計算出超聲波發(fā)出體與被測物體之間的距離,通常:
其中,[Ultrasound(d)]是被測物體到超聲波發(fā)出體的距離,V是在15°的空氣中聲音的傳播速度,這里V的值是340m/s,[T1]是超聲波發(fā)出體發(fā)射超聲波時的時刻;[T2]是發(fā)出體接收到超聲波時的時刻。
超聲波在本文中的應(yīng)用將有助于解決預(yù)測被測物體在測距定位模塊的具體方位問題。
2 基于BP神經(jīng)網(wǎng)絡(luò)模型
由于使用RSSI模型進行測距時需要的環(huán)境因素A和n屬于不確定因素,故很難在多個場所中使用;而超聲波測距模型只能測量單個障礙物到自身的距離,當有多個障礙物在機器人周圍的時候,機器人雖然能獲得多個障礙物到自己的距離,卻無法準確地判斷哪一個障礙物為目標。神經(jīng)網(wǎng)絡(luò)具有較高的自適應(yīng)性以及學(xué)習(xí)能力強,在處理非線性的數(shù)據(jù)上,神經(jīng)網(wǎng)絡(luò)比其他算法有較大的優(yōu)勢,通過BP神經(jīng)網(wǎng)絡(luò)將收集到的RSSI值與超聲波數(shù)據(jù)進行訓(xùn)練得到的模型[12-14]能夠規(guī)避RSSI模型環(huán)境參數(shù)A和n在不同環(huán)境中所帶來的測量精度不確定性,同時可解決超聲波測距模型無法辨別目標方位的問題。
BP神經(jīng)網(wǎng)絡(luò)又稱為反向傳播神經(jīng)網(wǎng)絡(luò)(Backpropagation neural network),其主要由輸入層、隱含層以及輸出層所組成,其工作原理是通過前向傳播將預(yù)測到的數(shù)值與真實數(shù)值用損失函數(shù)進行計算,將計算出的結(jié)果進行鏈式求導(dǎo),從而更新權(quán)重與偏置值,一直重復(fù)訓(xùn)練直到預(yù)測值與真實值在誤差允許的范圍內(nèi)基本相同為止,BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
BP神經(jīng)網(wǎng)絡(luò)在進行前向傳播時的工作原理為首先將輸入的各個神經(jīng)元值與網(wǎng)絡(luò)初始權(quán)重值進行乘法運算并加上偏置值,將所求的值傳入到激活函數(shù),從而得出該層前向傳播的值并作為新神經(jīng)元的值傳向下一層神經(jīng)元進行前向傳播,其所用公式如下:
其中,[Xj]為輸入的神經(jīng)元值;[Yj]為神經(jīng)元輸出值;[Bj]為神經(jīng)網(wǎng)絡(luò)偏置值,[ωji]為神經(jīng)網(wǎng)絡(luò)權(quán)重值。
BP神經(jīng)網(wǎng)絡(luò)進行反向傳播的工作原理是將前向傳播所計算出預(yù)測值,與真實值進行誤差運算,最后使用梯度下降法進行權(quán)重值與偏置值的數(shù)值更新,使得預(yù)測值能夠更好的接近真實值,有:
其中,E為神經(jīng)網(wǎng)絡(luò)預(yù)測值與真實值的誤差,這里論文使用的函數(shù)是均方誤差(MSE)函數(shù);[Δωji]為更新的權(quán)重值;[ΔBj]為更新的偏置值;[l]為模型進行訓(xùn)練時的學(xué)習(xí)率。
3 實驗與分析
本文實驗所使用的操作系統(tǒng)是Windows10專業(yè)版,進行神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練所使用的深度學(xué)習(xí)框架是Keras,顯卡是NVIDIA的RTX2060。
3.1 定位數(shù)據(jù)集
本文實驗是在一個2.4m*2.4m的矩形空間中,以矩形的中心為測距定位模塊為核心,以測距定位模塊側(cè)面的前、后、左、右、左前、右前、左后、右后八個方向來收集超聲波傳回來的數(shù)值,同時收集具有藍牙功能手環(huán)到測距定位模塊的RSSI值,模塊的實物如圖2(a)所示,根據(jù)機器人跟隨使用者的實際使用場景,設(shè)置每個測量點以40cm為間隔比較適用,一共有24個測量點,如圖2(b)所示進行數(shù)據(jù)收集,并將收集到的數(shù)據(jù)中跳動幅度較大的數(shù)據(jù)進行異常值剔除;同時由于經(jīng)過多次測量發(fā)現(xiàn)小間隔地增減超聲波數(shù)據(jù)對收集到的RSSI值沒有影響,所以將收集的測距定位模塊到手環(huán)超聲波數(shù)據(jù)以1cm為間隔分別進行5次增減,就得到數(shù)據(jù)增強后的實驗數(shù)據(jù)集,實驗數(shù)據(jù)集一共有79200條數(shù)據(jù),其中訓(xùn)練數(shù)據(jù)集一共有63360條數(shù)據(jù),測試數(shù)據(jù)集有15840條數(shù)據(jù),隨機選取5條數(shù)據(jù)如表1所示。
表1中,收集到的RSSI值是取絕對值后的值;Num1、Num2、…、Num8(前、右前、…、左前)是測距定位模塊根據(jù)超聲波數(shù)據(jù)測量到的八個方向到自身的距離,數(shù)據(jù)單位為cm;ST為測量點到模塊的距離類型,其中將同一個方向上的測量點到模塊間的距離分為三種距離類型,分別為近距離、中距離、遠距離,距離類型結(jié)構(gòu)如圖2(b)所示,這樣機器人通過判斷與使用者之間的距離類型,使機器人可以根據(jù)不同場景需要來調(diào)整自身與使用者之間的位置;根據(jù)實驗場景,測距模塊發(fā)送的八個超聲波中有一個超聲波能檢測到有目標,我們將該超聲波命名UT。
3.2 構(gòu)建網(wǎng)絡(luò)結(jié)構(gòu)
本文采用深度學(xué)習(xí)框架Keras的Functional API模式,它能夠定義復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),并且可以定義多輸入、多輸出節(jié)點。本文模型的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
本文模型通過共享全連接層網(wǎng)絡(luò)可以減少模型參數(shù),從而可以降低模型的大小、提高運行速度,激活函數(shù)采用Relu[15]函數(shù);分類函數(shù)采用Softmax[16]函數(shù),該函數(shù)用于分類距離類型和測量到目標的方位類型;優(yōu)化器采用Adam[17]函數(shù);損失函數(shù)采用交叉熵損失函數(shù)替換BP神經(jīng)網(wǎng)絡(luò)中的均方誤差函數(shù)。
3.3 模型的結(jié)果分析
本文模型將測距定位數(shù)據(jù)集傳到圖1的網(wǎng)絡(luò)中,經(jīng)過多次實驗發(fā)現(xiàn),模型訓(xùn)練次數(shù)超過50次后,模型準確率不再提高,趨于收斂。故選擇50次作為模型訓(xùn)練的次數(shù);每一次迭代后的結(jié)果都通過matplotlib進行繪制,最后進行曲線擬合,如圖4、圖5所示。
從圖4可以看到,模型的準確率由四條曲線組成,分別代表距離類型、目標方位類型以及它們對應(yīng)的驗證集的準確率,可以看出模型距離類型和目標方位類型的準確率分別達到89.98% 和88.18%,由圖5可以看出,模型的損失率基本趨向于一個平穩(wěn)的狀態(tài)。
本文將前面表1中所展示的5條數(shù)據(jù)傳入到訓(xùn)練好的模型中進行預(yù)測,預(yù)測結(jié)果如表2所示,可以看出5次預(yù)測均能準確地預(yù)測出測量點到測距定位模塊的距離和方位。由此,可表明BP神經(jīng)網(wǎng)絡(luò)可以用于移動機器人對使用者進行定位。
4 結(jié)束語
本文用測距定位模塊收集不同位置的RSSI值與超聲波數(shù)據(jù),并構(gòu)建定位數(shù)據(jù)集,通過BP神經(jīng)網(wǎng)絡(luò)進行模型訓(xùn)練。通過實驗表明,該模型能夠有效的解決RSSI測距模型中環(huán)境參數(shù)依賴問題和超聲波對測量物體方位未知性的問題,具有較高的準確率。本文所構(gòu)建的BP神經(jīng)網(wǎng)絡(luò)模型可用于超市、倉庫等大型場所中移動機器人對使用者進行定位。
參考文獻(References):
[1] Song P, Yu Y Q, Zhang X P. A tutorial survey and comparison of impedance control on robotic manipulation[J].Robotica,2019.37(5):801-836
[2] Meenakshi, Gupta, Swagat,et al. A Novel Vision-Based Tracking Algorithm for a Human-Following Mobile Robot[J]. IEEE Transactions on Systems, Man, and Cybernetics: Systems,2017.
[3] 姚瀚晨,彭建偉,戴厚德,林名強.基于改進彈簧模型的移動機器人柔順跟隨行人方法[J].機器人,2021.6:1-10[4] Ha Ba Ebi M H,? Khamis R O,? Zyoud A, et al. RSS BasedLocalization Techniques for ZigBee Wireless Sensor Network[C]// International Conference on Computer & Communication Engineering.IEEE Computer Society,2014.
[5] 謝嘉,桑成松,王世明,李永國,趙雯琦.智能跟隨移動機器人的研究與應(yīng)用前景綜述[J].制造業(yè)自動化,2020.42(10):49-55
[6] 余振寶,盧小平,陶曉曉等.一種 GA-BP 神經(jīng)網(wǎng)絡(luò)模型的RSSI測距算法[J].導(dǎo)航定位學(xué)報,2020.8(2):63-68
[7] 費揚,杜慶治.基于BP神經(jīng)網(wǎng)絡(luò)模型的RSSI測距方法研究[J].電波科學(xué)學(xué)報,2018.33(2):195-201
[8] 楊亞楠,夏斌,袁文浩等.應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)的測距算法研究[J].重慶理工大學(xué)學(xué)報(自然科學(xué)),2018.3: 172-177
[9] 余振寶,盧小平,劉英,余培冬,張冬梅.一種改進BP神經(jīng)網(wǎng)絡(luò)的接收信號強度測距算法[J].測繪科學(xué),2020.45(11):48-52,67
[10] 方震,趙湛,郭鵬,張玉國.基于RSSI測距分析[J].傳感技術(shù)學(xué)報,2007.11:2526-2530
[11] 陳志勇,楊天銀,楊騰,黃博,劉承楊.基于超聲波的測距和無線傳輸系統(tǒng)的設(shè)計與制作[J].電子測試,2021.9:31-32
[12] DE? Rumelhart,? Hinton G E,? Williams R J. Learning Representations by Back Propagating Errors[J].Nature,1986.323(6088):533-536
[13 李麗娜,梁德骕,馬俊等.基于灰色-RBF神經(jīng)網(wǎng)絡(luò)的傳播損耗模型訓(xùn)練[J].計算機應(yīng)用與軟件,2016.33(8):136-140
[14] 石曉偉,張會清,鄧貴華.基于BP神經(jīng)網(wǎng)絡(luò)的距離損耗模型室內(nèi)定位算法研究[J].計算機測量與控制,2012.20(7):1944-1947
[15] 張煥,張慶,于紀言.激活函數(shù)的發(fā)展綜述及其性質(zhì)分析[J].西華大學(xué)學(xué)報(自然科學(xué)版):1-10[2021-06-11].http://kns.cnki.net/kcms/detail/51.1686.N.20210511.1054.002.html.
[16] 萬磊,佟鑫,盛明偉,秦洪德,唐松奇.Softmax分類器深度學(xué)習(xí)圖像分類方法應(yīng)用綜述[J].導(dǎo)航與控制,2019.18(6):1-9,47
[17] Kingma D,? Ba J. Adam: A Method for Stochastic Optimization[J].Computer Science,2014.