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的数量是否大于0;
在判断为是时,断开所述待释放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的数量是否大于0;
在所述第二判断单元判断为是时,所述调度单元还用于断开所述待释放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为本发明实施例1的AGV的充电管理方法的流程图。
图2为本发明实施例2的AGV的充电管理方法的流程图。
图3为本发明实施例3的AGV的充电管理方法的部分流程图。
图4为本发明实施例4的电子设备的结构示意图。
图5为本发明实施例6的AGV的充电管理系统的模块示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
本实施例提供一种AGV的充电管理方法,其用于实现对多台AGV的充电管理,多台AGV用于协同工作以完成业务系统分配的任务。如图1所示,充电管理方法包括以下步骤:
步骤110、获取每台AGV的剩余电量。
需要说明的是,剩余电量可实时获取也可定时获取。
步骤120、根据剩余电量和AGV的当前状态将多台AGV分类为不同的集合。
具体的,步骤120包括:将剩余电量小于第一电量阈值且当前状态为空闲状态的AGV分配到待充电AGV集合中;和/或,将剩余电量大于第二电量阈值且当前状态为充电中的AGV分配到待释放AGV集合中;和/或,将剩余电量大于第一电量阈值且小于第二电量阈值,同时当前状态为空闲状态的AGV分配到推荐充电AGV集合中;和/或,将电量为满电量且当前状态为充电中的AGV分配到满电量AGV集合中。其中,第二电量阈值大于第一电量阈值。空闲状态也即业务系统未分配任务、也未与充电设备连接的AGV。
步骤130、对不同的集合中的AGV执行不同的调度以给目标AGV充电。
本实施例中,根据业务系统中所有AGV的剩余电量将其分类为不同的集合,对不同集合中的AGV采用不同的调度策略实现对AGV的批量均衡调度充电,确保每台AGV的剩余电量始终维持在其能够正常工作的范围内,从而保证业务系统稳定运行。
实施例2
在实施例1的基础上,如图2所示,本实施例中,步骤120,具体包括:
步骤120-1、将剩余电量小于第一电量阈值且当前状态为空闲状态的AGV分配到待充电AGV集合中;将剩余电量大于第二电量阈值且当前状态为充电中的AGV分配到待释放AGV集合中。
步骤130,具体包括:
步骤130-1、统计待充电AGV集合中的第一AGV的数量。
当AGV的电量小于第一电量阈值,说明AGV的剩余电量很少,必须要对其充电,否则该AGV将不能完成业务系统分配的任务,从而影响业务系统的正常工作。
步骤130-2、判断第一AGV的数量是否等于0。
若判断为否,说明存在急需充电的AGV,则执行步骤130-3。若判断为是,说明不存在急需充电的AGV,则结束流程。
步骤130-3、统计空闲的充电设备的数量。
其中,充电设备用于在与AGV连接时给AGV充电。空闲的充电设备也即未与AGV连接的充电设备。充电设备例如可以是充电桩。
步骤130-4、判断空闲的充电设备的数量是否大于等于第一AGV的数量。
若判断为否,说明空闲的充电设备的数量不足以为所有的第一AGV充电,则执行步骤130-5。若判断为是,说明空闲的充电设备的数量足够多,可以为所有的第一AGV充电,则将所有的第一AGV作为第一目标AGV并执行步骤130-6。
步骤130-5、按照剩余电量由低至高的顺序获取与空闲的充电设备的数量相等的第一目标AGV。然后执行步骤130-6。
步骤130-6、调度第一目标AGV移动至空闲的充电设备处并控制第一目标AGV与空闲的充电设备连接。实现为第一目标AGV充电。
从而,实现当空闲的充电设备数量足够时为所有第一目标AGV充电,当空闲的充电设备数量不多时,优先为电量最少的AGV充电。
本实施例中,在步骤130-5之后,充电管理方法还包括:
步骤130-7、判断待释放AGV集合中的待释放AGV的数量是否大于0。
待释放AGV也即当前充电设备正在给其充电,且有足够的电量可完成工作,但没有充满电的AGV。
若判断为是时,则执行步骤130-8。若判断为否,则继续判断待释放AGV的数量是否大于0。
步骤130-8、断开待释放AGV与充电设备的连接,以释放充电设备。并返回步骤130-3。
本实施例中,断开待释放AGV与充电设备的连接的步骤,具体包括:
按照剩余电量从高至低的顺序依次断开待释放AGV与充电设备的连接,也即先断开电量最高的待释放AGV,再断开电量第二高的待释放AGV,依次类推,直至空闲的充电设备的数量大于等于第一AGV的数量。已断开与充电设备连接的待释放AGV则被分配至可工作AGV集合中,被调度至等待区,等待分配任务。
本实施例中,当检测到正在充电的AGV电量充满时,则结束充电。充满电的AGV被分配至满电量AGV集合中,调度该AGV至等待区,等待分配任务。
需要说明的是,原则上,本实施例中仅调度空闲的AGV(也即一段时间内业务系统未给其分配任务且未与充电设备连接的AGV)或正在充电中的AGV,但是当正在执行任务的AGV的剩余电量小于第一阈值时,可发送信号至业务系统,在业务系统分派其他AGV代替该AGV完成任务时,可调度该AGV对其充电。
本实施例的充电管理方法,根据AGV的剩余电量对AGV进行分类,不同类别的AGV采用不同的调度策略,不仅满足了每个AGV的剩余电量始终维持在正常工作范围又能实现AGV轮流充电,保证充电设备不被长时间占用,使每个AGV和充电桩都能得到有效的利用。
实施例3
实施例3与实施例2基本相同,不同之处在于,本实施例的充电管理方法还可实现在业务系统不繁忙时,对第二AGV进行充电。第二AGV也即剩余电量大于第一AGV的剩余电量,其不充电也可以继续工作一段时间。空闲率为预设时间段内业务系统中空闲的AGV的数量与所有AGV的数量的比值。业务系统不繁忙也即AGV的空闲率大于空闲阈值。需要说明的是,空闲阈值可根据实际需求自行设置,例如设为0.6,也即在预设时间段(根据实际需求自行设置,例如10分钟)内当业务系统中空闲的AGV的数量与业务系统中所有的AGV的数量的比值大于0.6,说明业务系统空闲,为了充分利用空闲的充电设备,可对第二目标AGV进行充电。
本实施例中,可设置第一AGV的充电优先级高于第二AGV的充电优先级。也即当所有第一AGV均进行充电后,在业务系统空闲且有空闲的充电设备时,则对第二AGV的进行充电。从而,本实施例中,如图3所示,当步骤130-2判断为是时,执行以下步骤:
步骤130-3’、判断业务系统的空闲率是否大于空闲阈值。
若判断为是,则执行步骤130-4’。若判断为否,则结束流程。
步骤130-4’、统计推荐充电AGV集合中的第二AGV的数量。
步骤130-5’、判断第二AGV的数量是否等于0。
若判断为否,说明存在需要充电的第二AGV,则执行步骤130-6’。若判断为是,说明不存在需充电的第二AGV,则结束流程。
步骤130-6’、判断空闲的充电设备的数量是否大于等于第二AGV的数量。若判断为否,则执行步骤130-7’。若判断为是,则将所有的第二AGV作为第二目标AGV并执行步骤130-8’。
步骤130-7’,按照剩余电量由低至高的顺序获取与空闲的充电设备的数量相等的第二目标AGV。然后执行步骤130-8’。
步骤130-8’、调度第二目标AGV至空闲的充电设备处并控制第二目标AGV与空闲的充电设备连接。
本实施例中,调度目标AGV(包括第一目标AGV和/或第二目标AGV)至空闲的充电设备处的步骤,具体包括:
根据目标AGV的当前位置和空闲的充电设备的位置进行路径规划;
调度目标AGV以最短路径移动至空闲的充电设备处。
本实施例中,在业务系统空闲时,若在所有的第一AGV和第二AGV均已进行充电的前提下,还有空闲的充电设备,则可对剩余电量大于第二阈值但未达到满电量的AGV进行充电,充电过程与第二AGV类似。此处不再赘述。
本实施例中,实现了AGV的智能调度充电,根据不同的业务系统场景对AGV采取不同的调度策略,保证业务系统繁忙时,有足够数量的、满足工作电量的AGV供调度以完成业务系统分配的任务,而在业务系统空闲时,使充电设备的利用率达到最高。
实施例4
图4为本实施例提供的一种电子设备的结构示意图。图4示出了适于用来实现本发明实施方式的示例性电子设备10的框图。图4显示的电子设备10仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,电子设备10可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备10的组件可以包括但不限于:至少一个处理器11、至少一个存储器12、连接不同系统组件(包括存储器12和处理器11)的总线13。
总线13包括数据总线、地址总线和控制总线。
存储器12可以包括易失性存储器,例如随机存取存储器(RAM)121和/或高速缓存存储器122,还可以进一步包括只读存储器(ROM)123。
存储器12还可以包括具有一组(至少一个)程序模块124的程序工具125,这样的程序模块124包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器11通过运行存储在存储器12中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明上述任一实施例所提供的AGV的充电管理方法。
电子设备10也可以与一个或多个外部设备14(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口15进行。并且,电子设备10还可以通过网络适配器16与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器16通过总线13与电子设备10的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备10使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例5
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例所提供的AGV的充电管理方法的步骤。
实施例6
本实施例提供一种AGV的充电管理系统,其用于实现对多台AGV的充电管理,多台AGV用于协同工作以完成业务系统分配的任务。如图5所示,充电管理系统包括:分类模块210、电量获取模块220和控制模块230。电量获取模块220用于获取每台AGV的剩余电量。分类模块210用于根据剩余电量和AGV的当前状态将多台AGV分类为不同的集合。控制模块230用于对不同的集合中的AGV执行不同的调度以给目标AGV充电。
从而,实现了根据业务系统中所有AGV的剩余电量将其分类为不同的集合,对不同集合中的AGV采用不同的调度策略实现对AGV的批量均衡调度充电,确保每台AGV的剩余电量始终维持在其能够正常工作的范围内,从而保证业务系统稳定运行。
具体的,本实施例中,控制模块230包括:数量统计单元231、第一判断单元232、调度单元233、第二判断单元234和第三判断单元235。
本实施例中,分类模块210具体用于将剩余电量小于第一电量阈值且当前状态为空闲状态的AGV分配到待充电AGV集合中平,将剩余电量大于第二电量阈值且当前状态为充电中的AGV分配到待释放AGV集合中。其中,第二电量阈值大于第一电量阈值。
数量统计单元231用于统计待充电AGV集合中的第一AGV的数量。数量统计单元231还用于统计空闲的充电设备的数量。第一判断单元232用于判断空闲的充电设备的数量是否大于等于第一AGV的数量;若判断为否,说明空闲的充电设备的数量不足以为所有的第一AGV充电;若判断为是,说明空闲的充电设备的数量足够多,可给所有第一AGV充电。调度单元233在第一判断单元判断为是时,将所有第一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充电。
需要说明的是,本实施例中的第一判断单元、第二判断单元和第三判断单元可通过一个判断单元实现,也可通过两个或三个不同的判断单元实现。
本实施例中,控制模块还包括:路径规划单元236。路径规划单元用于根据第一目标AGV或第二目标AGV的当前位置和空闲的充电设备的位置进行路径规划,并调用调度单元以调度第一目标AGV或第二目标AGV通过最短路径移动至空闲的充电设备处。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。