专利名称:基于分簇的多机器人任务分配方法
技术领域:
本发明涉及的是一种多机器人协作控制技术。
背景技术:
利用多机器人系统协作探索未知环境与单机器人相比具有很多优点首先,多个 机器人的传感器视野更加宽阔,信息冗余有利于提高机器人的定位精度和地图创建的质 量;其次,多机器人系统的容错性可以防止由于单个机器人失效引起的任务失败;再次,多 机器人系统的并行处理能力可以在更短的时间内完成特定的任务。最后,多个简单异构机 器人之间的功能互补可以实现单个复杂机器人无法实现的功能。经验表明在复杂环境中,所有机器人探索同一处环境并不一定能够快速实现探索 任务。在不同的环境状态下,机器人如果能够根据环境的状态合理地、动态地产生不同的协 作模式,能够大大增加机器人协作效率。可以说,多机器人协作探索中的自适应任务分配不 仅能够增加系统的灵活性和适应性,还能够大大减少机器人因不合理协作模式下产生的资 源浪费,具有一定的研究意义。任务分配体现了多机器人系统高层的组织形式和运行机制,是系统实现未知环境 探索任务的基础。分配机制合理与否直接关系到多机器人系统中各成员能否最大限度发挥 自身潜力,直接影响系统任物完成的效率。所以在现有机制基础上,通过协调合作完成预定 任务已经成为该领域的研究热点。早期的多机器人任务分配方法多为集中式控制。多机器人系统存在集中分配者 (主机器人或管理机器人),负责规划、决策和任务分配。任务分配时,机器人通过查询一 张关于所有机器人信息的表格来直接指定或是协商完成任务的分配。其优点明显协调简 单、通讯开销少,可获得全局最优解,对于规模较小的系统而言,其任务的优化分配易于实 现。但随着机器人数量的增加,系统性能将显著降低,且系统的实时性、容错性较差,不适于 动态的任务分配。随着分布式人工智能的快速发展,适用于动态、开放的任务环境的分布式任务分 配方法以其反应速度快、灵活性高、适应性强等特点,受到人们的广泛关注。由于多机器人 系统中没有中央节点,不依赖于全局知识机器人,机器人个体高度自治,因此系统有很强的 冗余性,即使有个别机器人失效也不会影响系统整体的效能。机器人个体通过局部信息规 划其行为,并通过协商合作完成任务,对于规模较大的系统,也可以通过优化任务分配的方 式实现任务的实时处理。分布算法对动态环境的反应速度快,鲁棒性强。但由于缺乏全局 核心的控制,所以全局协调性差,通讯开销巨大。虽然这种结构增加了系统的复杂性,难以 得到全局最优的方案,但分布式的任务分配方法以其突出的柔性、高效性和鲁棒性仍不失 是一种行之有效的任务分配方式。其典型的代表有合同网分配和熟人网分配。在目前国内外大多数与本发明先关的专利文件中,关于生物协作行为启发多机器 人任务分配方法很少报道,仅有的报道都是采用群体优化策略来实现分配的最优化,并没 有考虑个体交互的局部性。而其他的任务分配方法多数采用协商式,具有复杂的设计模式,系统灵活性、实时性较差。
发明内容
本发明的目的在于提供一种能大大减少机器人的相互依赖性,增加了系统的灵活 性、适应性和鲁棒性的基于分簇的多机器人任务分配方法。本发明的目的是这样实现的本发明的基于分簇的多机器人任务分配方法包括分簇结构的生成方法和簇间机 器人的动态任务分配方法;当发现任务信息时,为了便于机器人的协作,通过簇结构的生成 方法建立适合当前任务的机器人分簇结构;当任务发生改变时,通过不同子簇间机器人的 动态任务分配,实现各子任务中机器人数量的动态均衡,提高协作任务的有效性。其实现步 骤如下(1)任务开始,系统中的每个机器人查找是否存在簇结构。为此,需要给出簇结构 的相关定义。当多个机器人之间产生能够信息共享和交流的通信网络,并具有同一个任务 目标时,称这些机器人为一“簇”。在一簇机器人中,具有决策能力的机器人称为“簇头”。通 常簇头具有最高决策权,新机器人的加入或者机器人的“离开”都需要簇头来决策。单独节 点自身为簇头。通常簇头是由具有全局信息最多的机器人承担。当系统中存在簇结构,则 转到(3),否则转到(2)。(2)基于树型拓扑的分簇结构生成算法生成新簇。当独立机器人遇到其他机器人后,判断机器人之间能否能够协作。当两个机器人 具有协作条件时,在某个簇内的机器人会向簇头发出请求,簇头根据任务的难度和当前簇 内节点数量来判断是否需要该机器人加入簇中。如果允许新的机器人加入簇中,则按照簇 结构创建和管理规则生成新簇结构。为此,需要设计协作机器人簇的创建和簇内信息管理规则。根据初始簇内机器人 的连接状态,确定簇头后,按照生成树算法,以簇头为根节点,将原始的图结构转化为树形 结构。为了有效地产生簇内树型结构,簇内机器人应当按照约束条件或编队控制规则保持 一定的相对距离。在簇内树型结构中,父亲节点主要负责信息的交流、融合和管理子节点的 功能。另外,为父节点定义最大连接数,当父节点连接数超过该最大值时,树型结构继续生 长。本发明定义该最大连接数为2,即每个节点最多允许有2个子节点。新的簇产生后,则转入(5)。(3)判断任务是否更新,并需要更新新的簇型结构。如果没有需要更新的簇结构, 则转到(5),否则转到(4)。(4)根据任务的变化,采用簇间任务分配策略更新簇结构。①首先,确立分簇协作探索中机器人的职能安排。在本发明中,定义所有的机器人 共有两类职能主动探索职能机器人(以下简称主动机器人)和被动引导职能机器人(以 下简称被动机器人)。定义执行主动探索职能的机器人构成主动机器人簇,同样也有被动 机器人簇。主动机器人簇主要执行探索功能,根据被动机器人组成的网络选择全局环境中 的目标区域,以便进行全局搜索任务。而被动机器人按照分离漫游规则散落到环境各处,并 判断环境的复杂性。在被动机器人漫游的过程中,机器人之间仍然保持局部的相互连接关 系。当被动机器人分散到一定程度后,开始判断局部环境的复杂性,并在簇网络中传递该信息。在完成当前局部搜索任务后,此时该簇机器人转化为被动机器人簇,对环境中新的任务 进行评价。而被动机器则转化为主动机器人,更新环境地图并探索新的环境。如此往复,通 过各个主动机器人簇和被动机器人簇之间的专职转化使得机器人实现任务分配下的多机 器人协作探索。②其次,明确基于分簇方法的多机器人通信内容。为了配合簇间机器人的任务分 配,机器人之间需要通信如下信息A.机器人当前的位置信息,用于簇内机器人结构的形 成和机器人协作。B.机器人的局部信息,由主动机器人传递,用于不同簇机器人的协作。 C.请求加入簇信息。当独立机器人遇到机器人簇后,会向簇节点发出请求,用于簇的动态 生成。D.机器人节点编号,为了减少机器人通信的盲目性。E.针对不同任务区域的指向信 息。在指向信息的引导下,机器人可以有效地从当前任务区域移动到其他的位置区域。指 向信息为当前机器人所在位置的任务难度梯度向量。不同目标的该信息可以被同时传播, 形成多重信息素。F.任务难度信息。表示需要协作探索的紧迫程度和复杂程度,该信息是 被动机器人在移动过程中计算的平均环境复杂程度。用于簇间任务分配。G.跳数,用于主 动机器人结构的动态更新。③最后,确立多机器人分簇下的局部交互机制。不同类型机器人分别具有不同行 为主动机器人簇在移动的过程中,根据簇内机器人数量的大小和任务难度信息,按照一 定的概率选择相应的任务区域。当被动机器人簇形成后,会形成一条单线路结构,并朝向簇 内节点共同的未知区域移动。当有一个机器人到达未知区域后,对区域的复杂程度和大小 进行判定,此时该机器人成为簇头,并像簇内其他机器人发出该区域的任务难度,最终该簇 机器人群体产生一条到达该区域的长链路,并提供到达该任务区域的引导路线。被动簇头机器人发出自己所在区域相应的任务难度信息后传递给簇内其他节点。 随后,该信息在簇内网络中传递开来。该信息可以使每个被动机器人都能及时融入到当前 任务难度最大的未知区域网络中。被动机器人在传递该信息的过程中,会将其到达簇头的 跳数信息加入到广播通信的内容中去。当一个主动机器人簇接收到拥有两个任务信息时, 它就会根据二者的信息进行比较并选择较优的目标区域,即朝着较优簇头所在的位置移 动。在这个信息交互和融合过程中,被动机器人簇充当了到达目标区域吸引信息素的作用。 被动机器人数量的增加,其所在的簇能够引导的范围越广泛,意味着该被动机器人簇能够 吸引更多的主动机器人来该区域探索。当主动机器人到达探索区域后,任务难度根据当前 主动机器人数量进行削减。若当前区域任务未完成,则被动机器人簇仍然可以保留,吸引独 立的主动机器人到达区域,进行协作。当簇结构得到更新后,转到(5)。(5)判断任务是否结束,如果任务没有结束,则转到(1),否则结束任务。通过以上步骤可完成最终的多机器人协作下的任务分配。本发明所涉及的基于分簇的任务分配方法,不同于已有技术中的协商式或集中式 任务分配方法,本质上是基于自组织原理的分布式任务分配方法。因此具有上述算法无法 比拟的优点一是多机器人人之间的信息交互是局部的,增加了系统的灵活性。二是借鉴群 居生物的交互模式,使得系统具有更高的鲁棒性。三是方法考虑了机器人任务难度的动态 变化,设计机器人协作的动态任务分配,提高机器人协作的效率。本发明的优点是
(1).采用基于局部的信息交互机制,使得机器人在协作的过程中具有更好的灵活 性。(2).借鉴了群居生物的交互模式,使得单个机器人的设计简单化,可提高系统的
鲁棒性。(3).采用了基于分簇的动态任务分配方法,提高了机器人的任务分配适应环境变 化的性能,使得分配结果能够灵活地适应环境变化。
图1是本发明的方法流程;
图2是本发明实施环境图;图3是簇更新规则中各个行为的有限状态机;图4是生物协同启发下的簇间任务分配方法。
具体实施例方式下面结合附图举例对本发明做更详细地描述为验证方法有效性,以及从不同角度分析机器人协作探索的性能,使用分簇任务 分配方法实现多机器人在未知环境下的协作探索。实验环境大小为9mX 18m的室内复杂环 境,选取栅格数量为100X200,如图2所示。图中有不同复杂程度的局部区域,主要依赖环 境中的局部障碍物密度。为了能够较为完全地探索环境,机器人探索环境的路线仍然采用 除草机路线。假设机器人声纳传感器感知误差和里程计误差为0,环境建模方法采用简单 的贝叶斯规则来更新环境地图。由于分簇方式采用的是局部交互下的多机器人自组织任务 分配策略,这里规定机器人之间的有效通信范围为3m,限制了机器人之间的信息交互能力。 每个机器人具有自己的局部地图信息,当有机器人到达附近时,可以通过机器人之间的直 接通信获得相应的地图信息,并做出拼接,具体实施方案如下。(1)基于树型拓扑的分簇结构生成方法①动态簇结构形成的条件。当一组机器人形成一簇后,首先需要确定簇头,以便信 息的传播和管理。在一个存在M个机器人的簇里,这里产生簇头的产生来自三个标准(1) 与目标区域的距离Cli ;与目标区域越近的机器人可以更好地引导其他机器人的运动实现合 适的协作方案。(2)感知视野的区域视角比率Cti ;视角比率越大,说明机器人的视野宽阔, 行为受环境的影响较小,更容易指导其他机器人行为的稳定。(3)最大通信跳数Ni,其中0 < i < M为机器人编号;最大通信跳数越小的机器人发出的信息可经过较少的转发次数就 覆盖整个网络,更容易使得其他机器人响应及时,节省大量任务时间。机器人与目标区域的 距离可以根据目标点选择方法确定的目标点进行计算。在180°的视角内记录范围内小于 机器人感知距离返回值的数量K,那么机器人的区域视角比率可以用下述公式计算
κ
权利要求
一种基于分簇的多机器人任务分配方法,其特征是(1)任务开始,每个机器人查找是否存在簇结构,当系统中存在簇结构,则转到(3),否则转到(2);(2)基于树型拓扑的分簇结构生成算法生成新簇,当独立机器人遇到其他机器人后,判断机器人之间能否能够协作,当两个机器人具有协作条件时,在某个簇内的机器人会向簇头发出请求,簇头根据任务的难度和当前簇内节点数量来判断是否需要该机器人加入簇中,如果允许新的机器人加入簇中,则按照簇结构创建和管理规则生成新簇结构,新的簇产生后,则转入(5);(3)判断任务是否更新,并需要更新新的簇型结构,如果没有需要更新的簇结构,则转到(5),否则转到(4);(4)根据任务的变化,采用簇间任务分配策略更新簇结构,当簇结构得到更新后,转到(5);(5)判断任务是否结束,如果任务没有结束,则转到(1),否则结束任务。
2.根据权利要求1所述的基于分簇的多机器人任务分配方法,其特征是所述簇结构 是指当多个机器人之间产生能够信息共享和交流的通信网络,并具有同一个任务目标时, 称这些机器人为一“簇”,在一簇机器人中,具有决策能力的机器人称为“簇头”,簇头具有最 高决策权,新机器人的加入或者机器人的“离开”都需要簇头来决策,单独节点自身为簇头, 簇头是由具有全局信息最多的机器人承担。
3.根据权利要求2所述的基于分簇的多机器人任务分配方法,其特征是基于树型拓扑 的分簇结构生成算法生成新簇中协作机器人簇的创建和簇内信息管理规则为根据初始簇 内机器人的连接状态,确定簇头后,按照生成树算法,以簇头为根节点,将原始的图结构转 化为树形结构,簇内机器人按照约束条件或编队控制规则保持一定的相对距离,在簇内树 型结构中,父亲节点主要负责信息的交流、融合和管理子节点的功能,另外,为父节点定义 最大连接数,当父节点连接数超过该最大值时,树型结构继续生长,其中定义该最大连接数 为2,即每个节点最多允许有2个子节点。
4.根据权利要求3所述的基于分簇的多机器人任务分配方法,其特征是根据任务的变 化,采用簇间任务分配策略更新簇结构的方法为①首先,确立分簇协作探索中机器人的职能安排,所有的机器人共有两类职能,即执行 主动探索职能的主动机器人和执行被动引导职能机器人的被动机器人,执行主动探索职能 的机器人构成主动机器人簇,同样也有被动机器人簇,主动机器人簇主要执行探索功能,根 据被动机器人组成的网络选择全局环境中的目标区域,以便进行全局搜索任务,而被动机 器人按照分离漫游规则散落到环境各处,并判断环境的复杂性,在被动机器人漫游的过程 中,机器人之间仍然保持局部的相互连接关系,当被动机器人分散到一定程度后,开始判断 局部环境的复杂性,并在簇网络中传递该信息,在完成当前局部搜索任务后,此时该簇机器 人转化为被动机器人簇,对环境中新的任务进行评价,而被动机器则转化为主动机器人,更 新环境地图并探索新的环境,如此往复,通过各个主动机器人簇和被动机器人簇之间的专 职转化使得机器人实现任务分配下的多机器人协作探索;②其次,明确基于分簇方法的多机器人通信内容,机器人之间需要通信如下信息 A.机器人当前的位置信息,用于簇内机器人结构的形成和机器人协作,B.机器人的局部信息,由主动机器人传递,用于不同簇机器人的协作,C.请求加入簇信息,当独立机器人遇到 机器人簇后,会向簇节点发出请求,用于簇的动态生成,D.机器人节点编号,为了减少机器 人通信的盲目性,E.针对不同任务区域的指向信息,在指向信息的引导下,机器人有效地从 当前任务区域移动到其他的位置区域,指向信息为当前机器人所在位置的任务难度梯度向 量,不同目标的信息被同时传播,形成多重信息素,F.任务难度信息,表示需要协作探索的 紧迫程度和复杂程度,该信息是被动机器人在移动过程中计算的平均环境复杂程度,用于 簇间任务分配,G.跳数,用于主动机器人结构的动态更新;③最后,确立多机器人分簇下的局部交互机制,不同类型机器人分别具有不同行为主 动机器人簇在移动的过程中,根据簇内机器人数量的大小和任务难度信息,按照一定的概 率选择相应的任务区域,当被动机器人簇形成后,形成一条单线路结构,并朝向簇内节点共 同的未知区域移动,当有一个机器人到达未知区域后,对区域的复杂程度和大小进行判定, 此时该机器人成为簇头,并像簇内其他机器人发出该区域的任务难度,最终该簇机器人群 体产生一条到达该区域的长链路,并提供到达该任务区域的引导路线;被动簇头机器人发出自己所在区域相应的任务难度信息后传递给簇内其他节点,随后 该信息在簇内网络中传递开来,该信息使每个被动机器人都能及时融入到当前任务难度最 大的未知区域网络中,被动机器人在传递该信息的过程中,会将其到达簇头的跳数信息加 入到广播通信的内容中,当一个主动机器人簇接收到拥有两个任务信息时,它就根据二者 的信息进行比较并选择较优的目标区域,即朝着较优簇头所在的位置移动,在这个信息交 互和融合过程中,被动机器人簇充当到达目标区域吸引信息素的作用,被动机器人数量的 增加,其所在的簇能够引导的范围越广泛,意味着该被动机器人簇能够吸引更多的主动机 器人来该区域探索,当主动机器人到达探索区域后,任务难度根据当前主动机器人数量进 行削减,若当前区域任务未完成,则被动机器人簇仍然可以保留,吸引独立的主动机器人到 达区域,进行协作。
全文摘要
本发明提供的是一种基于分簇的多机器人任务分配方法。(1)任务开始,每个机器人查找是否存在簇结构,当系统中存在簇结构,则转到(3),否则转到(2);(2)基于树型拓扑的分簇结构生成算法生成新簇,新的簇产生后,则转入(5);(3)判断任务是否更新,并需要更新新的簇型结构,如果没有需要更新的簇结构,则转到(5),否则转到(4);(4)根据任务的变化,采用簇间任务分配策略更新簇结构,当簇结构得到更新后,转到(5);(5)判断任务是否结束,如果任务没有结束,则转到(1),否则结束任务。本发明增加了系统的灵活性;借鉴群居生物的交互模式具有更高的鲁棒性;设计机器人协作的动态任务分配,提高机器人协作的效率。
文档编号H04W84/00GK101945492SQ20101024768
公开日2011年1月12日 申请日期2010年8月9日 优先权日2010年8月9日
发明者刘佰龙, 刘冠群, 张子迎, 张汝波, 徐东, 林俊宇 申请人:哈尔滨工程大学