[go: up one dir, main page]

HK1232970B - Methods, systems and apparatus for controlling movement of transporting devices - Google Patents

Methods, systems and apparatus for controlling movement of transporting devices

Info

Publication number
HK1232970B
HK1232970B HK17106528.9A HK17106528A HK1232970B HK 1232970 B HK1232970 B HK 1232970B HK 17106528 A HK17106528 A HK 17106528A HK 1232970 B HK1232970 B HK 1232970B
Authority
HK
Hong Kong
Prior art keywords
container
containers
movement
transport devices
transport
Prior art date
Application number
HK17106528.9A
Other languages
Chinese (zh)
Other versions
HK1232970A1 (en
Inventor
罗伯特.斯塔迪
马修.维兰
克里斯托弗.布莱特
Original Assignee
奥卡多创新有限公司
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 奥卡多创新有限公司 filed Critical 奥卡多创新有限公司
Publication of HK1232970A1 publication Critical patent/HK1232970A1/en
Publication of HK1232970B publication Critical patent/HK1232970B/en

Links

Description

控制运输设备移动的方法、系统和装置Method, system and device for controlling movement of transportation equipment

本发明涉及控制运输设备移动的方法、系统和装置,具体但不仅限于涉及从存储系统取出单元的存储系统和方法。本发明还特别但不仅限于涉及协调和控制产品移动的系统和方法。The present invention relates to methods, systems and apparatus for controlling the movement of transport equipment, and more particularly, but not exclusively, to systems and methods for retrieving units from a storage system. The present invention also relates particularly, but not exclusively, to systems and methods for coordinating and controlling the movement of products.

一些商业与工业活动需要能够存储与取出大量不同产品的系统。Some commercial and industrial activities require systems that can store and retrieve large quantities of different products.

一种已知的在多个产品线中存储与取出货品的系统包含将存储箱子或容器放在通道中成排放置的货架上。每个箱子或容器中放有一种或多种产品类型的一个或多个产品。所述通道在成排货架之间提供了通路,以便所需的产品能够被在通道中循环作业的操作人员或机器人取出。One known system for storing and retrieving goods from multiple product lines involves placing storage boxes or containers on shelves arranged in rows within aisles. Each box or container contains one or more products of one or more product types. The aisles provide access between the rows of shelves so that the desired products can be retrieved by operators or robots that circulate through the aisles.

然而我们应该注意到,提供通道间隔以便存取产品的必要性意味着此类系统的存储密度相对低。换言之,与整个存储系统所需的空间占用量相比,实际用于存储产品的空间占用量相对小。However, it should be noted that the need to provide aisle spacing for accessing products means that the storage density of such systems is relatively low. In other words, the amount of space actually used to store products is relatively small compared to the space required for the entire storage system.

例如,销售多个产品线的在线零售企业如在线零售商与超市,需要能够存储几万或甚至几十万个不同产品线的系统。这些企业的供应链和仓库运作高度依赖于其组织、取出和将货品放回至容器的能力。For example, online retailers and supermarkets that sell multiple product lines need systems that can store tens or even hundreds of thousands of different product lines. The supply chain and warehouse operations of these companies are highly dependent on their ability to organize, retrieve, and return goods to containers.

在各种仓库和存储设备设计的特定实施例中,容器可以一个压一个的被堆放,且堆垛可以被成排放置,然后可以从上方存取容器,这样成排容器之间就可以不需要通道,实现在给定的空间或区域内存储更多的容器。In certain embodiments of various warehouse and storage equipment designs, containers can be stacked one on top of the other, and stacks can be placed in rows, with the containers then accessible from above, eliminating the need for aisles between rows of containers and enabling more containers to be stored in a given space or area.

在其中的某些实施例中,容器可由一个或多个机器人或自动化工具存取,所述自动化工具导航通过网格通路存取容器进行各种不同的操作,如将容器从一个位置移动到另一个位置进行处理、对容器进行操作、将容器返回至某个仓库中的某个位置等。In some of these embodiments, the containers may be accessed by one or more robots or automated tools that navigate through a grid of pathways to access the containers and perform various operations, such as moving the containers from one location to another for processing, performing operations on the containers, returning the containers to a location within a warehouse, and the like.

协调一个或多个机器人或其他自动化工具的移动是决定系统存储和取出大量不同产品的整体效率和可扩展性是一个重要考虑因素。Coordinating the movement of one or more robots or other automated tools is a key consideration in determining the overall efficiency and scalability of a system for storing and retrieving large numbers of different products.

US6654662和EP1037828对一种存储与取出系统进行了说明,其中,“平行六面体”容器被纵深堆叠和连接存放在一个垂直框架中,形成几个水平容器层,这些容器的位置在任何时候都是随机的。计算机系统持续监控并记录容器的位置,从框架的顶部取出需要的容器,一次移动一个不需要的容器并迁移到临时位置,直至取出需要的容器,这时,将临时迁移的容器放回原堆垛,并以原相对顺序放回,从而(最终)将需要的容器放回原堆垛的顶部。US6654662 and EP1037828 describe a storage and retrieval system in which "parallelepipedic" containers are stacked and connected vertically in a vertical frame to form several horizontal layers of containers, with the positions of these containers being random at any given time. A computer system continuously monitors and records the positions of the containers, removing the required containers from the top of the frame and moving the unrequired containers one at a time to temporary locations until the required container is retrieved. At this point, the temporarily relocated containers are returned to the original stack in their original relative order, thus (eventually) returning the required container to the top of the original stack.

US6654662和EP1037828所述的系统有几个水平坐标式容器层,容器的位置在任何时候都是随机的。而且,临时迁移的容器被放回到原堆垛,这样它们的相对顺序不变,且其中需要的容器被放回到堆垛的顶部。The systems described in US6654662 and EP1037828 have several horizontally co-ordinated container layers, where the positions of the containers are random at any given time. Furthermore, temporarily relocated containers are returned to the original stack so that their relative order remains unchanged and the required containers are returned to the top of the stack.

相比已提供的系统,提供经过考虑的容器放置具有很大优势,其基于业务流、存取频率(历史的、当前的和预测的)、特定容器分组、存取时间、耐火性和/或其他环境分区等不同标准,可以达到在水平和垂直域中最佳进行优化。Compared to existing systems, it is a great advantage to provide a considered container placement that can be optimized in both horizontal and vertical domains based on different criteria such as traffic flow, access frequency (historical, current and predicted), specific container groupings, access time, fire resistance and/or other environmental zoning.

因此,协调和控制产品移动的系统和工序是必要的。Therefore, systems and processes to coordinate and control product movement are necessary.

根据本发明的一些实施例,提供了一种控制运输数个物品并在具有数个通路的设施中运作的一个或多个运输设备的移动的系统,所述系统包含:According to some embodiments of the present invention, there is provided a system for controlling the movement of one or more transport devices transporting a plurality of items and operating in a facility having a plurality of lanes, the system comprising:

一个或多个计算机,被配置为执行计算机指令,所述指令被执行时,提供:One or more computers configured to execute computer instructions that, when executed, provide:

一个或多个实用程序,确定和预订通过所述数个通路来移动所述一个或多个运输设备的路线;和One or more utilities that determine and reserve routes for moving the one or more transport devices through the plurality of pathways; and

一个或多个实用程序,提供用于允许或停止移动所述一个或多个运输设备以避免碰撞的间隙系统。One or more utilities provide a clearance system for allowing or stopping movement of the one or more transport devices to avoid collision.

在一些实施例中,所述系统还包含一个或多个实用程序,被配置为通过所述数个通路优化所述一个或多个运输设备的移动和行动。In some embodiments, the system further comprises one or more utilities configured to optimize the movement and actions of the one or more transport devices through the plurality of pathways.

在一些实施例中,所述系统还包含一个或多个实用程序,被配置为通过所述设施中的所述一个或多个运输设备优化所述数个物品的放置。In some embodiments, the system further comprises one or more utilities configured to optimize placement of the plurality of items by the one or more transport devices in the facility.

在一些实施例中,所述系统还包含一个或多个实用程序,控制在一个或多个工作站中进行的移动或操作。In some embodiments, the system further comprises one or more utilities that control movement or operations performed at one or more workstations.

在一些实施例中,优化所述移动和行动的所述一个或多个实用程序利用寻径算法。In some embodiments, the one or more utilities that optimize the movements and actions utilize a routing algorithm.

在一些实施例中,所述一个或多个实用程序利用拥塞减轻技术优化所述移动和行动。In some embodiments, the one or more utilities utilize congestion mitigation techniques to optimize the movement and actions.

在一些实施例中,所述一个或多个实用程序利用机器学习技术优化所述移动和行动。In some embodiments, the one or more utilities utilize machine learning techniques to optimize the movements and actions.

在一些实施例中,所述一个或多个实用程序优化设施中所述数个物品的放置且基于设施中所述数个物品中的一个或多个的放置更新所述设施的库存等级。In some embodiments, the one or more utilities optimize placement of the number of items in the facility and update inventory levels of the facility based on the placement of one or more of the number of items in the facility.

在一些实施例中,所述一个或多个实用程序至少基于所述一个或多个工作站的工作量控制所述一个或多个运输设备的移动。In some embodiments, the one or more utilities control movement of the one or more transporters based at least on a workload of the one or more workstations.

在一些实施例中,所述一个或多个实用程序提供间隙系统,其被配置为容忍与所述一个或多个运输设备中的至少一个中断通信。In some embodiments, the one or more utilities provide a gap system configured to tolerate interruptions in communication with at least one of the one or more transport devices.

在一些实施例中,所述一个或多个实用程序确定和预订路线并指示数个运输设备合作运输所述数个物品中的一个或多个。In some embodiments, the one or more utilities determine and reserve a route and instruct a plurality of transporters to cooperate in transporting one or more of the plurality of items.

在一些实施例中,所述一个或多个实用程序确定和预订路线以将空闲的运输设备从最佳路线移开以供其他运输设备使用。In some embodiments, the one or more utilities determine and reserve routes to move idle transport equipment away from optimal routes for use by other transport equipment.

在一些实施例中,所述数个物品中的一个或多个被存储在数个容器中。In some embodiments, one or more of the plurality of items are stored in a plurality of containers.

在一些实施例中,所述设施将所述数个容器存储在数个堆垛中。In some embodiments, the facility stores the plurality of containers in stacks.

在一些实施例中,所述一个或多个实用程序确定和预订路线以运输所述数个容器中的一个或多个。In some embodiments, the one or more utilities determine and reserve a route to transport one or more of the number of containers.

在一些实施例中,所述一个或多个实用程序确定和预订路线以控制所述数个运输设备中的一个或多个从所述数个堆垛中的一个或多个中取出所述数个容器中的一个或多个。In some embodiments, the one or more utilities determine and reserve routes to control one or more of the number of transporters to retrieve one or more of the number of containers from one or more of the number of stacks.

在一些实施例中,从所述一个或多个堆垛中取出所述一个或多个容器还需要在取出所述一个或多个容器之前移动所述堆垛中的一个或多个其他容器。In some embodiments, removing the one or more containers from the one or more stacks also requires moving one or more other containers in the stacks prior to removing the one or more containers.

在一些实施例中,移动所述一个或多个其他容器包含将所述一个或多个其他容器中的每个放在所述设施中的最佳位置。In some embodiments, moving the one or more other containers includes placing each of the one or more other containers in an optimal location in the facility.

在一些实施例中,所述设施被分为数个子网格以降低处理复杂性。In some embodiments, the facility is divided into sub-grids to reduce processing complexity.

在一些实施例中,在所述数个运输设备移动之前向所述数个运输设备提供控制所述数个运输设备移动的一个或多个控制命令。In some embodiments, one or more control commands for controlling the movement of the plurality of transporting devices are provided to the plurality of transporting devices before the plurality of transporting devices move.

在各种方面,本发明提供方法、系统和相应的机器可执行的编码指令集,用以在包含存放设备的至少一个半自动化订单履行系统中协调和控制产品移动。在各方面,本发明提供协调和控制处理履行订单的各种货品的机器人的移动方面的改进,在一些示例中,所述订单可以包括具有不同大小、重量、易碎性和其他特性的各种货品。In various aspects, the present invention provides methods, systems, and corresponding sets of machine-executable coded instructions for coordinating and controlling product movement in at least one semi-automated order fulfillment system including a storage device. In various aspects, the present invention provides improvements in coordinating and controlling the movement of robots that handle various items to fulfill an order, which, in some examples, may include various items of varying size, weight, fragility, and other characteristics.

在上述方面和其他方面的各种实施例中,这种存放设备可以包括一个或多个存储装置。在相同实施例或其他实施例中,所述存放设备的至少一部分可以被配置为能动态地移动。In various embodiments of the above and other aspects, the storage device may include one or more storage devices. In the same or other embodiments, at least a portion of the storage device may be configured to be dynamically movable.

在相同实施例或其他实施例中,所述存放设备可以由两个或多个工作站共用。In the same or other embodiments, the storage device can be shared by two or more workstations.

下面将参考所附示意图对本发明进行说明,附图旨在举例而非对本发明进行任何限定,其中相同的标号旨在指明相同或对应的部分。The present invention will be described below with reference to the accompanying schematic drawings, which are intended to illustrate rather than limit the present invention in any way, wherein the same reference numerals are intended to indicate the same or corresponding parts.

附图1为某些方面通用计算机硬件和软件实施例的说明图,详见说明书。FIG1 is an illustrative diagram of some aspects of a general computer hardware and software embodiment, see the specification for details.

附图2为根据本发明一些实施例的所述系统的示例框图。FIG2 is an exemplary block diagram of the system according to some embodiments of the present invention.

附图3为根据本发明一些实施例的所述机器人控制系统的更详细的示例框图。FIG3 is a more detailed example block diagram of the robot control system according to some embodiments of the present invention.

附图4为根据本发明一些实施例的示例递归寻径算法的示例工作流程图。FIG4 is a flowchart illustrating an example workflow of an example recursive path-finding algorithm according to some embodiments of the present invention.

附图5为根据本发明一些实施例的示例热图。Figure 5 is an example heat map according to some embodiments of the present invention.

附图6a为展示在路径搜索算法中使用不同系数后搜索分支的预计成本如何变化的表格。这些系数可以使用根据本发明的一些实施例的机器学习技术提炼得出。FIG6a is a table showing how the estimated cost of a search branch changes when different coefficients are used in the path search algorithm. These coefficients can be extracted using machine learning techniques according to some embodiments of the present invention.

附图6b说明了如附图6a所示不同成本系数的使用如何改变所述搜索算法下一次迭代将选择的分支。FIG. 6b illustrates how the use of different cost coefficients as shown in FIG. 6a changes the branch that will be selected on the next iteration of the search algorithm.

附图7为根据本发明一些实施例的仓库的示例透视图。7 is an exemplary perspective view of a warehouse according to some embodiments of the present invention.

附图8为根据本发明一些实施例的带有一个卷扬机和一个容器的机器人的示例图。FIG. 8 is an exemplary diagram of a robot with a hoist and a container according to some embodiments of the present invention.

将通过参考附图对适合用于实施本发明的方法、系统和装置的优选实施例进行说明。Preferred embodiments of methods, systems, and apparatus suitable for implementing the present invention will be described with reference to the accompanying drawings.

全自动化与半自动化货品存储与取出系统可以通过各种类型与形式来实现,其各方面有时可能被称为“订单履行”系统、“存储与取出”系统和/或“订单拣选”系统。一种对已存储货品提供存取途径(access)以进行全自动化和/或半自动化取出的方法,示例性的包括:将任何期望类型的货品放置在箱子或其它容器(以下统称“容器”)中,以及将货架中的容器堆叠和/或以其它方式垂直分层放置,从而使全自动化或半自动化容器取出系统能够存取单独容器。Fully automated and semi-automated product storage and retrieval systems may be implemented in various types and forms, and aspects thereof may sometimes be referred to as "order fulfillment" systems, "storage and retrieval" systems, and/or "order picking" systems. A method of providing access to stored products for fully automated and/or semi-automated retrieval may include, for example, placing products of any desired type in boxes or other containers (hereinafter collectively referred to as "containers") and stacking and/or otherwise vertically stratifying the containers in racks to enable fully automated or semi-automated container retrieval systems to access the individual containers.

在一些实施例中,所述系统可以包括除货品存储和取出系统之外的系统,如处理、修复、操作、装配、分类货品的系统等,需要在设施中和/或向其他设施移动货品、产品、零件、部件、子部件,或用于运输。In some embodiments, the system may include systems other than merchandise storage and retrieval systems, such as systems for processing, repairing, manipulating, assembling, sorting merchandise, etc., which require moving merchandise, products, parts, components, subcomponents within a facility and/or to other facilities, or for shipping.

为本说明书之目的,存储、取出、处理和/或履行订单的存储设施被称为“蜂巢”,其中全自动化或半自动化存取系统提供此类货品的存取途径。所述“蜂巢”可以包含潜在通路的网格状布局,供机器人元件或设备(“机器人”)移动以在所述“蜂巢”(称为“网格”)中的各位置穿行并进行操作。For the purposes of this specification, a storage facility that stores, retrieves, processes, and/or fulfills orders is referred to as a "hive," wherein fully automated or semi-automated storage and retrieval systems provide access to such items. The "hive" may comprise a grid-like layout of potential pathways for robotic elements or devices ("robots") to move through and perform operations at various locations within the "hive" (referred to as a "grid").

本说明说不仅限于具有“蜂巢”、“网格”和/或“机器人”的系统,也可以设想广泛地控制和/或协调数个设备的移动和/或行动的系统。这些设备可以被配置为运输各种货品,如货品和/或产品,和/或可能为空的和/或存放此类货品和/或产品的容器。这些设备还可以用于履行订单,但是也可以用于任何其他类型的行动,如运输容器到工作站和从工作站运输容器、移动物品从原位置到目标位置等。The present description is not limited to systems having "hives," "grids," and/or "robots," but rather contemplates systems that broadly control and/or coordinate the movement and/or actions of a plurality of devices. These devices may be configured to transport various items, such as goods and/or products, and/or containers that may be empty and/or contain such goods and/or products. These devices may also be used to fulfill orders, but may also be used for any other type of action, such as transporting containers to and from workstations, moving items from a home location to a destination, and the like.

如上所述,所述设备可以是机器人,且所述设备可以被配置为沿着蜂巢移动,和/或与控制系统通信以协调和接收移动指令。在一些实施例中,所述设备可以被配置为在其之间通信,和/或协调其之间的移动。因此,所述设备可以具有各种运输工具、通信工具、动力工具、处理工具、处理器工具、传感器工具、监控工具、机载工作站、电子/物理存储工具和/或提升/运输工具(如卷扬机、臂等)。As described above, the devices may be robots, and the devices may be configured to move along the hive and/or communicate with a control system to coordinate and receive movement instructions. In some embodiments, the devices may be configured to communicate among themselves and/or coordinate movement among themselves. Thus, the devices may have various transport means, communication means, power means, handling means, processor means, sensor means, monitoring means, onboard workstations, electronic/physical storage means, and/or lifting/transport means (e.g., winches, arms, etc.).

尽管所述设备可以被配置为从所述系统接收指令,但可能会出现所述设备与所述系统中断通信、所述设备的通信路径老化和/或在特定时间帧不能从所述系统接收通信的情况。Although the device may be configured to receive instructions from the system, circumstances may arise where the device loses communication with the system, the device's communication path ages, and/or is unable to receive communications from the system within a particular time frame.

在一些实施例中,所述设备还可以被配置为彼此之间进行通信,和/或感测彼此的存在。这些通信和/或感测输入可以被用于,例如众包环境信息、提供冗余通信信道、验证指令等。In some embodiments, the devices may also be configured to communicate with each other and/or sense each other's presence. These communications and/or sensory inputs may be used, for example, to crowdsource environmental information, provide redundant communication channels, verify instructions, and the like.

订单履行可以包括各种操作,但不限于如:在购买和混合各种产品用于配送给客户时组合订单,例如用在连锁食品杂货店;组合具有各种子部件的产品;对产品进行各种操作(如将部件焊接在一起)、分类产品等。Order fulfillment can include various operations, including but not limited to: assembling orders when purchasing and mixing various products for delivery to customers, such as used in chain grocery stores; assembling products that have various sub-components; performing various operations on products (such as welding components together); sorting products, etc.

订单还可以被返回,例如,如果订单被取消、配送失败等。在一些情境下,即使订单正在蜂巢中履行,其也可以被取消,且货品可能需要被返回。在一些情境下,所述货品可能需要被重新放回容器中,且所述容器可能需要被移动到各种位置。在一些情境下,当订单被返回或取消时,工作站可能需要执行任务以拒绝产品/将产品返工。Orders can also be returned, for example, if they are canceled, if delivery fails, etc. In some cases, even if an order is being fulfilled in the Hive, it can be canceled and the goods may need to be returned. In some cases, the goods may need to be put back into the container, and the container may need to be moved to various locations. In some cases, when an order is returned or canceled, the workstation may need to perform tasks to reject/rework the product.

而且,如上所述,单独的容器可以被放在垂直层中,且它们在“蜂巢”中的位置可以使用三维坐标标示出以表示机器人或容器的位置和容器深度(如容器(X, Y, Z),深W)。在一些实施例中,在“蜂巢”中的位置可以使用二维坐标标示出以表示机器人或容器的位置和容器深度(如容器(X, Y),深Z)。Furthermore, as described above, individual containers can be placed in vertical layers, and their positions within the "hive" can be plotted using three-dimensional coordinates to represent the robot or container's position and the container's depth (e.g., container (X, Y, Z), depth W). In some embodiments, positions within the "hive" can be plotted using two-dimensional coordinates to represent the robot or container's position and the container's depth (e.g., container (X, Y), depth Z).

所述“蜂巢”本身可以是“动态”的环境,从这个角度来讲,机器人和工作站位置可能与蜂巢中不同的部分关联以参与行动。例如,机器人可能需要存取蜂巢维度指定位置上的指定容器(如容器(X, Y, Z),深W)以履行特定订单或在所述“蜂巢”中存储产品。这就涉及所述机器人沿各种可能的路径移动,例如,沿网格的顶部移动,然后再在堆垛的指定深度存取特定容器。The "hive" itself can be a "dynamic" environment, in the sense that robots and workstation locations may be associated with different parts of the hive to participate in activities. For example, a robot may need to access a specific container at a specific location within the hive dimensions (e.g., container (X, Y, Z), depth W) to fulfill a specific order or store products within the hive. This involves the robot moving along various possible paths, such as moving along the top of the grid and then accessing a specific container at a specific depth within the stack.

在堆垛的指定深度存取特定容器可能需要移动可能阻碍存取该特定容器的过程(如,在容器被堆叠时,必须首先移动很多容器才能存取不在堆垛可及端的容器)。在一些实施例中,将所述系统配置为能为必须移开以存取目标容器的每个容器提供新位置的评估和优化是比较有利的。Accessing a particular container at a given depth in a stack may require moving processes that may hinder access to that particular container (e.g., when containers are stacked, many containers must first be moved before accessing a container that is not at the accessible end of the stack). In some embodiments, it may be advantageous to configure the system to provide an assessment and optimization of the new position for each container that must be moved to access the target container.

移离堆垛的容器不需要被移回它们的原堆垛。Containers that are moved off the stack do not need to be moved back to their original stack.

一个潜在优势在于具有调整容器分布的能力,这样所述容器就能被放置在更加容易存取或更方便的位置。One potential advantage is the ability to adjust the distribution of containers so that they are placed in a more accessible or convenient location.

这可以帮助在设施内保持最佳容器分布,例如,偏向于将预计有较高需求的容器放在更容易存取的位置,如靠近工作站或工作站中的位置,以减短运输距离。This can help maintain an optimal distribution of containers within the facility, for example, by favoring containers expected to have higher demand to be placed in more easily accessible locations, such as near or within a workstation to reduce transport distances.

附图7为根据本发明一些实施例的仓库的示例透视图。7 is an exemplary perspective view of a warehouse according to some embodiments of the present invention.

机器人可以具有各种形状、大小和配置,且可以具有各种通讯工具、传感器和工具。在一些实施例中,每个机器人可以通过由一组基站和基站控制器建立的一组频率信道与所述控制系统通信。机器人可以利用各种工具从堆垛移动和获得容器,例如,利用卷扬机搬运容器。The robots can have various shapes, sizes, and configurations and can be equipped with various communication tools, sensors, and tools. In some embodiments, each robot can communicate with the control system via a set of frequency channels established by a set of base stations and a base station controller. The robots can utilize various tools to move and retrieve containers from a stack, for example, using a winch to carry a container.

附图8为根据本发明一些实施例的带有一个卷扬机和一个容器的机器人的示例图。FIG. 8 is an exemplary diagram of a robot with a hoist and a container according to some embodiments of the present invention.

所述网格不仅限于矩形网格元件且可以包含曲线轨道、上下轨道等。所述网格通路可以有交叉点且可由一个以上机器人使用。The grid is not limited to rectangular grid elements and can include curved tracks, up-down tracks, etc. The grid pathways can have intersections and can be used by more than one robot.

每个网格可以在物理上或逻辑上被分割成一个或多个子网格。Each grid can be physically or logically divided into one or more subgrids.

所述网格可以包含一个或多个工作站。工作站可以是手动、半自动化或全自动化的,且可以包含在蜂巢中执行操作或执行与蜂巢、容器或产品有关的操作的位置和区域,如将产品移入或移出蜂巢、生产产品、装配产品、加工产品到它们的组件、提供暂存位置以支持其他步骤或操作等。The grid may include one or more workstations. A workstation may be manual, semi-automated, or fully automated, and may include locations and areas where operations are performed within the hive or with respect to the hive, containers, or products, such as moving products into or out of the hive, producing products, assembling products, processing products into their components, providing staging locations to support other steps or operations, etc.

工作站可以包括,例如,从入站运输工具移动货品的位置、对产品进行各种操作的位置(如组件装配、涂装、分类、包装、拆卸、返工产品、修复包装、放回已取消订单中的产品、拒收返回的产品、处置产品)、和向出站运输工具移动产品的位置、具有制冷功能的位置、装配组件或物品的位置、用于暂存或预取产品的位置、维修和维护机器人的位置、给机器人充电的位置、工人拣选将放入容器中的产品的位置、工人拣选将从容器中取出的产品以履行订单的位置、袋子被放入容器中的位置等。Workstations may include, for example, locations where goods are moved from inbound transport vehicles, locations where various operations are performed on products (such as component assembly, painting, sorting, packaging, disassembly, reworking products, repairing packaging, returning products from canceled orders, rejecting returned products, and disposing of products), and locations where products are moved to outbound transport vehicles, locations with refrigeration capabilities, locations for assembling components or items, locations for temporary storage or pre-retrieval of products, locations for repairing and maintaining robots, locations for charging robots, locations where workers pick products to be placed in containers, locations where workers pick products to be taken out of containers to fulfill orders, locations where bags are placed in containers, etc.

如果货品/产品被返回至蜂巢,所述系统可以支持和/或控制取回所述产品的过程、返工所述产品,和/或如果被拒收处置所述产品。在一些实施例中,所述情境可以包括在工作站处理所述已被返回的容器(配送的手提袋或其他物品)以确定其是否可以被接受返回至系统中,以确定其是否需要返工/重新包装,和/或所述产品是否应该被处置(如易腐产品已过期)。If goods/products are returned to the hive, the system can support and/or control the process of retrieving the product, reworking the product, and/or disposing of the product if rejected. In some embodiments, the scenario can include processing the returned container (distribution tote or other item) at a workstation to determine whether it can be accepted back into the system, to determine whether it requires reworking/repackaging, and/or whether the product should be disposed of (e.g., if a perishable product has expired).

工作站可以有一个或多个工人或机器人来执行各种任务,如拣选货品以履行订单。A workstation can have one or more workers or robots performing various tasks, such as picking items to fulfill orders.

在一些实施例中,工作站还可以是具有传送带、冷冻库、采用各种工具技术和/或操作、涂装、紧固、维修、冻结、加热、暴露于化学物质、冷冻、过滤、装配、拆卸、分类、包装、扫描、测试、运输、存储或处理货品和容器等其他技术的站点。In some embodiments, a workstation may also be a station having conveyor belts, freezers, various tooling techniques, and/or other techniques for operating, painting, fastening, repairing, freezing, heating, exposing to chemicals, freezing, filtering, assembling, disassembling, sorting, packaging, scanning, testing, transporting, storing, or handling goods and containers.

所述工作站在设施中可以有其自己的通路,与所述设施共享通路等。所述工作站在设施中也可以有各种输入和输出通路或其他类型的入口/出口点。The workstation may have its own access pathways within the facility, share access pathways with the facility, etc. The workstation may also have various input and output pathways or other types of entry/exit points within the facility.

在一些实施例中,所述工作站与一个或多个仓库管理系统通信以提供与工作站、工作流程、所需容器、问题相关的资料和数据,以及与存放或操作的产品的状态相关的资料和数据(如被装配在一起的子部件)等。In some embodiments, the workstation communicates with one or more warehouse management systems to provide information and data related to the workstation, workflow, required containers, problems, and information and data related to the status of stored or operated products (such as subcomponents being assembled together), etc.

从客户处收到涉及存储与取出系统中多种货品的订单后,全自动化或半自动化容器处理机可以从以网格、货架或其它有序排列的存储容器中取出包含相应货品的存储容器,并将其配送至一个或多个工作站。After receiving an order from a customer for multiple items in a storage and retrieval system, a fully automated or semi-automated container handling machine can retrieve storage containers containing the corresponding items from storage containers arranged in a grid, shelf or other orderly manner and deliver them to one or more workstations.

在工作站,可将货品从存储容器中取出,并在拣选入配送容器之前放入中间存放设备中。At the workstation, items are removed from storage containers and placed in intermediate storage before being picked into delivery containers.

如本说明书所述,分布容器以使可能是某些工作站的输入容器临近那些工作站放置可能是有利的。As described herein, it may be advantageous to distribute the containers so that input containers for certain workstations may be placed adjacent to those workstations.

从容器中拣选货品可由人工拣选机手动完成,或在各种机械或机器人元件的辅助下以半自动化或全自动化方式执行。Picking items from containers can be done manually by human pickers, or performed semi-automatically or fully automatically with the assistance of various mechanical or robotic elements.

如果单独的容器被分层的垂直堆叠,存取不位于顶层的容器需要另一组操作来移动存放在需要的容器上层中的容器,然后才能存取需要的容器。例如,如果需要的容器位于顶层下面一层,在存取需要的容器之前,可能需要将位于顶层的容器移动到另一位置。如本说明书所述,分布容器以使存放有更大需求的货品的容器偏向于被放在更容易存取的位置可能是有利的。在一些实施例中,优化模块为待放置的这些容器提供最佳位置。If individual containers are stacked vertically in layers, accessing a container not located on the top layer requires another set of operations to move containers stored above the desired container before accessing the desired container. For example, if the desired container is located one layer below the top layer, the top container may need to be moved to another location before accessing the desired container. As described herein, it may be advantageous to distribute the containers so that containers storing more in-demand items are more easily accessible. In some embodiments, an optimization module provides optimal locations for these containers to be placed.

在适于处理多种货品的典型的商品拣选操作中,如食品杂货订单处理系统,有时发现在履行一个或多个订单期间,具有各种大小、形状、重量和其他特征的各种货品必须被处理或以其他方式被安放,且这些货品可能需要围绕设施被移动到各种站点进行各种操作。根据所述设施的大小、组织和布局,这些货品的移动可以被有利地优化以使得这些货品被高效地移动,避免碰撞并解决依赖性(如以适当的顺序拣选和卸载物品)。In a typical merchandise picking operation adapted to handle a wide variety of items, such as a grocery order processing system, it is sometimes found that during the fulfillment of one or more orders, a variety of items having various sizes, shapes, weights, and other characteristics must be handled or otherwise positioned, and these items may need to be moved to various stations around the facility for various operations. Depending on the size, organization, and layout of the facility, the movement of these items can be advantageously optimized so that the items are moved efficiently, collisions are avoided, and dependencies (e.g., picking and unloading items in the proper sequence) are resolved.

这些工作组中涉及的各种行动,如将货品放入不同类型的容器中、将容器存储在蜂巢中,和本说明书所述的分类/配送可能会导致所述容器的各种移动,包括在所述蜂巢中在不同位置放置容器。这些行动可以包括蜂巢入站/出站活动(如将货品入库和出库),且还可以包括相关的分类/配送系统,如将产品从车辆运送下来进行存储/配送的管理,以及将产品运送到车辆上以履行订单。The various actions involved in these workgroups, such as placing goods into different types of containers, storing containers in the hive, and the sorting/delivery described in this specification, may result in various movements of the containers, including placing containers at different locations within the hive. These actions may include hive inbound/outbound activities (such as moving goods into and out of storage), and may also include related sorting/delivery systems, such as managing the movement of products from vehicles for storage/delivery and the movement of products onto vehicles for order fulfillment.

在本发明其他实施例中,所述工作站可以用来提供其他类型的货品处理或容器处理,如对货品进行处理(如装配、拆卸、修改、分类、烘干、冻结、测试、化学暴露、物理操作、紧固、维修、印刷、涂装、剪切、包装、存储、加工、焊接、回火、再加工)的工作站。这些工作站可以是手动、半自动化或自动化的且具有与其操作或性能相关联的各种参数,如工作量、所需输入、所需输出、负载平衡、所需延迟(如烘干时间)等。In other embodiments of the present invention, the workstations can be used to provide other types of product or container handling, such as workstations that perform product processing (e.g., assembly, disassembly, modification, sorting, drying, freezing, testing, chemical exposure, physical manipulation, fastening, repair, printing, painting, cutting, packaging, storage, machining, welding, tempering, and reprocessing). These workstations can be manual, semi-automated, or automated and have various parameters associated with their operation or performance, such as workload, required input, required output, load balancing, and required delays (e.g., drying time).

所述机器人的各种移动、容器/物品的放置以及控制选择何时从容器中取出产品可以由一个或多个控制系统控制和优化。该控制包括实施各种策略,包括,例如:The various movements of the robot, the placement of containers/items, and the control of when to remove products from the containers can be controlled and optimized by one or more control systems. This control includes implementing various strategies, including, for example:

集中管理一个或多个机器人;Centrally manage one or more robots;

管理机器人不仅取出容器进行处理,也预取容器至更方便的位置,例如临近工作站或工作站中的位置;The management robot not only retrieves containers for processing, but also pre-takes containers to a more convenient location, such as a location adjacent to or within a workstation;

通过应用一个或多个寻径算法优化路径(如分支界限法);Optimizing paths by applying one or more path-finding algorithms (e.g., branch-and-bound);

通过将一个或多个启发式技术应用到一个或多个寻径算法优化路径(如预计最低成本,在本发明的一个实施例中,当被看作一个整体时,成本可以根据到目标的总时间和用于在网格上缓解拥塞产生的总累积热量的函数进行计算)。Optimizing paths (e.g., estimated minimum cost) by applying one or more heuristic techniques to one or more routing algorithms. In one embodiment of the invention, the cost, when viewed as a whole, may be calculated as a function of the total time to the destination and the total cumulative heat generated to alleviate congestion on the grid.

提前安排/预处理移动路径;Arrange/pre-process movement routes in advance;

进行模拟以确定安排/预处理移动路径的最优深度分析;Conduct simulations to determine optimal depth analysis for scheduling/pre-processing movement paths;

应用机器学习技术来优化应用于一个或多个算法的成本函数的指数和系数。在一些实施例中,这可以包括寻径算法、容器放置算法和工作站负载平衡算法;Applying machine learning techniques to optimize exponents and coefficients of cost functions applied to one or more algorithms. In some embodiments, this may include a routing algorithm, a container placement algorithm, and a workstation load balancing algorithm;

即时机器人路径冲突解决系统;Instant robot path conflict resolution system;

将机器人群体细分为单独的控制组,每个控制组包含一个或多个机器人;Subdivide the robot population into separate control groups, each containing one or more robots;

通过各种工具优化容器位置,如运用使用加权成本系数的评分选择算法;Optimizing container locations through various tools, such as using a scoring selection algorithm that uses weighted cost coefficients;

优化工作站工作分配;Optimize workstation work distribution;

预处理任务和行动以安排进一步的任务和行动。Preprocess tasks and actions to schedule further tasks and actions.

在一个或多个机器人被用于全自动化或半自动化取出、存储和移动物品的示例环境中,所述仓库可能首先必须决定如何在不同机器人或各组机器人之间分配容器负载。In an example environment where one or more robots are used for fully or semi-automated retrieval, storage, and movement of items, the warehouse may first have to decide how to distribute container loads among different robots or groups of robots.

例如,各组机器人与拣选站之间的任务分配可以根据仓库的特定布局、货品的放置、货物的特定特征(如货品到期或可能有危险)以及工作流程排序进行优化。For example, the distribution of tasks between groups of robots and picking stations can be optimized based on the specific layout of the warehouse, the placement of the goods, the specific characteristics of the goods (such as expiration or potential dangers), and workflow sequencing.

例如,可能需要有一种系统能智能地比较机器人到其目的地的潜在路径、尤其考虑该路径的潜在拥塞、完成操作所需时间、碰撞的可能性、特定机器人的库存中的物品、特定机器人的预测未来操作和特征(如电池电量、服务问题)。For example, it may be desirable to have a system that intelligently compares potential paths for a robot to its destination, taking into account, among other things, potential congestion along that path, the time required to complete the operation, the likelihood of a collision, the items in a particular robot's inventory, the predicted future operations, and characteristics of the particular robot (e.g., battery level, service issues).

可能进一步需要有一种系统能智能地适应所述”蜂巢”中各种条件,如可能阻碍或阻塞机器人路径的空闲机器人、障碍物或特定机器人正试图穿过的其他机器人预订路径。It may further be desirable to have a system that can intelligently adapt to various conditions in the "hive," such as idle robots that may obstruct or block a robot's path, obstacles, or other robots' reserved paths that a particular robot is attempting to traverse.

可能进一步需要有一种系统能基于一种算法智能地放置容器,这种算法能使所述系统偏向于有助于高效存取货品的容器分配(如将存有高需求SKUs货品的容器放在顶层附近和其工作站附近方便存取)。It may be further desirable to have a system that intelligently places containers based on an algorithm that biases the system toward container allocation that facilitates efficient access to items (e.g., placing containers containing high-demand SKUs near the top floor and near their workstations for easy access).

这些都为非限制性示例,可以使用任何优化方法、安排或考量。These are non-limiting examples and any optimization method, arrangement, or consideration may be used.

附图2为根据本发明一些实施例的全自动化与半自动化货品存储与取回示例系统的示意图。附图2为高水平制作,展示了一个示例性实施例。系统200的各种实施例可能包含更多或更少的组件,且附图2仅为示例。FIG2 is a schematic diagram of an example system for fully automated and semi-automated storage and retrieval of goods according to some embodiments of the present invention. FIG2 is a high-level diagram illustrating an example embodiment. Various embodiments of system 200 may include more or fewer components, and FIG2 is merely an example.

所述系统200包含机器人控制系统202、维护/监控系统204、基站控制器206、一个或多个基站208a和208b、一个或多个机器人210a,210b和210c,以及一个或多个充电站230。尽管只说明了两个基站208a和208b,以及三个机器人210a,210b和210c,但是应理解在所述系统的其他实施例中可能有更多或更少的机器人和基站。The system 200 includes a robot control system 202, a maintenance/monitoring system 204, a base station controller 206, one or more base stations 208a and 208b, one or more robots 210a, 210b, and 210c, and one or more charging stations 230. Although only two base stations 208a and 208b and three robots 210a, 210b, and 210c are illustrated, it should be understood that there may be more or fewer robots and base stations in other embodiments of the system.

可能有一个或多个仓库管理系统(WMS)232、订单管理系统234以及一个或多个信息管理系统236。There may be one or more warehouse management systems (WMS) 232 , order management systems 234 , and one or more information management systems 236 .

所述仓库管理系统232可以包含以下信息:如订单所需货品、仓库中库存单位编号、预期/预测订单、订单中遗漏的货品,在订单将被装载在运输机上时,货品到期日期、每个容器中的货品名称、货品是否易碎或体积庞大等。The warehouse management system 232 may include information such as the items required for the order, the inventory unit number in the warehouse, expected/forecasted orders, items missing from the order, the expiration date of the items when the order is to be loaded onto the conveyor, the name of the items in each container, whether the items are fragile or bulky, etc.

在一些实施例中,所述仓库管理系统232可以与所述工作站通信且还可包含与所述工作站相关的信息,如所述工作站状态、要求所述工作站在特定时间接收的产品名称和/或容器名称、将要求所述工作站在特定时间已经移动到另一位置的产品名称和/或容器名称、在所述工作站进行的预期操作工作流程、当前等待将容器放入工作站的机器人数量等。In some embodiments, the warehouse management system 232 can communicate with the workstation and may also include information related to the workstation, such as the status of the workstation, the product name and/or container name that the workstation is required to receive at a specific time, the product name and/or container name that the workstation will be required to move to another location at a specific time, the expected operational workflow to be performed at the workstation, the number of robots currently waiting to place containers at the workstation, etc.

所述机器人控制系统202可以被配置为控制机器人的导航/选择路线,包括但不限于从一个位置移动到另一位置、避免碰撞、优化移动路径、控制将执行的活动等。所述机器人控制系统202还可以使用一个或多个服务器来实现,每个服务器包含基于存储在一个或多个非暂时性计算机可读存储介质上的指令被配置的一个或多个处理器。所述机器人控制系统202可以被配置为向一个或多个机器人发送控制信息、从一个或多个机器人接收一个或多个更新,以及使用实时或近实时协议与一个或多个机器人通信。所述机器人控制系统202可以从一个或多个基站208a和208b接收表示机器人位置和可用性的信息。所述机器人控制系统202可以被配置为记录可用的机器人数量、一个或多个机器人的状态、一个或多个机器人的位置和/或其当前的指令设置。所述机器人控制系统202还可以被配置为处理控制信息和/或向一个或多个机器人发送控制信息以预测未来的移动、潜在地降低处理器负荷,以及主动管理针对通信链路的通信负载。考虑到所述机器人控制系统202在确定最优通路、计算最佳容器位置和/或确定预订和/或间隙中使用的复杂算法,这种实施方式可能是有利的。The robot control system 202 can be configured to control the navigation/routing of the robots, including, but not limited to, moving from one location to another, avoiding collisions, optimizing movement paths, controlling actions to be performed, and the like. The robot control system 202 can also be implemented using one or more servers, each server comprising one or more processors configured based on instructions stored on one or more non-transitory computer-readable storage media. The robot control system 202 can be configured to send control information to one or more robots, receive one or more updates from one or more robots, and communicate with one or more robots using real-time or near-real-time protocols. The robot control system 202 can receive information indicating the location and availability of robots from one or more base stations 208a and 208b. The robot control system 202 can be configured to record the number of available robots, the status of one or more robots, the location of one or more robots, and/or their current command settings. The robot control system 202 can also be configured to process and/or send control information to one or more robots to predict future movements, potentially reduce processor load, and proactively manage communication load on communication links. This embodiment can be advantageous given the complex algorithms used by the robot control system 202 to determine optimal pathways, calculate optimal container locations, and/or determine reservations and/or slots.

在一些实施例中,所述服务器可以利用“云计算机”类型的平台进行分布式计算。基于云的实施方式可以提供一个或多个优势,包括:公开性、灵活性和可扩展性;可集中管理;可靠性;可伸缩性;被优化用以计算资源;具有聚合很多用户信息的能力;连接很多用户并查找匹配的感兴趣的子组的能力。尽管本发明的实施例和实施方式可能在有关使用云来实现系统平台的各方面在特定非限制性示例中进行了讨论,但是可以使用本地服务器、单个远程服务器、软件即服务平台或任何其他计算设备来代替云。In some embodiments, the server may utilize a "cloud computer" type platform for distributed computing. Cloud-based implementations may provide one or more advantages, including: openness, flexibility, and scalability; centralized management; reliability; scalability; optimized use of computing resources; the ability to aggregate information from many users; and the ability to connect to many users and find matching subgroups of interest. While embodiments and implementations of the present invention may be discussed in the context of specific, non-limiting examples using the cloud to implement various aspects of the system platform, a local server, a single remote server, a software-as-a-service platform, or any other computing device may be used in place of the cloud.

在一些实施例中,移动优化模块可以使用一个或多个控制组将机器人分成一个或多个组。对大型网格使用控制组可以提供某些优势,如每当实时计算在控制异常后不能跟上重新计划时而维持对一个非常大的网格的操作的能力,如当(1)无线通信链路丢弃比计划中允许的更多顺序包;(2)一个或多个机器人故障;(3)一个或多个机器人在一定的性能容差范围外操作。In some embodiments, the mobility optimization module can use one or more control groups to divide the robots into one or more groups. Using control groups for large grids can provide certain advantages, such as the ability to maintain operation of a very large grid whenever real-time computation cannot keep up with replanning after a control anomaly, such as when (1) the wireless communication link drops more sequential packets than allowed in the plan; (2) one or more robots fail; or (3) one or more robots operate outside of a certain performance tolerance.

控制停止消息可以广播给特定“控制组”中的机器人;与发送单独消息相反,广播消息的潜在益处可以包括通过使用多个传输时隙和潜在更高的信噪比来改善通信。Control stop messages can be broadcast to robots in a specific "control group"; potential benefits of broadcasting messages, as opposed to sending individual messages, can include improved communication through the use of multiple transmission slots and potentially higher signal-to-noise ratios.

在一些实施例中,所述机器人控制系统202可以被配置为在机器人穿过所述网格时动态地将其分配到不同的“控制区域”。In some embodiments, the robot control system 202 may be configured to dynamically assign robots to different "control zones" as they traverse the grid.

所述维护/监控系统(MMS)204可以被配置为提供监控功能,包括从一个或多个机器人或一个或多个基站接收警报,建立与查询机器人的连接。所述MMS 204还可以提供用于配置监控功能的接口。所述MMS 204可以与所述机器人控制系统202互动以指示何时召回某些机器人。The maintenance/monitoring system (MMS) 204 can be configured to provide monitoring functions, including receiving alerts from one or more robots or one or more base stations and establishing connections with querying robots. The MMS 204 can also provide an interface for configuring monitoring functions. The MMS 204 can interact with the robot control system 202 to indicate when certain robots should be recalled.

所述基站控制器206可以存储主路由信息以确定机器人、基站和网格的位置。在一些实施例中,每个仓库可能有一个基站控制器206,但是在本发明其他实施例中,可能有数个基站控制器。所述基站控制器206可以被设计为提供高可用性。所述基站控制器可以被配置为管理所述一个或多个基站208a和208b的动态频率选择和频率分配。The base station controller 206 can store master routing information to determine the location of robots, base stations, and the grid. In some embodiments, there may be one base station controller 206 per warehouse, while in other embodiments of the present invention, there may be multiple base station controllers. The base station controller 206 can be designed to provide high availability. The base station controller can be configured to manage dynamic frequency selection and frequency allocation for the one or more base stations 208a and 208b.

所述基站208a和208b可以被组织为基站池,所述基站池然后可以被配置为活动模式、待机模式或监控所述系统。消息可以通过各种通信工具被路由给机器人或从机器人路由回去。所述通信工具可以是任何通信工具,在一些实施例中,所述通信工具可以是无线电频率链路,如那些满足无线标准802.11的链路。所述基站208a和208b还可以包括处理单元212a,212b、数字信号处理器214a,214b,以及无线电设备216a,216b。The base stations 208a and 208b can be organized into a base station pool, which can then be configured in active mode, standby mode, or to monitor the system. Messages can be routed to and from the robot via various communication tools. The communication tool can be any communication tool, and in some embodiments, the communication tool can be a radio frequency link, such as those that meet the wireless standard 802.11. The base stations 208a and 208b can also include processing units 212a, 212b, digital signal processors 214a, 214b, and radio devices 216a, 216b.

所述一个或多个机器人210a,210b和210c可以被配置为围绕所述网格移动并执行操作。操作可以包括从一个堆垛向另一个堆垛移动容器、去充电站充电等。所述一个或多个机器人可以被分配以与所述一个或多个基站208a和208b通信。The one or more robots 210a, 210b, and 210c can be configured to move around the grid and perform operations. Operations can include moving a container from one stack to another, charging at a charging station, etc. The one or more robots can be assigned to communicate with the one or more base stations 208a and 208b.

所述一个或多个机器人210a,210b和210c可以不必全部都是同一种机器人。可以有具有各种形状、设计和用途的不同的机器人,例如,可能有占用面积为单个网格位置、卷扬容器进行内部装载的机器人、悬臂式机器人、桥接机器人、回收机器人等。The one or more robots 210a, 210b, and 210c do not all need to be the same type of robot. There may be different robots with various shapes, designs, and uses. For example, there may be robots that occupy a single grid position, robots that hoist containers for internal loading, cantilever robots, bridging robots, and retrieval robots.

在一些实施例中,所述一个或多个机器人210a,210b和210c具有可以被用来夹持容器将其从所述网格上的一个位置移动到另一个位置的卷扬机。In some embodiments, the one or more robots 210a, 210b, and 210c have a winch that can be used to grip a container and move it from one location on the grid to another.

所述机器人210a,210b和210c可以分别具有无线电设备218a,218b,218c、数字信号处理器220a,220b,220c、处理器222a,222b,222c、实时控制器224a,224b,224c、电池226a,226b,226c,以及发动机、传感器、连接器等228a,22bb,228c。The robots 210a, 210b and 210c may respectively have radio devices 218a, 218b, 218c, digital signal processors 220a, 220b, 220c, processors 222a, 222b, 222c, real-time controllers 224a, 224b, 224c, batteries 226a, 226b, 226c, and motors, sensors, connectors, etc. 228a, 22bb, 228c.

所述一个或多个充电站230可以被配置为提供电力以为所述一个或多个机器人210a,210b和210c上的电池充电。所述一个或多个充电站230还可以被配置为提供高速、有线数据接入至所述一个或多个机器人,且可以在所述网格周围放置几个充电站以供所述一个或多个机器人210a,210b和210c使用。The one or more charging stations 230 can be configured to provide power to charge batteries on the one or more robots 210a, 210b, and 210c. The one or more charging stations 230 can also be configured to provide high-speed, wired data access to the one or more robots, and several charging stations can be placed around the grid for use by the one or more robots 210a, 210b, and 210c.

附图3为根据本发明一些实施例的所述控制系统202的框图。该框图用以更详细地标识控制系统202的一些部件,但是可能不需要每个标识的模块或接口,,在各种实施例中,可能包括更多或更少的模块。3 is a block diagram of the control system 202 according to some embodiments of the present invention. This block diagram is used to identify some components of the control system 202 in more detail, but not every identified module or interface may be required. In various embodiments, more or fewer modules may be included.

所述控制系统202可以被配置为评估如何改进工作分配、产品移动和产品放置。根据本发明的各种实施例,优化可以实时运行,而其他的则周期性地运行,例如,在停机时间或低活跃时间期间。The control system 202 can be configured to evaluate how to improve work allocation, product movement, and product placement. According to various embodiments of the invention, optimizations can be run in real time, while others are run periodically, for example, during downtime or low activity times.

所述控制系统202可以被配置为根据各种业务规则、指示优先级的应用来安排何时发生具体类型的移动且其按照什么顺序发生等。所述控制系统202被配置为如在相对产品放置作决定时确定入站和出站因素。例如,所述控制系统202可以在产品供应的预计配送位置和产品的预计出站配送位置运行。所述控制系统可以作出决定且可以通过自动系统发送执行信号,和/或可以有效地向人力(拣选工、装载工等)分配任务。The control system 202 can be configured to schedule when specific types of movements occur and in what order, based on various business rules, applications that indicate priorities, and the like. The control system 202 can be configured to factor in inbound and outbound factors when making decisions regarding product placement. For example, the control system 202 can operate at the projected delivery location of a product supply and the projected outbound delivery location of the product. The control system can make decisions and send execution signals via automated systems and/or can efficiently assign tasks to human operators (pickers, loaders, etc.).

所述控制系统202可以在履行订单或出于任何其他目的时确定一个或多个机器人或一个或多个拣选工应该执行一个或多个行动。所述一个或多个机器人的行动可能是要求所述机器人穿过所述网格和/或执行行动,如取出容器。The control system 202 can determine that one or more robots or one or more pickers should perform one or more actions when fulfilling an order or for any other purpose. The actions of the one or more robots may require the robots to traverse the grid and/or perform actions, such as removing a container.

所述控制系统202可以被配置为在考虑到一组约束和条件的情况下分析所述网格中的各种通路以确定相对其他通路可能优选的一个或多个路径。这些优选的通路可以被一次性地、周期性地和/或动态地提供给所述机器人以控制其在网格中的移动。The control system 202 can be configured to analyze various paths in the grid to determine one or more paths that may be preferred over other paths, taking into account a set of constraints and conditions. These preferred paths can be provided to the robot once, periodically, and/or dynamically to control its movement in the grid.

一条路径可能因为很多原因而成为优选的,包括但不限于:运输距离较短、机器人预期平均速度较快、遇到交通(拥堵)的可能性较低、所需总时间较少、碰撞的可能性较低、使用的电力较少、容易切换到替换通路、避免障碍物的能力(如坏机器人、掉落的货品、起伏不平的路径、部分路径正在维修)。A path may be preferred for many reasons, including but not limited to: shorter transport distance, higher expected average robot speed, lower likelihood of encountering traffic (congestion), lower total time required, lower likelihood of collisions, lower power usage, ease of switching to alternate paths, and ability to avoid obstacles (e.g., broken robots, fallen items, bumpy paths, parts of the path being repaired).

所述控制系统202可以使用各种算法来辨别、设计和/或控制其被连接到的各个机器人的移动。在一些实施例中,所述控制系统使用一个或多个服务器来实现,每个服务器包含被配置为执行存储在一个或多个非暂时性计算机可读介质上的一组或多组指令的一个或多个处理器。计算机实现的潜在优势包括但不限于可扩展性、处理大量进程和计算复杂性的能力、加快的反应速度、快速作出决定的能力、进行复杂统计分析的能力、进行机器学习的能力等。The control system 202 may use various algorithms to identify, design, and/or control the movements of the various robots to which it is connected. In some embodiments, the control system is implemented using one or more servers, each server comprising one or more processors configured to execute one or more sets of instructions stored on one or more non-transitory computer-readable media. Potential advantages of computer implementation include, but are not limited to, scalability, the ability to handle a large number of processes and computational complexity, accelerated response time, the ability to make decisions quickly, the ability to perform complex statistical analysis, the ability to perform machine learning, and the like.

将进一步在说明书中对这些算法进行深入讨论,而且,根据本发明的一些实施例,提供了寻径算法和启发式方法的示例。These algorithms are discussed in depth further in the specification, and examples of path-finding algorithms and heuristic methods are provided according to some embodiments of the present invention.

约束条件可能包括所述网格当前的布局、机器人的物理特性(例如最大速度、转弯半径、转弯速度、最大加速度、最大减速度)、拥塞(例如某一路径或交叉点处的预期交通负荷)、已建立的“高速公路”、机器人运输的物品的特性(例如大、笨重或易碎物品)、机器人状态和环境(包括电池状况、损坏、维护问题)以及站状态(例如目的站已满或暂时受阻)。Constraints may include the current layout of the grid, the physical characteristics of the robot (e.g., maximum speed, turning radius, turning speed, maximum acceleration, maximum deceleration), congestion (e.g., expected traffic load on a path or intersection), established "highways", characteristics of the items being transported by the robot (e.g., large, bulky, or fragile items), the state of the robot and the environment (including battery condition, damage, maintenance issues), and the state of the station (e.g., the destination station is full or temporarily blocked).

所述控制系统202可以是实时或近实时控制系统(控制各种单元的行动,所述各种单元包括机器人和可选地相关联的其他单元,包括如传送带、拣选工、人力等)。所述控制系统202可以包含一个或多个模块。所述一个或多个模块可以包括控制接口302、移动优化模块304、产品放置优化模块306、机器人物理模型模块308、业务规则模块310、间隙模块312、预订模块314、命令生成与调度程序模块316、机器人通信模块318、充电管理器模块320,以及警报/通知模块322。这些模块可以通过各种方式实现,在一些实施例中,其作为被存储为由一个或多个处理器执行的一个或多个计算机可读介质上的指令的应用被实现。The control system 202 may be a real-time or near-real-time control system (controlling the actions of various units, including the robot and optionally other associated units, such as conveyors, pickers, and human labor). The control system 202 may include one or more modules. These modules may include a control interface 302, a movement optimization module 304, a product placement optimization module 306, a robot physical model module 308, a business rules module 310, a gap module 312, a reservation module 314, a command generation and scheduling program module 316, a robot communication module 318, a charging manager module 320, and an alert/notification module 322. These modules may be implemented in various ways; in some embodiments, they may be implemented as applications stored as instructions on one or more computer-readable media for execution by one or more processors.

根据本发明一些实施例,所述控制系统202可以实时或近实时控制工作分配、工作站操作、机器人移动和/或容器放置。工作分配、容器移动和放置可以通过与仓库内的活动相关的行动来促成,如履行订单、容器重新分配到更容易存取的位置、预计的调度序列、维护操作、工作站操作、未来订单的预期等。According to some embodiments of the present invention, the control system 202 can control work allocation, workstation operation, robot movement, and/or container placement in real time or near real time. Work allocation, container movement, and placement can be facilitated by actions related to activities within the warehouse, such as fulfilling orders, reallocating containers to more accessible locations, anticipated scheduling sequences, maintenance operations, workstation operations, anticipation of future orders, etc.

所述控制接口302为各种外部系统提供接口以在所述控制系统202中提供操作说明和信息。在各种实施例中,所述控制接口302可以提供人类用户接口和/或与各种机器和系统相连接的接口。The control interface 302 provides an interface for various external systems to provide operating instructions and information to the control system 202. In various embodiments, the control interface 302 may provide a human user interface and/or an interface with various machines and systems.

人类接口可以包括,例如键盘、视觉显示器、命令提示符等。The human interface may include, for example, a keyboard, a visual display, a command prompt, etc.

机器和系统接口可以包括使用不同规范()实现的应用程序编程接口(APIs),所述规范包括但不限于简单对象访问协议(SOAP)和具象状态传输(REST)服务,和/或以各种编程语言编写的接口。所述控制接口302可以与各种外部数据库互动,包括但不限于各种仓库管理系统和订单管理系统,且还可以接收来自各个机器人的信息(如机器人出故障,机器人需要充电、机器人在去目的地的途中、机器人遇到意料之外的阻碍等)。The machine and system interfaces may include application programming interfaces (APIs) implemented using various specifications, including but not limited to Simple Object Access Protocol (SOAP) and Representational State Transfer (REST) services, and/or interfaces written in various programming languages. The control interface 302 may interact with various external databases, including but not limited to various warehouse management systems and order management systems, and may also receive information from various robots (e.g., a robot is malfunctioning, a robot needs to be recharged, a robot is en route to its destination, a robot has encountered an unexpected obstacle, etc.).

所述控制接口302还可以从所述仓库管理系统(WMS)接收有关机器人和容器的控制和移动的信息和向其传输此类信息。此类信息可以包括但不限于网格位置及其大小、子网格的建立、库存和订单主记录、工作站位置、工作站相关参数,和/或分配序列(如订单需要何时发出)。执行行动、容器被带到工作站、完成工作站操作、配送装载完成等之后,所述控制接口302可以向所述仓库管理系统提供更新。在一些实施例中,所述仓库管理系统和所述控制接口302之间有确认过程。对所述仓库管理系统的这些更新可以包括,例如更新与特定库存单位编号相关的库存等级、更新容器位置、更新容器中物品的位置、更新设施的条件等。The control interface 302 can also receive information from and transmit information to the warehouse management system (WMS) regarding the control and movement of robots and containers. This information can include, but is not limited to, grid locations and sizes, subgrid setup, inventory and order master records, workstation locations, workstation-related parameters, and/or dispatch sequences (e.g., when orders need to be dispatched). After an action is performed, a container is brought to a workstation, workstation operations are completed, or a delivery load is complete, the control interface 302 can provide updates to the WMS. In some embodiments, a confirmation process occurs between the WMS and the control interface 302. These updates to the WMS can include, for example, updating inventory levels associated with a specific stock keeping unit number, updating container locations, updating the locations of items within a container, updating facility conditions, and the like.

在所述系统的一些实施例中,除了所述仓库管理系统,还可以有包含和提供有关进入所述系统的各种订单、定单履行、工作站操作、即将到来的订单和预测订单的信息的单独的订单系统。In some embodiments of the system, in addition to the warehouse management system, there may be a separate order system that contains and provides information about various orders entering the system, order fulfillment, workstation operations, upcoming orders, and forecasted orders.

所述控制接口302还可以接收命令以停止特定机器人、一组机器人或所有机器人的操作(如遇到故障、紧急情况等)。The control interface 302 may also receive commands to stop the operation of a specific robot, a group of robots, or all robots (eg, in the event of a malfunction, emergency, etc.).

所述移动优化模块304可以被配置为通过应用各种算法来确定从一个位置到另一个位置的潜在的有利路线来优化机器人移动。潜在有利点可以包括运输距离较短、遇到拥堵的可能性较低、所需时间较短、电力消耗较低、与其他机器人协作、绕过障碍物,如坏机器人或轨道不平区域,以及与各种工作站的操作配合等。The movement optimization module 304 can be configured to optimize robot movement by applying various algorithms to determine potentially advantageous routes from one location to another. Potential advantages may include shorter transport distances, lower likelihood of encountering congestion, shorter travel time, lower power consumption, collaboration with other robots, bypassing obstacles such as broken robots or uneven track areas, and coordination with various workstation operators.

所述移动优化模块304可以被配置为提供工作分配、计划和安排功能,包括开发一组任务然后选择哪个拣选站或机器人来执行哪个任务。例如,这可以基于机器人或拣选站所在地、机器人或拣选站的特定能力等。此外,确定履行特定订单所需的特定排列和特定行动组并为一个或多个机器人和/或一个或多个拣选站开发动作/任务。功能可以包括,尤其是将空容器运送到入站、将装载有货品的容器放置在仓库周围、将容器带到拣选站或其他区域、将容器从仓库中的一个位置移动到另一个位置等。The movement optimization module 304 can be configured to provide work allocation, planning, and scheduling functions, including developing a set of tasks and then selecting which picking station or robot to perform each task. For example, this can be based on the location of the robot or picking station, the specific capabilities of the robot or picking station, etc. In addition, the specific arrangement and specific action group required to fulfill a specific order are determined and actions/tasks are developed for one or more robots and/or one or more picking stations. Functionality can include, among other things, delivering empty containers to an inbound port, placing loaded containers around the warehouse, bringing containers to a picking station or other area, moving containers from one location to another in the warehouse, etc.

所述移动优化模块304可以被配置为与所述产品放置优化模块306互动以确定一组具有潜在优势的位置来放置物品。例如,考虑到含有特定库存单元编号货品的容器的需求频率高,所述产品放置优化模块306可以指出其应该被放置在更容易被取出的某个堆垛的某个位置。相反,如果含有特定库存单元编号货品的容器的需求频率低,产品可以被确定放置在不太容易存取的网格位置中较低的处。The movement optimization module 304 can be configured to interact with the product placement optimization module 306 to determine a set of potentially advantageous locations for placing items. For example, given that containers containing a particular SKU number are frequently requested, the product placement optimization module 306 can indicate that they should be placed in a certain location on a stack that is more easily accessible. Conversely, if containers containing a particular SKU number are infrequently requested, the product can be determined to be placed lower in a grid location that is less easily accessible.

在优化移动中,所述移动优化模块304可以被配置为考虑有关于移动和操作的性能这两方面的各种因素,如获取特定位置的预期所需时间、容器在堆垛中的深度、从堆垛中取出容器需花费的时间、将位于其之上的容器移动到其他位置必要的各种操作等。In optimizing movement, the movement optimization module 304 can be configured to consider various factors related to both movement and operation performance, such as the expected time required to obtain a specific location, the depth of the container in the stack, the time required to remove the container from the stack, the various operations necessary to move the container above it to another location, etc.

所述机器人物理模型模块308可以向所述移动优化模块304提供一组输入,该组输入可以根据各种因素传达有关机器人的移动的一组约束(如所述机器人当前正运输易碎物品时可以仅以最大速度的50%移动)。所述移动优化模块304可以协调箱子移入网格、移出网格,以及在网格内的移动。The robot physics model module 308 can provide a set of inputs to the movement optimization module 304, which can convey a set of constraints on the robot's movement based on various factors (e.g., the robot can only move at 50% of its maximum speed when it is currently transporting a fragile item). The movement optimization module 304 can coordinate the movement of boxes into, out of, and within the grid.

在一些实施例中,所述移动优化模块304在机器人运输进程中可以动态地重新计算优选路径以在条件和约束随时间推移而发生变化时潜在地确定一组更新的路径。In some embodiments, the movement optimization module 304 can dynamically recalculate the preferred path during the robot transport process to potentially determine an updated set of paths as conditions and constraints change over time.

在一些实施例中,所述网格可以由所述移动优化模块304进行预处理以潜在地增加处理速度和/或降低处理负荷。也可设想降低处理负荷的其他方法,如降低搜索的深度和宽度、将所述网格分为子网格、分散式处理、缓存未来路线、计算简化所述网格(如减少分析的节点数)、减少路径重新计算等。In some embodiments, the mesh may be pre-processed by the movement optimization module 304 to potentially increase processing speed and/or reduce processing load. Other methods of reducing processing load are also contemplated, such as reducing the depth and breadth of the search, dividing the mesh into sub-grids, decentralized processing, caching future routes, computationally simplifying the mesh (e.g., reducing the number of nodes analyzed), reducing path recalculations, etc.

在一些实施例中,所述移动优化模块304可以将网格划分为数个较小的子网格进行分析。这种划分可以降低对处理能力的需求,这在网格非常大的时候尤其有用,例如,1000x1000的网格可以被划分为100个100x100的网格且每个网格可被单独分析。这在所述系统尝试控制非常多数量的机器人或考虑很多条件的情况下尤其有用。In some embodiments, the movement optimization module 304 can divide the grid into several smaller sub-grids for analysis. This division can reduce the processing power required, which is particularly useful when the grid is very large. For example, a 1000x1000 grid can be divided into 100 100x100 grids, and each grid can be analyzed separately. This is particularly useful when the system is trying to control a large number of robots or consider many conditions.

所述移动优化模块304还可以与所述间隙模块312和所述预订模块314互动以确定导航所建议的路径是否会遇到涉及其他机器人的间隙和预订的问题,并确定可以降低遇到这些问题的可能性的通路。The movement optimization module 304 may also interact with the gap module 312 and the reservation module 314 to determine whether navigating the proposed path will encounter issues with gaps and reservations with other robots, and to identify pathways that may reduce the likelihood of encountering these issues.

如果需要的容器位于堆垛中的不同深度,要求所述移动优化模块304控制一个或多个机器人将容器从所述堆垛中移出从而存取需要的容器。所述移动优化模块304可以协调一个或多个机器人的移动以使所述一个或多个机器人合作将容器从所述堆垛中移出。If the required container is located at a different depth in the stack, the movement optimization module 304 is required to control one or more robots to move the container out of the stack in order to access the required container. The movement optimization module 304 can coordinate the movement of one or more robots so that the one or more robots cooperate to move the container out of the stack.

在一些实施例中,所述移动优化模块304可能不必要或甚至不需要将容器放回所述堆垛上,更确切地说,从所述堆垛移离的容器可能有由所述产品放置优化模块306确定的最佳位置且可能由所述一个或多个机器人移动到那里。这一实施例的潜在优势在于当容器没有放回其原位置而是放置在更优的位置时发现效率增加了。In some embodiments, the movement optimization module 304 may not necessarily or even require that the container be returned to the stack. Rather, the container removed from the stack may have an optimal location determined by the product placement optimization module 306 and may be moved there by the one or more robots. A potential advantage of this embodiment is that increased efficiency is observed when containers are not returned to their original location but are instead placed in a more optimal location.

在一些实施例中,所述间隙模块312、所述预订模块314和所述移动优化模块304作为路径冲突解决程序被一起使用,其中所述移动优化模块304开发路径,然后使用所述预订模块314预订所述路径,最后在机器人遇到潜在的冲突路径时所述间隙模块312提供即时方法来确定优先级。In some embodiments, the gap module 312, the reservation module 314, and the movement optimization module 304 are used together as a path conflict resolver, where the movement optimization module 304 develops the path, the path is then reserved using the reservation module 314, and finally the gap module 312 provides an instant method to determine priority when the robot encounters potential conflicting paths.

在一些实施例中,所述移动优化模块304被配置为考虑机器人尝试将容器带到已满的站的情况。在这种情况下,所述移动优化模块304被配置为指引所述机器人拿取容器到附近由机器人拿着,直到所述站可以接收所述容器。在所述站可以接受所述容器时,放下所述容器。在这些实施例中,被拿着的容器可以按优先级顺序被放下。In some embodiments, the movement optimization module 304 is configured to account for situations where a robot attempts to bring a container to a full station. In this case, the movement optimization module 304 is configured to direct the robot to bring the container to a nearby station, where the robot holds it until the station can accept it. When the station can accept the container, the robot drops it off. In these embodiments, the held containers can be dropped off in priority order.

在一些实施例中,如果所述被拿着的容器在到达其存放位置之前站变空了可以放下,所述移动优化模块304将重新计划以将所述容器直接放下不再拿着。In some embodiments, if the station where the held container is placed becomes empty before it reaches its storage location, the movement optimization module 304 will re-plan to place the container directly without holding it.

在一些实施例中,所述移动优化模块304还被配置以进行预取操作,其中在站需要容器之前,其先被移到该站的附近。然后再准备好在需要时被放下,这样就可以降低放下时间的不确定性。In some embodiments, the movement optimization module 304 is further configured to perform a pre-fetch operation, wherein a container is moved to the vicinity of a station before it is needed, and is then ready to be dropped off when needed, thereby reducing the uncertainty of the drop-off time.

在一些实施例中,所述系统可以被配置为计划所述机器人路径并建立遥远的将来的机器人路径预订以允许完成算法。In some embodiments, the system may be configured to plan the robot path and establish a reservation of robot paths far into the future to allow for completion of the algorithm.

在一些实施例中,所需预先计划的程度可通过模拟被计算出。In some embodiments, the degree of pre-planning required can be calculated through simulation.

所述模拟可以用于(在统计意义上)判断遥远的将来计划的效率增益和机器人由于各种原因如短期通信包丢失和/或机器人在允许的容差范围外运行,未能维持其计划而必须重新计划的较高概率的效率损失。The simulation can be used to determine (in a statistical sense) the efficiency gains of distant future plans and the efficiency losses that may occur if the robot fails to maintain its plan and must replan due to various reasons such as short-term communication packet loss and/or the robot operating outside of the allowed tolerance range.

所述产品放置优化模块306可以被配置为确定一组潜在有利的位置来放置含有特定货品的特定容器。所述产品放置优化模块306可以利用相关信息,如所述网格的布局、特定货品被需要的频率、未来订单、预测未来订单、工作站位置、充电站位置、特定区域和路径分支的拥堵程度,尤其是确定所述一组潜在有利的位置来放置包含特定货品的特定容器。The product placement optimization module 306 can be configured to determine a set of potentially favorable locations for placing a specific container containing a specific product. The product placement optimization module 306 can utilize relevant information, such as the layout of the grid, the frequency with which a specific product is needed, future orders, predicted future orders, workstation locations, charging station locations, and congestion levels in specific areas and path branches, to determine the set of potentially favorable locations for placing a specific container containing a specific product.

机器人可能被分配运输一个或多个容器的任务以满足一个或多个服务拣选站的需求,其每个容器可以包含一个或多个货品。每个容器可以具有与堆垛位置相关的索引编号以使特定容器可以被偏向放置在特定的堆垛位置。The robot may be assigned the task of transporting one or more containers to meet the needs of one or more service picking stations, each of which may contain one or more items. Each container may have an index number associated with a stacking location so that a specific container can be biased to be placed in a specific stacking location.

容器在堆垛中或相对网格布局的分布和放置可能有助于仓库的整体操作效率。The distribution and placement of containers in stacks or relative to a grid layout may contribute to the overall operational efficiency of the warehouse.

存在容器需要被放置在设施中某个位置的各种情况,且这些情况提供了重新评估和/或优化容器在设施中的位置分布的机会。There are various situations where containers need to be placed at a certain location in a facility, and these situations provide opportunities to re-evaluate and/or optimize the distribution of locations of containers in the facility.

存在可以表明一个位置比另一个位置更好或更差的各种考虑因素,包括但不限于到工作站的距离、区域中拥堵的程度、特定容器将会阻碍哪些容器、容器相对环境因素的逻辑分组(如包含易燃物品的容器可能需要特殊放置)、通过工作站智能预取位置。There are various considerations that may indicate one location is better or worse than another, including but not limited to distance to the workstation, the level of congestion in the area, which containers will be blocked by a particular container, logical grouping of containers relative to environmental factors (e.g., containers containing flammable items may require special placement), and intelligent pre-fetching of locations by workstations.

这些考虑因素可以由所述系统使用来对比一个位置和另一个位置,例如,通过使用加权算法或任何其他适合的方法。These considerations may be used by the system to compare one location to another, for example, by using a weighting algorithm or any other suitable approach.

例如,在新容器被放入设施中时、在容器被返回设施中时、在机器人移动一个或多个容器试图获取存储在堆垛深处的货品时、在货品被放入/取出容器时、在容器被标记已损坏时、在容器被标记为脏时等。For example, when new containers are placed into the facility, when containers are returned to the facility, when a robot moves one or more containers to try to access goods stored deep in a stack, when goods are placed in/out of a container, when a container is marked as damaged, when a container is marked as dirty, etc.

这种优化可以执行多次,例如,在一些实施例中,执行所述优化以便为必须被移动的每个容器确定新位置,如必须被取出的那些容器,以取出位于其下的特定容器。This optimization may be performed multiple times, for example, in some embodiments, the optimization is performed to determine a new position for each container that must be moved, such as those that must be removed to remove a particular container located thereunder.

例如,机器人移动和操作的的次数可以潜在地减少,如果频繁订购的货品和每个给定的库存单元编号的一定数量的货品被分布在仓库最容易存取的区域(如距离每个拣选站和/或容器堆垛顶部最近的位置)。For example, the number of robot movements and operations can potentially be reduced if frequently ordered items and a certain number of items per given stock keeping unit number are distributed in the most easily accessible areas of the warehouse (such as the locations closest to each picking station and/or the top of the container stack).

“活动窗口”被定义为处于活动状态且由所述系统确定的容器的订单价值的数量(服务工作站的库存)。所述产品放置优化模块306可以被配置为为容器指定分值,使整体蜂巢布局偏向活动的容器的顶层,储备库存位于下面。The "active window" is defined as the number of order values of containers that are active and determined by the system (inventory at the service station). The product placement optimization module 306 can be configured to assign scores to containers so that the overall honeycomb layout is biased toward active containers at the top, with reserve inventory located below.

这种计分系统可以由业务规则模块310确定,并基于如库存到期日期等信息来设定。除了其他信息之外,可以利用历史订单来计算容器的分值,且这种分值可以在库存单元编号的库存等级每次变化时被持续更新。所述计分系统可以被用以帮助影响容器位置以维持在设施中放置容器的最佳性。This scoring system can be determined by the business rules module 310 and set based on information such as inventory expiration dates. A container's score can be calculated using, among other information, historical orders, and this score can be continuously updated each time the inventory level of a SKU number changes. The scoring system can be used to help influence container location to maintain optimal container placement within a facility.

在一些实施例中,所述系统可以被配置为控制机器人移动以维持每个库存单元编号(SKU#)具有一个或多个容器的“活动”池来满足一个或多个服务工作站的需求。当“活动”池变空时,“储备”容器可以被放入“活动”池中。In some embodiments, the system can be configured to control the movement of the robot to maintain an "active" pool of one or more containers per stock keeping unit number (SKU#) to meet the needs of one or more service stations. When the "active" pool becomes empty, a "reserve" container can be placed in the "active" pool.

在所述系统的一些实施例中,所述系统可以被配置为使用“放弃算法”控制机器人移动以在放置容器时从可用的空位置池中确定“最佳匹配”堆垛位置。In some embodiments of the system, the system may be configured to control the robot movement using a "relinquishment algorithm" to determine a "best fit" stacking location from a pool of available empty locations when placing a container.

在一些实施例中,所述“活动”池可以被配置为支持来自所述一个或多个服务工作站的并行需求。In some embodiments, the "active" pool may be configured to support concurrent requests from the one or more service workstations.

在一些实施例中,所述产品放置优化模块306还可以平衡所述拣选站之间的订单。In some embodiments, the product placement optimization module 306 may also balance orders between the picking stations.

所述机器人物理模型模块308可以被配置为存储模拟机器人特定物理性质的一组变量。例如,所述模型可以表示如机器人长度、重量、高度和宽度、机器人最大承载能力、机器人旋转速度、机器人卷扬机循环时间、机器人最大速度和加速度、机器人在一定的电池寿命下执行某些行动的能力等的物理特征。所述机器人物理模块308可以与所述业务规则模块310相连接以确定对机器人移动的某些特征的限制,包括机器人的最大速度、最大加速度以及最大旋转速度。例如,载有很多箱鸡蛋的机器人由于鸡蛋受到物理外力时的易碎性被要求只能以最大加速度/减速度的25%来进行加速/减速。The robot physics model module 308 can be configured to store a set of variables that simulate specific physical properties of the robot. For example, the model can represent physical characteristics such as the robot's length, weight, height, and width, the robot's maximum load capacity, the robot's rotational speed, the robot's hoist cycle time, the robot's maximum speed and acceleration, and the robot's ability to perform certain actions within a certain battery life. The robot physics module 308 can be connected to the business rules module 310 to determine restrictions on certain characteristics of the robot's movement, including the robot's maximum speed, maximum acceleration, and maximum rotational speed. For example, a robot carrying a number of boxes of eggs may be required to accelerate/decelerate at only 25% of its maximum acceleration/deceleration due to the fragility of eggs when subjected to physical forces.

所述业务规则模块310基于仓库、机器人和通信系统的特定情况开发和应用一组业务规则。例如,所述业务规则模块310可以提供对于某些类别的货品而言,对所述机器人物理模型模块308有效的可潜在地减少运输中的货物发生的损坏量的各种限制。可以实施业务规则的情况示例性包括高风险产品(如酸、漂白剂等)、具有气溶胶的容器和含有易燃物的容器以及其它。空容器也可以有不同于其他容器的方式处理。The business rules module 310 develops and applies a set of business rules based on the specific circumstances of the warehouse, robot, and communication system. For example, the business rules module 310 can provide various constraints that are effective for the robot physical model module 308 for certain categories of goods, potentially reducing the amount of damage to goods during transportation. Examples of situations where business rules can be implemented include high-risk products (such as acids and bleach), containers with aerosols, and containers containing flammable materials, among others. Empty containers can also be handled differently than other containers.

所述业务规则可以包括再次使用前清洗容器、减慢含有某些物品的机器人的速度等行动。The business rules may include actions such as cleaning a container before reuse, slowing down a robot that contains certain items, etc.

所述业务规则模块310还可以被配置为开发和应用管理产品放置的多组规则。例如,不同的规则可以用于高频率的货品、由于即将到来的订单可能很快被拣选的货品等。The business rules module 310 can also be configured to develop and apply multiple sets of rules for managing product placement. For example, different rules can be used for high-frequency items, items that may be picked soon due to upcoming orders, etc.

所述间隙模块312可以被配置为存储和提供用于各个机器人的间隙。可以使用间隙系统以确定一条路径是否无障碍物以便机器人穿过。所述间隙模块312可以作为被动碰撞避免系统来实现,其中只给予机器人尽可能的不影响其性能的最小的工作量。The clearance module 312 can be configured to store and provide clearances for each robot. A clearance system can be used to determine whether a path is clear of obstacles for a robot to traverse. The clearance module 312 can be implemented as a passive collision avoidance system, where the robot is given only the minimum amount of work that does not affect its performance.

提供了具有新指令的机器人后,所述间隙模块312基于例如网格大小、网格位置、计划生成的移动命令、移动命令取消(对诸如受控停止的事件生成)、机器人的当前位置和速度、机器人制动能力以及其被清除到哪以供访问等检查使其不可能与另一机器人碰撞。After a robot with new instructions is provided, the clearance module 312 checks that it is unlikely to collide with another robot based on, for example, grid size, grid position, planned move commands generated, move command cancellations (generated for events such as controlled stops), the robot's current position and speed, the robot's braking capabilities, and where it is cleared for access.

所述间隙模块312可以被配置为“即时”发出间隙指令并可用于向机器人授予许可以便其继续沿其计划的路径移动。可以根据每个机器人状态报告生成(或保留)新的间隙指令。因此,所述间隙模块312可以用作路径冲突解决程序。在需要间隙时,所述间隙模块312可与所述移动优化模块304互动以动态地重新计划路线来解决或避免冲突。The clearance module 312 can be configured to issue clearance commands on the fly and can be used to grant permission to the robot to continue moving along its planned path. New clearance commands can be generated (or maintained) based on each robot status report. Thus, the clearance module 312 can function as a path conflict resolver. When clearance is needed, the clearance module 312 can interact with the movement optimization module 304 to dynamically replan the route to resolve or avoid conflicts.

所述间隙模块312可以向所述控制接口302提供一条路径的间隙内容、通知何时发出间隙(如向计划系统发出通知,因为这可允许从当前间隙的结束开始进行动态重新计划)、通知何时保留间隙(确定错误情况和确定重新计划的需要),以及向警报系统发出通知(因为机器人、机器人通信或所述控制系统202存在潜在的问题)。The gap module 312 can provide the control interface 302 with the gap contents of a path, notify when a gap is issued (such as notifying the planning system, as this allows dynamic replanning from the end of the current gap), notify when a gap is retained (to determine error conditions and determine the need for replanning), and notify the alarm system (because there is a potential problem with the robot, robot communication, or the control system 202).

所述间隙模块312可以被配置为基于一组容差设计间隙方案,包括遗漏的消息、处理时间、时钟同步和机器人与物理模型的差异等。The gap module 312 may be configured to design a gap solution based on a set of tolerances, including missed messages, processing time, clock synchronization, and differences between the robot and the physical model.

所述间隙模块312可以基于机器人位置和速度更新以及给予/保留的间隙为所述网格上的一个或多个位置提供一组安全进入时间。该组安全进入时间可以随所述网格条件的变化而进行动态更新。The gap module 312 can provide a set of safe entry times for one or more locations on the grid based on the robot position and velocity updates and the given/reserved gaps. The set of safe entry times can be dynamically updated as the grid conditions change.

在一些实施例中,所述间隙模块312可以被配置为仅在一定时间段内(如3秒)为机器人提供间隙。给予机器人的间隙可以被配置为该时间段足以使机器人停止而不会有碰撞的风险。In some embodiments, the clearance module 312 can be configured to provide clearance to the robot only for a certain period of time (e.g., 3 seconds). The clearance given to the robot can be configured to be sufficient for the robot to stop without risk of collision.

在一些实施例中,所述间隙模块312可以被配置为提供间隙以使所述控制系统202能够遗漏来自机器人的可配置数量的状态消息,并且仍然使机器人在短时间段内继续操作。这种设计可能使系统更容忍遗漏包,可能有利于即使在遇到一些通信问题的情况下仍能连续操作。所述可配置数量可以被设置以使在机器人自动减速到在其间隙结束时停止之前所述控制系统202可能接收到来自机器人的状态消息的概率很高。In some embodiments, the gap module 312 can be configured to provide gaps to allow the control system 202 to miss a configurable number of status messages from the robot and still allow the robot to continue operating for a short period of time. This design may make the system more tolerant to missed packets, which may facilitate continued operation even when encountering some communication problems. The configurable number can be set so that there is a high probability that the control system 202 will receive a status message from the robot before the robot automatically decelerates to a stop at the end of its gap.

在一些实施例中,如果机器人已经开始减速,其将被允许停止且所述控制系统202然后可以取消其前面的预订并重新计划其在所述网格上的路径。In some embodiments, if the robot has begun to slow down, it will be allowed to stop and the control system 202 can then cancel its previous reservation and replan its path on the grid.

所述预订模块314预订所述网格上的各种路径(如机器人A计划取路径X且在预期的穿行时间内预订路径X,机器人B已知机器人A已经预订路径X而选择路径Y)。所述预订模块314可以被设计为创建非冲突机器人移动方案且可以被配置为与所述间隙模块312和所述移动优化模块304联合工作。The reservation module 314 reserves various paths on the grid (e.g., robot A plans to take path X and reserves path X within its expected travel time, while robot B chooses path Y knowing that robot A has reserved path X). The reservation module 314 can be designed to create non-conflicting robot movement plans and can be configured to work in conjunction with the gap module 312 and the movement optimization module 304.

所述预订模块314可以被配置为在一段时间内为机器人提供网格位置的预订,其中不会有两个机器人被给予重叠的预订,考虑到略微偏离计划的机器人的容差、丢失的机器人通信消息的容差,以及时钟差异的容差等。The reservation module 314 can be configured to provide reservations for grid locations for robots over a period of time, wherein no two robots are given overlapping reservations, taking into account tolerance for robots that deviate slightly from the plan, tolerance for lost robot communication messages, tolerance for clock differences, etc.

在一些实施例中,所述预订模块314用于预先预订路线并确保机器人不计划选取冲突路径,尤其是当同时发生大量的机器人行动和任务时。所述预订模块314可以被配置为允许足够的容差以使任何机器人在受控制动下停止而不会有碰撞的风险。In some embodiments, the reservation module 314 is used to pre-reserve routes and ensure that robots do not plan to take conflicting paths, especially when a large number of robot actions and tasks are occurring simultaneously. The reservation module 314 can be configured to allow sufficient margin to allow any robot to stop under controlled braking without risk of collision.

所述预订模块314可以被配置为与所述移动优化模块304互动以建立遥远的将来的机器人路径预订以进行预先计划。在一些实施例中,所述预订模块314和所述移动优化模块304允许充分的预先计划以完成移动算法的计算。The reservation module 314 can be configured to interact with the movement optimization module 304 to establish a robot path reservation in the distant future for advance planning. In some embodiments, the reservation module 314 and the movement optimization module 304 allow for sufficient advance planning to complete the calculation of the movement algorithm.

所述命令生成与调度规划模块316生成要被传输到所述一个或多个机器人的一组指令。这些指令可以包括,例如,要求机器人A移动到位置B去拿去容器C,将容器C带到工作站,然后将容器C放回到特定位置D。这些指令可以以近实时/实时配置、即时配置被传输,和/或被提前提供以允许进行计划/安排的路线。此外,在一些实施例中,所述命令生成与调度规划模块316协调预订和执行间隙以帮助机器人迅速导航以穿过设施。The command generation and schedule planning module 316 generates a set of instructions to be transmitted to the one or more robots. These instructions may include, for example, instructing robot A to move to location B to pick up container C, bring container C to a workstation, and then return container C to a specific location D. These instructions can be transmitted in near real-time/real-time configuration, just-in-time configuration, and/or provided in advance to allow for planned/scheduled routes. In addition, in some embodiments, the command generation and schedule planning module 316 coordinates booking and execution slots to help robots quickly navigate through the facility.

所述命令生成与调度规划模块316可以被配置为提供包含一条单一路径,或一条或多条路径,和/或将在各个位置执行的很多操作的命令集。所述命令生成与调度规划模块316向所述机器人通信模块318提供这些命令以提供给单独的机器人。在一些实施例中,所述命令生成与调度规划模块316为特定机器人预填充指令——这些指令然后可能通过所述机器人通信模块318被提供给机器人以供将来执行。The command generation and scheduling module 316 can be configured to provide a command set that includes a single path, one or more paths, and/or a number of operations to be performed at various locations. The command generation and scheduling module 316 provides these commands to the robot communication module 318 for provision to individual robots. In some embodiments, the command generation and scheduling module 316 pre-populates instructions for a specific robot—these instructions may then be provided to the robot via the robot communication module 318 for future execution.

所述机器人通信模块318可以被配置为通过所述一个或多个基站和所述基站控制器206从机器人来回传输信息。在一些实施例中,所述机器人通信模块318可以通过使用无线信号通信。如上所述,这些指令集不必是即时的,可以发送指令集用于协调未来移动。The robot communication module 318 can be configured to transmit information back and forth from the robot via the one or more base stations and the base station controller 206. In some embodiments, the robot communication module 318 can communicate using wireless signals. As described above, these instruction sets do not have to be immediate, and instruction sets can be sent for coordinating future movements.

所述机器人通信模块318可以从各个机器人接收状态报告。所述机器人通信模块318可以以各种方式被实现,如利用同步、异步、轮询、推或拉方法。此外,各种实施例可以包括或可以不包括使用通信“握手”。The robot communication module 318 can receive status reports from each robot. The robot communication module 318 can be implemented in various ways, such as using synchronous, asynchronous, polling, push or pull methods. In addition, various embodiments may or may not include the use of a communication "handshake."

在没有“握手”的一些实施例中,通信系统可能不会保证消息传送,且可能会发生丢包。这种系统的潜在优势可能包括降低带宽要求且尽最大努力交付指令。可以实施各种方案来最小化丢包的影响,如指令包的定时重播、发送包含奇偶校验信息或其他验证方案的重叠指令包,或其他流控制和重传方案。In some embodiments without handshaking, the communication system may not guarantee message delivery, and packet loss may occur. Potential advantages of such a system may include reduced bandwidth requirements and best-effort delivery of instructions. Various schemes can be implemented to minimize the impact of packet loss, such as timed replay of instruction packets, sending overlapping instruction packets containing parity information or other verification schemes, or other flow control and retransmission schemes.

在本发明的其他实施例中,“握手”可以用于保证包被接收。In other embodiments of the present invention, a "handshake" may be used to ensure that a packet is received.

对机器人的命令可以在起始时间之前发出以进行将被机器人执行的操作,且从起始时间到命令下达之间的时间可以是可配置参数。A command to the robot may be issued before a start time to perform an operation to be performed by the robot, and the time from the start time to when the command is issued may be a configurable parameter.

在一些实施例中,命令被重复发给机器人以保证送达,且机器人可以提供命令已收到的确认。In some embodiments, commands are repeated to the robot to ensure delivery, and the robot can provide confirmation that the command has been received.

如果在预定的起始时间之前未收到消息,机器人可以被配置为忽略该命令并可以返回表示该命令接收太晚的状态消息。这种情况下,所述机器人控制系统202可以被配置为为机器人取消现有预订,并为机器人重新计划任务分配。If the message is not received before the scheduled start time, the robot can be configured to ignore the command and can return a status message indicating that the command was received too late. In this case, the robot control system 202 can be configured to cancel the existing reservation for the robot and reschedule the task assignment for the robot.

在一些实施例中,机器人返回确认已收到最后命令的常规状态消息(例如,通过命令序列号)。在一些实施例中,所述机器人控制系统202可以被配置为在已下达的最后命令被特定机器人确认之前不会向所述机器人发送新命令。如果所述机器人在特定时间段(如可配置超时期间)后未确认该命令,所述机器人控制系统202可以被配置为为所述机器人取消现有预订。在与所述机器人重建(命令)通信时,所述机器人控制系统202为所述机器人重新计划操作。In some embodiments, the robot returns a regular status message confirming receipt of the last command (e.g., via a command sequence number). In some embodiments, the robot control system 202 can be configured to not send new commands to a particular robot until the last command issued has been acknowledged by that robot. If the robot does not acknowledge the command after a specified period of time (e.g., a configurable timeout period), the robot control system 202 can be configured to cancel the existing reservation for that robot. Upon reestablishing communication with the robot, the robot control system 202 reschedules operations for the robot.

在收到每条机器人状态消息后,所述机器人控制系统202可以被配置为通过所述间隙模块312扩大机器人当前的移动间隙。After receiving each robot status message, the robot control system 202 can be configured to enlarge the robot's current movement gap through the gap module 312 .

所述充电管理模块320可以被配置为制定移动计划来为机器人充电。所述充电管理模块320可以被配置为预估机器人何时到指定的最低电量,并确保所有机器人能够在该电量点时或该电量点之前进行充电。The charging management module 320 may be configured to formulate a movement plan to charge the robots. The charging management module 320 may be configured to estimate when the robots will reach a specified minimum charge level and ensure that all robots can be charged at or before that charge level.

所述警报/通知模块322可以被配置为在潜在的问题已发生时或基于一定的业务规则(如由于冲突,已保留一定数量的间隙)向所述控制接口302提供警报或通知。The alert/notification module 322 may be configured to provide alerts or notifications to the control interface 302 when a potential problem has occurred or based on certain business rules (eg, a certain number of slots have been reserved due to a conflict).

本系统和方法可以在各种实施例中实行。适当配置的计算机设备与相关联的通信网络、设备、软件和固件可以提供平台,以实行上述一个或多个实施例。举例来说,附图1展示了通用计算机设备100,其可以包括连接到存储单元104和随机存取存储器106的中央处理单元(“CPU”)102。所述CPU 102可以处理操作系统101、应用程序103和数据123。如需要,所述操作系统101、应用程序103和数据123可以被存储在存储单元104且可以被加载到存储器106中。所述计算设备100还可以包括图像处理单元(GPU)122,可操作地连接到所述CPU102和所述存储器106以从所述CPU 102卸载密集型图像处理计算并与所述CPU 102并行地运行这些计算。操作员107可以使用通过视频接口105连接的视频显示器108以及通过I/O接口109连接的诸如键盘115、鼠标112、磁盘驱动器或固态驱动114器等各种输入/输出设备与所述计算机设备100互动。以已知的方式,所述鼠标112可以被配置为控制光标在所述视频显示器108中的移动,并操作出现在带鼠标按钮的所述视频显示器108中的各种图形用户界面(GUI)控件。所述磁盘驱动器或固态驱动器114可以被配置为接受计算机可读介质116。所述计算机设备100通过网络接口111可以组成网络的一部分,允许所述计算机设备100与其他适当配置的数据处理系统(未显示)进行通信。一个或多个不同类型的传感器135可以用于从不同来源接收输入。The present systems and methods can be implemented in various embodiments. A suitably configured computer device and associated communication networks, devices, software, and firmware can provide a platform for implementing one or more of the above-described embodiments. For example, FIG1 illustrates a general-purpose computer device 100 that may include a central processing unit ("CPU") 102 connected to a storage unit 104 and a random access memory 106. The CPU 102 may process an operating system 101, application programs 103, and data 123. The operating system 101, application programs 103, and data 123 may be stored in the storage unit 104 and loaded into the memory 106 as needed. The computing device 100 may also include a graphics processing unit (GPU) 122 operably connected to the CPU 102 and the memory 106 to offload intensive image processing computations from the CPU 102 and run these computations in parallel with the CPU 102. An operator 107 can interact with the computer device 100 using a video display 108 connected via a video interface 105 and various input/output devices such as a keyboard 115, a mouse 112, and a disk drive or solid-state drive 114 connected via an I/O interface 109. In a known manner, the mouse 112 can be configured to control cursor movement within the video display 108 and operate various graphical user interface (GUI) controls that appear within the video display 108 with mouse buttons. The disk drive or solid-state drive 114 can be configured to accept computer-readable media 116. The computer device 100 can be networked via a network interface 111, allowing the computer device 100 to communicate with other appropriately configured data processing systems (not shown). One or more sensors 135 of various types can be used to receive input from various sources.

本系统和方法实际上可以在包括台式电脑、笔记本电脑、平板电脑或无线手持式设备的任何计算机设备上实行。本系统和方法还可以作为计算机可读/可用介质来实现,所述计算机可读/可用介质包括使一个或多个计算机设备按照本发明的一种方法实现每一个不同的工序的计算机程序代码。如果是一台以上计算机设备执行整个操作的情况,所述计算机设备通过互联网来分配各个操作步骤。应当理解,术语计算机可读介质或计算机可用介质包括程序代码的任何类型的物理实施例中的一个或多个。特别地,所述计算机可读/可用介质可以包括程序代码,其包含在一个或多个便携式存储制品(如光盘、磁盘、磁带等)、计算设备的一个或多个数据存储分区如与计算机和/或存储系统相关联的存储器上。The present system and method can be implemented on virtually any computer device, including desktop computers, laptop computers, tablet computers, or wireless handheld devices. The present system and method can also be implemented as a computer-readable/usable medium containing computer program code that causes one or more computer devices to perform each of the various steps in a method according to the present invention. If more than one computer device performs the entire operation, the computer devices distribute the individual steps via the Internet. It should be understood that the terms computer-readable medium or computer-usable medium include one or more of any type of physical embodiment of the program code. Specifically, the computer-readable/usable medium can include program code embodied on one or more portable storage articles (e.g., optical disks, magnetic disks, magnetic tapes, etc.), or one or more data storage partitions of a computing device, such as a memory associated with a computer and/or storage system.

本发明的移动应用可以作为网络服务被实现,在所述网络服务中,移动设备包括用于访问网络服务而不是本机应用的链接。The mobile application of the present invention may be implemented as a web service where the mobile device includes a link for accessing the web service instead of a native application.

所描述的功能可以实现到任何移动平台,包括iOS™平台、ANDROID™平台、WINDOWS™平台或BLACKBERRY™平台。The described functionality can be implemented on any mobile platform, including iOS™ platform, ANDROID™ platform, WINDOWS™ platform or BLACKBERRY™ platform.

本领域技术人员理解本发明所述实施例的其他变形也可以在不脱离本发明范围的情况下被实行。因此,可能有其它修改实施例。。Those skilled in the art will appreciate that other variations of the embodiments described herein may be implemented without departing from the scope of the present invention. Therefore, other modified embodiments are possible.

很多不同的算法和技术可以用于确定机器人的优选路径,包括但不限于:分支定界算法、约束编程、局部搜索、启发法、图的遍历、动态路径学习顾问技术、修剪技术和贝叶斯图搜索技术、迪杰斯特拉算法、贝尔曼-福特算法、弗洛伊德算法、约翰逊算法、广度优先递归搜索和宽度优先递归搜索、加权路径、A*搜索算法、A*搜索算法变种(如D*、域D*、IDA*、边缘、边缘保存A*、广义适应A*、终身计划A* 、简化内存有界A*、跳点搜索、Theta*)。Many different algorithms and techniques can be used to determine the optimal path for a robot, including but not limited to: branch and bound algorithms, constraint programming, local search, heuristics, graph traversals, dynamic path learning advisors, pruning techniques, and Bayesian graph search techniques, Dijkstra's algorithm, Bellman-Ford algorithm, Floyd's algorithm, Johnson's algorithm, breadth-first recursive search and breadth-first recursive search, weighted paths, A* search algorithm, and A* search algorithm variants (such as D*, domain D*, IDA*, edge, edge-preserving A*, generalized adaptive A*, lifetime planning A*, simplified memory-bounded A*, jump point search, Theta*).

在以下部分,根据本发明一些实施例,提供示例搜索算法和启发式算法。In the following sections, example search algorithms and heuristic algorithms are provided according to some embodiments of the present invention.

示例搜索算法Example Search Algorithm

在这部分,根据本发明一些实施例,提供示例简化算法。In this section, example simplification algorithms are provided according to some embodiments of the present invention.

为便于说明,根据本发明一些实施例,所述算法以图形方式提供,如附图4所示的工作流图。应当理解,该示例算法为非限制性示例,仅用于对上述概念进行说明之目的。For ease of explanation, according to some embodiments of the present invention, the algorithm is provided in a graphical form, such as the workflow diagram shown in Figure 4. It should be understood that this example algorithm is a non-limiting example and is only used for the purpose of illustrating the above concepts.

所述算法可以是迭代搜索算法,可以利用分支定界搜索,并应用“近最佳优先”启发式模型,其包括拥塞避免“热图”。分支可以使用加权成本函数进行选择,且所述算法可以松散地联结到网格/机器人形状/大小。The algorithm may be an iterative search algorithm that may utilize branch and bound search and apply a "nearest best first" heuristic model that includes a congestion avoidance "heat map." Branches may be selected using a weighted cost function, and the algorithm may be loosely coupled to grid/robot shape/size.

在一些实施例中,分支可以保存在排序的集合中。In some embodiments, branches may be stored in a sorted set.

根据所述算法的一个实施例,应用下列递归分支定界函数:According to one embodiment of the algorithm, the following recursive branch and bound function is applied:

每个迭代:Each iteration:

(a)选择最低成本分支b,(a) choose the lowest cost branch b,

(b)用所有方向的分支b来创建新分支B(b) Use branches b in all directions to create a new branch B

(c)对于B中的每个分支b’:(c) For each branch b’ in B:

如果b’到达目标:If b' reaches the target:

返回b’Return b’

否则:otherwise:

添加b’进行搜索Add b' to search

成本比较器允许跟踪最低成本分支以进行下一迭代Cost comparator allows tracking of lowest cost branch for next iteration

在执行路径搜索中,可以应用不同启发法来减少所需计算,根据应用的启发法,删除整个分支或进行较少计算的密集型分析。示例启发式技术将在本说明书后面部分进行说明。In performing the path search, different heuristics can be applied to reduce the required computations, removing entire branches or performing less computationally intensive analysis, depending on the heuristic applied. Example heuristic techniques are described later in this specification.

在新分支与另一机器人可能选取的路径有冲突,或与空闲机器人有冲突时,所述搜索算法可以:When a new branch conflicts with a path that another robot might take, or conflicts with an idle robot, the search algorithm can:

改变所述分支以逃脱冲突预订(如果加速度分布图允许);changing the branch to escape the conflicting reservation (if the acceleration profile allows);

改变所述分支以在其路径的任何位置包含等待;或Change the branch to include a wait anywhere in its path; or

在不可行时,丢弃所述分支If it is not feasible, discard the branch

在一些实施例中,可以在机器人在其起始点等待的情况下选择路径。In some embodiments, a path may be selected with the robot waiting at its starting point.

这样做的话,搜索空间永远不会真正被耗尽(如,如果当前没有机器人到达其目的地的可接受的路径,可在该机器人等待时选择路径,直到非冲突路径可用)。In doing so, the search space is never truly exhausted (e.g., if there is currently no acceptable path for a robot to reach its destination, a path can be chosen while the robot waits until a non-conflicting path becomes available).

示例启发式技术Example Heuristics

所述搜索算法可以被配置为优先平衡任意数量的目标,如花费最短可能时间、趋向于避免拥塞区域等。The search algorithm can be configured to prioritize balancing any number of objectives, such as taking the shortest possible time, tending to avoid congested areas, etc.

下面是使用启发法的一个简单的非限制性示例,仅用于说明之目的。The following is a simple, non-limiting example of using a heuristic, for illustration purposes only.

在本发明的一个实施例中,每项搜索可以跟踪当前最低成本分支,且加权成本函数可以用于基于不同启发法偏置分支的选择顺序,不同的启发法可以包括:(a)预计最短路径时间和(b)预计基于热图的累计热量。可以设想其他启发式技术,但是仅用于说明之目的,还将为上述指定的两种方法提供进一步细节。In one embodiment of the present invention, each search can track the current lowest-cost branch, and a weighted cost function can be used to bias the order of branch selection based on different heuristics, including: (a) estimated shortest path time and (b) estimated cumulative heat based on a heat map. Other heuristic techniques are contemplated, but for illustrative purposes only, further details will be provided for the two methods specified above.

(a)预计最短路径时间(a) Estimated shortest path time

对任何分支而言,所述控制系统可以确定从当前分支处到目的地的最短可能路径时间。For any branch, the control system can determine the shortest possible path time from the current branch to the destination.

然后可以将预计时间成本确定为到目前为止的分支的总时间(包括,例如,所需的任何等待等)加上到目标的最短可能的无约束路径的时间。The expected time cost can then be determined as the total time of the branch so far (including, for example, any waiting required, etc.) plus the time of the shortest possible unconstrained path to the target.

(b)预计最小热量(基于热图)(b) Estimated minimum heat (based on heat map)

在制作热图中,可以将“热”值分配给每个坐标,类似于网格上点的拥塞模型,或网格的特定区域。In making a heatmap, you can assign a "heat" value to each coordinate, similar to a congestion model for points on a grid, or to specific areas of the grid.

附图5为根据本发明一些实施例的示例热图。Figure 5 is an example heat map according to some embodiments of the present invention.

在一些实施例中,可以使用到工作站的距离来确定所述“热”值,但在本发明其他实施例中,可以使用各种其他技术来观察/学习/计算/预测所述“热”,其中一些可以是动态或迭代技术。In some embodiments, the distance to the workstation may be used to determine the "heat" value, but in other embodiments of the invention, various other techniques may be used to observe/learn/calculate/predict the "heat", some of which may be dynamic or iterative techniques.

与预计最短路径相似,可以将无约束的路径延伸到目的地。Similar to estimating the shortest path, an unconstrained path can be extended to the destination.

然后就可以确定预计最小热量。在一些实施例中,预计热量成本是当前分支中所有已访问坐标热量的总和加预计路径的“最冷”(最不热)热量。The expected minimum heat can then be determined. In some embodiments, the expected heat cost is the sum of the heats of all visited coordinates in the current branch plus the "coldest" (least hot) heat of the expected path.

示例加权成本函数Example weighted cost function

在一些实施例中,所使用的算法基于加权成本函数。通过研究被配置为使用不同系数的云中的大量并行模拟的结果,和/或应用各种机器学习方法和技术,可能使用大量观察和/ 或模拟数据,这样的算法可能适合关联成本系数的优化。In some embodiments, the algorithm used is based on a weighted cost function. Such an algorithm may be suitable for optimizing the associated cost coefficients by studying the results of a large number of parallel simulations in the cloud configured to use different coefficients, and/or applying various machine learning methods and techniques, possibly using a large amount of observational and/or simulated data.

在一些实施例中,所述搜索算法有两个成本系数:(a)所述预计最短路径时间系数(Ct),和(b)所述预计最低热量系数(Ch)。In some embodiments, the search algorithm has two cost coefficients: (a) the expected shortest path time coefficient (Ct), and (b) the expected minimum heat coefficient (Ch).

在一些实施例中,所述搜索算法可以包括下列方程式:In some embodiments, the search algorithm may include the following equation:

分支成本=Ct*PSP + Ch*PMHBranch cost = Ct *PSP + Ch *PMH

(PSP指预计最短路径时间,PHM指预计最低热量)(PSP refers to the predicted shortest path time, PHM refers to the predicted minimum heat)

在一些实施例中,所述成本函数可以与模拟复杂关系的可配置的或机器学习导出的指数一起使用。一种示例简化成本函数(仅用于说明之目的)包括:In some embodiments, the cost function can be used with configurable or machine learning derived indices that model complex relationships. An example simplified cost function (for illustration purposes only) includes:

分支成本=Ct*PSPx+ Ch*PMHy,x与y也可以是可配置的和/或机器学习指数。Branch cost = C t *PSP x + C h *PMH y , where x and y can also be configurable and/or machine learning exponentials.

附图6a为展示在路径搜索算法中使用不同系数后搜索分支的预计成本如何变化的表格。这些系数可以使用根据本发明的一些实施例的机器学习技术提炼得出。FIG6a is a table showing how the estimated cost of a search branch changes when different coefficients are used in the path search algorithm. These coefficients can be extracted using machine learning techniques according to some embodiments of the present invention.

附图6b说明了如附图6a所示不同成本系数的使用如何改变所述搜索算法下一次迭代将选择的分支。FIG. 6b illustrates how the use of different cost coefficients as shown in FIG. 6a changes the branch that will be selected on the next iteration of the search algorithm.

在一些实施例中,所述控制系统202还可以被配置为随时间推移开发、适应和应用一套规则以细化一套机器学习系数和/或指数。使用机器学习系数和/或指数一段时间可以潜在地增加启发式技术的效果。In some embodiments, the control system 202 can also be configured to develop, adapt, and apply a set of rules over time to refine a set of machine learning coefficients and/or indices. Using machine learning coefficients and/or indices over time can potentially increase the effectiveness of heuristic techniques.

示例分路搜索Example branch search

所述系统可以被配置为调整机器人路径以考虑空闲机器人的位置。在一些实施例中,可能有可以独立于有任务的机器人而被跟踪的空闲机器人。这些空闲机器人可能没有计划的路径和相关联的预定,且可能需要被分开考虑。The system can be configured to adjust the robot path to account for the location of idle robots. In some embodiments, there may be idle robots that can be tracked independently of robots with tasks. These idle robots may not have a planned path and associated reservations and may need to be considered separately.

在任务终结时,可以执行单独的“分路搜索”。所述“分路搜索”可以包括寻找路径以将现在空闲的机器人,或在正有任务的机器人(下称主机器人)的路径中将进入空闲状态的机器人移动到其可以继续为空闲状态且不挡主机器人路径的位置。At the end of a mission, a separate "branch search" can be performed. This "branch search" can include finding a path to move the currently idle robot, or a robot that has entered an idle state in the path of a robot currently performing a mission (hereinafter referred to as the master robot), to a position where it can continue to be idle and not block the path of the master robot.

在一些实施例中,该“分路搜索”包含执行搜索,其中,对于现在空闲的或将在主机器人的路径中进入空闲状态的每个机器人,执行搜索可以在找到其可以无限期地保留的位置时被视为解决。In some embodiments, this "branch search" involves an execution search where, for each robot that is now idle or will enter an idle state in the master robot's path, the execution search may be considered resolved when a position is found that it can remain indefinitely.

所述“分路搜索”可以使用相同的分支定界搜索算法作为主机器人路径搜索,但是可能有不同的成本系数和解决方案标准。如果机器人不能及时让路,可以向所述主机器人的路径添加等待,且所述主机器人的路径可以被重新计算。The "branch and bound search" can use the same branch and bound search algorithm as the main robot path search, but may have different cost coefficients and solution criteria. If the robot cannot give way in time, a wait can be added to the main robot's path and the main robot's path can be recalculated.

示例放回算法Example Replacement Algorithm

可以使用一种算法来确定将被返回的容器的堆垛位置。由于各种原因,容器可能被返回,且由于各种优势,容器被返回的位置可以被优化,如改善蜂巢中物品/容器的分布。An algorithm may be used to determine the stacking location of containers to be returned. Containers may be returned for a variety of reasons, and the location at which they are returned may be optimized for a variety of advantages, such as improving the distribution of items/containers within the hive.

蜂巢中的每个堆垛位置可以使用可配置的加权成本函数进行打分:Each stacking position in the hive can be scored using a configurable weighted cost function:

与所有工作站的平均距离(按机器人操作时间测量);Average distance to all workstations (measured by robot operation time);

与最近的工作站的距离(按机器人操作时间测量);distance to the nearest workstation (measured by robot operation time);

以及as well as

大致挖掘成本(如果深度>0)Approximate mining cost (if depth > 0)

在计划中的所有操作都已被执行之后,所述系统可以保持蜂巢的当前结束状态的“蜂巢计划”。After all operations in the plan have been executed, the system may maintain a "hive plan" of the current end state of the hive.

所述“蜂巢计划”也可以跟踪“可用表面”,在所述可用表面中,机器人可以放置容器。在由产品放置优化模块306定义的完全有序的容器集合中,每个容器的位置都具有索引。The "hive plan" can also track "available surfaces" where the robot can place containers. Each container's position has an index in the completely ordered set of containers defined by the product placement optimization module 306.

在由加权成本函数定义的完全有序的堆垛位置集合中,每个堆垛位置具有一个等效索引。In the completely ordered set of stacking positions defined by the weighted cost function, each stacking position has an equivalent index.

这些索引通过除以它们各自的集合的大小而被重新映射到范围0-1,并且可用表面中的堆垛位置按照它们的索引与容器的索引匹配得有多接近来排列。These indices are remapped to the range 0-1 by dividing by the size of their respective collections, and the stacking locations in the available surface are arranged according to how closely their indices match the indices of the containers.

通过这些指数和其他因素之间的差的加权成本函数来进行最终选择,所述其它因素如从源头到堆垛位置的理想路径多长以及在当前计划中堆垛保留多长时间。The final selection is made by a weighted cost function of the differences between these indices and other factors, such as how long the ideal path from the source to the stacking location is and how long the stack remains in the current plan.

在这一阶段可以执行其他业务规则,如限制堆垛的总重、控制危险或特殊物质的位置(如喷雾器和易燃材料)等。Other business rules can be enforced at this stage, such as limiting the total weight of the stack, controlling the location of hazardous or special substances (such as sprayers and flammable materials), etc.

示例返回情境Example return scenario

下面为所述系统支持/控制的示例返回工序。在订单被取消、装载物没有离开蜂巢、订单被客户返回,或未能向客户配送的情况下可以使用该工序。还可以设想其他情景。已返回的产品(可能在容器,诸如手提袋等其他存放设备中)可以在提供产品返工或产品拒绝的工作站被处理。The following is an example return process supported/controlled by the system. This process can be used when an order is canceled, a load does not leave the hive, an order is returned by the customer, or a shipment cannot be made to the customer. Other scenarios are also contemplated. Returned products (possibly in containers such as totes or other storage devices) can be processed at a workstation that provides product rework or product rejection.

所述容器/手提袋可以被扫描,以便所述控制器能将其预计需要的存储箱放在工作站附近。可以基于库存单元编号(SKU)和到期日期选择供应箱子。可以通过拣选机一个接一个地取出货品并扫描。在所述容器到达工作站时,指示/控制拣选机(自动或手动)将所述货品放入所述容器中。The containers/totes can be scanned so that the controller can place the storage bins it anticipates will be needed near the workstation. Supply bins can be selected based on stock keeping unit (SKU) numbers and expiration dates. Items can be retrieved and scanned one by one by a picker. When the container arrives at the workstation, the picker (automatically or manually) is instructed/controlled to place the items into the container.

还可以要求所述拣选机在所述容器被释放之前确认没有遗漏该库存单元编号的货品。The picker may also be required to confirm that no items with that SKU number are missing before the container is released.

不再适合返回库存的产品可以被拣选入容器中,所述容器,在各种时间,诸如当满时或在一天结束时,可以在工作站被移离,并且其所含物品被送到另一个区域,诸如工作人员店铺或进行适当处置。Products no longer suitable for return to inventory can be picked into containers that, at various times, such as when full or at the end of the day, can be removed from the workstation and their contents sent to another area, such as a staff store or for appropriate disposal.

尽管本发明已提供并说明了特定的、就目前而言优选的实施例,但在不脱离本发明所公开的实质内容与范围的情况下,还可进行很多变型与修改。因此,本发明不受上述公开的具体组件或详细方法或结构之限制。除了工序本身必要的或固有的顺序,本发明(包括附图)未示意或暗示所描述的方法或工序的各步骤与各阶段的特定顺序。在很多情况下,工序步骤的顺序在不改变本发明所述方法的目的、效果,或导入的情况下可以进行改变。本发明公开的范围完全由所附权利要求来限定,并适当考虑等同原则和相关理论。While the present invention has been provided and described with respect to certain, presently preferred embodiments, many variations and modifications are possible without departing from the spirit and scope of the present invention. Therefore, the present invention is not limited to the specific components or detailed methods or structures disclosed above. Except for the necessary or inherent order of the process itself, the present invention (including the accompanying drawings) does not illustrate or imply a specific order of the steps and stages of the described methods or processes. In many cases, the order of the process steps can be changed without changing the purpose, effect, or introduction of the method described herein. The scope of the present invention is to be determined solely by the appended claims, with due regard to the doctrine of equivalents and related theories.

Claims (45)

1.一种控制一个或多个运输设备移动的系统,所述运输设备设置为运输容器,所述容器被存储在设施的数个堆垛中,所述设施具有以网格状结构排列在所述堆垛上方的数条通路,所述一个或多个运输设备设置为在所述网格状结构上运行,所述系统包括:1. A system for controlling the movement of one or more transport devices, the transport devices being configured to transport containers stored in several stacks of a facility having several aisles arranged in a grid structure above the stacks, the one or more transport devices being configured to operate on the grid structure, the system comprising: 一个控制单元,被配置为确定和预订通过所述数条通路来移动所述一个或多个运输设备的路线和在运输所述数个容器中的一个或多个时确定和预定移动所述一个或多个运输设备的路线;确定并控制一个或多个运输设备从所述数个堆垛中的一个或多个中取出至少一个第一容器;其中A control unit is configured to determine and reserve routes for moving one or more transport devices through the plurality of pathways and to determine and reserve routes for moving the one or more transport devices while transporting one or more of the plurality of containers; to determine and control one or more transport devices to remove at least one first container from one or more of the plurality of stacks; wherein 所述至少一个第一容器的取出是通过在取出的所述至少一个第一容器之前移动所述堆垛中的至少一个第二容器来实现的;The removal of at least one first container is achieved by moving at least one second container in the stack before the at least one first container is removed; 控制通过运输设备取出的所述至少一个第一容器的取出和移动;和Controlling the removal and movement of the at least one first container taken out by the transport equipment; and 指示所述运输设备中的一个或多个将所述至少一个第二容器运送至所述设施中的可供替代的位置,Instruct one or more of the transport equipment to transport the at least one second container to an alternative location within the facility. 其中,所述控制单元包括一个产品放置优化模块,所述产品放置优化模块被配置为从移除了所述至少一个第二容器的堆垛之外的任何堆垛中的空位置中确定所述可供替代的位置。The control unit includes a product placement optimization module configured to determine the available alternative locations from empty locations in any stack other than the stack where the at least one second container has been removed. 2.根据权利要求1所述的系统,其中所述产品放置优化模块还被设置为通过使用可配置的加权成本函数进行打分决定可供替代的位置,每个堆垛的位置基于与所有工作站的平均距离、与最近的工作站的距离和大致挖掘成本。2. The system of claim 1, wherein the product placement optimization module is further configured to determine alternative locations by scoring using a configurable weighted cost function, wherein the location of each stack is based on the average distance to all workstations, the distance to the nearest workstation, and approximate excavation cost. 3.根据权利要求2所述的系统,其中所述产品放置优化模块还被设置为基于可配置的加权成本函数的得分、从源头到堆垛位置的路径长度和在堆垛中保留时间的差异来决定所述可供替代的位置。3. The system of claim 2, wherein the product placement optimization module is further configured to determine the alternative locations based on the score of a configurable weighted cost function, the path length from the source to the stacking location, and the difference in retention time in the stack. 4.根据权利要求2或3所述的系统,其中所述产品放置优化模块还被设置为基于堆垛的总重量、控制危险的位置和控制特殊物质的位置中的一者来决定所述可供替代的位置。4. The system according to claim 2 or 3, wherein the product placement optimization module is further configured to determine the alternative locations based on one of the total weight of the stack, the location of the controlled hazard, and the location of the controlled special substance. 5.根据权利要求1至3中任一项所述的系统,其中所述产品放置优化模块还被设置为基于以下信息中的至少一者决定所述可供替代的位置,所述信息为:网格结构的布局、特定货品被需要的频率、未来订单、预测未来订单、工作站的位置、充电站的位置以及特定区域和路径分支的拥堵程度。5. The system according to any one of claims 1 to 3, wherein the product placement optimization module is further configured to determine the alternative locations based on at least one of the following information: the layout of the grid structure, the frequency of demand for a particular product, future orders, predicted future orders, the location of workstations, the location of charging stations, and the congestion level of specific areas and path branches. 6.根据权利要求1至3中任一项所述的系统,其中所述可供替代的位置可以包括任何堆垛外但是在设施内的位置。6. The system according to any one of claims 1 to 3, wherein the alternative location may include any location outside the stack but within the facility. 7.根据权利要求1至3中任一项所述的系统,其中所述容器或每个容器包含物品,所述物品被存储在所述堆垛中的所述容器中以供后面取出。7. The system according to any one of claims 1 to 3, wherein the container or each container contains an article, the article being stored in the container in the stack for later retrieval. 8.根据权利要求1所述的系统,还包括一个或多个实用程序,提供用于允许或停止所述一个或多个运输设备的移动以避免碰撞的间隙系统。8. The system of claim 1 further includes one or more utilities providing a clearance system for allowing or stopping the movement of the one or more transport devices to avoid collision. 9.根据权利要求1所述的系统,还包括一个或多个实用程序,所述一个或多个实用程序包括被配置为通过所述数条通路优化所述一个或多个运输设备的移动和行动的优化工具。9. The system of claim 1 further includes one or more utilities, said one or more utilities including optimization tools configured to optimize the movement and actions of the one or more transport devices through said plurality of paths. 10.根据权利要求9所述的系统,所述优化工具包括被配置为通过所述设施中的所述一个或多个运输设备优化所述数个容器的放置的放置工具。10. The system of claim 9, wherein the optimization tool includes a placement tool configured to optimize the placement of the plurality of containers via the one or more transport devices in the facility. 11.根据权利要求1所述的系统,还包括控制在一个或多个工作站中对所述容器中的一个或多个进行的移动或操作的一个或多个实用程序。11. The system of claim 1, further comprising one or more utilities for controlling movement or operation of one or more of the containers in one or more workstations. 12.根据权利要求9-11中任一项所述的系统,其中优化所述运输设备中任一个的所述移动和行动的所述实用程序中的任一个利用一个或多个寻径算法。12. The system according to any one of claims 9-11, wherein any one of the utilities for optimizing the movement and action of any of the transport devices utilizes one or more routing algorithms. 13.根据权利要求9-11中任一项所述的系统,其中优化所述运输设备中任一个的所述移动和行动的所述实用程序中的任一个利用一个或多个拥塞减轻技术。13. The system according to any one of claims 9-11, wherein any one of the utilities for optimizing the movement and action of any one of the transport devices utilizes one or more congestion mitigation techniques. 14.根据权利要求9-11中任一项所述的系统,其中优化所述运输设备中任一个的所述移动和行动的所述实用程序中的任一个利用一个或多个机器学习技术。14. The system according to any one of claims 9-11, wherein any one of the utilities for optimizing the movement and actions of any one of the transport devices utilizes one or more machine learning techniques. 15.根据权利要求9-11中任一项所述的系统,其中优化设施中所述数个容器的放置的所述实用程序中的任一个基于设施中所述数个物品中的一个或多个的耗减更新所述设施的库存等级的更新工具。15. The system according to any one of claims 9-11, wherein any one of the utilities for optimizing the placement of the plurality of containers in the facility is an update tool for updating the inventory level of the facility based on the depletion of one or more of the plurality of items in the facility. 16.根据权利要求10所述的系统,其中所述实用程序中的任一个还包含至少基于所述一个或多个工作站的工作量控制所述一个或多个运输设备的移动的控制工具。16. The system of claim 10, wherein any of the utilities further comprises a control tool for controlling the movement of the one or more transport devices based at least on the workload of the one or more workstations. 17.根据权利要求8-11中任一项所述的系统,其中所述实用程序中的任一个包括间隙系统,所述系统包括使所述系统容许与所述一个或多个运输设备中的至少一个中断通信的配置工具。17. The system according to any one of claims 8-11, wherein any one of the utilities includes a gap system, the system including a configuration tool that enables the system to allow interrupted communication with at least one of the one or more transport devices. 18.根据权利要求8-11中任一项所述的系统,其中所述实用程序中的任一个包括确定和预订路线的确定和预订工具,并指示数个运输设备合作运输所述数个容器中的一个或多个。18. The system according to any one of claims 8-11, wherein any one of the utilities includes a route determination and booking tool and instructs several transport devices to cooperate in transporting one or more of the several containers. 19.根据权利要求8-11中任一项所述的系统,其中所述实用程序中的任一个包括确定和预订路线以将空闲的运输设备从最佳路线移开以供其他运输设备使用的确定工具。19. The system according to any one of claims 8-11, wherein any one of the utilities includes a determining tool for determining and reserving routes to remove idle transport equipment from optimal routes for use by other transport equipment. 20.根据权利要求1-3中任一项所述的系统,其中所述设施被分为数个子网格。20. The system according to any one of claims 1-3, wherein the facility is divided into several subgrids. 21.根据权利要求1-3中任一项所述的系统,其中在所述数个运输设备移动之前向所述数个运输设备提供控制所述数个运输设备移动的一个或多个控制命令。21. The system according to any one of claims 1-3, wherein one or more control commands for controlling the movement of the plurality of transport devices are provided to the plurality of transport devices before the plurality of transport devices move. 22.根据权利要求8-11中任一项所述的系统,其中所述实用程序中的任一个包括优化所述容器或每个容器返回到所述设施中的堆垛中的最佳空位处的优化工具。22. The system according to any one of claims 8-11, wherein any one of the utilities includes an optimization tool for optimizing the container or each container returning to the optimal empty space in the stack within the facility. 23.根据权利要求8-11中任一项所述的系统,其中所述实用程序中的任一个包括用堆垛中的替代容器动态地替代损坏或丢失的物品的操作工具。23. The system according to any one of claims 8-11, wherein any one of the utilities includes an operating tool for dynamically replacing damaged or lost items with alternative containers in a stack. 24.根据权利要求8-11中任一项所述的系统,其中所述实用程序中的任一个还包括基于成本函数分析的剩余堆垛的优化工具。24. The system according to any one of claims 8-11, wherein any one of the utilities further comprises an optimization tool for the remaining stacking based on cost function analysis. 25.一种控制一个或多个运输设备移动的方法,所述运输设备设置为运输容器,所述容器被存储在设施的数个堆垛中,所述设施具有以网格状结构排列在所述堆垛上方的数条通路,所述一个或多个运输设备设置为在所述网格状结构上运行,所述方法包括:25. A method for controlling the movement of one or more transport devices, the transport devices being configured to transport containers stored in a plurality of stacks in a facility having a plurality of aisles arranged in a grid structure above the stacks, the one or more transport devices being configured to operate on the grid structure, the method comprising: 确定和预订通过所述数条通道来移动所述一个或多个运输设备的路线以及在运输所述数个容器中的一个或多个时确定和预定移动所述一个或多个运输设备的路线;Determine and reserve routes for moving the one or more transport devices through the plurality of channels, and determine and reserve routes for moving the one or more transport devices when transporting one or more of the plurality of containers; 确定并控制一个或多个运输设备从所述堆垛中的一个或多个中取出至少一个第一容器;其中,Determine and control one or more transport devices to remove at least one first container from one or more of the stacks; wherein, 其中所述至少一个第一容器的取出是通过在取出所述至少一个第二容器之前移动所述堆垛中的至少一个第二容器来实现的;控制通过运输设备取出的所述至少一个第一容器的取出和移动;和The removal of the at least one first container is achieved by moving at least one second container in the stack before removing the at least one second container; the removal and movement of the at least one first container by means of a transport device are controlled; and 指示所述运输设备中的一个或多个将所述至少一个第二容器运送至所述设施中的可供替代的位置,Instruct one or more of the transport equipment to transport the at least one second container to an alternative location within the facility. 其中,所述可供替代的位置是从移除了所述至少一个第二容器的堆垛之外的任何一个堆垛中的空位置中确定的。The available alternative positions are determined from empty positions in any stack other than the stack where the at least one second container has been removed. 26.根据权利要求25所述的方法,其中所述可供替代的位置通过使用可配置的加权成本函数进行打分决定的,每个堆垛的位置基于与所有工作站的平均距离、与最近的工作站的距离和大致挖掘成本。26. The method of claim 25, wherein the alternative locations are determined by scoring using a configurable weighted cost function, the location of each stack being based on the average distance to all workstations, the distance to the nearest workstation, and approximate excavation cost. 27.根据权利要求26所述的方法,其中所述可供替代的位置基于可配置的加权成本函数的得分、从源头到堆垛位置的路径长度和在堆垛中保留时间的差异来决定的。27. The method of claim 26, wherein the alternative location is determined based on a score of a configurable weighted cost function, the path length from the source to the stacking location, and the difference in retention time in the stack. 28.根据权利要求26或27所述的方法,其中所述可供替代的位置基于堆垛的总重量、控制危险的位置和控制特殊物质的位置中的一者来决定的。28. The method of claim 26 or 27, wherein the alternative location is determined based on one of the total weight of the stack, the location for controlling hazards, and the location for controlling special substances. 29.根据权利要求25至27中任一项所述的方法,其中所述可供替代的位置基于以下信息中的至少一者决定的,所述信息为网格结构的布局、特定货品被需要的频率、未来订单、预测未来订单、工作站的位置、充电站的位置以及特定区域和路径分支的拥堵程度。29. The method according to any one of claims 25 to 27, wherein the alternative location is determined based on at least one of the following information: the layout of the grid structure, the frequency of demand for a particular item, future orders, predicted future orders, the location of the workstation, the location of the charging station, and the degree of congestion in a particular area and path branch. 30.根据权利要求25至27中任一项所述的方法,其中所述容器包括在所述设施中存储和从其中取出的物品。30. The method according to any one of claims 25 to 27, wherein the container comprises articles stored in and taken out of the facility. 31.根据权利要求25至27中任一项所述的方法,还包括提供用于准许或停止所述一个或多个运输设备的移动以避免碰撞的间隙系统的步骤。31. The method according to any one of claims 25 to 27, further comprising the step of providing a clearance system for permitting or stopping the movement of the one or more transport devices to avoid collision. 32.根据权利要求25至27中任一项所述的方法,还包括通过所述数条通路优化所述一个或多个运输设备的移动和行动的步骤。32. The method according to any one of claims 25 to 27, further comprising the step of optimizing the movement and operation of the one or more transport devices through the plurality of pathways. 33.根据权利要求25至27中任一项所述的方法,还包括通过所述设施中的所述一个或多个运输设备优化所述数个容器的放置的步骤。33. The method according to any one of claims 25 to 27, further comprising the step of optimizing the placement of the plurality of containers by means of the one or more transport devices in the facility. 34.根据权利要求33所述的方法,还包含控制在一个或多个工作站中对所述容器的每一个进行的移动或操作的步骤。34. The method of claim 33, further comprising the step of controlling movement or operation of each of the containers in one or more workstations. 35.根据权利要求33所述的方法,其中优化所述运输设备或每个运输设备的移动和行动包括使用一个或多个寻径算法。35. The method of claim 33, wherein optimizing the movement and actions of the transport equipment or each transport equipment comprises using one or more pathfinding algorithms. 36.根据权利要求33所述的方法,其中优化所述运输设备或每个运输设备的移动和行动包括使用一个或多个拥塞减轻技术。36. The method of claim 33, wherein optimizing the movement and actions of the transport equipment or each transport equipment includes using one or more congestion mitigation techniques. 37.根据权利要求33所述的方法,其中优化所述运输设备或每个运输设备的移动和行动包含使用一个或多个机器学习技术。37. The method of claim 33, wherein optimizing the movement and actions of the transport equipment or each transport equipment comprises using one or more machine learning techniques. 38.根据权利要求33所述的方法,其中优化所述设施中所述数个容器的放置,且基于设施中所述数个物品中的一个或多个的耗减更新所述设施的库存等级。38. The method of claim 33, wherein the placement of the plurality of containers in the facility is optimized, and the inventory level of the facility is updated based on the depletion of one or more of the plurality of items in the facility. 39.根据权利要求34所述的方法,其中控制运输设备中的一个或多个的移动至少基于所述一个或多个工作站的工作量。39. The method of claim 34, wherein controlling the movement of one or more of the transport equipment is based at least on the workload of the one or more workstations. 40.根据权利要求25至27中任一项所述的方法,还包括提供容许与所述一个或多个运输设备中的至少一个中断通信的间隙的步骤。40. The method according to any one of claims 25 to 27, further comprising the step of providing a gap that allows for interruption of communication with at least one of the one or more transport devices. 41.根据权利要求25至27中任一项所述的方法,还包括指示数个运输设备合作运输所述数个容器中的一个或多个的步骤。41. The method according to any one of claims 25 to 27, further comprising the step of instructing a plurality of transport devices to cooperate in transporting one or more of the plurality of containers. 42.根据权利要求25至27中任一项所述的方法,还包括确定和预订路线以将空闲的运输设备从最佳路线移开以供其他运输设备使用。42. The method according to any one of claims 25 to 27, further comprising determining and reserving routes to remove idle transport equipment from the optimal route for use by other transport equipment. 43.根据权利要求25至27中任一项所述的方法,其中所述设施被分为数个子网格。43. The method according to any one of claims 25 to 27, wherein the facility is divided into several sub-grids. 44.根据权利要求25至27中任一项所述的方法,其中在所述数个运输设备移动之前向所述数个运输设备提供控制所述数个运输设备移动的一个或多个控制命令。44. The method according to any one of claims 25 to 27, wherein one or more control commands for controlling the movement of the plurality of transport devices are provided to the plurality of transport devices before the plurality of transport devices move. 45.根据权利要求25至27中任一项所述的方法,其中提供一个或多个实用程序以基于成本函数分析确定所述堆垛的其余部分的进一步优化。45. The method of any one of claims 25 to 27, wherein one or more utilities are provided to determine further optimizations of the remainder of the stack based on cost function analysis.
HK17106528.9A 2014-06-03 2015-06-03 Methods, systems and apparatus for controlling movement of transporting devices HK1232970B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB14109883.4 2014-06-03

Publications (2)

Publication Number Publication Date
HK1232970A1 HK1232970A1 (en) 2018-01-19
HK1232970B true HK1232970B (en) 2021-06-04

Family

ID=

Similar Documents

Publication Publication Date Title
JP7721593B2 (en) Method, system and apparatus for controlling the movement of a transport device
HK1232970B (en) Methods, systems and apparatus for controlling movement of transporting devices
HK1232970A1 (en) Methods, systems and apparatus for controlling movement of transporting devices
NZ760253B2 (en) Methods, systems and apparatus for controlling movement of transporting devices
NZ760250B2 (en) Methods, systems and apparatus for controlling movement of transporting devices