一种基于机器人间无需通讯的粒子群搜索方法
未命名
08-22
阅读:150
评论:0
1.本发明涉及群体智能和群体机器人目标搜索领域,特别是涉及一种粒子间无需通讯的粒子群算法变体及将其应用到群体机器人的目标搜索方法中。
背景技术:
2.粒子群算法是一种群体智能算法,又称粒子群优化、微粒群算法,是kennedy和eberhart等模拟鸟群或鱼群觅食运动于1995年提出的一种启发式进化算法,能够在包含高维解空间的问题中有效地搜寻并找到候选解,用于解决全局最优化问题。由于其具备参数简单性与快速收敛性,自其提出后,粒子群算法已迅速发展成为一种主流的全局优化技术,并被成功地应用于各类领域求解实际问题。但由于算法中粒子搜索具有一定的随机性,该方法不保证其找到的最佳解为真实的最佳解。因此,众多学者不断地提出粒子群算法的变体,通过各种手段来平衡群体的全局与局部搜索能力,以有效地提高其优化性能。
3.自诞生以来,目前众多的粒子群算法变体大都需要粒子间相互通信以分享它们的适应值并找到粒子间搜索到的最佳位置,进而实现粒子间的有效协作。由于当前的粒子群算法依赖于粒子间的相互通信,当面对通讯不畅或没有通讯的场景时,它们将不再适用。
4.针对无需通讯的场景,一些学者已经提出了一些应用于2维或3维空间的源定位算法。这些源定位算法能够在无需通讯条件下解决2维或3维空间中的单模单源问题。然而,这些无需通讯的源定位算法没有考虑高维或多模多源问题。因此,它们无法不加扩展地直接应用于高维或多模问题。
5.群体机器人是由多个机器人组成的自协调系统,这些机器人合并成一个有机体,执行共同的任务。群体机器人技术出现在人工群体智能领域,以及对昆虫、蚂蚁和其他自然界中发生群体行为的领域进行生物学研究。群体机器人一般是由相同类型的机器人组成,这些机器人可以使用简单的传感器与其他伙伴和环境进行交互。群体机器人旨在解决单个机器人无法解决的问题,或者通过集群更有效地完成目标。
6.将机器人视为粒子,群体机器人视为粒子群,则粒子群算法能够应用到群体机器人的搜索任务。然而,依靠机器人间相互通讯分享适应值在一些应用场景中具有挑战性,例如在水下环境中声通讯受到高传输损耗、高环境噪声和高传播延迟影响;在搜索空间中,存在强烈的电子/电磁干扰导致通讯渠道不可靠;群体机器人遇到某些严重的软件或硬件故障导致无法建立通讯渠道;机器人间处于竞争关系,彼此不愿意分享搜索到的适应值数据。因此,发明一种具备出色搜索性能同时粒子间又无需通讯的粒子群算法变体并将其应用到群体机器人搜索任务是很有必要的。
技术实现要素:
7.本发明针对上述提到的现有粒子群算法变体无法应用到一些机器人之间无需通讯的场景中的不足,提出了一种基于机器人间无需通讯的粒子群搜索方法。本发明粒子群算法变体是通过利用粒子自身的主动探测能力来探测其它粒子的位置和速度而非直接依
赖粒子间的通讯。每个粒子同时跟随其选择的leader和探测到的粒子群中心位置在问题空间中搜索。在粒子群算法中,pbest表示粒子自身搜索到的个体历史最优位置(即personal best),该位置对应粒子搜索到的最优适应值。本发明采用s&w代指stop-and-wait(停止并等待),s&w粒子是停留在其pbest位置并且速度为零的粒子。当单个粒子在预设代数k内没有连续更新pbest时就回退到其pbest位置成为s&w粒子并加入到s&w粒子集。当s&w粒子集中的粒子总数量达到或超过预设阈值m时,每个s&w粒子随机选择其它s&w粒子为其leader。据此,粒子群能够无需通讯地在搜索空间中迭代搜索,直到搜索结束得到最优解。通过在群体机器人搜索任务中应用这种粒子间无需通讯的粒子群算法变体,本发明实现了一种机器人间无需通讯的粒子群搜索方法。
8.本发明是通过以下技术方案实现的:
9.一种基于机器人间无需通讯的粒子群搜索方法,在实际的二维或三维最优化搜索任务中,在搜索空间内分散布置有多个不具备相互通讯能力的机器人,将群体机器人视为粒子群,将各个机器人视为粒子,并将对应粒子群算法中s&w粒子(集)替换为s&w机器人(集),进行环境建模,将机器人检测到的场源信号值作为粒子群算法的适应值指标。具体步骤如下:
10.步骤1.1:初始化粒子群算法参数设置:粒子个数n,优化问题的维数d,惯性权重ω,常数加速因子c1和c2,pbest连续更新失败的阈值k,s&w粒子集的粒子数阈值m,最大迭代次数t。
11.步骤1.2:随机初始化n个机器人的初始位置和速度,即机器人i的位置步骤1.2:随机初始化n个机器人的初始位置和速度,即机器人i的位置和速度其中i∈{1,2,...,n}。
12.步骤1.3:随机初始化n个机器人的leader,对机器人i,其leader标记为li。
13.步骤1.4:机器人不具备相互通讯能力,通过单向主动探测能力,包括但不限于通过视觉观察、雷达探测和声纳搜索等手段获得位置定位能力和速度感知能力。机器人探测到其它机器人的位置,并通过所有机器人的位置计算群体机器人中心位置
[0014][0015]
其中,d∈{1,2,...,d}为最优化问题的第d维搜索空间。
[0016]
步骤1.5:遍历群体机器人中所有机器人,若遍历的机器人i已经选择了leader,则执行步骤1.6和步骤1.7,其中i∈{1,2,...,n}。
[0017]
步骤1.6:更新机器人的速度和位置,更新公式分别如下所示:
[0018][0019][0020]
其中,r1、r2是d维随机数向量;表示机器人i选择的leader位置。
[0021]
步骤1.7:基于机器人当前位置评估其适应值,更新pbest,并确定机器人是否可以成为s&w机器人(s&w即stop-and-wait的缩写,停止并等待);若可以成为s&w机器人,则回退
到pbest等待。
[0022]
步骤1.8:遍历群体机器人中所有s&w机器人,每个s&w机器人执行步骤1.9。
[0023]
步骤1.9:检查s&w机器人集的机器人数量是否达到或超过阈值m,若达到或超过阈值m,则为s&w机器人随机选择leader。
[0024]
步骤1.10:若当前迭代次数大于最大迭代次数t或成功搜索到最优目标源,则执行步骤1.11,否则返回步骤1.4进行下一次迭代。
[0025]
步骤1.11:返回所有机器人中最优的pbest及其适应值,将其作为最终搜索结果。
[0026]
进一步的,在上述步骤1.3中,为群体机器人{1,2,...,n}中每个机器人随机选择群体机器人中另外一个机器人为其leader:
[0027]
li=randi({1,2,...,n}-{i});
[0028]
其中,randi(.)是随机选择函数,用于从群体机器人中随机选择一个机器人,li是机器人i的leader。
[0029]
在上述步骤1.4中,实际的最优化搜索任务应用中,机器人的单向主动探测能力可以通过在空中、地面、海面或海底等最优化搜索任务中配置摄像头、毫米波雷达或声纳等设备,单向主动探测到群体中其它机器人的位置并感知到其它机器人的速度。
[0030]
在上述步骤1.6中,机器人i同时跟随其选择的leader位置和群体机器人中心位置以更新其速度。
[0031]
在上述步骤1.7中,细分为如下子步骤:
[0032]
步骤1.7.1:每个机器人更新其pbest连续更新失败的次数,对于最小优化问题,其更新公式为:
[0033][0034]
对于最大优化问题,其更新公式为:
[0035][0036]
其中,f(.)是待搜索最优化问题的适应值函数,ki是机器人i的pbest连续更新失败的次数。
[0037]
步骤1.7.2:每个机器人判断其pbest连续更新失败的次数ki是否达到或超过阈值k,若达到或超过阈值k,则该机器人回退到其pbest位置,清除其之前记录的leader,速度清零,成为s&w机器人:
[0038]
if ki≥k
[0039]
xi=pbest;li=0;vi=(01,02,...,0d);
[0040]
end
[0041]
在上述步骤1.9中,细分为如下子步骤:
[0042]
步骤1.9.1:每个s&w机器人主动探测其它s&w机器人,将探测到的所有s&w机器人加入到s&w机器人集:
[0043]
i∈p if vi=(01,02,...,0d)
[0044]
其中零速度向量vi=(01,02,...,0d)代表探测到粒子i为s&w机器人。p代表探测到的s&w机器人集,p包含所有s&w机器人。
[0045]
步骤1.9.2:当s&w机器人集p中的机器人数达到或超过阈值m,则每个s&w机器人随机选择某个其它s&w机器人为其leader:
[0046]
li=randi(p-{i})if|p|≥m and i∈p
[0047]
其中|p|表示s&w机器人集的机器人数量,randi(.)是随机选择函数,用于随机选择另外一个s&w机器人。
[0048]
有益效果:
[0049]
传统粒子群算法需要粒子之间相互通讯以分享它们之间搜索到的适应值和位置信息,本发明通过对传统粒子群算法进行改进,利用了粒子的单向主动探测能力,粒子群不需要相互通讯分享适应值和位置信息,使得粒子群算法首次在无需通讯的情况下具备在最优化问题空间内的迭代搜索能力,并且将其应用到群体机器人搜索任务中。群体机器人通过应用本发明方法及另外两种粒子群算法变体spso和cso进行对比实验,结果表明本发明方法具备非常出色的搜索性能。
附图说明
[0050]
图1为二维多模搜索任务场景及其适应值的示意图。
[0051]
图2为二维多模搜索任务场景中适应值在搜索空间中的等高线示意图。
[0052]
图3为将群体机器人视作粒子群的情况下应用本发明方法的流程示意图。
[0053]
图4为利用本发明方法在模拟双源环境下的搜索过程(第一迭代)示意图,每个图对应搜索过程中不同迭代次数时的状态。
[0054]
图5为利用本发明方法在模拟双源环境下的搜索过程(第四迭代)示意图,每个图对应搜索过程中不同迭代次数时的状态。
[0055]
图6为利用本发明方法在模拟双源环境下的搜索过程(第六迭代)示意图,每个图对应搜索过程中不同迭代次数时的状态。
[0056]
图7为利用本发明方法在模拟双源环境下的搜索过程(第七迭代)示意图,每个图对应搜索过程中不同迭代次数时的状态。
[0057]
图8为利用本发明方法在模拟双源环境下的搜索过程(第十迭代)示意图,每个图对应搜索过程中不同迭代次数时的状态。
[0058]
图9为利用本发明方法在模拟双源环境下的搜索过程(第五十五迭代)示意图,每个图对应搜索过程中不同迭代次数时的状态。
[0059]
图10为在cec2017的示例函数f1下,群体机器人应用本发明方法和应用对比粒子群算法变体的收敛曲线图。
[0060]
图11在cec2017的示例函数f9下,群体机器人应用本发明方法和应用对比粒子群算法变体的收敛曲线图。
[0061]
图12在cec2017的示例函数f
11
下,群体机器人应用本发明方法和应用对比粒子群算法变体的收敛曲线图。
[0062]
图13在cec2017的示例函数f
16
下,群体机器人应用本发明方法和应用对比粒子群算法变体的收敛曲线图。
[0063]
图14在cec2017的示例函数f
22
下,群体机器人应用本发明方法和应用对比粒子群算法变体的收敛曲线图。
[0064]
图15在cec2017的示例函数f
26
下,群体机器人应用本发明方法和应用对比粒子群算法变体的收敛曲线图。
具体实施方式
[0065]
本发明通过充分利用机器人的主动探测能力,首次将一种粒子间无需通讯的粒子群算法变体拓展应用到机器人间无需通讯的搜索任务场景。在本发明的实施过程中,将群体机器人视为粒子群,将各个机器人视为粒子,并将粒子群算法变体中的s&w粒子(集)替换为s&w粒子(集)。本发明所述的粒子群算法变体中巧妙设计了粒子追随其leader和粒子群中心搜索时连续更新pbest(个体历史最优位置)失败则回退到其pbest位置的机制,能够充分利用粒子搜索的历史最优解;同时本发明设计了s&w粒子从s&w粒子集中随机选择leader的机制,增加了粒子群的leader多样性。本发明引入的这两种机制能有效地平衡粒子群算法的全局探索和局部开发能力,相较于对比的粒子间需要通讯的粒子群算法变体spso和cso,实验表明本发明方法具备更加出色的最优化搜索能力。
[0066]
本发明基于机器人间无需通讯的粒子群搜索方法,在实际的二维或三维最优化搜索任务中(参考图1和图2最优化搜索问题的场景示意图,其中存在多个局部极值及一个全局最优值,在搜索空间内需要找到唯一的全局最优值对应的场源信号值及其位置),在搜索空间内分散布置有多个不具备相互通讯能力的机器人,将群体机器人视为粒子群,将各个机器人视为粒子,并将对应粒子群算法中s&w粒子(集)替换为s&w机器人(集),进行环境建模,将机器人检测到的场源信号值作为粒子群算法的适应值指标。本发明方法可应用到群体机器人搜索任务上能够展现出非常出色的搜索性能。实施例中所谓基于机器人间无需通讯的粒子群搜索任务,即本发明技术方案任务,举例而非限定,可应用于如下场景:
[0067]
有害气体泄露源定位:一块区域内存在有害气体泄露,但泄露源信息未知,多个具有主动探测能力而无相互通讯能力的实体机器人根据不同位置检测到的气体浓度值以及主动探测到的其它机器人位置和速度来定位泄露源所在的具体位置;
[0068]
灾后救援:为定位、营救灾后废墟下的幸存者,使用带雷达生命探测仪等传感设备的机器人在通讯条件不具备的条件下检测现场各位置的生命体征强弱值,利用本发明的搜索方法来定位生命体征最强的位置。
[0069]
实施例中所谓机器人是指具有主动探测能力但不具备相互通讯能力的机器人,举例而非限定,诸如无人机、无人车、无人水下航行器。本发明所述的主动探测能力包括但不限于通过视觉观察、雷达探测、声纳搜索等手段获得位置定位能力和速度识别能力。
[0070]
以下结合附图和实施例对本发明技术方案做详细说明。
[0071]
实施例
[0072]
如图3所示,本实施例利用机器人间无需通讯的粒子群搜索方法,在最优化搜索任务的实际应用中,群体机器人需要搜索出最优源的场强值及其位置。在搜索空间内分散布置有多个不具备相互通讯能力的机器人,将群体机器人视为粒子群,将各个机器人视为粒子,并将对应粒子群算法中s&w粒子(集)替换为s&w机器人(集),进行环境建模,将机器人检测到的场源信号值作为粒子群算法的适应值指标。具体包括以下步骤:
[0073]
步骤1.1:初始化粒子群算法参数设置:粒子个数n=50,优化问题的维数d=50,惯性权重ω=0.72984,常数加速因子c1=1.496172和c2=1.496172,pbest连续更新失败的阈
值k=2,s&w粒子集的粒子数阈值m=25,最大迭代次数t=10000。
[0074]
步骤1.2:随机初始化n个机器人的初始位置和速度,即机器人i的位置步骤1.2:随机初始化n个机器人的初始位置和速度,即机器人i的位置和速度其中i∈{1,2,...,n}。
[0075]
步骤1.3:随机初始化n个机器人的leader,对机器人i,其leader标记为li。
[0076]
步骤1.4:机器人不具备相互通讯能力,通过单向主动探测能力,包括但不限于通过视觉观察、雷达探测或声纳搜索等手段获得位置定位能力和速度感知能力。机器人通过主动探测能力,探测到其它机器人的位置,并通过所有机器人的位置计算群体机器人中心位置
[0077][0078]
其中,d∈{1,2,...,d}为最优化问题的第d维搜索空间。
[0079]
步骤1.5:遍历群体机器人中所有机器人,若遍历的机器人i已经选择了leader,则执行步骤1.6和1.7,其中i∈{1,2,...,n}。
[0080]
步骤1.6:更新机器人的速度和位置,更新公式分别如下所示:
[0081][0082][0083]
其中,r1、r2是d维随机数向量;表示机器人i选择的leader位置。
[0084]
步骤1.7:基于机器人当前位置评估其适应值,更新pbest,并确定机器人是否可以成为s&w机器人(s&w即stop-and-wait的缩写,停止并等待);若可以成为s&w机器人,则回退到pbest等待。
[0085]
步骤1.8:遍历群体机器人中所有s&w机器人,每个s&w机器人执行步骤1.9。
[0086]
步骤1.9:检查s&w机器人集的机器人数量是否达到或超过阈值m,若达到或超过阈值m,则为s&w机器人随机选择leader。
[0087]
步骤1.10:若当前迭代次数大于最大迭代次数t或成功搜索到最优目标源,则执行步骤1.11,否则返回步骤1.4进行下一次迭代。
[0088]
步骤1.11:返回所有机器人中最优的pbest及其适应值,将其作为最终搜索结果。
[0089]
进一步的,在上述步骤1.3中,为群体机器人{1,2,...,n}中每个机器人随机选择群体机器人中另外一个机器人为其leader:
[0090]
li=randi({1,2,...,n}-{i});
[0091]
其中,randi(.)是随机选择函数,用于从群体机器人中随机选择一个机器人,li是机器人i的leader。
[0092]
在上述步骤1.4中,实际的最优化搜索任务应用中,机器人的单向主动探测能力可以通过在空中、地面、海面或海底等最优化搜索任务中配置摄像头、毫米波雷达或声纳等设备,单向主动探测到群体中其它机器人的位置并感知到其它机器人的速度。
[0093]
在上述步骤1.6中,机器人i同时跟随其选择的leader位置和群体机器人中心位置以更新其速度。
[0094]
在上述步骤1.7中,细分为如下子步骤:
[0095]
步骤1.7.1:每个机器人更新其pbest连续更新失败的次数,对于最小优化问题,其更新公式为:
[0096][0097]
对于最大优化问题,其更新公式为:
[0098][0099]
其中,f(.)是待搜索最优化问题的适应值函数,ki是机器人i的pbest连续更新失败的次数。
[0100]
步骤1.7.2:每个机器人判断其pbest连续更新失败的次数ki是否达到或超过阈值k,若达到或超过阈值k,则该机器人回退到其pbest位置,清除其之前记录的leader,速度清零,成为s&w机器人:
[0101]
if ki≥k
[0102]
xi=pbest;li=0;vi=(01,02,...,0d);
[0103]
end
[0104]
在上述步骤1.9中,细分为如下子步骤:
[0105]
步骤1.9.1:每个s&w机器人主动探测其它s&w机器人,将探测到的所有s&w机器人加入到s&w机器人集:
[0106]
i∈p if vi=(01,02,...,0d)
[0107]
其中零速度向量vi=(01,02,...,0d)代表探测到机器人i为s&w机器人。p代表探测到的s&w机器人集,p包含所有s&w机器人。
[0108]
步骤1.9.2:当s&w机器人集p中的机器人数达到或超过阈值m,则每个s&w机器人随机选择某个其它s&w机器人为其leader:
[0109]
li=randi(p-{i})if|p|≥m and i∈p
[0110]
其中|p|表示s&w机器人集的机器人数量,randi(.)是随机选择函数,用于随机选择另外一个s&w机器人。
[0111]
图4到图9是群体机器人利用上述实施例方法在二维搜索空间存在两个局部场源信号极值的双源环境下进行最优化搜索的过程。在搜索空间内分散布置有多个不具备相互通讯能力的机器人,将群体机器人视为粒子群,将各个机器人视为粒子。其中参数设定为n=20,d=2,ω=0.72984,c1=1.496172,c2=1.496172,k=3,m=10,箭头方向表示机器人跟随其选择的leader。如图4所示,在第1迭代初始化时,所有机器人随机选择群体机器人中另外一个机器人为leader。如图5所示,在第4迭代时,3个机器人连续更新pbest失败并且失败次数达到或超过阈值k=3,故其成为s&w机器人。如图6所示,在第6迭代时,s&w机器人总数超过阈值m=10,故每个s&w机器人随机选择另外一个s&w机器人为leader。如图7所示,在第7迭代时,前一代选择好leader的s&w机器人在这一代开始跟随其leader和群体机器人中心进行搜索,同时群体机器人中另外3个机器人成为新的s&w机器人。如图8所示,在第10迭代时,新产生的s&w机器人总数再次超过阈值m=10,这些s&w机器人再次随机选择leader。如图9所示,在第55迭代时,随着搜索的进行,所有机器人收敛到全局最优源位置。
[0112]
该实施例在cec2017基准函数测试集的验证:
[0113]
为了更直观的验证本发明在最优化搜索问题中的性能,使用了cec2017(n.awad,m.ali,j.liang,b.qu,and p.suganthan,“problem definitions and evaluation criteria for the cec 2017 special session and competition on single objective real-parameter numerical optimization,”nanyang technological university,singapore and computational intelligence laboratory,zhengzhou university,zhengzhou,china,technical report,vol.10,2017.)基准函数测试集里的29个函数(排除不稳定的函数function2)来模拟复杂信号环境下的最小化问题,其中每个函数的目标源都只有一个最小值,其余极值均为假目标。
[0114]
将本发明提出的机器人间无需通讯的粒子群算法变体(cfpso)与另外两个机器人间需要通讯的粒子群算法变体spso(d.bratton and j.kennedy,“defining a standard for particle swarm optimization,”in ieee swarm intelligence symposium,pp.120
–
127,2007.)和cso(r.cheng and y.jin,"“a competitive swarm optimizer for large scale optimization,”ieee transactions on cybernetics,vol.45,pp.191
–
204,2015.)分别应用到群体机器人搜索任务中,并用cec2017基准函数测试集进行比较,每个算法在每个函数上运行51次,取搜索结果的平均值。
[0115]
表1-对比pso算法变体参数设置
[0116][0117]
收敛精度对比实验的详细数据如表2所示,其中mean标记51次运行的平均搜索结果,std.表示搜索结果的方差,rank表示对比算法的排名,黑体字标注每个函数的最优搜索结果,a.r.是每个算法在29个函数上的rank排名值加总后再除于29后的平均排名。
[0118]
收敛精度对比实验表明,在全部29个函数中,cfpso在24个函数上优于spso,在所有函数上都优于cso。cfpso的总体平均排名是1.17,大幅领先spso和cso。
[0119]
表2-cec2017收敛精度对比实验
[0120][0121]
图10到图15展示了在cec2017的6个示例函数(f1,f9,f
11
,f
16
,f
22
,f
26
)上的收敛曲线对比图。其中,cfpso为本发明方法,spso和cso为用于对比的粒子群算法变体。从收敛曲线图可见,本发明方法cfpso的收敛速度要快于spso。cso虽然收敛速度和cfpso相近,但是收敛精度远比cfpso更差。
[0122]
通过cec2017测试函数集上的对比实验可见,cfpso相比于spso和cso具有更好的收敛精度和收敛速度。这表明利用本发明(cfpso)的方法,能在机器人间无需通讯的情况下大幅提升群体机器人的最优化搜索能力,从而迅速有效地定位到最优目标源。
[0123]
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
技术特征:
1.一种基于机器人间无需通讯的粒子群搜索方法,其特征在于,在二维或三维最优化搜索任务中,在搜索空间内分散布置有多个不具备相互通讯能力的机器人,将群体机器人视为粒子群,将各个机器人视为粒子,并将对应粒子群算法中s&w粒子替换为s&w机器人,s&w粒子集替换为s&w机器人集,进行环境建模,将机器人检测到的场源信号值作为粒子群算法的适应值指标;具体步骤如下:步骤1.1:初始化粒子群算法参数设置:粒子个数n,优化问题的维数d,惯性权重ω,常数加速因子c1和c2,个体历史最优位置pbest连续更新失败的阈值k,s&w粒子集的粒子数阈值m,最大迭代次数t;步骤1.2:随机初始化n个机器人的初始位置和速度,即机器人i的位置步骤1.2:随机初始化n个机器人的初始位置和速度,即机器人i的位置和速度其中i∈{1,2,
…
,n};步骤1.3:随机初始化n个机器人的leader,对机器人i,其leader标记为l
i
;步骤1.4:机器人探测到其它机器人的位置,并通过所有机器人的位置计算群体机器人中心位置中心位置其中,d∈{1,2,
…
,d}为最优化问题的第d维搜索空间;步骤1.5:遍历群体机器人中所有机器人,若遍历的机器人i已经选择了leader,则执行步骤1.6和步骤1.7,其中i∈{1,2,
…
,n};步骤1.6:更新机器人的速度和位置,更新公式分别如下所示:步骤1.6:更新机器人的速度和位置,更新公式分别如下所示:其中,r1、r2是d维随机数向量;表示机器人i选择的leader位置;步骤1.7:基于机器人当前位置评估其适应值,更新pbest,并确定机器人是否可以成为s&w机器人;若可以成为s&w机器人,则回退到pbest等待;步骤1.8:遍历群体机器人中所有s&w机器人,每个s&w机器人执行步骤1.9;步骤1.9:检查s&w机器人集的机器人数量是否达到或超过阈值m,若达到或超过阈值m,则为s&w机器人随机选择leader;步骤1.10:若当前迭代次数大于最大迭代次数t或成功搜索到最优目标源,则执行步骤1.11,否则返回步骤1.4进行下一次迭代;步骤1.11:返回所有机器人中最优的pbest及其适应值,将其作为最终搜索结果。2.如权利要求1所述的基于机器人间无需通讯的粒子群搜索方法,其特征在于,在所述步骤1.3中,为群体机器人{1,2,
…
,n}中每个机器人随机选择群体机器人中另外一个机器人为其leader:l
i
=randi({1,2,
…
,w}-{i});其中,randi(.)是随机选择函数,用于从群体机器人中随机选择一个机器人,l
i
是机器人i的leader。
3.如权利要求1所述的基于机器人间无需通讯的粒子群搜索方法,其特征在于,在所述步骤1.6中,机器人i同时跟随其选择的leader位置和群体机器人中心位置以更新其速度。4.如权利要求1所述的基于机器人间无需通讯的粒子群搜索方法,其特征在于,在所述步骤1.7中,细分为如下子步骤:步骤1.7.1:每个机器人更新其pbest连续更新失败的次数,对于最小优化问题,其更新公式为:对于最大优化问题,其更新公式为:其中,f(.)是待搜索最优化问题的适应值函数,k
i
是机器人i的pbest连续更新失败的次数;步骤1.7.2:每个机器人判断其pbest连续更新失败的次数k
i
是否达到或超过阈值k,若达到或超过阈值k,则该机器人回退到其pbest位置,清除其之前记录的leader,速度清零,成为s&w机器人:if k
i
≥kx
i
=pbest;l
i
=0;v
i
=(01,02,
…
,0
d
);end。5.如权利要求1所述的基于机器人间无需通讯的粒子群搜索方法,其特征在于,在所述步骤1.9中,细分为如下子步骤:步骤1.9.1:每个s&w机器人主动探测其它s&w机器人,将探测到的所有s&w机器人加入到s&w机器人集:i∈p if v
i
=(01,02,
…
,0
d
)其中零速度向量v
i
=(01,02,
…
,0
d
)代表探测到粒子i为s&w机器人;p代表探测到的s&w机器人集,p包含所有s&w机器人;步骤1.9.2:当s&w机器人集p中的机器人数达到或超过阈值m,则每个s&w机器人随机选择某个其它s&w机器人为其leader:l
i
=randi(p-{i}) if|p|≥m and i∈p其中|p|表示s&w机器人集的机器人数量,randi(.)是随机选择函数,用于随机选择另外一个s&w机器人。
技术总结
本发明提出一种基于机器人间无需通讯的粒子群搜索方法,在二维或三维最优化搜索任务中,在搜索空间内分散布置有多个不具备相互通讯能力的机器人,将群体机器人视为粒子群,将各个机器人视为粒子,并将对应粒子群算法中S&W粒子替换为S&W机器人,S&W粒子集替换为S&W机器人集,进行环境建模,将机器人检测到的场源信号值作为粒子群算法的适应值指标。本发明通过对传统粒子群算法进行改进,利用了粒子的单向主动探测能力,粒子群不需要相互通讯分享适应值和位置信息,使得粒子群算法首次在无需通讯的情况下具备在最优化问题空间内的迭代搜索能力,并且将其应用到群体机器人搜索任务中,具备非常出色的搜索性能。具备非常出色的搜索性能。具备非常出色的搜索性能。
技术研发人员:张军旗 黄旭瑞 王成 尤鸣宇 臧笛 刘春梅
受保护的技术使用者:同济大学
技术研发日:2023.04.14
技术公布日:2023/8/21
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
