CN110874673B - 密集仓储的容器调度方法、装置和电子设备 - Google Patents

密集仓储的容器调度方法、装置和电子设备 Download PDF

Info

Publication number
CN110874673B
CN110874673B CN201911126612.4A CN201911126612A CN110874673B CN 110874673 B CN110874673 B CN 110874673B CN 201911126612 A CN201911126612 A CN 201911126612A CN 110874673 B CN110874673 B CN 110874673B
Authority
CN
China
Prior art keywords
task
container
state
path
robot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911126612.4A
Other languages
English (en)
Other versions
CN110874673A (zh
Inventor
郭瑞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kuangshi Robot Technology Co Ltd
Original Assignee
Beijing Kuangshi Robot Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Kuangshi Robot Technology Co Ltd filed Critical Beijing Kuangshi Robot Technology Co Ltd
Priority to CN201911126612.4A priority Critical patent/CN110874673B/zh
Publication of CN110874673A publication Critical patent/CN110874673A/zh
Application granted granted Critical
Publication of CN110874673B publication Critical patent/CN110874673B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping

Abstract

本发明提供了一种密集仓储的容器调度方法、装置和电子设备,该方法包括,基于获取的待执行任务,确定待调度容器和待调度容器的目的地;根据待调度容器的当前位置和目的地,确定第一路径;其中第一路径包括:在当前位置所属的当前区块中,机器人从当前位置运送待调度容器至当前区块的边缘位置时,需要经过的位置;控制机器人通过第一路径将待调度容器从当前位置运送至边缘位置,再从边缘位置将待调度容器运送至目的地。该方式可以有效提高在密集仓储作业中各个机器人作业的协同性,避免多个机器人在执行任务时的冲突和无序,解决了机器人之间发生堵塞或死锁的问题,以及机器人在执行任务时被其他容器阻挡的问题,从而提高了密集仓储的作业效率。

Description

密集仓储的容器调度方法、装置和电子设备
技术领域
本发明涉及人工智能技术领域,尤其是涉及一种密集仓储的容器调度方法、装置和电子设备。
背景技术
在密集式仓库中,为了实现存储密度最大化,通常将盛放货品的容器(如货架或箱子)按照区块放置;在每个区块中,处于区块边缘位置的容器包围了处于区块内部的容器;如果需要控制机器人搬运处于区块内部的容器,则首先需要将至少一个处于区块边缘或区块内部的容器移开,形成一个通道,然后机器人通过该通道将处于区块内部的容器搬出,运往目的地。该过程中,由于仓库中可能有多个机器人同时执行任务,机器人进入上述通道搬运处于区块内部的容器时,可能会有其他机器人进入该通道,或者该通道被放置了其他容器,阻挡了位于区块内部的机器人的行进,导致在区块内部的机器人被堵塞,降低了作业效率。
发明内容
本发明的目的在于提供一种密集仓储的容器调度方法、装置和电子设备,以有效提高在密集仓储作业中各个机器人作业的协同性,从而提高密集仓储的作业效率。
第一方面,本发明实施例提供了一种密集仓储的容器调度方法,该方法应用于电子设备;电子设备与机器人通信连接;容器放置于区块中;处于区块边缘位置的多个容器包围处于区块内部位置的容器;机器人用于运送容器至目的地;该方法包括:基于获取的待执行任务,确定待调度容器和待调度容器的目的地;根据待调度容器的当前位置和目的地,确定第一路径;其中,第一路径包括:在当前位置所属的当前区块中,机器人从当前位置运送待调度容器至当前区块的边缘位置时,需要经过的位置;控制机器人通过第一路径将待调度容器从当前位置运送至边缘位置,再从边缘位置将待调度容器运送至目的地。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,待执行任务所需要依赖的任务已经到达指定状态。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,指定状态包括:待执行任务所需要依赖的第一任务对应的待调度容器,已经从第一任务对应的当前位置出发;和/或,待执行任务所需要依赖的第二任务对应的待调度容器,已经从第二任务对应的边缘位置出发。
结合第一方面的任一可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,待执行任务的状态包括未开始状态、突破状态、进行中状态和完成状态;其中,待执行任务的初始状态为未开始状态;当确定第一路径之后,将待执行任务的状态切换为突破状态;当控制机器人通过第一路径将待调度容器从当前位置运送至边缘位置之后,将待执行任务的状态切换为进行中状态;当从边缘位置将待调度容器运送至目的地之后,将所述待执行任务的状态切换为所述完成状态。
结合第一方面的任一可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,基于获取的待执行任务,确定待调度容器和待调度容器的目的地,包括:根据预设的任务池中各个任务的任务信息,从任务池中获取可用任务;其中,任务信息包括:任务内容、任务状态、任务执行时间和依赖任务;逐一将每个可用任务确定为待执行任务,针对每个待执行任务,确定待调度容器和待调度容器的目的地。
结合第一方面的任一可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,在控制机器人通过第一路径将待调度容器从当前位置运送至边缘位置之前,该方法还包括:设置第一路径中包含的边缘位置为占用状态。
结合第一方面的第五种可能的实施方式,本发明实施例提供了第一方面的第六种可能的实施方式,其中,该方法还包括:计算机器人从机器人所处的位置到待调度容器的当前位置的前序路径;设置第一路径中包含的边缘位置为占用状态,包括:当前序路径和第一路径均计算得到之后,将第一路径中包含的边缘位置设置为占用状态。
结合第一方面的任一可能的实施方式,本发明实施例提供了第一方面的第七种可能的实施方式,其中,在控制机器人通过第一路径将待调度容器从当前位置运送至边缘位置之后,该方法还包括:设置当前位置为空闲状态,以通过当前位置放置容器。
结合第一方面的任一可能的实施方式,本发明实施例提供了第一方面的第八种可能的实施方式,其中,控制机器人从边缘位置将待调度容器运送至目的地,包括:计算从边缘位置到达目的地的第二路径;控制机器人沿着第二路径,将待调度容器运送至目的地,并设置边缘位置为空闲状态。
结合第一方面的第八种可能的实施方式,本发明实施例提供了第一方面的第九种可能的实施方式,其中,控制机器人沿着第二路径,将待调度容器运送至目的地,包括:当计算第二路径失败时;设置机器人为暂停状态,并设置边缘位置为占用状态,继续计算从边缘位置到达目的地的第二路径,直至得到第二路径。
结合第一方面的第八种和第九种中任一种可能的实施方式,本发明实施例提供了第一方面的第十种可能的实施方式,其中,第二路径包括下述之一:边缘位置直接到达目的地的路径;边缘位置到达预设的等待区,再从等待区到达目的地的路径;边缘位置到达预设的共享队列,再从共享队列到达目的地的路径。
结合第一方面的任一可能的实施方式,本发明实施例提供了第一方面的第十一种可能的实施方式,其中,该方法还包括:当待任务到达预设状态时,获取依赖于待执行任务的下一任务,将下一任务确定为新的待执行任务,继续基于获取的新的待执行任务,确定待调度容器和待调度容器的目的地。
第二方面,本发明实施例提供了一种密集仓储的容器调度装置,其中,装置设置于电子设备;电子设备与机器人通信连接;容器放置于区块中;处于区块边缘位置的多个容器包围处于区块内部位置的容器;机器人用于运送容器至目的地;装置包括:容器和目的地确定模块,用于基于获取的待执行任务,确定待调度容器和待调度容器的目的地;第一路径确定模块,用于根据待调度容器的当前位置和目的地,确定第一路径;其中,第一路径包括:在当前位置所属的当前区块中,机器人从当前位置运送待调度容器至当前区块的边缘位置时,需要经过的位置;运送模块,用于控制机器人通过第一路径将待调度容器从当前位置运送至边缘位置,再从边缘位置将待调度容器运送至目的地。
第三方面,本发明实施例提供了一种电子设备,其中,该电子设备包括:处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被处理器运行时执行第一方面任一实施方式的密集仓储的容器调度方法。
第四方面,本发明实施例提供了一种仓库管理系统,其中,该系统包括机器人和第三方面的电子设备;电子设备与机器人通信连接;电子设备用于基于获取的待执行任务,确定待调度容器和待调度容器的目的地,还用于控制机器人将待调度容器运送至所述目的地。
第五方面,本发明实施例提供了一种机器可读存储介质,其中,该机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现第一方面任一实施方式的密集仓储的容器调度方法。
本发明实施例带来了以下有益效果:
本发明实施例提供的一种密集仓储的容器调度方法、装置、电子设备和仓库管理系统,该方法对容器的调度过程进行了细节划分,首先根据待调度容器的当前位置和目的地,确定在区块中的第一路径,该第一路径为机器人从待调度容器的当前位置运送待调度容器至当前区块的边缘位置时需要经过的位置;然后再控制机器人通过第一路径将待调度容器从当前位置运送至边缘位置,再从边缘位置将待调度容器运送至目的地。该方式中,通过确定第一路径,可以避免调度系统控制其他机器人进入该第一路径,或者控制其他机器人放置容器在第一路径上,使得当前的机器人可以顺利地将待调度容器从当前位置运送至区块的边缘位置,进而再从边缘位置将待调度容器运送至目的地。该方式可以有效提高在密集仓储作业中各个机器人作业的协同性,避免多个机器人在执行任务时的冲突和无序,解决了机器人之间发生堵塞或死锁的问题,以及机器人在执行任务时被其他容器阻挡的问题,从而提高了密集仓储的作业效率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种电子设备结构示意图;
图2为本发明实施例提供的一种密集仓储的容器调度方法流程图;
图3为本发明实施例提供的一种仓库存储结构示意图;
图4为本发明实施例提供的另一种仓库存储结构示意图;
图5为本发明实施例提供的另一种密集仓储的容器调度方法流程图;
图6为本发明实施例提供的一种任务调度流程图;
图7为本发明实施例提供的另一种密集仓储的容器调度方法流程图;
图8为本发明实施例提供的另一种密集仓储的容器调度方法流程图;
图9为本发明实施例提供的一种机器人状态管理流程图;
图10为本发明实施例提供的一种密集仓储的容器调度装置的结构示意图;
图11为本发明实施例提供的一种仓库管理系统结构示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前密集式仓库,存在作业通道少的固有特点,仓库中机器人容易相互堵塞,降低了作业效率。基于此,本发明实施列提供了一种密集仓储的容器调度方法、装置、电子设备和仓库管理系统,该技术可以应用于电子商务仓库、立体仓库、自动化仓库、存储仓库等多种类型的实际仓库生产过程中,使调度策略更优,该技术可以采用相关软件和硬件实现,下面通过实施例进行描述。
实施例一:
首先,参照图1来描述用于实现本发明实施例的密集仓储的容器调度方法、装置、电子设备和仓库管理系统的示例电子设备100。
如图1所示的一种电子设备的结构示意图,电子设备100包括一个或多个处理器102、一个或多个存储装置104、输入装置106和输出装置108,还可以包括一个或多个图像采集设备110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,电子设备也可以具有其他组件和结构,或者电子设备还可以具有比图中所示更少的部件,如该电子设备不包含上述图像采集设备,或者电子设备还可以具有不同的部件布置。
处理器102可以是网关,也可以为智能终端,或者是包含中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元的设备,可以对电子设备100中的其它组件的数据进行处理,还可以控制电子设备100中的其它组件以执行期望的功能。
存储装置104可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行程序指令,以实现下文的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据,例如应用程序使用和/或产生的各种数据等。
输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
输出装置108可以向外部(例如,用户)输出各种信息(例如,图像或声音),并且可以包括显示器、扬声器等中的一个或多个。
图像采集设备110可以采集预览视频帧或图片数据,并且将采集到的预览视频帧或图像数据存储在存储装置104中以供其它组件使用。
示例性地,用于实现根据本发明实施例的密集仓储的容器调度方法、装置和电子设备的示例电子设备中的各器件可以集成设置,也可以分散设置,诸如将处理器102、存储装置104、输入装置106和输出装置108集成设置于一体,而将图像采集设备110设置于可以采集到图片的指定位置。当上述电子设备中的各器件集成设置时,该电子设备可以被实现为诸如智能手机、平板电脑、计算机、车载终端等智能终端。
实施例二:
本实施例提供了一种密集仓储的容器调度方法,该方法应用于电子设备;该电子设备与机器人通信连接;容器放置于区块中;处于区块边缘位置的多个容器包围处于区块内部位置的容器;机器人用于运送容器至目的地;如图2所示,该方法包括如下步骤:
步骤S202,基于获取的待执行任务,确定待调度容器和待调度容器的目的地;
上述获取的待执行任务可以是用户使用计算机、平板电脑、手机或可穿戴设备等设备,通过网页、购物APP等应用发送的任务;也可以为大批量的人工输入的任务,如大宗货物任务等;也可以为仓库或车间的控制系统为了满足某一生产环节所需的物料或零件而生成的任务。上述待调度容器放置于区块中,该容器可以是货架或者箱子等,机器人可以钻入容器下方,将容器举离地面,进行搬运。上述待调度容器的目的地可以是拣货站点、当前区块中的位置、除当前区块以外的区块中位置等。
步骤S204,根据待调度容器的当前位置和目的地,确定第一路径;其中,该第一路径包括:在当前位置所属的当前区块中,机器人从当前位置运送待调度容器至当前区块的边缘位置时,需要经过的位置;
为了便于理解第一路径,参见图3所示的为密集存储区的示意图,图中阴影方框表示待调度容器,共展示了4个区块,每个区块中,容器以4*4的形式排列,上述待调度容器的当前位置,可以是区块中的任一阴影区块。在4*4排列的容器组成的区块中,有12个容器处在区块的边缘,这12个容器所处的位置,即区块的边缘位置;上述第一路径是在待调度容器所在的当前位置所属的当前区块中的一个或多个位置,不同的待调度容器具有相同或者不同的第一路径,当机器人从当前位置运送待调度容器至当前区块的边缘位置时,该机器人经过和正在经过的位置,即为当前待调度容器的第一路径。
作为示例,当前位置为四个区块中,某一个区块内部的位置,图3中标识的A方框为当前位置,该当前位置旁边的边缘位置(图3中标识的B方框),就是机器人从当前位置到达边缘位置时正在经过的位置,上述当前位置和边缘位置也就是图3中标识的A方框和B方框,组成第一路径。作为另一个示例,若图3中标识的C方框为当前位置,该当前位置就是边缘位置,此时该边缘位置组成第一路径。
另外,容器的排列不限于4*4排列,还可以更多,参见图4所示的为另一种密集存储区的示意图,图中阴影方框表示待调度容器,共展示了4个区块,每个区块中,容器以6*6的形式排列,上述待调度容器的当前位置,可以是区块中的任一阴影区块。在6*6排列的容器组成的区块中,有20个容器处在区块的边缘位置,这20个容器所处的位置,即区块的边缘位置;上述第一路径是在待调度容器所在的当前位置所属的当前区块中的一个或多个位置,不同的待调度容器具有相同或者不同的第一路径,当机器人从当前位置运送待调度容器至当前区块的边缘位置时,该机器人经过和正在经过的位置,即为当前待调度容器的第一路径。
作为示例,当前位置为四个区块中,某一个区块内部的位置,图4中标识的D方块为当前位置,该当前位置旁边的位置,可以是图4中标识的E方框,E方框旁边的边缘位置(即图4中标识的G方框),就是正在经过的位置,上述当前位置、旁边位置和边缘位置,也就是图3中标识的D方框、E方框和G方框,组成第一路径。
作为另一个示例,若图4中标识的I方框为当前位置,该当前位置旁边的边缘位置(即图4中标识的J方框),就是正在经过的位置,上述当前位置和边缘位置也就是图4中标识的I方框和J方框,组成第一路径。作为另一个示例,若图4中标识的K方框为当前位置,该当前位置是边缘位置,此时该边缘位置组成第一路径。
步骤S206,控制机器人通过第一路径将待调度容器从当前位置运送至边缘位置,再从边缘位置将待调度容器运送至目的地。
上述机器人可以是由上述电子设备远程控制,首先,将待调度容器根据上述第一路径,从当前位置运送至边缘位置,此过程为机器人在区块内进行运送,当机器人到达边缘位置时,再按照一定的位置运送待调度容器至目的地。
需要说明的是,首先控制机器人通过第一路径将待调度容器从当前位置运送至边缘位置,主要是为了当前机器人执行当前任务时,防止其他机器人或容器将待调度容器运送出当前区块的路径(即上述第一路径)堵塞。当机器人运送待调度容器至区块的边缘位置后,则无需再担心机器人被堵塞在区块内部,此时,可以在机器人离开边缘位置时或离开边缘位置之后,将上述第一路径设置为空闲状态,以供其他机器人经过第一路径中的位置,或者其他容器占用第一路径中的位置,例如,将原来位于第一路径中的容器搬回至原来的位置。从边缘位置将待调度容器运送至目的地的过程,通常使用的是仓库中的公共通道,可以通过调度算法控制公共通道上机器人之间相互堵塞的问题。
本发明实施例提供的一种密集仓储的容器调度方法,该方法对容器的调度过程进行了细节划分,首先根据待调度容器的当前位置和目的地,确定在区块中的第一路径,该第一路径为机器人从待调度容器的当前位置运送待调度容器至当前区块的边缘位置时需要经过的位置;然后再控制机器人通过第一路径将待调度容器从当前位置运送至边缘位置,再从边缘位置将待调度容器运送至目的地。该方式中,通过确定第一路径,可以避免调度系统控制其他机器人进入该第一路径,或者控制其他机器人放置容器在第一路径上,使得当前的机器人可以顺利地将待调度容器从当前位置运送至区块的边缘位置,进而再从边缘位置将待调度容器运送至目的地。该方式可以有效提高在密集仓储作业中各个机器人作业的协同性,避免多个机器人在执行任务时的冲突和无序,解决了机器人之间发生堵塞或死锁的问题,以及机器人在执行任务时被其他容器阻挡的问题,从而提高了密集仓储的作业效率。
实施例三:
本实施例提供了另一种密集仓储的容器调度方法,该方法在上述实施例的基础上实现;本实施例重点描述基于预设的待执行任务,确定待调度容器和待调度容器的目的地的具体过程;如图5所示,本实施例的密集仓储的容器调度方法包括如下步骤:
步骤S502,根据预设的任务池中各个任务的任务信息,从该任务池中获取可用任务;其中,该任务信息包括:任务内容、任务状态、任务执行时间和依赖任务;
上述预设的任务池通常包含机器人需要执行的所有的任务,任务之间可能相互独立,也可能具有依赖关系。对于具有依赖关系的任务,需要进行依赖性任务调度,即先执行被依赖的任务,再执行后续任务;该调度需要合理分配机器人相应任务,帮助多个机器人智能协同,避免机器人的堵塞或死锁,同时优化作业效率。
也就是说,系统想要执行某个待执行任务,需要该待执行任务所需要依赖的任务已经到达指定状态。其中,该指定状态包括:待执行任务所需要依赖的第一任务对应的待调度容器,已经从第一任务对应的当前位置出发;或者待执行任务所需要依赖的第二任务对应的待调度容器,已经从第二任务对应的边缘位置出发。当然,也可以是待执行任务所需要依赖的第一任务对应的待调度容器,已经从第一任务对应的当前位置出发;同时待执行任务所需要依赖的第二任务对应的待调度容器,已经从第二任务对应的边缘位置出发。
上述任务信息中的任务内容,具体可以为将指定待调度容器运送至指定目的地;任务状态即该待执行任务的当前状态,待执行任务的初始状态为未开始状态,随着待执行任务的执行,状态在不断发生变化;任务状态具体可以包括:未开始状态、突破状态、进行中状态、完成状态;其中,待执行任务的初始状态为未开始状态;当确定第一路径之后,将待执行任务的状态切换为突破状态;当控制机器人通过第一路径将待调度容器从当前位置运送至边缘位置之后,将所述待执行任务的状态切换为进行中状态;当从边缘位置将待调度容器运送至目的地之后,将所述待执行任务的状态切换为完成状态。其中的突破状态也可以理解为,区块中的待调度容器想要运送至目的地,首先需要突破当前区块到达区块外的位置,到达区块外的位置前这段期间为突破状态。定义突破状态主要是为了防止机器人在走出区块前,被其他任务堵塞。
上述任务信息中的任务执行时间可以包括该执行任务的开始执行时间、执行完成时间等;任务信息中的依赖任务即待执行任务所需要依赖的任务,包括源依赖任务和目标依赖任务;其中,源依赖任务可以理解为:待执行任务对应的待调度容器从当前位置出发时,源依赖任务已经开始执行,这样可以保证源依赖任务不会阻碍该待执行任务的顺利执行,例如源依赖任务的容器或机器人不会堵塞该待执行任务的机器人通行;目标依赖任务为:待执行任务对应的待调度容器到达预设位置之前,目标依赖任务已经完成在该预设位置处的阶段任务,例如执行该目标依赖任务的机器人已经从该预设位置出发,这样可以保证待执行任务不会阻碍目标依赖任务的顺利执行,例如该待执行任务的容器或机器人到达该预设位置(如第一路径中的边缘位置)处时不会堵塞其目标依赖任务的机器人的通行。
对应上述指定状态,源依赖任务和目标依赖任务也可以理解为:源依赖任务的状态为突破状态、进行中状态或者完成状态其中的一种状态,或者目标依赖任务的状态为进行中状态或者完成状态中的一种。待执行任务对源依赖任务和目标依赖任务的依赖程度不同,比如,某个待执行任务,若当前待调度容器可用,且源依赖任务的状态为突破状态、进行中状态或者完成状态中任意一种状态,目标依赖任务的状态为进行中状态或者完成状态,则该任务被列为可用任务。
举例说明,预设的任务池中有4个任务,分别为任务1、任务2、任务3、任务4。假设它们之间的依赖关系如图6所示,具体地,任务1的执行不依赖任何其他任务;任务1到任务2的箭头可以表示,任务2的源依赖任务为任务1;任务1到任务3的箭头可以表示,任务3的源依赖任务为任务1;任务2到任务4的箭头可以表示,任务4的源依赖任务为任务2;任务3到任务4箭头可以表示,任务4的目标依赖任务为任务3。因此,在初始状态下,任务1没有依赖任务,首先可以确定为可用任务,当任务1为突破状态、进行中状态或者完成状态中的任意一种状态时,任务2和任务3所需要依赖的任务1已经到达指定状态,此时可用任务为任务2和任务3;当任务2为突破状态、进行中状态或者完成状态中的任意一种状态时,同时任务3为进行中状态或者完成状态时,任务4所需要依赖的任务2和任务3达到指定状态,此时可用任务为任务4。另外,可用任务为任务2和任务3时,任务2和任务3可以同时执行也可以按顺序执行。
具体执行时,作为示例,某一个待调度容器需要分别被运送至第一站点和第二站点,并要求先运送至第一站点,再运送至第二站点;此时,将待调度容器运送至第二站点这一任务,依赖于将待调度容器运送至第一站点这一任务;若机器人正在执行将该待调度容器运送到第一站点的任务,即使将待调度容器运送至第二站点的任务的其他所依赖的任务状态均到达指定状态,但是运送该容器的机器人当前正在执行将待调度容器运送至第一站点任务,因此,将该容器运送至第二站点的任务不能立即执行,需要等待将该容器运送至第一站点的任务完成之后,再执行将该容器运送至第二站点的任务。
另外,上述方法还包括,当待执行任务到达预设状态时,获取依赖于待执行任务的下一任务,将下一任务确定为新的待执行任务,继续基于获取的新的待执行任务,确定待调度容器和待调度容器的目的地。
举例说明,上述待执行任务可以是图6中的任务1,当然任务1的状态到达突破状态、进行中状态或者完成状态时,上述依赖于待执行任务的下一个任务可以为任务2或者任务3,将任务2或者任务3确定为新的待执行任务,继续执行基于获取的待执行任务,确定待调度容器和待调度容器的目的地。
步骤S504,逐一将每个可用任务确定为待执行任务,针对每个待执行任务,确定待调度容器和待调度容器的目的地;
由于每个可用任务均可以立即执行,因此如果可用任务包括多个,可以按随机或预设顺序逐一确定为待执行任务,进而针对确定的待执行任务,确定待调度容器和待调度容器的目的地。
仓库管理系统可以循环设置多个调度周期,在每个调度周期内,从任务池中获取一次可用任务。在确定每个待执行任务的待调度容器和目的地之前,还需要查询有没有空闲机器人执行该待执行任务;如果没有空闲机器人,则该待执行任务不在当前调度周期内执行,等下一个调度周期到来时,再查询有没有空闲机器人执行该待执行任务。每个调度周期的时长可以是若干秒。
另外,上述针对每个待执行任务所确定的待调度容器,若该待调度容器有任务在执行,说明当前这个任务不能执行,则该待执行任务不在当前调度周期内执行,等下一个调度周期到来时,再查询该待调度容器有没有任务在执行。
步骤S506,根据待调度容器的当前位置和目的地,确定第一路径;其中,第一路径为:在当前位置所属的当前区块中,机器人从当前位置运送待调度容器至当前区块的边缘位置时,需要经过的位置;
步骤S508,控制机器人通过第一路径将待调度容器从当前位置运送至边缘位置,再从边缘位置将待调度容器运送至目的地。
本发明实施例提供的另一种密集仓储的容器调度方法,首先根据预设的任务池中各个任务的任务信息,从该任务池中获取可用任务,在获取可用任务时,需要考虑各个任务之间的依赖关系,合理地对任务进行分配和排序,从而可以有效提高在密集仓储作业中各个机器人作业的协同性,避免多个机器人在执行任务时的冲突和无序,解决了机器人之间发生堵塞或死锁的问题,以及机器人在执行任务时被其他容器阻挡的问题,从而提高了密集仓储的作业效率。
实施例四:
本实施例提供了另一种密集仓储的容器调度方法,该方法在上述实施例的基础上实现;本实施例重点描述控制所述机器人通过所述第一路径将所述待调度容器从所述当前位置运送至所述边缘位置的具体过程;如图7所示,本实施例的密集仓储的容器调度方法包括如下步骤:
步骤S702,根据预设的任务池中各个任务的任务信息,从该任务池中获取可用任务;其中,该任务信息包括:任务内容、任务状态、任务执行时间和依赖任务;
步骤S704,逐一将每个可用任务确定为待执行任务,针对每个待执行任务,确定待调度容器和待调度容器的目的地;
步骤S706,根据待调度容器的当前位置和目的地,确定第一路径;其中,第一路径为:在当前位置所属的当前区块中,机器人从当前位置运送待调度容器至当前区块的边缘位置时,需要经过的位置;
步骤S708,计算机器人从机器人所处的位置到待调度容器的当前位置的前序路径;
确定了待调度容器的当前位置和待调度容器的目的地之后,在机器人运送待调度容器之前,首先机器人需要从当前所处的位置到达待调度容器的当前位置。因此,需要计算机器人从机器人所处的位置到待调度容器的当前位置的前序路径,上述机器人所处的位置,可以是在待调度容器的当前位置所在区块内,也可以是在其他区块、站点、或仓库中的道路上或其他区域等。若计算前序路径时,机器人从机器人所处的位置到待调度容器的当前位置的路径被其他机器人或者容器占用,则可能暂时得不到前序路径,此时可能需要在下一个调度周期继续计算该前序路径。
另外,如果目的地为待执行任务对应的拣货站点,或者目的地为除当前区块以外的区块中的位置,根据待调度容器的当前位置和机器人所处的位置,计算机器人从当前位置运送待调度容器至当前区块的边缘位置的第一路径;其中,该第一路径包括当前位置、边缘位置、以及当前位置和边缘位置之间的机器人经过的位置;将第一路径所包含的位置确定为通道位置;
由上述实施例二可知,上述目的地可以是拣货站点、当前区块中的位置、除当前区块以外的区块中位置等,由于目的地不同,因此在本实施例中,如果目的地为待执行任务对应的拣货站点,或者目的地为除当前区块以外的区块中的位置时,机器人需要运送待调度容器离开当前区块。上述第一路径可以是由仓库系统的电子设备计算得到,包括当前位置、边缘位置、以及当前位置和边缘位置之间的机器人经过的位置。最后将计算得到的第一路径所包含的位置确定为第一路径。
具体地,由于当前位置有多种可能,因此上述第一路径可以包括多种情况:情况一,当前位置是边缘位置,此时第一路径仅包括当前位置;情况二,当前位置为待调度容器所在当前区块除边缘位置以外,边缘位置的旁边位置,该当前位置可以参见图3中标识的a、b、c、d四方框中任一位置,此时第一路径仅包括当前位置和边缘位置,当前位置和边缘位置之间的位置是空;情况三,当前位置为待调度容器所在当前区块,除边缘位置和边缘位置的旁边位置以外的位置,该情况在区块为4*4以上的形式排列时才会发生,此时第一路径包括当前位置、边缘位置和当前位置与边缘位置之间的一个或多个位置。
另外,如果目的地为:当前区块中除当前位置以外的指定位置,且计算不到第一路径,将指定位置确定为通道位置;
在本实施例中,如果目的地为,当前区块中除当前位置以外的指定位置,机器人需要运送待调度容器在当前区块内移动,若上述指定位置不是当前区块的边缘位置,则计算不到第一路径,这种情况下将指定位置确定为第一路径,并计算当前位置至指定位置的路径;若上述指定位置为当前区块的边缘位置,可计算第一路径,将计算得到的第一路径所包含的位置确定为第一路径。
步骤S710,当前序路径和第一路径均计算得到之后,将第一路径中包含的边缘位置设置为占用状态;
上述设置第一路径中包含的边缘位置为占用状态,可以是通过上述电子设备将第一路径中包含的边缘位置做标识,避免其他机器人占用该边缘位置或者将其他容器放置在该边缘位置。另外,将第一路径中包含的边缘位置设置为占用状态后,调度系统在为其他任务规划第一路径时,可以自动规避当前待执行任务对应的第一路径中的各个位置,从而避免该第一路径被其他机器人堵塞,或被其他容器占用。
另一种实现方式中,还可以将第一路径设置为占用状态,即,将第一路径中的每个位置均设置为占用状态,避免该第一路径被其他机器人堵塞,或被其他容器占用。
机器人首先需要寻找待调度容器,计算机器人当前所在到待调度容器当前位置的前序路径,然后需要计算待调度容器从当前位置运送至当前区块的边缘位置的第一路径,只有前序路径和第一路径均计算得到,则机器人才可以去寻找和运送待调度容器,此时设置第一路径对应的第一路径中包含的边缘位置为占用状态,避免调度系统计算第一路径时将上述边缘位置设置为目的地,或者将其他容器运送至该第一路径的边缘位置,造成道路堵塞。
步骤S712,控制机器人通过第一路径将待调度容器从当前位置运送至边缘位置,再从边缘位置将待调度容器运送至目的地。
本发明实施例提供的一种密集仓储的容器调度方法,该方法对容器的调度过程进行了细节划分,首先根据待调度容器的当前位置和目的地,确定在区块中的第一路径,该第一路径为机器人从待调度容器的当前位置运送待调度容器至当前区块的边缘位置时,已经过(如区块的内部位置)和正在经过的位置(如区块的边缘位置);然后将该第一路径中包含的边缘设置为占用状态,避免调度系统计算其它待调度容器的第一路径时将上述边缘位置设置为目的地,使得机器人可以顺利地将待调度容器从当前位置运送至区块的边缘位置,进而再从边缘位置将待调度容器运送至目的地。该方式可以有效解决在密集仓储作业中的协同问题,避免了多个机器人之间作业的冲突和无序,解决了机器人之间发生堵塞或死锁的情况,同时避免了机器人在作业时被其它容器阻挡的情况,从而提高了作业效率。
实施例五:
本实施例提供了另一种密集仓储的容器调度方法,该方法在上述实施例的基础上实现;本实施例重点描述控制机器人通过第一路径将待调度容器从当前位置运送至边缘位置,再从边缘位置将待调度容器运送至目的地的具体过程;如图8所示,本实施例的密集仓储的容器调度方法包括如下步骤:
步骤S802,根据预设的任务池中各个任务的任务信息,从所述任务池中获取可用任务;其中,其中,所述任务信息包括:任务内容、任务状态、任务执行时间和依赖任务;
步骤S804,逐一将每个可用任务确定为待执行任务,针对每个待执行任务,确定待调度容器和待调度容器的目的地;
步骤S806,根据待调度容器的当前位置和目的地,确定第一路径;其中,第一路径为:在当前位置所属的当前区块中,机器人从当前位置运送待调度容器至当前区块的边缘位置时,需要经过的位置;
步骤S808,计算机器人从机器人所处的位置到待调度容器的当前位置的前序路径;
步骤S810,当前序路径和第一路径均计算得到之后,将第一路径中包含的边缘位置设置为占用状态;
步骤S812,控制机器人通过第一路径将待调度容器从当前位置运送至边缘位置;
当调度系统的电子设备控制机器人通过第一路径将待调度容器从当前位置运送至边缘位置时,需要考虑当前第一路径是否有容器阻碍机器人移动。因此需要考虑,如果第一路径上放置有容器,控制机器人移除第一路径上的容器。具体地,在确定了第一路径后,仓库管理系统将根据当前时刻的各个容器的位置,确定该第一路径是否放置有容器,如果有,需要控制机器人将该容器移除到该第一路径以外的位置,可以移除到当前区块的其他位置、当前区块附近的公共区域、其他区块的位置、区块以外的位置等,随后该第一路径即可运送待调度容器至边缘位置。该待调度容器从边缘位置出发后,可以将被移除到该第一路径以外的位置的容器,再运回到原来的位置。
另外,控制机器人通过第一路径将待调度容器从当前位置运送至边缘位置之后,设置待调度容器的当前位置将会空闲,考虑仓库利用率,设置当前位置为空闲状态,以通过当前位置放置其他容器,或将当前位置作为其他待调度容器的第一路径,从而提高仓库中各个位置的利用率。
步骤S814,计算从边缘位置到达目的地的第二路径;
上述第二路径可以是当前容器所在区块的边缘位置直接到达目的地的路径;也可以是当前容器所在区块的边缘位置到达预设的等待区,再从等待区到达目的地的路径;也可以是当前容器所在区块的边缘位置到达预设的共享队列,再从共享队列到达目的地的路径。
上述预设的等待区可以是仓库中固定的一个或多个位置区域,上述预设的共享队列可以是机器人排队运送待调度容器的队列,在实际实现时,可以一个或多个站点对应一个共享队列,以避免机器人在站点附近发生堵塞。
步骤S816,控制机器人沿着第二路径,将待调度容器运送至目的地,并设置所述边缘位置为空闲状态。
在实际实现时,可以在机器人从边缘位置出发之前,设置边缘位置为空闲状态,然后立即从边缘位置出发;也可以在机器人从边缘位置出发之后,设置边缘位置为空闲状态,例如,可以为机器人沿着第二路径移动的过程中,设置边缘位置为空闲状态,也可以为在到达目的地之后,设置边缘位置为空闲状态。这样可以及时解除对该边缘位置的占用,方便其他任务执行。
上述机器人由仓库系统的电子设备控制,当计算得到第二路径时,控制机器人沿着第二路径,运送待调度容器时边缘位置将会空闲,为了提高仓库中位置的利用率,设置边缘位置为空闲状态,以通过边缘位置放置其他容器,或将该边缘位置作为其他待调度容器的第一路径的边缘位置。
另外需要说明的是,如果前述在确定了第一路径之后,将第一位置设置为了占用状态,此时,也可以将第一路径上各个位置设置为空闲状态,以通过这些位置放置其它容器,或将该位置作为其它待调度容器的第一路径。
另外,上述边缘位置到达目的地的第二路径,可能由于部分区域过于拥挤等原因,不能计算得到第二路径。当计算第二路径失败时,则可以设置机器人为暂停状态,此时机器人静止在第一路径中的边缘位置,由于机器人在边缘位置为暂停状态,因此同时设置上述边缘位置为占用状态,避免调度系统在计算路径时将上述边缘位置为目的地,然后继续计算从边缘位置到达目的地的第二路径,直至得到第二路径。当得到第二路径之后,可以将该边缘位置设置为空闲状态,以及时释放该边缘位置,使得下一任务可以在机器人离开该边缘位置后占用该边缘位置。
在其他可能的方式中,上述暂停状态,还可以是机器人运送待调度容器至站点前,第二路径计算失败,机器人只能在当前位置暂停;也可以是机器人运送待调度容器至预设的等待区,在等待区到达目的地的路径没有得到,机器人只能在等待区暂停;也可以是机器人运送待调度容器至预设的共享队列,从共享队列到达目的地的路径没有得到,机器人只能在共享队列暂停。
另外,机器人运送待调度容器至站点后,完成在站点的拣货时,如果待调度容器无其他任务可做,仓库管理系统可以计算当前容器的候选归还目的地,并根据候选归还目的地计算归还路径,并控制机器人运送待调度容器至候选目的地。若计算归还路径失败,设置机器人为暂停状态,该暂停状态,可以是归还路径被其他容器或者机器人占用,机器人需在站点暂停,等待占用归还路径上的容器或者机器人移除,控制机器人运送当前容器至候选目的地;还可以是机器人先运送待调度容器至缓冲区,在缓冲区计算归还路径失败,需要机器人在缓冲区暂停,直至计算归还路径成功,控制机器人运送当前容器至候选目的地。在上述过程中机器人和待调度容器是互相绑定的,若机器人正在运载待调度容器,其他任务不能调用当前机器人,若机器人为暂停状态,与其运送的容器当前也没有任务,其他任务也不能调用该容器。
同时,上述任务池会加入上述归还待调度容器的任务,并当候选归还目的地有重复时,重新计算任务池中的任务组,此情况在库存较满或可选择的目的地不多时容易发生。具体地,机器人从库中某一区块搬运待调度容器,完成在站点的拣货时,需要归还待调度容器,候选归还目的地可以是上述待调度容器之前所正在区块的位置,也可以使其他位置,因此需要仓库管理系统计算待调度容器的候选归还目的地。
在机器人完成整个调度任务的过程中,仓库管理系统还设置了状态机管理,该状态机管理是指对机器人移动待调度容器的整个周期做状态转移管理,参见图9所示,机器人状态包括下面几种:
GOTO_WITHOUT_BINDING:未绑定容器,去容器路上;
GOTO_WITH_BINDING:绑定容器;
GOTO_IN_DOOR:去边缘位置待命的路上;
IN_SHAREDQ:在共享队列中;
IN_WAITING:在等待区;
IN_STATION:到达站点;
IN_STATION_FINISHED:在站点完成拣货;
BACK_IN_SHAREDQ:搬着容器在共享队列中;
BACK_WITH_BINDING:搬着容器回到区块目的地的路上;
BACK_WITHOUT_BINDING:到达区块目的地,并解除绑定;
当仓库管理系统整理任务池,得到所有可用任务后,根据待调度容器和待调度容器的目的地,机器人首先为GOTO_WITHOUT_BINDING状态;经过前序路径到达待调度容器的当前位置并绑定容器后,机器人将状态转换为GOTO_WITH_BINDING状态;在第一路径计算成功之后,机器人运送待调度容器至区块的边缘位置,机器人将状态转换为GOTO_IN_DOOR状态;若待调度容器的目的地是站点,机器人由GOTO_IN_DOOR状态转换至IN_STATION或IN_SHAREDQ或IN_WAITING状态;若目的地是其它区块位置,机器人由GOTO_IN_DOOR状态转换至BACK_WITH_BINDING状态;机器人在IN_SHAREDQ状态时,可以直接转换至IN_STATION状态,即机器人运送待调度容器由共享队列移动至站点,也可以先转换至IN_WAITING状态再转换至IN_STATION状态,即机器人运送待调度容器由共享队列先移动至缓冲区再移动至站点;最后由IN_STATION状态转换至IN_STATION_FINISHED状态,完成站点的拣货任务。机器人在IN_STATION_FINISHED状态时,待调度容器在站点完成拣货之后,无其他任务需要机器人调度当前待调度容器时,机器人可以计算候选归还目的地,并运送当前待调度容器至该候选归还目的地,机器人状态由IN_STATION_FINISHED状态转至BACK_WITH_BINDING状态。
机器人也可以先将当前容器运送至共享队列,此时机器人状态由IN_STATION_FINISHED状态转至BACK_IN_SHAREDQ状态;当前容器也可以有下一个去分拣站点的任务,机器人将运送当前容器至站点,完成下一个分拣任务,此时机器人状态由IN_STATION_FINISHED状态至IN_STATION状态,或BACK_IN_SHAREDQ状态至IN_STATION状态。机器人在BACK_IN_SHAREDQ状态时,若当前容器没有下一个去分拣站点的任务,则需要机器人计算候选归还目的地,并运送当前待调度容器至该候选归还目的地,此时,则转换BACK_IN_SHAREDQ状态至BACK_WITH_BINDING状态;最后机器人由BACK_WITH_BINDING状态转换至BACK_WITHOUT_BINDING,即机器人运送待调度容器至区块目的地,并解除绑定。
本发明实施例提供的一种密集仓储的容器调度方法,该方法对容器的调度过程进行了细节划分,首先根据待调度容器的当前位置和目的地,确定在区块中的第一路径,该第一路径为机器人从待调度容器的当前位置运送待调度容器至当前区块的边缘位置时,已经过(如区块的内部位置)和正在经过的位置(如区块的边缘位置);然后将该通道位置中包含的边缘位置设置为占用状态,避免调度系统计算其它待调度容器的第一路径时将上述边缘位置设置为目的地,使得机器人可以顺利地将待调度容器从当前位置运送至区块的边缘位置,进而再从边缘位置将待调度容器运送至目的地,并设置了机器人的暂停状态。该方式可以有效解决在密集仓储作业中的协同问题,避免了多个机器人之间作业的冲突和无序,解决了机器人之间发生堵塞或死锁的情况,同时避免了机器人在作业时被其它容器阻挡的情况,从而提高了作业效率。
实施例六:
对应于上述方法实施例,参见图10所示的一种密集仓储的容器调度装置的结构示意图,装置设置于电子设备;电子设备与机器人通信连接;容器放置于区块中;处于区块边缘位置的多个容器包围处于区块内部位置的容器;机器人用于运送容器至目的地;该装置包括:
容器和目的地确定模块10,用于基于获取的待执行任务,确定待调度容器和待调度容器的目的地;
第一路径确定模块20,用于根据待调度容器的当前位置和目的地,确定第一路径;其中,第一路径为:在当前位置所属的当前区块中,机器人从当前位置运送待调度容器至当前区块的边缘位置时,需要经过的位置;
运送模块30,用于控制机器人通过第一路径将待调度容器从当前位置运送至边缘位置,再从边缘位置将待调度容器运送至目的地。
进一步地,上述待执行任务包括,待执行任务所需要依赖的任务已经到达指定状态。
进一步地,上述指定状态包括:待执行任务所需要依赖的第一任务对应的待调度容器,已经从第一任务对应的当前位置出发;和/或,待执行任务所需要依赖的第二任务对应的待调度容器,已经从第二任务对应的边缘位置出发。
进一步地,上述待执行任务的状态包括:未开始状态、突破状态、进行中状态和完成状态;其中,待执行任务的初始状态为未开始状态;当确定第一路径之后,将待执行任务的状态切换为突破状态;当控制机器人通过第一路径将待调度容器从当前位置运送至边缘位置之后,将待执行任务的状态切换为进行中状态;当从边缘位置将待调度容器运送至目的地之后,将待执行任务的状态切换为完成状态。
进一步地,上述容器和目的地确定模块还用于:根据预设的任务池中各个任务的任务信息,从任务池中获取可用任务;其中,任务信息包括:任务内容、任务状态、任务执行时间和依赖任务;逐一将每个可用任务确定为待执行任务,针对每个待执行任务,确定待调度容器和待调度容器的目的地。
进一步地,上述第一路径确定模块还用于:设置第一路径中包含的边缘位置为占用状态。
进一步地,上述装置还包括前序路径计算模块,用于计算机器人从机器人所处的位置到待调度容器的当前位置的前序路径。
进一步地,上述运送模块还用于:当前序路径和第一路径均计算得到之后,将第一路径设置中包含的边缘位置为占用状态。
进一步地,上述该装置还包括空闲状态设置模块,用于设置当前位置为空闲状态,以通过当前位置放置容器。
进一步地,上述运送模块还用于:计算从边缘位置到达目的地的第二路径;控制机器人沿着第二路径,将待调度容器运送至目的地,并设置所述边缘位置为空闲状态。
进一步地,上述运送模块还用于:当计算第二路径失败时设置机器人为暂停状态,并设置边缘位置为占用状态,继续计算从边缘位置到达目的地的第二路径,直至得到第二路径。
进一步地,上述第二路径包括下述之一:边缘位置直接到达目的地的路径;边缘位置到达预设的等待区,再从等待区到达目的地的路径;边缘位置到达预设的共享队列,再从共享队列到达目的地的路径。
进一步地,上述装置还包括,当待执行任务到达预设状态时,获取依赖于待执行任务的下一任务,将下一任务确定为新的待执行任务,继续执行基于获取的待执行任务,确定待调度容器和待调度容器的目的地。本发明实施例提供的一种密集仓储的容器调度方法,该方法对容器的调度过程进行了细节划分,首先根据待调度容器的当前位置和目的地,确定在区块中的第一路径,该第一路径为机器人从待调度容器的当前位置运送待调度容器至当前区块的边缘位置时需要经过的位置;然后再控制机器人通过第一路径将待调度容器从当前位置运送至边缘位置,再从边缘位置将待调度容器运送至目的地。该方式中,通过确定第一路径,可以避免调度系统控制其他机器人进入该第一路径,或者控制其他机器人放置容器在第一路径上,使得当前的机器人可以顺利地将待调度容器从当前位置运送至区块的边缘位置,进而再从边缘位置将待调度容器运送至目的地。该方式可以有效提高在密集仓储作业中各个机器人作业的协同性,避免多个机器人在执行任务时的冲突和无序,解决了机器人之间发生堵塞或死锁的问题,以及机器人在执行任务时被其他容器阻挡的问题,从而提高了密集仓储的作业效率。
实施例七:
本发明实施例提供了一种电子设备,该电子设备包括:处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被处理器运行时执行如上述密集仓储的容器调度方法,或者上述密集仓储的容器调度方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的电子设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例还提供了一种机器可读存储介质,机器可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行如上述密集仓储的容器调度方法,或者上述密集仓储的容器调度方法的步骤。
本发明实施例所提供的密集仓储的容器调度方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和/或装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
实施例八:
本发明实施例提供了一种仓库管理系统,如图11所示的一种仓库管理系统的结构示意图,其中,该系统包括上述的电子设备100和机器人101;电子设备100与机器人101通信连接;电子设备100用于基于预设的待执行任务,确定待调度容器和待调度容器的目的地,还用于控制机器人101将待调度容器运送至目的地。
上述电子设备,用于整理任务池中的任务,得到所有可用任务,根据空闲机器人的当前所在位置和可用任务,生成调派任务列表,对于每个任务计算其第一路径和第二路径,设置任务状态和机器人状态;对于每个正在进行的任务,判断任务是否在当前状态下完成相应动作,如果当前状态完成相应动作,得到下一状态动作并按照状态机转移至下一状态,其中,判断是否完成当前状态的相应动作,有不同的处理方式,可以是自主性的完成工作,也可以是通过系统中央计算好的动作进行通知,当前序列动作完成后即可认为已经完成当前状态的相应动作。
上述电子设备,还用于控制机器人将待调度容器运送至目的地。
本发明实施例提供的一种仓库管理系统,其中,系统包括电子设备和机器人,电子设备与机器人通信连接,电子设备用于获取待执行任务,还用于控制机器人运送待调度容器。该系统可以有效解决在密集仓储作业中的协同问题,避免了多个机器人之间作业的冲突和无序,解决了机器人之间发生堵塞或死锁的情况,从而提高了作业效率。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (11)

1.一种密集仓储的容器调度方法,其特征在于,所述方法应用于电子设备;所述电子设备与机器人通信连接;所述容器放置于区块中;处于所述区块边缘位置的多个容器包围处于所述区块内部位置的容器;所述机器人用于运送容器至目的地;所述方法包括:
基于获取的待执行任务,确定待调度容器和所述待调度容器的目的地;
根据所述待调度容器的当前位置和所述目的地,确定第一路径;其中,所述第一路径包括:在所述当前位置所属的当前区块中,机器人从所述当前位置运送所述待调度容器至所述当前区块的边缘位置时需要经过的位置;
控制所述机器人通过所述第一路径将所述待调度容器从所述当前位置运送至所述边缘位置,再从所述边缘位置将所述待调度容器运送至所述目的地,在控制所述机器人通过所述第一路径将所述待调度容器从所述当前位置运送至所述边缘位置之后,设置所述当前位置为空闲状态,以通过所述当前位置放置容器,或者,在所述机器人离开所述第一路径后,将原来位于所述第一路径上的容器搬回至原来的位置;
其中,所述待执行任务所需要依赖的任务已经到达指定状态,所述指定状态包括:所述待执行任务所需要依赖的第一任务对应的待调度容器,已经从所述第一任务对应的当前位置出发;和/或,所述待执行任务所需要依赖的第二任务对应的待调度容器,已经从所述第二任务对应的边缘位置出发;
基于获取的待执行任务,确定待调度容器和所述待调度容器的目的地,包括:
根据预设的任务池中各个任务的任务信息,从所述任务池中获取可用任务;其中,所述任务信息包括:任务内容、任务状态、任务执行时间和依赖任务;
逐一将每个所述可用任务确定为待执行任务,针对每个所述待执行任务,确定待调度容器和所述待调度容器的目的地;
所述任务信息中的任务状态包括:未开始状态、突破状态、进行中状态、完成状态,待执行任务的初始状态为未开始状态;当确定第一路径之后,将待执行任务的状态切换为突破状态;当控制机器人通过第一路径将待调度容器从当前位置运送至边缘位置之后,将所述待执行任务的状态切换为进行中状态;当从边缘位置将待调度容器运送至目的地之后,将所述待执行任务的状态切换为完成状态;
所述任务信息中的依赖任务包括源依赖任务和目标依赖任务;
所述指定状态包括:源依赖任务的状态为突破状态、进行中状态或者完成状态其中的一种状态,或者目标依赖任务的状态为进行中状态或者完成状态中的一种;
对于每个待执行任务,若该任务的当前待调度容器可用,且该任务的源依赖任务的状态为突破状态、进行中状态或者完成状态中任意一种状态,该任务的目标依赖任务的状态为进行中状态或者完成状态,则该任务被列为可用任务。
2.根据权利要求1所述的方法,其特征在于,在控制所述机器人通过所述第一路径将所述待调度容器从所述当前位置运送至所述边缘位置之前,所述方法还包括:设置所述第一路径中包含的边缘位置为占用状态。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:计算所述机器人从所述机器人所处的位置到所述待调度容器的当前位置的前序路径;
所述设置所述第一路径中包含的边缘位置为占用状态,包括:当所述前序路径和所述第一路径均计算得到之后,将所述边缘位置设置为占用状态。
4.根据权利要求1-3任一项所述的方法,其特征在于,控制所述机器人从所述边缘位置将所述待调度容器运送至所述目的地,包括:
计算从所述边缘位置到达所述目的地的第二路径;
控制所述机器人沿着所述第二路径,将所述待调度容器运送至所述目的地,并设置所述边缘位置为空闲状态。
5.根据权利要求4所述的方法,其特征在于,控制所述机器人沿着所述第二路径,将所述待调度容器运送至所述目的地的步骤,包括:
当计算所述第二路径失败时,设置所述机器人为暂停状态,并设置所述边缘位置为占用状态,继续计算从所述边缘位置到达所述目的地的第二路径,直至得到所述第二路径。
6.根据权利要求4所述的方法,其特征在于,所述第二路径包括下述之一:
所述边缘位置直接到达所述目的地的路径;
所述边缘位置到达预设的等待区,再从所述等待区到达所述目的地的路径;
所述边缘位置到达预设的共享队列,再从所述共享队列到达所述目的地的路径。
7.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
当所述待执行任务到达预设状态时,获取依赖于所述待执行任务的下一任务,将所述下一任务确定为新的待执行任务,继续基于获取的新的待执行任务,确定待调度容器和所述待调度容器的目的地。
8.一种密集仓储的容器调度装置,其特征在于,所述装置设置于电子设备;所述电子设备与机器人通信连接;所述容器放置于区块中;处于所述区块边缘位置的多个容器包围处于所述区块内部位置的容器;所述机器人用于运送容器至目的地;所述装置包括:
容器和目的地确定模块,用于基于获取的待执行任务,确定待调度容器和所述待调度容器的目的地;
第一路径确定模块,用于根据所述待调度容器的当前位置和所述目的地,确定第一路径;其中,所述第一路径包括:在所述当前位置所属的当前区块中,机器人从所述当前位置运送所述待调度容器至所述当前区块的边缘位置时,需要经过的位置;
运送模块,用于控制所述机器人通过所述第一路径将所述待调度容器从所述当前位置运送至所述边缘位置,再从所述边缘位置将所述待调度容器运送至所述目的地,在控制所述机器人通过所述第一路径将所述待调度容器从所述当前位置运送至所述边缘位置之后,设置所述当前位置为空闲状态,以通过所述当前位置放置容器,或者,在所述机器人离开所述第一路径后,将原来位于所述第一路径上的容器搬回至原来的位置;
其中,所述待执行任务所需要依赖的任务已经到达指定状态,所述指定状态包括:所述待执行任务所需要依赖的第一任务对应的待调度容器,已经从所述第一任务对应的当前位置出发;和/或,所述待执行任务所需要依赖的第二任务对应的待调度容器,已经从所述第二任务对应的边缘位置出发;
所述容器和目的地确定模块,还用于:
根据预设的任务池中各个任务的任务信息,从所述任务池中获取可用任务;其中,所述任务信息包括:任务内容、任务状态、任务执行时间和依赖任务;
逐一将每个所述可用任务确定为待执行任务,针对每个所述待执行任务,确定待调度容器和所述待调度容器的目的地;
所述任务信息中的任务状态包括:未开始状态、突破状态、进行中状态、完成状态,待执行任务的初始状态为未开始状态;当确定第一路径之后,将待执行任务的状态切换为突破状态;当控制机器人通过第一路径将待调度容器从当前位置运送至边缘位置之后,将所述待执行任务的状态切换为进行中状态;当从边缘位置将待调度容器运送至目的地之后,将所述待执行任务的状态切换为完成状态;
所述任务信息中的依赖任务包括源依赖任务和目标依赖任务;
所述指定状态包括:源依赖任务的状态为突破状态、进行中状态或者完成状态其中的一种状态,或者目标依赖任务的状态为进行中状态或者完成状态中的一种;
对于每个待执行任务,若该任务的当前待调度容器可用,且该任务的源依赖任务的状态为突破状态、进行中状态或者完成状态中任意一种状态,该任务的目标依赖任务的状态为进行中状态或者完成状态,则该任务被列为可用任务。
9.一种电子设备,其特征在于,所述电子设备包括:处理器和存储装置;
所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如权利要求1至7任一项所述的密集仓储的容器调度方法。
10.一种仓库管理系统,其特征在于,所述系统包括机器人和权利要求9所述的电子设备;所述电子设备与所述机器人通信连接;
所述电子设备用于基于获取的待执行任务,确定待调度容器和所述待调度容器的目的地,还用于控制所述机器人将所述待调度容器运送至所述目的地。
11.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使处理器实现权利要求1至7任一项所述的密集仓储的容器调度方法。
CN201911126612.4A 2019-11-15 2019-11-15 密集仓储的容器调度方法、装置和电子设备 Active CN110874673B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911126612.4A CN110874673B (zh) 2019-11-15 2019-11-15 密集仓储的容器调度方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911126612.4A CN110874673B (zh) 2019-11-15 2019-11-15 密集仓储的容器调度方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN110874673A CN110874673A (zh) 2020-03-10
CN110874673B true CN110874673B (zh) 2022-09-27

Family

ID=69717099

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911126612.4A Active CN110874673B (zh) 2019-11-15 2019-11-15 密集仓储的容器调度方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN110874673B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113534750B (zh) * 2020-04-15 2022-12-02 北京旷视机器人技术有限公司 密集存储下的作业调度方法、装置、系统、设备及介质
CN111846726B (zh) * 2020-07-30 2022-04-19 重庆惠科金渝光电科技有限公司 一种运输设备的搬运方法和运输设备
CN114379969B (zh) * 2020-10-16 2023-06-27 北京极智嘉科技股份有限公司 库存容器操作系统和方法
CN115258511A (zh) * 2020-12-31 2022-11-01 深圳市海柔创新科技有限公司 货物搬运方法、仓库管理设备、仓储系统、介质及产品

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9817728B2 (en) * 2013-02-01 2017-11-14 Symbolic Io Corporation Fast system state cloning
JP6651611B2 (ja) * 2016-04-27 2020-02-19 株式会社日立製作所 搬送システム、搬送方法及び管理システム
US11312576B2 (en) * 2017-06-01 2022-04-26 Beijing Geekplus Technology Co., Ltd. Goods picking system and method
CN107727099A (zh) * 2017-09-29 2018-02-23 山东大学 一种工厂内物料运输多agv调度及路径规划方法
CN108008704B (zh) * 2017-11-20 2019-12-17 北京起重运输机械设计研究院 一种穿梭车调度方法和系统
CN109292343A (zh) * 2018-11-15 2019-02-01 山东大学 基于仓储机器人的多层穿梭车仓储输送系统及输送方法

Also Published As

Publication number Publication date
CN110874673A (zh) 2020-03-10

Similar Documents

Publication Publication Date Title
CN110874673B (zh) 密集仓储的容器调度方法、装置和电子设备
CN110775496B (zh) 一种集合订单合流处理系统、方法及装置
US20220332502A1 (en) Container handling method employing dense storage
CN110689256B (zh) 托盘调度方法、装置、电子设备和仓库管理系统
CN107943030A (zh) 控制机器人运输货品的方法和装置
CN111086929B (zh) 升降梯调度方法、装置、电子设备及存储介质
CN108146969B (zh) 一种立体库监控系统出库任务调度方法及装置
CN112757303A (zh) 机器人控制方法、装置、机器人、运送系统及介质
CN111079988B (zh) 任务的执行方法、装置、存储介质及电子装置
CN108008704B (zh) 一种穿梭车调度方法和系统
CN109902975A (zh) 调度方法、系统、装置以及计算机可读存储介质
CN112278674A (zh) 调度方法、装置、设备及存储介质
CN112193953B (zh) 一种电梯资源调度方法及装置
CN112396369A (zh) 合并容器的方法、装置、电子设备和计算机可读介质
CN114148659A (zh) 容器上架方法、装置、系统、电子设备和计算机可读介质
CN112016802A (zh) 设备调度方法、装置及电子设备
CN113947852A (zh) 自助提货装置、自助提货方法和控制装置
CN110619471B (zh) 货架调度方法、装置、电子设备和仓库管理系统
CN113033971A (zh) 一种服务器及递送机器人的运单调度方法、介质和装置
CN112644946A (zh) 仓储机器人的控制方法、装置、设备及存储介质
US20230376863A1 (en) Route planning method and device, equipment and storage medium
CN114758765A (zh) 一种基于多维度状态的医疗物流机器人智能调度方法
CN114474052A (zh) 控制机器人与货柜交互的方法、系统及机器人
CN111325510B (zh) 确定托盘位置的方法、装置、电子设备和仓库管理系统
CN112862351A (zh) 一种服务器及调度机器人自动到位装货的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant