本发明专利技术公开了一种BDD结合启发式A*搜索的多机器人任务分配方法,包括以下步骤:利用时间Petri网对多机器人系统建模;对多机器人系统模型的目标状态进行模拟,并建立目标状态的标识;计算多机器人系统模型的可达图,并结合目标状态的标识判断多机器人系统模型是否可以达到目标状态,若可以达到,则执行下一步,反之返回第一步;采用二元决策图BDD对多机器人系统模型的可达图进行高效压缩表示和快速二值运算;使用启发式A*搜索算法对BDD表示的多机器人系统模型的可达图进行快搜索,获得多机器人系统从起始状态到目标状态的最优任务调度序列。本发明专利技术的方法能有效提高多机器人系统任务调度与分配的速度,缓解系统可达状态爆炸等问题。
Task allocation method of multi robot based on BDD and heuristic A * search
【技术实现步骤摘要】
BDD结合启发式A*搜索的多机器人任务分配方法
本专利技术属于机器人协作控制
,特别涉及一种BDD结合启发式A*搜索的多机器人任务分配方法。
技术介绍
多机器人任务分配,即指派机器人执行任务,由于机器人的构造不同,对不同任务的完成度不一样,执行任务的时间也不一样。因此,如何合理地指派不同的机器人执行不同的任务、如何指派多个机器人协作完成同一个任务成为多机器人系统研究中的关键问题之一。Petri网(PN)可以很好地模拟具有并发性、同步性、排序和资源共享的离散事件系统,可以理想地处理多机器人任务系统中的灵活路径和共享资源的调度问题。如论文“SchedulingflexiblemanufacturingsystemsusingPetrinetsandheuristicsearch.”提出了Petri网的可达图和智能A*算法结合起来用来实现系统的任务分配,这只需要探索部分可达图。然而,论文“J.Pearl.Heuristics:IntelligentSearchStrategiesforComputerProblemSolving.Addison&;Wesley,1984.”指出了状态爆炸的问题,这意味着尽管避免了生成整个可达图,但探测状态的数量仍然随着问题大小增长呈指数增长,并使得最优调度方法仅适用于小型系统而无法应用于大型系统。为了加快探索速度,研究人员对其进行了多项改进,例如,A*搜索采用受控或有限回溯策略、混合A*搜索以放宽评估范围、无死锁的动态窗口搜索以及带回溯的迭代加深A*策略。此外也有一些加速过程的技术,例如混合启发式搜索,动态加权策略。然而,上述改进均不适用于大型任务系统的分配问题。二元决策图(BDD)具有用小数据结构表示大量编码数据的能力,并允许在这些集合上进行有效计算。目前已有研究将无时间因素的Petri网与二元决策图相结合,使用BDD快速生成可达标识并分析Petri网的结构和行为属性(例如活跃性和并发性)。然而,时间信息对于多机器人任务分配系统至关重要,使用BDD的无时间的PN没有实际意义。
技术实现思路
本专利技术的目的在于提供一种适用于大型任务系统分配,且能有效提高多机器人系统任务调度与分配的速度,缓解系统可达状态爆炸等问题的多机器人任务分配方法。实现本专利技术目的的技术解决方案为:一种BDD结合启发式A*搜索的多机器人任务分配方法,包括以下步骤:步骤1、利用时间Petri网对多机器人系统建模;步骤2、对多机器人系统模型的目标状态进行模拟,并建立目标状态的标识;步骤3、计算多机器人系统模型的可达图,并结合所述目标状态的标识判断多机器人系统模型是否可以达到目标状态,若可以达到,则执行步骤4,反之返回步骤1;步骤4、采用二元决策图BDD对多机器人系统模型的可达图进行高效压缩表示和快速二值运算;步骤5、使用启发式A*搜索算法对BDD表示的多机器人系统模型的可达图进行快搜索,获得多机器人系统从起始状态到目标状态的最优任务调度序列。进一步地,步骤1所述利用时间Petri网对多机器人系统建模,所用公式为:∑=(P,T,F,W)式中,P={p1,p2,...,pm},m∈N+为库所的集合,表示多机器人系统的状态;T={t1,t2,...,tn},n∈N+为变迁的集合,表示多机器人系统中的事件,且为连接库所和变迁的有向弧的集合;W:(P×T)∪(T×P)→N为所有弧的权重;使用托肯表示资源数量或数据;使用标识表示多机器人系统的状态,包括所有库所内托肯的数量信息,活动库所内的数字表示活动库所所需的操作时间。进一步地,步骤2所述对多机器人系统模型的目标状态进行模拟,并建立目标状态的标识,具体过程为:移动托肯的位置直至达到多机器人系统模型的目标状态,对多机器人系统模型目标状态时托肯在库所中的分布情况进行表示即完成目标状态标识的建立,具体表示方式为:按序罗列每个库所中的托肯数,且数值之间通过空格隔开。进一步地,步骤3所述判断多机器人系统模型是否可以达到目标状态,具体过程为:对比可达图中结束状态的标识和目标状态的标识,通过托肯分布情况是否一致判断多机器人系统模型是否可以达到目标状态,若一致,则表明多机器人系统模型可以达到目标状态,反之表明多机器人系统模型不能达到目标状态。进一步地,步骤5所述使用启发式A*搜索算法对BDD表示的多机器人系统模型的可达图进行快搜索,获得多机器人系统从起始状态到目标状态的最优任务调度序列,具体过程包括:步骤5-1、将活动库所内的数值作为A*搜索中可达图对应边的权重;步骤5-2、初始化如下列表:OPEN列表中只包含起始节点S0,CLOSED列表为空;步骤5-3、将OPEN列表中f(S)值最小的节点作为当前扩展节点,并将该节点从OPEN列表中移除同时将该节点加入到CLOSED列表中;进一步判断当前扩展节点是否为目标节点,若是,则执行步骤5-6,反之执行下一步;步骤5-4、读取当前扩展节点的所有子节点,进行如下判断和操作:若子节点与OPEN列表里的节点重复,则将所有重复节点对应的g(S)值全部更新为所有重复节点对应的最小的g(S)值;若子节点与CLOSED列表中的节点重复,则将该节点从CLOSED列表中删除,并加入OPEN列表;若子节点与OPEN列表、CLOSED列表里的节点均不重复,则将该节点加入OPEN列表;步骤5-5、判断OPEN列表是否为空,若OPEN列表不为空,则返回执行步骤5-3,反之执行下一步;步骤5-6、从目标节点进行回溯,不断寻找节点的父节点,直到找到起始节点,回溯路径即为状态发生序列;步骤5-7、根据状态发生序列获得变迁触发顺序,即获得多机器人系统从起始状态到目标状态的最优任务调度序列。进一步地,步骤5-3中f(S)值的计算公式为:f(S)=g(S)+h(S)式中,f(S)表示通过当前状态S、从初始状态S0到目标状态SG的最优路径的代价或完工时间的估值,g(S)表示从S0到当前状态S的当前最低代价,h(S)表示启发式函数,为沿着最优路径从S到SG的代价或完工时间的启发式估计,其公式为:式中,表示所有容量为1的资源库所的集合;pmax表示在忠实持有者上花费时间总和最大的资源库所,其中忠实持有者定义为一定会调用资源库所的活动库所;为pmax的忠实持有者在两个状态转移中花费的代价;表示资源库所的时间代价,具体公式为:式中,ps为包含忠实持有者的操作序列的初始库所,M0表示初始标识,Hl(pmax)表示pmax的忠实持有者,D(p)为活动库所p的操作时间。本专利技术与现有技术相比,其显著优点为:1)通过结合时间Petri网与启发式A*搜索,用时间Petri网内的时间因素替代一般启发式A*搜索中的路径因素,将多机器人系统任务分配问题转化为寻找最优路径问题;2)将启发式A*搜索算法中的列表用BDD表示,压缩了列表规模,极大地提升了在列表中的搜索速度,有效地提高本文档来自技高网...
【技术保护点】
1.一种BDD结合启发式A*搜索的多机器人任务分配方法,其特征在于,包括以下步骤:/n步骤1、利用时间Petri网对多机器人系统建模;/n步骤2、对多机器人系统模型的目标状态进行模拟,并建立目标状态的标识;/n步骤3、计算多机器人系统模型的可达图,并结合所述目标状态的标识判断多机器人系统模型是否可以达到目标状态,若可以达到,则执行步骤4,反之返回步骤1;/n步骤4、采用二元决策图BDD对多机器人系统模型的可达图进行高效压缩表示和快速二值运算;/n步骤5、使用启发式A*搜索算法对BDD表示的多机器人系统模型的可达图进行快搜索,获得多机器人系统从起始状态到目标状态的最优任务调度序列。/n
【技术特征摘要】
1.一种BDD结合启发式A*搜索的多机器人任务分配方法,其特征在于,包括以下步骤:
步骤1、利用时间Petri网对多机器人系统建模;
步骤2、对多机器人系统模型的目标状态进行模拟,并建立目标状态的标识;
步骤3、计算多机器人系统模型的可达图,并结合所述目标状态的标识判断多机器人系统模型是否可以达到目标状态,若可以达到,则执行步骤4,反之返回步骤1;
步骤4、采用二元决策图BDD对多机器人系统模型的可达图进行高效压缩表示和快速二值运算;
步骤5、使用启发式A*搜索算法对BDD表示的多机器人系统模型的可达图进行快搜索,获得多机器人系统从起始状态到目标状态的最优任务调度序列。
2.根据权利要求1所述的BDD结合启发式A*搜索的多机器人任务分配方法,其特征在于,步骤1所述利用时间Petri网对多机器人系统建模,所用公式为:
∑=(P,T,F,W)
式中,P={p1,p2,...,pm},m∈N+为库所的集合,表示多机器人系统的状态;T={t1,t2,...,tn},n∈N+为变迁的集合,表示多机器人系统中的事件,且为连接库所和变迁的有向弧的集合;W:(P×T)∪(T×P)→N为所有弧的权重;使用托肯表示资源数量或数据;使用标识表示多机器人系统的状态,包括所有库所内托肯的数量信息,活动库所内的数字表示活动库所所需的操作时间。
3.根据权利要求1所述的BDD结合启发式A*搜索的多机器人任务分配方法,其特征在于,步骤2所述对多机器人系统模型的目标状态进行模拟,并建立目标状态的标识,具体过程为:
移动托肯的位置直至达到多机器人系统模型的目标状态,对多机器人系统模型目标状态时托肯在库所中的分布情况进行表示即完成目标状态标识的建立,具体表示方式为:按序罗列每个库所中的托肯数,且数值之间通过空格隔开。
4.根据权利要求2所述的BDD结合启发式A*搜索的多机器人任务分配方法,其特征在于,步骤3所述判断多机器人系统模型是否可以达到目标状态,具体过程为:
对比可达图中结束状态的标识和目标状态的标识,通过托肯分布情况是否一致判断多机器人系统模型是否可以达到目标状态,若一致,则表明多机器人系统模型可以达到目标状态,反之表明多机器人系统模型不能达到目标状态。
5.根据权利要求2所述的BDD结合启发式A*搜索的多机器人任务分配方法,其特征在...
【专利技术属性】
技术研发人员:黄波,霍一鸣,朱忠园,赵春霞,郭宇斌,戴晨谧,
申请(专利权)人:南京理工大学,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。