基于多头绒泡菌觅食的群体机器人搜索算法及验证方法技术

技术编号:16038371 阅读:59 留言:0更新日期:2017-08-19 20:12
本发明专利技术涉及一种群体智能算法技术领域,尤指一种基于多头绒泡菌觅食的群体机器人搜索算法及验证方法;将群体机器人划分成三种类型的机器人,命名为CORE、BRANCH和FORAGER,运算处理数据步骤分为四个阶段,分别是初始化阶段,驱散搜索阶段,边缘搜索阶段,信号源吸引阶段,本发明专利技术采用伪代码控制群体机器人执行模拟多头绒泡菌觅食的方式进行搜索计算,通过仿真实验平台对单一信号源和多信号源进行仿真实验验证,在硬件仿真实验中对单一信号源进行演示验证,得出本发明专利技术的算法在面对机器人通讯半径有限的覆盖搜索问题上取得较好的效果结论,实现了一种非常简单,对机器人通讯依赖小的适应于区域覆盖搜索算法,在区域覆盖搜索问题上,具有较高的效率与应用价值。

【技术实现步骤摘要】
基于多头绒泡菌觅食的群体机器人搜索算法及验证方法
本专利技术涉及一种群体智能算法
,尤指一种模拟黏菌群体觅食过程的仿生搜索算法,更具体的是通过群体机器人的局部相互作用来完成搜索的基于多头绒泡菌觅食的群体机器人搜索算法及验证方法。
技术介绍
所谓的区域覆盖搜索是指携带有一定探测范围的传感器(如激光、声纳等)的机器人探索访问整个区域,并完成相应任务的过程。这一直是研究中富有挑战性的前沿方向之一。近年来,随着实际应用的需要与机器人研究的不断深入,对于区域覆盖搜索问题的研究引起诸多学者的重视。采用群体机器人完成区域覆盖搜索任务,呈现出安全系数高、搜索效率高、搜索范围大等特点。从实际应用来看,群体机器人覆盖搜索具有十分广泛的应用场景与重要意义,例如:军事侦察、危险环境下的对人员搜救、星球探索等等。从搜索效率上来看,群体机器人比单一机器人的搜索范围跟更大,能更有效地完成单一机器人不能完成的任务。近年来,群体智能算法吸引了国内外众多学者的关注,诸如粒子群算法、蚁群算法等等。不少专家、学者也将一些群体智能算法运用在群体机器人上,例如:国外文献《ControloverSwarmRobotsSearchwithSwarmIntelligencePrinciples[J]》公开了将群体智能原理运用在群体机器人的搜索控制上,国内文献《基于黄蜂群算法的群机器人区域覆盖问题研究》公开了拓展黄蜂群算法在群体机器人进行区域覆盖搜索问题上等等。多头绒泡菌是一种多核的单细胞生物,是一种黏菌。作为单细胞生物,它没有大脑、中枢神经系统或任何类型的神经组织。它通过感知细胞外的刺激,来改变自身身体的形状。基于这一事实,人们对细胞的“基本智能”进行了大量的研究。例如,在《Rulesforbiologicallyinspiredadaptivenetworkdesign.[J]》和《Amoebaeanticipateperiodicevents[J]》文献中公开了黏菌可以形成一个最佳的地铁网络和预测周期事件。多头绒泡菌通过自身向四面八方生长来搜索食物的,在一段时间后黏菌又收缩回去,只留下错综复杂的管道来连接食物,通过这些管道来将养分运输给黏菌。整体上看,这些管道形成了一个网络,连接着食物与黏菌;其中,多头绒泡菌原质团的运动受局部环境条件的影响,吸引源(比如增加温度梯度和趋化物营养)会吸引多头绒泡菌向吸引物生长运动,而排斥源(如盐、干燥区域等)会导致黏菌避开这些区域。为了在群体机器人控制算法中模拟这些觅食行为,我们不得不忽略几个来自于黏菌觅食的启发,多头绒泡菌觅食过程。(a)多头绒泡菌开始觅食。(b)多头绒泡菌向四周生长,并以此定位食物。(c)多头绒泡菌开始收缩,留下管道,连接着食物,并通过这些管道传输养分。(d)多头绒泡菌的觅食基本完成,错综复杂的管道形成了一个网络般的养分传输通道。如:对于群体机器人,很难保持在快速向四周拓展时仍像黏菌发散觅食生长时持续保持与黏菌的联系,因此,我们需要设定一种逆时针的搜索方式代替黏菌的向四周发散搜索的方式。关于利用群体机器人进行区域覆盖搜索的研究上,虽然中国专利号为201610749188.9的专利公开了一种基于生物觅食行为的群机器人混合搜索方法,该方法利用群机器人搜索目标,促进对群体自组织原理及协同行为涌现规律的基于生物觅食行为的群机器人混合搜索方法,采用栅格法对搜索环境的建模,将搜索区域划分为若干子区域,安排每个子区域的搜索顺序,混合搜索算法进行搜索,虽然该专利利用机器人代替人完成很多工作,比如排雷排爆、空间探测、地震等灾难后的幸存者搜索、矿难搜救问题等,但该算法相对复杂,执行时间相对较长而且准确性不高;专利号为201510481231.3的专利公开了一种多机器人群体的任务搜索和任务执行方法,具体执根据任务的不同形态及机器人协作形式的不同,也将多机器人协同划分为以下三种形式:多机器人顺序协同、多机器人同步协同、多机器人自由协同,虽然该专利技术可应用于执行更复杂的任务,将复杂的任务分解成若干份,但是执行的时间相对较长,程序相对复杂,容易造成死机状态。
技术实现思路
针对当前群体智能算法过度依赖于群体机器人之间的通信,而在区域覆盖搜索中难以建立全局的通信这一现象,提出一种模仿黏菌覆盖觅食的群体仿生搜索算法,更具体的是通过群体机器人的局部相互作用来完成搜索的基于多头绒泡菌觅食的群体机器人搜索算法及验证方法。本专利技术所采用的技术方案是:一种基于多头绒泡菌觅食的群体机器人搜索算法,所述的搜索算法包括划分定义群体机器人步骤和运算处理数据步骤。所述的划分定义群体机器人步骤是根据机器人的状态,将群体机器人划分成三种类型的机器人,分别命名为CORE、BRANCH和FORAGER,其中,CORE在整个搜索运动中保持静止状态,通过无线通信传递自身的类型与轨迹半径;BRANCH属于停止之前的运动,保持静止状态,为搜索机器人的边缘移动提供方向;FORAGER为根据Edge-following进行移动,在通讯半径范围内仅有一个BRANCH或没有任何类型机器人时,转变为BRANCH,除了CORE,所有机器人都执行着同一个程序;另外机器人群体设置了三个简单的基本的集体行为,分别是Edgefollow、Lifedistribution和Branchgrowth,所述的基本的集体行为分别通过输入各自的伪代码实现。所述的运算处理数据步骤分为四个阶段,分别是初始化阶段,驱散搜索阶段,边缘搜索阶段,信号源吸引阶段。所述的初始化阶段是指,初始时,除了指定为CORE的机器人外,所有的机器人均为FORAGER,将所有的机器人聚集在一起,初始化数据,等待搜索开始。所述的驱散搜索阶段是指,所有的FORAGER计算与CORE的距离,遵循Edge-following原则,进入轨道,进入下一阶段,若通讯范围内不存在CORE与BRANCH,则转变为BRANCH,类似于分子间的斥力作用,使得FORAGER发散搜索。所述的边缘搜索阶段是指,FORAGER沿着BRANCH与CORE所提供的轨迹进行移动,同时遵循着Branchgrowth原则更新搜索方向;所述的信号源吸引阶段是指,FORAGER根据自身的信号强度与群体中的最优信号强度相比,逐渐搭建与信号源的分支。Edge-following是指在反馈移动中,FORAGER沿着CORE与BRANCH所提供的轨道进行逆时针的移动,CORE与BRANCH广播出一个消息以通知FORAGER,FORAGER接收消息后,计算与发送该消息的机器人的距离,轨迹半径,记为R,若此距离超过某一固定的值则左转;当FORAGER距离CORE或BRANCH小于规定的轨迹半径R时,如果太靠近CORE或BRANCH,则右转,否则直走。这是通过一个简单的反馈机制实现的群体机器人逆时针运动。所述的Lifedistribution是指生命力分布,假设黏菌的生命力随着扩展,生命力降低,黏菌整体呈现出一种生命力梯度,根据这一假设,创建一个虚拟的值以标记着BRANCH与CORE的大概距离,该值越高则越靠近CORE。所述的Branchgrowth是指模拟多头绒泡菌的发散生长现象用以增加BRANCH的数量,来扩展FORAGER的搜索范围,当FORAGER遵循着Edg本文档来自技高网
...
基于多头绒泡菌觅食的群体机器人搜索算法及验证方法

【技术保护点】
一种基于多头绒泡菌觅食的群体机器人搜索算法,其特征在于:所述的搜索算法包括划分定义群体机器人步骤和运算处理数据步骤:所述的划分定义群体机器人步骤是根据机器人的状态,将群体机器人划分成三种类型的机器人,分别命名为CORE、BRANCH和FORAGER,其中,CORE在整个搜索运动中保持静止状态,通过无线通信传递自身的类型与轨迹半径;BRANCH属于停止之前的运动,保持静止状态,为搜索机器人的边缘移动提供方向;FORAGER为根据Edge‑following进行移动,在通讯半径范围内仅有一个BRANCH或没有任何类型机器人时,转变为BRANCH,除了CORE,所有机器人都执行着同一个程序;另外机器人群体设置了三个简单的基本的集体行为,分别是Edge follow、Life distribution和Branch growth,所述的基本的集体行为分别通过输入各自的伪代码实现;所述的运算处理数据步骤分为四个阶段,分别是初始化阶段,驱散搜索阶段,边缘搜索阶段,信号源吸引阶段;所述的初始化阶段是指,初始时,除了指定为CORE的机器人外,所有的机器人均为FORAGER,将所有的机器人聚集在一起,初始化数据,等待搜索开始;所述的驱散搜索阶段是指,所有的FORAGER计算与CORE的距离,遵循Edge‑following原则,进入轨道,进入下一阶段,若通讯范围内不存在CORE与BRANCH,则转变为BRANCH,类似于分子间的斥力作用,使得FORAGER发散搜索;所述的边缘搜索阶段是指,FORAGER沿着BRANCH与CORE所提供的轨迹进行移动,同时遵循着Branch growth原则更新搜索方向;所述的信号源吸引阶段是指,FORAGER根据自身的信号强度与群体中的最优信号强度相比,逐渐搭建与信号源的分支。...

【技术特征摘要】
1.一种基于多头绒泡菌觅食的群体机器人搜索算法,其特征在于:所述的搜索算法包括划分定义群体机器人步骤和运算处理数据步骤:所述的划分定义群体机器人步骤是根据机器人的状态,将群体机器人划分成三种类型的机器人,分别命名为CORE、BRANCH和FORAGER,其中,CORE在整个搜索运动中保持静止状态,通过无线通信传递自身的类型与轨迹半径;BRANCH属于停止之前的运动,保持静止状态,为搜索机器人的边缘移动提供方向;FORAGER为根据Edge-following进行移动,在通讯半径范围内仅有一个BRANCH或没有任何类型机器人时,转变为BRANCH,除了CORE,所有机器人都执行着同一个程序;另外机器人群体设置了三个简单的基本的集体行为,分别是Edgefollow、Lifedistribution和Branchgrowth,所述的基本的集体行为分别通过输入各自的伪代码实现;所述的运算处理数据步骤分为四个阶段,分别是初始化阶段,驱散搜索阶段,边缘搜索阶段,信号源吸引阶段;所述的初始化阶段是指,初始时,除了指定为CORE的机器人外,所有的机器人均为FORAGER,将所有的机器人聚集在一起,初始化数据,等待搜索开始;所述的驱散搜索阶段是指,所有的FORAGER计算与CORE的距离,遵循Edge-following原则,进入轨道,进入下一阶段,若通讯范围内不存在CORE与BRANCH,则转变为BRANCH,类似于分子间的斥力作用,使得FORAGER发散搜索;所述的边缘搜索阶段是指,FORAGER沿着BRANCH与CORE所提供的轨迹进行移动,同时遵循着Branchgrowth原则更新搜索方向;所述的信号源吸引阶段是指,FORAGER根据自身的信号强度与群体中的最优信号强度相比,逐渐搭建与信号源的分支。2.根据权利要求1所述的一种基于多头绒泡菌觅食的群体机器人搜索算法,其特征在于:Edge-following是指在反馈移动中,FORAGER沿着CORE与BRANCH所提供的轨道进行逆时针的移动,CORE与BRANCH广播出一个消息以通知FORAGER,FORAGER接收消息后,计算与发送该消息的机器人的距离,轨迹半径,记为R,若此距离超过某一固定的值则左转;当FORAGER距离CORE或BRANCH小于规定的轨迹半径R时,如果太靠近CORE或BRANCH,则右转,否则直走;这是通过一个简单的反馈机制实现的群体机器人逆时针运动。3.根据权利要求1所述的一种基于多头绒泡菌觅食的群体机器人搜索算法,其特征在于:所述的Lifedistribution是指生命力分布,假设黏菌的生命力随着扩展,生命力降低,黏菌整体呈现出一种生命力梯度,根据这一假设,创建一个虚拟的值以标记着BRANCH与CORE的大概距离,该值越高则越靠近CORE。4.根据权利要求1所述的一种基于多头绒泡菌觅食的群体机器人搜索算法,其特征在于:所述的Branchgrowth是指模拟多头绒泡菌的发散生长现象用以增加BRANCH的数量,来扩展FORAGER的搜索范围,当FORAGER遵循着Edgefollow原则移动时,其通讯范围内仅只有一个BRANCH,则FORAGER转变为BRANCH,构成分支,更新生命力梯度,随着FORAGER不断转换为BRANCH,形成一种由CORE为中心发散出一种网络般的搜索通道,FORAGER在BRANCH所提供的的轨道上进行移动搜索,BRANCH所构...

【专利技术属性】
技术研发人员:骆延东肖猷坤陈承志郭建文孙振忠陈海彬曾志彬
申请(专利权)人:东莞理工学院东莞市朝茗机电科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1