CN115640986B - 基于奖励的机器人调度方法、装置、设备及介质 - Google Patents
基于奖励的机器人调度方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115640986B CN115640986B CN202211595940.0A CN202211595940A CN115640986B CN 115640986 B CN115640986 B CN 115640986B CN 202211595940 A CN202211595940 A CN 202211595940A CN 115640986 B CN115640986 B CN 115640986B
- Authority
- CN
- China
- Prior art keywords
- scheduling
- node
- robot
- reward
- task
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000004590 computer program Methods 0.000 claims description 18
- 230000008901 benefit Effects 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 7
- 238000004088 simulation Methods 0.000 claims description 4
- 235000009508 confectionery Nutrition 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010977 unit operation Methods 0.000 description 1
Images
Landscapes
- Manipulator (AREA)
Abstract
本申请提供一种基于奖励的机器人调度方法、装置、设备及介质。该方法包括:根据预设时间周期内的业务请求生成任务序列,并确定用于执行当前周期内调度任务的目标机器人、目标机器人的当前位置和仓位状态;确定一个或多个起始节点和目的节点,以及起始节点和目的节点之间的中间节点;根据任务序列、仓位状态、起始节点、目的节点以及中间节点,模拟完成当前周期内调度任务的调度方案;利用预设的调度奖励模型计算每个调度方案对应的奖励值,根据奖励值最高的调度方案对应的目标机器人的行驶路径生成调度指令,将调度指令发送给目标机器人。本申请提升机器人调度系统的调度能力,提升机器人的调度效率以及智能化服务水平。
Description
技术领域
本申请涉及机器人技术领域,尤其涉及一种基于奖励的机器人调度方法、装置、设备及介质。
背景技术
随着数字化和智能化技术在各个领域的深入发展,更多的智能化设备在酒店、商场、写字楼等场景下得到广泛应用。智能机器人作为智能化设备中使用频率较高的一种设备,能够实现酒店客户提供诸如送物、迎宾、巡游等服务。利用酒店机器人提供送物服务,不仅降低酒店工作人员的劳动量,而且提升酒店的智能化服务水平。
在商用机器人的调度场景中,例如酒店、楼宇等场景下提供服务的机器人,机器人在执行调度任务时,在机器人的行驶过程中,通常需要借助垂直运力,比如电梯等的帮助,并且还可能经过场地内的一些闸机。因此,商用机器人的调度并非简单的在两点之间做平移运动,随着调度需求以及机器人数量的增加,需要在一定的空间区域内为机器人找到最优的调度方案。目前,现有的机器人调度系统无法通过奖励的方式实现机器人的调度,因此,无法得到全局最优的调度方案,降低机器人调度系统的调度能力。
发明内容
有鉴于此,本申请实施例提供了一种基于奖励的机器人调度方法、装置、设备及介质,以解决现有技术存在的机器人调度系统无法通过奖励的方式实现机器人的调度,无法得到全局最优的调度方案,降低机器人调度系统的调度能力的问题。
本申请实施例的第一方面,提供了一种基于奖励的机器人调度方法,包括:根据预设时间周期内的业务请求生成任务序列,并确定用于执行当前周期内调度任务的目标机器人、目标机器人的当前位置和仓位状态;基于任务序列以及目标机器人的当前位置,确定一个或多个起始节点和目的节点,以及起始节点和目的节点之间的中间节点;根据任务序列、仓位状态、起始节点、目的节点以及中间节点,模拟完成当前周期内调度任务的调度方案,每个调度方案中包括目标机器人的行驶路径及仓位状态变化;利用预设的调度奖励模型计算每个调度方案对应的奖励值,根据奖励值最高的调度方案对应的目标机器人的行驶路径生成调度指令,将调度指令发送给目标机器人。
本申请实施例的第二方面,提供了一种基于奖励的机器人调度装置,包括:生成模块,被配置为根据预设时间周期内的业务请求生成任务序列,并确定用于执行当前周期内调度任务的目标机器人、目标机器人的当前位置和仓位状态;确定模块,被配置为基于任务序列以及目标机器人的当前位置,确定一个或多个起始节点和目的节点,以及起始节点和目的节点之间的中间节点;模拟模块,被配置为根据任务序列、仓位状态、起始节点、目的节点以及中间节点,模拟完成当前周期内调度任务的调度方案,每个调度方案中包括目标机器人的行驶路径及仓位状态变化;计算模块,被配置为利用预设的调度奖励模型计算每个调度方案对应的奖励值,根据奖励值最高的调度方案对应的目标机器人的行驶路径生成调度指令,将调度指令发送给目标机器人。
本申请实施例的第三方面,提供了一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述方法的步骤。
本申请实施例的第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过根据预设时间周期内的业务请求生成任务序列,并确定用于执行当前周期内调度任务的目标机器人、目标机器人的当前位置和仓位状态;基于任务序列以及目标机器人的当前位置,确定一个或多个起始节点和目的节点,以及起始节点和目的节点之间的中间节点;根据任务序列、仓位状态、起始节点、目的节点以及中间节点,模拟完成当前周期内调度任务的调度方案,每个调度方案中包括目标机器人的行驶路径及仓位状态变化;利用预设的调度奖励模型计算每个调度方案对应的奖励值,根据奖励值最高的调度方案对应的目标机器人的行驶路径生成调度指令,将调度指令发送给目标机器人。本申请能够通过调度奖励模型计算每种调度方案对应的奖励值,从而选择奖励值最高的调度方案执行调度任务,不仅提升了机器人调度系统的调度能力,还提升了机器人的调度效率以及智能化服务水平。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请实施例提供的基于奖励的机器人调度方法的流程示意图;
图2是本申请实施例提供的在地图中进行节点标记及生成行驶路径的示意图;
图3是本申请实施例提供的基于奖励的机器人调度装置的结构示意图;
图4是本申请实施例提供的电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
本申请实施例是以酒店应用场景为例,并以酒店中的机器人的任务调度为例进行详细描述,但是应当理解的是,本申请实施例不限于酒店应用场景,也不限于对酒店机器人的远程任务调度,其他任何对机器人进行远程调度的场景均适用于本申请,例如物流场景下的机器人调度,楼宇场景下的机器人调度等。
下面结合具体实施例对本申请技术方案进行详细说明。
图1是本申请实施例提供的基于奖励的机器人调度方法的流程示意图。图1的基于奖励的机器人调度方法可以由机器人调度系统来执行。如图1所示,该基于奖励的机器人调度方法具体可以包括:
S101,根据预设时间周期内的业务请求生成任务序列,并确定用于执行当前周期内调度任务的目标机器人、目标机器人的当前位置和仓位状态;
S102,基于任务序列以及目标机器人的当前位置,确定一个或多个起始节点和目的节点,以及起始节点和目的节点之间的中间节点;
S103,根据任务序列、仓位状态、起始节点、目的节点以及中间节点,模拟完成当前周期内调度任务的调度方案,每个调度方案中包括目标机器人的行驶路径及仓位状态变化;
S104,利用预设的调度奖励模型计算每个调度方案对应的奖励值,根据奖励值最高的调度方案对应的目标机器人的行驶路径生成调度指令,将调度指令发送给目标机器人。
具体地,本申请的调度奖励模型是以完成运力阶段任务,用奖励为牵引的奖励模型,调度奖励模型能够量化每种调度方案下的机器人的行驶奖励,通过调度奖励模型计算每种调度方案下的机器人的行驶路线对应的总体行驶奖励值,将总体行驶奖励值最大的调度方案作为运力调度最优结果,从而达到满足调度任务下的机器人行驶路径的最优解,所谓的运力调度最优是指调度的全局最优,即以单位运行场地为单元的运力调度最优。
进一步地,本申请的调度收益奖励值是指机器人调度系统根据时间周期内的调度任务,在虚拟的场景地图中模拟机器人在起始点和目的节点之间的行驶路径,从而生成满足调度任务的全部调度方案,再根据相同历史时间段内,机器人在每种调度方案的路径中的相邻节点之间行走时的历史平均速度和历史通行时间,计算每种调度方案的路径中全部相邻节点之间对应的奖励值,将全部相邻节点之间的奖励值相加,即可得到每种调度方案对应的调度奖励收益。调度奖励收益用于衡量调度方案下的各个机器人行驶路径的优劣,因此,调度奖励收益最大的调度方案就是各个机器人执行本次调度任务时对应的全部行驶路径的集合。
在一些实施例中,根据预设时间周期内的业务请求生成任务序列,并确定用于执行当前周期内调度任务的目标机器人、目标机器人的当前位置和仓位状态,包括:响应于每个时间周期内业务端发送的业务请求,根据业务请求对应的时间顺序生成任务序列,任务序列中包含按照时间顺序排列的调度任务;根据任务序列中每个调度任务对应的场景信息,确定场景内的全部机器人,根据机器人的当前工作状态、仓位状态及位置信息,确定用于执行当前周期内调度任务的目标机器人。
具体地,本申请的调度任务是按照一定的时间周期来执行的,在每个时间周期内调度系统持续接收业务请求,并根据业务请求的接收时间生成序列化的调度任务(即任务序列),每个调度任务对应各自的任务信息,例如对于送物任务来说,任务信息包括但不限于物品信息、支付信息、时间信息、位置信息等。
在实际应用中,时间周期可以设置成5分钟、10分钟、15分钟等,例如,每隔10分钟获取该时间段内的全部业务请求,再根据全部的业务请求生成当前时间周期内的调度任务对应的任务序列,本申请任务序列中的各个调度任务之间具有先后的时间顺序。
进一步地,在生成调度任务序列之后,根据任务序列中每个调度任务对应的场景信息,确定当前位于该场景的全部机器人,并根据机器人的当前工作状态、仓位状态及位置信息,从全部机器人中确定哪些机器人用于执行本次调度任务。需要说明的是,机器人会将自身的当前工作状态、仓位状态及位置等信息实时上报给调度系统,因此调度系统可以根据这些信息选择用于执行当前时间周期内的调度任务的目标机器人。
在一个具体示例中,例如在当前时间周期内调度系统共接收了10个业务请求,调度系统根据这10个业务请求生成包括10项任务的调度任务序列,假设这10项任务均为送物任务(即从一个起始点到达一个或多个目的点)时,
且共有5台机器人可供调度,排列机器人的调度优先级,通过调度量化模型求得一个奖励值,来得到最优的调度方案。
在一些实施例中,基于任务序列以及目标机器人的当前位置,确定一个或多个起始节点和目的节点,以及起始节点和目的节点之间的中间节点,包括:根据任务序列中每个调度任务的任务信息以及目标机器人的当前位置,从地图中选择一个或多个起始节点和目的节点,根据起始节点和目的节点确定中间节点;其中,起始节点为目标机器人执行调度任务时的开始位置,目的节点为目标机器人执行一个或多个调度任务时的终点位置。
具体地,根据当前调度任务对应的场景信息可以从数据库中获取该场景信息对应的地图,之后对地图执行节点化操作,下面结合附图对在地图中进行节点标记及根据节点生成行驶路径的过程进行说明,图2是本申请实施例提供的在地图中进行节点标记及生成行驶路径的示意图。如图2所示,该节点标记即行驶路径的生成具体可以包括:
根据目标机器人的当前位置在地图中选择起始节点和目的节点,起始节点和目的节点之间存在多个中间节点,在实际应用中,起始节点是指机器人执行调度任务的开始位置,目的节点是机器人需要送物的目标位置,中间节点是位于起始节点和目的节点之间路径上的冲突资源,比如将闸机、电梯等作为中间节点。
例如,在图2中,本申请将场景内的地图节点化成起始节点、目的节点和中间节点,其中,A点可以认为是起始节点,B、C、D三个点是目的节点,F0、F1、F2是中间节点(比如电梯换层节点),如果调度任务为机器人从A点出发,到达B、C、D三个点执行送物任务,且执行调度任务的机器人为一个,那么其中一个调度方案就可以是:A→F0→F1→B→F2→C→D。如果执行调度任务的机器人是多个的话,那么可以生成多种不同的方案,只要保证完成全部的送物任务即可。
进一步地,在地图中标定起始节点、目的节点和中间节点之后,需要对这些节点之间的路径做进一步的分割,即在这些大的节点之间的路径上进一步划分出若干个子节点,在实际应用中,子节点的划分可以采取距离或者时间的方式,例如每隔1米设置一个子节点,或者每隔1秒钟设置一个子节点,因此,子节点可以认为是本申请机器人获取通行奖励的基本周期,即机器人每隔一个子节点获得一次通行奖励。
在一些实施例中,根据任务序列、仓位状态、起始节点、目的节点以及中间节点,模拟完成当前周期内调度任务的调度方案,包括:依据每个调度任务的任务信息、目标机器人的仓位状态信息、起始节点、目的节点以及中间节点,在虚拟化的地图中模拟目标机器人完成当前周期内调度任务的全部调度方案;其中,调度方案中的行驶路径包括多个目标机器人对应的节点组合。
具体地,由于执行当前周期内调度任务的机器人可能是一个或多个,且每个机器人的当前仓位状态可能均不相同,因此,在地图中模拟全部的调度方案时,需要考虑不同机器人的行驶路径的组合,以及不同机器人的仓位状态信息,例如:机器人1共3个仓位,其中2个仓位处于空闲状态,机器人2共2个仓位,其中2个仓位全部处于空闲状态。
进一步地,由于每个目标机器人的仓位状态信息,起始节点和目的节点可能均不相同,因此在地图中就可以模拟出多种不同的调度方案,例如图2所示的地图模拟结果,可以由机器人1独自完成B、C、D三个目的节点的送物任务,也可以由机器人1完成B节点的送物任务,由机器人2完成C和D节点的送物任务,因此不同调度方案所包含的不同机器人的行驶路径的组合也不相同。
在一些实施例中,利用预设的调度奖励模型计算每个调度方案对应的奖励值,包括:获取与当前周期相同历史时间段内,机器人在调度方案对应的行驶路径中的各个相邻节点之间行驶的历史平均速度和历史通行时间;基于历史平均速度和历史通行时间计算相邻节点对应的奖励值,将调度方案中全部相邻节点的奖励值求和得到总奖励值,将总奖励值作为调度方案对应的调度奖励收益。
具体地,本申请在计算调度的奖励值时,是根据机器人在当前调度任务对应时间段的历史时间段内的历史平均速度和历史通行时间来计算的,即机器人在相邻节点间区域的历史平均速度和历史通行时间影响当前调度周期任务中机器人经过该相邻节点时的通行奖励。实际应用中,可以将本申请的调度奖励模型可以模拟化为机器人沿行走路径吃糖果的过程,即在机器人的行走路径的每个子节点上放置一个糖果,当机器人经过该子节点时,将该子节点的糖果加入到调度奖励中。
进一步地,可以利用以下公式计算相邻节点对应的奖励值:
进一步地,本申请调度奖励值的最小单位可以是迹(J),1迹表示环境平均速度为1m/s可通行的区域,正常通行行驶1s后的调度系统奖励:。低于1m/s平均速度的通行,说明此区域拥堵,区域的通行速度高于1m/s平均速度,说明此区域通畅,J和v成反比例关系,本申请的环境平均速度是包括行人在内的区域通行速度。
在一个具体示例中,例如:一段平均速度为0.5m/s的10m通行区域,机器人用0.4m/s通行了12.5s ,此时,调度系统的调度收益奖励是(0.5)^-1*10 = 20J,单机系统实际运行的效率是0.4/0.5=80%。
需要说明的是,本申请实际计算的是机器人在目的地抵达过程中的冲突资源的通行奖励(糖果的大小),糖果的大小和拥堵程度成正比,拥堵会来源于场景内的小区域切换的接驳处以及来源于场景内的运行统计速度低于平均速度的节点,例如:将电梯对应的中加节点设置为大糖果,将闸机对应的中间节点设置为中糖果。
在一些实施例中,基于历史平均速度和历史通行时间计算相邻节点对应的奖励值,包括:在相邻节点之间划分多个子节点,获取与当前周期相同历史时间段内,机器人在各个相邻子节点之间的历史平均速度和历史通行时间,基于历史平均速度和历史通行时间计算相邻子节点对应的奖励值,将相邻节点之间的相邻子节点的奖励值求和得到相邻节点对应的奖励值;其中,历史平均速度用于表征相同历史时间段内机器人在相邻节点及相邻子节点的区域内的拥堵程度。
具体地,通过在各个主节点(起始节点、目的节点和中间节点)之间按照固定距离或时间划分多个子节点,利用上述公式计算历史时间段内,机器人经过相邻子节点时获得的奖励值,相邻主节点之间的全部相邻子节点的奖励值之和就是该相邻主节点对应的奖励值,基于此可以计算出每种调度方案下,不同机器人的行驶路径所经过的子节点时获得的奖励值,将同一调度方案下全部机器人对应的形式路径的奖励值相加,即可得到该调度方案对应的奖励值。
如图2所示,以机器人多仓位通行时的奖励量化为例,当存在两个机器人时,机器人1对应的单仓起始路线(比如A→C)单独计算最短路径 A→F0→F2→C,机器人2对应的单仓起始路线 (比如A→D) 单独计算最短路径 A→F0→F2→D,如果两个任务是同一机器人完成的,则多仓重合路线为 A→F0→F2,则此段路线的量化奖励翻倍。也就是说,从A到F0的路径,机器人虽然只经过的一次,但是得到了3次通行奖励,假设机器人1有两个仓,每个仓中存储了一单货品,当从A行驶到F0的过程中,这两个仓都获得了通行奖励,此时该机器人1对应的A到F0的行驶路径的奖励值将乘以2。
在一些实施例中,根据奖励值最高的调度方案对应的目标机器人的行驶路径生成调度指令,包括:根据调度方案对应的调度奖励收益,对调度方案进行收益排序,将调度奖励收益最高的调度方案作为当前周期对应的调度方案,根据当前周期对应的调度方案生成调度指令。
具体地,通过上述方式计算出每个调度方案对应的调度奖励值,每个调度方案的调度奖励值是该方案下所有机器人对应行驶路径的奖励值之和,而每个机器人的行驶路径的奖励值又是根据该行驶路径所经过的相邻子节点的奖励值相加得到的,因此,调度方案的调度奖励收益能够反映历史时间段内机器人在经过相同行驶路径时的拥堵程度,调度奖励收益越高说明该调度方案对应机器人的行驶路径的拥堵程度越低,说明该调度方案的收益越大。因此,选择调度奖励收益最高的调度方案作为当前周期调度任务最终执行的方案,根据该调度方案中的每个机器人对应的行驶路径生成调度指令,并将调度指令分别发送给相应的机器人来执行任务。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图3是本申请实施例提供的基于奖励的机器人调度装置的结构示意图。如图3所示,该基于奖励的机器人调度装置包括:
生成模块301,被配置为根据预设时间周期内的业务请求生成任务序列,并确定用于执行当前周期内调度任务的目标机器人、目标机器人的当前位置和仓位状态;
确定模块302,被配置为基于任务序列以及目标机器人的当前位置,确定一个或多个起始节点和目的节点,以及起始节点和目的节点之间的中间节点;
模拟模块303,被配置为根据任务序列、仓位状态、起始节点、目的节点以及中间节点,模拟完成当前周期内调度任务的调度方案,每个调度方案中包括目标机器人的行驶路径及仓位状态变化;
计算模块304,被配置为利用预设的调度奖励模型计算每个调度方案对应的奖励值,根据奖励值最高的调度方案对应的目标机器人的行驶路径生成调度指令,将调度指令发送给目标机器人。
在一些实施例中,图3的生成模块301响应于每个时间周期内业务端发送的业务请求,根据业务请求对应的时间顺序生成任务序列,任务序列中包含按照时间顺序排列的调度任务;根据任务序列中每个调度任务对应的场景信息,确定场景内的全部机器人,根据机器人的当前工作状态、仓位状态及位置信息,确定用于执行当前周期内调度任务的目标机器人。
在一些实施例中,图3的确定模块302根据任务序列中每个调度任务的任务信息以及目标机器人的当前位置,从地图中选择一个或多个起始节点和目的节点,根据起始节点和目的节点确定中间节点;其中,起始节点为目标机器人执行调度任务时的开始位置,目的节点为目标机器人执行一个或多个调度任务时的终点位置。
在一些实施例中,图3的模拟模块303依据每个调度任务的任务信息、目标机器人的仓位状态信息、起始节点、目的节点以及中间节点,在虚拟化的地图中模拟目标机器人完成当前周期内调度任务的全部调度方案;其中,调度方案中的行驶路径包括多个目标机器人对应的节点组合。
在一些实施例中,图3的计算模块304获取与当前周期相同历史时间段内,机器人在调度方案对应的行驶路径中的各个相邻节点之间行驶的历史平均速度和历史通行时间;基于历史平均速度和历史通行时间计算相邻节点对应的奖励值,将调度方案中全部相邻节点的奖励值求和得到总奖励值,将总奖励值作为调度方案对应的调度奖励收益。
在一些实施例中,图3的计算模块304在相邻节点之间划分多个子节点,获取与当前周期相同历史时间段内,机器人在各个相邻子节点之间的历史平均速度和历史通行时间,基于历史平均速度和历史通行时间计算相邻子节点对应的奖励值,将相邻节点之间的相邻子节点的奖励值求和得到相邻节点对应的奖励值;其中,历史平均速度用于表征相同历史时间段内机器人在相邻节点及相邻子节点的区域内的拥堵程度。
在一些实施例中,图3的计算模块304根据调度方案对应的调度奖励收益,对调度方案进行收益排序,将调度奖励收益最高的调度方案作为当前周期对应的调度方案,根据当前周期对应的调度方案生成调度指令。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图4是本申请实施例提供的电子设备4的结构示意图。如图4所示,该实施例的电子设备4包括:处理器401、存储器402以及存储在该存储器402中并且可以在处理器401上运行的计算机程序403。处理器401执行计算机程序403时实现上述各个方法实施例中的步骤。或者,处理器401执行计算机程序403时实现上述各装置实施例中各模块/单元的功能。
示例性地,计算机程序403可以被分割成一个或多个模块/单元,一个或多个模块/单元被存储在存储器402中,并由处理器401执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序403在电子设备4中的执行过程。
电子设备4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备4可以包括但不仅限于处理器401和存储器402。本领域技术人员可以理解,图4仅仅是电子设备4的示例,并不构成对电子设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如,电子设备还可以包括输入输出设备、网络接入设备、总线等。
处理器401可以是中央处理单元(Central Processing Unit,CPU),也可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器402可以是电子设备4的内部存储单元,例如,电子设备4的硬盘或内存。存储器402也可以是电子设备4的外部存储设备,例如,电子设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器402还可以既包括电子设备4的内部存储单元也包括外部存储设备。存储器402用于存储计算机程序以及电子设备所需的其它程序和数据。存储器402还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (9)
1.一种基于奖励的机器人调度方法,其特征在于,包括:
根据预设时间周期内的业务请求生成任务序列,并确定用于执行当前周期内调度任务的目标机器人、所述目标机器人的当前位置和仓位状态;
基于所述任务序列以及所述目标机器人的当前位置,确定一个或多个起始节点和目的节点,以及所述起始节点和目的节点之间的中间节点;
根据所述任务序列、所述仓位状态、所述起始节点、所述目的节点以及所述中间节点,模拟完成当前周期内调度任务的调度方案,每个所述调度方案中包括目标机器人的行驶路径及仓位状态变化;
利用预设的调度奖励模型计算每个调度方案对应的奖励值,根据奖励值最高的调度方案对应的所述目标机器人的行驶路径生成调度指令,将所述调度指令发送给所述目标机器人;
其中,利用预设的调度奖励模型计算每个调度方案对应的奖励值,包括:获取与所述当前周期相同历史时间段内,机器人在所述调度方案对应的行驶路径中的各个相邻节点之间行驶的历史平均速度和历史通行时间;基于所述历史平均速度和所述历史通行时间计算所述相邻节点对应的奖励值,将所述调度方案中全部所述相邻节点的奖励值求和得到总奖励值,将所述总奖励值作为所述调度方案对应的调度奖励收益;
其中,利用以下公式计算相邻节点对应的奖励值:
2.根据权利要求1所述的方法,其特征在于,所述根据预设时间周期内的业务请求生成任务序列,并确定用于执行当前周期内调度任务的目标机器人、所述目标机器人的当前位置和仓位状态,包括:
响应于每个所述时间周期内业务端发送的业务请求,根据所述业务请求对应的时间顺序生成所述任务序列,所述任务序列中包含按照时间顺序排列的调度任务;
根据所述任务序列中每个调度任务对应的场景信息,确定场景内的全部机器人,根据机器人的当前工作状态、仓位状态及位置信息,确定用于执行当前周期内调度任务的目标机器人。
3.根据权利要求1所述的方法,其特征在于,所述基于所述任务序列以及所述目标机器人的当前位置,确定一个或多个起始节点和目的节点,以及所述起始节点和目的节点之间的中间节点,包括:
根据所述任务序列中每个调度任务的任务信息以及所述目标机器人的当前位置,从地图中选择一个或多个起始节点和目的节点,根据所述起始节点和目的节点确定所述中间节点;
其中,所述起始节点为所述目标机器人执行所述调度任务时的开始位置,所述目的节点为所述目标机器人执行一个或多个所述调度任务时的终点位置。
4.根据权利要求1所述的方法,其特征在于,所述根据所述任务序列、所述仓位状态、所述起始节点、所述目的节点以及所述中间节点,模拟完成当前周期内调度任务的调度方案,包括:
依据每个调度任务的任务信息、所述目标机器人的仓位状态信息、所述起始节点、所述目的节点以及所述中间节点,在虚拟化的地图中模拟所述目标机器人完成当前周期内调度任务的全部调度方案;
其中,所述调度方案中的行驶路径包括多个所述目标机器人对应的节点组合。
5.根据权利要求1所述的方法,其特征在于,所述基于所述历史平均速度和所述历史通行时间计算所述相邻节点对应的奖励值,包括:
在所述相邻节点之间划分多个子节点,获取与所述当前周期相同历史时间段内,机器人在各个相邻子节点之间的历史平均速度和历史通行时间,基于所述历史平均速度和所述历史通行时间计算所述相邻子节点对应的奖励值,将所述相邻节点之间的相邻子节点的奖励值求和得到所述相邻节点对应的奖励值;
其中,所述历史平均速度用于表征相同历史时间段内机器人在所述相邻节点及所述相邻子节点的区域内的拥堵程度。
6.根据权利要求1所述的方法,其特征在于,所述根据奖励值最高的调度方案对应的所述目标机器人的行驶路径生成调度指令,包括:
根据所述调度方案对应的调度奖励收益,对所述调度方案进行收益排序,将所述调度奖励收益最高的调度方案作为当前周期对应的调度方案,根据所述当前周期对应的调度方案生成调度指令。
7.一种基于奖励的机器人调度装置,其特征在于,包括:
生成模块,被配置为根据预设时间周期内的业务请求生成任务序列,并确定用于执行当前周期内调度任务的目标机器人、所述目标机器人的当前位置和仓位状态;
确定模块,被配置为基于所述任务序列以及所述目标机器人的当前位置,确定一个或多个起始节点和目的节点,以及所述起始节点和目的节点之间的中间节点;
模拟模块,被配置为根据所述任务序列、所述仓位状态、所述起始节点、所述目的节点以及所述中间节点,模拟完成当前周期内调度任务的调度方案,每个所述调度方案中包括目标机器人的行驶路径及仓位状态变化;
计算模块,被配置为利用预设的调度奖励模型计算每个调度方案对应的奖励值,根据奖励值最高的调度方案对应的所述目标机器人的行驶路径生成调度指令,将所述调度指令发送给所述目标机器人;
所述计算模块还被配置为获取与所述当前周期相同历史时间段内,机器人在所述调度方案对应的行驶路径中的各个相邻节点之间行驶的历史平均速度和历史通行时间;基于所述历史平均速度和所述历史通行时间计算所述相邻节点对应的奖励值,将所述调度方案中全部所述相邻节点的奖励值求和得到总奖励值,将所述总奖励值作为所述调度方案对应的调度奖励收益;
所述计算模块还被配置为利用以下公式计算相邻节点对应的奖励值:
8.一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至6中任一项所述的方法。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211595940.0A CN115640986B (zh) | 2022-12-13 | 2022-12-13 | 基于奖励的机器人调度方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211595940.0A CN115640986B (zh) | 2022-12-13 | 2022-12-13 | 基于奖励的机器人调度方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115640986A CN115640986A (zh) | 2023-01-24 |
CN115640986B true CN115640986B (zh) | 2023-03-28 |
Family
ID=84948375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211595940.0A Active CN115640986B (zh) | 2022-12-13 | 2022-12-13 | 基于奖励的机器人调度方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115640986B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220351133A1 (en) * | 2021-05-03 | 2022-11-03 | Accenture Global Solutions Limited | Modeling dynamic material flow in generative design using topological maps |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019237031A1 (en) * | 2018-06-07 | 2019-12-12 | Deka Products Limited Partnership | System and method for distributed utility service execution |
US11400592B2 (en) * | 2019-08-19 | 2022-08-02 | Wipro Limited | Method and system for task execution in dynamic heterogeneous robotic environment |
CN113837628B (zh) * | 2021-09-16 | 2022-12-09 | 中国钢研科技集团有限公司 | 一种基于深度强化学习的冶金工业车间天车调度方法 |
CN114296440B (zh) * | 2021-09-30 | 2024-04-09 | 中国航空工业集团公司北京长城航空测控技术研究所 | 一种融合在线学习的agv实时调度方法 |
CN115293033A (zh) * | 2022-07-26 | 2022-11-04 | 哈尔滨工业大学 | 一种航天器人工智能模型训练方法与系统 |
CN115145285A (zh) * | 2022-07-29 | 2022-10-04 | 陕西科技大学 | 一种仓储agv多点取送货最优路径规划方法及系统 |
-
2022
- 2022-12-13 CN CN202211595940.0A patent/CN115640986B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115640986A (zh) | 2023-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hörl et al. | Fleet operational policies for automated mobility: A simulation assessment for Zurich | |
Bertsimas et al. | Online vehicle routing: The edge of optimization in large-scale applications | |
CN110645983B (zh) | 用于无人车的路径规划方法、装置和系统 | |
Sayarshad et al. | A scalable non-myopic dynamic dial-a-ride and pricing problem | |
WO2019165616A1 (zh) | 信号灯控制方法、相关设备及系统 | |
CN111750862A (zh) | 基于多区域的机器人路径规划方法、机器人及终端设备 | |
Chen et al. | Spatial-temporal pricing for ride-sourcing platform with reinforcement learning | |
CN113763700B (zh) | 信息处理方法、装置、计算机设备及存储介质 | |
CN115640986B (zh) | 基于奖励的机器人调度方法、装置、设备及介质 | |
JP2016151940A (ja) | カーシェアリングシステムの運用計画作成支援システム | |
Dandl et al. | Autonomous mobility-on-demand real-time gaming framework | |
US11960302B2 (en) | Enhanced robot fleet navigation and control | |
Sowmya et al. | Model free Reinforcement Learning to determine pricing policy for car parking lots | |
Lin et al. | Efficient collaborative multi-agent deep reinforcement learning for large-scale fleet management | |
Erduran et al. | Negotiation in Ride-hailing between Cooperating BDI Agents. | |
CN115933390A (zh) | 路口控制策略的确定方法及装置、处理器以及电子设备 | |
CN116810827A (zh) | 自主移动设备中的任务分派 | |
CN115208892A (zh) | 基于动态资源需求的车路协同在线任务调度方法及系统 | |
CN114298870A (zh) | 一种路径规划方法、装置、电子设备及计算机可读介质 | |
CN113799139A (zh) | 一种机器人的控制方法、装置、计算机介质和计算机设备 | |
CN115660386A (zh) | 机器人调度奖励方法、装置、电子设备及存储介质 | |
CN116991084B (zh) | 一种无人驾驶模拟仿真系统、方法、装置和存储介质 | |
Lenagh | Multi-robot task allocation: a spatial queuing approach | |
CN116882860B (zh) | 运输车辆调度方法、装置、电子设备和可读介质 | |
Philips et al. | Traffic radar: A holonic traffic coordination system using prosa++ and d-mas |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |