专利名称:异构多机器人系统的任务分配方法
技术领域:
本发明属于自动控制领域,具体涉及异构多机器人系统的任务分配方法。
技术背景机器人作为人类20世纪最伟大的发明之一,在短短40多年内发生了日新 月异的变化。近几年机器人已经成为高技术领域内具有代表性的战略目标。机 器人技术的出现和发展,不但使传统的工业生产面貌发生根本性变化,而且对 人类的社会产生深远的影响。随着社会生产技术的飞速发展,机器人的应用领 域不断扩展。从自动化生产线到海洋资源的探索,乃至太空作业等领域,机器 人可谓无处不在。然而就目前的机器人技术水平而言,单机器人在信息的获取、 处理及控制能力等方面都是有限的,对于复杂的工作任务和多变的工作环境, 单机器人的能力更显不足。多机器人系统以其独有的优越性为这一 问题提供了 解决途径。多机器人系统的研究始于20世纪70年代。从那时开始,国内外许多高冲交 和科研机构对多机器人系统进行了广泛的研究。随着多机器人系统受重^见禾呈度 的增加,作为多机器人协调一部分的任务分配也越来越引起人们的关注。尽管 任务分配是多机器人系统协调的 一部分,但由于任务分配居于多机器人系统中 的高层,在研究的过程中可以忽略系统的底层细节,所以研究人员通常将任务 分配做为一个独立的子问题进行研究。目前多机器人系统任务分配已经取4寻了 一定的研究成果,然而求解多机器人系统任务分配方案是一个NP难题,多机 器系统任务分配的研究尚处在初期阶段,还有很长的路要走。目前多机器人系 统任务分配有待解决的问题之一考虑机器人系统的功能结构对多机器人系统任务分配的影响。机器人系统功能结构不同对任务分配的要求也不同,异构机 器人系统中机器人能力不一,在分配任务时需要考虑不同的任务各需要什么能 力,需要哪些机器人配合完成。由于异构机器人系统具有普遍性,因此必须考 虑机器人系统功能结构对多机器人系统任务分配的影响,并在此基础上设计相 应的任务分配算法,充分发挥机器人的能力。发明内容有鉴于此,为了解决上述问题,本发明提出了一种异构多机器人系统的 任务分配方法,采用经过改进的蚁群算法,协调异构多机器人对至少一个子任 务的执行。本发明的目的是这样实现的异构多机器人系统的任务分配方法,包括如 下步骤Sl:初始化机器人和子任务参数;S2:机器人选择自己擅长、自身能力与子任务能力需求^接近、离自己近、 信息浓度高的子任务执行;进一步,所述步骤Sl中,机器人和子任务参数包括器人的能力配置向量 C,、子任务的能力需求向量M、能力匹配参数i^、机器人执行能力水平参数 丄&、子任务所需机器人数量上限TV;和当前执行子任务的机器人数量4.;进一步,所述步骤S2中,机器人/具体执行如下步骤;S21:更新自身状态A,才全查自身的能力配置;S22:获取其他机器人的状态和能力配置;S23:获取所有子任务的信息素浓度;S24:计算子任务的选择概率;S25:选择概率最高的子任务执行;进一步,步骤S24具体包括如下步骤的机器人数量也越多,因此保持机器人数量与子任务工作量成正比,可以提高多机器人系统的平均效率;3 )保证机器人执行子任务的连续性很多机器人在 执行子任务时,可能会收到新的子任务的"邀请",本发明中,只有当机器人完 成任务后,再去执行新的子任务,从而保证全局任务的完成程度最大。本发明的其他优点、目标,和特征在某种程度上将在随后的说明书中进行 阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是 显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点 可以通过下面的il明书,权利要求书,以及附图中所特别指出的结构来实现和 获得。
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本 发明作进一步的详细描述图1示出了异构多机器人系统的任务分配方法流程示意图; 图2示出了机器人选择执行子任务的流程示意图; 图3示出了实施例任务分配初始时刻图; 图4示出了实施例任务分配t,时刻图 图5示出了实施例任务分配t2时刻图 图6示出了实施例任务分配t3时刻图 图7示出了实施例任务分配t4时刻图 图8示出了实施例任务分配t5时刻图 图9示出了实施例任务分配t6时刻图 图10示出了实施例任务分配t7时刻图; 图11示出了实施例任务分配t8时刻图;图12示出了实施例任务分配t9时刻图。
具体实施方式
以下将对本发明的优选实施例进行详细的描述。首先对如下参数说明r/:子任务j'上的信息素;;/『7/ 4:机器人/与子任务/之间距离的倒数;G:机器人能力配置向量,指机器人/本身所具备的功能;M/.子任务的能力需求向量,指执行子任务J所需要的功能;^z:能力匹配参数,表示机器人/是否适合执行某项子任务力机器人/对子任务/的执行能力水平参数; W.机器人z'对子任务j'的选择概率变量; 4:当前执行子任务的机器人数量; 《.子任务j'所需机器人数量上限; 7}:子任务y总量,为常凄t; /,:机器人/执行任务量,该参量为常数; A:子任务所需机器人的数量上限标志; 巧子任务完成标志; toA^:开关变量。设在任务未知的工作区域中,含有"个机器人的集合为^={~72力..., }及含有^个子任务的任务集合为r-"力,…,w。n个机器人在工作区域中随机的搜索任务,初始时候对应于所有任务y (产l, 2,…)的"激素"T;.为i: (7T为常数),w个机 器人的状态集合为^^,S2,..., s }, 0为空闲状态,l为工作状态。机器人具备多种不同的功能,如感知能力(视觉、嗅觉、听觉、红外、超 声等)、执行能力(移动、搬运、加工处理等)、运算能力、通信能力等,而对 于一个任务来说,也可能需要多种不同的能力才能够完成。将这些能力分类细 化成单个的能力,并将所有的这些单个的能力组成集合。设由A个单个能力。组成的能力集合为S241计算开关变量做~ = 5.. w乂 a . A;其中,巧为子任务完成标志,^表示机器人!'的状态,&为机器人/能力匹配参数,《为子任务j'所需机器人的数量上限标志,其表达式为S242:根据步骤S21所得的开关变量to^,由下式计算子任务y的选择概式中,^为子任务/上的信息素,^为机器人,'与子任务乂之间距离的倒数, "为机器人/对子任务乂执行能力水平参数,co为0到1之间的常数;进一步,步骤S2之后还包括如下步骤S3:判断子任务j'是否完成,如否,则更新信息素Ty,并跳转执行步骤S3; 如是,则执行步骤S4;S4:将机器人状态A和信息素Tj.归零。本发明提出的异构多机器人系统的任务分配方法,充分考虑机器人系统的 功能结构对多机器人系统任务分配的影响,实现了异构多机器人系统的任务分 配;具体包括如下优点1)能够实现最优的机器人到子任务映射在全局《壬务 中的子任务对机器人能力的要求有差异,每个机器人的能力配置也有差异,因 此让每个机器人选择与自身能力最匹配的子任务,可以提高系统性能;2)保证 选择子任务的机器人数量与子任务工作量成正比由于子任务所在工作环境空 间有限,空间里的机器人数量越多则机器人相互避碰消耗的时间越多,才几器人 的平均效率越低;同时,子任务工作量越大,则工作空间相对也越大,可容纳1) 机器人的能力配置向量 机器人能力配置向量是指机器人本身所具备的功能。 设有"个具有不同功能的机器人 122"。对于机器人。,定义其能力配置向量G为C, "iag(o^,a,2,…,a,丄[Ci,C2,…,c^;f (1)其中,oc汰表示机器人^是否具有能力q,若机器人具备能力q, 汰=1;若机 器人不具备能力^,贝'Ja,fO。2) 子任务的能力需求向量iW;.子任务的能力需求向量是指执行子任务所需要的功能。 设有w个任务Z/.,l^^m。对于任务if"定义其能力需求向量为y^对应完成任务。是否需要能力^,若完成任务6需要能力q, A.产i,若完成任务不需要此项能力,则^f0。3) 能力匹配参凝J^匹配参^J^是表示机器人/是否适合执行某项任务y'的能力,是为实现第l条 原则而建立的。机器人是否适合执行某项任务,与机器人能力配置向量C,.及子任务的能力 需求向量My相关,若C^M,,机器人。适合执行子任务力否则,机器人。将不适 合执行子任务,设i^为能力匹配参数,其表达式为 1。C,<M; (3)4) 机器人执行能力水平参凄Uy该参数为变量,是为实现第2条原则而建立的,其取值范围在0-l之间,机 器人的能力与子任务的能力需求越接近,则"越大。其表达式为0 c, <气 似.c,碼(4)5)子任务选择扭X率变量/^.该参数是为实现第3、 4条原则而建立的。其表达式为:(。)。7'/(5)利用机器人执行能力水平参凄t^对巧进行处理p々;a-fi))';^ + cy.; (6)6) 子任务所需机器人数量上限A^.,该参数为常量,其取值根据子任务的需 要决定。7) 当前执行子任务的机器人数量4.,该参数为变量 8 )子任务所需机器人的数量上限标志i /,其表达式为f0, A =i,(7)9)子任务完成标志巧「0,子任务完成U, 否则10)开关变量tos^(8)(9)(10)= F乂. A . s, 其中,^表示机器人/的状态,其表达式为_{0, 忙状态 &=<il,空闲状态利用to^对;^进行处理,将子任务选择概率变量重新写成机器人按子任务选择概率变量;^选择子任务,如果子任务仍未完成,,按如 下公式。=t + At>0 ( 12 )更新子任务的信息素浓度,以获得更多的机器人协助。机器人满足子任务的功能要求,子任务的机器人数量上限又没有达到,并 且机器人的状态为空闲,则toAfl,开关打开,机器人可以选择子任务;否则, 开关关闭,机器人不能选择子任务。参见图1,本实施例的异构多机器人系统的任务分配方法,包括如下步骤Sl:初始化机器人和子任务参数,包括器人的能力配置向量C,、子任务的 能力需求向量M、能力匹配参数&、机器人执行能力水平参数L々、子任务所 需机器人数量上限M和当前执行子任务的机器人数量4;S2:机器人选择自己擅长、自身能力与子任务能力需求接近、离自己近、 信息浓度高的子任务执行;机器人/具体执行如下步骤;S21:更新自身状态A,检查自身的能力配置;S22:获取其他机器人的状态和能力配置;S23:获取所有子任务的信息素浓度;S24:计算子任务的选择概率;具体包括如下步骤S241:计算开关变量tos/^,其中,巧为子任务完成标志,s,.表示机器人Z的状态,^为机器人/能力匹 配参数,A为子任务y'所需机器人的数量上限标志,其表达式为S242:根据步骤S21所得的开关变量to^,由下式计算子任务j'的选择概<formula>formula see original document page 11</formula>o>为0到1之间的常数)式中,^为子任务y上的信息素,^为机器人z'与子任务7'之间距离的倒数,"为机器人/对子任务J执行能力水平参数。S25:选择概率最高的子任务执行;S3:判断子任务y'是否完成j如否,则更新信息素z).,并跳转执行步骤S2; 如是,则执行步骤S4;S4:将机器人状态a和信息素z)归零。参见图2至11,以本实施例的方法以清除地雷背景为例进行试验,设工作 空间为10米xl0米,图中,由左下角逆时针到左上角,依次出现的是机器人, r卜r2、 r3、 r4;各子4壬务参凄t的耳又值tM产l, N尸2, T产l; t2: M2=2, N2=5, T2=4; t3: M3=l, N3=3, T3=3。各机器人的参数取值ri: d=2, I产1.5; r2: C2=2, I尸1.5; r3: C3=l, I产1.5; r4: C4=3, I产1.5。机器人之间采用"黑板,,方式进行通信,a=l, p=l,初始时刻, 各子任务上的信息素为T=l。初始时刻,n, r2, r4搜索到任务t!, t2, t3,以lm/s的速度向目标点行进 去执行任务。如图3所示;tl时刻1"4到达任务后执行任务t3,尝试独立完成任务,发现任务不能净皮 其独立完成,增加任务t3的信息素T3,吸引其他机器人来合作执行任务,如图 4所示。t2时刻,处于空闲状态的1"3受到任务13上的信息素的吸引,r3向t3方向4亍走,前去协助r4执行t3,如图5所示。t3时刻r,绕过障碍物后到达任务处执行任务tp尝试独立完成任务tp r! 能够单独完成任务t,,完成任务后,r,处于空闲状态,r,在任务t,处继续搜索 其他的任务,如图6所示。t4时刻I"2到达t2,尝试独立完成任务,不能独立完成,增加信息素T2, 吸引处于空闲状态的其他机器人来协助,如图7所示。t5时刻,处于空闲状态的机器人n受到"吸引",协助r2执行t2,如图8所t6时刻r3到达任务T3,与i"4一起合作执行任务,12的任务复杂度为3, 两个机器人合作完成t2,将任务t2的信息激素T2清零,r3, r4处于空闲状态,如 图9所示。t7时刻r,到达t2, r2、 n尝试合作完成任务,任务仍然不能被完成,于是 继续增加t2的信息素t2,吸引处于空闲状态的其他机器人来协助,如图10所示。t8时刻,处于空闲状态的机器人r4受到"吸引",协助r2、 r,执行t2,如图 11所示。t9时刻r2, r!, 1"4三个机器人合作完成任务t2,如图12所示。 从图3至12可以看出此本方法有效的解决了异构多机器人系统的任务分酉己 问题。以上所述仅为本发明的优选实施例,并不用于限制本发明,显然,本^页范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同4支 术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.异构多机器人系统的任务分配方法,用以协调异构多机器人对至少一个子任务的执行,包括如下步骤S1初始化机器人和子任务参数;S2机器人选择自己擅长、自身能力与子任务能力需求接近、离自己近、信息浓度高的子任务执行。
2. 如权利要求1所述的异构多机器人系统的任务分配方法,其特征在于 所述步骤Sl中,机器人和子任务参数包括机器人的能力配置向量C,、子任务 的能力需求向量M,能力匹配参数&、机器人执行能力水平参数Z^.、子任务 所需机器人数量上限巧和当前执行子任务的机器人数量^。
3. 如权利要求1或2所述的异构多机器人系统的任务分配方法,其特征在 于所述步骤S2中,机器人/具体执行如下步骤;S21:更新自身状态^,检查自身的能力配置;S22:获取其他机器人的状态和能力配置;S23:获取所有子任务的信息素浓度;S24:计算子任务的选择概率;S25:选择概率最高的子任务执行;
4. 如权利要求3所述的异构多机器人系统的任务分配方法,其特征在于 步骤S24具体包括如下步骤S241计算开关变量to^^,加~ =7^. ;其中,巧为子任务完成标志,^表示机器人!'的状态,^为机器人Z'能力匹配参数,《为子任务y所需机器人的数量上限标志,其表达式为i 一|°, A喝. 广l1, WS242:根据步骤S21所得的开关变量to^,由下式计算子任务j'的选择概率&=^7.(1—一A,式中,ry为子任务/上的信息素,^为机器人/与子任务J之间距离的倒数, 々为机器人/对子任务y'执行能力水平参数,w为0到1之间的常数。
5.如权利要求4所述的异构多机器人系统的任务分配方法,其特征在于 步骤S2之后还包括如下步骤S3:判断子任务y是否完成,如否,则更新信息素T,并跳转执行步骤S2; 如是,则执行步骤S4;S4:将机器人状态s,和信息素^归零。
全文摘要
本发明属于自动控制领域,具体涉及异构多机器人系统的任务分配方法;包括如下步骤S1初始化机器人和子任务参数;S2机器人选择自己擅长、自身能力与子任务能力需求接近、离自己近、信息浓度高的子任务执行;本发明充分考虑机器人系统的功能结构对多机器人系统任务分配的影响,实现了异构多机器人系统的任务分配。
文档编号B25J13/00GK101618543SQ200910104420
公开日2010年1月6日 申请日期2009年7月23日 优先权日2009年7月23日
发明者仇国庆, 璐 刘, 毅 张, 洋 徐, 敏 李, 林海波, 元 罗, 军 蔡, 威 袁, 颖 谢 申请人:重庆邮电大学