一种多机器人全覆盖任务分配方法组成比例

技术编号:17008910 阅读:45 留言:0更新日期:2018-01-11 04:58
本发明专利技术公开了一种多机器人全覆盖任务分配方法,技术方案是先对全覆盖环境进行分解建模,得到拓扑图G,基于G生成pop棵有向生成树即个体作为第0代种群;采用个体适应度计算方法根据G将要被分割而成的块数q对T1,T2,...,Tk...,Tpop分别计算适应度;找到适应度最小的个体best、适应度最大的个体worst;迭代maxgen代,每一代使用选择交叉和变异算子来选择有潜力的个体、生成新的更有潜力的个体,采用个体适应度计算方法计算第maxgen代的个体的适应度,并在计算过程中记录得到的切割方案。采用本发明专利技术仅需较小的种群、较少的进化代数即可获得与最优解很接近的近似解。

【技术实现步骤摘要】
一种多机器人全覆盖任务分配方法
本专利技术涉及多机器人执行全覆盖任务前的任务分配方法,尤其是一种基于遗传算法的任务分配方法。
技术介绍
全覆盖任务是指:利用移动机器人,在物理接触或传感器感知范围内遍历目标环境区域,并尽可能地满足时间短、重复路径少或未遍历区域小的目标。全覆盖技术是很多机器人应用的基础,例如地板清洁、油污清理、草地修剪、粮食收割、海底探索、扫雷排雷等。多机器人的全覆盖任务具有两个最重要的步骤——任务分配和路径规划。本专利技术涉及到的就是多机器人进行全覆盖任务分配的一种方法。在任务分配之前,需要对全覆盖环境进行建模。由于全覆盖环境一般都比较大,所以整个全覆盖环境将被分解成一个个的小区域。Morse分解方法(文献“AcarEU,ChosetH,RizziAA,etal.Morsedecompositionsforcoveragetasks[J].TheInternationalJournalofRoboticsResearch,2002,21(4):331-344.”译为:覆盖任务的Morse分解,《机器人研究国际期刊》)是一种环境的分解方法,它基于障碍物的形状与覆盖方向,本文档来自技高网...
一种多机器人全覆盖任务分配方法

【技术保护点】
一种多机器人全覆盖任务分配方法,其特征在于包括以下步骤:第一步,利用Morse分解方法对全覆盖环境进行分解,并将每个小区域视作一个拓扑图的顶点,两个区域之间的公共边界线视为拓扑图的边,将真实全覆盖环境建模成顶点带权的拓扑图G=(V,E,w),顶点带权指拓扑图的顶点被赋予不同的权值,代表机器人全覆盖此顶点所需要的时间;拓扑图G的顶点编号为0,1,...,j...,n‑1,权值分别是w0,w1,...,wj...,wn‑1,n为V中的顶点个数,0≤j≤n‑1,j是整数;第二步,基于拓扑图G,随机生成pop棵有向生成树作为第0代种群,每一棵有向生成树也称为一个遗传算法个体,pop是偶数,具体步骤如下...

【技术特征摘要】
1.一种多机器人全覆盖任务分配方法,其特征在于包括以下步骤:第一步,利用Morse分解方法对全覆盖环境进行分解,并将每个小区域视作一个拓扑图的顶点,两个区域之间的公共边界线视为拓扑图的边,将真实全覆盖环境建模成顶点带权的拓扑图G=(V,E,w),顶点带权指拓扑图的顶点被赋予不同的权值,代表机器人全覆盖此顶点所需要的时间;拓扑图G的顶点编号为0,1,...,j...,n-1,权值分别是w0,w1,...,wj...,wn-1,n为V中的顶点个数,0≤j≤n-1,j是整数;第二步,基于拓扑图G,随机生成pop棵有向生成树作为第0代种群,每一棵有向生成树也称为一个遗传算法个体,pop是偶数,具体步骤如下:2.1基于拓扑图G,随机生成pop棵生成树,表示为T1,T2,...,Tk...,Tpop,1≤k≤pop,每一棵生成树都包含G中所有顶点;2.2对T1,T2,...,Tk...,Tpop进行定根;2.3对有根树T1,T2,...,Tk...,Tpop的边进行定向;2.4使用结构体Indi表示遗传算法个体T1,T2,...,Tk...,Tpop,Indi包含个体的适应度fit、一个数组pre和一个邻接表adj;适应度指这棵树最优地切割成q块时,q块中最重块的权值最小为多少,q是一个大于等于2的整数,表示机器人的台数,等于拓扑图将要被分割而成的块数;pre[j]记录j号结点的直接前驱,adj[j]是一个链表数组,记录j号结点的所有直接后继;树根结点的直接前驱定义为-1;所有的遗传算法个体T1,T2,...,Tk...,Tpop组成第0代种群;第三步,采用个体适应度计算方法SYD(q,pop,T1,T2,...,Tk...,Tpop)根据拓扑图G将要被分割而成的块数q、种群中个体的总数pop对第0代种群中的个体T1,T2,...,Tk...,Tpop分别计算适应度,得到第0代种群T1,T2,...,Tk...,Tpop每个个体的适应度;方法是:迭代地采用二分法猜测与验证的方法,第t次迭代时,猜测一棵树最重块的权值不超过某值Mt时,看该树能否切割成不超过q数目的块;若能,则下一次二分地猜测一个比Mt更小的Mt+1;如不能,则下一次二分地猜测一个比Mt更大的一个Mt+1;第四步,找到第0代种群T1,T2,...,Tk...,Tpop中适应度最小的一个个体best、适应度最大的一个个体worst;第五步,迭代maxgen代,maxgen是一个整数,表示进化的代数,每一代使用选择交叉和变异算子,来选择有潜力的个体、生成新的更有潜力的个体,具体步骤如下:5.1初始化当前代数gen=1;5.2如果gen<=maxgen,则执行步骤5.3,否则执行第六步;5.3初始化已处理对数pair=0;5.4若pair<pop/2,则执行步骤5.5;否则说明总共新生成了pop/2对个体,即得到了第gen代的pop个体,转5.8;5.5从第gen-1代中,选择两个有潜力的个体P1和P2;5.6对P1和P2进行交叉或变异操作,生成第gen代的两个新个体P1’和P2’,具体步骤如下:5.6.1随机生成[0,1)之间的一个小数,如果该小数小于等于交叉概率cr,cr是小于1大于0的常量小数,执行步骤5.6.2,对P1和P2两个个体进行交叉;否则执行步骤5.6.3,对P1和P2两个个体进行变异;5.6.2对步骤5.5选中的第gen-1代中两个个体P1和P2进行交叉,生成第gen代的两个新个体P1’和P2’,方法是:5.6.2.1随机选中顶点集合V中的两个顶点a和b,将P1中a和b之间的路径记为E1,将P2中a和b之间的路径记为E2,交叉的操作就是用E1来修饰更新P2,用E2来修饰更新P1;5.6.2.2采用修饰更新方法f(P2,E1),用E1来修饰更新P2,得到P2’,然后执行5.6.2.3;f(P,EE)表示用边EE来修饰更新树P,得到P’;5.6.2.3采用修饰更新方法f(P1,E2),用E2来修饰更新P1,得到P1’,转步骤5.7;5.6.3对步骤5.5选中的第gen-1代中两个个体P1和P2进行变异,生成第gen代的两个新个体P1”和P2”,方法是:5.6.3.1采用变异方法Va(P1)对P1进行变异,得到P1”,变异方法Va(P)表示对个体P进行变异,得到P”;5.6.3.2采用变异方法Va(P2)对P2进行变异,得到P2”;5.7pair=pair+1,执行步骤5.4;5.8采用个体适应度计算方法SYD(q,pop,T1,T2,...,Tk...,Tpop)计算第gen代的所有pop个个体的适应度,使用Indi结构体,记录第gen代中适应度最大的一个个体worst’;5.9如果worst’的适应度大于best,则第gen代中的worst’个体被best个体替换掉;5.10在第gen代个体中,找到适应度最小的个体,记录为best;5.11gen=gen+1,执行步骤5.2;第六步,采用个体适应度计算方法SYD(q,pop,T1,T2,...,Tk...,Tpop)计算第maxgen代的个体的适应度,并在计算的过程中记录采用快速树切割算法得到的切割方案;所有个体计算...

【专利技术属性】
技术研发人员:刘惠王怀民丁博周星史佩昌胡奔李艺颖包慧尚苏宁
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:湖南,43

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

1