樽海鞘群行为启发的多机器人自主羽流寻源方法
2023-11-19郭振宇马圣山
郭振宇,袁 杰,马圣山
(新疆大学电气工程学院,新疆 乌鲁木齐 830017)
0 引 言
近些年来,室内空气污染所带来的威胁与日俱增[1],特别是当有毒、易燃、生化、放射性等有害物质在室内空间中发生泄漏时,将严重污染室内空气环境,必须尽快、准确地定位室内环境中的污染源。目前,羽流寻源的方法通常有两种类型:一种是利用固定传感器网络进行羽流源位置的确定;另一种是利用移动机器人来搜索定位羽流源。
基于固定传感器网络的方法主要由优化算法[2]或概率分布采样方法[3-4]预测羽流源位置。该方法通过传感器网络收集扩散在空气中的羽流浓度数据,实现对羽流源位置的估计,但该方法依赖于气流传输和扩散模型,当模型不精确时会导致较大的预测误差。
与基于固定传感器网络的方法不同,配备有传感器的移动机器人采用主动嗅觉方法,利用获取气流和羽流浓度信息自动检测和跟踪羽流并定位其来源。近几年,研究人员提出了多种基于主动嗅觉的羽流源定位方法,主要包括基于浓度梯度的方法[5]、基于仿生的方法[6]和基于多机器人的方法[7-11]。与基于单机器人的主动嗅觉方法相比,基于多机器人的方法在机器人之间共享化学烟羽线索,在羽流寻源过程中能够减少搜索时间。在基于多机器人的主动嗅觉方法中,启发式优化方法可以将羽流寻源问题转化为优化问题并加以解决,由于其在效率、鲁棒性和全局搜索能力方面上的明显优势,引起了学者们的广泛关注和探索。Wang 等人提出一种基于保证收敛的粒子群优化(GC-PSO)的MGC-PSO[7]。该方法动态调整部分低适应度机器人的寻源模式和搜索范围因子能实现准确的源定位。黄建新等人提出模拟退火算法结合模糊C 均值聚类的羽流寻源方法,采用模拟退火算法为寻源无人机提供位置坐标,并通过模糊C 均值算法为无人机搜索提供范围[8]。Feng 等人提出了一种独立于气流信息的改进型粒子群优化(IPSO)算法[9]。在这个方法中引入了一个极值干扰因子,从而增强了机器人的探索能力。傅均等人提出了一种基于风向人工生态系统优化算法(WAEO)的主动嗅觉方法,该方法通过增加追风者角色提高了多台机器人定位室内羽流源的效率[10]。Feng 等人提出了一种基于自适应粒子群优化的多机器人嗅觉方法(URPSO),真实的机器人实验证明了该方法的可行性[11]。
然而,上述研究对于风信息的利用使得机器人需要携带昂贵而笨重的风速计,不仅提高了羽流寻源的成本,而且降低了机器人的灵活性和适应性;同时,上述研究大多忽略了障碍物对室内羽流分布的影响,当室内环境中存在障碍物时,羽流分布区域会存在多个局部极值区,湍流环境中气体羽流的斑块状和时变性特点将会导致机器人逃离这些区域的难度大大增加。
S. Mirjalili 等人提出了一种优化方法,其灵感来自于樽海鞘的导航和觅食行为,称为樽海鞘群算法(Salp Swarm Algorithm, SSA)[12]。作为一种启发式优化方法,SSA 具有优异的探索性和全局性。到目前为止,SSA已广泛应用于许多领域,但目前该算法尚未用于机器人羽流寻源任务。针对室内环境中存在障碍物时羽流分布的复杂性和动态性特点,本文提出了一种基于改进樽海鞘群算法的MPSSA(Mutation Perturbation Salp Swarm Algorithm),用于指导多机器人的主动羽流寻源过程。
1 本文方法
1.1 基于樽海鞘群算法的自主羽流寻源
SSA 受启发于海洋中樽海鞘的航行和觅食行为,一条樽海鞘链由两种类型的樽海鞘组成:位于首端的领导者和紧随的追随者。基于SSA 的基本原理,机器人在寻源过程中可以结合每次采集的浓度数据,将羽流浓度最大的位置设定为食物源的位置,处于领导者位置的机器人根据食物源进行位置更新,其他机器人追踪食物源。
在多机器人协同追踪羽流过程中,如果将搜索空间中某一个食物源F视为樽海鞘链的目标,则处于领导者角色的机器人位置更新如下:
式中:Fj是位置向量中的第j维;c2和c3是在区间[0,1]内均匀生成的随机数;ubj和lbj分别代表机器人在羽流分布空间的第j维搜索区域的上界和下界;c1(t)是控制参数。c1(t)计算公式如下:
式中:t为当前迭代次数;T为最大迭代次数。在标准SSA 中,第i个追随者的位置向量更新可由式(3)确定:
1.2 改进樽海鞘群算法的自主羽流寻源
1.2.1 随机扰动策略
机器人在搜索空间中的移动存在最大步长限制,容易陷入局部最优位置。从式(3)可以看出,追随者机器人的搜索行为依赖于前一个机器人位置,当机器人困在局部最优区域时,追随者机器人的搜索范围仅限于局部最优区域。为了避免这一情况的发生,提高机器人的全局搜索能力,将处于追随者角色的机器人引入随机扰动策略,通过添加随机扰动因子来进行位置更新。第i个追随者的位置向量更新中的第j维由式(4)确定:
式中:L为机器人的最大步长;rand(-1,1)为均匀分布在[-1,1]范围内的随机数。
1.2.2 弱感知机器人局部高斯变异策略
在探索动态羽流分布空间时,SSA 限制了适应环境变化的能力,特别是当机器人处于复杂动态的湍流环境中时,保持算法较好的探索性能至关重要。
当机器人切换到羽流追踪阶段时,部分机器人所在位置处的羽流浓度较低,本文将处于该状态的机器人中的某一个体称为弱感知机器人。弱感知状态下的机器人虽然存在较差的适应度,但能有效地利用自身信息,而不是盲目地跟随前一机器人。为增强种群多样性,有效避免寻源机器人陷入羽流局部极值区域,本文为处于弱感知状态的单个机器人个体提出了一种局部高斯变异策略,公式如下:
局部高斯变异策略使弱感知机器人可以在领导者更新位置的反方向局部区域搜索,降低领导者机器人的搜索盲区,增加机器人搜索方式的多样性,使机器人在动态的湍流环境中具有较好的寻源效率和逃逸局部极值的能力。图1 所示为本文基于改进的樽海鞘群算法的自主羽流寻源方法MPSSA 的流程。
图1 自主羽流寻源方法MPSSA 流程
2 实验与分析
2.1 室内羽流扩散CFD 模型
在使用CFD(Computational Fluid Dynamics)方法进行的绝大多数羽流扩散分布研究中,雷诺兹平均纳维-斯托克斯方程(RANS)建模用于模拟湍流和湍流被动标量传输。重整化群(RNG)k-ε模型能够提供最佳的结果,其精度高的特点可以重现现实情况中羽流分布情况[13]。羽流源位于10 m×10 m 尺寸的二维通风房间中,其中房间窗户处为进风口,房间门为出风口,进风口风速设置为0.5 m/s,羽流源的释放速率为0.12 kg/s,羽流源的位置坐标为(2.1 m,1.85 m),房间信息及障碍物分布如图2 所示。
图2 房间信息及障碍物分布图
2.2 羽流寻源数值模拟实验及分析
本文采用3 台机器人进行羽流寻源实验,设置机器人最大移动步长为0.3 m。在羽流发现阶段采用发散式搜索方法[10,14],最大浓度方法[15-16]用于声明源位置,源申报阈值是源头0.5 m 范围内的平均浓度,当机器人确定的源位置与实际源位置之间的距离小于0.5 m 并且迭代次数小于1 000 时,认为源定位成功,否则源定位失败。在机器人搜索过程中忽略机器人尺寸,将所有机器人在数值模拟实验中近似为单个点。CFD 生成瞬时羽流数据被导入Matlab 2019b,MPSSA 参数设置如表1 所示。机器人寻源过程如图3 所示。
表1 MPSSA 参数设置
图3 机器人在不同迭代步数时的位置
在图3a)时刻,3 台机器人位于室内出风口处的初始位置上,采取发散式搜索策略实现羽流发现过程;图3b)时刻表示机器人在迭代步数为4 时,机器人检测到的羽流浓度达到羽流追踪预设阈值,机器人转入羽流追踪阶段;图3c)时刻机器人在迭代步数为75 时机器人持续追踪羽流;图3d)时刻机器人在迭代步数为120 时机器人陷入羽流局部极值区域,直到图3e)时刻迭代步数为148 时,机器人逐步逃离羽流极值区域;图3f)时刻迭代步数为282 时,机器人申报源位置,成功完成羽流寻源任务。
2.3 羽流寻源数值模拟对比实验
本文评估了所提多机器人自主羽流寻源方法MPSSA 在寻源任务上的性能,并分别与三种多移动机器人主动嗅觉方法FS-FOA[17]、IPSO[9]和CPSO[18]在机器人羽流寻源成功率、寻源效率和算法稳定性等方面进行比较。
为了公平比较MPSSA、FS-FOA、IPSO 和CPSO 方法,每种方法在相同机器人数量下通过100 次独立实验,并且4 种寻源方法都使用了相同的羽流发现策略、源声明策略、避障算法和其他设置。由于机器人携带的传感器获得的测量数据很容易受到高斯白噪声的影响,因此在实验中考虑到了测量噪声,高斯白噪声均值设置为0,标准差设置为0.5。实验过程是在Matlab 2019b 和IntelⓇCoreTMi7-9700F CPU @ 3.00 GHz 和16.00 GB 内存的计算机获得的。
图4 所示为四种方法在不同机器人数量下寻源成功率的统计结果。当机器人数量大于5 台时,MPSSA 具有100%的成功率,这表明MPSSA 相较于其他三种方法可以在较少的机器人数量时较为精确地定位羽流源;在机器人数量超过8 台时FS-FOA 方法可以实现90%以上的寻源成功率,而当机器人为10 台时IPSO 与CPSO 方法表现出67%与64%的寻源成功率;当机器人数量小于4 台时CPSO 方法寻源成功率不高于1%,几乎不能成功定位羽流源。在四种方法中,随着机器人数量的增加,寻源成功率也在不断增加,当机器人数量由3 个增加到10 个时MPSSA 的羽流寻源成功率提高60%~80%,效率提高0.16~1.5。实验结果表明MPSSA 比其他三种方法更加有效。
图4 四种方法在不同机器人数量下的寻源成功率
在限制机器人移动步长时,迭代步数这一评价指标直接影响机器人的寻源效率。当一种方法不能成功定位羽流源时,讨论源定位效率是没有意义的。表2 所示为机器人在成功完成羽流寻源任务的条件下,机器人平均迭代步数及标准差。
表2 机器人寻源平均迭代步数和标准差
由表2 可见,IPSO 需要更多的迭代步数定位羽流源,MPSSA 需要的迭代步数最小,从而可以推断出相比于其他三种方法,本文提出的MPSSA 方法在羽流追踪和源定位中具有明显的优势。同时,MPSSA 相较于其他三种方法,较低的标准差反映了较好的稳定性。此外,实验结果也表明,随着机器人数量的增加,寻源效率也会提升。
2.4 实际场景实验验证
为验证MPSSA 在实际场景中羽流寻源的有效性和适应性,本文在实验室中模拟了室内有障碍物羽流扩散场景,并进行15 次独立实验,由风扇制造室内通风环境,羽流源位于下风向位置。室内障碍物环境更符合现实场景,羽流分布的动态和随机特征能有效地验证所提方法的有效性和可行性。
2.4.1 实验场景设置
真实的多机器人寻源实验是在实验室东侧的试验区(6.4 m×5.2 m)进行的。在每次实验中,打开实验室门设置出风口,利用风扇和羽流释放设备模拟羽流扩散场景。图5 所示为由SLAM(Simultaneous Localization and Mapping)建图获得的实验场地示意图。
图5 羽流寻源实验场地示意图
本文选择稀释后的乙醇溶液作为释放物质,并使用加湿器作为羽流释放装置。为了测试羽流寻源方法,使用3 台具有阿克曼结构的移动机器人,同时在这3 台移动机器人上开发了基于MPSSA 的多机器人寻源系统。该型机器人不仅具有路径规划和自主导航能力,而且还有良好的感知性能。图6 所示为羽流寻源机器人实验平台。
图6 羽流寻源机器人实验平台
在每次实验中,3 台机器人都采用移动后停止、再移动的策略。当每台机器人移动1 步后,设定机器人停留5 s 采集羽流浓度数据,然后经过MPSSA 计算后再进行移动。每台机器人的最大线速度设置为0.5 m/s,最大步长设置为0.5 m。
机器人发现羽流浓度的阈值为60 ppm,源声明阈值浓度为240 ppm,当机器人源声明位置距离羽流源位置0.3 m 范围内时,认为源定位成功。为提高实验效率,在一次寻源过程中,当机器人迭代次数超过20 时,则认为寻源失败,所有机器人终止移动。实验参数设置如表3 所示。
表3 实验参数
2.4.2 实验结果分析
图7 所示为在羽流寻源实验中,3 台机器人成功定位羽流源时的运动轨迹;图8 所示为机器人在到达位置点处气体传感器采集的5 s 内平均羽流浓度数据;图9所示为机器人在执行羽流寻源各阶段任务时的运动序列图。
图7 实际场景中机器人寻源轨迹
图8 实际场景中机器人在位置点采集的平均羽流浓度数据
图9 实际场景中机器人不同阶段寻源运动序列
在图7 中迭代步数为0~4 时,机器人处于羽流发现阶段,采用发散式搜索方法进行搜索;当迭代步数为4时,Robot3 检测到羽流浓度高于羽流追踪预设阈值浓度,所有机器人结束羽流发现任务并切换到羽流追踪任务,3 台机器人根据当前位置羽流浓度排序,将Robot3设置为领导者,Robot2 设置为追随者,Robot1 设置为弱感知机器人,机器人使用MPSSA 进行羽流追踪;在迭代步数为17 时,弱感知机器人Robot1 检测到羽流浓度大于源声明阈值浓度,声明羽流源位置,所有机器人终止寻源过程,成功完成羽流寻源任务。
为进一步展示本文所提方法的性能,采用寻源成功率、平均迭代步数、平均运行时间以及平均运行路程等指标,验证所提方法在室内有障碍物环境中的有效性和可行性。3 台机器人15 次独立寻源实验结果见表4。
表4 实际场景中机器人寻源实验结果
从表4 中可以看出:在实际场景验证实验中,采用本文方法的机器人自主寻源成功率为73.3%;平均迭代步数为16;寻源成功平均运行时间为320.7 s;每台机器人平均运行路程为7.62 m。实验结果表明,在室内有障碍物的动态湍流环境中,基于SSA 改进的MPSSA 可以有效地实现多台机器人协同自主羽流寻源。
3 结 语
本文提出一种基于樽海鞘群启发的多机器人自主羽流寻源方法。该方法根据室内存在障碍物时羽流分布的多极值特点,设置弱感知机器人,使弱感知机器人在领导者位于食物源的反方向上的局部区域内采取高斯变异的方式更新其位置,从而降低领导者机器人的搜索盲区,增加机器人搜索方式的多样性,增强机器人逃逸局部极值的能力;此外,将处于追随者角色的机器人引入随机扰动策略,提升追随者机器人的探索能力。
通过CFD 软件建立室内湍流模型,将本文方法与FS-FOA、IPSO 和CPSO 三种多机器人主动嗅觉方法进行对比,MPSSA 表现出了更高的寻源成功率、效率及算法稳定性。在实际场景验证实验中,MPSSA 实现了73.3%的自主寻源成功率,显示出本文方法较好的适应性和可行性。