掌桥专利:专业的专利平台
掌桥专利
首页

一种基于任务优先级避让驱赶的一轨双车调度方法及系统

文献发布时间:2023-06-19 19:30:30


一种基于任务优先级避让驱赶的一轨双车调度方法及系统

技术领域

本发明涉及调度技术领域,特别是一种基于任务优先级避让驱赶的一轨双车调度方法及系统。

背景技术

对于物流系统中流量较大、空间有限的搬运子系统环节,配置单台直行穿梭车能力不足,配置环行穿梭车或EMS系统空间有限场合,配置一轨双车是理想选择。如何调度一轨双车直接影响系统处理能力。

目前主流的一轨双车调度方法基于走行过程级:单次取货走行过程或单次送货走行过程准备走行前,实时检测并驱赶另外一台挡道穿梭车。经常出现频繁等待、交叉驱赶情况,系统处理能力较低。

发明内容

鉴于此,本发明提供一种基于任务优先级避让驱赶的一轨双车调度方法及系统,以解决上述技术问题。

本发明公开了一种基于任务优先级避让驱赶的一轨双车调度方法,其包括以下步骤:

获取同一轨道上第一穿梭车和第二穿梭车的车辆位置和任务状态,以及各站点的站点位置;其中,所述任务状态包括无任务、取货、送货;

获取第一任务,选择执行所述第一任务的第一穿梭车;其中,所述第一任务包括前往第一取货地址取货和前往第一送货地址送货,且第一取货地址和第一送货地址分别与其对应的站点位置相同;

根据第一穿梭车和第二穿梭车目前的任务状态以及优先级,选择是否驱赶第二穿梭车或者使第二穿梭车避让第一穿梭车;

根据选择的结果,控制所述第一穿梭车完成所述第一任务。

进一步地,所述第一穿梭车和所述第二穿梭车在接到任务之前,分别位于不同的站点;且第一穿梭车和第二穿梭车执行任务所行驶的区域之间有重叠。

进一步地,所述优先级的确定过程为:

若第一穿梭车或第二穿梭车无任务,则将其定义为低优先级;

若第一穿梭车开始取货,当检测到第二穿梭车无任务,则将第一穿梭车定义为高优先级;

若第一穿梭车处于执行任务中,第二穿梭车接到第二任务开始取货,则第二穿梭车保持低优先级;当第一穿梭车完成送货时,则将其定义为低优先级,再检测到第二穿梭车的任务状态是取货或送货,则将第二穿梭车定义为高优先级,最后检测第一穿梭车是否有后续任务,有则取货,无则停位空闲;其中,所述第二任务包括前往第二取货地址取货和前往第二送货地址送货,且第二取货地址和第二送货地址分别与其对应的站点位置相同。

进一步地,所述根据第一穿梭车和第二穿梭车目前的任务状态以及优先级,选择是否驱赶第二穿梭车或者使第二穿梭车避让第一穿梭车,包括:

当所述第二穿梭车处于低优先级且其运动状态为停位空闲,若第二穿梭车位于第一安全区域内,则对其进行驱赶,即将其调度至驱赶点;否则,不对其进行驱赶;其中,所述驱赶点为第一安全区域之外且距离第二穿梭车最近的站点;所述第一安全区域等于第一行驶区域与安全距离之和,所述第一行驶区域为第一穿梭车执行所述第一任务所行驶的路线,即第一穿梭车前往第一取货地址以及从第一取货地址到第一送货地址所行驶的路线;所述安全距离大于第一穿梭车的车身长度。

进一步地,所述根据第一穿梭车和第二穿梭车目前的任务状态以及优先级,选择是否驱赶第二穿梭车或者使第二穿梭车避让第一穿梭车,还包括:

若在第一穿梭车执行所述第一任务,第二穿梭车接到前往第二取货地址取货或前往第二送货地址送货时,检测第二穿梭车执行第二任务的行驶区域是否会阻挡第一穿梭车在第一安全区域内行驶;若阻挡,则将第二穿梭车调度至避让点;否则,无需调度第二穿梭车至避让点;其中,所述避让点为第一安全区域之外且在第二穿梭车处于取货状态时,距离第二穿梭车的取货站点最近的站点,或者是,在第二穿梭车处于送货状态时,距离第二穿梭车的送货站点最近的站点;

当第一穿梭车完成取货后,再次检测第二穿梭车执行第二任务是否会阻挡第一穿梭车前往送货地址,若否,则控制第二穿梭车执行第二任务;否则,若检测到第二穿梭车不在原有避让点,则实时变更避让点,并将第二穿梭车调度至变更后的避让点;当第一穿梭车完成送货时,控制第二穿梭车执行第二任务;其中,在第二穿梭车处于取货状态时,所述变更后的避让点比变更前的避让点更接近第二穿梭车的取货站点;或者是,在第二穿梭车处于送货状态时,所述变更后的避让点比变更前的避让点更接近第二穿梭车的送货站点。

本发明还公开了一种基于任务优先级避让驱赶的一轨双车调度系统,其包括:

第一获取模块,用于获取同一轨道上第一穿梭车和第二穿梭车的车辆位置和任务状态,以及各站点的站点位置;其中,所述任务状态包括无任务、取货、送货;

第二获取模块,用于获取第一任务,选择执行所述第一任务的第一穿梭车;其中,所述第一任务包括前往第一取货地址取货和前往第一送货地址送货,且第一取货地址和第一送货地址分别与其对应的站点位置相同;

选择模块,用于根据第一穿梭车和第二穿梭车目前的任务状态以及优先级,选择是否驱赶第二穿梭车或者使第二穿梭车避让第一穿梭车;

控制模块,用于根据选择的结果,控制所述第一穿梭车完成所述第一任务。

进一步地,所述第一穿梭车和所述第二穿梭车在接到任务之前,分别位于不同的站点;且第一穿梭车和第二穿梭车执行任务所行驶的区域之间有重叠。

进一步地,所述优先级的确定过程为:

若第一穿梭车或第二穿梭车无任务,则将其定义为低优先级;

若第一穿梭车开始取货,当检测到第二穿梭车无任务,则将第一穿梭车定义为高优先级;

若第一穿梭车处于执行任务中,第二穿梭车接到第二任务开始取货,则第二穿梭车保持低优先级;当第一穿梭车完成送货时,则将其定义为低优先级,再检测到第二穿梭车的任务状态是取货或送货,则将第二穿梭车定义为高优先级,最后检测第一穿梭车是否有后续任务,有则取货,无则停位空闲;其中,所述第二任务包括前往第二取货地址取货和前往第二送货地址送货,且第二取货地址和第二送货地址分别与其对应的站点位置相同。

进一步地,所述选择模块,包括:

当所述第二穿梭车处于低优先级且其运动状态为停位空闲,若第二穿梭车位于第一安全区域内,则对其进行驱赶,即将其调度至驱赶点;否则,不对其进行驱赶;其中,所述驱赶点为第一安全区域之外且距离第二穿梭车最近的站点;所述第一安全区域等于第一行驶区域与安全距离之和,所述第一行驶区域为第一穿梭车执行所述第一任务所行驶的路线,即第一穿梭车前往第一取货地址以及从第一取货地址到第一送货地址所行驶的路线;所述安全距离大于第一穿梭车的车身长度。

进一步地,所述选择模块,还包括:

若在第一穿梭车执行所述第一任务,第二穿梭车接到前往第二取货地址取货或前往第二送货地址送货时,检测第二穿梭车执行第二任务的行驶区域是否会阻挡第一穿梭车在第一安全区域内行驶;若阻挡,则将第二穿梭车调度至避让点;否则,无需调度第二穿梭车至避让点;其中,所述避让点为第一安全区域之外且在第二穿梭车处于取货状态时,距离第二穿梭车的取货站点最近的站点,或者是,在第二穿梭车处于送货状态时,距离第二穿梭车的送货站点最近的站点;

当第一穿梭车完成取货后,再次检测第二穿梭车执行第二任务是否会阻挡第一穿梭车前往送货地址,若否,则控制第二穿梭车执行第二任务;否则,若检测到第二穿梭车不在原有避让点,则实时变更避让点,并将第二穿梭车调度至变更后的避让点;当第一穿梭车完成送货时,控制第二穿梭车执行第二任务;其中,在第二穿梭车处于取货状态时,所述变更后的避让点比变更前的避让点更接近第二穿梭车的取货站点;或者是,在第二穿梭车处于送货状态时,所述变更后的避让点比变更前的避让点更接近第二穿梭车的送货站点。

由于采用了上述技术方案,本发明具有如下的优点:本调度方法基于接送任务级:高优先级接送货穿梭车驱赶低优先级停位空闲穿梭车;低优先级接送货穿梭车在不影响高优先级穿梭车接送货前提下,为缩短接送货时间避让走行。与基于走行过程级调度方法相比,综合考虑任务接送货全过程,可以最大限度减少无效驱赶走行次数,以达到提高系统处理能力和走行效率的目标;并且定义优先级、驱赶点和避让点方法易于理解、项目实施周期短、易于维护。

附图说明

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

图1为本发明实施例的一种基于任务优先级避让驱赶的一轨双车调度方法的流程示意图;

图2为本发明实施例的一轨双车的配置方式示意图。

具体实施方式

结合附图和实施例对本发明作进一步说明,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。

参见图1,本发明提供了一种基于任务优先级避让驱赶的一轨双车调度方法的实施例,其包括以下步骤:

S1、获取同一轨道上第一穿梭车和第二穿梭车的车辆位置和任务状态,以及各站点的站点位置;其中,任务状态包括无任务、取货、送货;

S2、获取第一任务,选择执行第一任务的第一穿梭车;其中,第一任务包括前往第一取货地址取货和前往第一送货地址送货,且第一取货地址和第一送货地址分别与其对应的站点位置相同;

S3、根据第一穿梭车和第二穿梭车目前的任务状态以及优先级,选择是否驱赶第二穿梭车或者使第二穿梭车避让第一穿梭车;

S4、根据选择的结果,控制第一穿梭车完成第一任务。

本实施例中,第一穿梭车和第二穿梭车在接到任务之前,分别位于不同的站点;且第一穿梭车和第二穿梭车执行任务所行驶的区域之间有重叠。

本实施例中,优先级的确定过程为:

若第一穿梭车或第二穿梭车无任务,则将其定义为低优先级;

若第一穿梭车开始取货,当检测到第二穿梭车无任务,则将第一穿梭车定义为高优先级;

若第一穿梭车处于执行任务中,第二穿梭车接到第二任务开始取货,则第二穿梭车保持低优先级;当第一穿梭车完成送货时,则将其定义为低优先级,再检测到第二穿梭车的任务状态是取货或送货,则将第二穿梭车定义为高优先级,最后检测第一穿梭车是否有后续任务,有则取货,无则停位空闲;其中,第二任务包括前往第二取货地址取货和前往第二送货地址送货,且第二取货地址和第二送货地址分别与其对应的站点位置相同。

本实施例中,根据第一穿梭车和第二穿梭车目前的任务状态以及优先级,选择是否驱赶第二穿梭车或者使第二穿梭车避让第一穿梭车,包括:

当第二穿梭车处于低优先级且其运动状态为停位空闲,若第二穿梭车位于第一安全区域内,则对其进行驱赶,即将其调度至驱赶点;否则,不对其进行驱赶;其中,驱赶点为第一安全区域之外且距离第二穿梭车最近的站点;第一安全区域等于第一行驶区域与安全距离之和,第一行驶区域为第一穿梭车执行第一任务所行驶的路线,即第一穿梭车前往第一取货地址以及从第一取货地址到第一送货地址所行驶的路线;安全距离大于第一穿梭车的车身长度。

本实施例中,根据第一穿梭车和第二穿梭车目前的任务状态以及优先级,选择是否驱赶第二穿梭车或者使第二穿梭车避让第一穿梭车,还包括:

若在第一穿梭车执行第一任务,第二穿梭车接到前往第二取货地址取货或前往第二送货地址送货时,检测第二穿梭车执行第二任务的行驶区域是否会阻挡第一穿梭车在第一安全区域内行驶;若阻挡,则将第二穿梭车调度至避让点;否则,无需调度第二穿梭车至避让点;其中,避让点为第一安全区域之外且在第二穿梭车处于取货状态时,距离第二穿梭车的取货站点最近的站点,或者是,在第二穿梭车处于送货状态时,距离第二穿梭车的送货站点最近的站点;

当第一穿梭车完成取货后,再次检测第二穿梭车执行第二任务是否会阻挡第一穿梭车前往送货地址,若否,则控制第二穿梭车执行第二任务;否则,若检测到第二穿梭车不在原有避让点,则实时变更避让点,并将第二穿梭车调度至变更后的避让点;当第一穿梭车完成送货时,控制第二穿梭车执行第二任务;其中,在第二穿梭车处于取货状态时,变更后的避让点比变更前的避让点更接近第二穿梭车的取货站点;或者是,在第二穿梭车处于送货状态时,变更后的避让点比变更前的避让点更接近第二穿梭车的送货站点。

本发明还提供了一种基于任务优先级避让驱赶的一轨双车调度系统的实施例,其包括:

第一获取模块,用于获取同一轨道上第一穿梭车和第二穿梭车的车辆位置和任务状态,以及各站点的站点位置;其中,任务状态包括无任务、取货、送货;

第二获取模块,用于获取第一任务,选择执行第一任务的第一穿梭车;其中,第一任务包括前往第一取货地址取货和前往第一送货地址送货,且第一取货地址和第一送货地址分别与其对应的站点位置相同;

选择模块,用于根据第一穿梭车和第二穿梭车目前的任务状态以及优先级,选择是否驱赶第二穿梭车或者使第二穿梭车避让第一穿梭车;

控制模块,用于根据选择的结果,控制第一穿梭车完成第一任务。

本实施例中,第一穿梭车和第二穿梭车在接到任务之前,分别位于不同的站点;且第一穿梭车和第二穿梭车执行任务所行驶的区域之间有重叠。

本实施例中,优先级的确定过程为:

若第一穿梭车或第二穿梭车无任务,则将其定义为低优先级;

若第一穿梭车开始取货,当检测到第二穿梭车无任务,则将第一穿梭车定义为高优先级;

若第一穿梭车处于执行任务中,第二穿梭车接到第二任务开始取货,则第二穿梭车保持低优先级;当第一穿梭车完成送货时,则将其定义为低优先级,再检测到第二穿梭车的任务状态是取货或送货,则将第二穿梭车定义为高优先级,最后检测第一穿梭车是否有后续任务,有则取货,无则停位空闲;其中,第二任务包括前往第二取货地址取货和前往第二送货地址送货,且第二取货地址和第二送货地址分别与其对应的站点位置相同。

本实施例中,选择模块,包括:

当第二穿梭车处于低优先级且其运动状态为停位空闲,若第二穿梭车位于第一安全区域内,则对其进行驱赶,即将其调度至驱赶点;否则,不对其进行驱赶;其中,驱赶点为第一安全区域之外且距离第二穿梭车最近的站点;第一安全区域等于第一行驶区域与安全距离之和,第一行驶区域为第一穿梭车执行第一任务所行驶的路线,即第一穿梭车前往第一取货地址以及从第一取货地址到第一送货地址所行驶的路线;安全距离大于第一穿梭车的车身长度。

本实施例中,选择模块,还包括:

若在第一穿梭车执行第一任务,第二穿梭车接到前往第二取货地址取货或前往第二送货地址送货时,检测第二穿梭车执行第二任务的行驶区域是否会阻挡第一穿梭车在第一安全区域内行驶;若阻挡,则将第二穿梭车调度至避让点;否则,无需调度第二穿梭车至避让点;其中,避让点为第一安全区域之外且在第二穿梭车处于取货状态时,距离第二穿梭车的取货站点最近的站点,或者是,在第二穿梭车处于送货状态时,距离第二穿梭车的送货站点最近的站点;

当第一穿梭车完成取货后,再次检测第二穿梭车执行第二任务是否会阻挡第一穿梭车前往送货地址,若否,则控制第二穿梭车执行第二任务;否则,若检测到第二穿梭车不在原有避让点,则实时变更避让点,并将第二穿梭车调度至变更后的避让点;当第一穿梭车完成送货时,控制第二穿梭车执行第二任务;其中,在第二穿梭车处于取货状态时,变更后的避让点比变更前的避让点更接近第二穿梭车的取货站点;或者是,在第二穿梭车处于送货状态时,变更后的避让点比变更前的避让点更接近第二穿梭车的送货站点。

为了便于理解,本发明给出了一个更为具体的实施例:

1.定义移动轨道坐标系、站点、穿梭车:图2为一轨双车的配置方式示意图,穿梭车为直线移动轨道,定义一维坐标系,从西到东为正向;顺序定义站点号,共有101#~106#六个站点,相应坐标值见图2所示;顺序定义第一穿梭车为1#穿梭车、第二穿梭车为2#穿梭车;其中1#穿梭车作业范围为101#~105#站点,2#穿梭车作业范围为102#~106#站点;101#站点位于1#穿梭车独占区,106#站点位于2#穿梭车独占区,102#~105#站点位于两台穿梭车混合作业区。

2.穿梭车运行参数包括:走行速度1m/s;走行加减速度0.5m/s2;取货/送货周期时间10s/次。

3.由图2可知,结合穿梭车车走行速度和加减速度,可计算得到穿梭车可能走行长度对应的距离和时间,详见表1。

表1穿梭车可能走行长度对应的距离和时间表

4.物料流程见表2,其中1型物料由1#穿梭车负责接送,2型物料由2#穿梭车负责接送。

表2物料流程表

5.定义安全距离为2.4m(车长2.1m+最小间距0.3)。

6.一轨双车系统接送1#物料分析计算过程

初始1#穿梭车在102#站点停位空闲,2#穿梭车在103#站点停位空闲。

1)时间0s:1型_1#物料申请1#穿梭车取货,置1#穿梭车为高优先级,准备取货前走行。首先计算2#穿梭车驱赶点:2#穿梭车驱赶点临界坐标值=1#穿梭车当前走行目标点105#坐标值7.5m+安全距离2.4m=9.9m;正向查找距临界坐标值最近站点,确定2#穿梭车驱赶点为106#,坐标值为10m。此时2#穿梭车停位点103#坐标值5m<驱赶点106#坐标值10m,调度正向走行到驱赶点106#。

2)时间7s:1#穿梭车到达取货点105#,同时2#穿梭车到达驱赶点106#。1#穿梭车接1型_1#物料上车。

3)时间15s:2型_1#物料申请2#穿梭车取货,因1#穿梭车为高优先级正在取货,2#穿梭车保持低优先级,准备取货前走行。首先计算2#穿梭车避让点:2#穿梭车避让点临界坐标值=Max(1#穿梭车取货点105#坐标值7.5m,1#穿梭车送货点103#坐标值5m)+安全距离2.4m=9.9m;正向查找距临界坐标值最近站点,确定为2#穿梭车避让点为106#,坐标值为10m。此时2#穿梭车当前停位点106#就是避让点,停位等待。

4)时间17s:1#穿梭车完成取货过程,准备送货前走行。再次计算2#穿梭车避让点:2#穿梭车避让点临界坐标值=1#穿梭车送货点103#坐标值5m+安全距离2.4m=7.4m;正向查找距临界坐标值最近站点,2#穿梭车避让点变更为105#,坐标值为7.5m。当2#穿梭车当前停位点106#坐标值10m>避让点105#坐标值7.5m,且2#穿梭车当前取货点102#坐标值2.5m<避让点105#坐标值7.5m,调度负向走行到避让点105#。

5)时间21.5s:1#穿梭车到达送货点103#,同时2#穿梭车到达避让点105#。1#穿梭车送1型_1#物料下车,2#穿梭车避让等待。

6)时间31.5s:1#穿梭车完成送货过程,重置为低优先级,同时将2#穿梭车置为高优先级,准备取货前走行。首先计算1#穿梭车驱赶点:1#穿梭车驱赶点临界坐标值=2#穿梭车当前走行取货点102#坐标值2.5m-安全距离2.4m=0.1m;负向查找距临界坐标值最近站点,确定1#穿梭车驱赶点为101#,坐标值为0m。此时1#穿梭车停位点103#坐标值5m>驱赶点101#坐标值0m,调度负向走行到驱赶点101#。

7)时间38.5s:2#穿梭车到达取货点102#,同时1#穿梭车到达驱赶点101#。2#穿梭车接2型_1#物料上车。

8)时间48.5s:2#穿梭车完成取货过程,准备送货前走行。首先计算1#穿梭车驱赶点:1#穿梭车驱赶点临界坐标值=2#穿梭车当前走行送货点103#坐标值5m-安全距离2.4m=2.6m;负向查找距临界坐标值最近站点,确定1#穿梭车驱赶点为102#,坐标值为2.5m。此时1#穿梭车停位点101#坐标值0m<驱赶点102#坐标值2.5m,不用驱赶1#穿梭车。

9)时间53s:2#穿梭车到达送货点103#。2#穿梭车送2型_1#物料下车,1#穿梭车停位空闲。

10)时间63s:2#穿梭车完成送货过程,重置为低优先级。

一轨双车系统在两台穿梭车初始空闲停位站点相同,接送如表2所示1#物料流程条件一致工况下,比较两种调度方法。从表3可以看出:基于走行过程级调度需要驱赶走行4次,总耗时68秒;基于接送任务级调度只需驱赶走行2次、避让走行1次,总耗时63秒。总耗时缩短7%。

表3两种调度方法对比表

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

相关技术
  • 一种基于多级动态优先级的自主任务调度方法及系统
  • 一种基于优先级队列的通信任务调度和执行方法及系统
技术分类

06120115936201