一种用于多个自动导航车的调度方法及装置与流程

文档序号:17395175发布日期:2019-04-13 00:46阅读:213来源:国知局
一种用于多个自动导航车的调度方法及装置与流程

本发明涉及自动导航车运输领域,尤指一种用于多个自动导航车的调度方法及装置。



背景技术:

自动导航车(automatedguidedvehicle,简称agv)是上世纪50年代发展起来的智能搬运机器人,现已成为现代工业自动化物流系统中的关键设备。目前分配给自动导航车的任务主要是搬运货物。当多台agv在同一区域搬运货物的时候,合理的分配任务成为搬运效率的关键。当agv卸完货后如果没有分配其他任务,会一直占着卸货点,导致其他agv不能到该卸货点卸货。另外,agv在行走或者取货、卸货过程中出现异常时,agv可能就在原地待着,如果该agv所处的位置在主干道上,很容易导致交通阻塞,影响其他agv的搬运任务。因而合理地调度多台自动导航车,使多台自动导航车高效地协同完成搬运任务成为目前需要解决的问题。



技术实现要素:

本发明的目的是提供一种用于多个自动导航车的调度方法及装置,通过合理调度不正常执行搬运任务的agv,使其不造成搬运区域的交通阻塞,从而提高多台agv的整体搬运效率。

本发明提供的技术方案如下:

一种用于多个自动导航车的调度方法,包括:当不存在新搬运任务时,针对没有正常执行搬运任务的自动导航车,根据所述自动导航车的工作状态和/或电量,分配所述自动导航车执行一个自动任务;所述自动任务包括休息任务、和/或充电任务、和/或维修任务;所述自动任务的执行完成点在搬运区域的边缘地带。

在上述技术方案中,通过合理调度不正常执行搬运任务的agv,使其不造成搬运区域的交通阻塞,从而提高多台agv的整体搬运效率。

进一步优选的,所述的根据所述自动导航车的工作状态和/或电量,分配所述自动导航车执行一个自动任务包括:当所述自动导航车的工作状态异常时,分配所述自动导航车执行维修任务,并设置所述自动导航车的任务状态为不可打断。

在上述技术方案中,给工作状态异常的agv分配维修任务,不仅可以解决工作异常问题,还可以避免阻塞搬运区域的交通,从而避免影响其他agv的正常作业,提高多台agv的整体搬运效率。

进一步优选的,所述的根据所述自动导航车的工作状态和/或电量,分配所述自动导航车执行一个自动任务还包括:当所述自动导航车的电量低于第一预设阈值,且有空闲的充电点时,分配所述自动导航车执行充电任务,并设置所述自动导航车的任务状态为不可打断。

在上述技术方案中,给低电量的agv分配充电任务,不仅可以避免这类agv在后续搬运任务过程中突然没电,使多台agv能够长时间不间断的执行搬运作业,还可以避免阻塞搬运区域的交通。

进一步优选的,所述的根据所述自动导航车的工作状态和/或电量,分配所述自动导航车执行一个自动任务还包括:当所述自动导航车的工作状态正常,且电量不低于第一预设阈值、低于第二预设阈值,且有空闲的充电点时,分配所述自动导航车执行充电任务,并设置所述自动导航车的任务状态为可打断。

在上述技术方案中,给中电量的agv分配充电任务,不仅可以保证其后续执行搬运任务有足够的电量,还可以在其完成搬运任务后尽快释放取货点或者卸货点,使得其他agv可以去该点完成取货或卸货任务,从而提高整体搬运效率。

进一步优选的,所述的根据所述自动导航车的工作状态和/或电量,分配所述自动导航车执行一个自动任务还包括:当所述自动导航车的工作状态正常,且电量高于第二预设阈值,且有空闲的休息点时,分配所述自动导航车执行休息任务,并设置所述自动导航车的任务状态为可打断。

在上述技术方案中,给高电量的agv分配休息任务,可以在其完成搬运任务后尽快释放取货点或者卸货点,使得其他agv可以去该点完成取货或卸货任务,从而提高整体搬运效率。

进一步优选的,还包括:当有一个新搬运任务,且选择一个任务状态为可打断的自动导航车时,通知所述自动导航车打断其当前任务;当收到所述自动导航车的成功响应后,分配所述自动导航车执行新搬运任务。

在上述技术方案中,通过任务可打断,使agv不必待当前任务完成再去执行新任务,这样可以减少agv的任务切换时间,提高工作效率。

进一步优选的,所述的当有一个新搬运任务,且选择一个任务状态为可打断的自动导航车时,通知所述自动导航车打断其当前任务包括:当有一个新搬运任务,且所述新搬运任务的第一个子任务的终点没有被占据,且选择一个任务状态为可打断的自动导航车时,通知所述自动导航车打断其当前任务。

在上述技术方案中,在分配新搬运任务时先判断新搬运任务的第一个子任务的路线是否被占据,从而在规划上主动避免执行新搬运任务的agv与其他agv相撞,提高搬运效率。

本发明还提供一种用于多个自动导航车的调度装置,包括:调度模块,用于当不存在新搬运任务时,针对没有正常执行搬运任务的自动导航车,根据所述自动导航车的工作状态和/或电量,分配所述自动导航车执行一个自动任务;所述自动任务包括休息任务、和/或充电任务、和/或维修任务;所述自动任务的执行完成点在搬运区域的边缘地带。

在上述技术方案中,通过合理调度不正常执行搬运任务的agv,使其不造成搬运区域的交通阻塞,从而提高多台agv的整体搬运效率。

进一步优选的,所述调度模块,进一步用于当不存在新搬运任务时,针对没有正常执行搬运任务的自动导航车,当所述自动导航车的工作状态异常时,分配所述自动导航车执行维修任务,并设置所述自动导航车的任务状态为不可打断。

在上述技术方案中,给工作状态异常的agv分配维修任务,不仅可以解决工作异常问题,还可以避免阻塞搬运区域的交通,从而避免影响其他agv的正常作业,提高多台agv的整体搬运效率。

进一步优选的,所述调度模块,进一步用于当不存在新搬运任务时,针对没有正常执行搬运任务的自动导航车,当所述自动导航车的电量低于第一预设阈值,且有空闲的充电点时,分配所述自动导航车执行充电任务,并设置所述自动导航车的任务状态为不可打断。

在上述技术方案中,给低电量的agv分配充电任务,不仅可以避免这类agv在后续搬运任务过程中突然没电,使多台agv能够长时间不间断的执行搬运作业,还可以避免阻塞搬运区域的交通。

通过本发明提供的一种用于多个自动导航车的调度方法及装置,能够带来以下至少一种有益效果:

1、本发明通过合理调度不正常执行搬运任务的agv,使其不造成搬运区域的交通阻塞,从而提高多台agv的整体搬运效率;

2、本发明通过给agv分配充电任务,可以保证多台agv能够长时间不间断地工作,从而提高多台agv的整体搬运效率。

附图说明

下面将以明确易懂的方式,结合附图说明优选实施方式,对一种用于多个自动导航车的调度方法及装置的上述特性、技术特征、优点及其实现方式予以进一步说明。

图1是本发明的一种用于多个自动导航车的调度方法的一个实施例的流程图;

图2是本发明的一种用于多个自动导航车的调度方法的另一个实施例的流程图;

图3是本发明的一种用于多个自动导航车的调度方法的另一个实施例的流程图;

图4是本发明的一种用于多个自动导航车的调度方法的另一个实施例的流程图;

图5是本发明的一种用于多个自动导航车的调度方法的另一个实施例的流程图;

图6是本发明的一种用于多个自动导航车的调度方法的另一个实施例的流程图;

图7是本发明的一种用于多个自动导航车的调度方法的另一个实施例的流程图;

图8是本发明的一种用于多个自动导航车的调度方法的另一个实施例的流程图;

图9是本发明的一种用于多个自动导航车的调度装置的一个实施例的结构示意图。

附图标号说明:

100.调度模块。

具体实施方式

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

为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。

在本发明的一个实施例中,如图1所示,一种用于多个自动导航车的调度方法,包括:

步骤s100当不存在新搬运任务时,针对没有正常执行搬运任务的自动导航车,根据所述自动导航车的工作状态和/或电量,分配所述自动导航车执行一个自动任务;所述自动任务包括休息任务、和/或充电任务、和/或维修任务;所述自动任务的执行完成点在搬运区域的边缘地带。

具体的,自动导航车后续简称agv。没有正常执行搬运任务的agv是指正常执行搬运任务以外的agv,包括一直未分配搬运任务的agv,已完成搬运任务、尚未分配新搬运任务的agv,以及执行搬运任务中出现异常的agv。如果当前不存在新搬运任务,针对没有正常执行搬运任务的agv,分配其执行一个自动任务。自动任务,即非搬运任务,包括休息任务、充电任务和维修任务。休息任务是去休息点休息,充电任务是去充电点充电,维修任务是去维修点维修。休息点、充电点、维修点在搬运区域的边缘地带,这样可以避免没有正常执行搬运任务的agv因呆在搬运区域影响其他agv的搬运任务,从而影响整体搬运效率。

介绍两种实施方式。方式1,每个agv执行完正常搬运任务后,系统给该agv启动一个定时器,时长依据经验配置。当该定时器超时时发起一个中断,系统响应该中断,如果此时没有新搬运任务,则根据该agv的工作状态和/或电量,分配该agv去执行一个自动任务;如果该定时器尚未超时,系统又给该agv分配了一个新搬运任务,则停止该定时器。方式2,系统启动一个定时器,根据该定时器周期检查所有没有正常执行搬运任务的agv,当不存在新搬运任务时,根据每个所述agv的工作状态和/或电量,分配所述agv去执行一个自动任务。

在本发明的另一个实施例中,如图2所示,一种用于多个自动导航车的调度方法,包括:

步骤s200当不存在新搬运任务时,针对没有正常执行搬运任务的自动导航车,当所述自动导航车的工作状态异常时,分配所述自动导航车执行维修任务,并设置所述自动导航车的任务状态为不可打断;所述维修点在搬运区域的边缘地带。

具体的,agv工作状态异常包括以下情况:情况1,系统判断agv负载,但去卸货点卸货时发现卸货点已有货物,导致无法卸货;情况2,系统判断agv空载,但是agv传感器却检测到agv有货,可能是传感器故障。对于工作状态异常的agv,需要人工检修后才能恢复正常作业,所以给这类agv分配维修任务,不仅可以解决工作异常问题,还可以避免阻塞搬运区域的交通。当这类agv正在执行维修任务时,其任务状态为不可打断,意思是其他任务不能打断该维修任务,只有完成该维修任务后才能去执行其他任务。

在本发明的另一个实施例中,如图3所示,一种用于多个自动导航车的调度方法,包括:

步骤s300当不存在新搬运任务时,针对没有正常执行搬运任务的自动导航车,当所述自动导航车的电量低于第一预设阈值,且有空闲的充电点时,分配所述自动导航车执行充电任务,并设置所述自动导航车的任务状态为不可打断;所述充电点在搬运区域的边缘地带。

具体的,第一预设阈值基于经验设置,当电量低于该阈值时,agv很容易或短时间后无法正常工作。所以当电量低于第一预设阈值,且有空闲的充电点时,分配这类agv去充电,不仅可以避免这类agv在后续搬运任务过程中突然没电,还可以避免这类agv阻塞搬运区域的交通。

在本发明的另一个实施例中,如图4所示,一种用于多个自动导航车的调度方法,包括:

步骤s400当不存在新搬运任务时,针对没有正常执行搬运任务的自动导航车,当所述自动导航车的工作状态正常,且电量不低于第一预设阈值、低于第二预设阈值,且有空闲的充电点时,分配所述自动导航车执行充电任务,并设置所述自动导航车的任务状态为可打断;所述充电点在搬运区域的边缘地带。

具体的,当agv执行完搬运任务后,如果其电量不低于第一预设阈值,但低于第二预设阈值,且有空闲的充电点时,给其分配充电任务,不仅可以保证其后续执行搬运任务有足够的电量,还可以尽快释放取货点或者卸货点,使得其他agv可以去该点完成取货或卸货任务。

在本发明的另一个实施例中,如图5所示,一种用于多个自动导航车的调度方法,包括:

步骤s500当不存在新搬运任务时,针对没有正常执行搬运任务的自动导航车,当所述自动导航车的工作状态正常,且电量高于第二预设阈值,且有空闲的休息点时,分配所述自动导航车执行休息任务,并设置所述自动导航车的任务状态为可打断;所述休息点在搬运区域的边缘地带。

具体的,当agv执行完搬运任务后,如果其电量还比较多,高于第二阈值时,给其分配休息任务,可以尽快释放取货点或者卸货点,使得其他agv可以去该点完成取货或卸货任务。

在本发明的另一个实施例中,如图6所示,一种用于多个自动导航车的调度方法,包括:

步骤s110周期检查所有活动的agv,将所有未分配任务的agv组成第一待分配任务agv表。

步骤s210遍历第一待分配任务agv表,当不存在新搬运任务时,给符合下述条件的agv分配一个自动任务:

当agv的工作状态异常时,分配所述agv执行维修任务,并设置所述agv的任务状态为不可打断;所述维修点在搬运区域的边缘地带;

当agv的工作状态正常,且agv的电量低于第一预设阈值,且有空闲的充电点时,分配所述agv执行充电任务,并设置所述agv的任务状态为不可打断;所述充电点在搬运区域的边缘地带;

步骤s310更新所述第一待分配任务agv表,得到第二待分配任务agv表;

步骤s410遍历第二待分配任务agv表,当不存在新搬运任务时,给符合下述条件的agv分配一个自动任务:

当agv的工作状态正常,且电量不低于第一预设阈值、低于第二预设阈值,且有空闲的充电点时,分配所述agv执行充电任务,并设置所述agv的任务状态为可打断;

步骤s510更新所述第二待分配任务agv表,得到第三待分配任务agv表;

步骤s610遍历第三待分配任务agv表,当不存在新搬运任务时,给每个agv分配一个自动任务:

当有空闲的休息点时,分配所述agv执行休息任务,并设置所述agv的任务状态为可打断;

当有空闲的充电点时,分配所述agv执行充电任务,并设置所述agv的任务状态为可打断。

具体的,本实施例的前提条件,搬运操作区域需要满足:休息点的个数+充电点的个数>agv的个数,一个休息点只能供一个agv休息,一个充电点只能供一个agv充电。

系统启动一个周期性的定时器,定时检查所有活动的agv,将所有未分配任务的agv组成一个第一待分配任务agv表。未分配任务的agv是指既没有正常执行搬运任务,也没有分配自动任务的agv。

针对该agv表中的每个agv进行判断,当不存在新搬运任务时,给符合下述条件的agv分配一个自动任务:如果agv工作状态异常,则给其分配维修任务,并设置任务状态为不可打断;如果agv电量低于第一阈值,且有空闲的充电点时,则给其分配充电任务,并设置任务状态为不可打断。之后,从第一待分配任务agv表中去除已分配自动任务的agv,得到第二待分配任务agv表。

遍历第二待分配任务agv表,当不存在新搬运任务时,给符合下述条件的agv分配一个自动任务:当agv的工作状态正常,且agv的电量低于第二阈值、不低于第一阈值,且有空闲的充电点时,则给其分配充电任务,并设置任务状态为可打断。之后,从第二待分配任务agv表中去除已分配自动任务的agv,得到第三待分配任务agv表。

遍历第三待分配任务agv表,当不存在新搬运任务时,给每个agv分配一个自动任务:当有空闲的休息点时,分配agv去执行休息任务,并设置其任务状态为可打断;当没有空闲的休息点,但有空闲的充电点时,分配agv去执行充电任务,并设置其任务状态为可打断。

至此,完成多agv的任务分配。等下一次定时器超时,再按照上述步骤重复执行。

可打断的含义是可以停止当前正在执行的任务,从当前正在执行的任务中退出来,比如,任务状态为可打断的agv当前在执行充电任务,如果系统有新搬运任务,该agv可以在系统指示下立即结束当前充电任务去执行新搬运任务。

作为本实施例的一个变形,步骤s210~步骤s610也可以替换为:遍历第一待分配任务agv表,当不存在新搬运任务时,给符合下述条件的agv分配一个自动任务:当agv的工作状态异常时,分配所述agv执行维修任务,并设置所述agv的任务状态为不可打断;所述维修点在搬运区域的边缘地带;更新所述第一待分配任务agv表,得到第二待分配任务agv表;遍历第二待分配任务agv表,当不存在新搬运任务,且有空闲的充电点时,按照电量从低到高的顺序,分配agv执行充电任务,并设置所述agv的任务状态为不可打断;所述充电点在搬运区域的边缘地带;更新所述第二待分配任务agv表,得到第三待分配任务agv表;遍历第三待分配任务agv表,当不存在新搬运任务,且有空闲的休息点时,分配agv执行休息任务,并设置所述agv的任务状态为可打断。

本实施例对各种未分配任务的agv进行了自动任务的分配,避免了这类agv堵塞搬运区域的交通,从而避免影响整体搬运效率。

在本发明的另一个实施例中,如图7所示,一种用于多个自动导航车的调度方法,包括:

在前一个实施例的基础上,增加以下步骤:

步骤s710当有一个新搬运任务,且选择一个任务状态为可打断的自动导航车时,通知所述自动导航车打断其当前任务;当收到所述自动导航车的成功响应后,分配所述自动导航车执行新搬运任务。

具体的,所有正常执行搬运任务的agv,其任务状态为不可打断。agv的工作状态有2种,一种是空闲态,比如搬运任务已完成,尚未分配自动任务的agv;一种工作态,比如已分配搬运任务或自动任务的agv。agv的任务状态有2种,一种是可打断,比如已分配自动任务,但该自动任务可打断;一种是不可打断,比如正在执行搬运任务的agv的任务状态。

可打断的含义是可以停止当前正在执行的任务,从当前正在执行的任务中退出来。当有一个新搬运任务时,可以选择一个工作状态为空闲态的agv,或选择一个工作状态为工作态、且任务可打断的agv;如果选择工作状态为空闲态的agv,系统则直接下发搬运任务;如果选择一个工作状态为工作态、且任务可打断的agv时,系统先下发打断指令,通知该agv打断其当前任务,比如一个正在执行休息任务的agv,该agv正在去休息点的路上,收到打断指令后,停止去休息点,向系统反馈打断成功响应,系统在收到成功响应后,再分配新搬运任务,该agv在收到新搬运任务后从当前点直接去搬运点,这样可以减少agv的行走时间,提高工作效率。

在本发明的另一个实施例中,如图8所示,一种用于多个自动导航车的调度方法,包括:

在前一个实施例的基础上,增加以下步骤:

步骤s720当有一个新搬运任务,且所述新搬运任务的第一个子任务的终点没有被占据,且选择一个任务状态为可打断的自动导航车;当收到所述自动导航车的成功响应后,分配所述自动导航车执行新搬运任务。

具体的,当有一个新搬运任务,系统经过计算需要把该任务下发一个任务状态为可打断的agv时,在给该agv下发打断指令之前,先判断新搬运任务的第一个子任务的终点是否被其他agv占据(没有被占据是指新搬运任务的第一个子任务的终点没有被其他agv占着,而且在去这个终点的路上也没有其他agv),如果没有被占据,则对该agv下发打断指令;如果被占据,则不对该agv下发打断指令,该agv继续执行原有任务,等下一次系统路径规划计算的时候系统再去判断新搬运任务的第一个子任务的终点是否仍被其他agv占据。这样可以避免执行新搬运任务的agv与其他agv相撞。

在本发明的另一个实施例中,如图9所示,一种用于多个自动导航车的调度装置,包括:

调度模块110,用于当不存在新搬运任务时,针对没有正常执行搬运任务的自动导航车,根据所述自动导航车的工作状态和/或电量,分配所述自动导航车执行一个自动任务;所述自动任务包括休息任务、和/或充电任务、和/或维修任务;所述自动任务的执行完成点在搬运区域的边缘地带。

具体的,没有正常执行搬运任务的agv是指正常执行搬运任务以外的agv,包括一直未分配搬运任务的agv,已完成搬运任务、尚未分配新搬运任务的agv,以及执行搬运任务中出现异常的agv。如果当前不存在新搬运任务,针对没有正常执行搬运任务的agv,分配其执行一个自动任务。自动任务,即非搬运任务,包括休息任务、充电任务和维修任务。休息任务是去休息点休息,充电任务是去充电点充电,维修任务是去维修点维修。休息点、充电点、维修点在搬运区域的边缘地带,这样可以避免没有正常执行搬运任务的agv因呆在搬运区域影响其他agv的搬运任务,从而影响整体搬运效率。

介绍两种实施方式。方式1,每个agv执行完正常搬运任务后,系统给该agv启动一个定时器,时长依据经验配置。当该定时器超时时发起一个中断,系统响应该中断,如果此时没有新搬运任务,则根据该agv的工作状态和/或电量,分配该agv去执行一个自动任务;如果该定时器尚未超时,系统又给该agv分配了一个新搬运任务,则停止该定时器。方式2,系统启动一个定时器,根据该定时器周期检查所有没有正常执行搬运任务的agv,当不存在新搬运任务时,根据每个所述agv的工作状态和/或电量,分配所述agv去执行一个自动任务。

在本发明的另一个实施例中,如图9所示,一种用于多个自动导航车的调度装置100,包括:

调度模块110,用于当不存在新搬运任务时,针对没有正常执行搬运任务的自动导航车,当所述自动导航车的工作状态异常时,分配所述自动导航车执行维修任务,并设置所述自动导航车的任务状态为不可打断;所述维修点在搬运区域的边缘地带。

具体的,agv工作状态异常包括以下情况:情况1,系统判断agv负载,但去卸货点卸货时发现卸货点已有货物,导致无法卸货;情况2,系统判断agv空载,但是agv传感器却检测到agv有货,可能是传感器故障。对于工作状态异常的agv,需要人工检修后才能恢复正常作业,所以给这类agv分配维修任务,不仅可以解决工作异常问题,还可以避免这类agv阻塞搬运区域的交通。当这类agv正在执行维修任务时,其任务状态为不可打断,意思是其他任务不能打断该维修任务,只有完成该维修任务后才能去执行其他任务。

在本发明的另一个实施例中,如图9所示,一种用于多个自动导航车的调度装置100,包括:

调度模块110,用于当不存在新搬运任务时,针对没有正常执行搬运任务的自动导航车,当所述自动导航车的电量低于第一预设阈值,且有空闲的充电点时,分配所述自动导航车执行充电任务,并设置所述自动导航车的任务状态为不可打断;所述充电点在搬运区域的边缘地带。

具体的,第一预设阈值基于经验设置,当电量低于该阈值时,agv很容易或短时间后无法正常工作。所以当电量低于第一预设阈值,且有空闲的充电点时,分配这类agv去充电,不仅可以避免这类agv在后续搬运任务过程中突然没电,还可以避免这类agv阻塞搬运区域的交通。

在本发明的另一个实施例中,如图9所示,一种用于多个自动导航车的调度装置100,包括:

调度模块110,用于当不存在新搬运任务时,针对没有正常执行搬运任务的自动导航车,当所述自动导航车的工作状态正常,且电量不低于第一预设阈值、低于第二预设阈值,且有空闲的充电点时,分配所述自动导航车执行充电任务,并设置所述自动导航车的任务状态为可打断;所述充电点在搬运区域的边缘地带。

具体的,当agv执行完搬运任务后,如果其电量不低于第一预设阈值,但低于第二预设阈值,且有空闲的充电点时,给其分配充电任务,不仅可以保证其后续执行搬运任务有足够的电量,还可以尽快释放取货点或者卸货点,使得其他agv可以去该点完成取货或卸货任务。

在本发明的另一个实施例中,如图9所示,一种用于多个自动导航车的调度装置100,包括:

调度模块110,用于当不存在新搬运任务时,针对没有正常执行搬运任务的自动导航车,当所述自动导航车的工作状态正常,且电量高于第二预设阈值,且有空闲的休息点时,分配所述自动导航车执行休息任务,并设置所述自动导航车的任务状态为可打断;所述休息点在搬运区域的边缘地带。

具体的,当agv执行完搬运任务后,如果其电量还比较多,高于第二阈值时,给其分配休息任务,可以尽快释放取货点或者卸货点,使得其他agv可以去该点完成取货或卸货任务。

在本发明的另一个实施例中,如图9所示,一种用于多个自动导航车的调度装置100,包括:

调度模块110,用于周期检查所有活动的agv,将所有未分配任务的agv组成第一待分配任务agv表;遍历第一待分配任务agv表,当不存在新搬运任务时,给符合下述条件的agv分配一个自动任务:当agv的工作状态异常时,分配所述agv执行维修任务,并设置所述agv的任务状态为不可打断;所述维修点在搬运区域的边缘地带;当agv的工作状态正常,且agv的电量低于第一预设阈值,且有空闲的充电点时,分配所述agv执行充电任务,并设置所述agv的任务状态为不可打断;所述充电点在搬运区域的边缘地带;更新所述第一待分配任务agv表,得到第二待分配任务agv表;遍历第二待分配任务agv表,当不存在新搬运任务时,给符合下述条件的agv分配一个自动任务:当agv的工作状态正常,且电量不低于第一预设阈值、低于第二预设阈值,且有空闲的充电点时,分配所述agv执行充电任务,并设置所述agv的任务状态为可打断;更新所述第二待分配任务agv表,得到第三待分配任务agv表;遍历第三待分配任务agv表,当不存在新搬运任务时,给每个agv分配一个自动任务:当有空闲的休息点时,分配所述agv执行休息任务,并设置所述agv的任务状态为可打断;当有空闲的充电点时,分配所述agv执行充电任务,并设置所述agv的任务状态为可打断。

具体的,本实施例的前提条件,搬运操作区域需要满足:休息点的个数+充电点的个数>agv的个数,一个休息点只能供一个agv休息,一个充电点只能供一个agv充电。

系统启动一个周期性的定时器,定时检查所有活动的agv,将所有未分配任务的agv组成一个第一待分配任务agv表。未分配任务的agv是指既没有正常执行搬运任务,也没有分配自动任务的agv。

针对该agv表中的每个agv进行判断,当不存在新搬运任务时,给符合下述条件的agv分配一个自动任务:如果agv工作状态异常,则给其分配维修任务,并设置任务状态为不可打断;如果agv电量低于第一阈值,且有空闲的充电点时,则给其分配充电任务,并设置任务状态为不可打断。之后,从第一待分配任务agv表中去除已分配自动任务的agv,得到第二待分配任务agv表。

遍历第二待分配任务agv表,当不存在新搬运任务时,给符合下述条件的agv分配一个自动任务:当agv的工作状态正常,且agv的电量低于第二阈值、不低于第一阈值,且有空闲的充电点时,则给其分配充电任务,并设置任务状态为可打断。之后,从第二待分配任务agv表中去除已分配自动任务的agv,得到第三待分配任务agv表。

遍历第三待分配任务agv表,当不存在新搬运任务时,给每个agv分配一个自动任务:当有空闲的休息点时,分配agv去执行休息任务,并设置其任务状态为可打断;当没有空闲的休息点,但有空闲的充电点时,分配agv去执行充电任务,并设置其任务状态为可打断。

至此,完成多agv的任务分配。等下一次定时器超时,再按照上述步骤重复执行。

可打断的含义是可以停止当前正在执行的任务,从当前正在执行的任务中退出来,比如,任务状态为可打断的agv当前在执行充电任务,如果系统有新搬运任务,该agv可以在系统指示下立即结束当前充电任务去执行新搬运任务。

作为本实施例的一个变形,也可以为:调度模块,用于周期检查所有活动的agv,将所有未分配任务的agv组成第一待分配任务agv表;遍历第一待分配任务agv表,当不存在新搬运任务时,给符合下述条件的agv分配一个自动任务:当agv的工作状态异常时,分配所述agv执行维修任务,并设置所述agv的任务状态为不可打断;所述维修点在搬运区域的边缘地带;更新所述第一待分配任务agv表,得到第二待分配任务agv表;遍历第二待分配任务agv表,当不存在新搬运任务,且有空闲的充电点时,按照电量从低到高的顺序,分配agv执行充电任务,并设置所述agv的任务状态为不可打断;所述充电点在搬运区域的边缘地带;更新所述第二待分配任务agv表,得到第三待分配任务agv表;遍历第三待分配任务agv表,当不存在新搬运任务,且有空闲的休息点时,分配agv执行休息任务,并设置所述agv的任务状态为可打断。

本实施例对各种未分配任务的agv进行了自动任务的分配,避免了这类agv堵塞搬运区域的交通,从而避免影响整体搬运效率。

在本发明的另一个实施例中,如图9所示,一种用于多个自动导航车的调度装置100,包括:

在前一个实施例的基础上,所述调度模块,进一步用于当有一个新搬运任务,且选择一个任务状态为可打断的自动导航车时,通知所述自动导航车打断其当前任务;当收到所述自动导航车的成功响应后,分配所述自动导航车执行新搬运任务。

具体的,所有正常执行搬运任务的agv,其任务状态为不可打断。agv的工作状态有2种,一种是空闲态,比如搬运任务已完成,尚未分配自动任务的agv;一种工作态,比如已分配搬运任务或自动任务的agv。agv的任务状态有2种,一种是可打断,比如已分配自动任务,但该自动任务可打断;一种是不可打断,比如正在执行搬运任务的agv的任务状态。

可打断的含义是可以停止当前正在执行的任务,从当前正在执行的任务中退出来。当有一个新搬运任务时,可以选择一个工作状态为空闲态的agv,或选择一个工作状态为工作态、且任务可打断的agv;如果选择工作状态为空闲态的agv,系统则直接下发搬运任务;如果选择一个工作状态为工作态、且任务可打断的agv时,先下发打断指令,通知该agv打断其当前任务,比如一个正在执行休息任务的agv,该agv正在去休息点的路上,收到打断指令后,停止去休息点,向系统反馈打断成功响应,系统在收到成功响应后,再分配新搬运任务,该agv在收到新搬运任务后从当前点直接去搬运点,这样可以减少agv的行走时间,提高工作效率。

在本发明的另一个实施例中,如图9所示,一种用于多个自动导航车的调度装置,包括:

在前一个实施例的基础上,所述调度模块,进一步用于当有一个新搬运任务,且所述新搬运任务的第一个子任务的终点没有被占据,且选择一个任务状态为可打断的自动导航车时,通知所述自动导航车打断其当前任务;当收到所述自动导航车的成功响应后,分配所述自动导航车执行新搬运任务。

具体的,当有一个新搬运任务,系统经过计算需要把该任务下发一个任务状态为可打断的agv时,在给该agv下发打断指令之前,先判断新搬运任务的第一个子任务的终点是否被其他agv占据(没有被占据是指新搬运任务的第一个子任务的终点没有被其他agv占着,而且在去这个终点的路上也没有其他agv),如果没有被占据,则对该agv下发打断指令;如果被占据,则不对该agv下发打断指令,该agv继续执行原有任务,等下一次系统路径规划计算的时候系统再去判断新搬运任务的第一个子任务的终点是否仍被其他agv占据。这样可以避免执行新搬运任务的agv与其他agv相撞。

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

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