CN114995393A - 移动机器人的调度方法、装置和调度*** - Google Patents

移动机器人的调度方法、装置和调度*** Download PDF

Info

Publication number
CN114995393A
CN114995393A CN202210510877.XA CN202210510877A CN114995393A CN 114995393 A CN114995393 A CN 114995393A CN 202210510877 A CN202210510877 A CN 202210510877A CN 114995393 A CN114995393 A CN 114995393A
Authority
CN
China
Prior art keywords
scheduling
node
simulation
state
states
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210510877.XA
Other languages
English (en)
Inventor
周玄昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Lanxin Technology Co ltd
Original Assignee
Hangzhou Lanxin Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Lanxin Technology Co ltd filed Critical Hangzhou Lanxin Technology Co ltd
Priority to CN202210510877.XA priority Critical patent/CN114995393A/zh
Publication of CN114995393A publication Critical patent/CN114995393A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0219Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory ensuring the processing of the whole working surface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/60Electric or hybrid propulsion means for production processes

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Factory Administration (AREA)

Abstract

本申请提供了一种移动机器人的调度方法、装置和调度***,该方法包括将当前的调度状态输入调度策略神经网络进行分析,得到多个调度策略;根据多个调度策略确定多个目标调度状态;将多个目标调度状态输入状态评估神经网络进行分析,得到多个时间代价,根据当前的调度状态、多个目标调度状态和多个时间代价进行蒙特卡洛树搜索,得到多个节点价值;确定节点价值最大的子节点对应的调度策略为最优调度策略;控制所有的移动机器人执行最优调度策略;依次重复上述步骤至少一次,直至所有的移动机器人完成对应的搬运任务。该方法解决了现有技术中动态调度策略性能不佳的问题。

Description

移动机器人的调度方法、装置和调度***
技术领域
本申请涉及机器人调度技术领域,具体而言,涉及一种移动机器人的调度方法、装置、计算机可读存储介质、处理器和调度***。
背景技术
在多AGV运行的场景中(如大规模仓库物流自动化场景),AGV调度***的主要目标是通过对所有AGV均衡调度和利用,最小化所有搬运任务的执行时间,选择较短的移动路径,提升运行效率,同时需避免发生相向冲突、同向冲突、转向冲突及多车死锁等问题,因为上述问题会产生拥堵,轻者导致多车发生等待通行,降低搬运效率,严重时甚至导致AGV小车停止作业,使整个调度***停滞,需要人工干预处理才能恢复***运行。
然而,多AGV调度***在实际运行过程中面临许多动态、随机因素的影响,通常,移动任务下发的时间是随机分布的(比如产品下线时自动呼叫AGV搬运,或人工呼叫AGV),搬运任务的始点及终点都是随机产生的(由WMS***/RCS***/人工决定);此外,AGV车辆故障,搬运任务的临时添加或取消,车辆在路径上运行时间等均为不确定因素,因此,静态生成的最优调度计划是无法满足实际***运行的需要的,需要实时的动态调度算法对***中的不确定性因素进行实时响应与调整。
从原理上分析,多AGV动态调度问题的计算复杂度是NP-hard的,随着***规模的增大,网络节点的增多,***内AGV数量的增加,调度算法需要搜索的解空间成几何倍数增加,由于计算时间与计算能力的约束,目前在工程应用中找到全局最优调度解是不可能的。因此,本领域的工程师往往采用启发式或基于规则的动态调度策略(比如分区域策略,基于时间窗策略,基于AGV或任务优先级策略等等),上述动态调度策略能够实时生成调度计划,并在一定程度上能够解决/缓解车辆死锁等问题,然而启发式或基于规则的算法往往容易陷入局部最优解,因此,针对大规模复杂的调度问题寻找一种更有效率且能够产生更优调度解的方法是本领域研究者急需解决的问题。
在背景技术部分中公开的以上信息只是用来加强对本文所描述技术的背景技术的理解,因此,背景技术中可能包含某些信息,这些信息对于本领域技术人员来说并未形成在本国已知的现有技术。
发明内容
本申请的主要目的在于提供一种移动机器人的调度方法、装置、计算机可读存储介质、处理器和调度***,以解决现有技术中动态调度策略性能不佳的问题。
根据本发明实施例的一个方面,提供了一种移动机器人的调度方法,移动机器人执行搬运任务的路径包括多个路径节点,所述方法包括:第一分析步骤,将当前的调度状态输入调度策略神经网络进行分析,得到多个调度策略,所述调度状态包括所有的所述移动机器人所处的所述路径节点的位置和所有的所述移动机器人执行的所述搬运任务的目标路径节点,所述调度策略用于调度所有的所述移动机器人移动至下一所述路径节点,所述目标路径节点为所述路径的终点;第一确定步骤,根据多个所述调度策略确定多个目标调度状态,所述目标调度状态与所述调度策略一一对应,所述目标调度状态为所有的所述移动机器人移动至下一所述路径节点后的所述调度状态;第二分析步骤,将多个所述目标调度状态输入状态评估神经网络进行分析,得到多个时间代价,所述时间代价与所述目标调度状态一一对应,所述时间代价为最短时间和预估时间的差值的估计值,所述最短时间为所有的所述移动机器人沿最短路径完成对应的所述搬运任务的时间之和,所述预估时间为所有的所述移动机器人沿规划路径完成对应的所述搬运任务的时间之和;处理步骤,根据当前的所述调度状态、多个所述目标调度状态和多个所述时间代价进行蒙特卡洛树搜索,得到多个节点价值,当前的所述调度状态为蒙特卡洛树的根节点,多个所述目标调度状态为所述根节点的子节点,所述时间代价为所述子节点的所述节点价值的初始值,所述节点价值为访问所述子节点的多次仿真过程的所述时间代价的平均值,所述节点价值与所述子节点一一对应;第二确定步骤,确定所述节点价值最大的所述子节点对应的所述调度策略为最优调度策略;控制步骤,控制所有的所述移动机器人执行所述最优调度策略;重复步骤,依次重复所述第一分析步骤、所述第一确定步骤、所述第二分析步骤、所述处理步骤、所述第二确定步骤和所述控制步骤至少一次,直至所有的所述移动机器人完成对应的所述搬运任务。
可选地,所述调度策略神经网络的训练过程还包括:获取多个历史调度状态和多个历史调度策略,所述历史调度状态为历史调度过程中的所述调度状态,所述历史调度策略为所述历史调度过程中所述历史调度状态对应的所述调度策略;建立所述历史调度状态和所述历史调度策略的映射关系,得到第一训练数据集,其中,所述第一训练数据集包括多组第一数据,且多组所述第一数据中的每组所述第一数据中均包括:所述历史调度状态和对应的所述历史调度策略;基于所述第一训练数据集的数据对神经网络进行训练,得到所述调度策略神经网络。
可选地,所述调度策略神经网络的训练过程还包括:获取多个仿真调度状态和多个仿真调度策略,所述仿真调度状态为仿真调度过程中所述时间代价大于预定值的所述调度状态,所述仿真调度策略为所述仿真调度过程中所述仿真调度状态对应的所述调度策略;建立所述仿真调度状态和所述仿真调度策略的映射关系,得到第二训练数据集,其中,所述第二训练数据集包括多组第二数据,且多组所述第二数据中的每组所述第二数据中均包括:所述仿真调度状态和对应的所述仿真调度策略;基于所述第二训练数据集的数据对神经网络进行训练,得到所述调度策略神经网络。
可选地,所述状态评估神经网络的训练过程包括:获取多个仿真调度状态和多个仿真时间代价,所述仿真调度状态为仿真调度过程中所述时间代价大于预定值的所述调度状态,所述仿真时间代价为所述仿真调度过程中所述仿真调度状态对应的所述时间代价;建立所述仿真调度状态和所述仿真时间代价的映射关系,得到第三训练数据集,其中,所述第三训练数据集包括多组第三数据,且多组所述第三数据中的每组所述第三数据中均包括:所述仿真调度状态和对应的所述仿真时间代价;基于所述第三训练数据集的数据对神经网络进行训练,得到所述状态评估神经网络。
可选地,根据当前的所述调度状态、多个所述目标调度状态和多个所述时间代价进行蒙特卡洛树搜索,得到多个节点价值,包括:第一计算步骤,将多个所述时间代价代入节点评价函数,计算得到节点评价函数值,所述节点评价函数值与所述子节点一一对应;确定步骤,确定所述节点评价函数值最大的所述子节点为最优子节点;访问步骤,访问初始节点的所述最优子节点,所述最优子节点的访问次数加1;仿真步骤,在所述当前节点的所述最优子节点的访问次数小于2的情况下,以所述当前节点的所述最优子节点对应的所述路径节点为起点,规划所有的所述移动机器人的路径,得到规划路径,仿真所有的所述移动机器人沿所述规划路径移动,直至发生完成对应的所述搬运任务和出现调度失败状态中的一个,或者,在所述当前节点的所述最优子节点的访问次数大于或者等于2的情况下,访问当前节点的所述最优子节点且将所述最优子节点的访问次数加1,直至所述当前节点的所述最优子节点的访问次数小于2或者所述当前节点没有子节点,并仿真所有的所述移动机器人沿所述规划路径移动,直至发生完成对应的所述搬运任务和出现调度失败状态中的一个,所述调度失败状态为需要人工干预恢复正常调度的所述调度状态;第二计算步骤,计算所述仿真过程的所述时间代价,得到仿真时间代价;更新步骤,根据所述仿真时间代价更新所述最优子节点的所述节点价值;依次重复所述第一计算步骤、所述确定步骤、所述访问步骤、所述仿真步骤、所述第二计算步骤、所述更新步骤和所述更新步骤至少一次,直至重复次数达到预定次数,得到各所述子节点的所述节点价值。
可选地,所述调度失败状态包括第一调度状态、第二调度状态和第三调度状态,所述第一调度状态为多台所述移动机器人占据同一个所述路径节点的所述调度状态,所述第二调度状态为两台所述移动机器人在同一条道路上相向而行的所述调度状态,所述第三调度状态为多个所述移动机器发生死锁的所述调度状态。
根据本发明实施例的另一方面,还提供了一种移动机器人的调度装置,移动机器人执行搬运任务的路径包括多个路径节点,所述装置包括:第一分析单元用于执行第一分析步骤,将当前的调度状态输入调度策略神经网络进行分析,得到多个调度策略,所述调度状态包括所有的所述移动机器人所处的所述路径节点的位置和所有的所述移动机器人执行的所述搬运任务的目标路径节点,所述调度策略用于调度所有的所述移动机器人移动至下一所述路径节点,所述目标路径节点为所述路径的终点;第一确定单元用于执行第一确定步骤,根据多个所述调度策略确定多个目标调度状态,所述目标调度状态与所述调度策略一一对应,所述目标调度状态为所有的所述移动机器人移动至下一所述路径节点后的所述调度状态;第二分析单元用于执行第二分析步骤,将多个所述目标调度状态输入状态评估神经网络进行分析,得到多个时间代价,所述时间代价与所述目标调度状态一一对应,所述时间代价为最短时间和预估时间的差值的估计值,所述最短时间为所有的所述移动机器人沿最短路径完成对应的所述搬运任务的时间之和,所述预估时间为所有的所述移动机器人沿规划路径完成对应的所述搬运任务的时间之和;处理单元用于执行处理步骤,根据当前的所述调度状态、多个所述目标调度状态和多个所述时间代价进行蒙特卡洛树搜索,得到多个节点价值,当前的所述调度状态为蒙特卡洛树的根节点,多个所述目标调度状态为所述根节点的子节点,所述时间代价为所述子节点的所述节点价值的初始值,所述节点价值为访问所述子节点的多次仿真过程的所述时间代价的平均值,所述节点价值与所述子节点一一对应;第二确定单元用于执行第二确定步骤,确定所述节点价值最大的所述子节点对应的所述调度策略为最优调度策略;控制单元用于执行控制步骤,控制所有的所述移动机器人执行所述最优调度策略;重复单元,用于执行重复步骤,依次重复所述第一分析步骤、所述第一确定步骤、所述第二分析步骤、所述处理步骤、所述第二确定步骤和所述控制步骤至少一次,直至所有的所述移动机器人完成对应的所述搬运任务。
根据本发明实施例的再一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,所述程序执行任意一种所述的方法。
根据本发明实施例的又一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任意一种所述的方法。
根据本发明实施例的另一方面,还提供了一种调度***,包括:一个或多个处理器,存储器以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行任意一种所述的方法。
在本发明实施例中,上述移动机器人的调度方法中,首先执行第一分析步骤,将当前的调度状态输入调度策略神经网络进行分析,得到多个调度策略,上述调度状态包括所有的上述移动机器人所处的上述路径节点的位置和所有的上述移动机器人执行的上述搬运任务的目标路径节点,上述调度策略用于调度所有的上述移动机器人移动至下一上述路径节点,上述目标路径节点为上述路径的终点;然后执行第一确定步骤,根据多个上述调度策略确定多个目标调度状态,上述目标调度状态与上述调度策略一一对应,上述目标调度状态为所有的上述移动机器人移动至下一上述路径节点后的上述调度状态;然后执行第二分析步骤,将多个上述目标调度状态输入状态评估神经网络进行分析,得到多个时间代价,上述时间代价与上述目标调度状态一一对应,上述时间代价为最短时间和预估时间的差值的估计值,上述最短时间为所有的上述移动机器人沿最短路径完成对应的上述搬运任务的时间之和,上述预估时间为所有的上述移动机器人沿规划路径完成对应的上述搬运任务的时间之和;然后执行处理步骤,根据当前的上述调度状态、多个上述目标调度状态和多个上述时间代价进行蒙特卡洛树搜索,得到多个节点价值,当前的上述调度状态为蒙特卡洛树的根节点,多个上述目标调度状态为上述根节点的子节点,上述时间代价为上述子节点的上述节点价值的初始值,上述节点价值为访问上述子节点的多次仿真过程的上述时间代价的平均值,上述节点价值与上述子节点一一对应;然后执行第二确定步骤,确定上述节点价值最大的上述子节点对应的上述调度策略为最优调度策略;然后执行控制步骤,控制所有的上述移动机器人执行上述最优调度策略;最后执行重复步骤,依次重复上述第一分析步骤、上述第一确定步骤、上述第二分析步骤、上述处理步骤、上述第二确定步骤和上述控制步骤至少一次,直至所有的上述移动机器人完成对应的上述搬运任务。该方法以当前的调度状态确定调度策略,即生成实时动态调度策略来进行调度,考虑随机事件触发搬运任务的影响,且通过预先训练的状态评估神经网络与调度策略神经网络,作为蒙特卡洛树搜索中节点展开与评估的先验知识,可以有效提升蒙特卡洛树搜索的效率,减少无效的搜索分支,对有潜力的分支充分展开仿真,提升搜索的效果,避免实时调度卡顿,降低了计算复杂度,解决了现有技术中动态调度策略性能不佳的问题。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了根据本申请的一种实施例的移动机器人的调度方法的流程图;
图2示出了根据本申请的一种实施例的移动机器人的调度装置的示意图。
具体实施方式
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
应该理解的是,当元件(诸如层、膜、区域、或衬底)描述为在另一元件“上”时,该元件可直接在该另一元件上,或者也可存在中间元件。而且,在说明书以及权利要求书中,当描述有元件“连接”至另一元件时,该元件可“直接连接”至该另一元件,或者通过第三元件“连接”至该另一元件。
正如背景技术中所说的,现有技术中无法实现实时动态调度,为了解决上述问题,本申请的一种典型的实施方式中,提供了一种移动机器人的调度方法、装置、计算机可读存储介质、处理器和调度***。
根据本申请的实施例,提供了一种移动机器人的调度方法。
图1是根据本申请实施例的移动机器人的调度方法的流程图。如图1所示,该方法包括以下步骤:
步骤S101,第一分析步骤,将当前的调度状态输入调度策略神经网络进行分析,得到多个调度策略,上述调度状态包括所有的上述移动机器人所处的上述路径节点的位置和所有的上述移动机器人执行的上述搬运任务的目标路径节点,上述调度策略用于调度所有的上述移动机器人移动至下一上述路径节点,上述目标路径节点为上述路径的终点;
步骤S102,第一确定步骤,根据多个上述调度策略确定多个目标调度状态,上述目标调度状态与上述调度策略一一对应,上述目标调度状态为所有的上述移动机器人移动至下一上述路径节点后的上述调度状态;
步骤S103,第二分析步骤,将多个上述目标调度状态输入状态评估神经网络进行分析,得到多个时间代价,上述时间代价与上述目标调度状态一一对应,上述时间代价为最短时间和预估时间的差值的估计值,上述最短时间为所有的上述移动机器人沿最短路径完成对应的上述搬运任务的时间之和,上述预估时间为所有的上述移动机器人沿规划路径完成对应的上述搬运任务的时间之和;
步骤S104,处理步骤,根据当前的上述调度状态、多个上述目标调度状态和多个上述时间代价进行蒙特卡洛树搜索,得到多个节点价值,当前的上述调度状态为蒙特卡洛树的根节点,多个上述目标调度状态为上述根节点的子节点,上述时间代价为上述子节点的上述节点价值的初始值,上述节点价值为访问上述子节点的多次仿真过程的上述时间代价的平均值,上述节点价值与上述子节点一一对应;
步骤S105,第二确定步骤,确定上述节点价值最大的上述子节点对应的上述调度策略为最优调度策略;
步骤S106,控制步骤,控制所有的上述移动机器人执行上述最优调度策略;
步骤S107,重复步骤,依次重复上述第一分析步骤、上述第一确定步骤、上述第二分析步骤、上述处理步骤、上述第二确定步骤和上述控制步骤至少一次,直至所有的上述移动机器人完成对应的上述搬运任务。
上述移动机器人的调度方法中,首先执行第一分析步骤,将当前的调度状态输入调度策略神经网络进行分析,得到多个调度策略,上述调度状态包括所有的上述移动机器人所处的上述路径节点的位置和所有的上述移动机器人执行的上述搬运任务的目标路径节点,上述调度策略用于调度所有的上述移动机器人移动至下一上述路径节点,上述目标路径节点为上述路径的终点;然后执行第一确定步骤,根据多个上述调度策略确定多个目标调度状态,上述目标调度状态与上述调度策略一一对应,上述目标调度状态为所有的上述移动机器人移动至下一上述路径节点后的上述调度状态;然后执行第二分析步骤,将多个上述目标调度状态输入状态评估神经网络进行分析,得到多个时间代价,上述时间代价与上述目标调度状态一一对应,上述时间代价为最短时间和预估时间的差值的估计值,上述最短时间为所有的上述移动机器人沿最短路径完成对应的上述搬运任务的时间之和,上述预估时间为所有的上述移动机器人沿规划路径完成对应的上述搬运任务的时间之和;然后执行处理步骤,根据当前的上述调度状态、多个上述目标调度状态和多个上述时间代价进行蒙特卡洛树搜索,得到多个节点价值,当前的上述调度状态为蒙特卡洛树的根节点,多个上述目标调度状态为上述根节点的子节点,上述时间代价为上述子节点的上述节点价值的初始值,上述节点价值为访问上述子节点的多次仿真过程的上述时间代价的平均值,上述节点价值与上述子节点一一对应;然后执行第二确定步骤,确定上述节点价值最大的上述子节点对应的上述调度策略为最优调度策略;然后执行控制步骤,控制所有的上述移动机器人执行上述最优调度策略;最后执行重复步骤,依次重复上述第一分析步骤、上述第一确定步骤、上述第二分析步骤、上述处理步骤、上述第二确定步骤和上述控制步骤至少一次,直至所有的上述移动机器人完成对应的上述搬运任务。该方法以当前的调度状态确定调度策略,即生成实时动态调度策略来进行调度,考虑随机事件触发搬运任务的影响,且通过预先训练的状态评估神经网络与调度策略神经网络,作为蒙特卡洛树搜索中节点展开与评估的先验知识,可以有效提升蒙特卡洛树搜索的效率,减少无效的搜索分支,对有潜力的分支充分展开仿真,提升搜索的效果,避免实时调度卡顿,降低了计算复杂度,解决了现有技术中动态调度策略性能不佳的问题。
需要说明的是,本申请的移动机器人的调度方法为一种实时动态调度策略,即在某一个时刻决策时,只生成下一步的调度策略,比如指令某AGV从路径节点A移动至路径节点B,随着***运行状态,随机事件的触发,在下一个时刻重新使用蒙特卡洛树搜索方法生成调度决策,这样动态调度策略相较于一次性生成整个调度路径与时间窗的静态调度方法更加贴近于实际应用的需求。
还需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请的一种实施例中,上述调度策略神经网络的训练过程还包括:获取多个历史调度状态和多个历史调度策略,上述历史调度状态为历史调度过程中的上述调度状态,上述历史调度策略为上述历史调度过程中上述历史调度状态对应的上述调度策略;建立上述历史调度状态和上述历史调度策略的映射关系,得到第一训练数据集,其中,上述第一训练数据集包括多组第一数据,且多组上述第一数据中的每组上述第一数据中均包括:上述历史调度状态和对应的上述历史调度策略;基于上述第一训练数据集的数据对神经网络进行训练,得到上述调度策略神经网络。具体地,上述第一训练数据集通过采集大量实际调度***的数据,即记录下来实际的调度状态+调度策略数据组作为训练数据,这类数据蕴含了领域工程师的专家经验。
本申请的一种实施例中,上述调度策略神经网络的训练过程还包括:获取多个仿真调度状态和多个仿真调度策略,上述仿真调度状态为仿真调度过程中上述时间代价大于预定值的上述调度状态,上述仿真调度策略为上述仿真调度过程中上述仿真调度状态对应的上述调度策略;建立上述仿真调度状态和上述仿真调度策略的映射关系,得到第二训练数据集,其中,上述第二训练数据集包括多组第二数据,且多组上述第二数据中的每组上述第二数据中均包括:上述仿真调度状态和对应的上述仿真调度策略;基于上述第二训练数据集的数据对神经网络进行训练,得到上述调度策略神经网络。具体地,基于***仿真运行器运行大量搬运任务,采用启发式或随机指令的方式下发调度策略,记录下时间代价大于预定值的调度状态+调度策略数据组作为训练数据,这类数据通过大规模仿真搜索,可以发掘出有价值的调度策略。
需要说明的是,仿真运行器通过在整个调度***中各对象运行规律的总结归纳的基础上,能够实现对实际调度***进行仿真的程序。其中,移动机器人移动过程符合客观物理学规律,即移动机器人在一条路径上通过所需的时间根据其速度与路径长度计算得到,移动机器人通过有拐弯的道路时根据转弯的速度计算得到。
还需要说明的是,仿真运行器的运行以事件机制触发,触发后将***从某一状态切换至另一状态。不失一般性,有以下两种事件将触发***状态的改变。
1.调度策略事件,即移动机器人执行的每个调度策略都是从其当前路径节点移动到某个相邻的路径节点。
2.搬运任务事件,搬运任务包含任务开始的节点与任务的结束节点,比如从生产线1搬运某物料至库位2,当某台移动机器人完成某个搬运任务后,可能立即收到新的搬运任务,也可能在原地等待一会后才会收到新的搬运任务,因此,搬运任务产生的时间是由生产线的节奏决定的/或由操作员工手动下发的,均为随机分布,且搬运任务的始发点与终点也是随机分布的。基于实际调度***运行的大量数据进行统计,可以计算得到这类事件的概率分布特征。***仿真运行器可以根据这些概率分布特征随机触发搬运任务事件的发生。
本申请的一种实施例中,上述状态评估神经网络的训练过程包括:获取多个仿真调度状态和多个仿真时间代价,上述仿真调度状态为仿真调度过程中上述时间代价大于预定值的上述调度状态,上述仿真时间代价为上述仿真调度过程中上述仿真调度状态对应的上述时间代价;建立上述仿真调度状态和上述仿真时间代价的映射关系,得到第三训练数据集,其中,上述第三训练数据集包括多组第三数据,且多组上述第三数据中的每组上述第三数据中均包括:上述仿真调度状态和对应的上述仿真时间代价;基于上述第三训练数据集的数据对神经网络进行训练,得到上述状态评估神经网络。具体地,仿真运行器进行仿真运行时,调度状态St为任意给定的,即在各路径节点上随机分布移动机器人,且移动机器人搬运任务的目标路径节点也随机分布,采用随机行走的调度策略大量仿真移动机器人行走,直到所有移动机器人到达搬运任务的目标路径节点终止。选取那些调度效果较好的仿真数据,即计算各移动机器人达到搬运任务的终点所花费的时间和较少的数据,不失一般性,令每辆车到达当前搬运任务目标节点所花费时间和为Tsum,而每辆沿最短路径行走到目标节点的理论最短时间和为RTsum,将(St,RTsum-Tsum)这一组输入输出作为训练集,对状态评估神经网络进行训练。
本申请的一种实施例中,根据当前的上述调度状态、多个上述目标调度状态和多个上述时间代价进行蒙特卡洛树搜索,得到多个节点价值,包括:第一计算步骤,将多个上述时间代价代入节点评价函数,计算得到节点评价函数值,上述节点评价函数值与上述子节点一一对应;确定步骤,确定上述节点评价函数值最大的上述子节点为最优子节点;访问步骤,访问初始节点的上述最优子节点,上述最优子节点的访问次数加1;仿真步骤,在上述当前节点的上述最优子节点的访问次数小于2的情况下,以上述当前节点的上述最优子节点对应的上述路径节点为起点,规划所有的上述移动机器人的路径,得到规划路径,仿真所有的上述移动机器人沿上述规划路径移动,直至发生完成对应的上述搬运任务和出现调度失败状态中的一个,或者,在上述当前节点的上述最优子节点的访问次数大于或者等于2的情况下,访问当前节点的上述最优子节点且将上述最优子节点的访问次数加1,直至上述当前节点的上述最优子节点的访问次数小于2或者上述当前节点没有子节点,并仿真所有的上述移动机器人沿上述规划路径移动,直至发生完成对应的上述搬运任务和出现调度失败状态中的一个,上述调度失败状态为需要人工干预恢复正常调度的上述调度状态;第二计算步骤,计算上述仿真过程的上述时间代价,得到仿真时间代价;更新步骤,根据上述仿真时间代价更新上述最优子节点的上述节点价值;依次重复上述第一计算步骤、上述确定步骤、上述仿真步骤、上述第二计算步骤和上述更新步骤至少一次,直至重复次数达到预定次数,得到各上述子节点的上述节点价值。具体地,上述节点评价函数为
Figure BDA0003639445670000091
其中,N为根节点被访问过的次数,ni为对应子节点状态的访问次数,Qi为对应子节点当前的节点价值,UCB最大的子节点为最优子节点,访问初始节点的上述最优子节点,上述最优子节点的访问次数加1,在上述当前节点的上述最优子节点的访问次数小于2的情况下,即上述当前节点的上述最优子节点为首次访问,以上述当前节点的上述最优子节点对应的上述路径节点为起点,规划所有的上述移动机器人的路径,得到规划路径,仿真所有的上述移动机器人沿规划路径移动,直至发生完成对应的上述搬运任务和出现调度失败状态中的一个,或者,在上述当前节点的上述最优子节点的访问次数大于或者等于2的情况下,即上述当前节点的上述最优子节点之前访问过,访问当前节点的上述最优子节点且将上述最优子节点的访问次数加1,直至上述当前节点的上述最优子节点的访问次数小于2或者上述当前节点没有子节点,即依次访问上述当前节点的上述最优子节点直至所有的机器人完成搬运任务,完成一次上述仿真过程,或者依次访问上述当前节点的上述最优子节点直至上述当前节点的上述最优子节点为首次访问,即可仿真所有的上述移动机器人沿上述规划路径完成对应的上述搬运任务,完成一次上述仿真过程,当然,仿真过程出现调度失败状态,也会停止仿真,本次仿真时间代价Q赋为预先给定的极大的负值,过程中共有K个搬运任务完成,***仿真运行器自动计算每个搬运任务完成所花费的时间并记录下来,记为T1,T2,T3,…Tk,同时,根据每个搬运任务的开始位置与结束位置,采用最短路径方法可以计算得到理论最短耗时间
Figure BDA0003639445670000092
这次仿真时间代价
Figure BDA0003639445670000093
采用反馈的方法将这一Q值反馈更新树上的节点代价,可以采用多次仿真运行求均值的方式,使这个代价值更加逼近真实值。
本申请的一种实施例中,上述调度失败状态包括第一调度状态、第二调度状态和第三调度状态,上述第一调度状态为多台上述移动机器人占据同一个上述路径节点的上述调度状态,上述第二调度状态为两台上述移动机器人在同一条道路上相向而行的上述调度状态,上述第三调度状态为多个上述移动机器发生死锁的上述调度状态。具体地,第一调度状态、第二调度状态和第三调度状态均为调度失败状态,需要人工干预***才能恢复正常调度,仿真结束。
本申请实施例还提供了一种移动机器人的调度装置,需要说明的是,本申请实施例的移动机器人的调度装置可以用于执行本申请实施例所提供的用于移动机器人的调度方法。以下对本申请实施例提供的移动机器人的调度装置进行介绍。
图2是根据本申请实施例的移动机器人的调度装置的示意图。如图2所示,该装置包括:
第一分析单元10用于执行第一分析步骤,将当前的调度状态输入调度策略神经网络进行分析,得到多个调度策略,上述调度状态包括所有的上述移动机器人所处的上述路径节点的位置和所有的上述移动机器人执行的上述搬运任务的目标路径节点,上述调度策略用于调度所有的上述移动机器人移动至下一上述路径节点,上述目标路径节点为上述路径的终点;
第一确定单元20用于执行第一确定步骤,根据多个上述调度策略确定多个目标调度状态,上述目标调度状态与上述调度策略一一对应,上述目标调度状态为所有的上述移动机器人移动至下一上述路径节点后的上述调度状态;
第二分析单元30用于执行第二分析步骤,将多个上述目标调度状态输入状态评估神经网络进行分析,得到多个时间代价,上述时间代价与上述目标调度状态一一对应,上述时间代价为最短时间和预估时间的差值的估计值,上述最短时间为所有的上述移动机器人沿最短路径完成对应的上述搬运任务的时间之和,上述预估时间为所有的上述移动机器人沿规划路径完成对应的上述搬运任务的时间之和;
处理单元40用于执行处理步骤,根据当前的上述调度状态、多个上述目标调度状态和多个上述时间代价进行蒙特卡洛树搜索,得到多个节点价值,当前的上述调度状态为蒙特卡洛树的根节点,多个上述目标调度状态为上述根节点的子节点,上述时间代价为上述子节点的上述节点价值的初始值,上述节点价值为访问上述子节点的多次仿真过程的上述时间代价的平均值,上述节点价值与上述子节点一一对应;
第二确定单元50用于执行第二确定步骤,确定上述节点价值最大的上述子节点对应的上述调度策略为最优调度策略;
控制单元60用于执行控制步骤,控制所有的上述移动机器人执行上述最优调度策略;
重复单元70,用于执行重复步骤,依次重复上述第一分析步骤、上述第一确定步骤、上述第二分析步骤、上述处理步骤、上述第二确定步骤和上述控制步骤至少一次,直至所有的上述移动机器人完成对应的上述搬运任务。
上述移动机器人的调度装置中,第一分析单元执行第一分析步骤,将当前的调度状态输入调度策略神经网络进行分析,得到多个调度策略,上述调度状态包括所有的上述移动机器人所处的上述路径节点的位置和所有的上述移动机器人执行的上述搬运任务的目标路径节点,上述调度策略用于调度所有的上述移动机器人移动至下一上述路径节点,上述目标路径节点为上述路径的终点;第一确定单元执行第一确定步骤,根据多个上述调度策略确定多个目标调度状态,上述目标调度状态与上述调度策略一一对应,上述目标调度状态为所有的上述移动机器人移动至下一上述路径节点后的上述调度状态;第二分析单元执行第二分析步骤,将多个上述目标调度状态输入状态评估神经网络进行分析,得到多个时间代价,上述时间代价与上述目标调度状态一一对应,上述时间代价为最短时间和预估时间的差值的估计值,上述最短时间为所有的上述移动机器人沿最短路径完成对应的上述搬运任务的时间之和,上述预估时间为所有的上述移动机器人沿规划路径完成对应的上述搬运任务的时间之和;处理单元执行处理步骤,根据当前的上述调度状态、多个上述目标调度状态和多个上述时间代价进行蒙特卡洛树搜索,得到多个节点价值,当前的上述调度状态为蒙特卡洛树的根节点,多个上述目标调度状态为上述根节点的子节点,上述时间代价为上述子节点的上述节点价值的初始值,上述节点价值为访问上述子节点的多次仿真过程的上述时间代价的平均值,上述节点价值与上述子节点一一对应;第二确定单元执行第二确定步骤,确定上述节点价值最大的上述子节点对应的上述调度策略为最优调度策略;控制单元执行控制步骤,控制所有的上述移动机器人执行上述最优调度策略;重复单元执行重复步骤,依次重复上述第一分析步骤、上述第一确定步骤、上述第二分析步骤、上述处理步骤、上述第二确定步骤和上述控制步骤至少一次,直至所有的上述移动机器人完成对应的上述搬运任务。该装置以当前的调度状态确定调度策略,即生成实时动态调度策略来进行调度,考虑随机事件触发搬运任务的影响,且通过预先训练的状态评估神经网络与调度策略神经网络,作为蒙特卡洛树搜索中节点展开与评估的先验知识,可以有效提升蒙特卡洛树搜索的效率,减少无效的搜索分支,对有潜力的分支充分展开仿真,提升搜索的效果,避免实时调度卡顿,降低了计算复杂度,解决了现有技术中动态调度策略性能不佳的问题。
需要说明的是,本申请的移动机器人的调度方法为一种实时动态调度策略,即在某一个时刻决策时,只生成下一步的调度策略,比如指令某AGV从路径节点A移动至路径节点B,随着***运行状态,随机事件的触发,在下一个时刻重新使用蒙特卡洛树搜索方法生成调度决策,这样动态调度策略相较于一次性生成整个调度路径与时间窗的静态调度方法更加贴近于实际应用的需求。
本申请的一种实施例中,上述装置还包括第一训练单元,上述第一训练单元包括第一获取模块、第一建立模块和第一训练模块,其中,上述第一获取模块用于获取多个历史调度状态和多个历史调度策略,上述历史调度状态为历史调度过程中的上述调度状态,上述历史调度策略为上述历史调度过程中上述历史调度状态对应的上述调度策略;上述第一建立模块用于建立上述历史调度状态和上述历史调度策略的映射关系,得到第一训练数据集,其中,上述第一训练数据集包括多组第一数据,且多组上述第一数据中的每组上述第一数据中均包括:上述历史调度状态和对应的上述历史调度策略;上述第一训练模块用于基于上述第一训练数据集的数据对神经网络进行训练,得到上述调度策略神经网络。具体地,上述第一训练数据集通过采集大量实际调度***的数据,即记录下来实际的调度状态+调度策略数据组作为训练数据,这类数据蕴含了领域工程师的专家经验。
本申请的一种实施例中,上述装置还包括第二训练单元,上述第二训练单元包括第二获取模块、第二建立模块和第二训练模块,其中,上述第二获取模块用于获取多个仿真调度状态和多个仿真调度策略,上述仿真调度状态为仿真调度过程中上述时间代价大于预定值的上述调度状态,上述仿真调度策略为上述仿真调度过程中上述仿真调度状态对应的上述调度策略;上述第二建立模块用于建立上述仿真调度状态和上述仿真调度策略的映射关系,得到第二训练数据集,其中,上述第二训练数据集包括多组第二数据,且多组上述第二数据中的每组上述第二数据中均包括:上述仿真调度状态和对应的上述仿真调度策略;上述第二训练模块用于基于上述第二训练数据集的数据对神经网络进行训练,得到上述调度策略神经网络。具体地,基于***仿真运行器运行大量搬运任务,采用启发式或随机指令的方式下发调度策略,记录下时间代价大于预定值的调度状态+调度策略数据组作为训练数据,这类数据通过大规模仿真搜索,可以发掘出有价值的调度策略。
需要说明的是,仿真运行器通过在整个调度***中各对象运行规律的总结归纳的基础上,能够实现对实际调度***进行仿真的程序。其中,移动机器人移动过程符合客观物理学规律,即移动机器人在一条路径上通过所需的时间根据其速度与路径长度计算得到,移动机器人通过有拐弯的道路时根据转弯的速度计算得到。
还需要说明的是,仿真运行器的运行以事件机制触发,触发后将***从某一状态切换至另一状态。不失一般性,有以下两种事件将触发***状态的改变。
1.调度策略事件,即移动机器人执行的每个调度策略都是从其当前路径节点移动到某个相邻的路径节点。
2.搬运任务事件,搬运任务包含任务开始的节点与任务的结束节点,比如从生产线1搬运某物料至库位2,当某台移动机器人完成某个搬运任务后,可能立即收到新的搬运任务,也可能在原地等待一会后才会收到新的搬运任务,因此,搬运任务产生的时间是由生产线的节奏决定的/或由操作员工手动下发的,均为随机分布,且搬运任务的始发点与终点也是随机分布的。基于实际调度***运行的大量数据进行统计,可以计算得到这类事件的概率分布特征。***仿真运行器可以根据这些概率分布特征随机触发搬运任务事件的发生。
本申请的一种实施例中,上述装置还包括第三训练单元,上述第三训练单元包括第三获取模块、第三建立模块和第三训练模块,其中,上述第三获取模块用于获取多个仿真调度状态和多个仿真时间代价,上述仿真调度状态为仿真调度过程中上述时间代价大于预定值的上述调度状态,上述仿真时间代价为上述仿真调度过程中上述仿真调度状态对应的上述时间代价;上述第三建立模块用于建立上述仿真调度状态和上述仿真时间代价的映射关系,得到第三训练数据集,其中,上述第三训练数据集包括多组第三数据,且多组上述第三数据中的每组上述第三数据中均包括:上述仿真调度状态和对应的上述仿真时间代价;上述第三训练模块用于基于上述第三训练数据集的数据对神经网络进行训练,得到上述状态评估神经网络。具体地,仿真运行器进行仿真运行时,调度状态St为任意给定的,即在各路径节点上随机分布移动机器人,且移动机器人搬运任务的目标路径节点也随机分布,采用随机行走的调度策略大量仿真移动机器人行走,直到所有移动机器人到达搬运任务的目标路径节点终止。选取那些调度效果较好的仿真数据,即计算各移动机器人达到搬运任务的终点所花费的时间和较少的数据,不失一般性,令每辆车到达当前搬运任务目标节点所花费时间和为Tsum,而每辆沿最短路径行走到目标节点的理论最短时间和为RTsum,将(St,RTsum-Tsum)这一组输入输出作为训练集,对状态评估神经网络进行训练。
本申请的一种实施例中,上述处理单元包括第一计算模块、确定模块、访问模块、仿真模块、第二计算模块、更新模块和重复模块,其中,上述第一计算模块用于执行第一计算步骤,将多个上述时间代价代入节点评价函数,计算得到节点评价函数值,上述节点评价函数值与上述子节点一一对应;上述确定模块用于执行确定步骤,确定上述节点评价函数值最大的上述子节点为最优子节点;上述访问模块用于执行访问步骤,访问初始节点的上述最优子节点,上述最优子节点的访问次数加1;上述仿真模块用于执行仿真步骤,在上述当前节点的上述最优子节点的访问次数小于2的情况下,以上述当前节点的上述最优子节点对应的上述路径节点为起点,规划所有的上述移动机器人的路径,得到规划路径,仿真所有的上述移动机器人沿规划路径移动,直至发生完成对应的上述搬运任务和出现调度失败状态中的一个,或者,在上述当前节点的上述最优子节点的访问次数大于或者等于2的情况下,访问当前节点的上述最优子节点且将上述最优子节点的访问次数加1,直至上述当前节点的上述最优子节点的访问次数小于2或者上述当前节点没有子节点,并仿真所有的上述移动机器人沿上述规划路径移动,直至发生完成对应的上述搬运任务和出现调度失败状态中的一个,上述调度失败状态为需要人工干预恢复正常调度的上述调度状态;上述第二计算模块用于执行第二计算步骤,计算上述仿真过程的上述时间代价,得到仿真时间代价;上述更新模块用于执行更新步骤,根据上述仿真时间代价更新上述最优子节点的上述节点价值;上述重复模块用于执行依次重复上述第一计算步骤、上述确定步骤、上述仿真步骤、上述第二计算步骤、上述更新步骤和上述更新步骤至少一次,直至重复次数达到预定次数,得到各上述子节点的上述节点价值。具体地,上述节点评价函数为
Figure BDA0003639445670000131
其中,N为根节点被访问过的次数,ni为对应子节点状态的访问次数,Qi为对应子节点当前的节点价值,UCB最大的子节点为最优子节点,访问初始节点的上述最优子节点,上述最优子节点的访问次数加1,在上述当前节点的上述最优子节点的访问次数小于2的情况下,即上述当前节点的上述最优子节点为首次访问,以上述当前节点的上述最优子节点对应的上述路径节点为起点,规划所有的上述移动机器人的路径,得到规划路径,仿真所有的上述移动机器人沿规划路径移动,直至发生完成对应的上述搬运任务和出现调度失败状态中的一个,或者,在上述当前节点的上述最优子节点的访问次数大于或者等于2的情况下,即上述当前节点的上述最优子节点之前访问过,访问当前节点的上述最优子节点且将上述最优子节点的访问次数加1,直至上述当前节点的上述最优子节点的访问次数小于2或者上述当前节点没有子节点,即依次访问上述当前节点的上述最优子节点直至所有的机器人完成搬运任务,完成一次上述仿真过程,或者依次访问上述当前节点的上述最优子节点直至上述当前节点的上述最优子节点为首次访问,即可仿真所有的上述移动机器人沿上述规划路径完成对应的上述搬运任务,完成一次上述仿真过程,当然,仿真过程出现调度失败状态,也会停止仿真,本次仿真时间代价Q赋为预先给定的极大的负值,过程中共有K个搬运任务完成,***仿真运行器自动计算每个搬运任务完成所花费的时间并记录下来,记为T1,T2,T3,…Tk,同时,根据每个搬运任务的开始位置与结束位置,采用最短路径方法可以计算得到理论最短耗时间
Figure BDA0003639445670000132
这次仿真时间代价
Figure BDA0003639445670000133
采用反馈的方法将这一Q值反馈更新树上的节点代价,可以采用多次仿真运行求均值的方式,使这个代价值更加逼近真实值。
本申请的一种实施例中,上述调度失败状态包括第一调度状态、第二调度状态和第三调度状态,上述第一调度状态为多台上述移动机器人占据同一个上述路径节点的上述调度状态,上述第二调度状态为两台上述移动机器人在同一条道路上相向而行的上述调度状态,上述第三调度状态为多个上述移动机器发生死锁的上述调度状态。具体地,第一调度状态、第二调度状态和第三调度状态均为调度失败状态,需要人工干预***才能恢复正常调度,仿真结束。
上述移动机器人的调度装置包括处理器和存储器,上述第一分析单元、第一确定单元、第二分析单元、处理单元、第二确定单元、控制单元和重复单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决现有技术中无法实现实时动态调度的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述方法。
本发明实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述方法。
本发明实施例提供了一种调度***,包括:一个或多个处理器,存储器以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置为由上述一个或多个处理器执行,处理器执行程序时实现至少以下步骤:
步骤S101,第一分析步骤,将当前的调度状态输入调度策略神经网络进行分析,得到多个调度策略,上述调度状态包括所有的上述移动机器人所处的上述路径节点的位置和所有的上述移动机器人执行的上述搬运任务的目标路径节点,上述调度策略用于调度所有的上述移动机器人移动至下一上述路径节点,上述目标路径节点为上述路径的终点;
步骤S102,第一确定步骤,根据多个上述调度策略确定多个目标调度状态,上述目标调度状态与上述调度策略一一对应,上述目标调度状态为所有的上述移动机器人移动至下一上述路径节点后的上述调度状态;
步骤S103,第二分析步骤,将多个上述目标调度状态输入状态评估神经网络进行分析,得到多个时间代价,上述时间代价与上述目标调度状态一一对应,上述时间代价为最短时间和预估时间的差值的估计值,上述最短时间为所有的上述移动机器人沿最短路径完成对应的上述搬运任务的时间之和,上述预估时间为所有的上述移动机器人沿规划路径完成对应的上述搬运任务的时间之和;
步骤S104,处理步骤,根据当前的上述调度状态、多个上述目标调度状态和多个上述时间代价进行蒙特卡洛树搜索,得到多个节点价值,当前的上述调度状态为蒙特卡洛树的根节点,多个上述目标调度状态为上述根节点的子节点,上述时间代价为上述子节点的上述节点价值的初始值,上述节点价值为访问上述子节点的多次仿真过程的上述时间代价的平均值,上述节点价值与上述子节点一一对应;
步骤S105,第二确定步骤,确定上述节点价值最大的上述子节点对应的上述调度策略为最优调度策略;
步骤S106,控制步骤,控制所有的上述移动机器人执行上述最优调度策略;
步骤S107,重复步骤,依次重复上述第一分析步骤、上述第一确定步骤、上述第二分析步骤、上述处理步骤、上述第二确定步骤和上述控制步骤至少一次,直至所有的上述移动机器人完成对应的上述搬运任务。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少如下方法步骤的程序:
步骤S101,第一分析步骤,将当前的调度状态输入调度策略神经网络进行分析,得到多个调度策略,上述调度状态包括所有的上述移动机器人所处的上述路径节点的位置和所有的上述移动机器人执行的上述搬运任务的目标路径节点,上述调度策略用于调度所有的上述移动机器人移动至下一上述路径节点,上述目标路径节点为上述路径的终点;
步骤S102,第一确定步骤,根据多个上述调度策略确定多个目标调度状态,上述目标调度状态与上述调度策略一一对应,上述目标调度状态为所有的上述移动机器人移动至下一上述路径节点后的上述调度状态;
步骤S103,第二分析步骤,将多个上述目标调度状态输入状态评估神经网络进行分析,得到多个时间代价,上述时间代价与上述目标调度状态一一对应,上述时间代价为最短时间和预估时间的差值的估计值,上述最短时间为所有的上述移动机器人沿最短路径完成对应的上述搬运任务的时间之和,上述预估时间为所有的上述移动机器人沿规划路径完成对应的上述搬运任务的时间之和;
步骤S104,处理步骤,根据当前的上述调度状态、多个上述目标调度状态和多个上述时间代价进行蒙特卡洛树搜索,得到多个节点价值,当前的上述调度状态为蒙特卡洛树的根节点,多个上述目标调度状态为上述根节点的子节点,上述时间代价为上述子节点的上述节点价值的初始值,上述节点价值为访问上述子节点的多次仿真过程的上述时间代价的平均值,上述节点价值与上述子节点一一对应;
步骤S105,第二确定步骤,确定上述节点价值最大的上述子节点对应的上述调度策略为最优调度策略;
步骤S106,控制步骤,控制所有的上述移动机器人执行上述最优调度策略;
步骤S107,重复步骤,依次重复上述第一分析步骤、上述第一确定步骤、上述第二分析步骤、上述处理步骤、上述第二确定步骤和上述控制步骤至少一次,直至所有的上述移动机器人完成对应的上述搬运任务。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
从以上的描述中,可以看出,本申请上述的实施例实现了如下技术效果:
1)、本申请的移动机器人的调度方法中,首先执行第一分析步骤,将当前的调度状态输入调度策略神经网络进行分析,得到多个调度策略,上述调度状态包括所有的上述移动机器人所处的上述路径节点的位置和所有的上述移动机器人执行的上述搬运任务的目标路径节点,上述调度策略用于调度所有的上述移动机器人移动至下一上述路径节点,上述目标路径节点为上述路径的终点;然后执行第一确定步骤,根据多个上述调度策略确定多个目标调度状态,上述目标调度状态与上述调度策略一一对应,上述目标调度状态为所有的上述移动机器人移动至下一上述路径节点后的上述调度状态;然后执行第二分析步骤,将多个上述目标调度状态输入状态评估神经网络进行分析,得到多个时间代价,上述时间代价与上述目标调度状态一一对应,上述时间代价为最短时间和预估时间的差值的估计值,上述最短时间为所有的上述移动机器人沿最短路径完成对应的上述搬运任务的时间之和,上述预估时间为所有的上述移动机器人沿规划路径完成对应的上述搬运任务的时间之和;然后执行处理步骤,根据当前的上述调度状态、多个上述目标调度状态和多个上述时间代价进行蒙特卡洛树搜索,得到多个节点价值,当前的上述调度状态为蒙特卡洛树的根节点,多个上述目标调度状态为上述根节点的子节点,上述时间代价为上述子节点的上述节点价值的初始值,上述节点价值为访问上述子节点的多次仿真过程的上述时间代价的平均值,上述节点价值与上述子节点一一对应;然后执行第二确定步骤,确定上述节点价值最大的上述子节点对应的上述调度策略为最优调度策略;然后执行控制步骤,控制所有的上述移动机器人执行上述最优调度策略;最后执行重复步骤,依次重复上述第一分析步骤、上述第一确定步骤、上述第二分析步骤、上述处理步骤、上述第二确定步骤和上述控制步骤至少一次,直至所有的上述移动机器人完成对应的上述搬运任务。该方法以当前的调度状态确定调度策略,即生成实时动态调度策略来进行调度,考虑随机事件触发搬运任务的影响,且通过预先训练的状态评估神经网络与调度策略神经网络,作为蒙特卡洛树搜索中节点展开与评估的先验知识,可以有效提升蒙特卡洛树搜索的效率,减少无效的搜索分支,对有潜力的分支充分展开仿真,提升搜索的效果,避免实时调度卡顿,降低了计算复杂度,解决了现有技术中动态调度策略性能不佳的问题。
2)、本申请的移动机器人的调度装置中,第一分析单元执行第一分析步骤,将当前的调度状态输入调度策略神经网络进行分析,得到多个调度策略,上述调度状态包括所有的上述移动机器人所处的上述路径节点的位置和所有的上述移动机器人执行的上述搬运任务的目标路径节点,上述调度策略用于调度所有的上述移动机器人移动至下一上述路径节点,上述目标路径节点为上述路径的终点;第一确定单元执行第一确定步骤,根据多个上述调度策略确定多个目标调度状态,上述目标调度状态与上述调度策略一一对应,上述目标调度状态为所有的上述移动机器人移动至下一上述路径节点后的上述调度状态;第二分析单元执行第二分析步骤,将多个上述目标调度状态输入状态评估神经网络进行分析,得到多个时间代价,上述时间代价与上述目标调度状态一一对应,上述时间代价为最短时间和预估时间的差值的估计值,上述最短时间为所有的上述移动机器人沿最短路径完成对应的上述搬运任务的时间之和,上述预估时间为所有的上述移动机器人沿规划路径完成对应的上述搬运任务的时间之和;处理单元执行处理步骤,根据当前的上述调度状态、多个上述目标调度状态和多个上述时间代价进行蒙特卡洛树搜索,得到多个节点价值,当前的上述调度状态为蒙特卡洛树的根节点,多个上述目标调度状态为上述根节点的子节点,上述时间代价为上述子节点的上述节点价值的初始值,上述节点价值为访问上述子节点的多次仿真过程的上述时间代价的平均值,上述节点价值与上述子节点一一对应;第二确定单元执行第二确定步骤,确定上述节点价值最大的上述子节点对应的上述调度策略为最优调度策略;控制单元执行控制步骤,控制所有的上述移动机器人执行上述最优调度策略;重复单元执行重复步骤,依次重复上述第一分析步骤、上述第一确定步骤、上述第二分析步骤、上述处理步骤、上述第二确定步骤和上述控制步骤至少一次,直至所有的上述移动机器人完成对应的上述搬运任务。该装置以当前的调度状态确定调度策略,即生成实时动态调度策略来进行调度,考虑随机事件触发搬运任务的影响,且通过预先训练的状态评估神经网络与调度策略神经网络,作为蒙特卡洛树搜索中节点展开与评估的先验知识,可以有效提升蒙特卡洛树搜索的效率,减少无效的搜索分支,对有潜力的分支充分展开仿真,提升搜索的效果,避免实时调度卡顿,降低了计算复杂度,解决了现有技术中动态调度策略性能不佳的问题。
3)、本申请的调度***中,一个或多个处理器,存储器以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置为由上述一个或多个处理器执行,处理器执行程序,以当前的调度状态确定调度策略,即生成实时动态调度策略来进行调度,考虑随机事件触发搬运任务的影响,且通过预先训练的状态评估神经网络与调度策略神经网络,作为蒙特卡洛树搜索中节点展开与评估的先验知识,可以有效提升蒙特卡洛树搜索的效率,减少无效的搜索分支,对有潜力的分支充分展开仿真,提升搜索的效果,避免实时调度卡顿,降低了计算复杂度,解决了现有技术中现有技术中动态调度策略性能不佳的问题。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种移动机器人的调度方法,其特征在于,移动机器人执行搬运任务的路径包括多个路径节点,所述方法包括:
第一分析步骤,将当前的调度状态输入调度策略神经网络进行分析,得到多个调度策略,所述调度状态包括所有的所述移动机器人所处的所述路径节点的位置和所有的所述移动机器人执行的所述搬运任务的目标路径节点,所述调度策略用于调度所有的所述移动机器人移动至下一所述路径节点,所述目标路径节点为所述路径的终点;
第一确定步骤,根据多个所述调度策略确定多个目标调度状态,所述目标调度状态与所述调度策略一一对应,所述目标调度状态为所有的所述移动机器人移动至下一所述路径节点后的所述调度状态;
第二分析步骤,将多个所述目标调度状态输入状态评估神经网络进行分析,得到多个时间代价,所述时间代价与所述目标调度状态一一对应,所述时间代价为最短时间和预估时间的差值的估计值,所述最短时间为所有的所述移动机器人沿最短路径完成对应的所述搬运任务的时间之和,所述预估时间为所有的所述移动机器人沿规划路径完成对应的所述搬运任务的时间之和;
处理步骤,根据当前的所述调度状态、多个所述目标调度状态和多个所述时间代价进行蒙特卡洛树搜索,得到多个节点价值,当前的所述调度状态为蒙特卡洛树的根节点,多个所述目标调度状态为所述根节点的子节点,所述时间代价为所述子节点的所述节点价值的初始值,所述节点价值为访问所述子节点的多次仿真过程的所述时间代价的平均值,所述节点价值与所述子节点一一对应;
第二确定步骤,确定所述节点价值最大的所述子节点对应的所述调度策略为最优调度策略;
控制步骤,控制所有的所述移动机器人执行所述最优调度策略;
重复步骤,依次重复所述第一分析步骤、所述第一确定步骤、所述第二分析步骤、所述处理步骤、所述第二确定步骤和所述控制步骤至少一次,直至所有的所述移动机器人完成对应的所述搬运任务。
2.根据权利要求1所述的方法,其特征在于,所述调度策略神经网络的训练过程还包括:
获取多个历史调度状态和多个历史调度策略,所述历史调度状态为历史调度过程中的所述调度状态,所述历史调度策略为所述历史调度过程中所述历史调度状态对应的所述调度策略;
建立所述历史调度状态和所述历史调度策略的映射关系,得到第一训练数据集,其中,所述第一训练数据集包括多组第一数据,且多组所述第一数据中的每组所述第一数据中均包括:所述历史调度状态和对应的所述历史调度策略;
基于所述第一训练数据集的数据对神经网络进行训练,得到所述调度策略神经网络。
3.根据权利要求1所述的方法,其特征在于,所述调度策略神经网络的训练过程还包括:
获取多个仿真调度状态和多个仿真调度策略,所述仿真调度状态为仿真调度过程中所述时间代价大于预定值的所述调度状态,所述仿真调度策略为所述仿真调度过程中所述仿真调度状态对应的所述调度策略;
建立所述仿真调度状态和所述仿真调度策略的映射关系,得到第二训练数据集,其中,所述第二训练数据集包括多组第二数据,且多组所述第二数据中的每组所述第二数据中均包括:所述仿真调度状态和对应的所述仿真调度策略;
基于所述第二训练数据集的数据对神经网络进行训练,得到所述调度策略神经网络。
4.根据权利要求1所述的方法,其特征在于,所述状态评估神经网络的训练过程包括:
获取多个仿真调度状态和多个仿真时间代价,所述仿真调度状态为仿真调度过程中所述时间代价大于预定值的所述调度状态,所述仿真时间代价为所述仿真调度过程中所述仿真调度状态对应的所述时间代价;
建立所述仿真调度状态和所述仿真时间代价的映射关系,得到第三训练数据集,其中,所述第三训练数据集包括多组第三数据,且多组所述第三数据中的每组所述第三数据中均包括:所述仿真调度状态和对应的所述仿真时间代价;
基于所述第三训练数据集的数据对神经网络进行训练,得到所述状态评估神经网络。
5.根据权利要求1至4任一项所述的方法,其特征在于,根据当前的所述调度状态、多个所述目标调度状态和多个所述时间代价进行蒙特卡洛树搜索,得到多个节点价值,包括:
第一计算步骤,将多个所述时间代价代入节点评价函数,计算得到节点评价函数值,所述节点评价函数值与所述子节点一一对应;
确定步骤,确定所述节点评价函数值最大的所述子节点为最优子节点;
访问步骤,访问初始节点的所述最优子节点,所述最优子节点的访问次数加1;
仿真步骤,在所述当前节点的所述最优子节点的访问次数小于2的情况下,以所述当前节点的所述最优子节点对应的所述路径节点为起点,规划所有的所述移动机器人的路径,得到规划路径,仿真所有的所述移动机器人沿所述规划路径移动,直至发生完成对应的所述搬运任务和出现调度失败状态中的一个,或者,在所述当前节点的所述最优子节点的访问次数大于或者等于2的情况下,访问当前节点的所述最优子节点且将所述最优子节点的访问次数加1,直至所述当前节点的所述最优子节点的访问次数小于2或者所述当前节点没有子节点,并仿真所有的所述移动机器人沿所述规划路径移动,直至发生完成对应的所述搬运任务和出现调度失败状态中的一个,所述调度失败状态为需要人工干预恢复正常调度的所述调度状态;
第二计算步骤,计算所述仿真过程的所述时间代价,得到仿真时间代价;
更新步骤,根据所述仿真时间代价更新所述最优子节点的所述节点价值;
依次重复所述第一计算步骤、所述确定步骤、所述访问步骤、所述仿真步骤、所述第二计算步骤和所述更新步骤至少一次,直至重复次数达到预定次数,得到各所述子节点的所述节点价值。
6.根据权利要求5所述的方法,其特征在于,所述调度失败状态包括第一调度状态、第二调度状态和第三调度状态,所述第一调度状态为多台所述移动机器人占据同一个所述路径节点的所述调度状态,所述第二调度状态为两台所述移动机器人在同一条道路上相向而行的所述调度状态,所述第三调度状态为多个所述移动机器发生死锁的所述调度状态。
7.一种移动机器人的调度装置,其特征在于,移动机器人执行搬运任务的路径包括多个路径节点,所述装置包括:
第一分析单元用于执行第一分析步骤,将当前的调度状态输入调度策略神经网络进行分析,得到多个调度策略,所述调度状态包括所有的所述移动机器人所处的所述路径节点的位置和所有的所述移动机器人执行的所述搬运任务的目标路径节点,所述调度策略用于调度所有的所述移动机器人移动至下一所述路径节点,所述目标路径节点为所述路径的终点;
第一确定单元用于执行第一确定步骤,根据多个所述调度策略确定多个目标调度状态,所述目标调度状态与所述调度策略一一对应,所述目标调度状态为所有的所述移动机器人移动至下一所述路径节点后的所述调度状态;
第二分析单元用于执行第二分析步骤,将多个所述目标调度状态输入状态评估神经网络进行分析,得到多个时间代价,所述时间代价与所述目标调度状态一一对应,所述时间代价为最短时间和预估时间的差值的估计值,所述最短时间为所有的所述移动机器人沿最短路径完成对应的所述搬运任务的时间之和,所述预估时间为所有的所述移动机器人沿规划路径完成对应的所述搬运任务的时间之和;
处理单元用于执行处理步骤,根据当前的所述调度状态、多个所述目标调度状态和多个所述时间代价进行蒙特卡洛树搜索,得到多个节点价值,当前的所述调度状态为蒙特卡洛树的根节点,多个所述目标调度状态为所述根节点的子节点,所述时间代价为所述子节点的所述节点价值的初始值,所述节点价值为访问所述子节点的多次仿真过程的所述时间代价的平均值,所述节点价值与所述子节点一一对应;
第二确定单元用于执行第二确定步骤,确定所述节点价值最大的所述子节点对应的所述调度策略为最优调度策略;
控制单元用于执行控制步骤,控制所有的所述移动机器人执行所述最优调度策略;
重复单元,用于执行重复步骤,依次重复所述第一分析步骤、所述第一确定步骤、所述第二分析步骤、所述处理步骤、所述第二确定步骤和所述控制步骤至少一次,直至所有的所述移动机器人完成对应的所述搬运任务。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,所述程序执行权利要求1至6中任意一项所述的方法。
9.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至6中任意一项所述的方法。
10.一种调度***,其特征在于,包括:一个或多个处理器,存储器以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行权利要求1至6中任意一项所述的方法。
CN202210510877.XA 2022-05-11 2022-05-11 移动机器人的调度方法、装置和调度*** Pending CN114995393A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210510877.XA CN114995393A (zh) 2022-05-11 2022-05-11 移动机器人的调度方法、装置和调度***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210510877.XA CN114995393A (zh) 2022-05-11 2022-05-11 移动机器人的调度方法、装置和调度***

Publications (1)

Publication Number Publication Date
CN114995393A true CN114995393A (zh) 2022-09-02

Family

ID=83027526

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210510877.XA Pending CN114995393A (zh) 2022-05-11 2022-05-11 移动机器人的调度方法、装置和调度***

Country Status (1)

Country Link
CN (1) CN114995393A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118093203A (zh) * 2024-04-24 2024-05-28 北京壁仞科技开发有限公司 数据搬运方法、分布式训练***、电子设备和存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118093203A (zh) * 2024-04-24 2024-05-28 北京壁仞科技开发有限公司 数据搬运方法、分布式训练***、电子设备和存储介质

Similar Documents

Publication Publication Date Title
Kovalenko et al. The model-based product agent: A control oriented architecture for intelligent products in multi-agent manufacturing systems
Wang et al. Learning scheduling policies for multi-robot coordination with graph attention networks
Whitbrook et al. Reliable, distributed scheduling and rescheduling for time-critical, multiagent systems
JP7391535B2 (ja) マルチエージェントシステムにおけるロボットの動作方法、ロボット及びマルチエージェントシステム
CN115066694A (zh) 计算图优化
Rupprecht et al. A survey for deep reinforcement learning in markovian cyber–physical systems: Common problems and solutions
KR20200068534A (ko) 기계 학습 및 전이 학습을 이용한 공정 관리 방법, 장치 및 시스템
Liu et al. Integration of deep reinforcement learning and multi-agent system for dynamic scheduling of re-entrant hybrid flow shop considering worker fatigue and skill levels
Zhu et al. Deep reinforcement learning for real-time assembly planning in robot-based prefabricated construction
CN114995393A (zh) 移动机器人的调度方法、装置和调度***
CN115293623A (zh) 一种生产调度模型的训练方法、装置、电子设备及介质
Liu et al. Dynamic scheduling for semiconductor manufacturing systems with uncertainties using convolutional neural networks and reinforcement learning
EP3907679B1 (en) Enhanced robot fleet navigation and sequencing
CN105867427A (zh) 一种面向动态环境的机器人寻径在线控制方法
Ha Evolving ant colony system for large-sized integrated process planning and scheduling problem considering sequence-dependent setup times
Undurti et al. A decentralized approach to multi-agent planning in the presence of constraints and uncertainty
EP1889191A2 (en) Constrained exploration for search algorithms
Yoon et al. Learning to improve performance during non-repetitive tasks performed by robots
CN115327926A (zh) 基于深度强化学习的多智能体动态覆盖控制方法及***
JP2023140252A (ja) 自律モバイル・デバイスにおけるタスク割り当て
Kok et al. An approach to noncommunicative multiagent coordination in continuous domains
Taylor et al. Two decades of multiagent teamwork research: past, present, and future
Fertsch Artificial neural pseudo-network for production control purposes
CN113790729A (zh) 一种基于强化学习算法的无人天车路径规划方法及装置
Rivas et al. Auction model for transport order assignment in AGV systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination