Hybrid modular storage fetching system
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.
Latest Staples, Inc. Patents:
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.
BACKGROUNDThis 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.
SUMMARYA 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.
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.
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.
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
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
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
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.
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.
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.
The layout depicted in
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
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
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.
Example cart AGV paths are illustrated in
Example picking AGV paths are also illustrated in
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.
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
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.
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.
As illustrated in
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.
As illustrated in
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.
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
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.
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
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.
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. |
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 |
- 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.
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
International Classification: B65G 1/137 (20060101); G05D 1/00 (20060101); G01C 21/20 (20060101); G05D 1/02 (20200101); G06Q 10/087 (20230101);