发明内容
本申请的目的在于提出一种改进的确定分拣机器人行车路径的方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请实施例提供了一种确定分拣机器人行车路径的方法,方法包括:响应于分拣机器人在导入台称重扫描,在分拣地图中确定分拣机器人的目的地;根据目的地,在分拣地图中确定目标落袋口;识别目标落袋口的倾倒点中位于与导入台的导入方向垂直的路径上的两个倾倒点;分别计算导入台至两个倾倒点的路径成本;将较小的路径成本对应的倾倒点确定为分拣地图中的目标倾倒点;在预先确定的从导入台至目标倾倒点的待选落袋路径中,确定优选落袋路径;向分拣机器人发送包括优选落袋路径的落袋任务。
在一些实施例中,分别计算导入台至两个倾倒点的路径成本包括:将分拣地图中分拣机器人的每一个行驶节点在转弯地图中拆分为东、南、西、北4个方向点;对于东、南、西、北4个方向点,采用单向边分别连接东至南、东至北、南至东、南至西、西至南、西至北、北至东和北至西;对应分拣地图中的两个相邻的行驶节点之间的原路径,在转弯地图中建立新的采用单向边连接的路径;根据预设的单向边的成本以及分拣机器人在转弯地图中由导入台至两个倾倒点的路径,分别计算导入台至两个倾倒点的路径成本。
在一些实施例中,将较小的路径成本对应的倾倒点确定为分拣地图中的目标倾倒点包括:响应于分拣机器人的翻盖方向为向右翻盖,落袋口北侧的路径为向东行驶的单向路径,且落袋口南侧的路径为向西行驶的单向路径,执行以下一项或多项:若目标落袋口位于导入台的第一象限或第四象限,则将分拣地图中目标落袋口与导入台的导入方向垂直的路径上的两个倾倒点中位于北侧的倾倒点作为目标倾倒点;若目标落袋口位于导入台的第二象限或第三象限,则将分拣地图中目标落袋口与导入台的导入方向垂直的路径上的两个倾倒点中位于南侧的倾倒点作为目标倾倒点。
在一些实施例中,将较小的路径成本对应的倾倒点确定为分拣地图中的目标倾倒点包括:响应于分拣机器人的翻盖方向为向左翻盖,落袋口北侧的路径为向东行驶的单向路径,且落袋口南侧的路径为向西行驶的单向路径,执行以下一项或多项:若目标落袋口位于导入台的第一象限或第四象限,则将分拣地图中目标落袋口与导入台的导入方向垂直的路径上的两个倾倒点中位于南侧的倾倒点作为目标倾倒点;
若目标落袋口位于导入台的第二象限或第三象限,则将分拣地图中目标落袋口与导入台的导入方向垂直的路径上的两个倾倒点中位于北侧的倾倒点作为目标倾倒点。
在一些实施例中,方法还包括:响应于分拣机器人完成落袋任务,随机或根据属于各导入台的分拣机器人数量,确定分拣机器人所返回的导入台;确定所返回的导入台的空车暂存位中距目标落袋口的曼哈顿距离最小的空车暂存位;在预先确定的从目标落袋口至曼哈顿距离最小的空车暂存位的待选返回路径中,确定优选返回路径;向分拣机器人发送包括优选返回路径的空车暂存任务。
在一些实施例中,方法还包括:响应于分拣机器人到达空车暂存位,判断分拣机器人是否需要充电;若需要,向分拣机器人发送包括充电站位置的充电任务;若不需要,向分拣机器人发送包括排队暂存位的排队任务。
在一些实施例中,排队暂存位为距空车暂存位所属的导入台最近的空闲排队暂存位。
在一些实施例中,距空车暂存位所属的导入台最近的空闲排队暂存位根据以下步骤确定:根据距空车暂存位所属的导入台的距离由近至远,遍历排队暂存位的各列直至查询到存在空闲排队暂存位的列;将存在空闲排队暂存位的列中距离空车暂存位所属的导入台最近的空闲排队暂存位,确定为距空车暂存位所属的导入台最近的空闲排队暂存位。
在一些实施例中,方法还包括:响应于与导入台相邻的排队缓存位队列中无分拣机器人,向距离排队缓存位队列最近的排队暂存位队列中的分拣机器人发送第一整体平移指令,将距离排队缓存位队列最近的排队暂存位队列中的分拣机器人平移至排队缓存位队列。
在一些实施例中,方法还包括:根据距排队缓存位队列的距离由近至远,判断当前排队暂存位队列是否无分拣机器人,若是,向当前队列的后一排队暂存位队列中的分拣机器人发送第二整体平移指令,将后一排队暂存位队列中的分拣机器人平移至当前排队暂存位队列。
在一些实施例中,方法还包括:当位于导入台的分拣机器人响应于落袋任务出发时,触发位于排队缓存位队列首位的分拣机器人前往导入台。
在一些实施例中,方法还包括:根据以下一项或多项指标优化确定分拣机器人行车路径的方法:分拣总时长、导入台使用率和分拣机器人运行总时长。
第二方面,本申请实施例提供了一种确定分拣机器人行车路径的装置,装置包括:目的地确定单元,用于响应于分拣机器人在导入台称重扫描,在分拣地图中确定分拣机器人的目的地;落袋口确定单元,用于根据目的地,在分拣地图中确定目标落袋口;倾倒点识别单元,用于识别目标落袋口的倾倒点中位于与导入台的导入方向垂直的路径上的两个倾倒点;路径成本计算单元,用于分别计算导入台至两个倾倒点的路径成本;倾倒点确定单元,用于将较小的路径成本对应的倾倒点确定为分拣地图中的目标倾倒点;落袋路径确定单元,用于在预先确定的从导入台至目标倾倒点的待选落袋路径中,确定优选落袋路径;落袋路径发送单元,用于向分拣机器人发送包括优选落袋路径的落袋任务。
在一些实施例中,路径成本计算单元包括:节点拆分子单元,用于将分拣地图中分拣机器人的每一个行驶节点在转弯地图中拆分为东、南、西、北4个方向点;单向边连接子单元,用于对于东、南、西、北4个方向点,采用单向边分别连接东至南、东至北、南至东、南至西、西至南、西至北、北至东和北至西;路径连接子单元,用于对应分拣地图中的两个相邻的行驶节点之间的原路径,在转弯地图中建立新的采用单向边连接的路径;成本计算子单元,用于根据预设的单向边的成本以及分拣机器人在转弯地图中由导入台至两个倾倒点的路径,分别计算导入台至两个倾倒点的路径成本。
在一些实施例中,倾倒点确定单元进一步用于:响应于分拣机器人的翻盖方向为向右翻盖,落袋口北侧的路径为向东行驶的单向路径,且落袋口南侧的路径为向西行驶的单向路径,执行以下一项或多项:用于若目标落袋口位于导入台的第一象限或第四象限,则将分拣地图中目标落袋口与导入台的导入方向垂直的路径上的两个倾倒点中位于北侧的倾倒点作为目标倾倒点;用于若目标落袋口位于导入台的第二象限或第三象限,则将分拣地图中目标落袋口与导入台的导入方向垂直的路径上的两个倾倒点中位于南侧的倾倒点作为目标倾倒点。
在一些实施例中,倾倒点确定单元进一步用于:响应于分拣机器人的翻盖方向为向左翻盖,落袋口北侧的路径为向东行驶的单向路径,且落袋口南侧的路径为向西行驶的单向路径,执行以下一项或多项:若目标落袋口位于导入台的第一象限或第四象限,则将分拣地图中目标落袋口与导入台的导入方向垂直的路径上的两个倾倒点中位于南侧的倾倒点作为目标倾倒点;若目标落袋口位于导入台的第二象限或第三象限,则将分拣地图中目标落袋口与导入台的导入方向垂直的路径上的两个倾倒点中位于北侧的倾倒点作为目标倾倒点。
在一些实施例中,装置还包括:导入台确定单元,用于响应于分拣机器人完成落袋任务,随机或根据属于各导入台的分拣机器人数量,确定分拣机器人所返回的导入台;暂存位确定单元,用于确定所返回的导入台的空车暂存位中距目标落袋口的曼哈顿距离最小的空车暂存位;返回路径确定单元,用于在预先确定的从目标落袋口至曼哈顿距离最小的空车暂存位的待选返回路径中,确定优选返回路径;返回路径发送单元,用于向分拣机器人发送包括优选返回路径的空车暂存任务。
在一些实施例中,装置还包括:充电判断单元,用于响应于分拣机器人到达空车暂存位,判断分拣机器人是否需要充电;充电任务发送单元,用于若需要,向分拣机器人发送包括充电站位置的充电任务;排队任务发送单元,用于若不需要,向分拣机器人发送包括排队暂存位的排队任务。
在一些实施例中,排队任务发送单元中的排队暂存位为距空车暂存位所属的导入台最近的空闲排队暂存位。
在一些实施例中,排队任务发送单元中的距空车暂存位所属的导入台最近的空闲排队暂存位根据以下步骤确定:根据距空车暂存位所属的导入台的距离由近至远,遍历排队暂存位的各列直至查询到存在空闲排队暂存位的列;将存在空闲排队暂存位的列中距离空车暂存位所属的导入台最近的空闲排队暂存位,确定为距空车暂存位所属的导入台最近的空闲排队暂存位。
在一些实施例中,装置还包括:第一平移指令发送单元,用于响应于与导入台相邻的排队缓存位队列中无分拣机器人,向距离排队缓存位队列最近的排队暂存位队列中的分拣机器人发送第一整体平移指令,将距离排队缓存位队列最近的排队暂存位队列中的分拣机器人平移至排队缓存位队列。
在一些实施例中,装置还包括:第二平移指令发送单元,用于根据距排队缓存位队列的距离由近至远,判断当前排队暂存位队列是否无分拣机器人,若是,向当前队列的后一排队暂存位队列中的分拣机器人发送第二整体平移指令,将后一排队暂存位队列中的分拣机器人平移至当前排队暂存位队列。
在一些实施例中,装置还包括:前往导入台触发单元,用于当位于导入台的分拣机器人响应于落袋任务出发时,触发位于排队缓存位队列首位的分拣机器人前往导入台。
在一些实施例中,装置还包括:路径优化确定单元,用于根据以下一项或多项指标优化确定分拣机器人行车路径的装置:分拣总时长、导入台使用率和分拣机器人运行总时长。
第三方面,本申请实施例提供了一种设备,包括:一个或多个处理器;储存装置,用于储存一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上任一所述的确定分拣机器人行车路径的方法。
第四方面,本申请实施例提供了一种计算机可读储存介质,其上储存有计算机程序,该程序被处理器执行时实现如上任一所述的确定分拣机器人行车路径的方法。
本申请实施例提供的确定分拣机器人行车路径的方法和装置,首响应于分拣机器人在导入台称重扫描,在分拣地图中确定分拣机器人的目的地;之后根据目的地,在分拣地图中确定目标落袋口;之后识别目标落袋口的倾倒点中位于与导入台的导入方向垂直的路径上的两个倾倒点;之后分别计算导入台至两个倾倒点的路径成本;之后将较小的路径成本对应的倾倒点确定为分拣地图中的目标倾倒点;之后在预先确定的从导入台至目标倾倒点的待选落袋路径中,确定优选落袋路径;最后向分拣机器人发送包括优选落袋路径的落袋任务。该实施例设置目标落袋口的倾倒点为位于与导入台的导入方向垂直的路径上的两个倾倒点,并基于该两个倾倒点确定优选落袋路径,避免了分拣机器人在落袋前减速以及落袋时阻塞后面匀速行驶的其它分拣机器人,从而提高分拣机器人的分拣效率。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了根据本申请的确定分拣机器人行车路径的方法的一个示意性流程图。该确定分拣机器人行车路径的方法100包括:
在步骤110中,响应于分拣机器人在导入台称重扫描,在分拣地图中确定分拣机器人的目的地。
在本实施例中,分拣机器人为装备托盘的自动导引运输车,是一种轮式移动机器人,装备有电磁或光学等自动导引装置,它能够沿规定的导引路径行驶,具有安全保护以及各种移载功能。工作人员或机械臂将包裹放到托盘上,余下的搬运、分拣都由分拣机器人独立完成。
导入台为接收贴有条码的包裹并将包裹上包至分拣机器人的台面,可以为采用人工上包的半自动导入台或全部采用机械臂上包的全自动导入台。示例性的,导入台可以包括称重扫描台,若包裹在称重扫描台的称重结果低于分拣机器人的承重阈值,则将包裹上包至分拣机器人的托盘,并将扫描结果发送至分拣机器人的控制中心,以确定分拣机器人的目的地。这里的分拣地图,包括仓库内的规划和布局,具体包括导入台、空车暂存位、排队暂存位、充电站、机器人分拣区、落袋口和单行道的规划和布局等。
在步骤120中,根据目的地,在分拣地图中确定目标落袋口。
在本实施例中,落袋口绑定的目的地可以为大站点,也可以为小站点。一个小站点可以绑定一个落袋口,一个大站点可以绑定多个落袋口,从而使得大站点对应的落袋口流量与小站点对应的落袋口流量相近(或者在一个数量级)。同时,对应大站点的多个落袋口可以设置在同一区域,便于后续装车操作。
在确定目的地之后,可以随机确定分拣机器人的目标落袋口或根据以各落袋口为终点的分拣机器人的数量来确定分拣机器人的目标落袋口。例如,若以一个大站点的三个落袋口为终点的分拣机器人的数量分别为3、4、5个,那么,可以将分拣机器人的数量为3个的落袋口作为当前分拣机器人的目标落袋口。
在步骤130中,识别目标落袋口的倾倒点中位于与导入台的导入方向垂直的路径上的两个倾倒点。
在本实施例中,导入台的导入方向,与从导入台出发的单行道的方向相同。每个落袋口的四条边均可设置倾倒点,由于落袋口布置在从导入台出发的单行道的侧方,因此与落袋口相邻的路径中与导入方向垂直的路径有两条,每条路径上设有一个倾倒点,共有两个倾倒点。
在步骤140中,分别计算导入台至两个倾倒点的路径成本。
在本实施例中,从导入台至两个倾倒点的路径成本,可以根据从导入台至倾倒点的直行成本和转弯成本来计算。其中,直行成本和转弯成本又分别可以根据时间成本和/或能耗成本来确定。
在步骤150中,将较小的路径成本对应的倾倒点确定为分拣地图中的目标倾倒点。
在本实施例中,基于步骤140中计算得到的导入台至两个倾倒点的路径成本,可以选择较小的路径成本对应的倾倒点作为分拣地图中的目标倾倒点,以便降低分拣成本。
在步骤160中,在预先确定的从导入台至目标倾倒点的待选落袋路径中,确定优选落袋路径。
在本实施例中,在预先确定的从导入台至目标倾倒点的待选落袋路径中,可以随机选取一条待选落袋路径作为优选落袋路径,也可以从各待选落袋路径中,选择运行的分拣机器人数量最少的待选落袋路径作为优选落袋路径。
在步骤170中,向分拣机器人发送包括优选落袋路径的落袋任务。
在本实施例中,基于步骤160中确定的优选落袋路径,向分拣机器人发送包括优选落袋路径的落袋任务,以便分拣机器人按照控制中心的指令行进,完成分拣任务。
本申请的上述实施例提供的确定分拣机器人行车路径的方法,基于与导入台的导入方向垂直的路径上的两个倾倒点确定优选落袋路径,避免了分拣机器人由于在落袋前减速以及在落袋时停留所造成的阻塞,使得后面的其它分拣机器人仍可以匀速行驶,从而提高了分拣机器人的运行速度,进而提高了分拣机器人的分拣效率。
以下结合图2a,说明图1中计算导入台至倾倒点的路径成本的方法。
在本实施例中,如图2a所示,计算导入台至倾倒点的路径成本的方法200包括:
在步骤210中,将分拣地图中分拣机器人的每一个行驶节点在转弯地图中拆分为东、南、西、北4个方向点。
在本实施例中,分拣地图中分拣机器人的每一个行驶节点,也即分拣机器人在分拣地图的行驶路径中所需经过的节点,体现在分拣地图上,也即地图中的一格,例如导入台、空车暂存位、排队暂存位、充电站、落袋口等,在地图上的呈现形式均为一格。
在步骤220中,对于东、南、西、北4个方向点,采用单向边分别连接东至南、东至北、南至东、南至西、西至南、西至北、北至东和北至西。
在本实施例中,通过设置东、南、西、北4个方向点并分别采用单向边连接东至南、东至北、南至东、南至西、西至南、西至北、北至东和北至西,可以将原路径中转弯的成本转换为单向边的成本。
在步骤230中,对应分拣地图中的两个相邻的行驶节点之间的原路径,在转弯地图中建立新的采用单向边连接的路径。
在本实施例中,通过在转弯地图中建立新的采用单向边连接的路径,对应分拣地图中的两个相邻的行驶节点之间的原路径,可以将原路径中直行路径的成本转变为转弯地图中的采用单向边连接的路径的成本。
在步骤240中,根据预设的单向边的成本以及分拣机器人在转弯地图中由导入台至两个倾倒点的路径,分别计算导入台至两个倾倒点的路径成本。
在本实施例中,根据预设的单向边的成本以及分拣机器人在转弯地图中由导入台至两个倾倒点的路径,可以分别计算出分拣机器人在转弯地图中由导入台至每个倾倒点的路径的成本。
请参考图2b和图2c,图2b示出了计算分拣机器人的行驶节点之间的路径成本的分拣地图的示例性结构图;图2c示出了计算分拣机器人的行驶节点之间的路径成本的转弯地图的示例性结构图。
如图2b所示,以分拣地图中的行驶节点250和行驶节点260之间的路径为例,将行驶节点250拆成东、南、西、北4个方向点,可以得到如图2c的转弯地图中的方向点251、252、253和254;将分拣地图中的行驶节点260拆成东、南、西、北4个方向点,可以得到转弯地图中的方向点261、262、263和264。此时,分别基于各行驶节点新建的方向点,新建8条单向边,包括东至南、东至北、南至东、南至西、西至南、西至北、北至东和北至西,得到的每条边的成本即为转弯成本。对于行驶节点250和行驶节点260之间的原路径,在带转弯半径的地图中对应建立方向点254至方向点264的单向边和方向点262至方向点252的单向边,此时,这两条单向边的成本即为原路径成本。
本申请的上述实施例提供的计算导入台至倾倒点的路径成本的方法,通过构建带转弯半径的地图来计算路径成本,提高了计算路径成本的效率和准确性,从而使得分拣机器人的控制中心可以合理确定分拣机器人行车路径,提高分拣机器人的运转效率。
根据上述图2中计算导入台至倾倒点的路径成本的方法,以下通过两个示例说明如何将较小的路径成本对应的倾倒点确定为分拣地图中的目标倾倒点。
在第一个示例中,以分拣机器人的翻盖方向为向右翻盖、落袋口北侧的路径为向东行驶的单向路径,且落袋口南侧的路径为向西行驶的单向路径为例,说明如何将较小的路径成本对应的倾倒点确定为分拣地图中的目标倾倒点。
在以分拣机器人的翻盖方向为向右翻盖、落袋口北侧的路径为向东行驶的单向路径,且落袋口南侧的路径为向西行驶的单向路径为例时,将较小的路径成本对应的倾倒点确定为分拣地图中的目标倾倒点可以包括:若目标落袋口位于导入台的第一象限或第四象限,则将分拣地图中目标落袋口与导入台的导入方向垂直的路径上的两个倾倒点中位于北侧的倾倒点作为目标倾倒点;若目标落袋口位于导入台的第二象限或第三象限,则将分拣地图中目标落袋口与导入台的导入方向垂直的路径上的两个倾倒点中位于南侧的倾倒点作为目标倾倒点。
在第二个示例中,以分拣机器人的翻盖方向为向左翻盖,落袋口北侧的路径为向东行驶的单向路径,且落袋口南侧的路径为向西行驶的单向路径为例,说明如何将较小的路径成本对应的倾倒点确定为分拣地图中的目标倾倒点。
在以分拣机器人的翻盖方向为向左翻盖,落袋口北侧的路径为向东行驶的单向路径,且落袋口南侧的路径为向西行驶的单向路径为例时,将较小的路径成本对应的倾倒点确定为分拣地图中的目标倾倒点可以包括:若目标落袋口位于导入台的第一象限或第四象限,则将分拣地图中目标落袋口与导入台的导入方向垂直的路径上的两个倾倒点中位于南侧的倾倒点作为目标倾倒点;若目标落袋口位于导入台的第二象限或第三象限,则将分拣地图中目标落袋口与导入台的导入方向垂直的路径上的两个倾倒点中位于北侧的倾倒点作为目标倾倒点。
应当理解,上述的两个示例,仅为对于将较小的路径成本对应的倾倒点确定为分拣地图中的目标倾倒点的方法的示例性说明,并不代表对于本申请的限定,例如,上述的分拣机器人的翻盖方向也可以为向左翻盖,上述的落袋口北侧的路径也可以为向西行驶的单向路径,而上述落袋口南侧的路径也可以为向东行驶的单向路径等。
在本申请的一些实施例中,上述确定分拣机器人行车路径的方法,还可以包括确定分拣机器人返回导入台的步骤:例如,响应于分拣机器人完成落袋任务,随机或根据属于各导入台的分拣机器人数量,确定分拣机器人所返回的导入台;在确定返回导入台时,上述方法还可以包括确定空车暂存位的步骤,例如确定所返回的导入台的空车暂存位中距目标落袋口的曼哈顿距离最小的空车暂存位;之后,确定从当前所在的目标落袋口至确定的空车暂存位的优选返回路径,例如,在预先确定的从目标落袋口至曼哈顿距离最小的空车暂存位的待选返回路径中,确定优选返回路径;最后,上述方法还包括向分拣机器人发送包括优选返回路径的空车暂存任务的步骤。
通过上述的返回导入台的步骤,可以提升分拣机器人返回导入台的效率,从而提高分拣机器人在仓库中的流转效率。
在本申请的一些实施例中,上述确定分拣机器人行车路径的方法还可以包括对于到达空车暂存位的分拣机器人下发下一步执行指令的步骤,例如,响应于分拣机器人到达空车暂存位,判断分拣机器人是否需要充电;若需要,向分拣机器人发送包括充电站位置的充电任务;若不需要,向分拣机器人发送包括排队暂存位的排队任务。
在这里,向分拣机器人发送包括充电站位置的充电任务和向分拣机器人发送包括排队暂存位的排队任务,可以根据分拣机器人的电量情况确定分拣机器人所需执行的下一步执行指令,可以提高分拣机器人的流转效率。
在向分拣机器人发送包括排队暂存位的排队任务时,该排队暂存位可以为排队暂存位队列的任意一个排队暂存位,为了减少排队暂存位的分拣机器人向导入台行驶的时间,在本申请上述实施例的一些可选实现方式中,排队暂存位可以为距空车暂存位所属的导入台最近的空闲排队暂存位。
距空车暂存位所属的导入台最近的空闲排队暂存位,可以根据空车暂存位与导入台的距离确定。例如,在本申请上述实施例的一些可选实现方式中,距空车暂存位所属的导入台最近的空闲排队暂存位可以根据以下步骤确定:根据距空车暂存位所属的导入台的距离由近至远,分拣机器人的控制中心遍历排队暂存位的各列直至查询到存在空闲排队暂存位的列;将存在空闲排队暂存位的列中距离空车暂存位所属的导入台最近的空闲排队暂存位,确定为距空车暂存位所属的导入台最近的空闲排队暂存位。通过该确定距空车暂存位所属的导入台最近的空闲排队暂存位的方法,可以快速有效的确定距空车暂存位所属的导入台最近的空闲排队暂存位,进而提高分拣机器人的流转效率。
在本申请上述实施例的一些可选实现方式中,上述的确定分拣机器人行车路径的方法还包括:响应于与导入台相邻的排队缓存位队列中无分拣机器人,向距离排队缓存位队列最近的排队暂存位队列中的分拣机器人发送第一整体平移指令,将距离排队缓存位队列最近的排队暂存位队列中的分拣机器人平移至排队缓存位队列。通过平移距离排队缓存位队列最近的排队暂存位队列中的分拣机器人平移至无分拣机器人的排队缓存位队列,可以减少分拣机器人距导入台的距离,为分拣机器人进入导入台做好准备,进而提高分拣机器人的流转效率。
在本申请上述实施例的一些可选实现方式中,上述的确定分拣机器人行车路径的方法还可以包括:根据距排队缓存位队列的距离由近至远,判断当前排队暂存位队列是否无分拣机器人,若是,向当前队列的后一排队暂存位队列中的分拣机器人发送第二整体平移指令,将后一排队暂存位队列中的分拣机器人平移至当前排队暂存位队列。通过将后一排队暂存位队列中的分拣机器人平移至当前排队暂存位队列,可以减少原来位于后一排队的分拣机器人距导入台的距离,为分拣机器人进入排队缓存位做好准备,进而提高分拣机器人的流转效率。
在本申请上述实施例的一些可选实现方式中,确定分拣机器人行车路径的方法还包括:当位于导入台的分拣机器人响应于落袋任务出发时,触发位于排队缓存位队列首位的分拣机器人前往导入台。通过触发位于排队缓存位队列首位的分拣机器人前往导入台,可以缩减分拣机器人到达导入台的时间,从而提高分拣机器人的流转效率。
在本申请上述实施例的一些可选实现方式中,方法还包括:根据以下一项或多项指标优化确定分拣机器人行车路径的方法:分拣总时长、导入台使用率和分拣机器人运行总时长。
在本实现方式中,分拣总时长是指各导入台连续提供预定数量的待分拣包裹时,分拣系统分拣完成所有包裹所需要的时间。分拣总时长越短,系统效率越高。导入台使用率是指用1减去导入台空闲率,其中导入台空闲率是指工作人员等待分拣机器人的总时间/分拣总时长。各导入台分别计算导入台空闲率,导入台空闲率越低,导入台使用率越高,也即分拣系统的效率越高。而分拣机器人运行总时长,是指各个分拣机器人的运行时长之和。在各导入台空闲率越低时,若分分拣机器人运行总时长越高,那么分拣系统的效率越高。
通过本实现方式中的根据指标优化确定分拣机器人行车路径的方法,可以不断优化或迭代该确定分拣机器人行车路径的方法,从而进一步提高分拣系统的效率,减少分拣机器人的空车率。
进一步参考图3a,图3a示出了根据本申请实施例提供的确定分拣机器人行车路径的方法中的分拣地图的一个实施例的示意图。
如图3a所示,分拣地图中包括:导入台310、分拣机器人320、落袋口330、空车暂存位340、充电站350、排队暂存位360、排队缓存位370。
以该分拣地图中的仓库为例,中部为拣选区,北侧有1个导入台,南侧有1个导入台,每个导入台包括左右两个称重扫描台,通过工作人员在导入台手动对分拣机器人进行上包操作。分拣区共有35个落袋口。充电桩共有4个,2个位于地图最上一排,4个位于地图最下一排。分拣机器人数量共有50个。
在该分拣地图中,规划与布局包括:
1.导入台规划
导入台宽度为2,即同时会有两列空车在导入台后排队等候上包。由于导入台正对的两列通道均为单行线,且单行线方向与导入台的导入方向相同,所以位于北侧的导入台与位于南侧的导入台不会正好相对,而是交错布置。
2.落袋口设置
每一个落袋口都有上下左右(也即北南西东)共四个相邻位置,但规定只有上下两个位置可供分拣机器人落袋。这是考虑到分拣机器人落袋需要提前减速,而且落袋需要时间,都会阻挡后面匀速行驶的其他分拣机器人。
3.落袋口的布局
1)落袋口不能位于导入台所在列,落袋口左右相距最短为1格。
2)原则上每个落袋口设置上下两个分拣机器人倾倒点,这样上下两个落袋口相距最少为2格,即上下两个落袋口之间存在两条单行线,且方向相反。以分拣机器人只能右侧翻盖落袋为例,位于落袋口北侧的单行线方向朝右,落袋口南侧的单行线方向朝左。
3)落袋口绑定站点时,小站点绑定一个落袋口;大站点绑定多个落袋口,使得大站点对应的落袋口流量与小站点对应的落袋口流量相近(或者在一个数量级)。同时,多个对应大站点的落袋口应设置在同一区域,便于后续装车操作。
基于如图3a所示的分拣地图,本申请实施例的一个确定分拣机器人行车路径的方法的应用场景包括:确定机器人分拣流程、确定优选路径算法和确定系统指标。
以下分别说明如何确定机器人分拣流程、确定优选路径算法和确定系统指标。
1.确定机器人分拣流程
分拣机器人从导入台接收包裹后,前进一格进入称重扫描台进行称重扫描,确定包裹的目的地。根据目的地找到绑定的落袋口,选择一条最短路径,给分拣机器人分配落袋任务。分拣机器人到达落袋口投递后,分配一个到空车暂存位的任务。分拣机器人到达空车暂存位时,不需充电时,分配一个去排队暂存位的排队任务,进入排队区;需要充电时分配一个去充电站位置的充电任务。
2.确定优选路径算法
确定优选路径算法可以包括分拣区路径算法和排队区路径算法。以下分别对分拣区路径算法和排队区路径算法进行说明。
1)分拣区路径算法,包括确定南北侧分拣机器人倾倒点选择、确定分拣路径、确定分拣区交叉口冲突时的策略和确定返回空车暂存位路径。
在南北侧分拣机器人倾倒点选择时,对于每一个落袋口,一般有北侧和南侧两个分拣机器人倾倒点可以选择。每个分拣机器人上包、确定好落袋口后,只能选择一个分拣机器人倾倒点。倾倒点的选择是通过导入台与落袋口的相对位置决定的。以导入台为原点,如果落袋口位置落入导入台的第一、第四象限,则从该导入台出发的包裹应该选择该落袋口的北侧倾倒点;如果落入第二、第三象限,则选择南侧倾倒点。如下图所示,落袋口位于该导入台的第一象限,即在分拣区示意图中,落袋口位于导入台右上方,应选择该落袋口的北侧分拣机器人倾倒点。
另外对于落入第一、第三象限的情况下,倾倒点的选择需进行额外说明。虽然这两种情况下,如图3b所示,根据如上的倾倒口选择,分拣机器人路径会比选择另一侧倾倒口的路径更长,但是分拣机器人所需转弯的次数要少两次。假设导入台位于A点,从A点出发的某一包裹需要投入位于B点的落袋口,路径380终点为北侧倾倒口C,路径390终点为南侧倾倒口D。虽然路径380比路径390长度少两格,但是路径380需要多进行两次转弯,即对于路径380的分拣机器人,需要调整朝向到朝右时才可以倾倒包裹。分拣机器人每多一次转弯,都需要额外的时间和能耗,包括减速、转弯、重新启动的时间和能耗等,相对于直线行驶所需的时间和能耗更多。而且,每次转弯由于减速、转弯,都会阻挡原行驶方向上的该分拣机器人后面的其他分拣机器人,同时转弯本身会影响新的行驶方向上的分拣机器人。
返回图3a,在确定分拣路径时,对于每对导入口至落袋口的倾倒点,预先存储最短路径。如果有多条最短路径,每对导入口至落袋口的倾倒点可以随机存储或按照预定规则存储预定数量的路径。
分拣机器人在称重扫描台扫描包裹的同时,绑定该包裹的信息,由分拣机器人控制中心确定分拣机器人的起点为当前称重扫描台,分拣机器人的终点为包裹对应的落袋口。其中,如果该包裹目的地对应多个落袋口,可随机选定一个落袋口或选择分拣机器人数量较少的落袋口。确定好分拣机器人的起点、终点后,控制中心从预先存储的最短路径(也即待选落袋路径)中随机选择一条作为优选落袋路径,发送包括优选落袋路径的落袋任务给分拣机器人,防止分拣机器人过度聚集在某一片区域。
在确定分拣区交叉口冲突时的策略时,由于分拣区设置单行线,分拣机器人不会发生迎面碰撞的情况,只会在交叉口发生侧面冲突。发生冲突时,由分拣机器人控制中心决定哪个分拣机器人等待,不用重新规划路径。
在确定返回空车暂存位路径时,对于每对落袋口的倾倒点至空车暂存位,预先存储最短路径(也即待选返回路径)。如果有多条最短路径,每对导入口至落袋口的倾倒点最可以存储预定数量的待选返回路径。
由于各导入台流量均衡,控制中心为分拣完毕的分拣机器人随机选择一个导入台返回。控制中心确定分拣完毕的分拣机器人返回空车暂存位路径的起点为当前落袋口的倾倒点,终点为曼哈顿距离最小的该导入台所属的空车暂存位。确定好分拣机器人起点、终点后,控制中心从预先存储的最短路径(也即待选返回路径)中随机选择一条作为优选返回路径,向分拣机器人发送包括优选返回路径的空车暂存任务。
2)排队区路径算法,包括确定排队区的设置、确定排队暂存位优先级、确定排队策略和确定空车平衡策略。
在确定排队区的设置时,在每个导入口有左右两个称重扫描台,每个称重扫描台对应一列排队缓存位,每列有4个排队缓存位。排队缓存位用于快速补充空车到导入口。除了排队缓存位,每个导入口左右还各有一列或两列的排队暂存位。排队暂存位用于补充空车到排队缓存位,以及在导入口不忙的时候长时间停放空车。
在确定排队暂存位的优先级时,设定同一导入台同侧的各列排队暂存位优先级:第一列>第二列>第三列;同一列排队暂存位中排队暂存位优先级:离导入台距离越近优先级越高。
在确定排队策略时,空车暂存位至排队暂存位:对空车暂存位上存在的分拣机器人,发送一个去该空车暂存位所属导入台的优先级最高的排队暂存位的任务;排队暂存位至排队缓存位:如果一列排队缓存位上无分拣机器人时触发最近一列(第1列)的排队暂存位上的分拣机器人队列整体平移至该排队缓存位,同时触发第二列排队暂存位上的分拣机器人整体平移至第一列排队暂存位。排队缓存位至称重扫描台:一旦有分拣机器人从称重扫描台出发,立即触发排队缓存位的分拣机器人前往称重扫描台。
在确定空车平衡策略时,位于各个导入口的可用分拣机器人数可能会发生不平衡的问题,可以通过回空车暂存位任务的策略转换或者通过对空车暂存位进行打分来解决。
3.确定系统指标
在根据上述应用场景中的确定分拣机器人行车路径的方法确定分拣机器人行车路径后,该确定分拣机器人行车路径的方法还可以包括计算如下系统指标:
1)分拣总时长
各导入台连续提供预定数量的待分拣包裹时,分拣系统分拣完成所有包裹所需要的时间。分拣总时长越短,系统效率越高。
2)导入台使用率
导入台使用率=1-工作人员等待分拣机器人的总时间/分拣总时长。各导入台分别计算导入台空闲率。导入台空闲率越低,分拣系统效率越高。
3)分拣机器人运行总时长
分拣机器人有移动任务时计入分拣机器人运行时长。分拣机器人运行总时长=各分拣机器人的运行时长之和。各导入台使用率接近100%时,分拣机器人运行总时长越小越好。
在确定上述系统指标之后,可以根据该系统指标,优化本申请实施例的确定分拣机器人行车路径的方法。
本申请的上述实施例的应用场景中提供的确定分拣机器人行车路径的方法,通过确定机器人分拣流程、确定优选路径算法和系统指标优化,可以进一步优化分拣机器人的行车路径,从而提高分拣机器人的拣货效率。
进一步参考图4,作为对上述方法的实现,本申请实施例提供了一种确定分拣机器人行车路径的装置的一个实施例,该确定分拣机器人行车路径的装置的实施例与图1、图2a、图2b、图2c、图3a和图3b中所示的确定分拣机器人行车路径的方法的实施例相对应,由此,上文针对图1、图2a、图2b、图2c、图3a和图3b中确定分拣机器人行车路径的方法描述的操作和特征,同样适用于确定分拣机器人行车路径的装置400及其中包含的步骤,在此不再赘述。
如图4所示,该确定分拣机器人行车路径的装置400包括:目的地确定单元410,用于响应于分拣机器人在导入台称重扫描,在分拣地图中确定分拣机器人的目的地;落袋口确定单元420,用于根据目的地,在分拣地图中确定目标落袋口;倾倒点识别单元430,用于识别目标落袋口的倾倒点中位于与导入台的导入方向垂直的路径上的两个倾倒点;路径成本计算单元440,用于分别计算导入台至两个倾倒点的路径成本;倾倒点确定单元450,用于将较小的路径成本对应的倾倒点确定为分拣地图中的目标倾倒点;落袋路径确定单元460,用于在预先确定的从导入台至目标倾倒点的待选落袋路径中,确定优选落袋路径;落袋路径发送单元470,用于向分拣机器人发送包括优选落袋路径的落袋任务。
在本实施例的一些可选实现方式中,路径成本计算单元包括:节点拆分子单元,用于将分拣地图中分拣机器人的每一个行驶节点在转弯地图中拆分为东、南、西、北4个方向点;单向边连接子单元,用于对于东、南、西、北4个方向点,采用单向边分别连接东至南、东至北、南至东、南至西、西至南、西至北、北至东和北至西;路径连接子单元,用于对应分拣地图中的两个相邻的行驶节点之间的原路径,在转弯地图中建立新的采用单向边连接的路径;成本计算子单元,用于根据预设的单向边的成本以及分拣机器人在转弯地图中由导入台至两个倾倒点的路径,分别计算导入台至两个倾倒点的路径成本。
在本实施例的一些可选实现方式中,倾倒点确定单元进一步用于:响应于分拣机器人的翻盖方向为向右翻盖,落袋口北侧的路径为向东行驶的单向路径,且落袋口南侧的路径为向西行驶的单向路径,执行以下一项或多项:用于若目标落袋口位于导入台的第一象限或第四象限,则将分拣地图中目标落袋口与导入台的导入方向垂直的路径上的两个倾倒点中位于北侧的倾倒点作为目标倾倒点;用于若目标落袋口位于导入台的第二象限或第三象限,则将分拣地图中目标落袋口与导入台的导入方向垂直的路径上的两个倾倒点中位于南侧的倾倒点作为目标倾倒点。
在本实施例的一些可选实现方式中,倾倒点确定单元进一步用于:响应于分拣机器人的翻盖方向为向左翻盖,落袋口北侧的路径为向东行驶的单向路径,且落袋口南侧的路径为向西行驶的单向路径,执行以下一项或多项:若目标落袋口位于导入台的第一象限或第四象限,则将分拣地图中目标落袋口与导入台的导入方向垂直的路径上的两个倾倒点中位于南侧的倾倒点作为目标倾倒点;若目标落袋口位于导入台的第二象限或第三象限,则将分拣地图中目标落袋口与导入台的导入方向垂直的路径上的两个倾倒点中位于北侧的倾倒点作为目标倾倒点。
在本实施例的一些可选实现方式中,装置还包括:导入台确定单元,用于响应于分拣机器人完成落袋任务,随机或根据属于各导入台的分拣机器人数量,确定分拣机器人所返回的导入台;暂存位确定单元,用于确定所返回的导入台的空车暂存位中距目标落袋口的曼哈顿距离最小的空车暂存位;返回路径确定单元,用于在预先确定的从目标落袋口至曼哈顿距离最小的空车暂存位的待选返回路径中,确定优选返回路径;返回路径发送单元,用于向分拣机器人发送包括优选返回路径的空车暂存任务。
在本实施例的一些可选实现方式中,装置还包括:充电判断单元,用于响应于分拣机器人到达空车暂存位,判断分拣机器人是否需要充电;充电任务发送单元,用于若需要,向分拣机器人发送包括充电站位置的充电任务;排队任务发送单元,用于若不需要,向分拣机器人发送包括排队暂存位的排队任务。
在本实施例的一些可选实现方式中,排队任务发送单元中的排队暂存位为距空车暂存位所属的导入台最近的空闲排队暂存位。
在本实施例的一些可选实现方式中,排队任务发送单元中的距空车暂存位所属的导入台最近的空闲排队暂存位根据以下步骤确定:根据距空车暂存位所属的导入台的距离由近至远,遍历排队暂存位的各列直至查询到存在空闲排队暂存位的列;将存在空闲排队暂存位的列中距离空车暂存位所属的导入台最近的空闲排队暂存位,确定为距空车暂存位所属的导入台最近的空闲排队暂存位。
在本实施例的一些可选实现方式中,装置还包括:第一平移指令发送单元,用于响应于与导入台相邻的排队缓存位队列中无分拣机器人,向距离排队缓存位队列最近的排队暂存位队列中的分拣机器人发送第一整体平移指令,将距离排队缓存位队列最近的排队暂存位队列中的分拣机器人平移至排队缓存位队列。
在本实施例的一些可选实现方式中,装置还包括:第二平移指令发送单元,用于根据距排队缓存位队列的距离由近至远,判断当前排队暂存位队列是否无分拣机器人,若是,向当前队列的后一排队暂存位队列中的分拣机器人发送第二整体平移指令,将后一排队暂存位队列中的分拣机器人平移至当前排队暂存位队列。
在本实施例的一些可选实现方式中,装置还包括:前往导入台触发单元,用于当位于导入台的分拣机器人响应于落袋任务出发时,触发位于排队缓存位队列首位的分拣机器人前往导入台。
在本实施例的一些可选实现方式中,装置还包括:路径优化确定单元,用于根据以下一项或多项指标优化确定分拣机器人行车路径的装置:分拣总时长、导入台使用率和分拣机器人运行总时长。
本申请还提供了一种设备的实施例,包括:一个或多个处理器;储存装置,用于储存一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上任一所述的确定分拣机器人行车路径的方法。
本申请还提供了一种计算机可读储存介质的实施例,其上储存有计算机程序,该程序被处理器执行时实现如上任一所述的确定分拣机器人行车路径的方法。
应当理解,本申请实施例中所述的地图中的方向,上为北、下为南、左为西、右为东,该方向仅为说明各个点和/或路径之间的相互关系的示例性的方向,并不代表对地图的限定,例如,用户也可以根据使用习惯自行设定地图中的东、南、西、北方向,而采用本申请中的各个点和/或路径之间的相互关系,来公开本申请实施例的确定分拣机器人行车路径的方法和装置。
在本申请的上述实施例中,第一整体平移指令及第二整体平移指令仅代表两个响应条件不同、接收指令的主体也不同的整体平移指令,其中,第一整体平移指令的响应条件为响应于与导入台相邻的排队缓存位队列中无分拣机器人,接收指令的主体为距离所述排队缓存位队列最近的排队暂存位队列中的分拣机器人;而第二整体平移指令的响应条件为响应于当前排队暂存位队列无分拣机器人,接收指令的主体为当前队列的后一排队暂存位队列中的分拣机器人。本领域技术人员应当理解,其中的第一或第二并不构成对整体平移指令的特殊限定。
同理,在本申请的上述实施例中,第一平移指令发送单元及第二平移指令发送单元仅代表两个发送不同平移指令的发送单元,其中,第一平移指令发送单元用于发送第一整体平移指令,而第二平移指令发送单元用于发送第二整体平移指令。本领域技术人员应当理解,其中的第一或第二并不构成对平移指令发送单元的特殊限定。
下面参考图5,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统500的结构示意图。图5示出的终端设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据储存在只读储存器(ROM)502中的程序或者从储存部分508加载到随机访问储存器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还储存有系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的储存部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体储存器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入储存部分508。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本申请的方法中限定的上述功能。
需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读储存介质或者是上述两者的任意组合。计算机可读储存介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读储存介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问储存器(RAM)、只读储存器(ROM)、可擦式可编程只读储存器(EPROM或闪存)、光纤、便携式紧凑磁盘只读储存器(CD至ROM)、光储存器件、磁储存器件、或者上述的任意合适的组合。在本申请中,计算机可读储存介质可以是任何包含或储存程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读储存介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个单元、程序段、或代码的一部分,该单元、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括目的地确定单元、落袋口确定单元、倾倒点识别单元、路径成本计算单元、倾倒点确定单元、落袋路径确定单元和落袋路径发送单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,目的地确定单元还可以被描述为“响应于分拣机器人在导入台称重扫描,在分拣地图中确定分拣机器人的目的地的单元”。
计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:响应于分拣机器人在导入台称重扫描,在分拣地图中确定分拣机器人的目的地;根据目的地,在分拣地图中确定目标落袋口;识别目标落袋口的倾倒点中位于与导入台的导入方向垂直的路径上的两个倾倒点;分别计算导入台至两个倾倒点的路径成本;将较小的路径成本对应的倾倒点确定为分拣地图中的目标倾倒点;在预先确定的从导入台至目标倾倒点的待选落袋路径中,确定优选落袋路径;向分拣机器人发送包括优选落袋路径的落袋任务。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。