System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及多智能体任务调度,特别涉及一种基于多智能体强化学习的异构多机系统动态任务调度方法。
技术介绍
1、近年来,随着机器人技术迅速发展,社会各行业对机器人技术的应用愈发深入,在工业领域中,协作机器人受到广泛关注,重点企业大力推广智能制造模式,以期进一步提高制造业智能化水平和生产效率;服务领域中,由于移动机器人技术和移动互联网、大数据处理等技术进一步融合,移动机器人获得行业龙头关注;特种机器人领域也不断涌现创新应用,如灾后救援,复杂地形探索。但随着机器人应用场景愈发复杂,执行任务的种类和数目也越来越多,早期的单机器人处理方式已经无法满足现阶段的需求,多机器人系统解决方案更具灵活性、可扩展性和突出的协作能力,且大多时候,拥有不同功能,承担不同角色的异构机器人系统更具优势,但随之而来的问题是如何在保证安全性的前提下,更好地协调不同机器人共同完成更复杂的总体任务,因此对异构多机器人系统的合理高效的任务调度至关重要。
2、异构多机器人系统的任务调度问题可以归结为mrta(multi-robot taskallocation)在时间维度扩展的子问题,仍然属于np-hard问题,即该问题在问题规模变大后,合理时间内几乎无法求得精确解。对此,相关研究中比较常见的求解方法有启发式算法,比如根据经验设计启发式规则,依据最早完成时间或最短执行时间等原则来分配任务,该方法对不同规模问题都有一定适应性,但是求解效果欠佳,一般会存在机器人或加工机器出现大量的空闲时间窗口的现象,进而造成整体任务执行的低效;此外还有元启发式算法如遗传算法、
3、上述研究大部分情况下对实际场景的建模都过于简化,对多机系统大多基于同构的假设,对任务间实际存在的复杂约束探讨的不够深入,并且忽略了实际场景中广泛存在的动态性和不确定性,此外实时性上也很难达到较理想的水平,因此,需要一种能够适应动态环境并能够在合理时间内得出较优解决方案的异构多机器人任务调度方法。
技术实现思路
1、本专利技术提供了一种基于多智能体强化学习的异构多机系统动态任务调度方法,以解决
技术介绍
所提到的技术问题。
2、为达到上述目的,本专利技术的技术方案是这样实现的:
3、本专利技术提供了一种基于多智能体强化学习的异构多机系统动态任务调度方法,具体包括如下步骤:
4、s1、输入任务信息,根据任务复杂度和约束关系将所有任务分解为可供单机器人执行的具有不同能力要求的多个原子任务,并建立约束关系矩阵以描述任务之间复杂的约束关系;
5、s2、输入机器人信息,根据机器人在能力、速度和尺寸三个维度上的区别以及约束关系矩阵,建立粘连效用评估模型和异构优先级,并进一步创建以最大化粘连效用和为目标函数的数学优化模型;
6、s3、基于机器人特征建立局部感知域模型,并基于调度决策点的顺序决策过程,建立马尔科夫决策模型;
7、s4、基于以上建模和深度强化学习范式,搭建异构多机系统调度环境,结合多种高级训练策略,在环境和智能体的交互中,学习出针对异构多机任务调度的深度强化学习求解器;
8、s5、通过深度强化学习求解器,考虑动态任务变动和机器人故障,对调度实例在每一调度决策点顺序输出动作,得到动态调度方案。
9、进一步地,所述s1具体包括如下步骤:
10、s11、输入任务信息,并根据任务复杂度和约束关系对输入的任务信息进行任务分类和分解,得到多个原子任务;
11、s12、建立多个原子任务之间的约束关系矩阵,约束关系矩阵包括矩阵元素kj和矩阵元素jk;
12、其中,矩阵元素kj和矩阵元素jk的值均为2,代表原子任务k和原子任务j之间存在关于“原子任务k和原子任务j必须分配给同一机器人”的硬约束,硬约束指的是必须要满足的约束;
13、矩阵元素kj和矩阵元素jk的值均为-2,则代表原子任务k和原子任务j之间存在关于“原子任务k和原子任务j禁止分配给同一机器人”的硬约束;
14、矩阵元素kj为1、矩阵元素jk为-1,则代表原子任务k必须在原子任务j开始之前完成;
15、矩阵元素kj和矩阵元素jk的值为(0,1)或(-1,0)之间的小数,则原子任务k和原子任务j之间存在软约束,即代表原子任务k和原子任务j分配给同一机器人之后,效用会有程度为β的增益或削弱,软约束表示它存在时会对具体原子任务执行产生积极或者消极影响的约束。
16、进一步地,所述s11的实现方式为:
17、对多个独立任务组合而成的复合任务,将其直接拆分为独立的子任务,对于子任务间存在依赖关系的复杂任务,根据依赖不同,分解为不同约束关系的子任务,不论是独立还是存在约束关系的子任务,最终都要分解到单个机器人可以执行并完成的粒度,称之为原子任务;通过任务分类和分解一共得到多个原子任务;
18、每个原子任务的基本信息均由一个五元组表示<pos,utility,exe_time,ability_need,state>,其中pos表示原子任务所在位置,utility表示完成该原子任务的直接效用,exe_time表示机器人完成该原子任务所需执行时间,ability_need表示完成该原子任务所需能力要求,state表示该原子任务是否已被分配以及被分配给哪个机器人。
19、进一步地,所述s2具体包括如下步骤:
20、s21、输入机器人属性,异构系统中机器人的基本信息可由一个五元组表示<cur_pos,left_time,speed,ability,size>,其中cur_pos表示机器人当前位置,left_time表示机器人剩余运行时间,speed表示机器人速度,ability表示机器人完成原子任务的能力等级,size表示机器人的尺寸大小;
21、s22、根据机器人在能力、速度和尺寸三个维度上的区别以及约束关系矩阵,建立粘连效用评估模型;
22、s23、基于能力、速度和尺寸三个异构属性,并根据机器人当前状态构建动态异构优先级列表,从而得到异构优先级;
23、s24、创建以最大化粘连效用和为目标函数的数学优化模型。
24、进一步地,所述s22中的粘连效用评估模型具体如下:
25、
26、式中,uij代表机器人i完成原子任务j的直接效用,代表机器人i完成被分配的所有原子任务后获得的粘连效用;αij代表分配给机器人i的原子任务j的硬约束满足情况;βij代表将原子任务j分配给机器人i时软约束满足情况;ji代表分配给机器人i的所有原子任务的集合。
27、进一步地,所述s24中的本文档来自技高网...
【技术保护点】
1.一种基于多智能体强化学习的异构多机系统动态任务调度方法,其特征在于,具体包括如下步骤:
2.根据权利要求1所述的异构多机系统动态任务调度方法,其特征在于,所述S1具体包括如下步骤:
3.根据权利要求2所述的异构多机系统动态任务调度方法,其特征在于,所述S11的实现方式为:
4.根据权利要求1所述的异构多机系统动态任务调度方法,其特征在于,所述S2具体包括如下步骤:
5.根据权利要求4所述的异构多机系统动态任务调度方法,其特征在于,所述S22中的粘连效用评估模型具体如下:
6.根据权利要求5所述的异构多机系统动态任务调度方法,其特征在于,所述S24中的数学优化模型具体如下:
7.根据权利要求1所述的异构多机系统动态任务调度方法,其特征在于,所述S3具体包括如下步骤:
8.根据权利要求7所述的异构多机系统动态任务调度方法,其特征在于,所述S32中的奖励函数具体如下:
9.根据权利要求1所述的异构多机系统动态任务调度方法,其特征在于,所述S4具体包括如下步骤:
10.根据权利
...【技术特征摘要】
1.一种基于多智能体强化学习的异构多机系统动态任务调度方法,其特征在于,具体包括如下步骤:
2.根据权利要求1所述的异构多机系统动态任务调度方法,其特征在于,所述s1具体包括如下步骤:
3.根据权利要求2所述的异构多机系统动态任务调度方法,其特征在于,所述s11的实现方式为:
4.根据权利要求1所述的异构多机系统动态任务调度方法,其特征在于,所述s2具体包括如下步骤:
5.根据权利要求4所述的异构多机系统动态任务调度方法,其特征在于,所述s22中的粘连效用评估模型具体如下:
6...
【专利技术属性】
技术研发人员:方遒,曾魁,卢弘,毛建旭,王耀南,
申请(专利权)人:湖南大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。