Hybrid modular storage fetching system

- Staples, Inc.

A hybrid modular storage fetching system with a robot execution system (REX) is described. In an example implementation, a REX may induct, into the hybrid modular storage fetching system, an order identifying items to be fulfilled by automated guided vehicles (AGVs) at an order fulfillment facility. The REX may generate at task list including tasks for a first and second AGV, instruct the first AGV to retrieve a first item in the order from a first storage area based on the task list and deliver the first item to a pick-cell station. The REX may also instruct the second AGV to retrieve a second item of the order from a second storage area and deliver the second item to the pick-cell station. The REX may communicate with other components of the hybrid modular storage fetching system to coordinate the paths of the AGVs to fulfill the order.

Skip to: Description  ·  Claims  ·  References Cited  · Patent History  ·  Patent History
Description
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No. 15/863,050, entitled “Hybrid Modular Storage Fetching System,” filed Jan. 5, 2018, which is a continuation-in-part of U.S. application Ser. No. 15/721,472, entitled “Hybrid Modular Storage Fetching System,” filed Sep. 29, 2017, which claims the benefit under 35 U.S.C. § 119(e) of U.S. Provisional Application No. 62/403,001, entitled “Modular Storage Fetching System (MSFS),” filed on Sep. 30, 2016, the entire contents of each of which are incorporated herein by reference. U.S. application Ser. No. 15/863,050 also claims the benefit under 35 U.S.C. § 119(e) of U.S. Provisional Application No. 62/442,891, entitled “Modular Storage Fetching System (MSFS),” filed on Jan. 5, 2017, the entire contents of which are incorporated herein by reference.

BACKGROUND

This application relates to inventory management systems (e.g., order distribution or fulfillment systems).

Some current inventory management systems use drag-along carts on which human agents (pickers) place items they select (pick) to fulfill orders. In a zone-less pick-to-cart system, an agent drags his/her cart from location to location as instructed by the computer system of the facility. The cart can accommodate multiple orders and typically is equipped with dedicated containers or cartons that are keyed to the orders being fulfilled by the agent during that cart load. In some cases, the agent wears a headset and/or is provided a terminal, such as a mobile computing device, via which the agent is provided ordered, item-by-item instructions on which items to pick. As the agent walks around the facility among the different fixed shelving units, he/she drags or pushes his/her cart manually. During a given shift, the agent may end up considerably fatigued from having to propel the cart around the warehouse.

Further, some current inventory management systems divide inventory into a series of zones and assign a human agent to a zone. The systems may use a conveyor belt to move orders across the zones as controlled by the computer system of the facility. In some cases, the agent wears a headset and/or is provided a terminal, such as a mobile computing device, via which the agent is provided ordered, item-by-item instructions on which items to pick. In some cases, pick-to-light systems use light displays to direct operators to product locations. Each product location may have a numeric or alphanumeric display with a light, an acknowledgement button, and a digital readout for indicating quantity.

Further, some current inventory management or distribution systems use a “goods-to-person” approach where the items to be picked by a human agent are brought to a predetermined location to eliminate the amount of walking the human agent must do within a facility and/or expedite the picking of the items by the picker. Once picked, these items are packaged and dispatched. While these systems may, in certain use cases, adequately maneuver the items to the stations at which they are to be picked, they are less effective for high-volume and/or high-velocity goods because they have to continually return the same goods to the picking stations during the course of a day.

Some current inventory management or distribution systems that use a “goods-to-person” approach using robots to retrieve items to be picked from storage. For example, in these systems, robots may retrieve entire shelving units from storage and bring them to agents, who pick items from the shelving units. However, these robots bring many more items in the shelving units to the agents than are actually picked by the agents. Further, each robot can only retrieve items in a single shelving unit at a time because they bring entire shelving units to the agents.

Some current inventory management or distribution systems use forklifts to move pallets of items, however this solution is not practical when fulfilling small orders, because small orders may include, for instance, only a few items while a pallet may include tens or hundreds of items. Further, traditional forklifts are not able to navigate through narrow aisles to retrieve items on shelves in those aisles, because traditional forklifts require substantial space to turn to face a shelving unit to retrieve a pallet.

SUMMARY

A hybrid modular storage fetching system with a robot execution system (REX) is described. Implementations of the REX may perform the following operations. Inducting an order into a REX in response to receiving, by the REX, order data identifying items in the order to be fulfilled at an order fulfillment facility, the REX including one or more computing devices that communicate with a plurality of automated guided vehicles (“AGV”s) in the order fulfillment facility, the order fulfillment facility including an operating environment with a first storage area storing a first set of items, a second storage area storing a second set of items, and a pick-cell station at which one or more selected items from one or more of the first storage area and the second storage area are placed into a carton; generating, by the REX, a task list including tasks for fulfilling the order using a cart AGV of the plurality of AGVs and a picking AGV of the plurality of AGVs; instructing, by the REX, the cart AGV to retrieve a first item of the order from the first storage area based on the task list, the first item being in the first set of items; instructing, by the REX, the cart AGV to deliver the first item to the pick-cell station; instructing, by the REX, the picking AGV to retrieve a second item of the order from the second storage area, the second item being in the second set of items; and instructing, by the REX, the picking AGV to deliver the second item to the pick-cell station.

Implementations of the method may include one or more of the following features. The method where inducting the order into the REX includes: receiving, by the REX, a message from a warehouse management system (“WMS”), the message including the order data and labels assigned to a cart, the labels representing one or more orders including the order; and storing, by the REX, the labels in association with a connectable cart in a database. The method where inducting the order into the REX includes: instructing, by the REX, the cart AGV to couple to the connectable cart, and outputting, by the REX, a dashboard embodied by a graphical interface presented on the one or more computing devices to indicate that the connectable cart is coupled with the cart AGV and the labels have been assigned to the connectable cart. The method where inducting the order into the REX includes: receiving, by the REX, a input from a cart picker into the dashboard, the input indicating to release the cart AGV from an induction area of the operating environment; and instructing, by the REX, the cart AGV to navigate to a location of the first item in the first storage area in response to receiving the input by the cart picker and based on the task list. The method further including: receiving, by the REX, a confirmation message indicating that the first item has been picked from the first storage area to the cart AGV; and updating, by the REX, the task list to indicate that the first item has been picked from the first storage area to the cart AGV. The method further including: determining, by the REX, whether an additional item is assigned to be picked to the cart AGV based on the task list, the additional item being located in the first storage area; in response to determining, by the REX, that the additional item is assigned to be picked to the cart AGV, instructing the cart AGV to navigate to a location of the additional item in the first storage area; and in response to determining, by the REX, that no additional item is assigned to be picked to the cart AGV, instructing the cart AGV to navigate to the pick-cell station. The method further including: selecting, by the REX, the pick-cell station from a plurality of pick-cell stations in the operating environment based on a queue of cart AGVs at the plurality of pick-cell stations. The method further including: determining, by the REX, whether the pick-cell station is available for receiving the cart AGV; in response to determining, by the REX, that the pick-cell station is not available for receiving the cart AGV, signaling a pick-cell picker in the pick-cell station to stay in the pick-cell station, and instructing the cart AGV to wait in a queue for the pick-cell station; and in response to determining, by the REX, that the pick-cell station is available for receiving the cart AGV, instructing the cart AGV to navigate to the pick-cell station; and outputting instructions, via an output device of the one or more computing devices, to the pick-cell picker at the pick-cell station, the instructions indicating to place the second item in the carton along with the first item. The method further including: receiving, by the REX, a confirmation message indicating that the pick-cell picker has placed the second item in the carton along with the first item; and in response to receiving the confirmation message, instructing, by the REX, the cart AGV to navigate to a finalizing area of the operating environment, and detach a connectable cart coupled with the cart AGV at the finalizing area. The method further including: receiving, by the REX, a confirmation message indicating that the pick-cell picker has placed the second item in the carton along with the first item; and in response to receiving the confirmation message, instructing one of the picking AGV and a second picking AGV to retrieve a container from the pick-cell station, the second item having been held in the container during delivery to the pick-cell station by the picking AGV, transport the container to the second storage area, and place the container on a storage shelf in the second storage area. The method where the cart AGV includes a drive unit that provides motive force to the cart AGV and a guidance system that locates the cart AGV in the order fulfillment facility, the cart AGV autonomously transporting cartons, the cartons holding one or more items from the first set of items during transport of the one or more items by the cart AGV. The method where the picking AGV includes a drive unit that provides motive force to the picking AGV, a guidance system that locates the picking AGV in the order fulfillment facility, and a container retrieval mechanism that retrieves containers from a first shelf in the second storage area, transports the containers to the pick-cell station, and places the containers on a second shelf at the pick-cell station.

Another general aspect includes a system including: a plurality of AGVs including a cart AGV and a picking AGV; a REX that communicates with the plurality of AGVs, the REX including one or more processors and a memory storing instructions that, when executed by the one or more processors, cause the REX to: induct an order into the REX in response to receiving order data identifying items in the order to be fulfilled at an order fulfillment facility, the REX including one or more computing devices that communicate with a plurality of AGVs in the order fulfillment facility, the order fulfillment facility including an operating environment with a first storage area storing a first set of items, a second storage area storing a second set of items, and a pick-cell station at which one or more selected items from one or more of the first storage area and the second storage area are placed into a carton; generate a task list including tasks for fulfilling the order using the cart AGV and the picking AGV; instruct the cart AGV to retrieve a first item of the order from the first storage area based on the task list, the first item being in the first set of items; instruct the cart AGV to deliver the first item to the pick-cell station; instruct the picking AGV to retrieve a second item of the order from the second storage area, the second item being in the second set of items; and instruct the picking AGV to deliver the second item to the pick-cell station.

Implementations of the item handling and storage mechanism may include one or more of the following features. The system where the instructions further cause the REX to: determine whether an additional item is assigned to be picked to the cart AGV based on the task list, the additional item being located in the first storage area; instruct the cart AGV to navigate to a location of the additional item in the first storage area in response to determining that the additional item is assigned to be picked to the cart AGV; and instruct the cart AGV to navigate to the pick-cell station in response to determining that no additional item is assigned to be picked to the cart AGV. The system where the instructions further cause the REX to: determine whether the pick-cell station is available for receiving the cart AGV; in response to determining that the pick-cell station is not available for receiving the cart AGV, signal a pick-cell picker in the pick-cell station to stay in the pick-cell station, and instruct the cart AGV to wait in a queue for the pick-cell station; and in response to determining that the pick-cell station is available for receiving the cart AGV, instruct the cart AGV to navigate to the pick-cell station; and output instructions, via an output device of the one or more computing devices, to the pick-cell picker at the pick-cell station, the instructions indicating to place the second item in the carton along with the first item. The system where the instructions further cause the REX to: receive a confirmation message indicating that the pick-cell picker has placed the second item in the carton along with the first item; and in response to receiving the confirmation message, instruct the cart AGV to navigate to a finalizing area of the operating environment, and detach a connectable cart coupled with the cart AGV at the finalizing area. The system where the instructions further cause the REX to: receive a confirmation message indicating that the pick-cell picker has placed the second item in the carton along with the first item; and in response to receiving the confirmation message, instruct one of the picking AGV and a second picking AGV to retrieve a container from the pick-cell station, the second item having been held in the container during delivery to the pick-cell station by the picking AGV, transport the container to the second storage area, and place the container on a storage shelf in the second storage area. The system where the cart AGV includes a drive unit that provides motive force to the cart AGV and a guidance system that locates the cart AGV in the order fulfillment facility, the cart AGV autonomously transporting cartons, the cartons holding one or more items from the first set of items during transport of the one or more items by the cart AGV. The system where the picking AGV includes a drive unit that provides motive force to the picking AGV, a guidance system that locates the picking AGV in the order fulfillment facility, and a container retrieval mechanism that retrieves containers from a first shelf in the second storage area, transports the containers to the pick-cell station, and places the containers on a second shelf at the pick-cell station.

Another general aspect includes a method including: receiving an induction instruction from a warehouse management system, the induction instruction indicating a first item to be picked using a cart AGV and a second item to be picked using a picking AGV; instructing the cart AGV to connect to connectable cart; receiving a first confirmation from one or more picker computing devices that the cart AGV is connected to the connectable cart; selecting a pick-cell station from among a plurality of pick-cell stations; instructing the cart AGV to propel the connectable cart to a location of the first item; receiving a second confirmation from the one or more picker computing devices that the first item has been picked to the connectable cart; instructing the cart AGV to propel the connectable cart to the pick-cell station; instructing the picking AGV to navigate to a second location of the second item; retrieve the second item from a storage shelf at the second location; and navigate to the pick-cell station; presenting, for display on the one or more picker computing devices to a pick-cell picker, an instruction to place the first item and the second item in a designated carton on the connectable cart; receiving a third confirmation from the one or more picker computing devices that the first item and the second item have been placed in the designated carton; and instructing the cart AGV to propel the connectable cart to a finalizing area and detach from the connectable cart in the finalizing area.

Other implementations of one or more of these aspects include corresponding systems, apparatus, and computer programs, configured to perform the actions of the methods, encoded on computer storage devices.

It should be understood that the language used in the present disclosure has been principally selected for readability and instructional purposes, and not to limit the scope of the subject matter disclosed herein.

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosure is illustrated by way of example, and not by way of limitation in the figures of the accompanying drawings in which like reference numerals are used to refer to similar elements.

FIG. 1 is a block diagram of an example system and data communication flow for a hybrid modular storage fetching system.

FIG. 2A is a flowchart of an example method for picking an order in a hybrid modular storage fetching system.

FIG. 2B is a flowchart of an example method of managing automated guided vehicles by a robot execution system in a hybrid modular storage fetching system.

FIG. 3A is a schematic of an example configuration of an order fulfillment facility layout in a hybrid modular storage fetching system.

FIG. 3B is an illustration of an example pick-cell station.

FIGS. 4A-4E are data-flow diagrams of an example method of managing automated guided vehicles by a robot execution system.

FIG. 5 is a data-flow diagram of an example method of replenishing a supply of items in a container.

FIGS. 6A and 6B are illustrations of example cart automated guided vehicles.

FIGS. 7A-7B are illustrations of example modular storage units.

FIG. 8 is an illustration of an example picking automated guided vehicle.

FIG. 9 is a block diagram illustrating an example computing device.

DESCRIPTION

Among other benefits, the technology described herein improves upon that described in the Background Section. For instance, the technology provides robotic devices, systems, methods, and other aspects that can more efficiently process goods (e.g., items or items in an order fulfillment facility) based on demand.

Features of the technology described herein can be integrated into a logistics system, dispatch system 106, warehouse execution system 102, warehouse management system 104, a robot execution server 132, etc., to coordinate the provision of to-be-picked items in a hybrid modular storage fetching system. This technology beneficially improves productivity and throughput, increases asset utilization, and lowers cycle time and labor costs. These benefits, in turn, lead to shorter delivery times and result in significant savings and business value.

With reference to the figures, reference numbers may be used to refer to components found in any of the figures, regardless whether those reference numbers are shown in the figure being described. Further, where a reference number includes a letter referring to one of multiple similar components (e.g., component 000a, 000b, and 000n), the reference number may be used without the letter to refer to one or all of the similar components.

FIG. 1 depicts an example system 100 and data communication flow for implementing a hybrid modular storage fetching system. The system 100 includes a warehouse execution system (WES) 102. The WES 102 is coupled to equipment 110 (e.g., conveyor controls, conveyor scanners, conveyors, automated induction equipment, other warehouse equipment, etc.), a warehouse management system (WMS) 104, a data store 120 storing warehouse management, execution, dispatch, picking, carton, order, item, AGV, map, and/or other data, a picking system 108 (e.g., pick-to-voice, pick-to-light, etc.), a robot execution system or server (REX) 132, and a dispatch system 106.

The WES 102 may, in some implementations, include one or more hardware and/or virtual servers programmed to perform the operations, acts, and/or functionality described herein. The components of the WES 102 may comprise software routines storable in one or more non-transitory memory devices and executable by one or more computer processors of the WES 102 to carry out the operations, acts, and/or functionality described herein. In further implementations, these routines, or a portion thereof, may be embodied in electrical hardware that is operable to carry out the operations, acts, and/or functionality described herein.

The REX 132 may, in some implementations, include one or more hardware and/or virtual servers programmed to perform the operations, acts, and/or functionality described herein. For example, the REX 132 may include a picking agent that dynamically manages picking AGVs 114, a cart agent that dynamically manages cart AGVs 116, a management module that retrieves and stores information regarding AGV location, cartons, modular storage units 702, etc., in the data store 120, and an interface unit that interfaces with the other components of the system 100, according to the techniques described herein. The REX 132 may optimize workflow of picking AGVs 114 and cart AGVs 116, and dynamically manage resources and inventory, in conjunction with the WES 102, WMS 104, and dispatch system 106, etc., as described herein.

In some implementations, the REX 132 may generate a schedule or task list that defines the route for one or more AGVs during a picking session. The REX 132 may generate a task list, schedule, or other command and transmit it to the dispatch system 106, which in turn deploys one or more picking AGV(s) 114 and/or a cart AGV(s) 116 according to the schedule, for instance, depending on items to be picked from a high-density storage area 304 and/or pick-to-cart area 302. In some implementations, the dispatch system 106, based on instruction from the REX 132, instructs the AGVs to proceed through one or more of the picking zones of the order fulfillment facility according to the schedule. The schedule of the AGVs may be coordinated such that an optimal flow can be achieved, as discussed elsewhere herein.

In some implementations, the REX 132 may include or may communicate with a SKU (e.g., a stock keeping unit or unique identifier identifying an item) routing engine. The SKU routing engine is executable to route items into different storage zones depending based on picking profiles of the items, which may be stored and maintained as item data 130. The SKU routing engine dynamically monitors the picking activity in the order fulfillment facility, tracks which items have the highest volume or velocity for a given timeframe, stores the tracking data in the data store 120, and can instruct the REX 132 to have items relocated by AGVs to different storage locations in the order fulfillment facility based on the tracked picking activity.

A picking profile of a given item can change over time as demand for the item changes. The demand for a given item may be random or predicable (e.g., seasonal), and may change based on time of day, week, month, year, etc. The item routing engine may maintain the picking profile in the database as item data 130, and utilize that data to determine in which zone of the order fulfillment facility to store the item.

Advantageously, based on the picking profiles (e.g., velocity and volume), the SKU routing engine may provide a distinct automated application for picking. In some implementations, the SKU routing engine may continually algorithmically evaluate the picking profile of each SKU and instruct the WES 102 and dispatch system 106 to transfer/relocate items to another storage location and/or picking area, swap item locations, etc., when necessary to maintain the most expedient flow in the facility. This advantageously reduces capital associated with fully automated high velocity items and reduces replenishment complexity.

The WES 102 may store productivity information for points in the order fulfillment facility in a database (e.g., a non-transitory data store 120). The productivity information may reflect mechanical capacity of that given point of the AGV system. In some cases, the mechanical capacity may be dynamic based on current conditions (e.g., system health, staffing levels (e.g., number of associates working in zone), stock levels, operational state, etc.).

In some implementations, the WMS 104 may algorithmically analyze the configuration of a cart AGV 116 depending on items that are set for distribution/fulfillment in the next picking time window. The WMS 104 may generate a stocking list for the cart based on hub, priority, pick density, pick zone demand, and item-to-item affinity, etc. In some instances, the REX 132 may use the stocking list when generating the schedule for the cart AGV 116.

The dispatch system 106 may be electronically communicatively coupled to a plurality of AGVs. In some implementations, the dispatch system 106, or elements thereof, may be integrated with or communicatively coupled with the REX 132. The dispatch system 106 includes hardware and software configured to dispatch the AGVs, and is coupled for communication the components of the system 100 to receive instructions and provide data between, for instance, the REX 132 and the AGVs 114 and 116. In some implementations, the dispatch system 106 may include AGV hardware drivers and controls, dispatch logic, AGV traffic management logic, and other hardware and software for communicating with and managing the AGVs.

The AGVs are robotic vehicles including drive units providing motive force for moving the AGVs (and, in some instances, carts, modular storage units 702, AGV racks, AGV shelves, etc.), guidance systems for determining position of the AGVs within the order fulfillment facility, and equipment for carrying items. The equipment for carrying items may include carton holders, AGV shelves, modular storage unit holders, etc., such as carts, shelves, etc., as described in further detail in reference to FIGS. 5A-8, for example. FIGS. 5A-8 depict various types of AGVs, such as a picking AGV 114 (also referred to as a modular storage fetching (MSF) AGV) and cart AGVs 116.

A cart AGV 116 is an automated guided vehicle or robot configured to autonomously transport pick-to-cart items from a pick-to-cart area 302 of the order fulfillment facility to a pick-cell station 316 and/or finalizing area 314 (e.g., as described in reference to FIG. 3A). The cart AGV 116 may include a drive unit adapted to provide motive force to the cart AGV 116 and a guidance system adapted to locate the cart AGV 116 in the order fulfillment facility. In some implementations, the cart AGV 116 is adapted to autonomously transport a carton holder (e.g., a cart or shelves) that is, in turn, adapted to hold cartons. Cartons may include, for instance, a box (e.g., a shipping box) adapted to hold items. For example, a cart AGV 116 may push/pull a cart (e.g., a carton holder) holding cartons around a pick-to-cart area 302 and may automatically stop at storage bays of the pick-to-cart area 302 where items to be picked are stored, so that a picker in the pick-to-cart area 302 can easily place items into one or more of the cartons. In some instances, the cart AGV 116 may transport the cart to a pick-cell station 316 to receive additional items into the cartons from high-density storage (e.g., from modular storage units 702 in high-density storage, as described below). In some instances, the cart AGV 116 may move at walking speed next to, behind, or in front of a picker walking through the pick-to-cart area 302 of the order fulfillment facility. Additional details of example cart AGVs 116 are shown and described in reference to FIGS. 5A-5D.

A picking AGV 114a . . . 114n is an automated guided vehicle or robot that may be configured to autonomously transport items from a high-density storage area 304 of the order fulfillment facility to a pick-cell station 316, replenishment area 318, and/or finalizing area 314. The picking AGV 114 may include a drive unit adapted to provide motive force to the picking AGV 114, a guidance system adapted to locate the picking AGV 114 in the order fulfillment facility, and a shelving unit, which may be adapted to hold modular storage units 702. The picking AGV 114 may include a container handling mechanism (CHM) 816 (e.g., as shown in FIG. 8) that retrieves items or modular storage units 702 from storage shelves (e.g., in the high-density storage area), places items on an item holder (e.g., an AGV shelf) coupled with the picking AGV, and replaces items on storage shelves or at a pick-cell station. In some implementations, a picking AGV 114 may autonomously retrieve modular storage unit(s) 702 containing items to be picked in an order from the high-density storage area. For instance, the picking AGV 114 may transport the modular storage unit(s) 702 to a pick-cell station 316, so that a picker at the pick-cell station 316 can pick items from the modular storage unit(s) 702 and place them into containers in a cart. For example, a cart AGV 116 may transport a container to a bay in the pick-to-cart area 302 having a first item in an order, then to a pick-cell station 316 where a separate picking AGV 114 has delivered or will deliver a second item (e.g., in a modular storage unit 702) in the order, so that a picker can place the second item into the carton with the first item. The system 100 may coordinate the timing, placement, and movement of the cartons, modular storage units 702, pick-cell station 316 workload, and AGVs to bring cartons and modular storage units 702 having items corresponding to an order to the same pick-cell station 316 during the same time window, as described in further detail herein. Additional details of example picking AGVs 114 are described in reference to FIG. 8.

The WMS 104 may, in some implementations, include one or more hardware and/or virtual servers or software routines storable in one or more non-transitory memory devices and executable by one or more processors to perform the operations, acts, and/or functionality described herein. The WMS 104 may be configured to store and maintain carton data 124 in the data store 120. The carton data 124 includes information about cartons and/or containers in the system, such as a unique identifier for each carton or container, a carton or container type, the zones a carton will visit, the number of pick lines a carton proceeds through, and the priority for the carton. Some cartons may have a higher priority relative to other cartons and the system 100 may expedite handling of those cartons with higher priority relative to other cartons by the system 100. The carton data 124 may include a picklist defining the items the carton will contain. The WMS 104 may store data mapping items to the different pick zones (e.g., the pick-to-cart area 302, the high-density storage area 304, a particular modular storage unit 702, a particular location at a particular pick-cell station 316, etc.). In some implementations, the WMS 104 may be configured to communicate the carton data 124 with the WES 102, the picking system 108, and/or dispatch system 106 in real time, in batches, as requested by these components, etc.

The picking system 108 may, in some implementations, include one or more hardware and/or virtual servers or software routines storable in one or more non-transitory memory devices and executable by one or more processors to perform the operations, acts, and/or functionality described herein. The picking system 108 may receive pick confirmations, for example, from pickers or operators (e.g., using barcode scanners, NFC, RFID chips, or other sensors or input methods) working within a pick zone (e.g., a pick-to-cart area 302, pick-cell station 316, etc.) confirming that picks for a given carton have been performed, as described in further detail below.

The picking system 108 may include on or more computing devices having output devices, such as pick-to-voice or a pick-to-light system, graphical user interfaces, etc., for providing instructions and other information to pickers. The picking system 108 may be configured to communicate the pick confirmation data with the WES 102, WMS 104, REX 132, or other components of the system in real time, in batches, as requested by the components of the system, etc.

The picking system 108 may receive confirmatory input (e.g., pick confirmations) from pickers working within a pick zone. The confirmatory input confirms that all picks for a given carton have been completed. The picking system 108 transmits the confirmatory input to the WES 102 and/or the other components of the system 100. The confirmatory input may include the time stamp reflecting completion of the picks in the zone, a unique identifier identifying the picker (operator), a unique identifier identifying the pick zone, a unique identifier identifying the AGV, and/or a unique identifier identifying the carton (e.g. a carton number).

The data store 120 is an information source for storing and providing access to data. The data stored by the data store 120 may be organized and queried using various criteria including any type of data stored by it. The data store 120 may include data tables, databases, or other organized collections of data. An example of the types of data stored by the data store 120 may include, but is not limited to map data 122, AGV data 128, carton data 124, order data 126, modular storage unit data, etc. In some instances, the data store 120 may also include, conveying system attributes, picking data, picker attributes, sensor data, etc.

The data store 120 may be included in the WES 102, WMS 104, REX 132, or in another computing system and/or storage system distinct from but coupled to or accessible by the WES 102, WMS 104, REX 132, or other components of the system 100. The WES 102, picking system 108, REX 132, and/or dispatch system 106, for example, may store and maintain map data 122, order data 126, carton data 124, and AGV data 128. The data store 120 can include one or more non-transitory computer-readable mediums for storing the data. In some implementations, the data store 120 may store data associated with a database management system (DBMS) operable on a computing system. For example, the DBMS could include a structured query language (SQL) DBMS, a NoSQL DMBS, various combinations thereof, etc. In some instances, the DBMS may store data in multi-dimensional tables comprised of rows and columns, and manipulate, e.g., insert, query, update and/or delete, rows of data using programmatic operations.

The map data 122 may include data reflecting the 2 or 3 dimensional layout of the facility including the location of modular storage units 702, picking areas, lanes, equipment 110, storage shelving units, items, AGVs, etc. Map data 122 may indicate the attributes of the order fulfillment facility, including attributes of zones (e.g., one or more pick-to-cart areas 302, high-density storage areas 304, induction areas 308, finalizing areas 314, pick-cell stations 316, replenish stations, etc.). For example, attributes of zones may include the number, quantity, and location of shelving units or bays, modular storage units 702, items, guidance system locators or markers, etc.

The order data 126 includes data about picking including orders, items picked, items to be picked, picking performance, picker identities, pick confirmations, locations items are picked from, etc. Order data 126 may indicate the quantity and identity of items in orders, shipping addresses, order priority, progress of order fulfillment, number of cartons in an order, etc.

Item data 130 may describe items available for picking in an order fulfillment facility. The item data 130 may include unique identifiers for these items, the item volume (e.g., the total amount picked in given window (e.g., in an hour, day, etc.)), the item velocity (e.g., number of different times item picked in given window (e.g., per hour, day etc.), the unique location of the items within the order fulfillment facility (aisle, shelf, shelf position, etc.), other attributes of the item (e.g., size, description, weight, quantity of items in a package, color, etc.), item inventory, mapping of items of modular storage units 702, etc. In some implementations, the item data 130 may include the quantity of particular items a modular storage unit 702 contains, the current location of a modular storage unit 702, a preferred storage location of items and/or modular storage units 702, a threshold inventory level of items to be satisfied before autonomously transporting the modular storage unit 702 to a replenishment area 318 by a picking AGV 114 (e.g., to restock the items in the modular storage unit 702).

The AGV data 128 may describe the state of an AGV (operational state, health, location, battery life, storage capacity, items being carried, cartons, etc.), whether picker assigned to it, etc.

The components of the system 100 may be coupled to exchange data via wireless and/or wired data connections. The connections may be made via direct data connections and/or a computer network. The computer network may comprise any number of networks and/or types of networks, such as wide area networks, local area networks, virtual private networks, cellular networks, close or micro proximity networks (e.g., Bluetooth, NFC, etc.), etc. In some implementations, one or more of these components may be coupled via a data communications bus.

It should be noted that although certain features and operations are described in reference to particular components of the system 100, these features and operations may be performed by different components of the system 100 or additional components without departing from the scope of this disclosure.

FIG. 2A is a flowchart of an example method for picking an order in a hybrid modular storage fetching system. At 202, the REX 132, or another component of the system 100, may generate a picking schedule including pick-to-cart routing, modular storage fetching (MSF) routing, and/or pick-cell routing based on order data 126. The order data 126 may include one or more first unique identification codes representing one or more first items located in a pick-to-cart area 302 of an order fulfillment facility. In some instances, the order data 126 may also include one or more second unique identification codes representing one or more second items located in a high-density storage area 304 of the order fulfillment facility.

The pick-to-cart routing describes routing of a particular cart AGV 116a . . . 116n through a pick-to-cart area 302. For example, the pick-to-cart routing may include a list of pick-to-cart items to be picked to the cartons transported by the cart AGV 116. The pick-to-cart routing may indicate the location of the storage units, shelves, or bays in which an item in the picking list is located. In some implementations, the pick-to-cart routing may also include a defined route of a cart AGV 116 through these locations and an indication of locations at which to stop the cart AGV 116, so that a picker can pick items from adjacent storage units, shelves, or bays into the cartons transported by the cart AGV 116. The pick-to-cart routing may also include a schedule indicating when to pick items and when to deliver cartons to a particular pick-cell station 316.

The MSF routing describes routing of a particular picking AGV 114 through a high-density storage area 304. For example, the MSF routing may include a picking list of items stored in modular storage units 702, unique identification codes of the modular storage units 702, and the current locations of the modular storage units 702. In some instances, the current location of the modular storage units 702 may be in the high-density storage area 304, in a replenishment area 318, or at a pick-cell station 316. The MSF routing may also include a defined route of a picking AGV 114 through the order fulfillment facility to retrieve one or more modular storage units 702 including items from one or more orders and deliver those modular storage units 702 to assigned pick-cell stations 316. The defined route may be calculated to most efficiently retrieve one or a series of modular storage units 702, maximize a quantity of modular storage units 702 for the picking AGV 114 to retrieve in a single trip, to avoid traffic of other AGVs, and/or to cause the modular storage unit(s) 702 to arrive at a pick-cell station 316 at a minimized time difference from a carton (e.g., transported by a separate cart AGV 116) arriving at the same pick-cell station 316 to which the item in the modular storage unit 702 is to be placed, for example. The MSF routing may also include a schedule indicating when to retrieve modular storage units 702 and when to deliver the modular storage units 702 to a particular pick-cell station 316.

Pick-cell routing may describe routing of AGVs among pick-cell stations 316. For instance, a modular storage unit 702 may be transferred by a picking AGV 114 from one pick-cell station 316 to another pick-cell station 316, as described elsewhere herein.

In some implementations, the REX 132, or another component of the system 100, may determine, based on load information in one or more of the pick zones, that a particular zone, picker, path, pick-cell station 316, etc., has a high traffic load. In response to such a determination, the REX 132 may dynamically adjust the routing schedule, for example, dictating which cart AGVs 116 or picking AGVs 114 are sent into different zones of the order fulfillment facility. For example, the REX 132 may determine that there is a threshold level of traffic (e.g., by cart AGVs 116) in the pick-to-cart area 302, in response to which determination, the REX 132 may induct AGVs (e.g., cart AGVs 116 with particular orders to be filled) into the hybrid modular storage fetching system that bypass the pick-to-cart area 302 and proceed directly to pick-cell stations 316 to receive items from modular storage units 702. In another example implementation, the REX 132 may determine, for instance, that there is a threshold level of traffic in a staging area 312 or that no picking AGVs 114 are available to retrieve items from high-density storage area 304 and may, in response, induct cart AGVs into the system that do not stop at a pick-cell station 316 or that require fewer modular storage units 702 to be retrieved from high-density storage. Accordingly, in some implementations, the REX 132 may dynamically balance the load of various zones, AGVs, pick-cell stations, etc., in the system by adapting the composition (e.g., items from pick-to-cart versus from high-density storage) of orders/cartons on a particular AGV (e.g., a cart AGV), for example.

At 204, the REX 132 may transmit a signal including the picking schedule (or components thereof) to the dispatch system 106.

At 206, the dispatch system 106 may dispatch a cart AGV 116 according to the picking schedule. In some implementations, dispatching a cart AGV 116 may include creating cartons, assigning the cartons to a cart to be transported by a cart AGV 116, placing the cartons on the cart, and, in some instances, coupling the cart AGV 116 with the cart. For instance, the REX 132 or WMS 104 may assign orders (or items thereof) to cartons. Labels with unique identification codes identifying the cartons may be printed, placed on cartons, and the cartons may be placed on the cart at an induction area 308. The unique identification codes of the cartons may match, in the data store 120, the carton (and therefor the cart/cart AGV 116) with items to be picked.

At 208, the dispatch system 106 may dispatch a picking AGV 114 according to the MSF routing.

At 210, the cart AGV 116 may autonomously navigate along a path through the pick-to-cart area 302 according to the pick-to-cart routing to retrieve one or more items located in the pick-to-cart area 302. As described elsewhere herein, the cart AGV 116 may follow the guidance system through the pick-to-cart area 302 and stop at designated areas for items stored in those areas to be picked to the designated cartons. In some implementations, the cart, carton, cart AGV 116, storage area, or separate computing device (e.g., a mobile device of a picker) may include an output device that provides output indicating items to be picked at a particular location and, in some implementations, the output device may also include an input to receive pick confirmations. Once the pick confirmation has been received, the cart AGV 116 may autonomously move to the next area to pick a subsequent item assigned to a carton on the cart.

Once items in the pick-to-cart storage area have been picked to the cart AGV 116, the cart AGV 116 may autonomously navigate to an assigned pick-cell station 316 or to a finalizing area 314 according to the pick-to-cart routing. In some implementations, the cart AGV 116 may decouple from the cart and leave the cart at the pick-cell station 316 (or at a finalizing area 314) so that the cart AGV 116 may transport another cart while the first cart is being filled with items from modular storage units 702, for example.

At 212, the picking AGV 114 may autonomously navigate to a location of the one or more modular storage units 702 in the high-density storage area 304 (or a replenishment area 318, pick-cell station 316, etc.), the one or more modular storage units 702 containing one or more items in an order, for example, an order with a carton transported by a cart AGV 116, as described above. The picking AGV 114 may autonomously retrieve the one or more modular storage units 702 from the high-density storage area 304, for example. The picking AGV 114 may then autonomously navigate from the location of the modular storage unit(s) 702 to the pick-cell station 316 according to the MSF routing to transport the modular storage unit(s) 702 to the pick-cell station 316. In some implementations, the picking AGV 114 may hold a plurality of modular storage units 702 and may deliver each of the modular storage units 702 to the same pick-cell station 316 or to separate pick-cell stations 316. In some implementations, the picking AGV 114 may also retrieve modular storage units 702 that are no longer needed at a particular pick-cell station 316 either separately or while delivering new modular storage units 702 to the pick-cell station.

At 214, the picking system 108 outputs instructions to an output device (e.g., on the cart, pick-cell station, modular storage unit 702, or separate computing device, etc.), the instructions directing a picker at a pick-cell station to transfer items from modular storage unit(s) 702 at the pick-cell station to carton(s) on the cart.

FIG. 2B is a flowchart of an example method of managing AGVs by a REX 132 in a hybrid modular storage fetching system. At 232, the REX 132 may induct an order into the system, for instance, in response to receiving order data identifying items in the order to be fulfilled at an order fulfillment facility. For example, the REX 132 may receive an induction instruction message from the WMS 104 including the order data and labels that describe cartons, items to be picked to using the cart AGV 116, items to be picked using a picking AGV 114, orders assigned to the cart AGV 116, a connectable cart, and/or cartons carried by the cart AGV 116. The REX 132 may store the labels in association with the cart AGV 116 and/or a connectable cart coupleable to the cart AGV 116 in the data store 120. The induction of the order is described in further reference with at least FIG. 4A herein.

The order fulfillment facility may include an operating environment with a first storage area (e.g., a pick-to-cart area 302) storing a first set of items, a second storage area (e.g., a high-density storage area 304) storing a second set of items, and a pick-cell station 316 at which one or more selected items from one or more of the first storage area and the second storage area are placed into a carton.

At 234, the REX 132 may generate a task list including tasks for fulfilling the order using one or more cart AGVs 116 and/or picking AGVs 114. The task list may include a picking schedule, as described above. For instance, in some implementations, the REX 132 may generate or update a task list to indicate a sequence of locations (e.g., where items in the order are located) for a cart AGV 116 and/or a picking AGV 114 to navigate to and, in some instances, retrieve modular storage units 702 or other items from.

At 236, the REX 132 may instruct a particular cart AGV 116 to retrieve a first item of the order from the first storage area based on the task list, the first item being in the first set of items. For example, the REX 132, or another component of the system 100, may determine that a particular item is in a set of items stored in a pick-to-cart area 302 of the order fulfillment facility, determine the location of the item, and instruct a next available cart AGV 116 to navigate to and retrieve the item from the determined location in the pick-to-cart area 302 (e.g., either automatically, or by issuing an instruction to a picker to pick the item to a carton held by the cart AGV 116).

At 238, the REX 132 may instruct the cart AGV 116 to deliver the first item to the pick-cell station 316. For example, the REX 132 may instruct the cart AGV 116 to navigate (e.g., using a guidance system) to and stop at a pick-cell station 316.

At 240, the REX 132 may instruct the picking AGV 114 to retrieve a second item of the order from the second storage area, the second item being in the second set of items. For example, the REX 132, or another component of the system 100, may determine that a particular item (e.g., in a modular storage unit 702) is in a set of items stored in a high-density storage area 304 of the order fulfillment facility, determine the location of the particular item, and instruct a next available picking AGV 114 to navigate to and retrieve the item from the determined location in the high-density storage area 304.

For example, the picking AGV 114 may navigate (e.g., using a guidance system) to a location in front of a storage shelving unit in the high-density storage area 304 at which a modular storage unit 702 having the item is stored. The picking AGV 114 may then extend a carrying surface 820 underneath the modular storage unit 702, lift the modular storage unit 702 from the storage shelving unit, and retract the carrying surface 820 with the modular storage unit 702 to the picking AGV 114. In some instances, the picking AGV 114 may place the modular storage unit 702 on an AGV rack 806 during navigation of the picking AGV 114 through the operating environment.

At 242, the REX 132 may instruct the picking AGV 114 to deliver the second item to the pick-cell station 316. For instance, the picking AGV 114 may navigate to a location of the pick-cell station 316, and place the second item (e.g., a modular storage unit 702 containing the second item) on a shelf of the pick-cell station 316. For example, the picking AGV 114 may lift the modular storage unit 702 from an AGV rack 806 by a carrying surface 820, extend the carrying surface 820 to the pick-cell station shelf, lower the modular storage unit 702 onto the pick-cell station shelf, and retract the carrying surface 820.

FIG. 3A depicts a schematic of an example configuration of an order fulfillment facility, which may be an operating environment of one or more picking AGVs 114 and cart AGVs 116. It should be understood that various distribution facilities may include different picking zones having different stocking infrastructure and picking configurations. For instance, high-volume and/or velocity items (e.g., items appearing above a defined threshold of frequency in orders) may be stored in a pick-to-cart area 302 and be available for immediate picking, and relatively moderate and/or low-volume and/or velocity items may be stored in high-density storage area 304 on modular storage units 702 which may be retrieved by picking AGVs 114 for an upcoming pick.

The layout depicted in FIG. 3A includes various areas: an induction area 308, a pick-to-cart area 302, a pick-cell area 310, a pick-cell staging area 312, a high-density storage area 304, a finalizing area 314, and a freight or modular storage unit elevator (not shown) for multi-level access when the layout includes multiple floors. In some cases, the layout may include multiple levels of mezzanine with one or more of the different zones/areas. In some implementation, cart AGVs 116 are staged in the induction area 308 and are set up for picking sessions. In some implementations, cartons are assembled, labeled with unique scannable visual identifiers to associate them with specific orders, and are placed on the supports (e.g., cart shelves) of the cart AGVs 116 in the induction area 308.

The pick-to-cart area 302 is configured for high-velocity and/or volume items and advantageously reduces capital associated to handle this type of item class. Inventory may be stored in high-volume storage in containers or pallets, for example. High velocity items may be divided into pick zones, each zone may include a plurality of bays (e.g., 4, 5, 6+), which may be balanced by the SKU routing engine based on demand by the SKU routing engine. Cart AGVs 116 may be scheduled by the REX 132 to autonomously visit these zones, and pickers accompanying the cart AGVs 116 may be guided by the picking hardware (e.g., pick-to-voice and/or pick-to-light) controlled by the picking system 108. In an example, a cart AGV 116 is instructed by the REX 132 to stop directly in front of a bay location. The cart AGV 116 may self-locate using a guidance system. For example, the guidance system may include guidance system locators or markers, such as guide tape (magnetic, colored, etc.), laser target navigation, inertial navigation, vision guidance, geolocation, QR codes on the floor of the order fulfillment facility, RFID (radio frequency identification) tags, beacons, etc., that can be used to locate and navigate AGVs in the order fulfillment facility. Further, the AGVs may include guidance system components configured to read the guidance system locators, such as a QR code reader, wireless radio, etc.

After the picker picks the item and confirms the pick with the picking hardware, the cart AGV 116 autonomously moves to the next sequential bay until the picks are complete. As shown in FIG. 3A, a cart AGV 116 has the capability to bypass zones, bays, shelves, etc., without picks. Each zone can have dedicated cart AGV 116 accumulation or queue before the zone to reduce cycle time.

The picking station area may include pick-cell stations 316a, 316b, and 316c situated along primary path(s) via which the cart AGVs 116 are routed. In FIG. 3A, the pick-cell stations 316 are situated opposing a portion of the pick-to-cart area 302 and the cart AGVs 116 may be routed to visit one or more of these pick-cell stations 316 depending on the items that need to be picked and placed in the cartons of these cart AGVs 116. In the case that in given cart AGV 116 does not require any items from the picking station area, it may bypass it entirely and proceed to the finalizing area 314.

In some implementations, for a given picking session, the REX 132 may establish a single line picking configuration in which the picker and the cart travel through an inventory pick path along a single line until the picks are fulfilled. In further implementations, based on demand, a fast moving area may be established by the REX 132 that includes multiple routes: a higher speed line that includes single line picking for low-demand items and another area for high demand items. This combination can advantageously balance daily labor.

The layout may also include a replenishment area 318 in which modular storage units 702 are replenished with items. For instance, item inventory in a given modular storage unit 702 may be replenished by a picking AGV 114 that picks the modular storage unit 702 from static shelves and transports them to the replenishment area 318 where a case may be opened and items from the case placed directly into the modular storage units 702. One or more items (whether of the same type of item or different types) can be placed in a given modular storage unit 702. In some cases the modular storage unit 702 may be replenished while it is in the static shelf. Having multiple options (manual or AGV) for replenishment has more flexibility to adjust to resource allocation and schedule. Additionally or alternatively, the picking AGV 114 can swap out the modular storage unit 702 with another containing the same SKUs which has been prepared ahead of time and staged for that purpose.

In some implementations, the REX 132 may instruct picking AGVs 114 to replenish and distribute modular storage units 702 in different locations of the high-density storage area 304 based on order history. In these implementations, items with high order frequency orders may be distributed in more locations than items with lower order frequency. The WES 102 may maintain a moving minimum based on order quantity minimizing the need to use inventory from two locations to fulfill an order, and the REX 132 may schedule the AGVs accordingly.

The modular storage units 702 storing items may be moved by picking AGVs 114 from high-density storage area 304 into a staging area 312 and staged for movement into a pick-cell station for an upcoming pick. In some implementations, the storage units of faster-moving items may be moved directed to a pick cell 382 in a given pick-cell station 316.

In further implementations, the REX 132 may instruct a picking AGV 114 to transfer a modular storage unit 702 between cells of a pick-cell station 316, or between pick-cell stations 316 (e.g., 316a and 316b) without having to expend the time to return the modular storage unit 702 to the high-density storage area 304.

FIG. 3A also illustrates example paths of AGVs through the order fulfillment facility. The paths are represented by dotted lines, cart AGVs 116 are represented by ovals, and picking AGVs 114a . . . 114d are represented by diamonds.

Example cart AGV paths are illustrated in FIG. 3A, for example, a cart AGV 116 may navigate from an induction area 308, on a path through the pick-to-cart area 302, and then to one or more pick-cell stations 316. Once the picks for the cart AGV 116 have been completed, it may navigate to a finalizing area 314 where cartons are prepared for shipment, for example. Once the cartons have been removed from the cart AGV 116, the cart AGV 116 may return to the induction area 308 to start through the process again.

Example picking AGV paths are also illustrated in FIG. 3A, for example, a picking AGV 114a may transport a modular storage unit E from a first pick-cell station 316a to a replenishment area 318 for replenishment. A picking AGV 114b may retrieve a first modular storage unit A from a first location, navigate to a second location, retrieve a second modular storage unit B, and transport both the first and second modular storage units A and B to a pick-cell station 316b. A picking AGV 114c may retrieve a modular storage unit C from a first pick-cell station 316a and transport it to a second pick-cell station 316b. A picking AGV 114d may retrieve a modular storage unit D and transport it back to the high-density storage area 304. It should be understood that these paths and implementations are provided as examples and that other combinations are possible and contemplated herein. For example, one or more picking AGVs 114 may perform some or all of the paths illustrated as well as others not illustrated in FIG. 3A. Further, as described elsewhere herein, the automation of the picking AGV 114 may be performed in synchronization with other actions (e.g., automation of cart AGVs 116, picking sessions or windows, movement of other AGVs or pickers, etc.) in the hybrid modular storage fetching system.

FIG. 3B is an illustration of an example pick-cell station 316. Each pick-cell station 316 may include one or more pick cells 382. The pick cells 382 are a temporary storage mediums (e.g., shelves, bays, etc.) for the modular storage units 702 (e.g., mini pallets, totes, modular storage racks, etc.) and modular storage units 702 may be storage containers that can be picked up or tugged and transported by a picking AGV 114. In some cases the pick-cell station 316 may include an output device, such as a pick-to-light frame, for carts, that matches the locations of the cartons in the cart and/or a put or pick-to-light frame 384 for the pick cells 382 to indicate the locations of modular storage units 702 to use for a particular pick. For instance, a pick-cell station 316 may include an output device configured to provide picking instructions to a picker, the picking instructions indicating to the picker which of the items in the modular storage units 702 to place in a carton held on the carton holder of the cart AGV 116.

One or multiple of the pick cells 382 may be organized into a staging area 312 around a picker in a pick-cell station 316, so that modular storage units 702 can be easily accessed by the picker. In some implementations, a picking AGV 114 may be configured to stage the modular storage units 702 at the staging area 312. For instance, a picking AGV 114 may approach from the rear of a pick cell 382 and stage (e.g., place, deliver, etc.) a modular storage unit 702 on the pick cell 382. In some implementations, a modular storage unit 702 may be associated by the picking system 108 with a particular location in the staging area 312 to more precisely direct a picker to the location of the modular storage unit 702 (e.g., using a pick-to-light or other output system).

At a given pick-cell station 316, a cart AGV 116 may arrive and situate itself on one side of the station with the cartons on the cart AGV 116 facing the picker. On the other sides of the station are pick cells 382 in which modular storage units 702 situated and from which the picker may select items to fulfill the orders associated with the cartons. The modular storage units 702 may contain one or more items, types of items (e.g., represented by different universal product codes or stock keeping units), etc.

FIGS. 4A-4E are data-flow diagrams of an example method of managing AGVs by a REX 132. The WES 102 or WMS 104 may receive an order including items for distribution/fulfillment. The order may be reflected in order data 126 having a unique identification code (e.g., unique product codes, stock keeping units, etc.) for an item and a quantity associated with that item. The order may be assigned a carton (e.g., of a particular size, dimension, etc.) for picking and/or shipping or, in some instances, split into multiple cartons. At 402, the WMS 104 may send a robot information message (RIM) to the REX 132. The RIM message may indicate to the REX 132 that one or more cartons are being to be inducted into the system, for example, by identifying the cartons in one or multiple orders and, in some instances, items in the cartons. The RIM message may include order details, carton numbers, lines in an order, SKUs in an order, quantities of SKUs in an order, or other information for inducting an order into the system.

At 404, the REX 132 may assign a cart to the cartons and, in some instances, store the carton information received in the RIM message in the data store 120. In some implementations, the cart may include a connectable cart, which may be assigned to a cart AGV 116, for instance, based on an availability of the cart AGV 116, proximity of the cart AGV 116 to an induction area 308, availability or location of a connectable cart, size or other attributes of the connectable cart, or another criteria.

At 406, the WMS 104 may set up a new start point for cartons and use flow control to release orders. For instance, the WMS 104 may assign items to the carton(s) assigned to a cart AGV 116. For instance, the one or more orders assigned to the cart AGV 116 (e.g., to the connectable cart) may each be assigned to one or more cartons. In some implementations, releasing the orders may include printing labels with unique identifiers (e.g., QR codes, bar codes, stock keeping units, tracking codes, etc.) and/or creating the cartons and placing them on the cart of the cart AGV 116.

At 408, the WMS 104 may receive input scanning the labels to a cart record of the cart (e.g., using voice input or other input of the picking system 108). For instance, a picker in the induction area 308 may scan the labels using an optical scanner, which is coupled with the WMS 104. The WMS 104 may then associate, in a cart record, the unique identifier of the labels, the order(s), the items in the order(s), and the cart/cart AGV 116, for instance.

At 410, the WMS 104 may send a cart message to the REX 132. The cart message may indicate the labels assigned to the cart/cart AGV 116, thereby identifying the orders assigned to the cartons on the cart/cart AGV 116. In some instances, the message may identify one or both of the items in each order that are stored in the high-density storage area 304 and the pick-to-cart area 302.

In some implementations, the RIM message and the cart message may be sent as separate messages or may be combined into an induction instruction indicating one or more first items in each order assigned to the cart AGV 116 to be picked using the cart AGV 116 and one or more second items in each order to be picked using the picking AGV 114. It should be noted that some orders may include only items located in the pick-to-cart area 302 or items located in the high-density storage area 304 of an order fulfillment facility without departing from the scope of this disclosure.

At 412, the REX 132 may update the cart state and/or carton information for the carton(s), for instance, to indicate that the labels have been assigned to the cart/cart AGV 116, and, in some implementations, may instruct a cart AGV 116 to connect to a connectable cart.

At 416, in response to receiving the instruction from the REX 132, the cart AGV 116 may navigate to a location of the cart (e.g., in the induction area 308) and mechanically couple with the cart, so that the cart AGV 116 may push or pull the cart through the order fulfillment facility. For example, a cart AGV 116 may include a coupling mechanism that detachably couples the cart AGV 116 to a connectable cart. The coupling mechanism may mate with a corresponding coupling component of the connectable cart, so that when the cart AGV 116 is under or adjacent to the connectable cart, the coupling mechanism may attach the connectable cart, for instance, in response to a signal received from the dispatch system 106. The cart AGV 116 may then pull or push the connectable cart through an operating environment, such as the order fulfillment facility described in reference to FIG. 3A.

At 418, the REX 132 may provide a dashboard for cart building and receiving input for the same. For instance, the REX 132 may output a dashboard embodied by a graphical user interface presented on a computing device, which may be part of the picking system 108. The dashboard may indicate that the connectable cart is coupled with the cart AGV 116 and the labels have been assigned to the connectable cart.

At 420, the REX 132 may release the cart to pick. For instance, the REX 132 may release the cart AGV 116 to navigate away from the induction area 308 to, for instance, the pick-to-cart area 302 based on an automatic determination that the cart AGV 116 is coupled to the connectable cart and the labels have been scanned into the cart record, or, for instance, based on a confirmatory input from a picker into the dashboard.

In some implementations, the REX 132 may receive, via the dashboard, a confirmation input from a picker that the cart AGV 116 is connected to the connectable cart and is ready to be released to pick. For example, the cart AGV 116 may be released to navigate to the pick-to-cart area 302 where items will be picked to the cartons on the cart AGV 116.

At 430, the REX 132 may select a pick-cell station 316 from a plurality of pick-cell stations in the operating environment. In some implementations, the pick-cell station 316 may be selected based on a queue or projected load of cart AGVs 116 at each of the plurality of pick-cell stations, proximity to items to be picked, availability, presence of items (e.g., in modular storage units 702) already staged at the pick-cell station 316, speed of picker, or other criteria.

At 432, the REX 132 may create tasks for cart AGVs 116 and/or picking AGVs 114, for example, using a navigation marker database. For instance, the task list may include a series of items to be picked, and the order and AGV assigned to perform the picks may be selected based on the locations of items assigned to be picked. For instance, the task list may include a series of items and corresponding locations in a pick-to-cart area 302 for picking using a cart AGV 116. The task list may also or alternatively include a series of items and corresponding locations in a high-density storage area 304 for retrieval using a picking AGV 114.

At 434, the REX 132 may store the tasks for the cart AGVs 116 and/or the picking AGVs 114.

At 436, the REX 132 may instruct one or more picking AGVs 114 to retrieve one or more containers, modular storage units 702, or other items, from the high-density storage area 304 or, potentially, from another area of the operating environment (e.g., another pick-cell station 316). For instance, the REX 132 may transmit a signal identifying high-density items, modular storage units 702 in which the items are stored, locations of the modular storage units 702, etc., to one or more picking AGVs 114 (e.g., multiple picking AGVs 114 may be employed to distribute the work of modular storage unit 702 transport). Other information such as identification of a designated pick-cell station 316 and time window for the items to be at the designated pick-cell station 316, routing directions, priority, traffic of other AGVs, modular storage unit 702 dimensions, etc., may also be transmitted in the signal to the picking AGV(s) 114.

The picking AGV(s) 114 may autonomously navigate to a location of a first modular storage unit 702 in a high-density storage area 304 and may retrieve it from the location (e.g., from a storage shelving unit at the location).

In some implementations, the picking AGV(s) 114 may also retrieve a second item from the high-density storage area 304. For instance, a picking AGV 114 may autonomously navigate to a second location of a second modular storage unit 702 in the high-density storage area 304 and retrieve it from the second location. The path of a picking AGV 114 may be determined to efficiently retrieve each modular storage unit 702. Additionally, in circumstances where multiple modular storage units 702 have a certain item, a particular modular storage unit 702 may be selected based proximity of the multiple modular storage units 702 to an assigned pick-cell station 316 and/or the picking AGV 114.

At 438, the picking AGV(s) 114 may navigate to the selected pick-cell station 316 and, at 440 may place the container at the selected pick-cell station 316, for example, as described above.

At 422, the cart AGV 116 may navigate to a next location. For instance, the cart AGV 116 may navigate to a sequential location in a task list, which sequential location may correspond to a location of an item in an order assigned to the cart/cart AGV 116. For instance, a REX 132 may instruct the cart AGV 116 to navigate (e.g., propel the connectable cart) to a location of a first item in the pick-to-cart area 302 based on a task list (e.g., generated in 432 or during induction, depending on the implementation). For example, the cart AGV 116 may navigate to a bay (e.g., a shelving bay) where a pick-to-cart item in one or more orders assigned to the cart is stored. For example, a guidance system coupled with the cart AGV 116 may read navigation markers and follow them until a destination defined by the REX 132 (or another component of the system 100) is reached. For instance, the cart AGV 116 may stop adjacent to the location where the item is stored (e.g., in front of a storage shelving unit).

At 424, the WMS 104 may assign a pick at the location to a picker, for example, via voice, light, or other output of the picking system 108. In some implementations, the picking system 108 may output an instruction to a picker on an output device, the instruction identifying the item and quantity to be picked at that location. In some implementations, the picking system 108 may coordinate lights or screens on the cart indicating into which carton an item is to be placed and/or lights on a shelving bay/location of the item in the pick-to-cart area 302 indicating the storage location of the item. Other systems, such as audio (e.g., pick-to-voice), a mobile computing device indicating the location of the item, etc., are possible.

At 426, the WMS 104 may receive a confirmation message input from the picker confirming the pick into a computing device of the picking system 108. For example, the input may include one or more messages indicating that an item (e.g., a specific item in one of the orders assigned to the cart) has been picked from the location and put on the cart AGV 116, for example, into a carton on the connectable cart coupled with the cart AGV 116.

At 428, the WMS 104 may send a message to the REX 132 indicating that the pick(s) at the location have been completed, in response to which, at 444, the REX 132 may update the picks, for example in the task list and/or cart record, to indicate that the first item has been picked to the cart/cart AGV 116.

The REX 132 may determine, at 446, whether an additional item in the task list is assigned to be picked to the cart AGV 116 from the pick-to-cart area 302 (e.g., also referred to as a P2C or pick-to-cart pick).

In response to determining that there is an additional item in the task list to be picked to the cart AGV 116, the REX 132 may instruct the cart AGV 116 to return to the operation at 422 to navigate to the next location of the additional item in the pick-to-cart area 302 based on the task list. In some implementations, the order of locations visited by the cart AGV 116 is based on a picking list configured to order the picking according to a designated path through the pick-to-cart area 302.

In response to a negative determination at 446, the method may continue to 448, where the REX 132 determines whether there are picks at the pick-cell station assigned to one or more of the cartons assigned to the cart/cart AGV 116. For instance, the REX 132 may determine whether there are items in the high-density storage area 304 also assigned to one or more cartons transported by the cart AGV 116. For example, if one or more of the orders assigned to the cart AGV 116 (e.g., as described above) includes an item that is to be retrieved by a picking AGV 114, the REX 132 may direct the cart AGV 116 to navigate to the pick-cell station 316 where the item from the picking AGV 114 may be picked to the cart AGV 116 (e.g., to a carton in the connectable cart).

If there are no pick-cell picks, the method may proceed to 480, described below.

If there are pick-cell picks, the REX 132 may determine, at 450, whether the selected pick-cell station 316 is available. For example, the REX 132 may determine whether another cart AGV 116 is already at the selected pick-cell station 316 or if there is another reason that the selected pick-cell station 316 may not be available, such as that a picker at the pick-cell station is on a break, the pick-cell station is temporarily out of order, etc.

In response to determining that the selected pick-cell station 316 is not available, the REX 132 may transmit a signal to the WMS 104, which may assign, at 452, a picker associated with the cart AGV 116 to another cart AGV 116, for example, using voice. In some implementations, the cart AGV 116 may be reassigned to a different pick-cell station 316 either automatically by the REX 132 or by a picker using the picking system 108.

At 454, the REX 132 may signal a current picker in the selected (or reassigned) pick-cell station 316 to stay in the pick-cell station 316 to wait for the cart AGV 116 and/or one or more picking AGVs 114.

At 456, the cart AGV 116 may enter a queue on a main buffer (e.g., waiting for one of a plurality of pick-cell stations 316) or a pick-cell station buffer (e.g., waiting for the selected pick-cell station 316).

If the determination at 450 is that the selected pick-cell station 316 is available or that the pick-cell buffer has cleared, the method may continue to 458, where the cart AGV 116 may navigate to the pick-cell station 316. For instance, the cart AGV 116 may autonomously navigate to the selected pick-cell station 316 to pick-cell picks. This may be done in coordination with one or more picking AGVs 114 delivering items to the pick-cell station 316.

At 460, the REX 132 may present a picking instruction in the pick-cell station 316 to a pick-cell picker, for example, in response to the cart AGV 116 (and/or the picking AGV 114) arriving at the pick-cell station 316. For instance, the picking system 108 may output instructions via an output device to a pick-cell picker indicating to place an item from a picking AGV 114 (e.g., in a modular storage unit 702 or other carton delivered by the picking AGV 114) into a carton along with an item picked using the cart AGV 116. For instance, the picking system 108 may direct the pick-cell picker to pick an item from a modular storage unit 702 delivered to the pick-cell station 316 by a picking AGV 114 and put the item in a particular carton (e.g., the carton to which the item was assigned, as described above) held on a connectable cart of the cart AGV 116.

At 462, the WMS 104 or REX 132, may receive a pick confirmation confirming that an item has been picked by the pick-cell picker from a container, such as a modular storage unit 702. For instance, the pick-cell picker may use a computing device of the picking system 108 to scan a label of the item or container in which the item is stored to confirm the pick, although it should be noted that other methods of confirming the pick (e.g., using voice or a button) are possible.

At 464, the WMS 104 or REX 132, may receive a put confirmation message indicating that an item has been put into the carton by the pick-cell picker. For instance, the pick-cell picker may use a computing device of the picking system 108 to scan a cart label or carton label indicating the carton into which the picker put the item. The picker may also or alternatively confirm the put with voice or other input. For instance, the picker may place the item into a carton along with an item that was put into the carton using the cart AGV 116 in the pick-to-cart area 302.

In response to receiving the put confirmation (whether directly from the picking system 108 or from the WMS 104), at 466, the REX 132 may update the task list in the database to indicate that the pick and put have been completed for the item.

At 468, the REX 132 may release the container from the pick-cell station and generate a task, for instance, for a picking AGV 114 to store the container back to the high-density storage area 304. In some implementations, the container may not be released unless all picks from that container to the cart/cart AGV 116 have been performed.

The REX 132 may signal the picking AGV 114 (e.g., the same picking AGV 114 that delivered the container, a next available picking AGV 114, or another selected picking AGV 114) to store the container, in response to which, at 474, the picking AGV 114 may retrieve the container from the pick-cell station 316.

At 476, the picking AGV 114 may navigate to a storage shelf in the high-density storage area 304 and, at 478 may place the container on the storage shelf. For instance, the picking AGV 114 may store the container at a location where the container was stored prior to being retrieved above or, the REX 132 may direct the picking AGV 114 to store the container at a different location, for example, based on availability of storage shelves, projected demand for items in the container, quantity of items remaining in the container, or other criteria.

At 472, the REX 132 may determine whether there are additional pick-cell picks for the cart AGV 116 (e.g., for the cartons held by the cart/cart AGV 116) at the pick-cell station 316. If there are additional pick-cell picks for the cart AGV 116, the method may return to the operation at 460 to present an instruction to the pick-cell picker for the next pick-cell pick.

In response to determining, at 448 that there are no pick-cell picks or determining, at 472 that there are no additional picks in the pick-cell station 316, the REX 132 may instruct the cart AGV 116 to go to the finalizing area 314, and at 482, the cart AGV 116 may navigate to the finalizing area. For instance, the REX 132 may instruct the cart AGV 116 to propel the connectable cart to the finalizing area 314.

At 484, the cart AGV 116 may detach from the connectable cart in the finalizing area 314. In some implementations, the cart AGV 116 may then return to an induction area 308 to attach to another connectable cart.

At 486, the REX 132 may provide a dashboard for finalizing and receive input for the same. For instance, an associate in the finalizing area 314 may finalize the cart using the dashboard and/or using the WMS 104. In some implementations, the associate may remove the carton(s) from the connectable cart, verify the contents a carton, close the cartons, place the cartons on a conveyer to go to a shipping area, and confirm on the dashboard that the cartons have been finalized.

At 488, in some implementations, the associate may use the dashboard or other input method to release the cart (e.g., the connectable cart) to induction, in response to which the REX 132 directs a cart AGV 116 (e.g., a next available or other cart AGV 116) to attach to the released cart in the finalizing area at 490. At 492, the cart AGV 116 may navigate to the induction area 308 with the cart.

FIG. 5 is a data-flow diagram of an example method of replenishing a supply of items in a carton. At 502, a WMS 104 may receive input indicating a short pick (e.g., an inventory of items that is insufficient to fill an order, below a defined threshold, etc.). In some implementations, the determination that there is a short pick may be made automatically by a component of the system 100 (e.g., the WMS 104, the REX 132, or WES 102) determining that a level of inventory in the order fulfillment facility or in a particular modular storage unit 702 is below a defined threshold quantity or percentage or is insufficient to fill an outstanding order. In some implementations, a picker (e.g., at a pick-cell station 316) may provide an input indicating an insufficient or low quantity of items are in a modular storage unit 702.

In implementations, where an input indicating an insufficient quantity of items is in the modular storage unit 702 is received during a pick at a pick-cell station 316, the picking system 108 or WMS 104 may provide instructions to the picker to leave the order (e.g., a carton corresponding to the order) in a cart coupled with the cart AGV 116 until the pick is fulfilled.

At 504, the WMS 104 may create wave or lean tasks. A wave task may be, for example, a request for an emergency replenishment, such as when an order is set to be filled, but the system (e.g., the WMS 104 or REX 132) determines that there are insufficient items in one or more modular storage units 702 to fill the order. A lean task may indicate that an inventory (e.g., in one or more modular storage units 702) is below a defined threshold and that the inventory should be refilled.

At 506, the WMS 104 may trigger a task message to be created and sent to the REX 132, in response to a wave or a lean task being created.

In response to receiving the task message, at 508, the REX 132 may select a pick-cell station 316 or, in some instances, a station in the replenishment area 318 to which a container may be sent for replenishment. The REX 132 may then create a task for a picking AGV 114 to retrieve the container from a location in the order fulfillment facility, such as a high-density storage area 304.

The REX 132 may send the task to a picking AGV 114, which may, at 510, 512, and 514, retrieve a container to be replenished, navigate to the selected pick-cell station 316, and place the container at the pick-cell station 316, for example, as described above in reference to 436, 438, and 440. The picking AGV 114 may navigate to a pick-cell station 316 or replenishment cell station in the replenishment area 318, depending on the implementation.

At 516, the WMS 516 may trigger a fill active message responsive to a scan of the product, for example, in the replenishment area 318.

At 518, the REX 132 may determine whether the container is at the pick-cell station 316. In response to determining that the container is not at the pick-cell station 316, the REX 132 may output an indication of a putwall location at 520. A putwall may include a storage unit or container containing a case of items that are to be put, for example, into the container. For instance, outputting indication of the putwall location may include lighting up the putwall location containing the item(s) that are to be placed into the retrieved container.

At 522, the REX 132 may receive an input indicating that inventory of an item has been added to the putwall location and may, in some instances, continue to 524.

In response to determining that the container is at the pick-cell station 316, the REX 132 may output an indication of a location at the pick-cell station 316 at 524. For example, the REX 132 may light up a pick-cell location to identify the container thereby identifying to the picker the container that is ready to be replenished. In some implementations, the REX 132 may also output other information regarding SKUs, quantities, or other information for the items that are to be placed in the container by the picker.

At 526, responsive to receiving a confirmatory input from the picker (e.g., via voice, input into a graphical interface, or pressing a button at the pick-cell station 316) that inventory has been added to a container at the pick-cell station 316 (e.g., from the putwall location), the REX 132 may signal a picking AGV 114 to retrieve the container from the pick-cell station 316 and store it in the high-density storage area 304.

At 528, 530, and 532, the picking AGV 114 may retrieve the container from the pick-cell station 316, navigate to a storage shelf, and place the container on the storage shelf, for example, as described in reference to 474, 476, and 479 above.

FIGS. 6A and 6B are illustrations of example cart AGVs 602a and 602b (e.g., also referred to herein as 116). The example cart AGVs may include a cart AGV 602 or robot configured to autonomously transport pick-to-cart items, as described above. The cart AGV 602 may include or be adapted to autonomously transport a carton holder 604a or 604b (e.g., a cart or shelves) that is adapted to hold cartons (not shown in FIG. 6A or 6B). For example, a cart AGV 602 may push/pull a carton holder 604, which may correspond to a connectable cart. In some implementations, a carton may be a box placed on a shelf of the carton holder 604.

As illustrated in FIGS. 6A and 6B, the cart AGV 602 may include a substantially rectangular body and may include or be coupleable to a connectable cart having shelves (e.g., the carton holder 604a or 604b). The cart AGV 602 may couple to a connectable cart via a coupling mechanism and matching coupling component (e.g., a latch mechanism coupling the cart AGV 602 to the connectable cart). In some instances, the shelves may be angled for easy loading of cartons to be filled with picked items.

In some implementations, the cart AGV 602 may also include a guidance system that may detect, for instance, a human picker associated with the cart AGV 602 (e.g., via a tracking device on the picker, optical recognition, etc.), determine the picker's position, and reposition itself automatically based on the picker's position by comparing the cart AGV's 602 position and the picker's position, and a pre-determined offset (e.g., a distance in front of, behind, and/or next to the picker). This advantageously allows the cart AGV 602 to follow the picker.

FIGS. 7A-7B are illustrations of example modular storage units 702a and 702b (also referred to herein as containers or modular containers). In some implementations, the modular storage units 702 are containers or sets of containers that may be moved between storage shelves, pick cells 382, etc. Modular storage units 702 may have various heights and widths (e.g., 2 to 24 inches high, and 1, 2, or 4 feet wide) and depths equal to the depths of shelving units (e.g., 18 to 24 inches). For example, the modular storage units 702 may be sized and configured to hold items commonly stocked in a fulfillment or order fulfillment facility while also fitting onto standard shelves. A modular storage unit 702 may include a holding structure (e.g., a mini-pallet as in 7A or a tote as in 7B) adapted to hold items. The holding structure may be adapted to interface with a CHM 816 and carrying surface 820 (e.g., a fork) of a picking AGV 114.

As illustrated in FIG. 7A, a modular storage unit 702a may comprise a pallet, tote, or other holding vessel to support items designed to be picked up by a picking AGV 114 using the CHM 816. For example, a modular storage unit 702a may include a pallet and a holding structure that supports items designed to be picked up by an AGV with forks or another carrying surface 820. In some implementations, a pallet may be stackable. In some implementations, a pallet may be attachable to a container to form a modular storage unit 702 such as the example depicted in FIG. 7B.

FIG. 7B illustrates another example modular storage unit 702b. As illustrated, a modular storage unit may include sides 704 and one or more divisions 708 dividing the modular storage unit 702b into multiple compartments. Further, in some implementations, a modular storage unit 702b may include a door 710, which may be opened and closed by a picker to provide easy access to items stored in the compartments. In some implementations, a picking AGV 114 may automatically position the door 710 toward the center of a pick-cell station 316 to allow access by a picker.

In some implementations, a modular storage unit 702 may include supports 712 that support the modular storage unit 702 on a shelf, so that a carrying surface 820 of the CHM 816 may slide under the modular storage unit 702 to pick the modular storage unit 702 up, as described elsewhere herein. It should be noted that although the supports 712 are illustrated as protrusions from the bottom of a modular storage unit 702, other support structures (e.g., a substantially flat structure) may be attached to the bottom or another surface of the modular storage unit 702. In some implementations, a modular storage unit 702 may include a handling component that interacts with a carrying surface 820 of a picking AGV 114 to facilitate removal of the modular storage unit 702 from a storage shelf by the picking AGV 114. The handling component may be positioned on bottom, top, side, or front of the modular storage unit 702. For example, a handling component may include a latch, French cleat, slots or arms for receiving prongs of the carrying surface 820 (e.g., a fork), a bottom surface, indentation(s), preconfigured channel(s), or other structures or formations that may be used by the carrying surface 820 to support the modular storage unit 702. Accordingly, a carrying surface 820 of a picking AGV 114 may be compatibly engageable with the coupling portion of the modular storage unit 702 to lift the modular storage unit 702 from a first target shelving unit, retain the modular storage unit 702 during handling, and place the modular storage unit 702 on a second target shelving unit.

FIG. 8 depicts an example picking AGV 114, which may include an AGV body 810, a drive unit 812 housed within or coupled to the body 810, a power source (not shown) housed within or coupled to the body 810, an AGV item storage rack 806 with one or more AGV shelves 814, a CHM 816, a carrying surface 820, a guidance system (not shown), and one or more controllers (not shown), although other configurations are possible and contemplated herein.

The body 810 may include a front, a rear opposing the front, a left side extending from the front to the rear, and a right side opposing the left side and extending from the front to the rear. While various shapes and construction materials to the body 810 are possible, the body 810 may be configured to fit between rows of storage shelving in a high-density storage area 304. The body 810 may be configured to house a drive unit 812, power source, controller, and/or other components of the picking AGV 114.

The drive unit 812 may be coupled to the body 810 and configured to receive power from the power source to provide motive force to the picking AGV 114 and propel the picking AGV 114 within an operating environment. In some implementations, the drive unit 812 may receive instructions from one or more controllers instructing the drive unit 812 to cause the picking AGV 114 to move forward, backward, sideways, turn, or perform another movement. In some implementations, the drive unit 812 may include electric motors and wheels, although other configurations, such as treads are possible.

The drive unit 812 may be wirelessly coupled via a controller to a wireless interface and a wireless communications network to receive control signals from the dispatch system 106 and/or other components of the system 100.

The power source may be coupled to the components of the picking AGV 114 to provide power to the components, for example, the power source may provide power to the CHM 816, the drive unit 812, a controller, or another component of the picking AGV 114. The power source may include a battery, a wire, contact track in the operating environment, induction charger, alternator or gas generator, etc.

Some implementations of the picking AGV 114 may include an AGV item storage rack 806 (also referred to as AGV rack 806). While the AGV rack 806 is illustrated as coupled to the top of the body 810, other configurations are possible, for example, the AGV rack 806 may be coupled in front of, behind, to the side of, or even towed or pushed by the picking AGV 114. The AGV rack 806 may be positioned proximate to the CHM 816, so that the shelves 814 are within reach of the CHM 816 for the CHM 816 to place items on the shelves 814.

The AGV rack 806 may include a single shelf 814 or a plurality of shelves 814 coupled to a frame. The shelves 814 may include flat surfaces, bays, containers, or other mechanisms for holding a modular storage unit 114 or other item. At least one of the shelves 814, where equipped, is capable of storing the item during transit of the picking AGV 114.

The plurality of shelves 814 may be vertically arranged and, in some implementations, one or more of the shelves 814 may have an adjustable height (e.g., adjusted manually or automatically using a motor coupled with the picking AGV 114) on the AGV rack 806. In some implementations, a controller of the picking AGV 114 may determine a current height of a particular shelf of the plurality of shelves 814, for example, using an optical scanner or retrieving a stored height of an the particular shelf from a database (e.g., on the data store 120). For example, one or more of the shelves 814 may include a marker readable by an optical scanner coupled with the CHM 816 or carrying surface 820 to indicate to the CHM 816 a location or identification of the a particular shelf. In some implementations, a controller of the picking AGV 114 may store a shelf identifier for a shelf 814 in association with a height or size of the shelf 814, or an identifier of an item or modular storage unit 702 stored on the shelf 814.

In some implementations, a shelf 814 onto which an item is placed may be selected based on the size, height, weight capacity, or other attributes of the shelf 814. For example, a modular storage unit 702 of a given size may be placed on a shelf 814 having a corresponding size. In another example, a modular storage unit 702 having a threshold weight may be placed on a lower shelf 814 of the AGV rack 806 than a modular storage unit 702 having a lighter weight than the threshold.

The container handling mechanism or CHM 816 may include an extender for extending a carrying surface 820 from a picking AGV 114 to a storage shelving unit that is separate from the picking AGV 114. The CHM 816 may have three or more degrees of freedom to move the carrying surface 820 along three or more axes thereby allowing the CHM 816 to retrieve an item from a first target shelving unit using the carrying surface 820 and the three or more degrees of freedom and place the item on a second target shelving unit.

In some implementations, the CHM 816 may include a mast having an elevator 808 coupled with the body 810 and/or AGV rack 806. The elevator 808 lifts and lowers a platform 818 supporting a carrying surface 820. The elevator 808 moves the CHM 816 along a Z axis to lift and set down the container.

In some implementations, the platform 818 extends or retracts the carrying surface 820 horizontally between the picking AGV 114 and a storage shelving unit. In some implementations, the platform 818 may also extend or retract the carrying surface 820 into or out of one or more of the AGV shelves 814 to place an item on one of the AGV shelves 814. The CHM 816 includes a moveable platform 818 having a carrying surface 820 capable of translating along a plane in two or more dimensions and/or rotating about a vertical axis. For example, the platform 818 (or other component of the CHM 816, depending on the implementation) may translate the carrying surface 820 along any X and Y coordinates (e.g., sideways/left and right relative to the front of the picking AGV 114; forward and backward relative to the front of the picking AGV 114; etc.). This allows the CHM 816 to retrieve an item from a storage shelf and move it to and place it on an AGV shelf 814 supported by the frame, and vice versa. The CHM 816 may be adjustable to translate between an X axis, Y axis, a combination, etc.

In some implementations, the platform 818 may comprise two platforms coupled to one another, a first of which moves along a first horizontal axis and a second of which moves along a second horizontal axis perpendicular to the first horizontal axis. For instance, the first platform may be coupled with the elevator 808 and the second platform, so that the first platform may move the second platform along the first horizontal axis. The second platform may be coupled with the first platform and the carrying surface 820, so that the second platform may move the carrying surface 820 along the second horizontal axis.

The CHM 816 may be capable of moving items between the different shelves 814 in the AGV rack 806, one or more storage shelving units in a high-density storage area 304, one or more pick cells 382 in a pick-cell station 316, and, in some instances, to or from other target shelves (e.g., in an induction area 308, replenishment area 318, etc.).

In some implementations, the picking AGV 114 may include a scanner coupled with the carrying surface 820, platform 818, etc., that can read signatures or markers to determine location. For example, the scanner may be an optical scanner configured to read visual identifiers (e.g., labels including a QR code, bar code, etc.) to determine which shelf 814 the CHM 816 or the carrying surface 820 is aligned with. The optical scanner may scan a shelf marker on one or more of the AGV shelf 814 or a detached storage shelf. The shelf marker may indicate a position and/or identification code of shelves and/or modular storage units 702, for example.

In some implementations, the elevator 808 may include positional sensors to determine the position of CHM 816 and/or align the carrying surface 820 with a target shelf (whether an external or integrated with the picking AGV 114).

The carrying surface 820 may be coupled to or integrated with the CHM 816 and is configured to support a modular storage unit 702 or other item. In some implementations, the carrying surface 820 is connected at a distal end of the CHM 816 or extender. The carrying surface 820 may be movable by the CHM 816 vertically parallel relative to a face of the AGV rack 806, perpendicularly relative to the face of the AGV rack 806, and horizontally parallel relative to the face of the AGV rack 806. The carrying surface 820 may be extendable by the CHM 816 using the three or more degrees of freedom to retrieve a certain item or modular storage unit 702 from a separate shelving unit located within reaching distance of the CHM 816 and retractable using the three or more degrees of freedom to place the certain item on one of the AGV shelves 814 of the AGV rack 806.

In some implementations, the carrying surface 820 may be adapted to interface with a modular storage unit 702, as described in reference to FIG. 2B. For example, the carrying surface 820 is compatibly engageable with a handling component of the modular storage unit 702 to lift the modular storage unit 702 from the separate shelving unit, retain the modular storage unit 702 during handling, and place the modular storage unit 702 on the one of the shelves 814 of the AGV rack 806.

In some implementations, the carrying surface 820 may include forks, which are designed to engage with a corresponding support structure (e.g., the handling component or supports 712) of the modular storage unit 702. The carrying surface 820, may be made of any material, such as plastic or metal, which is sufficiently strong to support a modular storage unit 702 or other item.

The picking AGV 114 may include a guidance system that determines a location of the picking AGV 114 within the operating environment. For instance, the guidance system may include one or more sensors that detect and process navigation markers (e.g., QR codes, RFID labels, etc.) to locate the picking AGV 114 as the picking AGV 114 traverses the operating environment. The guidance system may be coupled to a controller of the picking AGV 114, which may, in some instances, include local object detection intelligence and processing to avoid collision with other objects (e.g., AGVs, humans, items, storage shelving units, etc.) in the operating environment.

The picking AGV 114 may include one or more controllers coupled with the guidance system, CHM 816, drive unit 812, dispatch system 106, etc., to perform the operations described herein. For instance, the one or more controllers may receive a signal from the REX 132 (e.g., via the dispatch system 106) and signal the drive unit 812 to propel the picking AGV 114. The one or more controllers may communicate with the guidance system to determine a location of the picking AGV 114 within the operating environment and, using the drive unit 812, navigate through the operating environment. The one or more controllers may receive a signal from the REX 132 indicating to retrieve a particular item from a target storage unit, in response to which, the one or more controllers may instruct the drive unit 812 to position the CHM 816 adjacent to the target shelving unit using the current location determined by the guidance system and then direct the CHM 816 to retrieve the item.

FIG. 9 is a block diagram illustrating an example computing system 900. The example computing system 900 may correspond to a WES 102, a WMS 104, a dispatch system 106, a picking system 108, or a REX 132, or a component thereof, for example.

The code and routines 912 may include computer logic executable by the processor 904 on a computing system 900 to provide for to provide the functionality describe in reference to one or more of the components of the system 100.

As depicted, the computing system 900 may include a processor 904, a memory 906, a communication unit 902, an output device 916, an input device 914, and database(s) 908, which may be communicatively coupled by a communication bus 910. The computing system 900 depicted in FIG. 9 is provided by way of example and it should be understood that it may take other forms and include additional or fewer components without departing from the scope of the present disclosure. For instance, various components of the computing devices may be coupled for communication using a variety of communication protocols and/or technologies including, for instance, communication buses, software communication mechanisms, computer networks, etc. While not shown, the computing system 900 may include various operating systems, sensors, additional processors, and other physical configurations. Although, for purposes of clarity, FIG. 9 only shows a single processor 904, memory 906, communication unit 902, etc., it should be understood that the computing system 900 may include a plurality of one or more of these components.

The processor 904 may execute software instructions by performing various input, logical, and/or mathematical operations. The processor 904 may have various computing architectures to method data signals including, for example, a complex instruction set computer (CISC) architecture, a reduced instruction set computer (RISC) architecture, and/or an architecture implementing a combination of instruction sets. The processor 904 may be physical and/or virtual, and may include a single core or plurality of processing units and/or cores. In some implementations, the processor 904 may be capable of generating and providing electronic display signals to a display device, supporting the display of images, capturing and transmitting images, performing complex tasks including various types of feature extraction and sampling, etc. In some implementations, the processor 904 may be coupled to the memory 906 via the bus 910 to access data and instructions therefrom and store data therein. The bus 910 may couple the processor 904 to the other components of the computing system 900 including, for example, the memory 906, the communication unit 902, the input device 914, the output device 916, and the database(s) 908.

The memory 906 may store and provide access to data to the other components of the computing system 900. The memory 906 may be included in a single computing device or a plurality of computing devices. In some implementations, the memory 906 may store instructions and/or data that may be executed by the processor 904. For example, the memory 906 may store the code and routines 912. The memory 906 is also capable of storing other instructions and data, including, for example, an operating system, hardware drivers, other software applications, databases, etc. The memory 906 may be coupled to the bus 910 for communication with the processor 904 and the other components of computing system 900.

The memory 906 may include a non-transitory computer-usable (e.g., readable, writeable, etc.) medium, which can be any non-transitory apparatus or device that can contain, store, communicate, propagate or transport instructions, data, computer programs, software, code, routines, etc., for processing by or in connection with the processor 904. In some implementations, the memory 906 may include one or more of volatile memory and non-volatile memory (e.g., RAM, ROM, hard disk, optical disk, etc.). It should be understood that the memory 906 may be a single device or may include multiple types of devices and configurations.

The bus 910 can include a communication bus for transferring data between components of a computing device or between computing devices, a network bus system including a network or portions thereof, a processor mesh, a combination thereof, etc. The software communication mechanism can include and/or facilitate, for example, inter-method communication, local function or procedure calls, remote procedure calls, an object broker (e.g., CORBA), direct socket communication (e.g., TCP/IP sockets) among software modules, UDP broadcasts and receipts, HTTP connections, etc. Further, any or all of the communication could be secure (e.g., SSH, HTTPS, etc.).

The communication unit 902 may include one or more interface devices (I/F) for wired and wireless connectivity among the components of the system 100. For instance, the communication unit 902 may include various types known connectivity and interface options. The communication unit 902 may be coupled to the other components of the computing system 900 via the bus 910. The communication unit 902 may be electronically communicatively coupled to a network (e.g., wiredly, wirelessly, etc.). In some implementations, the communication unit 902 can link the processor 904 to a network, which may in turn be coupled to other processing systems. The communication unit 902 can provide other connections to a network and to other entities of the system 700 using various standard communication protocols.

The input device 914 may include any device for inputting information into the computing system 900. In some implementations, the input device 914 may include one or more peripheral devices. For example, the input device 914 may include a keyboard, a pointing device, microphone, an image/video capture device (e.g., camera), a touch-screen display integrated with the output device 916, etc.

The output device 916 may be any device capable of outputting information from the computing system 900. The output device 916 may include one or more of a display (LCD, OLED, etc.), a printer, a 3D printer, a haptic device, audio reproduction device, touch-screen display, etc. In some implementations, the output device is a display which may display electronic images and data output by the computing system 900 for presentation to a user, such as a picker or associate in the order fulfillment facility. In some implementations, the computing system 900 may include a graphics adapter (not shown) for rendering and outputting the images and data for presentation on output device 916. The graphics adapter (not shown) may be a separate processing device including a separate processor and memory (not shown) or may be integrated with the processor 904 and memory 906.

The database(s) are information source(s) for storing and providing access to data. The data stored by the database(s) 908 may organized and queried using various criteria including any type of data stored by them, such as the data in the data store 120 and other data discussed herein. The database(s) 908 may include file systems, data tables, documents, databases, or other organized collections of data. Examples of the types of data stored by the database(s) 908 may include the data described herein, for example, in reference to the data store 120.

The database(s) 908 may be included in the computing system 900 or in another computing system and/or storage system distinct from but coupled to or accessible by the computing system 900. The database(s) 908 can include one or more non-transitory computer-readable mediums for storing the data. In some implementations, the database(s) 908 may be incorporated with the memory 906 or may be distinct therefrom. In some implementations, the database(s) 908 may store data associated with a database management system (DBMS) operable on the computing system 900. For example, the DBMS could include a structured query language (SQL) DBMS, a NoSQL DMBS, various combinations thereof, etc. In some instances, the DBMS may store data in multi-dimensional tables comprised of rows and columns, and manipulate, e.g., insert, query, update and/or delete, rows of data using programmatic operations.

It should be noted that the components described herein may be further delineated or changed without departing from the techniques described herein. For example, the processes described throughout this disclosure may be performed by fewer, additional, or different components.

It should be understood that the methods described herein are provided by way of example, and that variations and combinations of these methods, as well as other methods, are contemplated. For example, in some implementations, at least a portion of one or more of the methods represent various segments of one or more larger methods and may be concatenated or various steps of these methods may be combined to produce other methods which are encompassed by the present disclosure. Additionally, it should be understood that various operations in the methods are iterative, and thus repeated as many times as necessary generate the results described herein. Further the ordering of the operations in the methods is provided by way of example and it should be understood that various operations may occur earlier and/or later in the method without departing from the scope thereof.

In the above description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. However, it should be understood that the technology described herein can be practiced without these specific details in various cases. Further, various systems, devices, and structures are shown in block diagram form in order to avoid obscuring the description. For instance, various implementations are described as having particular hardware, software, and user interfaces. However, the present disclosure applies to any type of computing device that can receive data and commands, and to any peripheral devices providing services.

In some instances, various implementations may be presented herein in terms of algorithms and symbolic representations of operations on data bits within a computer memory. An algorithm is here, and generally, conceived to be a self-consistent set of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussion, it is appreciated that throughout this disclosure, discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining,” “displaying,” or the like, refer to the action and methods of a computer system that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.

A data processing system suitable for storing and/or executing program code, such as the computing system and/or devices discussed herein, may include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories that provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution. Input or I/O devices can be coupled to the system either directly or through intervening I/O controllers. The data processing system may include an apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer.

The foregoing description has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the specification to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the disclosure be limited not by this detailed description, but rather by the claims of this application. As will be understood by those familiar with the art, the specification may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. Likewise, the particular naming and division of the modules, routines, features, attributes, methodologies and other aspects may not be mandatory or significant, and the mechanisms that implement the specification or its features may have different names, divisions, and/or formats.

Furthermore, the modules, routines, features, attributes, methodologies and other aspects of the disclosure can be implemented as software, hardware, firmware, or any combination of the foregoing. The technology can also take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. Wherever a component, an example of which is a module or engine, of the specification is implemented as software, the component can be implemented as a standalone program, as part of a larger program, as a plurality of separate programs, as a statically or dynamically linked library, as a kernel loadable module, as firmware, as resident software, as microcode, as a device driver, and/or in every and any other way known now or in the future. Additionally, the disclosure is in no way limited to implementation in any specific programming language, or for any specific operating system or environment. Accordingly, the disclosure is intended to be illustrative, but not limiting, of the scope of the subject matter set forth in the following claims.

Claims

1. A method comprising:

determining, by one or more processors, a task list including tasks for fulfilling an order using a first automated guided vehicle (AGV) type and a picking station, the first AGV type adapted to transport shipping cartons to the picking station;
signaling, by the one or more processors, a first AGV of the first AGV type to navigate to a first location of a first item in a first storage area, the first storage area including storage for a first set of items, the first set of items including the first item;
outputting, by the one or more processors, a first instruction to one or more client devices instructing one or more pickers at the first storage area to place the first item in one or more shipping cartons held by the first AGV;
determining, by the one or more processors, that a second item is assigned to be picked to the first AGV based on the task list, the second item being located in the first storage area;
signaling, by the one or more processors, the first AGV to navigate to a second location of the second item in the first storage area;
outputting, by the one or more processors, a second instruction to the one or more client devices instructing the one or more pickers at the first storage area to remove the second item from the storage for the first set of items and place the second item in the one or more shipping cartons held by the first AGV;
signaling, by the one or more processors, the first AGV of the first AGV type to transport the one or more shipping cartons holding the first item from the first storage area of a fulfillment center to the picking station including signaling the first AGV to navigate to the picking station; and
outputting, by the one or more processors, a third instruction to the one or more client devices instructing the one or more pickers at the picking station to remove a third item from a storage container and place the third item into the one or more shipping cartons with the first item.

2. The method of claim 1, wherein the first AGV of the first AGV type includes a drive unit that provides motive force to the first AGV and a guidance system that locates the first AGV in the fulfillment center, the first AGV autonomously transporting shipping cartons on one or more shelves of a cart connected with the first AGV, the shipping cartons holding one or more items during transport of the one or more items by the first AGV, the first AGV receiving a signal from the one or more processors to perform operations.

3. The method of claim 1, further comprising:

signaling, by the one or more processors, a second AGV of a second AGV type to transport the storage container holding the third item from a second storage area of the fulfillment center to the picking station, the second AGV type adapted to transport storage cartons to the picking station using a container retrieval mechanism that retrieves the storage container from a first shelf in the second storage area, transports the storage container to the picking station, and places the storage container on a second shelf at the picking station.

4. The method of claim 1, further comprising:

outputting, by the one or more processors, the first instruction to the one or more client devices instructing the one or more pickers at the first storage area to remove the first item from the storage for the first set of items and place the first item in the one or more shipping cartons held by the first AGV;
receiving, by the one or more processors, a confirmation message indicating that the first item has been picked from the first storage area into the one or more shipping cartons; and
updating, by the one or more processors, the task list to indicate that the first item has been picked from the first storage area into the one or more shipping cartons.

5. The method of claim 1, wherein the one or more client devices include a light output device, and the third instruction causes the one or more client devices to output a visual cue instructing the one or more pickers to perform a picking action.

6. The method of claim 1, further comprising:

assigning, by the one or more processors, a set of shipping cartons to a cart, the cart being adapted to hold the set of shipping cartons and couple with the first AGV;
receiving, by the one or more processors from the one or more client devices, scan data indicating a scan of labels of the set of shipping cartons;
signaling, by the one or more processors, the first AGV to couple with the cart; and
signaling, by the one or more processors, the first AGV to navigate to a location of the first item in the first storage area.

7. The method of claim 1, further comprising:

selecting, by the one or more processors, the picking station from a plurality of picking stations in the fulfillment center based on a queue of AGVs of the first AGV type at the plurality of picking stations.

8. The method of claim 1, further comprising:

determining, by the one or more processors, whether the picking station is available to receive the first AGV; and
in response to determining, by the one or more processors, that the picking station is not available for receiving the first AGV, outputting an instruction to the one or more client devices instructing the one or more pickers in the picking station to remain in the picking station, and signaling the first AGV to wait in a queue for the picking station.

9. The method of claim 1, further comprising:

receiving, by the one or more processors, a confirmation message from the one or more client devices indicating that the second item has been placed into the one or more shipping cartons;
responsive to receiving the confirmation message, signaling, by the one or more processors, the first AGV to navigate from the picking station to a finalizing area in the fulfillment center, the first AGV being coupled with a cart, the cart holding the one or more shipping cartons; and
signaling, by the one or more processors, the first AGV to decouple from the cart at the finalizing area.

10. The method of claim 1, further comprising:

signaling, by the one or more processors, a second AGV of a second AGV type to transport the storage container holding the second item from a second storage area of the fulfillment center to the picking station, the second AGV type adapted to transport storage cartons to the picking station;
receiving, by the one or more processors, a confirmation message indicating that the second item has been placed into the one or more shipping cartons with the first item; and
in response to receiving the confirmation message, signaling a third AGV of the second AGV type to retrieve the storage container from the picking station, transport the storage container to the second storage area, and place the storage container on a storage shelf in the second storage area.

11. A system comprising:

a plurality of automated guided vehicles (AGVs) including a first AGV of a first AGV type and a second AGV of a second AGV type, the first AGV type adapted to transport shipping cartons, the second AGV type adapted to transport storage cartons;
a picking station having one or more shelves and being adapted to receive the first AGV of the first AGV type; and
a processor that causes the system to: determine a task list including tasks for the first AGV, the second AGV, and one or more client devices; signal the first AGV of the first AGV type to navigate to a first location of a first item in a first storage area, the first storage area including storage for a first set of items, the first set of items including the first item; output a first instruction to the one or more client devices instructing one or more pickers at the first storage area to place the first item in a shipping carton held by the first AGV; determine that a second item is assigned to be picked to the first AGV based on the task list, the second item being located in the first storage area; signal the first AGV to navigate to a second location of the second item in the first storage area; output a second instruction to the one or more client devices instructing the one or more pickers at the first storage area to remove the second item from the storage for the first set of items and place the second item in the shipping carton held by the first AGV; signal the first AGV of the first AGV type to transport the shipping carton holding the first item from the first storage area of a fulfillment center to the picking station including signaling the first AGV to navigate to the picking station; signal the second AGV of the second AGV type to transport a storage container holding a third item from a second storage area of the fulfillment center to the picking station; and output a third instruction to the one or more client devices instructing the one or more pickers at the picking station to remove the third item from the storage container and place the third item into the shipping carton with the first item.

12. The system of claim 11, wherein the processor further causes the system to:

output the first instruction to the one or more client devices instructing the one or more pickers at the first storage area to remove the first item from the storage for the first set of items and place the first item in the shipping carton held by the first AGV;
receive a confirmation message from the one or more client devices indicating that the first item has been picked from the first storage area into the shipping carton; and
update the task list to indicate that the first item has been picked from the first storage area into the shipping carton.

13. The system of claim 11, wherein the processor further causes the system to:

determine whether the picking station is available to receive the first AGV; and
in response to determining that the picking station is not available for receiving the first AGV, output an instruction to the one or more client devices instructing the one or more pickers in the picking station to remain in the picking station, and signal the first AGV to wait in a queue for the picking station.

14. The system of claim 11, wherein the processor further causes the system to:

receive a confirmation message from the one or more client devices indicating that the second item has been placed into the shipping carton;
responsive to receiving the confirmation message, signal the first AGV to navigate from the picking station to a finalizing area in the fulfillment center, the first AGV being coupled with a cart, the cart holding the shipping carton; and
signal the first AGV to decouple from the cart at the finalizing area.

15. The system of claim 11, wherein the processor further causes the system to:

receive a confirmation message indicating that the second item has been placed into the shipping carton with the first item; and
in response to receiving the confirmation message, signal a third AGV of the second AGV type to retrieve the storage container from the picking station, transport the storage container to the second storage area, and place the storage container on a storage shelf in the second storage area.

16. A system comprising:

a cart automated guided vehicle (AGV) adapted to transport shipping cartons to a picking station;
a picking AGV adapted to transport storage cartons to the picking station, the picking station adapted receive to a cart AGV and the picking AGV simultaneously; and
a robot execution system (REX) communicatively coupled with the cart AGV, the picking AGV, and one or more client devices to: determine a task list including tasks for fulfilling an order using the cart AGV, the picking AGV, and the one or more client devices; signal the cart AGV to navigate to a first location of a first item in a first storage area, the first storage area including storage for a first set of items, the first set of items including the first item; output a first instruction to the one or more client devices instructing one or more pickers at the first storage area to place the first item in a shipping carton held by the cart AGV; determine that a second item is assigned to be picked to the cart AGV based on the task list, the second item being located in the first storage area; signal the cart AGV to navigate to a second location of the second item in the first storage area; output a second instruction to the one or more client devices instructing the one or more pickers at the first storage area to remove the second item from the storage for the first set of items and place the second item in the shipping carton held by the cart AGV; signal the cart AGV to transport the shipping carton holding the first item from the first storage area of a fulfillment center to the picking station; signal the picking AGV to transport a storage container holding a third item from a second storage area of the fulfillment center to the picking station; and output a third instruction to the one or more client devices instructing one or more pickers at the picking station to remove the third item from the storage container and place the third item into the shipping carton with the first item and the second item.

17. The method of claim 1, wherein the first item, the second item, and the third item are placed into a single shipping carton of the one or more shipping cartons held by the first AGV.

18. The method of claim 1, wherein the first instruction, the second instruction, and the third instruction are output using a common client device of the one or more client devices.

19. The method of claim 1, further comprising:

outputting, by the one or more processors, a fourth instruction to the one or more client devices instructing the one or more pickers at the picking station to remove a fourth item from a second storage container at the picking station and place the fourth item into the one or more shipping cartons held by the first AGV.

20. The method of claim 1, further comprising:

receiving, by the one or more processors, a confirmation message indicating that a pick of the third item into the one or more shipping cartons has been completed; and
based on the confirmation message, instructing the first AGV to navigate to a finalizing area of the fulfillment center.
Referenced Cited
U.S. Patent Documents
3450276 June 1969 Ferrari
3474877 October 1969 Wesener
3563327 February 1971 Mier
3628624 December 1971 Wesener
3970840 July 20, 1976 De Bruine
4010409 March 1, 1977 Waites
4077535 March 7, 1978 Oriol
4215759 August 5, 1980 Diaz
4258813 March 31, 1981 Rubel
4278142 July 14, 1981 Kono
4465155 August 14, 1984 Collins
4496274 January 29, 1985 Pipes
4524314 June 18, 1985 Walker
4530056 July 16, 1985 MacKinnon et al.
4556940 December 3, 1985 Katoo et al.
4562635 January 7, 1986 Carter
4566032 January 21, 1986 Hirooka et al.
4593238 June 3, 1986 Yamamoto
4593239 June 3, 1986 Yamamoto
4652803 March 24, 1987 Kamejima et al.
4653002 March 24, 1987 Barry
4657463 April 14, 1987 Pipes
4678390 July 7, 1987 Bonneton et al.
4700302 October 13, 1987 Arakawa et al.
4711316 December 8, 1987 Katou et al.
4714399 December 22, 1987 Olson
4716530 December 29, 1987 Ogawa et al.
4727492 February 23, 1988 Reeve et al.
4742283 May 3, 1988 Bolger et al.
4751983 June 21, 1988 Leskovec et al.
4764078 August 16, 1988 Neri
4772832 September 20, 1988 Okazaki et al.
4773018 September 20, 1988 Lundstrom
4777601 October 11, 1988 Boegli
4780817 October 25, 1988 Lofgren
4790402 December 13, 1988 Field et al.
4802096 January 31, 1989 Hainsworth et al.
4811227 March 7, 1989 Wikstrom
4811229 March 7, 1989 Wilson
4817000 March 28, 1989 Eberhardt
4846297 July 11, 1989 Field et al.
4847769 July 11, 1989 Reeve
4847773 July 11, 1989 van Helsdingen et al.
4847774 July 11, 1989 Tomikawa et al.
4852677 August 1, 1989 Okazaki
4857912 August 15, 1989 Everett, Jr. et al.
4858132 August 15, 1989 Holmquist
4862047 August 29, 1989 Suzuki et al.
4863335 September 5, 1989 Herigstad et al.
4875172 October 17, 1989 Kanayama
4890233 December 26, 1989 Ando et al.
4918607 April 17, 1990 Wible
4924153 May 8, 1990 Toru et al.
4926544 May 22, 1990 Koyanagi et al.
4935871 June 19, 1990 Grohsmeyer
4939650 July 3, 1990 Nishikawa
4939651 July 3, 1990 Onishi
4942531 July 17, 1990 Hainsworth et al.
4947324 August 7, 1990 Kamimura et al.
4950118 August 21, 1990 Mueller et al.
4954962 September 4, 1990 Evans, Jr. et al.
4982329 January 1, 1991 Tabata et al.
4990841 February 5, 1991 Elder
4993507 February 19, 1991 Ohkura
4994970 February 19, 1991 Noji et al.
4996468 February 26, 1991 Field et al.
5000279 March 19, 1991 Kondo et al.
5002145 March 26, 1991 Wakaumi et al.
5005128 April 2, 1991 Robins et al.
5006988 April 9, 1991 Borenstein et al.
5020620 June 4, 1991 Field
5023790 June 11, 1991 Luke, Jr.
5040116 August 13, 1991 Evans, Jr. et al.
5052882 October 1, 1991 Blau et al.
5053969 October 1, 1991 Booth
5073749 December 17, 1991 Kanayama
5109940 May 5, 1992 Yardley
5111401 May 5, 1992 Everett, Jr. et al.
5125783 June 30, 1992 Kawasoe et al.
5134353 July 28, 1992 Kita et al.
5138560 August 11, 1992 Lanfer et al.
5154249 October 13, 1992 Yardley
5164648 November 17, 1992 Kita et al.
5170351 December 8, 1992 Nemoto et al.
5170352 December 8, 1992 McTamaney et al.
5179329 January 12, 1993 Nishikawa et al.
5187664 February 16, 1993 Yardley et al.
5191528 March 2, 1993 Yardley et al.
5192903 March 9, 1993 Kita et al.
5199524 April 6, 1993 Ivancic
5202832 April 13, 1993 Lisy
5211523 May 18, 1993 Andrada Galan et al.
5216605 June 1, 1993 Yardley et al.
5239249 August 24, 1993 Ono
5249157 September 28, 1993 Taylor
5281901 January 25, 1994 Yardley et al.
5305217 April 19, 1994 Nakamura et al.
5341130 August 23, 1994 Yardley et al.
5387853 February 7, 1995 Ono
5488277 January 30, 1996 Nishikawa et al.
5505473 April 9, 1996 Radcliffe
5510984 April 23, 1996 Markin et al.
5525884 June 11, 1996 Sugiura et al.
5545960 August 13, 1996 Ishikawa
5548512 August 20, 1996 Quraishi
5564890 October 15, 1996 Knudsen, Jr.
5568030 October 22, 1996 Nishikawa et al.
5650703 July 22, 1997 Yardley et al.
5669748 September 23, 1997 Knudsen, Jr.
5875408 February 23, 1999 Bendett et al.
5877962 March 2, 1999 Radcliffe
5911767 June 15, 1999 Garibotto et al.
5923270 July 13, 1999 Sampo et al.
5961559 October 5, 1999 Shimbara et al.
6049745 April 11, 2000 Douglas et al.
6058339 May 2, 2000 Takiguchi et al.
6092010 July 18, 2000 Alofs et al.
6246930 June 12, 2001 Hori
6256560 July 3, 2001 Kim et al.
6345217 February 5, 2002 Zeitler et al.
6370452 April 9, 2002 Pfister
6377888 April 23, 2002 Olch
6459966 October 1, 2002 Nakano et al.
6477463 November 5, 2002 Hamilton
6481521 November 19, 2002 Sugiyama et al.
6493614 December 10, 2002 Jung
6602037 August 5, 2003 Winkler
6615108 September 2, 2003 Peless et al.
6629028 September 30, 2003 Paromtchik et al.
6654647 November 25, 2003 Kal
6694216 February 17, 2004 Fujiki et al.
6721638 April 13, 2004 Zeitler
6748292 June 8, 2004 Mountz
6772062 August 3, 2004 Lasky et al.
6882910 April 19, 2005 Jeong
6885912 April 26, 2005 Peless et al.
6895301 May 17, 2005 Mountz
6904343 June 7, 2005 Kang
6950722 September 27, 2005 Mountz
6971464 December 6, 2005 Marino et al.
7050891 May 23, 2006 Chen
7110855 September 19, 2006 Leishman
7155309 December 26, 2006 Peless et al.
7305287 December 4, 2007 Park
7333631 February 19, 2008 Roh et al.
7349759 March 25, 2008 Peless et al.
7402018 July 22, 2008 Mountz et al.
7403120 July 22, 2008 Duron et al.
7437226 October 14, 2008 Roh et al.
7460016 December 2, 2008 Sorenson, Jr. et al.
7500448 March 10, 2009 Melhorn
7505849 March 17, 2009 Saarikivi
7548166 June 16, 2009 Roeder et al.
7557714 July 7, 2009 Roeder et al.
7599777 October 6, 2009 Passeri et al.
7609175 October 27, 2009 Porte et al.
7613617 November 3, 2009 Williams et al.
7616127 November 10, 2009 Sorenson, Jr. et al.
7634332 December 15, 2009 Williams et al.
7639142 December 29, 2009 Roeder et al.
7648329 January 19, 2010 Chilson et al.
7656296 February 2, 2010 Runyon et al.
7681796 March 23, 2010 Cato et al.
7689001 March 30, 2010 Kim et al.
7693757 April 6, 2010 Zimmerman
7765027 July 27, 2010 Hong et al.
7826919 November 2, 2010 DAndrea et al.
7835821 November 16, 2010 Roh et al.
7840328 November 23, 2010 Baginski et al.
7845560 December 7, 2010 Emanuel et al.
7850413 December 14, 2010 Fontana
7871234 January 18, 2011 Yuyama et al.
7873469 January 18, 2011 DAndrea et al.
7890228 February 15, 2011 Redmann, Jr. et al.
7894932 February 22, 2011 Mountz et al.
7894933 February 22, 2011 Mountz et al.
7894939 February 22, 2011 Zini et al.
7894951 February 22, 2011 Norris et al.
7912574 March 22, 2011 Wurman et al.
7912633 March 22, 2011 Dietsch et al.
7920962 April 5, 2011 DAndrea et al.
7925514 April 12, 2011 Williams et al.
7953551 May 31, 2011 Park et al.
7980808 July 19, 2011 Chilson et al.
7991521 August 2, 2011 Stewart
7996109 August 9, 2011 Zini et al.
8010230 August 30, 2011 Zini et al.
8020657 September 20, 2011 Allard et al.
8031086 October 4, 2011 Thacher et al.
8068978 November 29, 2011 DAndrea et al.
8072309 December 6, 2011 Kraimer et al.
8075243 December 13, 2011 Chilson et al.
8146702 April 3, 2012 Schendel et al.
8160728 April 17, 2012 Curtis
8170711 May 1, 2012 DAndrea et al.
8192137 June 5, 2012 Ross et al.
8193903 June 5, 2012 Kraimer et al.
8196835 June 12, 2012 Emanuel et al.
8200423 June 12, 2012 Dietsch et al.
8204624 June 19, 2012 Zini et al.
8210791 July 3, 2012 Chilson et al.
8220710 July 17, 2012 Hoffman et al.
8229619 July 24, 2012 Roh et al.
8239291 August 7, 2012 Hoffman et al.
8265873 September 11, 2012 DAndrea et al.
8269643 September 18, 2012 Chou
8271132 September 18, 2012 Nielsen et al.
8280546 October 2, 2012 DAndrea et al.
8280547 October 2, 2012 DAndrea et al.
8311902 November 13, 2012 Mountz et al.
8369981 February 5, 2013 Dunsker et al.
8381982 February 26, 2013 Kunzig et al.
8406949 March 26, 2013 Kondo
8412400 April 2, 2013 DAndrea et al.
8417444 April 9, 2013 Smid et al.
8418919 April 16, 2013 Beyda
8425173 April 23, 2013 Lert et al.
8433442 April 30, 2013 Friedman et al.
8433469 April 30, 2013 Harvey et al.
8444369 May 21, 2013 Watt et al.
8452464 May 28, 2013 Castaneda et al.
8457978 June 4, 2013 Williams et al.
8473140 June 25, 2013 Norris et al.
8483869 July 9, 2013 Wurman et al.
8498734 July 30, 2013 Dunsker et al.
8515612 August 20, 2013 Tanaka et al.
8538692 September 17, 2013 Wurman et al.
8571781 October 29, 2013 Bernstein et al.
8577551 November 5, 2013 Siefring et al.
8587455 November 19, 2013 Porte et al.
8594834 November 26, 2013 Clark et al.
8594835 November 26, 2013 Lert et al.
8606392 December 10, 2013 Wurman et al.
8626332 January 7, 2014 Dunsker et al.
8626335 January 7, 2014 Wurman et al.
8639382 January 28, 2014 Clark et al.
8649899 February 11, 2014 Wurman et al.
8653945 February 18, 2014 Baek et al.
8670892 March 11, 2014 Yang
8676426 March 18, 2014 Murphy
8700502 April 15, 2014 Mountz et al.
8718814 May 6, 2014 Clark et al.
8718815 May 6, 2014 Shimamura
8725286 May 13, 2014 DAndrea et al.
8725317 May 13, 2014 Elston et al.
8725362 May 13, 2014 Elston et al.
8725363 May 13, 2014 Elston et al.
8731777 May 20, 2014 Castaneda et al.
8740538 June 3, 2014 Lert et al.
8751063 June 10, 2014 Bernstein et al.
8751147 June 10, 2014 Colwell
8755936 June 17, 2014 Friedman et al.
8760276 June 24, 2014 Yamazato
8761989 June 24, 2014 Murphy
8788121 July 22, 2014 Klinger
8798784 August 5, 2014 Clark et al.
8798786 August 5, 2014 Wurman et al.
8798840 August 5, 2014 Fong et al.
8805573 August 12, 2014 Brunner et al.
8805574 August 12, 2014 Stevens et al.
8825257 September 2, 2014 Ozaki et al.
8825367 September 2, 2014 Nagasawa
8831984 September 9, 2014 Hoffman et al.
8862397 October 14, 2014 Tsujimoto et al.
8874300 October 28, 2014 Allard et al.
8874360 October 28, 2014 Klinger et al.
8880416 November 4, 2014 Williams et al.
8886385 November 11, 2014 Takahashi et al.
8892240 November 18, 2014 Vliet et al.
8892241 November 18, 2014 Weiss
8909368 December 9, 2014 DAndrea et al.
8930133 January 6, 2015 Wurman et al.
8948956 February 3, 2015 Takahashi et al.
8954188 February 10, 2015 Sullivan et al.
8965561 February 24, 2015 Jacobus et al.
8965562 February 24, 2015 Wurman et al.
8965578 February 24, 2015 Versteeg et al.
8970363 March 3, 2015 Kraimer et al.
8972045 March 3, 2015 Mountz et al.
8983647 March 17, 2015 Dwarakanath et al.
8988285 March 24, 2015 Smid et al.
8989918 March 24, 2015 Sturm
9002506 April 7, 2015 Agarwal et al.
9002581 April 7, 2015 Castaneda et al.
9008827 April 14, 2015 Dwarakanath et al.
9008828 April 14, 2015 Worsley
9008829 April 14, 2015 Worsley
9008830 April 14, 2015 Worsley
9009072 April 14, 2015 Mountz et al.
9014902 April 21, 2015 Murphy
9020679 April 28, 2015 Zini et al.
9026301 May 5, 2015 Zini et al.
9043016 May 26, 2015 Filippov et al.
9046893 June 2, 2015 Douglas et al.
9051120 June 9, 2015 Lert et al.
9052714 June 9, 2015 Creasey et al.
9056719 June 16, 2015 Tanahashi
9067317 June 30, 2015 Wurman et al.
9073736 July 7, 2015 Hussain et al.
9082293 July 14, 2015 Wellman et al.
9087314 July 21, 2015 Hoffman et al.
9090214 July 28, 2015 Bernstein et al.
9090400 July 28, 2015 Wurman et al.
9096375 August 4, 2015 Lert et al.
9098080 August 4, 2015 Norris et al.
9110464 August 18, 2015 Holland et al.
9111251 August 18, 2015 Brazeau
9114838 August 25, 2015 Bernstein et al.
9120621 September 1, 2015 Curlander et al.
9120622 September 1, 2015 Elazary et al.
9122276 September 1, 2015 Kraimer et al.
9129250 September 8, 2015 Sestini et al.
9134734 September 15, 2015 Lipkowski et al.
9146559 September 29, 2015 Kuss et al.
9147173 September 29, 2015 Jones et al.
9150263 October 6, 2015 Bernstein et al.
9152149 October 6, 2015 Palamarchuk et al.
9185998 November 17, 2015 Dwarakanath et al.
9188982 November 17, 2015 Thomson
9193404 November 24, 2015 Bernstein et al.
9202382 December 1, 2015 Klinger et al.
9206023 December 8, 2015 Wong et al.
9207673 December 8, 2015 Pulskamp et al.
9207676 December 8, 2015 Wu et al.
9211920 December 15, 2015 Bernstein et al.
9213934 December 15, 2015 Versteeg et al.
9216745 December 22, 2015 Beardsley et al.
9218003 December 22, 2015 Fong et al.
9218316 December 22, 2015 Bernstein et al.
9242799 January 26, 2016 OBrien et al.
9244463 January 26, 2016 Pfaff et al.
9248973 February 2, 2016 Brazeau
9260244 February 16, 2016 Cohn
9266236 February 23, 2016 Clark et al.
9268334 February 23, 2016 Vavrick
9274526 March 1, 2016 Murai et al.
9280153 March 8, 2016 Palamarchuk et al.
9280157 March 8, 2016 Wurman et al.
9286590 March 15, 2016 Segawa et al.
9290220 March 22, 2016 Bernstein et al.
9304001 April 5, 2016 Park et al.
9310802 April 12, 2016 Elkins et al.
9317034 April 19, 2016 Hoffman et al.
9329078 May 3, 2016 Mundhenke et al.
9329599 May 3, 2016 Sun et al.
9330373 May 3, 2016 Mountz et al.
9341720 May 17, 2016 Garin et al.
9342811 May 17, 2016 Mountz et al.
9346619 May 24, 2016 OBrien et al.
9346620 May 24, 2016 Brunner et al.
9352745 May 31, 2016 Theobald
9355065 May 31, 2016 Donahue
9365348 June 14, 2016 Agarwal et al.
9367827 June 14, 2016 Lively et al.
9367831 June 14, 2016 Besehanic
9371184 June 21, 2016 Dingle et al.
9378482 June 28, 2016 Pikler et al.
9389609 July 12, 2016 Mountz et al.
9389612 July 12, 2016 Bernstein et al.
9389614 July 12, 2016 Shani
9394016 July 19, 2016 Bernstein et al.
9395725 July 19, 2016 Bernstein et al.
9404756 August 2, 2016 Fong et al.
9405016 August 2, 2016 Yim
9427874 August 30, 2016 Rublee
9429940 August 30, 2016 Bernstein et al.
9429944 August 30, 2016 Filippov et al.
9436184 September 6, 2016 DAndrea et al.
9440790 September 13, 2016 Mountz et al.
9448560 September 20, 2016 DAndrea et al.
9451020 September 20, 2016 Liu et al.
9452883 September 27, 2016 Wurman et al.
9457730 October 4, 2016 Bernstein et al.
9463927 October 11, 2016 Theobald
9469477 October 18, 2016 Palamarchuk et al.
9471894 October 18, 2016 Palamarchuk et al.
9481410 November 1, 2016 Bernstein et al.
9493184 November 15, 2016 Castaneda et al.
9493303 November 15, 2016 Wurman et al.
9495656 November 15, 2016 Adler et al.
9501756 November 22, 2016 Stevens et al.
9511934 December 6, 2016 Wurman et al.
9517899 December 13, 2016 Watt et al.
9519284 December 13, 2016 Wurman et al.
9519880 December 13, 2016 Cohn
9522817 December 20, 2016 Castaneda et al.
9523582 December 20, 2016 Chandrasekar et al.
9527710 December 27, 2016 Hussain et al.
9533828 January 3, 2017 Dwarakanath et al.
9536767 January 3, 2017 Adler et al.
9540171 January 10, 2017 Elazary et al.
9547945 January 17, 2017 McCabe et al.
9551987 January 24, 2017 Mountz et al.
9563206 February 7, 2017 Zini et al.
9568917 February 14, 2017 Jones et al.
9582783 February 28, 2017 Mountz et al.
9592961 March 14, 2017 Weiss
9645968 May 9, 2017 Elston et al.
9663295 May 30, 2017 Wurman et al.
9663296 May 30, 2017 Dingle et al.
9676552 June 13, 2017 Agarwal et al.
9679270 June 13, 2017 Zini et al.
9694975 July 4, 2017 Lert et al.
9694976 July 4, 2017 Wurman et al.
9725239 August 8, 2017 Lert et al.
9731896 August 15, 2017 Elazary et al.
9738449 August 22, 2017 Palamarchuk et al.
9740212 August 22, 2017 D'Andrea et al.
9766620 September 19, 2017 Bernstein et al.
9771217 September 26, 2017 Lert et al.
9783364 October 10, 2017 Worsley
9785152 October 10, 2017 Chandrasekar et al.
9792577 October 17, 2017 Mountz et al.
9796529 October 24, 2017 Hoareau et al.
9802762 October 31, 2017 Pikler et al.
9836046 December 5, 2017 Wilson et al.
9841758 December 12, 2017 Bernstein et al.
9856084 January 2, 2018 Palamarchuk et al.
9873561 January 23, 2018 Agarwal et al.
20010018637 August 30, 2001 Hamilton
20010027360 October 4, 2001 Nakano et al.
20020021954 February 21, 2002 Winkler
20020027652 March 7, 2002 Paromtchik et al.
20020074172 June 20, 2002 Sugiyama et al.
20020165648 November 7, 2002 Zeitler
20030046021 March 6, 2003 Lasky et al.
20030106731 June 12, 2003 Marino et al.
20030208304 November 6, 2003 Peless et al.
20040006415 January 8, 2004 Kang
20040006416 January 8, 2004 Jeong
20040010337 January 15, 2004 Mountz
20040010339 January 15, 2004 Mountz
20040024489 February 5, 2004 Fujiki et al.
20040062419 April 1, 2004 Roh et al.
20040093116 May 13, 2004 Mountz
20040243278 December 2, 2004 Leishman
20050065655 March 24, 2005 Hong et al.
20050080524 April 14, 2005 Park
20050113990 May 26, 2005 Peless et al.
20050222722 October 6, 2005 Chen
20050228555 October 13, 2005 Roh et al.
20050244259 November 3, 2005 Chilson et al.
20060071790 April 6, 2006 Duron et al.
20060149465 July 6, 2006 Park et al.
20060184013 August 17, 2006 Emanuel et al.
20060210382 September 21, 2006 Mountz et al.
20060245893 November 2, 2006 Schottke
20060255948 November 16, 2006 Runyon et al.
20060255949 November 16, 2006 Roeder et al.
20060255950 November 16, 2006 Roeder et al.
20060255951 November 16, 2006 Roeder et al.
20060255954 November 16, 2006 Sorenson et al.
20060271274 November 30, 2006 Saarikivi
20060280585 December 14, 2006 Passeri et al.
20070017984 January 25, 2007 Mountz et al.
20070021863 January 25, 2007 Mountz et al.
20070021864 January 25, 2007 Mountz et al.
20070096922 May 3, 2007 Sorenson et al.
20070112461 May 17, 2007 Zini et al.
20070112463 May 17, 2007 Roh et al.
20070123308 May 31, 2007 Kim et al.
20070129849 June 7, 2007 Zini et al.
20070136152 June 14, 2007 Dunsker et al.
20070150109 June 28, 2007 Peless et al.
20070152057 July 5, 2007 Cato et al.
20070152845 July 5, 2007 Porte et al.
20070179690 August 2, 2007 Stewart
20070193798 August 23, 2007 Allard et al.
20070198144 August 23, 2007 Norris et al.
20070198145 August 23, 2007 Norris et al.
20070198174 August 23, 2007 Williams et al.
20070198175 August 23, 2007 Williams et al.
20070198282 August 23, 2007 Williams et al.
20070208477 September 6, 2007 Baginski et al.
20070219666 September 20, 2007 Filippov et al.
20070269299 November 22, 2007 Ross et al.
20070288123 December 13, 2007 D'Andrea et al.
20070290040 December 20, 2007 Wurman et al.
20070293978 December 20, 2007 Wurman et al.
20070294029 December 20, 2007 D'Andrea et al.
20070297879 December 27, 2007 Yuyama et al.
20080001372 January 3, 2008 Hoffman et al.
20080051984 February 28, 2008 Wurman et al.
20080051985 February 28, 2008 D'Andrea et al.
20080071429 March 20, 2008 Kraimer et al.
20080077511 March 27, 2008 Zimmerman
20080129445 June 5, 2008 Kraimer et al.
20080157972 July 3, 2008 Duron et al.
20080166217 July 10, 2008 Fontana
20080167753 July 10, 2008 Peless et al.
20080167884 July 10, 2008 Mountz et al.
20080167933 July 10, 2008 Hoffman et al.
20080189005 August 7, 2008 Chilson et al.
20080199298 August 21, 2008 Chilson et al.
20090099716 April 16, 2009 Roh et al.
20090138151 May 28, 2009 Smid et al.
20090185884 July 23, 2009 Wurman et al.
20090198376 August 6, 2009 Friedman et al.
20090198381 August 6, 2009 Friedman et al.
20090234499 September 17, 2009 Nielsen et al.
20100039293 February 18, 2010 Porte et al.
20100114405 May 6, 2010 Elston et al.
20100127883 May 27, 2010 Chou
20100138095 June 3, 2010 Redmann et al.
20100141483 June 10, 2010 Thacher et al.
20100145551 June 10, 2010 Pulskamp et al.
20100234990 September 16, 2010 Zini et al.
20100234991 September 16, 2010 Zini et al.
20100266381 October 21, 2010 Chilson et al.
20100300841 December 2, 2010 OBrien
20100309841 December 9, 2010 Conte
20100316468 December 16, 2010 Lert et al.
20100316469 December 16, 2010 Lert et al.
20100316470 December 16, 2010 Lert et al.
20100322746 December 23, 2010 Lert et al.
20100322747 December 23, 2010 Lert et al.
20110010023 January 13, 2011 Kunzig et al.
20110015779 January 20, 2011 D'Andrea et al.
20110046813 February 24, 2011 Castaneda et al.
20110056760 March 10, 2011 Schendel et al.
20110060449 March 10, 2011 Wurman et al.
20110066284 March 17, 2011 Curtis
20110071718 March 24, 2011 Norris et al.
20110103924 May 5, 2011 Watt et al.
20110112758 May 12, 2011 D'Andrea et al.
20110118903 May 19, 2011 Kraimer et al.
20110121068 May 26, 2011 Emanuel et al.
20110125312 May 26, 2011 D'Andrea et al.
20110130866 June 2, 2011 D'Andrea et al.
20110130954 June 2, 2011 D'Andrea et al.
20110137457 June 9, 2011 Zini et al.
20110153063 June 23, 2011 Wurman et al.
20110160949 June 30, 2011 Kondo
20110163160 July 7, 2011 Zini et al.
20110166721 July 7, 2011 Castaneda et al.
20110166737 July 7, 2011 Tanaka et al.
20110191135 August 4, 2011 Williams et al.
20110208745 August 25, 2011 Dietsch et al.
20110270438 November 3, 2011 Shimamura
20120038455 February 16, 2012 Kraimer et al.
20120041677 February 16, 2012 D'Andrea et al.
20120046820 February 23, 2012 Allard et al.
20120078471 March 29, 2012 Siefring et al.
20120139715 June 7, 2012 Yamazato
20120143427 June 7, 2012 Hoffman et al.
20120168240 July 5, 2012 Wilson et al.
20120168241 July 5, 2012 Bernstein et al.
20120173047 July 5, 2012 Bernstein et al.
20120173048 July 5, 2012 Bernstein et al.
20120173049 July 5, 2012 Bernstein et al.
20120173050 July 5, 2012 Bernstein et al.
20120176222 July 12, 2012 Baek et al.
20120176491 July 12, 2012 Garin et al.
20120197477 August 2, 2012 Colwell
20120232739 September 13, 2012 Takahashi et al.
20120239191 September 20, 2012 Versteeg et al.
20120239224 September 20, 2012 McCabe et al.
20120239238 September 20, 2012 Harvey et al.
20120255810 October 11, 2012 Yang
20120282070 November 8, 2012 D'Andrea et al.
20120321423 December 20, 2012 MacKnight et al.
20120323746 December 20, 2012 Mountz et al.
20120330458 December 27, 2012 Weiss
20120330492 December 27, 2012 Douglas et al.
20130006442 January 3, 2013 Williams et al.
20130054005 February 28, 2013 Stevens et al.
20130058743 March 7, 2013 Rebstock
20130103185 April 25, 2013 Wurman et al.
20130103552 April 25, 2013 Hoffman et al.
20130105570 May 2, 2013 Dunsker et al.
20130110279 May 2, 2013 Dunsker et al.
20130110281 May 2, 2013 Jones et al.
20130124013 May 16, 2013 Elston et al.
20130124014 May 16, 2013 Elston et al.
20130131895 May 23, 2013 Elston et al.
20130131910 May 23, 2013 Takahashi et al.
20130158773 June 20, 2013 Wu et al.
20130166108 June 27, 2013 Sturm
20130173049 July 4, 2013 Brunner et al.
20130173089 July 4, 2013 Bernstein et al.
20130190963 July 25, 2013 Kuss et al.
20130197720 August 1, 2013 Kraimer et al.
20130197760 August 1, 2013 Castaneda et al.
20130204429 August 8, 2013 D'Andrea et al.
20130204480 August 8, 2013 D'Andrea et al.
20130211626 August 15, 2013 Nagasawa
20130238170 September 12, 2013 Klinger
20130246229 September 19, 2013 Mountz et al.
20130251480 September 26, 2013 Watt et al.
20130275045 October 17, 2013 Tsujimoto et al.
20130282222 October 24, 2013 Ozaki et al.
20130297151 November 7, 2013 Castaneda et al.
20130302132 November 14, 2013 DAndrea
20130304253 November 14, 2013 Wurman et al.
20130312371 November 28, 2013 Ambrose
20130325243 December 5, 2013 Lipkowski et al.
20130338874 December 19, 2013 Donahue
20130338885 December 19, 2013 Kirk et al.
20130338886 December 19, 2013 Callea et al.
20140005933 January 2, 2014 Fong et al.
20140020964 January 23, 2014 Bernstein et al.
20140032035 January 30, 2014 Thomson
20140067184 March 6, 2014 Murphy
20140072392 March 13, 2014 Tanahashi
20140081505 March 20, 2014 Klinger et al.
20140088758 March 27, 2014 Lert et al.
20140100690 April 10, 2014 Wurman et al.
20140100715 April 10, 2014 Mountz et al.
20140100998 April 10, 2014 Mountz et al.
20140100999 April 10, 2014 Mountz et al.
20140107833 April 17, 2014 Segawa et al.
20140124462 May 8, 2014 Yamashita
20140135977 May 15, 2014 Wurman et al.
20140172223 June 19, 2014 Murphy
20140188671 July 3, 2014 Mountz et al.
20140195040 July 10, 2014 Wurman et al.
20140195121 July 10, 2014 Castaneda et al.
20140214195 July 31, 2014 Worsley
20140214196 July 31, 2014 Worsley
20140214234 July 31, 2014 Worsley
20140228999 August 14, 2014 D'Andrea et al.
20140236393 August 21, 2014 Bernstein et al.
20140236413 August 21, 2014 D'Andrea et al.
20140238762 August 28, 2014 Berberian et al.
20140244097 August 28, 2014 Colwell
20140271063 September 18, 2014 Lert et al.
20140277691 September 18, 2014 Jacobus et al.
20140297093 October 2, 2014 Murai et al.
20140303773 October 9, 2014 Wurman et al.
20140330425 November 6, 2014 Stevens et al.
20140330426 November 6, 2014 Brunner et al.
20140343714 November 20, 2014 Clark et al.
20140343758 November 20, 2014 Kraimer et al.
20140345957 November 27, 2014 Bernstein et al.
20140350768 November 27, 2014 Filippov et al.
20140350831 November 27, 2014 Hoffman et al.
20140371973 December 18, 2014 Pfaff et al.
20150012209 January 8, 2015 Park et al.
20150019043 January 15, 2015 Creasey et al.
20150022400 January 22, 2015 Smid et al.
20150025713 January 22, 2015 Klinger et al.
20150057843 February 26, 2015 Kraimer et al.
20150066283 March 5, 2015 Wurman et al.
20150073586 March 12, 2015 Weiss
20150073589 March 12, 2015 Khodl et al.
20150088302 March 26, 2015 Mountz et al.
20150117995 April 30, 2015 DAndrea
20150142168 May 21, 2015 Holland et al.
20150151912 June 4, 2015 Mountz et al.
20150183581 July 2, 2015 Worsley
20150224941 August 13, 2015 Bernstein et al.
20150226560 August 13, 2015 Chandrasekar et al.
20150226561 August 13, 2015 Chandrasekar et al.
20150227862 August 13, 2015 Chandrasekar et al.
20150227885 August 13, 2015 Zini et al.
20150234386 August 20, 2015 Zini et al.
20150261223 September 17, 2015 Fong et al.
20150266672 September 24, 2015 Lert et al.
20150284010 October 8, 2015 Beardsley et al.
20150286218 October 8, 2015 Shani
20150301532 October 22, 2015 Norris et al.
20150307278 October 29, 2015 Wickham et al.
20150344085 December 3, 2015 Bernstein et al.
20150355639 December 10, 2015 Versteeg et al.
20150362919 December 17, 2015 Bernstein et al.
20150370257 December 24, 2015 Bernstein et al.
20150371181 December 24, 2015 Palamarchuk et al.
20160004253 January 7, 2016 Bernstein et al.
20160021178 January 21, 2016 Liu et al.
20160033967 February 4, 2016 Bernstein et al.
20160033971 February 4, 2016 Thomson
20160042314 February 11, 2016 Mountz et al.
20160048130 February 18, 2016 Vavrick
20160054734 February 25, 2016 Bernstein et al.
20160069691 March 10, 2016 Fong et al.
20160090133 March 31, 2016 Bernstein et al.
20160097862 April 7, 2016 Yim
20160101741 April 14, 2016 Bernstein et al.
20160101937 April 14, 2016 Adler et al.
20160103014 April 14, 2016 Mundhenke et al.
20160117936 April 28, 2016 Klinger et al.
20160147231 May 26, 2016 Sun et al.
20160171441 June 16, 2016 Lively et al.
20160176637 June 23, 2016 Ackerman et al.
20160185526 June 30, 2016 Lert et al.
20160187886 June 30, 2016 Jones et al.
20160202696 July 14, 2016 Bernstein et al.
20160203543 July 14, 2016 Snow
20160232477 August 11, 2016 Cortes et al.
20160232490 August 11, 2016 Mountz et al.
20160246299 August 25, 2016 Berberian et al.
20160264357 September 15, 2016 Agarwal et al.
20160282871 September 29, 2016 Bernstein et al.
20160291591 October 6, 2016 Bernstein et al.
20160304280 October 20, 2016 Elazary et al.
20160304281 October 20, 2016 Elazary et al.
20160334799 November 17, 2016 D'Andrea et al.
20160339587 November 24, 2016 Rublee
20160347545 December 1, 2016 Lindbo et al.
20160349748 December 1, 2016 Bernstein et al.
20160379161 December 29, 2016 Adler et al.
20170011336 January 12, 2017 Stevens et al.
20170022010 January 26, 2017 D'Andrea et al.
20170038770 February 9, 2017 Wurman et al.
20170043953 February 16, 2017 Battles et al.
20170052033 February 23, 2017 Fong et al.
20170057798 March 2, 2017 Dues et al.
20170060138 March 2, 2017 Chandrasekar et al.
20170080352 March 23, 2017 Bernstein et al.
20170174431 June 22, 2017 Borders et al.
20170183005 June 29, 2017 Elston et al.
20170183159 June 29, 2017 Weiss
20170269608 September 21, 2017 Chandrasekar et al.
20170286908 October 5, 2017 Lively et al.
20170313517 November 2, 2017 Agarwal et al.
20170362032 December 21, 2017 Sullivan et al.
20180016098 January 18, 2018 Lert et al.
20200207546 July 2, 2020 Borders et al.
Foreign Patent Documents
1196712 November 1985 CA
1210367 August 1986 CA
1228142 October 1987 CA
1238103 June 1988 CA
1264490 January 1990 CA
1267866 April 1990 CA
1269740 May 1990 CA
1271544 July 1990 CA
1275721 October 1990 CA
1276264 November 1990 CA
2029773 May 1991 CA
1291725 November 1991 CA
2036104 November 1991 CA
2042133 January 1992 CA
2049578 February 1992 CA
2296837 February 1992 CA
2094833 April 1992 CA
1304043 June 1992 CA
2095442 June 1992 CA
1304820 July 1992 CA
1323084 October 1993 CA
2189853 November 1995 CA
2244668 March 1999 CA
2469652 June 2003 CA
2514523 August 2004 CA
2565553 November 2005 CA
2577346 April 2006 CA
2613180 January 2007 CA
2921584 January 2007 CA
2625885 April 2007 CA
2625895 April 2007 CA
2837477 April 2007 CA
2864027 April 2007 CA
2636233 July 2007 CA
2640769 August 2007 CA
2652114 December 2007 CA
2654258 December 2007 CA
2654260 December 2007 CA
2654263 December 2007 CA
2654295 December 2007 CA
2654336 December 2007 CA
2654471 December 2007 CA
2748398 December 2007 CA
2748407 December 2007 CA
2750043 December 2007 CA
2781624 December 2007 CA
2781857 December 2007 CA
2838044 December 2007 CA
2866664 December 2007 CA
2921134 December 2007 CA
2663578 April 2008 CA
2860745 April 2008 CA
2671955 July 2008 CA
2673025 July 2008 CA
2674241 July 2008 CA
2691710 December 2008 CA
2721345 October 2009 CA
2760127 November 2009 CA
2760225 November 2009 CA
2743706 June 2010 CA
2754626 September 2010 CA
2765565 January 2011 CA
2932535 January 2011 CA
2932537 January 2011 CA
2770139 February 2011 CA
2773963 March 2011 CA
2778111 May 2011 CA
2784874 July 2011 CA
2868578 July 2011 CA
2806852 February 2012 CA
2823715 July 2012 CA
2827281 August 2012 CA
2827735 August 2012 CA
2770715 September 2012 CA
2770918 September 2012 CA
2831832 October 2012 CA
2836933 December 2012 CA
2851774 April 2013 CA
2799871 June 2013 CA
2866708 September 2013 CA
2938894 September 2013 CA
2813874 December 2013 CA
2824189 February 2014 CA
2870381 April 2014 CA
2935223 April 2014 CA
2894546 June 2014 CA
2845229 September 2014 CA
2899553 October 2014 CA
2882452 August 2015 CA
2886121 October 2015 CA
2012154872 November 2012 WO
2016015000 January 2016 WO
Other references
  • US 7,460,017 B2, 12/2008, Roeder et al. (withdrawn)
  • US 9,050,932 B2, 06/2015, Bernstein et al. (withdrawn)
  • US 9,342,073 B2, 05/2016, Bernstein et al. (withdrawn)
  • US 9,791,858 B2, 10/2017, Wilson et al. (withdrawn)
  • Warehouse Robots at Work, IEEE Spectrum,. Jul. 21, 2008, YouTube https://www.youtube.com/watch?v=IWsMdN7HMuA.
  • International Search Report and Written Opinion, PCT/US2017/054627, dated Jan. 5, 2018 (15 pages).
  • International Search Report and Written Opinion, PCT/US2018/012645, dated Mar. 7, 2018 (13 pages).
  • International Search Report and Written Opinion, PCT/US2018/012641, dated Mar. 7, 2018 (17 pages).
  • European Search Report and Search Opinion Received for EP Application No. 17857594, dated Apr. 1, 2020, 9 pages.
  • International Preliminary Report on Patentability received for PCT Patent Application No. PCT/US17/54627, dated Apr. 11, 2019, 9 pages.
  • International Preliminary Report on Patentability received for PCT Patent Application No. PCT/US18/12641, dated Jul. 18, 2019, 10 pages.
  • International Preliminary Report on Patentability received for PCT Patent Application No. PCT/US18/12645, dated Jul. 18, 2019, 11 pages.
Patent History
Patent number: 11697554
Type: Grant
Filed: Mar 4, 2020
Date of Patent: Jul 11, 2023
Patent Publication Number: 20200198894
Assignee: Staples, Inc. (Framingham, MA)
Inventors: Daniel Jarvis (Orlando, FL), Paolo Gerli Amador (Framingham, MA), Michael Bhaskaran (Seattle, WA), Amit Kalra (Acton, MA), Rodney Gallaway (Little Rock, AR), Vikranth Gopalakrishnan (Hoboken, NJ)
Primary Examiner: Abdhesh K Jha
Application Number: 16/809,361
Classifications
Current U.S. Class: Non/e
International Classification: B65G 1/137 (20060101); G05D 1/00 (20060101); G01C 21/20 (20060101); G05D 1/02 (20200101); G06Q 10/087 (20230101);