路径生成方法、装置、设备、存储介质及程序产品与流程

文档序号:26587802发布日期:2021-09-10 19:52阅读:62来源:国知局
路径生成方法、装置、设备、存储介质及程序产品与流程

1.本技术涉及智能仓储技术,尤其涉及一种路径生成方法、装置、设备、存储介质及程序产品。


背景技术:

2.在智能仓储领域,为了提高仓储系统的空间利用率,出现了移动货架,多排移动货架之间不需要预留巷道供机器人通过或执行取/放货操作,多排移动货架可以紧挨着并排放置,当需要向其中一个目标货架取/放货时,通过移动货架在目标货架一侧空出足够的空间,形成巷道。由于货架可移动,在不同时刻打开的巷道的位置可以不同。
3.但是,目前对仓储系统中机器人的路径生成方法,普遍都是基于固定货架的场景下的路劲规划,局限性大,未考虑移动货架场景,生成的路径存在绕路的情况,导致在移动货架场景下机器人的移动效率低。


技术实现要素:

4.本技术提供一种路径生成方法、装置、设备、存储介质及程序产品,用以提高移动货架场景下机器人的移动效率。
5.一方面,本技术提供一种路径生成方法,包括:
6.根据机器人所需执行的任务的起点和终点,以及所述任务开始执行时仓库中道路的位置、第一巷道的位置、第二巷道的位置,确定由所述起点移动至所述终点的候选路径;其中,所述第一巷道是所述仓库中当前已打开的巷道,所述第二巷道是所述仓库中当前被移动货架占用、且在所述移动货架被移开后会打开的巷道;
7.确定所述候选路径的总耗时,并根据所述候选路径的总耗时,确定所述机器人执行所述任务的路径。
8.一种可选的实施方式中,所述确定所述候选路径的总耗时,包括:
9.若所述候选路径包含第二巷道,则根据所述候选路径的通行耗时和转向耗时,以及所述候选路径所包含的第二巷道所需的打开时长,确定所述候选路径的总耗时;其中,所述候选路径的通行耗时包括所述候选路径所包含的道路和巷道的通行耗时的总和。
10.一种可选的实施方式中,所述根据所述候选路径的通行耗时和转向耗时,以及所述候选路径所包含的第二巷道所需的打开时长,确定所述候选路径的总耗时,包括:
11.确定从起点移动至所述候选路径所包含的第二巷道的入口位置的第一耗时,并确定从所述第二巷道的入口位置移动至所述终点的第二耗时,所述第一耗时和所述第二耗时均包括通行耗时和转向耗时;确定所述第一耗时与所述第二巷道所需的打开时长中的最大值;将所述最大值和所述第二耗时之和,作为所述候选路径的总耗时。
12.一种可选的实施方式中,所述确定所述候选路径的总耗时之前,还包括:
13.若所述候选路径包含第二巷道,则根据货架移动规则,确定所述候选路径所包含的第二巷道所需的打开时长。
14.一种可选的实施方式中,根据货架移动规则,确定所述候选路径所包含的第二巷道所需的打开时长,包括:
15.根据货架移动规则和所述第二巷道的位置,确定打开所述第二巷道所需移动的货架数量和距离;根据所述打开所述第二巷道所需移动的货架数量和距离、两个相邻货架的开始移动的间隔时长和货架移动速度,确定打开所述第二巷道所需的货架移动时长;根据打开所述第二巷道所需的货架移动时长,和所述第二巷道对应的操作等待时长,确定所述第二巷道所需的打开时长。
16.一种可选的实施方式中,所述根据机器人所需执行的任务的起点和终点,以及所述任务开始执行时仓库中道路的位置、第一巷道的位置、第二巷道的位置,确定由所述起点移动至所述终点的候选路径,包括:
17.根据机器人所需执行的任务的起点和终点,以及所述任务开始执行时仓库中道路的位置、第一巷道的位置、第二巷道的位置,将所述仓库中的道路、第一巷道和第二巷道均作为备选通行路径,确定候选路径。
18.一种可选的实施方式中,还包括:
19.若当前机器人所需执行的任务的数量大于1,则依次为每个任务生成路径;其中,为任一任务生成路径时,根据为上一任务生成的路径,确定上一任务完成时仓库中第一巷道的位置和第二巷道的位置,根据当前任务的起点和终点,仓库中道路的位置,以及所述上一任务完成时仓库中第一巷道的位置和第二巷道的位置,确定由所述起点移动至所述终点的候选路径。
20.一种可选的实施方式中,所述依次为每个任务生成路径,包括:
21.根据各任务的时间戳,按照时间戳的由早到晚的顺序,依次为每个任务生成路径;或者,根据各任务的紧急程度,按照紧急程度由高到低的顺序,依次为每个任务生成路径。
22.一种可选的实施方式中,所述根据机器人所需执行的任务的起点和终点,以及所述任务开始执行时仓库中道路的位置、第一巷道的位置、第二巷道的位置,确定由所述起点移动至所述终点的候选路径,包括:
23.若当前机器人所需执行的任务的数量大于1,则根据多个任务的起点和终点、仓库中道路的位置、以及所述多个任务开始执行时仓库中第一巷道的位置和第二巷道的位置,分别确定每一任务的候选路径。
24.一种可选的实施方式中,所述确定所述候选路径的总耗时,并根据所述候选路径的总耗时,确定所述机器人执行所述任务的路径,包括:
25.根据每一任务的候选路径,生成多个路径组合,每一所述路径组合包括每一任务的任一候选路径;确定每一所述路径组合的总体耗时,每一所述路径组合的总耗时包括:沿所述路径组合中每一候选路径执行完对应任务所需的总时长;将总耗时最短的路径组合中候选路径,作为对应任务的路径。
26.一种可选的实施方式中,所述根据多个任务的起点和终点、仓库中道路的位置、以及所述多个任务开始执行时仓库中第一巷道的位置和第二巷道的位置,分别确定每一任务的候选路径之前,还包括:
27.根据在所述多个任务之前执行的至少一个任务的路径,确定执行完所述至少一个任务时仓库中第一巷道的位置和第二巷道的位置;将执行完所述至少一个任务时仓库中第
一巷道的位置和第二巷道的位置,作为所述多个任务开始执行时仓库中第一巷道的位置和第二巷道的位置。
28.一种可选的实施方式中,确定任一所述路径组合的总体耗时,包括:
29.根据任一所述路径组合中每一任务对应的候选路径,确定若每一任务对应的机器人沿各自对应的候选路径执行任务,自第一个机器人从起点出发至最后一个机器人到达终点所需的时长,得到所述路径组合的总体耗时。
30.另一方面,本技术提供一种路径生成装置,包括:
31.候选路径生成模块,用于根据机器人所需执行的任务的起点和终点,以及所述任务开始执行时仓库中道路的位置、第一巷道的位置、第二巷道的位置,确定由所述起点移动至所述终点的候选路径,其中所述第一巷道是所述仓库中当前已打开的巷道,所述第二巷道是所述仓库中,当前被移动货架占用,在所述移动货架被移开后会打开的巷道;
32.路径选择模块,用于确定所述候选路径的总耗时,并根据所述候选路径的总耗时,确定所述机器人执行所述任务的路径。
33.另一方面,本技术提供一种路径生成设备,包括:
34.处理器,存储器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序;
35.其中,所述处理器运行所述计算机程序时实现上述任一项所述的方法。
36.另一方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法。
37.另一方面,本技术提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述任一项所述的方法。
38.本技术提供的路径生成方法、装置、设备、存储介质及程序产品,通过基于移动货架场景,根据机器人所需执行的任务的起点和终点,以及所述任务开始执行时仓库中道路的位置、当前已打开的第一巷道的位置、当前被移动货架占用且在所述移动货架被移开后会打开的第二巷道的位置,将仓库中隐藏的第二巷道也作为可通行的路径,来确定由所述起点移动至所述终点的候选路径;并确定所述候选路径的总耗时,将总耗时最短的候选路径,作为所述机器人执行所述任务的路径,能够充分考虑移动货架场景中在不同时刻打开的巷道的位置不同的特点,合理地为机器人生成执行任务的路径,能够提高在移动货架场景下机器人的移动效率。
附图说明
39.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
40.图1是本技术提供的一示例性应用场景架构图;
41.图2是本技术提供的一示例性移动货架场景图;
42.图3是本技术提供的另一示例性移动货架场景图;
43.图4为本技术实施例一提供的路径生成流程图;
44.图5为本技术实施例二提供的路径生成流程图;
45.图6为本技术实施例三提供的路径生成流程图;
46.图7为本技术实施例四提供的路径生成装置的结构示意图;
47.图8为本发明实施例七提供的路径生成设备的结构示意图。
48.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
49.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
50.本技术所涉及的术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
51.本实施例提供的路径生成方法,可以应用于移动货架场景下,为机器人分配执行任务时的移动路径。
52.图1是本技术提供的一示例性应用场景架构图,如图1所示,该架构主要包括:多个货架01和用于在货架01进行取/放货的机器人02。其中,货架01为可移动货架,例如,货架01的底部可以设置滚轮的方式实现货架01的移动,或者,多个货架01设置在同一组轨道上,然后,可以通过在货架01中设置驱动装置,驱动装置驱动货架01在轨道上移动,本技术实施例仅以此为例进行示例性地说明。如图1所示,通过移动货架,使得货架01之间可以有打开的巷道03,机器人02可以通过打开的巷道03,对巷道03两侧的货架进行取/放物品,本公开实施例仅以图1中所示为例,并不限于此。其中,机器人可以为搬运机器人、料箱机器人等智能仓储系统中用于运输货物的机器人,本技术对此不做限制。
53.通过移动货架的位置,可以调整已打开的巷道的位置。示例性地,如图1所示,已打开的巷道在货架4和货架5之间,通过将货架4向右移动,可以打开货架3和货架4之间的巷道,如图2所示。示例性,图1中以少量货架和一个打开的巷道为例进行说明,在某一时刻仓库中可以存在一个或者多个打开的巷道,此处对于货架的数量和位置,以及打开巷道的数量和位置均不做具体限定。
54.在移动货架的一种应用场景中,仓库中会包括多个立柱、消防设备、固定设置的道路等,因此为了提升仓库的存储密度,可以将一个仓库划分成多个区域,每个区域内的移动货架相对独立,每个区域内的移动货架可以如图1所示。
55.机器人所需执行的任务的信息中包含任务的起点和终点,其中,起点的信息可以包括起点的位置以及机器人从起点出发时的朝向,终点的信息可以包括终点的位置以及机器人在终点对目标货架进行取/放货时的朝向。示例性的,如图3所示,若任务的起点为a点,机器人在起点位置朝向左,任务的终点为b点,机器人在终点位置朝向左,当前打开的巷道位于货架3和货架4之间,则机器人的可能移动路径至少包括以下三条路径:
56.路径一(a

d

b):由于货架为移动货架,距离终点最近的货架1处的隐藏的巷道可以被打开,机器人从a点移动至d点,在d点处右转并通过货架1处打开后的巷道到达b点,
在b点处左转。
57.路径二(a

c

e

b):机器人从a点移动至已打开的巷道的入口位置c点,在c点处右转并通过巷道到达e点,在e点处左转并移动至b点。
58.路径三(a

f

b):由于货架为移动货架,距离起点最近的货架n处的隐藏的巷道可以被打开,机器人在a点右转并通过货架n处打开后的巷道到达f点,在f点处左转并移动至b点。
59.本实施例中,用第一巷道指代在某一时刻仓库中当前已打开的巷道,用第二巷道指代在该时刻仓库中当前被移动货架占用、且在移动货架被移开后会打开的巷道。不同时刻仓库中的第一巷道和第二巷道的位置可以不同。
60.实施例一
61.图4为本技术实施例一提供的路径生成流程图。本技术提供的路径生成方法的执行主体可以时智能仓储系统中的仓储管理系统,或者是其他用于规划路径的设备,本实施例此处不做具体限定。如图4所示,该方法具体步骤如下:
62.步骤s101、根据机器人所需执行的任务的起点和终点,以及任务开始执行时仓库中道路的位置、第一巷道的位置、第二巷道的位置,确定由起点移动至终点的候选路径;其中,第一巷道是仓库中当前已打开的巷道,第二巷道是仓库中当前被移动货架占用、且在移动货架被移开后会打开的巷道。
63.其中,机器人所需执行的任务可以是对目标货架进行取/放箱的任务,或者其他需要从起点移动至任务的终点的任务。任务的起点可以是机器人当前所在的位置、或者仓储管理系统根据实际应用场景的需要指定机器人执行任务的起点,起点的信息包括起点的位置和机器人在起点处的朝向。任务的终点可以是机器人进行取/放箱操作时的终点,终点的信息包括终点的位置和机器人在终点处进行取/放箱操作的朝向。
64.本实施例中,基于移动货架的场景,在需要为机器人所需执行的任务生成由任务的起点至终点的路径时,将任务开始执行时仓库中的道路、第一巷道和第二巷道均作为可以通行的路径,来生成由起点移动至终点的候选路径。也就是,生成的候选路径中可以包含当前被移动货架占用且在移动货架被移开后会打开的第二巷道。
65.步骤s102、确定候选路径的总耗时,并根据候选路径的总耗时,确定机器人执行任务的路径。
66.本实施例中,对于不包含第二巷道的候选路径,候选路径的总耗时包括候选路径所包含的道路的通行耗时、第一巷道的通行耗时、以及转向耗时。
67.其中,道路的通行耗时是指机器人通过道路需要的时间。第一巷道的通行耗时是指机器人通过第一巷道所需的时间。转向耗时是指机器人有起点移动至终点的过程中,进行转向所需的时间。
68.对于包含第二巷道的候选路径,由于第二巷道是隐藏的巷道,需要通过移动至少一个货架的位置,打开第二巷道之后,机器人方可在第二巷道通行,因此,候选路径的总耗时需要根据候选路径所包含第二巷道的打开时长,以及候选路径所包含的道路和巷道的通行耗时确定。其中,对于任一候选路径,候选路径所包含的巷道可以包括第一巷道和/或第二巷道。
69.一种可选地实施方式中,若待生成路径的任务有多个,可以分别确定每一任务的
候选路径,对于任一任务的候选路径,可以分别确定每一候选路径的总耗时。根据候选路径的总耗时,可以将总耗时最短的候选路径作为机器人执行任务的路径。
70.一种可选地实施方式中,若待生成路径的任务有多个,可以同时确定多个任务的候选路径,每一任务对应一个或者多个候选路径。对各个任务的候选路径进行组合,生成多个路径组合,其中每一路径组合包括每一任务的任一候选路径。根据任一路径组合所包含的多个任务的候选路径,确定按照该路径组合中的候选路径完成对应的多个任务的总体耗时,得到每一路径组合的总体耗时。根据各个路径组合的总耗时,将总耗时最短的路径组合中候选路径,作为对应任务的路径,从而可以一次生成多个任务的路径,提高路径生成的效率。
71.本技术实施例中,根据机器人所需执行的任务的起点和终点,以及任务开始执行时仓库中道路的位置、第一巷道的位置、第二巷道的位置,将仓库中道路的位置、第一巷道的位置、第二巷道的位置均作为可通行的路径,确定由起点移动至终点的候选路径;确定候选路径的总耗时,并根据候选路径的总耗时,确定机器人执行任务的路径,充分考虑了移动货架场景中货架可移动、不同时刻打开的巷道可以不同的特点,精准地生成的总耗时短的路径,能够提高移动货架场景下机器人的移动效率。
72.实施例二
73.图5为本技术实施例二提供的路径生成流程图。在上述实施例一的基础上,本实施例中,若当前机器人所需执行的任务的数量大于1,则依次为每个任务生成路径。其中,为任一任务生成路径时,根据为上一任务生成的路径,确定上一任务完成时仓库中第一巷道的位置和第二巷道的位置,根据当前任务的起点和终点,仓库中道路的位置,以及上一任务完成时仓库中第一巷道的位置和第二巷道的位置,确定由起点移动至终点的候选路径。
74.可选地,可以根据各任务的时间戳,按照时间戳的由早到晚的顺序,依次为每个任务生成路径;或者,根据各任务的紧急程度,按照紧急程度由高到低的顺序,依次为每个任务生成路径。
75.另外,还可以根据任务的其他信息对任务进行排序后,根据排序结果依次为每个任务生成路径,本实施例对于任务的排序规则不做具体限定。
76.下面结合附图5,对为任一任务生成路径的过程进行详细地说明。如图5所示,为任一任务生成路径的具体步骤如下:
77.步骤s201、根据机器人所需执行的任务的起点和终点,以及任务开始执行时仓库中道路的位置、第一巷道的位置、第二巷道的位置,将仓库中的道路、第一巷道和第二巷道均作为备选通行路径,确定候选路径。
78.在移动货架场景下,由于货架可以移动,货架移动前和移动后,仓库中的第一巷道和/或第二巷道会发生变化,因此在不同时刻,仓库中的第一巷道和第二巷道可能不同。
79.在为任一任务生成对应的路径时,需要基于任务开始执行时仓库中道路的位置、第一巷道的位置、第二巷道的位置,确定任务的候选路径。
80.对于任一任务,若在该任务之前存在上一任务且上一任务未执行完,则可以根据上一任务的路径,确定上一任务执行完时仓库中道路的位置、第一巷道的位置、第二巷道的位置,作为该任务开始执行时仓库中道路的位置、第一巷道的位置、第二巷道的位置。
81.若在该任务之前不存在上一任务、或者上一任务已执行完,则可以将当前仓库中
道路的位置、第一巷道的位置、第二巷道的位置,作为该任务开始执行时仓库中道路的位置、第一巷道的位置、第二巷道的位置。
82.该步骤中确定由起点至终点的候选路径的方式可以采用现有技术中的类似的方法实现,不同之处在于,本实施例中将隐藏的第二巷道也作为可通行的路径,而现有技术中只将当前可通行的路径(包括仓库中的道路和已打开的巷道)作为可通行的路径,生成候选路径。
83.步骤s202、若候选路径不包含第二巷道,则根据候选路径所包含的道路和/或第一巷道,确定候选路径的总耗时。
84.本实施例中,对于不包含第二巷道的候选路径,候选路径的总耗时包括候选路径所包含的道路的通行耗时、第一巷道的通行耗时、以及转向耗时。
85.其中,道路的通行耗时是指机器人通过道路需要的时间。第一巷道的通行耗时是指机器人通过第一巷道所需的时间。转向耗时是指机器人有起点移动至终点的过程中,进行转向所需的时间。
86.示例性地,基于如图3所示的移动货架场景,路径二(a

c

e

b):机器人从a点移动至已打开的巷道的入口位置c点,在c点处右转并通过巷道到达e点,在e点处左转并移动至b点。路径二包含仓库中的道路和第一巷道,不包含第二巷道。路径二的总耗时为:t
ac
+tr
90
+t
ce
+tr
90
+t
eb
。其中,t
ac
表示机器人从a点移动至c点的通行耗时,tr
90
表示机器人转向90
°
的转向耗时,t
ce
表示机器人从c点移动至e点的通行耗时,t
eb
表示机器人从e点移动至b点的通行耗时。
87.步骤s203、若候选路径包含第二巷道,则根据货架移动规则,确定候选路径所包含的第二巷道所需的打开时长。
88.对于包含第二巷道的候选路径,由于第二巷道时隐藏的巷道,需要通过移动至少一个货架的位置,打开第二巷道之后,机器人方可在第二巷道通行,因此,候选路径的总耗时需要根据候选路径所包含第二巷道的打开时长,以及候选路径所包含的道路和巷道的通行耗时确定。其中,对于任一候选路径,候选路径所包含的巷道可以包括第一巷道和/或第二巷道。
89.本实施例中,该步骤具体可以采用如下方式实现:
90.根据货架移动规则和第二巷道的位置,确定打开第二巷道所需移动的货架数量和距离;根据打开第二巷道所需移动的货架数量和距离、两个相邻货架的开始移动的间隔时长和货架移动速度,确定打开第二巷道所需的货架移动时长;根据打开第二巷道所需的货架移动时长,和第二巷道对应的操作等待时长,确定第二巷道所需的打开时长
91.示例性地,货架移动规则可以是多排货架移动时,相邻货架开始移动的时间需要间隔一定时长(用δt表示),也就是一个货架开始移动δt时长之后,下一个货架才开始移动。那么,打开第二巷道所需的货架移动时长可以为:(n

1)
×
δt+t(move)。
92.其中,n表示打开第二巷道所需移动的货架数量,move表示打开第二巷道货架所需移动的距离,t(move)表示单一货架移动move的距离所需的时长,δt表示两个相邻货架开始移动的间隔时长。
93.另外,当货架移动规则发生变化时,可以根据货架移动规则确定打开第二巷道所需的货架移动时长。
94.本实施例中,第二巷道所需的打开时长是指自机器人从起点出发至成功打开该第二巷道所需的总时长,可以包括:第二巷道对应的操作等待时长,打开第二巷道所需的货架移动时长。其中,第二巷道对应的操作等待时长是指从机器人从起点出发开始,等待满足打开第二巷道的条件的等待时长;在满足打开第二巷道的条件时,通过移动货架可以打开第二巷道。
95.示例性地,打开任一第二巷道时,可能需要关闭原来已打开第一巷道,那么需要确保机器人不再需要通过原来已打开的第一巷道的时,满足打开该第二巷道的条件,可以开始移动货架,打开该第二巷道。
96.步骤s204、根据候选路径的通行耗时和转向耗时,以及候选路径所包含的第二巷道所需的打开时长,确定候选路径的总耗时。
97.对于包含第二巷道的候选路径,具体可以采用如下方式确定候选路径的总耗时:
98.确定从起点移动至候选路径所包含的第二巷道的入口位置的第一耗时,并确定从第二巷道的入口位置移动至终点的第二耗时,第一耗时和第二耗时均包括通行耗时和转向耗时;确定第一耗时与第二巷道所需的打开时长中的最大值;将最大值和第二耗时之和,作为候选路径的总耗时。
99.本实施例中,为了提高机器人的移动效率,可以在机器人从起点移动至候选路径所包含的第二巷道的入口位置的同时,打开第二巷道。在确定包含第二巷道的候选路径的总耗时时,通过确定机器人从起点移动至候选路径所包含的第二巷道的入口位置的耗时,与打开第二巷道的耗时中的最大值,作为从起点至第二巷道入口位置的这段路径的总耗时。通过计算最大值与从第二巷道的入口位置移动至终点的第二耗时之和,即可得到候选路径的总耗时。
100.示例性地,根据机器人从任务的起点出发时仓库内的机器人和移动货架的实时状态、货架移动规则、机器人的移动规则,基于机器人从起点出发的时刻,确定机器人沿候选路径移动至候选路径所包含的第二巷道的入口位置的第一时刻,以及候选路径所包含的第二巷道成功打开的第二时刻;根据机器人从起点出发的时刻和第一时刻,确定从起点移动至候选路径所包含的第二巷道的入口位置的第一耗时;根据机器人从起点出发的时刻和第二时刻,确定第二巷道所需的打开时长。
101.在移动货架的一种应用场景中,仓库中会包括多个立柱、消防设备、固定设置的道路等,因此为了提升仓库的存储密度,可以将一个仓库划分成多个区域,每个区域内的移动货架相对独立,每个区域内的移动货架可以如图1所示。在任一区域中同一时刻只允许打开一个巷道。
102.若任一候选路径中包括第二巷道,该候选路径可以包括一个或者多个第二巷道。如果任一候选路径包括多个第二巷道,则该候选路径所包含的多个第二巷道分别位于不同的区域内,不允许任一候选路径包含位于同一区域内的多条第二巷道。
103.进一步地,在确定机器人从起点移动至候选路径所包含的第二巷道的入口位置的第一耗时时,若起点至该第二巷道的入口位置之间还存在另一第二巷道,则可以采用类似的方式,将该第二巷道的入口位置作为临时终点,根据机器人从任务的起点出发时仓库内的机器人和移动货架的实时状态、货架移动规则、机器人的移动规则,确定机器人沿候选路径移动至另一第二巷道的入口位置的第三时刻,以及另一第二巷道成功打开的第四时刻。
根据机器人从起点出发的时刻和第三时刻,确定机器人从起点移动至另一第二巷道的入口位置的第三耗时。根据机器人从起点出发的时刻和第四时刻,确定另一第二巷道所需的打开时长。确定第三耗时与另一第二巷道所需的打开时长中的最大值,将最大值与机器人从另一第二巷道的入口位置移动至该临时终点的第四耗时之和,作为机器人从起点移动至该第二巷道的入口位置的第一耗时。进一步地,在确定第二巷道的入口位置移动至终点的第二耗时时,若该第二巷道的出口至终点之间还存在另一第二巷道,则可以采用类似的方式,将该第二巷道的入口位置作为临时起点,根据机器人从任务的起点出发时仓库内的机器人和移动货架的实时状态、货架移动规则、机器人的移动规则,确定另一第二巷道成功打开的第五时刻和机器人移动至另一第二巷道的入口位置的第六时刻。根据机器人从临时起点出发的时刻(也即机器人移动至临时起点的时刻)和第五时刻,可以确定从机器人自临时起点出发至另一第二巷道成功打开的第五耗时。根据机器人从临时起点出发的时刻和第六时刻,确定机器人由临时起点移动至另一第二巷道的入口位置的第六耗时;,确定第五耗时与第六耗时中的最大值。将该最大值和机器人从另一第二巷道的入口位置移动至终点的耗时之和,作为从该第二巷道的入口位置移动至终点的第二耗时。
104.示例性地,基于如图3所示的移动货架场景,对于路径一(a

d

b):由于货架为移动货架,距离终点最近的货架1处的隐藏的巷道可以被打开,机器人从a点移动至d点,在d点处右转并通过货架1处打开后的巷道到达b点,在b点处左转。路径一的总耗时为:max(((n
cd

1)
×
δt+t(move1)),(t
ad
+tr
90
))+t
db
+tr
90

105.其中,max(x,y)表示求x和y中的最大值,x和y为任意数值。n
cd
表示c点和d点间的货架数量,也即是打开路径一中的第二巷道需要移动的货架数量。move1表示打开路径一中的第二巷道货架所需移动的距离,t(move1)表示单一货架移动move1的距离所需的时长,δt表示两个相邻货架开始移动的间隔时长。((n
cd

1)
×
δt+t(move1))为打开路径一中的第二巷道所需的货架移动时长,在机器人从起点出发的同时开始打开该第二巷道时,((n
cd

1)
×
δt+t(move1))可以作为第二巷道所需的打开时长。t
ad
表示机器人从a点移动至d点的通行耗时,tr
90
表示机器人转向90
°
的转向耗时。(t
ad
+tr
90
)为机器人从起点a移动至第二巷道的入口位置d点的第一耗时。t
db
表示机器人从b点移动至d点的通行耗时,(t
db
+tr
90
)表示机器人从第二巷道的入口位置d点移动至终点b点的通行耗时。
106.示例性地,基于如图3所示的移动货架场景,路径三(a

f

b):由于货架为移动货架,距离起点最近的货架n处的隐藏的巷道可以被打开,机器人在a点右转并通过货架n处打开后的巷道到达f点,在f点处左转并移动至b点。路径三的总耗时为:max(((n
ac

1)
×
δt+t(move2)),tr
90
)+t
af
+tr
90
+t
fb

107.其中,n
ac
表示a点和c点间的货架数量,也即是打开路径三中的第二巷道需要移动的货架数量。move2表示打开路径三中的第二巷道货架所需移动的距离,t(move2)表示单一货架移动move2的距离所需的时长,δt表示两个相邻货架开始移动的间隔时长。((n
ac

1)
×
δt+t(move2))为打开路径三中的第二巷道所需的货架移动时长,在机器人从起点出发的同时开始打开该第二巷道时,((n
cd

1)
×
δt+t(move1))可以作为第二巷道所需的打开时长。tr
90
表示机器人转向90
°
的转向耗时,机器人在起点a点需要右转,机器人从起点移动至第二巷道的入口位置a点所需的第一耗时为tr
90
。t
af
表示机器人从a点移动至f点的通行耗时,t
fb
表示机器人从f点移动至b点的通行耗时,(t
af
+tr
90
+t
fb
)表示机器人从第二巷道的入
口位置a点移动至终点b点的通行耗时。
108.可选地,在确定任务的任一候选路径的总耗时时,若候选路径包含第一巷道,且第一巷道中有其他机器人,则候选路径的总耗时还应包括执行该任务的机器人避让第一巷道中的其他机器人的等待耗时。
109.步骤s205、将总耗时最短的候选路径,作为机器人执行任务的路径。
110.在确定任一候选路径的总耗时之后,通过比较各候选路径的总耗时的大小,确定总耗时最短的候选路径。将总耗时最短的候选路径作为机器人执行任务的路径。
111.示例性地,基于如图3所示的移动货架场景,以路径一(a

d

b)和路径二(a

c

e

b)为例,通过一下方式比较路径一和路径二的总耗时:
112.path 1:path 2=max(((n
cd

1)
×
δt+t(move1)),(t
ad
+tr
90
))+t
db
+tr
90
113.:t
ac
+tr
90
+t
ce
+tr
90
+t
eb
114.基于图3的示例,t
db
=t
ce
,由此可以得到:
115.path 1:path 2=max(((n
cd

1)
×
δt+t(move1)),(t
ad
+tr
90
)):t
ac
+tr
90
+t
eb
116.在实际应用场景中,机器人在c点和e点转向前需减速,则t(ad)<t(ac)+t(be),所以,当(t
ad
+tr
90
)<max(((n
cd

1)
×
δt+t(move1)),(t
ad
+tr
90
))时,path 1耗时小于path 2。
117.这一情况下,基于移动货架场景确定的包含第二巷道的路径一优于不包含第二巷道的路径二,因此,在移动货架场景下,采用本实施例提供的方法能够生成更优的路径,提高机器人的移动效率。
118.本实施例中,通过将任务开始执行时仓库中道路的位置、第一巷道的位置、第二巷道的位置均作为可通行的路径,确定由起点移动至终点的候选路径;确定候选路径的总耗时,并将总耗时最短的候选路径,作为机器人执行任务的路径,充分考虑了移动货架场景中货架可移动、不同时刻打开的巷道可以不同的特点,精准地生成的总耗时短的路径,能够提高移动货架场景下机器人的移动效率;进一步地,通过确定从起点移动至候选路径所包含的第二巷道的入口位置的第一耗时,并确定从第二巷道的入口位置移动至终点的第二耗时;将第一耗时与第二巷道所需的打开时长中的最大值,与第二耗时之和,作为候选路径的总耗时,能够准确地确定候选路径的总耗时,为准确地选择更优路径提供数据基础,进一步提高了机器人的移动效率。
119.实施例三
120.图6为本技术实施例三提供的路径生成流程图。在上述实施例一的基础上,本实施例中,若当前机器人所需执行的任务的数量大于1,则可以同时为多个任务生成路径。如图6所示,该方法具体步骤如下:
121.步骤s301、若当前机器人所需执行的任务的数量大于1,根据在多个任务之前执行的至少一个任务的路径,确定执行完至少一个任务时仓库中第一巷道的位置和第二巷道的位置,并将执行完至少一个任务时仓库中第一巷道的位置和第二巷道的位置,作为多个任务开始执行时仓库中第一巷道的位置和第二巷道的位置。
122.在移动货架场景下,由于货架可以移动,货架移动前和移动后,仓库中的第一巷道和/或第二巷道会发生变化,因此在不同时刻,仓库中的第一巷道和第二巷道可能不同。在为任一任务生成对应的路径时,需要基于任务开始执行时仓库中道路的位置、第一巷道的位置、第二巷道的位置,确定任务的候选路径。
123.本实施例中,可以同时为多个任务生成路径。为了在为多个任务生成路径之前,准确地确定多个任务开始执行时仓库中道路的位置、第一巷道的位置、第二巷道的位置,可以根据在该多个任务之前执行的任务的路径,确定该多个任务之前的任务执行完成时仓库中第一巷道的位置和第二巷道的位置,也就得到了该多个任务开始执行时仓库中道路的位置、第一巷道的位置、第二巷道的位置。
124.步骤s302、根据多个任务的起点和终点、仓库中道路的位置、以及多个任务开始执行时仓库中第一巷道的位置和第二巷道的位置,分别确定每一任务的候选路径。
125.在确定多个任务开始执行时仓库中道路的位置、第一巷道的位置、第二巷道的位置之后,确定多个任务的候选路径。
126.该步骤中,分别确定每一任务的候选路径。确定任一任务的候选路径时,多个任务的起点和终点、仓库中道路的位置、以及多个任务开始执行时仓库中第一巷道的位置和第二巷道的位置,将仓库中的道路、第一巷道和第二巷道均作为备选通行路径,确定任一任务起点至终点的候选路径。
127.该步骤中确定由起点至终点的候选路径的方式可以采用现有技术中的类似的方法实现,不同之处在于,本实施例中将隐藏的第二巷道也作为可通行的路径,而现有技术中只将当前可通行的路径(包括仓库中的道路和已打开的巷道)作为可通行的路径,生成候选路径。
128.步骤s303、根据每一任务的候选路径,生成多个路径组合,每一路径组合包括每一任务的任一候选路径。
129.在确定每一任务的候选路径之后,对各个任务的候选路径进行组合,生成多个路径组合,其中每一路径组合包括每一任务的任一候选路径。
130.示例性地,假设当前有任务1和任务2这两个任务。任务1的候选路径包括:候选路径1、候选路径2和候选路径3。任务2的候选路径包括:候选路径4和候选路径5。那么,可以生成以下路径组合:路径组合1{任务1:候选路径1,任务2:候选路径4},路径组合2{任务1:候选路径1,任务2:候选路径5},路径组合3{任务1:候选路径2,任务2:候选路径4},路径组合4{任务1:候选路径2,任务2:候选路径5},路径组合5{任务1:候选路径3,任务2:候选路径4},路径组合2{任务1:候选路径3,任务2:候选路径5}。
131.步骤s304、确定每一路径组合的总体耗时,每一路径组合的总耗时包括:沿路径组合中每一候选路径执行完对应任务所需的总时长。
132.本实施例中,对于任一路径组合中的多个任务分别对应的候选路径,可以计算根据路径组合中多个任务沿对应候选路径,同时执行多个任务完成多个任务所需的总时长。
133.示例性地,可以根据任一路径组合中每一任务对应的候选路径,确定若每一任务对应的机器人沿各自对应的候选路径执行任务,自第一个机器人从起点出发至最后一个机器人到达终点所需的时长,得到路径组合的总体耗时。
134.示例性地,对于路径组合1{任务1:候选路径1,任务2:候选路径4},则可以计算机器人1沿候选路径1执行任务1,同时机器人2沿候选路径4执行任务2,完成任务1和任务2所需的总时长。
135.步骤s305、将总耗时最短的路径组合中候选路径,作为对应任务的路径。
136.在确定每一路径组合的总耗时之后,通过比较各路径组合的总耗时的大小,确定
总耗时最短的路径组合。将总耗时最短的路径组合中候选路径,作为对应任务的路径,从而可以一次生成多个任务的路径,提高路径生成的效率。
137.本技术实施例中,若待生成路径的任务有多个,可以同时确定多个任务的候选路径,每一任务对应一个或者多个候选路径。对各个任务的候选路径进行组合,生成多个路径组合,其中每一路径组合包括每一任务的任一候选路径;根据任一路径组合所包含的多个任务的候选路径,确定按照该路径组合中的候选路径完成对应的多个任务的总体耗时,得到每一路径组合的总体耗时。根据各个路径组合的总耗时,将总耗时最短的路径组合中候选路径,作为对应任务的路径,从而可以一次生成多个任务的路径,提高路径生成的效率,并且可以提高移动货架场景下机器人的总体移动效率。
138.实施例四
139.图7为本技术实施例四提供的路径生成装置的结构示意图。本技术实施例提供的路径生成装置可以执行路径生成方法实施例提供的处理流程。如图7所示,该路径生成装置40包括:候选路径生成模块401和路径选择模块402。
140.具体地,候选路径生成模块401,用于根据机器人所需执行的任务的起点和终点,以及任务开始执行时仓库中道路的位置、第一巷道的位置、第二巷道的位置,确定由起点移动至终点的候选路径,其中第一巷道是仓库中当前已打开的巷道,第二巷道是仓库中,当前被移动货架占用,在移动货架被移开后会打开的巷道。
141.路径选择模块402,用于确定候选路径的总耗时,并根据候选路径的总耗时,确定机器人执行任务的路径。
142.本技术实施例提供的装置可以具体用于执行上述实施例一所提供的方法实施例,具体功能此处不再赘述。
143.本技术实施例中,根据机器人所需执行的任务的起点和终点,以及任务开始执行时仓库中道路的位置、第一巷道的位置、第二巷道的位置,将仓库中道路的位置、第一巷道的位置、第二巷道的位置均作为可通行的路径,确定由起点移动至终点的候选路径;确定候选路径的总耗时,并根据候选路径的总耗时,确定机器人执行任务的路径,充分考虑了移动货架场景中货架可移动、不同时刻打开的巷道可以不同的特点,精准地生成的总耗时短的路径,能够提高移动货架场景下机器人的移动效率。
144.实施例五
145.在上述实施例四的基础上,本实施例中,路径选择模块还用于:
146.若候选路径包含第二巷道,则根据候选路径的通行耗时和转向耗时,以及候选路径所包含的第二巷道所需的打开时长,确定候选路径的总耗时;其中,候选路径的通行耗时包括候选路径所包含的道路和巷道的通行耗时的总和。
147.可选地,路径选择模块还用于:
148.确定从起点移动至候选路径所包含的第二巷道的入口位置的第一耗时,并确定从第二巷道的入口位置移动至终点的第二耗时,第一耗时和第二耗时均包括通行耗时和转向耗时;确定第一耗时与第二巷道所需的打开时长中的最大值;将最大值和第二耗时之和,作为候选路径的总耗时。
149.可选地,路径选择模块还用于:
150.确定候选路径的总耗时之前,若候选路径包含第二巷道,则根据货架移动规则,确
定候选路径所包含的第二巷道所需的打开时长。
151.可选地,路径选择模块还用于:
152.根据货架移动规则和第二巷道的位置,确定打开第二巷道所需移动的货架数量和距离;根据打开第二巷道所需移动的货架数量和距离、两个相邻货架的开始移动的间隔时长和货架移动速度,确定打开第二巷道所需的货架移动时长;根据打开第二巷道所需的货架移动时长,和第二巷道对应的操作等待时长,确定第二巷道所需的打开时长。
153.可选地,候选路径生成模块还用于:
154.根据机器人所需执行的任务的起点和终点,以及任务开始执行时仓库中道路的位置、第一巷道的位置、第二巷道的位置,将仓库中的道路、第一巷道和第二巷道均作为备选通行路径,确定候选路径。
155.可选地,候选路径生成模块还用于:
156.若当前机器人所需执行的任务的数量大于1,则依次为每个任务生成路径;其中,为任一任务生成路径时,根据为上一任务生成的路径,确定上一任务完成时仓库中第一巷道的位置和第二巷道的位置,根据当前任务的起点和终点,仓库中道路的位置,以及上一任务完成时仓库中第一巷道的位置和第二巷道的位置,确定由起点移动至终点的候选路径。
157.可选地,候选路径生成模块还用于:
158.根据各任务的时间戳,按照时间戳的由早到晚的顺序,依次为每个任务生成路径;或者,根据各任务的紧急程度,按照紧急程度由高到低的顺序,依次为每个任务生成路径。
159.可选地,候选路径生成模块还用于:
160.根据机器人所需执行的任务的起点和终点,以及任务开始执行时仓库中道路的位置、第一巷道的位置、第二巷道的位置,确定由起点移动至终点的候选路径,包括:若当前机器人所需执行的任务的数量大于1,则根据多个任务的起点和终点、仓库中道路的位置、以及多个任务开始执行时仓库中第一巷道的位置和第二巷道的位置,分别确定每一任务的候选路径。
161.可选地,路径选择模块还用于:
162.根据每一任务的候选路径,生成多个路径组合,每一路径组合包括每一任务的任一候选路径;确定每一路径组合的总体耗时,每一路径组合的总耗时包括:沿路径组合中每一候选路径执行完对应任务所需的总时长;将总耗时最短的路径组合中候选路径,作为对应任务的路径。
163.可选地,候选路径生成模块还用于:
164.根据在多个任务之前执行的至少一个任务的路径,确定执行完至少一个任务时仓库中第一巷道的位置和第二巷道的位置;将执行完至少一个任务时仓库中第一巷道的位置和第二巷道的位置,作为多个任务开始执行时仓库中第一巷道的位置和第二巷道的位置。
165.可选地,路径选择模块还用于:
166.根据任一路径组合中每一任务对应的候选路径,确定若每一任务对应的机器人沿各自对应的候选路径执行任务,自第一个机器人从起点出发至最后一个机器人到达终点所需的时长,得到路径组合的总体耗时。
167.本技术实施例提供的装置可以具体用于执行上述实施例二或实施例三所提供的方法实施例,具体功能此处不再赘述。
168.本实施例中,通过将任务开始执行时仓库中道路的位置、第一巷道的位置、第二巷道的位置均作为可通行的路径,确定由起点移动至终点的候选路径;确定候选路径的总耗时,并将总耗时最短的候选路径,作为机器人执行任务的路径,充分考虑了移动货架场景中货架可移动、不同时刻打开的巷道可以不同的特点,精准地生成的总耗时短的路径,能够提高移动货架场景下机器人的移动效率;进一步地,通过确定从起点移动至候选路径所包含的第二巷道的入口位置的第一耗时,并确定从第二巷道的入口位置移动至终点的第二耗时;将第一耗时与第二巷道所需的打开时长中的最大值,与第二耗时之和,作为候选路径的总耗时,能够准确地确定候选路径的总耗时,为准确地选择更优路径提供数据基础,进一步提高了机器人的移动效率。
169.实施例六
170.图8为本发明实施例六提供的路径生成设备的结构示意图。如图8所示,该路径生成设备100包括:处理器1001,存储器1002,以及存储在存储器1002上并可在处理器1001上运行的计算机程序。其中,处理器1001运行计算机程序时实现上述任一方法实施例所提供的路径生成方法。
171.本技术实施例中,根据机器人所需执行的任务的起点和终点,以及任务开始执行时仓库中道路的位置、第一巷道的位置、第二巷道的位置,将仓库中道路的位置、第一巷道的位置、第二巷道的位置均作为可通行的路径,确定由起点移动至终点的候选路径;确定候选路径的总耗时,并根据候选路径的总耗时,确定机器人执行任务的路径,充分考虑了移动货架场景中货架可移动、不同时刻打开的巷道可以不同的特点,精准地生成的总耗时短的路径,能够提高移动货架场景下机器人的移动效率。
172.本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行上述任一方法实施例提供的路径生成方法。
173.本发明实施例还提供了一种计算机程序产品,程序产品包括:计算机程序,计算机程序存储在可读存储介质中,仓储管理系统的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得仓储管理系统执行上述任一方法实施例提供的路径生成方法。
174.在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
175.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
176.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
177.上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存
储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
178.本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
179.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求书指出。
180.应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求书来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1