一种多嗅觉机器人协同的气味源定位方法
技术领域
本发明属于危险气体源定位检测领域,具体涉及一种多嗅觉机器人协同的气味源定位方法。
背景技术
危险气味源的快速定位对于人类健康和环境安全都有着重要意义。传统的气味源定位方法根据局部浓度梯度来跟踪气味源,例如Z字形搜索和三边定位搜索,由于这类算法缺乏先验知识,因此通常要遍历整个搜索区域,导致算法的搜索效率较低,且智能化程度较弱。
近年来基于人工神经网络的气味源定位方法得到了广泛应用。例如有研究结合混合蛙跳算法提高神经网络训练的收敛速度,还有研究在机器人的主动嗅觉中引入径向基神经网络。以上方法虽然在一定程度上提高了全局快速搜索能力,但缺乏多机器人的信息共享,且无法较好的实现迭代训练结果和运动路径规划的联动感知。
发明内容
本发明针对现有技术的不足,构建一种多嗅觉机器人协同的气味源定位方法。嗅觉机器人通过螺旋运动快速发现气味源,对BP神经网络的权值调整进行优化提高跟踪运动斜率的准确性,并通过s型分段正弦运动快速跟踪气味源,同时利用RFID定位系统的特性加强了多机器人之间的信息耦合,使得系统的可扩展性和鲁棒性得到了一定程度的改善,在实现气味源快速定位的同时加强了模型的泛化能力。
一种多嗅觉机器人协同的气味源定位方法,该方法为:首先在气味源发现阶段,将多个嗅觉机器人随机分布在二维搜索平面的不同位置,然后所有嗅觉机器人做向外扩张的螺旋运动;一旦任意三个嗅觉机器人测得的气体浓度都大于低阈值,此时上述三个嗅觉机器人进入气味源跟踪阶段,开始朝气味源方向做s型分段正弦运动;以BP神经网络和RFID定位系统为基础,其中BP神经网络利用周期梯度信息动态调节权值,控制嗅觉机器人每个周期的运动斜率;RFID定位系统通过传递多个嗅觉机器人测得的气体浓度,根据气体浓度差异动态修改每个周期正弦运动的振幅和角频率;一旦任意一个嗅觉机器人测得的气体浓度大于高阈值,此时该嗅觉机器人进入气味源确认阶段,使用统计学方法进行气味源定位。
本发明具体包括以下步骤:
步骤1:在气味源发现阶段,将n个嗅觉机器人,分别标识为机器人l,l=1,2,3...,n,随机分布在二维搜索平面的任意初始位置,机器人l分别以各自的初始位置为原点,开始做半径不断增大的螺旋运动,如式(1)所示;并且每隔时间Δt测量一次所在位置的气体浓度;
式中,t=b×Δt,b=1,2,3…,t表示当前的测量时刻;(xl(t),yl(t))表示t时刻机器人l所在位置的对应坐标;
步骤2:在气味源发现阶段,一旦任意三个嗅觉机器人在时刻t1测得的气体浓度都大于低阈值γ,按照满足低阈值条件的先后顺序依次标记为Robot1、Robot2、Robot3,之后这三个嗅觉机器人随即进入气味源跟踪阶段;其余嗅觉机器人则停止运动,退出气味源的定位过程;
步骤3:在气味源跟踪阶段,为快速靠近气味源,嗅觉机器人Robotβ在时刻t1停止做向外扩张的螺旋运动,β=1,2,3,开始进行s型分段正弦运动,并将时刻t1的螺旋运动方向作为正弦运动的初始方向;设定正弦运动的周期为2π,每个周期的固定运动时间为T,第k个周期中嗅觉机器人Robotβ的正弦运动曲线如式(2)所示;
式中,(xβ′,yβ′)表示嗅觉机器人Robotβ相对于每个周期初始时刻的二维坐标;t′表示每个周期内的相对时刻;Aβ(k),ωβ(k)分别表示第k个周期嗅觉机器人Robotβ正弦运动的振幅和角频率,其中Aβ(k),ωβ(k)在每个周期中保持恒定值不变,同时
ωβ(k)×xβ′∈[2(k-1)π,2kπ);
考虑到ωβ(k)xβ′=2kπ-π为第k个周期的对称中心点,对于该周期的平均气体浓度具有一定代表性,假设第k个周期嗅觉机器人Robotβ在ωβ(k)×xβ′=2kπ-π测得的气体浓度分别为PLβ;根据RFID定位算法,气体浓度随距离增加呈现出对数形式衰减的特征,以嗅觉机器人Robot3测得的气体浓度为参照,得到第k个周期嗅觉机器人Robotβ和气味源之间距离的相对关系,如式(3)所示;
式中,d1,d2,d3分别表示第k个周期嗅觉机器人Robotβ到气味源的实际距离;ζ表示路径损耗系数,通常设置为2~5;
根据式(3),不失一般性,以机器人Robot1和Robot3之间的距离比计算为例,如式(4)所示;
嗅觉机器人Robotβ到气味源距离的不同,将决定式(2)中振幅Aβ(k)和角频率ωβ(k)的差异;由于当嗅觉机器人距离气味源较远时,此时气体浓度较低,应当做振幅较大,角频率较小的正弦运动,快速向气味源靠近并收集较大范围的气体浓度数据;当嗅觉机器人距离气味源位置较近时,此时气体浓度较高,应当做振幅较小,角频率较大的正弦运动,这样可以在气味源附近小范围地收集气体浓度,以便进行接下去的气味源确认;
第k个周期结束时,嗅觉机器人会根据测得的气体浓度,调整第k+1个周期的振幅Aβ(k+1)、角频率ωβ(k+1)以及初始运动方向;当k=1时,嗅觉机器人是根据该周期t′=0时刻测得的气体浓度进行调整;其中振幅Aβ(k+1)、角频率ωβ(k+1)使用sigmoid激活函数实现动态化调整,具体按以下规则进行:将嗅觉机器人Robot3作为参照物,设定其振幅A3(k+1)和角频率ω3(k+1)为固定值ε和ρ,得到第k+1个周期嗅觉机器人Robot1和Robot2的振幅和角频率,如式(5)和(6)所示;
步骤4:在气味源跟踪阶段,其中嗅觉机器人运动方向的调整,按以下规则进行:以嗅觉机器人Robot1为例,该嗅觉机器人在第k个周期中测得气体浓度,同时将这些浓度值作为BP神经网络的输入,因此BP神经网络输入层的节点数目为4,分别以vp表示,p=1,2,3,4;输出层为第k个周期ωβ(k)×xβ′=2kπ的实际气味源预测方向角斜率对应的节点数目为1,隐含层的节点数目设置为其中m表示输入层的节点数目,m′表示输出层的节点数目,a取1~10之间的整数,默认取整数3,因此隐含层的节点数目默认为5;考虑到传统的BP神经网络往往存在收敛速度慢的问题,而权值的优化可以有效提高神经网络的训练速度,因此利用周期梯度信息动态调整权值,实现当权重的变化量较小时仍然能够加快调整速度,而当权重出现较大变化时起到阻尼的作用;
首先考虑到嗅觉机器人在不同周期测得的气体浓度均值差异较大,这会对BP神经网络的训练造成较大影响,因此将第k个周期的输入量vp(k)归一化得到BP神经网络的输入量Vp(k),如式(7)所示;
式中,min(vp(k))表示输入节点vp的最小值;max(vp(k))表示输入节点vp的最大值;
期望的气味源预测方向角斜率为该斜率为第k个周期ωβ(k)×xβ′=2kπ所在位置和气味源连线的夹角斜率,得到第k个周期的损失函数E(k),如式(8)所示;
式中,表示实际的气味源预测方向角斜率;
然后将第k-1个周期的权值变化量Δwi,j(k-1)作用到第k个周期的权值调整中,当k=1时不作考虑,得到第k个周期的权重调整值Δwi,j(k),如式(9)所示;
式中,η表示学习率;分别表示第k个周期的梯度信息,wi,j γ(k)表示第k个周期神经网络中γ层的节点i到下一层节点j的权重值,其中γ=1表示为输入层,γ=2表示为隐含层;-0.5<λ-<0<λ+<0.5表示调整系数;
接着进行权值更新,得到第k+1个周期的权重值wi,j(k+1);
wi,j(k+1)=wi,j(k)+Δwi,j(k) (10)
最后根据第k个周期BP神经网络的实际输出值,利用旋转矩阵修正式(2)中的正弦运动曲线,得到第k个周期实际的正弦运动曲线,如式(11)所示;
式中,Xβ,Yβ表示嗅觉机器人Robotβ相对于每个周期初始时刻的实际二维坐标;
步骤5:在气味源跟踪阶段,一旦某个嗅觉机器人测得的气体浓度大于高阈值δ,该嗅觉机器人随即进入气味源确认阶段,并将当前周期重置为0,由于气味源所在位置的气体浓度最高,向四周传递的气体浓度会逐渐递减,所以该嗅觉机器人会在气体浓度较高的点附近做向内收缩的螺旋运动,其余嗅觉机器人则暂时停止运动;在此过程中,判断第r个周期中该嗅觉机器人在测得的气体浓度值vp(r)是否大于高阈值δ,如式(12)所示;
式中,μ表示第r个周期中测得的气体浓度值vp(r)的均值,σ表示第r个周期中测得的气体浓度值vp(r)的方差;
如果该嗅觉机器人连续三个周期满足上述条件即可判定该点为气味源,此时气味源定位结束;而当该嗅觉机器人不能满足上述条件时,此时嗅觉机器人Robotβ将返回执行步骤3,继续做正弦运动。
作为优选,a取取整数3,隐含层的节点数目默认为5。
本发明具有的特点:
1.嗅觉机器人采用s型分段正弦运动,动态调整每个周期正弦运动的振幅、角频率和方向角斜率,实现完整气味源的自主搜索,保证嗅觉机器人系统能量的较小消耗。
2.改进传统BP神经网络的反向传播,将第k-1个周期得到的权重变化作为先验信息,应用到第k个周期的权重调节中,可以大大提高搜索的灵活性和效率。
3.利用RFID定位系统特性实现多嗅觉机器人之间的信息共享,控制嗅觉机器人的运动轨迹,满足实际中要求快速定位的要求。
附图说明
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
图1为本发明的多嗅觉机器人协同的气味源定位方法的流程图。
图2为气味源发现阶段——向外扩张的螺旋运动示意图。
图3为气味源跟踪阶段——s型分段正弦运动示意图。
图4为气味源确认阶段——向内收缩的螺旋运动示意图。
具体实施方式
如图1所示,本发明提出一种多嗅觉机器人协同的气味源定位方法。首先在气味源发现阶段,将多个嗅觉机器人随机分布在二维搜索平面的不同位置,然后所有嗅觉机器人做向外扩张的螺旋运动;一旦任意三个嗅觉机器人测得的气体浓度都大于低阈值,此时上述三个嗅觉机器人进入气味源跟踪阶段,开始朝气味源方向做s型分段正弦运动。以BP神经网络和RFID定位系统为基础,其中BP神经网络利用周期梯度信息动态调节权值,控制嗅觉机器人每个周期的运动斜率;RFID定位系统通过传递多个嗅觉机器人测得的气体浓度,根据气体浓度差异动态修改每个周期正弦运动的振幅和角频率。一旦任意一个嗅觉机器人测得的气体浓度大于高阈值,此时该嗅觉机器人进入气味源确认阶段,使用统计学方法进行气味源定位。
本专利所述的气味源与嗅觉机器人所配置的传感器具有对应关系,即在本专利所述的气味源刺激下,传感器会产生一定强度的响应,其中传感器测得的气体浓度值范围假设为256个级别,对应16进制0X00~0XFF,分别将气味浓度的低阈值和高阈值设置为0X20和0X80。专利具体包括以下步骤:
步骤1:如图2所示,在气味源发现阶段,将n个嗅觉机器人(分别标识为机器人l(l=1,2,3...,n))随机分布在二维搜索平面的任意初始位置,机器人l(l=1,2,3...,n)分别以各自的初始位置为原点,开始做半径不断增大的螺旋运动,如式(1)所示。并且每隔时间Δt测量一次所在位置的气体浓度。
式中,t=b×Δt(b=1,2,3...)表示当前的测量时刻;(xl(t),yl(t))表示t时刻机器人l所在位置的对应坐标。
步骤2:在气味源发现阶段,一旦任意三个嗅觉机器人在时刻t1测得的气体浓度都大于低阈值γ(默认设为γ=0X20),按照满足低阈值条件的先后顺序依次标记为Robot1、Robot2、Robot3,之后这三个嗅觉机器人随即进入气味源跟踪阶段;其余嗅觉机器人则停止运动,退出气味源的定位过程。
步骤3:在气味源跟踪阶段,为快速靠近气味源,嗅觉机器人Robotβ(β=1,2,3)在时刻t1停止做向外扩张的螺旋运动,开始进行s型分段正弦运动(简称正弦运动),并将时刻t1的螺旋运动方向作为正弦运动的初始方向。设定正弦运动的周期为2π,每个周期的固定运动时间为T,第k个周期中(k=1,2,3...)嗅觉机器人Robotβ(β=1,2,3)的正弦运动曲线如式(2)所示。
式中,xβ′,yβ′表示嗅觉机器人Robotβ相对于每个周期初始时刻的二维坐标;t′表示每个周期内的相对时刻;Aβ(k),ωβ(k)分别表示第k个周期嗅觉机器人Robotβ正弦运动的振幅和角频率,其中Aβ(k),ωβ(k)在每个周期中保持恒定值不变,同时
ωβ(k)×xβ′∈[2(k-1)π,2kπ)。
考虑到ωβ(k)xβ′=2kπ-π为第k个周期的对称中心点,对于该周期的平均气体浓度具有一定代表性,假设第k个周期嗅觉机器人Robotβ(β=1,2,3)在ωβ(k)×xβ′=2kπ-π测得的气体浓度分别为PLβ(β=1,2,3)。根据RFID定位算法,气体浓度随距离增加呈现出对数形式衰减的特征,以嗅觉机器人Robot3测得的气体浓度为参照,得到第k个周期嗅觉机器人Robotβ(β=1,2,3)和气味源之间距离的相对关系,如式(3)所示。
式中,d1,d2,d3分别表示第k个周期嗅觉机器人Robotβ(β=1,2,3)到气味源的实际距离;ζ表示路径损耗系数,通常设置为2~5。
根据式(3),不失一般性,以机器人Robot1和Robot3之间的距离比计算为例,如式(4)所示。
嗅觉机器人Robotβ(β=1,2,3)到气味源距离的不同,将决定式(2)中振幅Aβ(k)和角频率ωβ(k)的差异。由于当嗅觉机器人距离气味源较远时,此时气体浓度较低,应当做振幅较大,角频率较小的正弦运动,可以快速向气味源靠近并收集较大范围的气体浓度数据;当嗅觉机器人距离气味源位置较近时,此时气体浓度较高,应当做振幅较小,角频率较大的正弦运动,这样可以在气味源附近小范围地收集气体浓度,以便进行接下去的气味源确认。
第k个周期结束时,嗅觉机器人会根据测得的气体浓度,调整第k+1个周期的振幅Aβ(k+1)、角频率ωβ(k+1)以及初始运动方向;当k=1时,嗅觉机器人是根据该周期t′=0时刻测得的气体浓度进行调整。其中振幅Aβ(k+1)、角频率ωβ(k+1)使用sigmoid激活函数实现动态化调整,具体按以下规则进行:将嗅觉机器人Robot3作为参照物,设定其振幅A3(k+1)和角频率ω3(k+1)为固定值ε和ρ,得到第k+1个周期嗅觉机器人Robot1和Robot2的振幅和角频率,如式(5)和(6)所示。
步骤4:如图3所示,在气味源跟踪阶段,其中嗅觉机器人运动方向的调整,按以下规则进行:以嗅觉机器人Robot1为例,该嗅觉机器人在第k个周期中测得气体浓度,同时将这些浓度值作为BP神经网络的输入,因此BP神经网络输入层的节点数目为4,分别以vp(p=1,2,3,4)表示;输出层为第k个周期ωβ(k)×xβ′=2kπ的实际气味源预测方向角斜率对应的节点数目为1,隐含层的节点数目设置为其中m表示输入层的节点数目,m′表示输出层的节点数目,a取1~10之间的整数,默认取整数3,因此隐含层的节点数目默认为5。考虑到传统的BP神经网络往往存在收敛速度慢的问题,而权值的优化可以有效提高神经网络的训练速度,因此利用周期梯度信息动态调整权值,实现当权重的变化量较小时仍然能够加快调整速度,而当权重出现较大变化时起到阻尼的作用。
首先考虑到嗅觉机器人在不同周期测得的气体浓度均值差异较大,这会对BP神经网络的训练造成较大影响,因此将第k个周期的输入量vp(k)归一化得到BP神经网络的输入量Vp(k),如式(7)所示。
式中,min(vp(k))表示输入节点vp(p=1,2,3,4)的最小值;max(vp(k))表示输入节点vp(p=1,2,3,4)的最大值。
期望的气味源预测方向角斜率为该斜率为第k个周期ωβ(k)×xβ′=2kπ所在位置和气味源连线的夹角斜率,得到第k个周期的损失函数E(k),如式(8)所示。
式中,表示实际的气味源预测方向角斜率。
然后将第k-1个周期的权值变化量Δwi,j(k-1)作用到第k个周期的权值调整中(当k=1时不作考虑),得到第k个周期的权重调整值Δwi,j(k),如式(9)所示。
式中,η表示学习率;分别表示第k-1个周期和第k个周期的梯度信息,wi,j γ(k)表示第k个周期神经网络中γ层的节点i到下一层节点j的权重值,其中γ=1表示为输入层,γ=2表示为隐含层;-0.5<λ-<0<λ+<0.5表示调整系数。
接着进行权值更新,得到第k+1个周期的权重值wi,j(k+1)。
wi,j(k+1)=wi,j(k)+Δwi,j(k) (10)
最后根据第k个周期BP神经网络的实际输出值,利用旋转矩阵修正式(2)中的正弦运动曲线,得到第k个周期实际的正弦运动曲线,如式(11)所示。
式中,Xβ,Yβ表示嗅觉机器人Robotβ(β=1,2,3)相对于每个周期初始时刻的实际二维坐标。
步骤5:如图4所示,在气味源跟踪阶段,一旦某个嗅觉机器人测得的气体浓度大于高阈值δ(默认设为δ=0X80),该嗅觉机器人随即进入气味源确认阶段,并将当前周期重置为0,由于气味源所在位置的气体浓度最高,向四周传递的气体浓度会逐渐递减,所以该嗅觉机器人会在气体浓度较高的点附近做向内收缩的螺旋运动,其余嗅觉机器人则暂时停止运动。在此过程中,判断第r个周期中该嗅觉机器人在测得的气体浓度值vp(r)是否大于高阈值δ(置信度99.7%),如式(12)所示。
式中,μ表示第r个周期中测得的气体浓度值vp(r)的均值,σ表示第r个周期中测得的气体浓度值vp(r)的方差。
如果该嗅觉机器人连续三个周期满足上述条件即可判定该点为气味源,此时气味源定位结束;而当该嗅觉机器人不能满足上述条件时,此时嗅觉机器人Robotβ(β=1,2,3)将返回执行步骤3,继续做正弦运动。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种高可靠性辣椒直播机遥控装置及控制方法