智能仓储无人天车调度方法与流程

文档序号:24336631发布日期:2021-03-19 12:17阅读:554来源:国知局
智能仓储无人天车调度方法与流程

本申请涉及智能仓储无人天车的调度。



背景技术:

传统的仓储仓储管理和天车控制是独立的,且需要由人手动操作天车进行取料、放料、信息录入等库区作业。但人力成本提高,且人在长时间工作时容易产生懈怠、疲惫情绪,手动操作的不规范性容易导致生产安全问题。



技术实现要素:

本申请提供智能仓储无人天车调度方法,采用天车任务自动分派、天车任务自动调度、天车防撞调度来实现无人天车自动调度,从而达到智能仓储的无人化,提高工厂的安全生产,提高生产管理水平,提高产品质量和经济效益。

根据本申请实施例的一方面,提供一种智能仓储无人天车调度方法,包括:

根据需求,产生一个新任务task;

计算出任务task区域的所有相关可用天车;

从所有相关可用天车中选择一个最合适的天车cm;

将任务task加入天车cm的任务链表listm中;

对任务链表listm进行优先级排序;

天车cm的任务执行单元um从其任务链表listm中获取一个优先级最高的任务taskm;

任务执行单元um开始调度执行任务taskm,标记任务taskm的移动动作序列项move1、move2……moven,按照动作序列依次执行每个具体的动作。

在一些示例中,在执行动作项movem(m属于1-n)时,先进行全局天车路由管控,判断动作项movem的移动路由routem上是否有其它天车停留或是与其它天车路由有交集;

如果有不执行任务的天车ci停留,则形成天车ci的调离任务taski,taski将给予最高优先级,将ci同向调离路由routem的范围外,并将路由routem加入到全局管控路由中;

如果有执行任务的天车cj停留,则路由routem分派失败,任务taskm执行失败,标记失败动作序列m,停止继续执行并返回,将任务taskm重新加入任务链表listm中,并根据相关策略,调整taskm的优先级,当taskm从任务队列中取出重新执行时,从上一次的失败动作序列m开始继续执行;

如果天车ci路由routei与路由routem有交集,且路由routei和routem同向,则将天车ci和cm加入天车距离管控当中,使两台天车保持在安全距离之外,且以同向上的第一台天车为准,两台天车进行移动和停止操作,并将路由routem将入全局路由管控当中;

如果天车ci路由routei与路由routem有交集,且路由routei和routem相向,则路由routem分派失败,标记失败动作序列m,停止继续执行并返回,将任务taskm重新加入任务链表listm中,并根据相关策略,调整taskm的优先级,当taskm从任务队列中取出重新执行时,从上一次的失败动作序列m开始继续执行。

在一些示例中,如果在规定的时间段内超过了规定的失败执行次数,则将该任务从该台天车对象剥离,重新进行天车任务分派。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例的附图作简单地介绍。

图1示出了根据本申请实施例的智能仓储无人天车调度方法流程图。

具体实施方式

如图1所示,一种智能仓储无人天车调度方法包括以下步骤:

步骤1,识别天车的所有任务类型,并对每一种任务类型的操作,根据天车动作项,组合成一个天车动作序列。这些动作项包括移动、停止、夹紧物料、松开物料。

构建所有仓储信息,仓储有仓储id、名称、仓储大小信息属性,仓储id通过用算法生成的一个32字节字符串来唯一标识。构建仓储内所有功能存储区,功能存储区有id、名称、区域水平范围信息属性,功能存储区id通过用算法生成的一个32字节字符串来唯一标识。构建仓储内所有危险区域,危险区域有区域id、区域名称、区域水平范围、区域高度信息属性,每个区域id通过用算法生成的一个32字节字符串来唯一标识。构建仓储内每个存储位,存储位有id、编号、(x,y,z)地址坐标、所属存储功能区信息属性,每个存储位id通过用算法生成的一个32字节字符串来唯一标识。构建仓储内所有的天车,天车有天车id、天车名称、天车活动区域信息属性,每个天车id通过用算法生成的一个32字节字符串来唯一标识。构建任务task,每个task配置有任务id、任务名称、任务源地址、任务目的地址、任务类型、预约执行时间、级别、所属天车信息属性,每个任务id通过用算法生成的一个32字节字符串来唯一标识。

步骤2,为了保证每个任务有天车去执行,采用天车任务自动分派方法,将任务分派到一台具体的天车对象(术语“天车对象”非实际的天车,而是实际天车的一个模拟,后述的“天车对象”都是指这种模拟)上。每台天车对象有唯一的一个任务链表,分派的天车任务进入天车任务链表中,天车对象从任务链表中获取一个优先级最高的任务去执行。任务链表可根据任务类型、任务开始执行时间进行综合优先级排序。

设置一个任务分派计算公式,在所有可分派的天车中,取根据计算公式得到的权值最小的天车进行作业分派。在实际的应用中,影响任务分派的因素有天车的当前任务数num、跨的长度len、天车当前任务链表中最后一个任务的目的地址与要分派任务的起始地址之间在移动方向上的距离distance(沿x轴则是水平距离,沿y轴则是垂直距离),假设权值为weight,影响因子记为a(0≤a≤1),则权值计算公式可以设计如下:

weight=num*len*a+distance*(1-a);

考虑到跨的长度一般都是几百米,比较长,如果影响因子大于0.5,则会比较倾向于任务少的天车,因此,在一种可能的实施方式中,a的取值小于0.5,初始为0.4。

步骤3,每台天车对象,配置一个天车任务执行单元,用于天车对象任务的执行、执行情况监视和异常处理。

步骤4,天车任务执行单元执行具体的任务,每个任务按照动作序列依次执行每个具体的动作,动作序列中后一个动作的执行,依赖于前一个动作的成功执行;某个动作执行失败,则退出任务的执行,并记录下执行失败点,下次重新开始执行该任务时,直接从失败点开始执行。

步骤5,为了防止多台天车在执行任务时相撞,采取仓储内所有天车路由实时管控机制和天车自动规避调度机制。

路由管控实时更新机制,具体更新机制如下:

(1)针对路由管控中的每一个路由r,假设其起点坐标为(x1,y1),终点坐标为(x2,y2)(假设沿x轴移动),获取路由r关联的天车c,然后获取天车c的实时坐标(x,y,z),如果x的值在x1和x2之间,则更新路由r,将其起点坐标(x1,y1)设置为(x,y1)。

(2)每间隔30秒重复步骤1。

天车自动规避调度机制,具体如下:

对于将要列入管控计划的路由route,如果该路由上有其它的天车,则根据该路由的移动方向,将其它天车自动调度到离路由目的地址nδt处(记为autodesti),其中n代表是该路由上的第几个天车,从1开始,δt代表天车之间的安全距离,其中autodest的值,分一下几种情况处理,这里以天车沿x轴方向移动为例进行说明:

(1)路由沿x轴正向移动

在该方法中,在路由route中的其它天车,离路由终点(x2,y2)越近的天车,所要远离的δt距离越多,假设在路由中有m个天车,编号分别为c1、c2…cm,距离(x2,y2)的距离由近及远分别是cm、c(m-1)、c1(这里的距离可以直接由该点的x坐标值-x2的绝对值获得),那么c1、c2……cm天车最终要移动到的坐标为(x2+mδt,y2)、(x2+(m-1)δt,y2)……(x2+δt,y2)。

如果x2+iδt≥天车所属跨的水平长度(其中1≤i≤m),则路由route不能列入路由管控中,天车因为防撞不能移动。

其中,autodest的值,依次为(x2+δt,y2)、(x2+2δt,y2)等等。

(2)路由沿x轴负向移动

在该方法中,在路由route中的其它天车,离路由终点(x2,y2)越近的天车,所要远离的δt距离越多,假设在路由中有m个天车,编号分别为c1、c2…cm,距离(x2,y2)的距离由近及远分别是cm、c(m-1)、c1(这里的距离可以直接由改点的x坐标值-x2的绝对值获得),那么c1、c2……cm天车最终要移动到的坐标为(x2-mδt,y2)、(x2-(m-1)δt,y2)……(x2-δt,y2)。

如果x2-iδt≤0(其中1≤i≤m),则路由route不能列入路由管控中,天车因为防撞不能移动。

天车沿y轴移动跟沿x轴移动的处理方式相同。

步骤6,为了防止某台天车执行某个任务一直失败而影响其它任务的执行,规定时间段和失败执行次数,如果在规定的时间段内超过了规定的失败执行次数,则将该任务从该台天车对象剥离,重新进行天车任务分派。进行任务分派时,先排除该台天车,如果没有找到可以分派的天车,再将该任务分派到该台天车对象上,并调整该任务的优先级;否则,将该任务分派到找到的天车对象上。

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