一种一轨多车的RGV调度方法及系统与流程

文档序号:23665765发布日期:2021-01-15 14:04阅读:520来源:国知局
一种一轨多车的RGV调度方法及系统与流程

本发明涉及车辆调度技术领域,特别是涉及一种一轨多车的rgv调度方法及系统。



背景技术:

随着国内外物流行业的高速发展,市场对物流装备的安全使用和保护措施也越来越高。如图1所示,轨道穿梭车在物流系统中有着非常广泛的应用,它具有速度快、可靠性高、成本低等特点,主要用于物料输送、车间装配等场景,直线往复式一般一个有轨制导车辆(railguidedvehicle,rgv)系统包括一台或多台rgv做往复式运动,一般采用钢轨作为轨道,成本较低。rgv系统既可作为立体仓库的周边设备,也可自己独立系统。根据需要既可将托盘进行横向输送,也能进行纵向输送,可以多台同时工作,输送能力较强,不仅提高了搬运能力,还提高了立体仓库系统的整体效率。

但是,直线往复式rgv系统在一般设计情况下一个系统只包含一台小车,或多个车辆同时运行在一条轨道时,不同的站台用不同车辆进行运输,一台小车对于多站台同时发起托盘输送需求时,效率上非常有限,而多站台分多台车进行输送的方式又对方案的设计灵活性形成了很大限制。



技术实现要素:

本发明的目的是提供一种一轨多车的rgv调度方法及系统,以解决现有技术难以达到的低成本、高可靠性、方案布局灵活和高效率要求的问题。

为实现上述目的,本发明提供了如下方案:

一种一轨多车的rgv调度方法,包括:

获取各站台的站台位置、各站台的任务状态和轨道上各车辆的车辆位置,所述任务状态包括各任务的执行状态和各任务的任务等待时长;

根据所述站台位置和所述车辆位置,确定各所述站台的待分配车辆;所述待分配车辆为所述轨道上距离所述站台的距离处于设定范围内的车辆;

根据所述任务状态为各所述待分配车辆分配任务。

可选的,所述根据所述任务状态为各所述待分配车辆分配任务,具体为:

根据各所述任务的执行状态确定未被执行的任务;

根据所述未被执行的任务的任务等待时长计算各所述未被执行的任务的任务优先级;

将任务优先级最高的未被执行的任务分配给所述待分配车辆。

可选的,所述将任务优先级最高的未被执行的任务分配给所述待分配车辆,具体包括:

判断所述待分配车辆之间是否存在机械干涉;

若所述待分配车辆之间不存在机械干涉,则将任务优先级最高的未被执行的任务分配给目标车辆;所述目标车辆为所述待分配车辆中距离所述站台最短的车辆;

若所述待分配车辆之间存在机械干涉,则将任务优先级最高的未被执行的任务分割为n个子任务;

将所述待分配车辆按照与站台之间的距离,由小到大进行排序,得到车辆优先级序列;

将所述车辆优先级序列中前n个待分配车辆确定为目标车辆集合;

将n个所述子任务分配给所述目标车辆集合;一个所述子任务对应所述目标车辆集合中的一个待分配车辆。

可选的,在所述根据所述任务状态为各所述待分配车辆分配任务之后,还包括:

当所有站台的待分配车辆执行当前任务时,将所有的待分配车辆确定为执行车辆;

判断所有的执行车辆之间是否存在非正常状态,所述非正常状态为执行车辆的行驶区域之间存在重叠,或执行车辆之间存在机械干涉;

若是,则将所述执行车辆中执行时长最长的车辆确定为最优行驶车辆,将所述执行车辆中执行时长低于所述最优行驶车辆的执行时长的车辆确定为次级执行车辆;所述执行时长为所述执行车辆执行当前任务的持续时长;

控制所述最优行驶车辆继续执行当前任务,控制所述次级执行车辆停止执行当前任务。

可选的,所述根据所述未被执行的任务的任务等待时长计算各所述未被执行的任务的任务优先级,具体为:

任务优先级=任务等待时长×时间权重+路程权重/路程,其中时间权重=任务等待时长/第一设定时长,路程为待分配车辆当前的车辆位置与未被执行的任务对应的站台之间的距离。

一种一轨多车的rgv调度系统,包括:

获取模块,用于获取各站台的站台位置、各站台的任务状态和轨道上各车辆的车辆位置,所述任务状态包括各任务的执行状态和各任务的任务等待时长;

待分配车辆确定模块,用于根据所述站台位置和所述车辆位置,确定各所述站台的待分配车辆;所述待分配车辆为所述轨道上距离所述站台的距离处于设定范围内的车辆;

任务分配模块,用于根据所述任务状态为各所述待分配车辆分配任务。

可选的,所述任务分配模块包括:

未被执行任务确定单元,用于根据各所述任务的执行状态确定未被执行的任务;

任务优先级确定单元,用于根据所述未被执行的任务的任务等待时长计算各所述未被执行的任务的任务优先级;

任务分配单元,用于将任务优先级最高的未被执行的任务分配给所述待分配车辆。

可选的,所述任务分配单元包括:

机械干涉判断子单元,用于判断所述待分配车辆之间是否存在机械干涉;

第一任务分配子单元,用于若所述待分配车辆之间不存在机械干涉,则将任务优先级最高的未被执行的任务分配给目标车辆;所述目标车辆为所述待分配车辆中距离所述站台最短的车辆;

任务分割子单元,用于若所述待分配车辆之间存在机械干涉,则将任务优先级最高的未被执行的任务分割为n个子任务;

车辆优先级序列确定子单元,用于将所述待分配车辆按照与站台之间的距离,由小到大进行排序,得到车辆优先级序列;

目标车辆集合确定子单元,用于将所述车辆优先级序列中前n个待分配车辆确定为目标车辆集合;

第二任务分配子单元,用于将n个所述子任务分配给所述目标车辆集合;一个所述子任务对应所述目标车辆集合中的一个待分配车辆。

可选的,所述一种一轨多车的rgv调度系统,还包括:

执行车辆确定模块,用于当所有站台的待分配车辆执行当前任务时,将所有的待分配车辆确定为执行车辆;

非正常状态确定模块,用于判断所有的执行车辆之间是否存在非正常状态,所述非正常状态为执行车辆的行驶区域之间存在重叠,或执行车辆之间存在机械干涉;

最优行驶车辆确定模块,用于若所述非正常状态确定模块结果为是,则将所述执行车辆中执行时长最长的车辆确定为最优行驶车辆,将所述执行车辆中执行时长低于所述最优行驶车辆的执行时长的车辆确定为次级执行车辆;所述执行时长为所述执行车辆执行当前任务的持续时长;

任务执行模块,用于控制所述最优行驶车辆继续执行当前任务,控制所述次级执行车辆停止执行当前任务。

可选的,所述任务优先级确定模块具体为:任务优先级=任务等待时长×时间权重+路程权重/路程,其中时间权重=任务等待时长/第一设定时长,路程为待分配车辆当前的车辆位置与未被执行的任务对应的站台之间的距离。

根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明根据车辆位置、站台位置和任务状态对各车辆分配任务,提供了一种允许多车同时在同一轨道运行,且不同车辆任务辖区范围可以互相重叠的系统,通过plc进行控制,在成本、可靠性、方案灵活性及效率上带来了很大提升。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为现有的直线往复式rgv系统结构组成示意图;

图2为本发明实施例提供的一轨多车的rgv调度方法流程图;

图3为本发明实施例提供的一轨多车的rgv调度系统组成示意图;

图4为本发明实施例提供的通过cvs/mc标准接口获取的站台的状态及任务的信息图;

图5为本发明实施例提供的通过rgv/mc标准接口获取的各车的状态、位置和速度的信息图;

图6为本发明实施例提供的通过mc/cvs标准接口写入站台的数据图;

图7为本发明实施例提供的通过mc/rgv标准接口写入各车目标位置及指令的数据图。

具体实施方式

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

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

如图2所示,本实施例提供了一种一轨多车的rgv调度方法,所述方法包括:

101:获取各站台的站台位置、各站台的任务状态和轨道上各车辆的车辆位置。所述任务状态包括各任务的执行状态和各任务的任务等待时长。

102:根据所述站台位置和所述车辆位置,确定各所述站台的待分配车辆。所述待分配车辆为所述轨道上距离所述站台的距离处于设定范围内的车辆。

103:根据所述任务状态为各所述待分配车辆分配任务。

其中103,具体为:

根据各所述任务的执行状态确定未被执行的任务。

根据所述未被执行的任务的任务等待时长计算各所述未被执行的任务的任务优先级。

将任务优先级最高的未被执行的任务分配给所述待分配车辆。

其中,将任务优先级最高的未被执行的任务分配给所述待分配车辆,具体包括:

判断所述待分配车辆之间是否存在机械干涉。

若所述待分配车辆之间不存在机械干涉,则将任务优先级最高的未被执行的任务分配给目标车辆;所述目标车辆为所述待分配车辆中距离所述站台最短的车辆。

若所述待分配车辆之间存在机械干涉,则将任务优先级最高的未被执行的任务分割为n个子任务。

将所述待分配车辆按照与站台之间的距离,由小到大进行排序,得到车辆优先级序列。

将所述车辆优先级序列中前n个待分配车辆确定为目标车辆集合。

将n个所述子任务分配给所述目标车辆集合;一个所述子任务对应所述目标车辆集合中的一个待分配车辆。

其中,在根据所述任务状态为各所述待分配车辆分配任务之后,还包括:

当所有站台的待分配车辆执行当前任务时,将所有的待分配车辆确定为执行车辆。

判断所有的执行车辆之间是否存在非正常状态,所述非正常状态为执行车辆的行驶区域之间存在重叠,或执行车辆之间存在机械干涉。

若是,则将所述执行车辆中执行时长最长的车辆确定为最优行驶车辆,将所述执行车辆中执行时长低于所述最优行驶车辆的执行时长的车辆确定为次级执行车辆;所述执行时长为所述执行车辆执行当前任务的持续时长。

控制所述最优行驶车辆继续执行当前任务,控制所述次级执行车辆停止执行当前任务。

其中,根据所述未被执行的任务的任务等待时长计算各所述未被执行的任务的任务优先级,具体为:

任务优先级=任务等待时长×时间权重+路程权重/路程,其中,时间权重=任务等待时长/第一设定时长,路程为待分配车辆当前的车辆位置与未被执行的任务对应的站台之间的距离。

如图3所示,本实施例还提供了一种与上述方法对应的一轨多车的rgv调度系统,所述系统包括:

获取模块a1,用于获取各站台的站台位置、各站台的任务状态和轨道上各车辆的车辆位置,所述任务状态包括各任务的执行状态和各任务的任务等待时长。

待分配车辆确定模块a2,用于根据所述站台位置和所述车辆位置,确定各所述站台的待分配车辆;所述待分配车辆为所述轨道上距离所述站台的距离处于设定范围内的车辆。

任务分配模块a3,用于根据所述任务状态为各所述待分配车辆分配任务。

作为一种可选的实施方式,所述任务分配模块包括:

未被执行任务确定单元,用于根据各所述任务的执行状态确定未被执行的任务。

任务优先级确定单元,用于根据所述未被执行的任务的任务等待时长计算各所述未被执行的任务的任务优先级。

任务分配单元,用于将任务优先级最高的未被执行的任务分配给所述待分配车辆。

作为一种可选的实施方式,所述任务分配单元包括:

机械干涉判断子单元,用于判断所述待分配车辆之间是否存在机械干涉。

第一任务分配子单元,用于若所述待分配车辆之间不存在机械干涉,则将任务优先级最高的未被执行的任务分配给目标车辆;所述目标车辆为所述待分配车辆中距离所述站台最短的车辆。

任务分割子单元,用于若所述待分配车辆之间存在机械干涉,则将任务优先级最高的未被执行的任务分割为n个子任务。

车辆优先级序列确定子单元,用于将所述待分配车辆按照与站台之间的距离,由小到大进行排序,得到车辆优先级序列。

目标车辆集合确定子单元,用于将所述车辆优先级序列中前n个待分配车辆确定为目标车辆集合。

第二任务分配子单元,用于将n个所述子任务分配给所述目标车辆集合;一个所述子任务对应所述目标车辆集合中的一个待分配车辆。

作为一种可选的实施方式,所述一种一轨多车的rgv调度系统,还包括:

执行车辆确定模块,用于当所有站台的待分配车辆执行当前任务时,将所有的待分配车辆确定为执行车辆。

非正常状态确定模块,用于判断所有的执行车辆之间是否存在非正常状态,所述非正常状态为执行车辆的行驶区域之间存在重叠,或执行车辆之间存在机械干涉。

最优行驶车辆确定模块,用于若所述非正常状态确定模块结果为是,则将所述执行车辆中执行时长最长的车辆确定为最优行驶车辆,将所述执行车辆中执行时长低于所述最优行驶车辆的执行时长的车辆确定为次级执行车辆;所述执行时长为所述执行车辆执行当前任务的持续时长。

任务执行模块,用于控制所述最优行驶车辆继续执行当前任务,控制所述次级执行车辆停止执行当前任务。

作为一种可选的实施方式,所述任务优先级确定模块具体为:任务优先级=任务等待时长×时间权重+路程权重/路程,其中,时间权重=任务等待时长/第一设定时长,路程为待分配车辆当前的车辆位置与未被执行的任务对应的站台之间的距离。

本实施例提供了一种更为具体的一轨多车的rgv调度系统;所述系统通过地面站程序模块与站台输送机plc进行通信,获取各站台状态及任务列表,并对当前所获取到的所有任务进行整理及规划,并根据任务辖区及车辆状态,将任务下发给车辆,并在车辆任务执行过程中进行统一协调和管控,实现物料及信息的同步传送,并尽可能提高系统最大运行效率(即托盘通过能力)。

地面站程序模块可以划分为外部通信模块、任务规划模块、系统控制模块、车辆管理模块、任务管理模块和hmi管理模块。

外部通信模块与站台输送机plc建立连接,如图4-图7所示,通过cvs/mc标准接口读取每个站台的状态及任务数据,并根据各个车辆当前所处的位置,通过mc/cvs标准接口发送给各站台相关状态及任务数据,与各车辆建立连接,通过rgv/mc标准接口读取车辆速度和位置等信息,并协调各车辆之间的任务区域,通过mc/rgv标准接口发送给车辆当前目标位置及装卸车指令。

任务规划模块:负责将部分车辆由于机械干涉无法到达的任务,分割为不同的子任务(比如某一个站台发起的任务,要横跨多台车所管理的辖区,这个任务将被分割为多个子任务,分别是起点->过渡点1,过渡点1->过渡点2,过渡点2->终点),通过不同车辆执行不同子任务完成接驳输送。

系统控制模块:负责对整个系统的启动、停止、点动操作等进行控制。

车辆管理模块:负责车辆及辖区的管理,通过调用封装好的车辆子程序,发送前进、后退、装货、卸货、目标行走位置等指令给车辆,在任务区域出现重叠或机械干涉时(两台车分别分配了两个不同任务,但任务所行驶的区域存在重叠或者机械干涉;重叠指任务区间有交叉,机械干涉指任务区间没有交叉,但两台车分别跑到该位置时,由于车辆自身长度,车辆会发生碰撞),根据车辆正在执行的任务执行时间进行优先级排序,取单位为s,执行时间每增加100ms,优先级+1,将优先级更低的车辆驱赶至高优先级的任务占用区域外,并在高优先级任务完成后,释放其优先级占用,再次进行根据车辆正在执行的任务执行时间进行优先级排序,将优先级更低的车辆驱赶至高优先级的任务占用区域外,并在高优先级任务完成后,释放其优先级占用。

任务管理模块:负责对不同车辆进行任务分配,读取所有站台状态写入站台状态表,查询站台状态表中存在任务发起请求的站台,并根据站台编号查询任务规划模块更新的任务列表,对其各站台进行等待时间排序,并根据车辆当前辖区,分割为不同的任务列表(将站台任务按照等待时间进行排序,然后根据站台位置确定负责任务的车辆,将车辆和对应的任务存入任务列表)。其中每个任务列表对应当前一台rgv,①根据当前rgv的位置及忙闲状态,综合任务等待执行时间进行排序。其排序方式为:任务优先级=任务等待时间*时间权重+路程权重/路程,其中,取时间单位为s,路程单位为m,初始时间权重为1,每等待30s,时间权重+1,等待时间超过10min时,时间权重锁定为10000。初始路程权重为1000,距离每增大1m,路程权重-1,路程为待分配车辆当前的车辆位置与未被执行的任务对应的站台之间的距离。遵循原则轨道长度不应当超过初始权重值,因此初始路程权重的设定默认为轨道长度的10倍。②查询任务列表中对应目标站台的状态表,若目标站台不空闲,则标记目标站台状态为忙碌。③查询当前各车辆正在执行的所有任务,⑴若任务列表中源站台(rgv要去取货的站台)发起的任务已经分配给车辆执行(已经分配给某台车,正在执行或者尚未执行),则强制源站台当前任务优先级为-1;⑵已分配给车辆正在执行的任务,根据任务指向目标站台,标记目标站台状态为封锁。④根据任务优先级数据进行排序,对于标记目标站台忙碌和封锁,锁定其优先级为-1(不可用)。⑤任务分发,将优先级最高的任务优先分配。

hmi管理模块:与外部通信模块、任务规划模块、系统控制模块、车辆管理模块、任务管理模块连接,并获取外部通信模块、任务规划模块、系统控制模块、车辆管理模块、任务管理模块中的数据和状态加以显示,负责为用户提供方便的车辆状态查询接口、任务查询接口、显示车辆相对坐标位置、车辆报警信息,以及提供点动操作窗口,便于手动操作及异常处理。

本发明通过对各车辆x方向坐标运行进行统一管控和协调,使各车辆之间可以同时在一条轨道上互相避让,完成任务区域有交叉重叠的输送需求。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

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