马子耀 程琳琳 李月
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.