多机器人无停车调度方法和系统与流程

文档序号:17239602发布日期:2019-03-30 08:31阅读:182来源:国知局
多机器人无停车调度方法和系统与流程

本发明涉及多机器人存取系统领域,具体而言,涉及一种多机器人无停车调度方法和系统。



背景技术:

多机器人存取系统(rmfs)又称亚马逊kiva机器人系统,系统工作结构如图1所示。系统中存在多辆自寻址机器人车(autonomousvehicle,机器人),依靠扫描地面每个路块上的二维码定位,依据指令自行选择路线行驶在仓库各个角落,代替人工完成货物的存取。机器人主要执行4类任务:①移动到对应的货架位置;②升起货架并搬运至拣选/补货站;③拣选/补货完毕后搬运货架至合适的空货位;④更改货架存放位置。机器人接受任务时有一次必要的启动,完成任务时有一次必要的停车。在任意二维码标识的路段,机器人可直线通过也可转弯,其转弯过程是:停车→90度转向→再启动,因此转弯必须停车,上述必要停车情形称为主动停车。

当多辆机器人同时经过相同二维码标识的路段时会造成冲突,发生冲突并导致被动停车,由于多机器人冲突具有强动态性和强交错性的特点,所以目前现有技术针对这一问题通常采用机器人遇到冲突后再重新调度的方法,如图2所示,现有技术的调度方法基本思路是:在路线规划阶段尽量给机器人赋予不同的路线,以尽可能减少发生冲突的可能;在冲突协调阶段机器人按规划路线运行,如发生冲突则按照“占用冲突路段时间短者优先”的原则协调冲突。现有技术的方法存在当前的调度方法虽能减少冲突但不能完全杜绝冲突的问题,并且并不能避免机器人发生冲突时的被动停车,一旦发生被动停车就可能引发进一步的连锁冲突和等待并导致难以精确估算存取效率,降低机器人的运行效率。

针对上述现有技术中由于多机器人在遇到冲突时必须被动停车后再调度而导致的运行效率低的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种多机器人无停车调度方法和系统,以至少解决多机器人在遇到冲突时必须被动停车后再调度而导致的运行效率低的问题的技术问题。

根据本发明实施例的一个方面,提供了一种多机器人无停车调度方法,包括:获得多个机器人的当前位置、目的位置和可到达路径节点集,其中,所述可到达路径节点集是根据在执行任务时机器人携带货架情况来确定的;根据每个机器人的当前位置、目的位置和可到达路径节点集规划每个机器人的待调度路径和出发时间,其中,所述待调度路径是使多个机器人之间不发生冲突的路径;根据所述待调度路径和所述出发时间调度多个机器人执行任务。

进一步地,根据机器人的当前位置、目的位置和可到达节点集规划机器人的待调度路径和出发时间包括:根据当前位置、目的位置和可到达点集采用蒙特卡洛树搜索方法确定可用路径集合,其中,在所述蒙特卡洛树搜索方法中的多层神经网络用来计算每一条路径的拥堵概率,所述可用路径集合为发生冲突最少的路径的集合;根据路径当前位置、目的位置和可到达路径节点对所述可用路径进行编码标识和排序得到所述待调度路径和所述出发时间。

进一步地,其特征在于,根据当前位置、目的位置和可到达点集采用蒙特卡洛树搜索方法确定可用路径集合包括:采用所述蒙特卡洛树搜索方法时通过分支选择公式在分支选择中找出发生冲突最少路径的分支,其中,所述分支选择公式是vi是节点i的评价值,通过嵌入的多层神经网络估算;c是可调参数;np是父节点已经被访问的总次数;ni是节点被访问的次数。

进一步地,根据路径当前位置、目的位置和可到达路径节点对所述可用路径通过标识进行编码和排序得到所述待调度路径和所述出发时间包括:根据路径当前位置、目的位置和可到达路径节点对所述可用路径通过标识进行编码和排序,其中,所述标识分为路径码和顺序码,所述路径码代表所述可用路径的序号,所述顺序码代表组成所述可用路径的多个路段,所述路段代表每个可达路径点之间的路径,每条路段通过二维码进行定位标识;将所述可用路径对应的标识解码为机器人的出发时间;根据机器人出发时间结合甘特图来判断所述标识是否为使机器人之间不发生冲突的路径的标识;如果是,则将其作为所述待调度路径对应的标识;如果否,则继续结合机器人出发时间以短路径和通过顺序为邻域进行搜索直至获得使机器人之间不发生冲突的路径标识,将所述标识作为所述待调度路径的标识。

根据本发明实施例的另一方面,还提供了多机器人无停车调度系统,包括:获取单元,用于获得多个机器人的当前位置、目的位置和可到达路径节点集,其中,所述可到达路径节点集是根据在执行任务时机器人携带货架情况来确定的;规划单元,用于根据每个机器人的当前位置、目的位置和可到达路径节点集规划每个机器人的待调度路径和出发时间,其中,所述待调度路径是使多个机器人之间不发生冲突的路径;调度单元,用于根据所述待调度路径和所述出发时间调度多个机器人执行任务。

根据本发明实施例的另一个方面,还提供给了一种存储介质,所述存储介质上保存有程序,所述程序被运行时执行上所述的方法。

根据本发明实施例的另一个方面,还提供给了一种处理器,所述程序被运行时执行上述的方法。

在本发明实施例中,采用获得多个机器人的当前位置、目的位置和可到达路径节点集,其中,所述可到达路径节点集是根据在执行任务时机器人携带货架情况来确定的;根据每个机器人的当前位置、目的位置和可到达路径节点集规划每个机器人的待调度路径和出发时间,其中,所述待调度路径是使多个机器人之间不发生冲突的路径;根据所述待调度路径和所述出发时间调度多个机器人执行任务的方式,解决了多机器人在遇到冲突时必须被动停车后再调度而导致的运行效率低的问题的技术问题,提高系统存取效率、延长机器人寿命、有效节约能源并减少仿真计算量,可以更精确的估算存取效率。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据现有技术的多机器人存取系统结构示意图;

图2是根据现有技术的多机器人存取系统调度方法流程图;

图3是根据本发明实施例的一种多机器人无停车调度方法的流程图;

图4是根据本发明实施例的蒙特卡罗树搜索示意图;

图5是根据本发明实施例的路径、顺序协同编码方法示意图;

图6是根据本发明实施例的多机器存取系统调度方法流程图;

图7是根据本发明实施例的机器人可用路径集生成和评价方法流程图;

图8是根据本发明实施例的多机器人无停车调度示意图;

图9是根据本发明实施例的一种多机器人无停车调度系统的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本发明实施例,提供了一种多机器人无停车调度的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图3是根据本发明实施例的一种多机器人无停车调度方法,如图3所示,该方法包括如下步骤:

步骤s102,获得多个机器人的当前位置、目的位置和可到达路径节点集,其中,所述可到达路径节点集是根据在执行任务时机器人携带货架情况来确定的;

步骤s104,根据每个机器人的当前位置、目的位置和可到达路径节点集规划每个机器人的待调度路径和出发时间,其中,所述待调度路径是使多个机器人之间不发生冲突的路径;

步骤s106,根据所述待调度路径和所述出发时间调度多个机器人执行任务。

通过上述步骤中在机器人出发之前就提前规划处机器人要走的路线和出发时间来保证机器人一旦出发就不会发生碰撞停顿这与现有技术中遇到机器人路线冲突再停下等待解决冲突重新规划完全不同,现有技术的总冲突和停顿时间是不可控的严重影响了调度效率和计算,而本实施例在机器人没有出发之前就提前规划好了所有可走的不会冲突的路径和出发时间,然后机器人的调度命令只需要按照提前规划的路径和出发时间进行调度就可以保证多个机器人不发生冲突和停顿,从而解决了多机器人在遇到冲突时必须被动停车后再调度而导致的运行效率低的问题,提高系统存取效率、延长机器人寿命、有效节约能源并减少仿真计算量,可以更精确的估算存取效率。

下面以一个可选的实施例对上述过程进行说明:

第一步,将拣选/补货作业转换为任务,生成任务指令;

第二步,根据任务指令,选择一台机器人接受任务;有且仅有一台机器人接受此任务,机器人只有在完成当前任务后才能开始下个任务。

第三步,根据当前系统情况和预调度安排,生成并评价机器人可用路径集;

第四步,机器人根据可用路径集的评价结果进行路径选择;机器人在启动前能够预判可用路径集中不同路线的冲突,选择适当的路线,在出发地等待直到全程没有冲突再出发。

第五步,当前任务完成,机器人释放,继续下个任务,直到所有任务完成。

如图8所示,现有技术的冲突后调度的模式是遇到机器人路线冲突再停下等待解决冲突重新规划,这种情况下很容易发生连环避让,造成多辆小车被动停止,增加系统运行时间,延长任务的完成时间。而本实施例在进行无冲突调度后,小车在启动前就可根据调度方案选择原地等待一段时间,等到其他av通过后再启动,达到全程不等待的效果,从而提高系统存取效率、延长机器人寿命、有效节约能源并减少仿真计算量,可以更精确的估算存取效率。

根据机器人的当前位置、目的位置和可到达节点集规划机器人的待调度路径和出发时间可以通过述蒙特卡洛树搜索方法,在一种可选的实施方式中,即根据当前位置、目的位置和可到达点集采用蒙特卡洛树搜索方法确定可用路径集合,其中,在所述蒙特卡洛树搜索方法中的多层神经网络用来计算每一条路径的拥堵概率,所述可用路径集合为发生冲突最少的路径的集合;根据路径当前位置、目的位置和可到达路径节点对所述可用路径进行编码标识和排序得到所述待调度路径和所述出发时间。

如图4所示,在图4中间加粗的线表示最终选择的最有潜力的分支,右边方框中的实线和虚线均代表路径,该图表示对应分支的实际路径选择情况(也就是是否有交叉冲突拥堵的情况),在不考虑前序调度的情况下,根据机器人可到达点集,采用蒙特卡洛树搜索方法确定可用路径集合,使用其中的多层神经网络用来估算节点的评价值每一条路径的拥堵概率,保证了蒙特卡洛树搜索方法的有效性,在确定可用路径时能够找到最有潜力的分支;随后,利用群体智能算法将可用路径集合进行邻域搜索得到细化的可用路径集合,作用是进一步优化路径集,增加更合适的路径并剔除没有优势的路径,最终确认可用路径集合;

在对n个机器人进行路径规划时,存在一些问题,比如,每台机器人应规划几条可选路径,选择哪条路径会获得比较好的调度结果,现有技术对于这一问题把每种规划方案都分别采用调度求解后再做评估,这会导致及其庞大的计算量。本实施例在调度前预判调度方案的优劣,而这一过程可以分别对每台机器人进行路径规划,对所有可选规划结果进行评价,提前选择为“优”的概率最大的方案。

在采用蒙特卡洛树搜索方法的情况下,在一种可选的实施方式中,采用所述蒙特卡洛树搜索方法时通过分支选择公式在分支选择中找出发生冲突最少路径的分支,其中,所述分支选择公式是vi是节点i的评价值,通过嵌入的多层神经网络估算;c是可调参数;np是父节点已经被访问的总次数;ni是节点被访问的次数。

根据路径当前位置、目的位置和可到达路径节点对所述可用路径通过标识进行编码和排序得到所述待调度路径和所述出发时间,在一种可选的实施方式中,首先根据路径当前位置、目的位置和可到达路径节点对所述可用路径通过标识进行编码和排序,其中,所述标识分为路径码和顺序码,所述路径码代表可用路径的序号,所述顺序码代表组成可用路径的多个路段,所述路段代表每个可达路径点之间的路径,每条路段通过二维码进行定位标识;将所述可用路径对应的标识解码为机器人的出发时间;根据机器人出发时间结合甘特图来判断所述标识是否为使机器人之间不发生冲突的路径的标识;如果是,则将其作为所述待调度路径对应的标识;如果否,则继续结合机器人出发时间以短路径和通过顺序为邻域进行搜索直至获得使机器人之间不发生冲突的路径标识,将所述标识作为所述待调度路径的标识。对于未确定调度方案的可用路径,采用协同编码的方法进行排序确定经过路段的顺序;将不同的路径通过编码标识,在解码时根据编码确定机器人行走路径,从而确定对应路段的占用时间。进一步与行走顺序协同编码,在解码时确定各机器人对关键路段资源的占用时间和开始启动的顺序,结合排时间模型确定各机器人启动开始时间,通过甘特图来描述冲突。结合甘特图评价调度解,并反馈回邻域搜索调用排时间模型,以路径和顺序为邻域,通过邻域搜索得到优化的调度解。

如图5所示,在图5中的编码标识中,前两位数字是可用路径的序号,如“01”,“03”;后面的数字是这条可用路径所经过的路段代号。路径码可以是两位,则能够用代码表示的可用路径数最多为100,在可用路径集容量发生变化时,路径码的位数可以改变,但是同一可用路径集合内的编码规则一样。顺序码的长度和机器人经过的路段长度一样,存在部分可用路径中的路段数超出其他可用路径的路段数,那么这些可用路径的顺序码长度也会超过其他可用路径的顺序码长度,即数字的个数会增多。

如图5所示,将路径和通过该路径的机器人顺序协同编码,解码时先将其解算为路径,然后把路径中的每一个路段(机器人行走时需扫描地面的二维码定位,每个二维码对应一个路段)转化为右侧甘特图的y轴设备。根据机器人行走的路径(可用路径集)和时间(机器人转弯对路段占用时间较长,直线通过对路段占用时间较少)进行调度获得机器人的待调度路径,按照待调度路径进行调度。调度过程即按照协同编码所指定的信息,将机器人通过每一路段的顺序予以解算,以图5右侧为例,av上图行走黑色实线路段,占用1/2/3/4路段,但由于需在路段3转弯,时间较长。而路段3已有阴影表达的已安排机器人,所以导致av只能在较晚的时间开始行走。甘特图把这一解算过程反馈到邻域搜索,邻域搜索通过变换编码,测试另一组编码对应的效果,如图5下图所示,av行走黑色实线路段,占用1/6/5/4路段,由于路段5和路段6阴影表达的机器人占用时间较短,所以av可以更早开始,因此系统存取效率得到提高,由于减少了机器人的冲突,机器人寿命延长,节约成本。

在多机器存取系统的调度中,以某条拣选/补货作业为例对上述过程进行说明,如图6所示其流程如下:

第一步,将拣选/补货作业转换为任务,生成任务指令,任务指令包括需要运输的货架,货架的所在地,货架的目的地等;

第二步,根据任务指令,选择一台机器人接受任务,如果这台机器人不处于空闲中,任务需要排队,等待机器人将前序任务全部完成后再完成此任务;

第三步,机器人根据当前系统情况和预调度安排,生成并评价可用路径集合。可用路径集合的生成和评价流程见图7。首先,进行初始化,确定机器人当前位置和目的地;其次,判断机器人在执行此任务时是否携带货架,根据携带货架情况确定机器人可达点,得到可达点集;然后,在不考虑前序调度的情况下,根据机器人可达点集,采用蒙特卡洛树搜索方法和多层神经网络,利用群体智能算法进行邻域搜索,确定可用路径集;再次,对于未确定调度方案的可用路径,采用协同编码的方法,在解码时根据编码确定路径中机器人经过的路段顺序,从而确定对应路段的最短停留时间,机器人在每个路段上的进入时间和驶出时间;随后,利用排时间法,在路径所确定的机器人在每个路段上的进入时间和驶出时间(被动时变)基础上,进一步考虑机器人减速造成的时间延长(主动时变)影响,重新确定机器人在每个路段上的停留时间、进入时间和驶出时间,达到避免机器人调度中的冲突和碰撞的效果;依次评价可用路径集中的可用路径;最终,确定可用路径集合内所有可用路径的调度方案;这一步骤的作用就是确定机器人结果的路线,以及每条路线所结果的路段顺序,在米格路段上的进入时间和驶出时间,通过排时间法避免机器人的冲突和碰撞。

第四步,机器人预判可用路径与其他机器人路径间的冲突,根据可用路径集的评价结果选择最快完成当前任务的路线,包括从机器人到达货架的路线,将货架运送至拣选站的路线,将货架从拣选站运出的路线。同时,还要确定机器人在每个路段的进入时间和停留时间,机器人在路段上的停留时间包括通过路段的时间,在路段上转弯的时间,在路段上升降货架的时间,等待拣货人员拣货的时间;这一步骤的作用是调度第三步的结果。选择路线是根据路线的评价结果进行选择。评价标准是最快完成任务。机器人在路段上的时间是由这四部分时间组成,调度的时候会确定由第三步得到的机器人在路段上的停留时间。

第五步,当机器人完成当前任务后,继续下个任务,直到所有任务指令都处于完成状态。

在上述第三步中通过协同编码进行排序确定经过路段的顺序是:在可用路径集中,将不同的可用路径通过编码标识,在解码时根据编码确定路径中机器人经过的路段顺序,从而确定对应路段的最短停留时间,机器人在每个路段上的进入时间和驶出时间。机器人在路段上的最短停留时间包括最快通过路段的时间,在路段上转弯的时间,在路段上升降货架的时间,等待拣货人员拣货的时间等。

上述出发时间,最短停留时间是一个时间段,由机器人最快通过路段的时间(最大速度),在路段上转弯的时间(如果转弯),在路段上升降货架的时间(如果升降货架)这三部分时间组成。机器人在当前路段上的出发时间等于机器在上一路段上的出发时间和上一路段的停留时间之和。机器人在当前路段的出发时间就是机器人在上一路段的驶出时间。

在上述第四步中的排时间法是在路径所确定的机器人在每个路段上的进入时间和驶出时间(被动时变)基础上,进一步考虑机器人减速造成的时间延长(主动时变)影响,重新确定在每个路段上的停留时间、进入时间和驶出时间,最终得到完整的调度方案。通过排时间法确定的调度方案可以完全避免机器人间的碰撞。结合甘特图评价调度解,并反馈回邻域搜索,解码结果绘制成甘特图,根据甘特图评价解,得到机器人的运行路线和运行计划,甘特图的作用是评价当前的调度解,展示调度解的详细方案。

本发明实施例还提供了一种多机器人无停车调度系统,该系统可以通过获取单元92、规划单元94、调度单元96实现其功能。需要说明的是,本发明实施例的一种多机器人无停车调度系统可以用于执行本发明实施例所提供的一种多机器人无停车调度方法,本发明实施例的一种多机器人无停车调度方法也可以通过本发明实施例所提供的一种多机器人无停车调度系统来执行。图9是根据本发明实施例的一种多机器人无停车调度系统的示意图。如图9所示,一种多机器人无停车调度系统,包括:获取单元,用于获得多个机器人的当前位置、目的位置和可到达路径节点集,其中,所述可到达路径节点集是根据在执行任务时机器人携带货架情况来确定的;规划单元,用于根据每个机器人的当前位置、目的位置和可到达路径节点集规划每个机器人的待调度路径和出发时间,其中,所述待调度路径是使多个机器人之间不发生冲突的路径;调度单元,用于根据所述待调度路径和所述出发时间调度多个机器人执行任务。

上述一种多机器人无停车调度系统实施例是与一种多机器人无停车调度方法相对应的,所以对于有益效果不再赘述。

本发明实施例提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述方法。

本发明实施例提供了一种处理器,处理器包括处理的程序,其中,在程序运行时控制处理器所在设备执行上述方法。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1