基于动态粒子蜜蜂算法的群机器人搜索方法与流程

文档序号:11432845阅读:235来源:国知局
基于动态粒子蜜蜂算法的群机器人搜索方法与流程

本发明涉及机器人自动检测技术领域,特别是一种群机器人的搜索方法。



背景技术:

近几年,全球开启工业4.0模式,其发展方向是走向互联网和物联网、信息流和数据流的进一步融合,也加快了机器人领域的发展速度,提高了机器人软硬件技术,拓宽了移动机器人应用的范围,由机器人来完成服务、家居生活、工业生产等方面的工作成为一种势不可挡的潮流,在餐厅中做服务员的机器人、工厂中忙于生产的机械臂等随处可见。

虽然单个机器人可以完成一些简单的任务,但是由于单个机器人一般都体积大、能耗高、结构复杂,灵活性差,在使用单机器人进行搜索任务时的效果不是很好,而群机器人因为其体积小、数量多、结构简单、比较灵活、鲁棒性强,比单个机器人更容易控制,而且其容错能力强,即使其中某个机器人坏了,也不会影响整体的搜索等特征,因此,近几年受到越来越多的关注。

研究利用群机器人搜索目标,在理论和实际研究中都有重要的意义。从理论上来说,通过研究群机器人寻找目标的过程,可以促进对群体自组织原理及协同行为涌现规律的研究。从实际上来说,研究利用群机器人搜索目标,可以利用机器人代替人完成很多工作,比如排雷排爆、空间探测、地震等灾难后的幸存者搜索、矿难搜救问题等,从而使机器人的应用变得更加广阔。



技术实现要素:

本发明需要解决的技术问题是提供一种高效率的群机器人搜索方法。

为解决上述技术问题,本发明所采取的技术方案如下。

基于动态粒子蜜蜂算法的群机器人搜索方法,具体包括以下步骤:

a.采用组合拍卖法对搜索问题建模;

其中,

xij=0,1,(i,j=1,2,…,n);

cij表示机器人ri搜索目标gj所需要的代价;

b.设置搜索领域以及搜索时间t;

c.利用动态粒子蜜蜂算法进行搜索,直到整个搜索区域搜索完成或者设定的搜索时间达到,结束搜索。

上述基于动态粒子蜜蜂算法的群机器人搜索方法,步骤c具体包括以下内容:

c1.利用蜜蜂算法进行全局搜索;

c2.当发现目标之后,转变为动态粒子群搜索算法进行局部搜索,确定动态离子群搜索时间t1;.在t1时间内,一直采用动态粒子群搜索算法进行目标位置的确定;确定目标位置后,判断是否完成整个区域的搜索,如果完成,则结束当前区域的搜索;如没有确定目标,则在t1时间到达后,转换为蜜蜂算法,继续进行当前区域的搜索;

c3.如果蜜蜂算法没有发现目标,一直使用蜜蜂搜索算法进行搜索,直到整个搜索区域搜索完成或者搜索时间t到达,结束搜索。

上述基于动态粒子蜜蜂算法的群机器人搜索方法,步骤c1具体包括以下内容:

c11.初始化被随机释放在搜索环境中的侦查蜂位置;

c12.计算侦查蜂的适应度值,按降序排列,选取出nb只最佳蜂;

c13.招募nrb只蜜蜂,进行领域搜索;

c14.计算最佳蜂的适应度值,按降序排列,选取出ne只精英蜂;

c15.招募nre只蜜蜂,进行领域搜索。

上述基于动态粒子蜜蜂算法的群机器人搜索方法,所述适应度值计算采用下式计算获得:

式中:

其中,α,β和γ分别是质量、成本和机器人性能的控制参数,

vik是第k个机器人对第i个任务的性能值,

n是机器人个数,gik是第k个机器人得到关于第i个任务的信息,

cik是第k个机器人执行第i个任务花费的成本,

ti是完成第i个任务花费的时间,

m是目标个数,t为搜索总时间,

fi表示任务i的标准化优先权,

fi是任务i的优先权,第k个机器人完成第i个目标的成本就是相互间的距离dik,

(xi,yi)和(xk,yk)分别代表目标和机器人的位置;

上述适应度计算过程中,所有侦查蜂的适应度值总和为1,所有最佳蜂的适应度总和为1。

上述基于动态粒子蜜蜂算法的群机器人搜索方法,步骤c2具体包括以下内容:

c21.均匀分割搜索空间成若干子搜索空间,并初始化子搜索空间,确定粒子坐标值;

c22.随机生成敏感粒子,计算器适应度值,通过响应阈值来衡量敏感粒子的适应度值;

c23.以一定的比例更新粒子的位置和速度,直到确定目标位置或者动态离子群搜索时间t1到达。

上述基于动态粒子蜜蜂算法的群机器人搜索方法,所述粒子和敏感粒子的适应度计算公式如下:

fitness(i)=positionx(i)+positiony(i)

其中,fitness(i)表示粒子i的适应度值;positionx(i)表示粒子i的位置x坐标值,positiony(i)表示粒子i的位置y坐标值。

上述基于动态粒子蜜蜂算法的群机器人搜索方法,所述粒子和敏感粒子的速度和位置更新公式如下:

其中,pbestx是粒子本身在搜索过程中在x轴的最好位置,

pbesty是粒子本身在搜索过程中在y轴的最好位置,

gbestx是在通信范围内所有粒子中在x轴的最好位置,

gbesty是在通信范围内所有粒子中在y轴的最好位置,

w,c1,c2为权值,0<w<2,0<c1/c2<2。

上述基于动态粒子蜜蜂算法的群机器人搜索方法,所述动态粒子群进行局部搜索时加入邻域设置,使精英蜂和最佳蜂在局部搜索过程中,位置迭代的总和在设置的最大值和最小值之间,即xidmin≤xid(t+1)≤xidmax。

由于采用了以上技术方案,本发明所取得技术进步如下。

本发明基于动态粒子算法和蜜蜂算法,应用于群机器人作业过程中,改善了全局搜索的速度,收敛性好,能够使群机器人在较短的时间内迅速搜索到目标,大大提高了搜索效率以及搜索结果的准确性。

附图说明

图1为本发明的流程图;

图2为本发明所述动态粒子蜜蜂算法的流程图;

图3为本发明所述动态粒子群算法的流程图;

图4为本发明中所述蜜蜂算法的流程图。

具体实施方式

下面将结合附图和具体实施例对本发明进行进一步详细说明。

本发明受到蜂群觅食行为的启发,提出在群机器人执行搜索任务过程中,以模拟蜂群觅食的过程为思想进行目标搜索,即在未知环境中,群机器人利用蜂群觅食行为的特征来搜索目标。

一种基于动态粒子蜜蜂算法的群机器人搜索方法,具体包括以下步骤。

a.采用组合拍卖法对搜索问题建模。

设一个组合拍卖的竞标集合g={b1,b,2,…bs},一个竞标就是一个二元组bj≤sj,cij>0,此处代价函数cij>0可认为竞标的出价,代价函数cij表示机器人ri搜索目标gj所需要的代价。

当xij=1时,表示机器人ri搜索到目标gj;当xij=0时,表示机器人ri未搜索未到目标gj。

当机器人ri搜索完目标点gj之后,必须要有一个确切的即将探测的目标点;而探测目标点gj之前必须要有一个刚刚探测过的确切目标。

那么,基于组合拍卖法的混合整数线性规划的数学模型如下:

其中,

xij=0,1,(i,j=1,2,…,n);

cij表示机器人ri搜索目标gj所需要的代价。

b.设置搜索领域以及搜索时间t;设置搜索区域,并在搜索区域内设置4个目标点,实际坐标分别为(-60,-60)、(40,40)、(-40,40)和(40,-40),利用100个机器人进行搜索的任务,搜索时间为t。

c.利用动态粒子蜜蜂算法进行搜索,直到整个搜索区域搜索完成或者设定的搜索时间达到,结束搜索,具体流程如图2所示。

步骤c具体包括以下内容:

c1.利用蜜蜂算法进行全局搜索,具体流程如图4所示。

c11.初始化被随机释放在搜索环境中的侦查蜂位置。

c12.计算侦查蜂的适应度值,按降序排列,选取出nb只最佳蜂。

c13.招募nrb只蜜蜂,进行领域搜索。

c14.计算最佳蜂的适应度值,按降序排列,选取出ne只精英蜂。

c15.招募nre只蜜蜂,进行领域搜索。

上述侦查蜂和最佳蜂适应度值计算采用下式计算获得。

式中:

其中,α,β和γ分别是质量、成本和机器人性能的控制参数,

vik是第k个机器人对第i个任务的性能值,

n是机器人个数,gik是第k个机器人得到关于第i个任务的信息,

cik是第k个机器人执行第i个任务花费的成本,

ti是完成第i个任务花费的时间,

m是目标个数,t为搜索总时间,

fi表示任务i的标准化优先权,

fi是任务i的优先权,第k个机器人完成第i个目标的成本就是相互间的距离dik,

(xi,yi)和(xk,yk)分别代表目标和机器人的位置;

上述适应度计算过程中,所有侦查蜂的适应度值总和为1,所有最佳蜂的适应度总和为1。

c2.当发现目标之后,转变为动态粒子群搜索算法进行局部搜索,确定动态离子群搜索时间t1;.在t1时间内,一直采用动态粒子群搜索算法进行目标位置的确定;确定目标位置后,判断是否完成整个区域的搜索,如果完成,则结束当前区域的搜索;如没有确定目标,则在t1时间到达后,转换为蜜蜂算法,继续进行当前区域的搜索,动态粒子群算法的具体流程如图3所示。

c21.均匀分割搜索空间成若干子搜索空间,并初始化子搜索空间,确定粒子坐标值。

本步骤中,动态粒子群进行局部搜索时加入邻域设置,使精英蜂和最佳蜂在局部搜索过程中,位置迭代的总和在设置的最大值和最小值之间,即xidmin≤xid(t+1)≤xidmax。

例如设置的邻域边界设置为20和25,那么整个过程xid的值不能超过20*25这个矩形,如果其值超过这个范围,邻域设置会将其限制在20*25这个范围内,提高完成搜索的效率。

c22.随机生成敏感粒子,计算器适应度值,通过响应阈值来衡量敏感粒子的适应度值。

粒子和敏感粒子的适应度计算公式如下:

fitness(i)=positionx(i)+positiony(i)

其中,fitness(i)表示粒子i的适应度值;positionx(i)表示粒子i的位置x坐标值,positiony(i)表示粒子i的位置y坐标值。

c23.以一定的比例更新粒子的位置和速度,直到确定目标位置或者动态离子群搜索时间t1到达。

粒子和敏感粒子的速度和位置更新公式如下:

其中,pbestx是粒子本身在搜索过程中在x轴的最好位置,

pbesty是粒子本身在搜索过程中在y轴的最好位置,

gbestx是在通信范围内所有粒子中在x轴的最好位置,

gbesty是在通信范围内所有粒子中在y轴的最好位置,

w,c1,c2为权值,0<w<2,0<c1/c2<2。

c3.如果蜜蜂算法没有发现目标,一直使用蜜蜂搜索算法进行搜索,直到整个搜索区域搜索完成或者搜索时间t到达,结束搜索。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1