馬子耀 程琳琳 李月



DOI:10.16644/j.cnki.cn33-1094/tp.2021.11.005
摘? 要: 傳統RSSI測距模型在移動機器人對使用者進行定位時存在依賴環境參數和不能辨別目標方位等問題,因此提出一種基于BP神經網絡的測距定位方法。該方法采用了RSSI測距模型和超聲波測距模型,利用測距定位模塊收集到的RSSI值與超聲波數據作為輸入對BP神經網絡進行訓練。實驗結果表明,該方法有效地解決了傳統RSSI測距模型的問題,對目標距離估計準確率達89.98%、對目標方位估計準確率達88.18%,在移動機器人對使用者進行定位時取得良好效果。
關鍵詞: RSSI測距模型; 超聲波測距模型; BP神經網絡; 移動機器人; 測距定位模塊
中圖分類號: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 引言
近年來,智能機器人逐漸被應用于不同領域之中,如醫院藥物配送、家庭服務、餐飲服務等等。但在運載工廠貨物、超市和藥店的商品更換時,由于勞動力短缺,導致出現效率低下的現象,而下一代機器人研究的核心問題是如何進行人機共融[1-3],即機器人與人在同一空間內的密切交互,機器人精準定位到使用者并進行跟隨,這是解決以上問題的一種人機交互方式。
目前,定位的方法有很多種,如北斗衛星、超聲波、ZigBee[4]、GPS、激光雷達等等。由于大部分超市、倉庫等是建在地下的,衛星無法提供精確的位置給機器人;激光雷達雖然可以通過測量與目標物體之間的距離從而來進行目標跟隨,但不能判定被測物體的類別,容易導致丟失目標[5];隨著無線傳感器網絡(Wireless Sensor Network, WSN)的發展,常用的測距方法有:到達時間(Time Of Arrival,TOA)、接收信號強度指示(Received SignalStrength Indication,RSSI)、到達角(Angle Of Arrival, AOA)等[6]。由于RSSI不需要額外的硬件就可以進行定位,以及具有較低的能耗、復雜度低等特點被廣泛用于定位,文獻[7]通過構建三層BP神經網絡模型進行訓練,最后利用Matlab進行模擬仿真;文獻[8]通過引進蟻群算法來對BP神經網絡模型進行優化;文獻[9]通過使用卷積神經網絡來訓練RSSI測距模型,這些測距模型相對于傳統RSSI模型減少了對環境參數的依賴并且測距精度比傳統的測距精度高,但是這些測距模型只能測量目標到信號發射源之間的距離,并不能確定目標在信號發射源的哪個方位。
本文測距定位模型的輸入參數為提供測距定位模塊獲取的不同方位和不同距離類型的超聲波數據及對應的RSSI值,經過模型中的BP神經網絡進行訓練后,希望達到同時可測量目標距離和目標方位的目的。
1 RSSI與超聲波測距模型
1.1 基于RSSI測距模型
基于RSSI測距模型[10]的工作原理是無線電信號在空氣中傳播的能量會隨著距離的增大而產生能量損耗,根據能量損耗值可以計算出傳播的距離,理想RSSI測距模型是Shadowing模型,其模型表達式為:
其中,P值是指未知點到已知點的距離所接收到的無線信號強度(dBm);[P0]是指參考點到已知點的距離所產生的無線信號強度(dBm);n是指無線信號在實際環境中傳輸時所產生的路徑損耗指數,[ξ]是指衰減指數,[d0]是參考距離,即參考點到已知點之間的距離,d是指未知點到已知點之間的距離。
現實中,由于在進行RSSI測量時,存在障礙物以及周圍環境等問題,目前比較常用的測距模型為:
其中,RSSI(d)值是指設備接收到的無線信號強度(dBm);d是指未知點到已知點之間的距離;A是指參考點到已知點指定距離所產生的無線信號強度(dBm);n是指無線信號在實際環境中傳輸時所產生的路徑損耗指數,與周圍環境有關。
1.2 基于超聲波測距模型
基于超聲波測距[11]模型的主要工作原理是利用方波振蕩器發射發送40kHz的方波并轉換為超聲波,在特定時間內接受由被測物體傳送回來的超聲波,此時根據超聲波在空氣中傳播的時間可以計算出超聲波發出體與被測物體之間的距離,通常:
其中,[Ultrasound(d)]是被測物體到超聲波發出體的距離,V是在15°的空氣中聲音的傳播速度,這里V的值是340m/s,[T1]是超聲波發出體發射超聲波時的時刻;[T2]是發出體接收到超聲波時的時刻。
超聲波在本文中的應用將有助于解決預測被測物體在測距定位模塊的具體方位問題。
2 基于BP神經網絡模型
由于使用RSSI模型進行測距時需要的環境因素A和n屬于不確定因素,故很難在多個場所中使用;而超聲波測距模型只能測量單個障礙物到自身的距離,當有多個障礙物在機器人周圍的時候,機器人雖然能獲得多個障礙物到自己的距離,卻無法準確地判斷哪一個障礙物為目標。神經網絡具有較高的自適應性以及學習能力強,在處理非線性的數據上,神經網絡比其他算法有較大的優勢,通過BP神經網絡將收集到的RSSI值與超聲波數據進行訓練得到的模型[12-14]能夠規避RSSI模型環境參數A和n在不同環境中所帶來的測量精度不確定性,同時可解決超聲波測距模型無法辨別目標方位的問題。
BP神經網絡又稱為反向傳播神經網絡(Backpropagation neural network),其主要由輸入層、隱含層以及輸出層所組成,其工作原理是通過前向傳播將預測到的數值與真實數值用損失函數進行計算,將計算出的結果進行鏈式求導,從而更新權重與偏置值,一直重復訓練直到預測值與真實值在誤差允許的范圍內基本相同為止,BP神經網絡結構如圖1所示。
BP神經網絡在進行前向傳播時的工作原理為首先將輸入的各個神經元值與網絡初始權重值進行乘法運算并加上偏置值,將所求的值傳入到激活函數,從而得出該層前向傳播的值并作為新神經元的值傳向下一層神經元進行前向傳播,其所用公式如下:
其中,[Xj]為輸入的神經元值;[Yj]為神經元輸出值;[Bj]為神經網絡偏置值,[ωji]為神經網絡權重值。
BP神經網絡進行反向傳播的工作原理是將前向傳播所計算出預測值,與真實值進行誤差運算,最后使用梯度下降法進行權重值與偏置值的數值更新,使得預測值能夠更好的接近真實值,有:
其中,E為神經網絡預測值與真實值的誤差,這里論文使用的函數是均方誤差(MSE)函數;[Δωji]為更新的權重值;[ΔBj]為更新的偏置值;[l]為模型進行訓練時的學習率。
3 實驗與分析
本文實驗所使用的操作系統是Windows10專業版,進行神經網絡模型訓練所使用的深度學習框架是Keras,顯卡是NVIDIA的RTX2060。
3.1 定位數據集
本文實驗是在一個2.4m*2.4m的矩形空間中,以矩形的中心為測距定位模塊為核心,以測距定位模塊側面的前、后、左、右、左前、右前、左后、右后八個方向來收集超聲波傳回來的數值,同時收集具有藍牙功能手環到測距定位模塊的RSSI值,模塊的實物如圖2(a)所示,根據機器人跟隨使用者的實際使用場景,設置每個測量點以40cm為間隔比較適用,一共有24個測量點,如圖2(b)所示進行數據收集,并將收集到的數據中跳動幅度較大的數據進行異常值剔除;同時由于經過多次測量發現小間隔地增減超聲波數據對收集到的RSSI值沒有影響,所以將收集的測距定位模塊到手環超聲波數據以1cm為間隔分別進行5次增減,就得到數據增強后的實驗數據集,實驗數據集一共有79200條數據,其中訓練數據集一共有63360條數據,測試數據集有15840條數據,隨機選取5條數據如表1所示。
表1中,收集到的RSSI值是取絕對值后的值;Num1、Num2、…、Num8(前、右前、…、左前)是測距定位模塊根據超聲波數據測量到的八個方向到自身的距離,數據單位為cm;ST為測量點到模塊的距離類型,其中將同一個方向上的測量點到模塊間的距離分為三種距離類型,分別為近距離、中距離、遠距離,距離類型結構如圖2(b)所示,這樣機器人通過判斷與使用者之間的距離類型,使機器人可以根據不同場景需要來調整自身與使用者之間的位置;根據實驗場景,測距模塊發送的八個超聲波中有一個超聲波能檢測到有目標,我們將該超聲波命名UT。
3.2 構建網絡結構
本文采用深度學習框架Keras的Functional API模式,它能夠定義復雜的網絡結構,并且可以定義多輸入、多輸出節點。本文模型的網絡結構如圖3所示。
本文模型通過共享全連接層網絡可以減少模型參數,從而可以降低模型的大小、提高運行速度,激活函數采用Relu[15]函數;分類函數采用Softmax[16]函數,該函數用于分類距離類型和測量到目標的方位類型;優化器采用Adam[17]函數;損失函數采用交叉熵損失函數替換BP神經網絡中的均方誤差函數。
3.3 模型的結果分析
本文模型將測距定位數據集傳到圖1的網絡中,經過多次實驗發現,模型訓練次數超過50次后,模型準確率不再提高,趨于收斂。故選擇50次作為模型訓練的次數;每一次迭代后的結果都通過matplotlib進行繪制,最后進行曲線擬合,如圖4、圖5所示。
從圖4可以看到,模型的準確率由四條曲線組成,分別代表距離類型、目標方位類型以及它們對應的驗證集的準確率,可以看出模型距離類型和目標方位類型的準確率分別達到89.98% 和88.18%,由圖5可以看出,模型的損失率基本趨向于一個平穩的狀態。
本文將前面表1中所展示的5條數據傳入到訓練好的模型中進行預測,預測結果如表2所示,可以看出5次預測均能準確地預測出測量點到測距定位模塊的距離和方位。由此,可表明BP神經網絡可以用于移動機器人對使用者進行定位。
4 結束語
本文用測距定位模塊收集不同位置的RSSI值與超聲波數據,并構建定位數據集,通過BP神經網絡進行模型訓練。通過實驗表明,該模型能夠有效的解決RSSI測距模型中環境參數依賴問題和超聲波對測量物體方位未知性的問題,具有較高的準確率。本文所構建的BP神經網絡模型可用于超市、倉庫等大型場所中移動機器人對使用者進行定位。
參考文獻(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] 謝嘉,桑成松,王世明,李永國,趙雯琦.智能跟隨移動機器人的研究與應用前景綜述[J].制造業自動化,2020.42(10):49-55
[6] 余振寶,盧小平,陶曉曉等.一種 GA-BP 神經網絡模型的RSSI測距算法[J].導航定位學報,2020.8(2):63-68
[7] 費揚,杜慶治.基于BP神經網絡模型的RSSI測距方法研究[J].電波科學學報,2018.33(2):195-201
[8] 楊亞楠,夏斌,袁文浩等.應用卷積神經網絡的測距算法研究[J].重慶理工大學學報(自然科學),2018.3: 172-177
[9] 余振寶,盧小平,劉英,余培冬,張冬梅.一種改進BP神經網絡的接收信號強度測距算法[J].測繪科學,2020.45(11):48-52,67
[10] 方震,趙湛,郭鵬,張玉國.基于RSSI測距分析[J].傳感技術學報,2007.11:2526-2530
[11] 陳志勇,楊天銀,楊騰,黃博,劉承楊.基于超聲波的測距和無線傳輸系統的設計與制作[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].計算機應用與軟件,2016.33(8):136-140
[14] 石曉偉,張會清,鄧貴華.基于BP神經網絡的距離損耗模型室內定位算法研究[J].計算機測量與控制,2012.20(7):1944-1947
[15] 張煥,張慶,于紀言.激活函數的發展綜述及其性質分析[J].西華大學學報(自然科學版):1-10[2021-06-11].http://kns.cnki.net/kcms/detail/51.1686.N.20210511.1054.002.html.
[16] 萬磊,佟鑫,盛明偉,秦洪德,唐松奇.Softmax分類器深度學習圖像分類方法應用綜述[J].導航與控制,2019.18(6):1-9,47
[17] Kingma D,? Ba J. Adam: A Method for Stochastic Optimization[J].Computer Science,2014.