Dynamic package allocation and sorting for efficient shipping operations
The system optimizes item routing and packing by analyzing package flow and worker capabilities, addressing inefficiencies in manual and robotic singulation, enhancing throughput and stability in parcel distribution centers.
Patent Information
- Application Number
- JP2025511457
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-08-26
- Filing Date
- 2023-08-25
- Publication Date
- 2025-08-28
AI Technical Summary
Manual singulation processes in parcel distribution centers are labor-intensive and inefficient, and robotic singulation is challenging due to the dynamic flow and variability of items, leading to suboptimal throughput and inefficiencies in human-robot collaboration.
A system that programmatically analyzes package flow and determines optimal routing to shipping stations based on item characteristics, workspace conditions, and worker capabilities, using sensors and feedback to control robotic systems for efficient item sorting and packing.
Enhances throughput by optimizing item routing and packing, ensuring efficient use of human and robotic labor, and improving stack stability and space utilization in shipping operations.
Smart Images

Figure 2025528378000001_ABST
Abstract
Description
CROSS-REFERENCE TO OTHER APPLICATIONS
[0001] This application claims priority to U.S. Provisional Patent Application No. 63 / 401,295, entitled "DYNAMIC PARCEL ALLOCATION AND SORTATION FOR EFFICIENT OUTBOUND OPERATIONS," filed August 26, 2022, which is incorporated herein by reference for all purposes. [Background technology]
[0002] Parcel distribution centers and other distribution centers may receive an arbitrary mixture of items, often in a random and random manner, having various sizes, dimensions, shapes, weights, stiffness, and / or other attributes. Each item may have machine-readable information (such as text and / or optically or otherwise encoded information) that can be read by a machine and utilized, for example, to route the item through an automated sorting / routing system and / or process. To read the information for a given item, in a typical approach, the items are separated from one another by a process known as "singulation."
[0003] Typically, singulation has been performed manually by human workers. Mixed items arrive at a work station, for example, by chute or other conveyance, and a set of one or more human workers each manually separates the items and places them in spaces defined for single items, such as on a conveyor belt. For each item, its destination (or at least its next transportation leg) is determined by machine reading information on the item, and the item is routed to a bag, bin, container, or other receptacle associated with the next leg and / or a destination associated with the next leg, such as a delivery vehicle or staging area.
[0004] Manual singulation processes can be labor-intensive and inefficient, for example, upstream workers may fill many of the single-item spots, leaving downstream human workers with few locations to place the singulated items, resulting in suboptimal overall throughput.
[0005] Using a robot to perform singulation is a difficult challenge due to the jumble of items arriving at the workstations, the dynamic flow of items at and across each workstation, and the fact that it can be difficult to automatically identify, grasp, and separate (singulate) items using a robotic arm and end effector to adapt to changing conditions or conditions on the workstations or the items therein. [Brief explanation of the drawings]
[0006] Various embodiments of the present invention are disclosed in the following detailed description and the accompanying drawings.
[0007] [Figure 1A] FIG. 1 illustrates a robotic routing system according to various embodiments.
[0008] [Figure 1B] FIG. 1 illustrates a robotic routing system according to various embodiments.
[0009] [Figure 1C] FIG. 1 illustrates a robotic routing system according to various embodiments.
[0010] [Figure 2] FIG. 1 illustrates a robotic routing system according to various embodiments.
[0011] [Figure 3]FIG. 1 illustrates a system for routing multiple items across multiple shipping stations in accordance with various embodiments.
[0012] [Figure 4] FIG. 1 illustrates a system for routing multiple items across multiple shipping stations in accordance with various embodiments.
[0013] [Figure 5] FIG. 1 illustrates a system for routing multiple items across multiple shipping stations in accordance with various embodiments.
[0014] [Figure 6] FIG. 1 illustrates a system for routing multiple items across multiple shipping stations in accordance with various embodiments.
[0015] [Figure 7] 1 illustrates a method for routing items to a shipping station, according to various embodiments.
[0016] [Figure 8] 1 illustrates a method for routing multiple items across multiple shipping stations, according to various embodiments.
[0017] [Figure 9] 1 illustrates a method for routing multiple items across multiple shipping stations, according to various embodiments.
[0018] [Figure 10] 1 illustrates a method for obtaining a plan for routing multiple items to one or more shipping stations, according to various embodiments.
[0019] [Figure 11]1 illustrates a method for routing multiple items across multiple shipping stations, according to various embodiments.
[0020] [Figure 12] 1 illustrates a method for routing items to a shipping station, according to various embodiments. DETAILED DESCRIPTION OF THE INVENTION
[0021] The present invention may be embodied in various forms, including as a process, an apparatus, a system, a composition of matter, a computer program product embodied on a computer-readable storage medium, and / or a processor configured to execute instructions stored in and / or provided by a memory coupled to the processor. These embodiments, or any other form the present invention may take, may be referred to herein as technology. In general, the order of steps in a disclosed process may be varied within the scope of the present invention. Unless otherwise noted, components, such as a processor or memory, described as configured to perform a task may be implemented as general components temporarily configured to perform the task at a given time, or as specific components manufactured to perform the task. As used herein, the term “processor” refers to one or more devices, circuits, and / or processing cores configured to process data, such as computer program instructions.
[0022] The following is a detailed description of one or more embodiments of the present invention with reference to figures that illustrate the principles of the invention. While the present invention has been described in connection with such embodiments, it is not limited to any particular embodiment. The scope of the present invention is limited only by the claims, and the present invention includes many alternatives, modifications, and equivalents. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. These details are for the purpose of example, and the present invention may be practiced according to the claims without some or all of these specific details. For simplicity, technical matters that are well known in the art related to the present invention have not been described in detail so as not to unnecessarily obscure the present invention.
[0023] As used herein, a worker may include a human operator, a robotic system configured to perform one or more tasks, and the like.
[0024] As used herein, a shipping station may correspond to a work station where personnel receive items (e.g., from a sortation network) and place the items in a destination location (e.g., a pallet, a shipping container, a truck, etc.). A shipping station may include one or more personnel for picking and placing the received items.
[0025] A technique is disclosed that programmatically analyzes the types of packages (e.g., packages, bags, boxes, other items, etc.) flowing through a sorting network and determines the best way to route the packages to their destination so that they can be sent for the shipping process.
[0026] Packages / items may arrive by truck, container, or other vehicle and be placed into a sortation network. The sortation network may include humans or robots operating to place (e.g., singulate) items one by one onto partitioned conveyors. Image sensors may be used to route each package to a destination (such as a "door" or loading / packing area) associated with a further destination where packages / items destined for the same downstream location may be packed / loaded onto a pallet, into a box, or onto a truck or shipping container or other cargo conveyance, etc.
[0027] In related art systems, items may generally be sent to a door / destination as they are encountered. However, the workers at each door may have different conditions, capabilities, etc., and may need to pack the items in a specific order to achieve a certain degree of stability, efficient use of space, avoid damage to the items, etc. As one example, a different number of human workers with different constraints and capabilities may be deployed at a door. As another example, one or more robots with different end effectors, shapes, etc. may be deployed.
[0028] According to various embodiments, the system is configured to programmatically route packages / items based at least in part on predetermined considerations, which may include workspace conditions at the shipping station, the set of personnel at the shipping station, manifests or orders assigned to the shipping station, etc. Various other considerations may also be implemented as disclosed herein.
[0029] In various embodiments, the system uses a sensor system (e.g., one or more sensors) and other feedback to track the status and needs of workers (e.g., the status of a robot or a human operator, etc.) and makes decisions / controls regarding one or more of item destination, delivery order, delivery speed, expected delivery date, etc. to ensure efficient operation. The system controls the routing / transport of items across one or more shipping stations to maximize throughput. As an example, the system optimizes a value function subject to one or more constraints, such as the stability of a stack of items, the weight balance of a stack of items, the capacity of a shipping station, the condition of the shipping station workspace (e.g., the condition of the current stack of items), etc.
[0030] In various embodiments, items may be routed based on one or more of: (i) a set of predetermined categories based on predetermined specifications; (ii) dynamically calculated categories; (iii) on an individual item basis based on item characteristics; or (iv) on an individual item basis based at least in part on the operating conditions of the sorting device. In some embodiments, a set of pre-defined or dynamically calculated categories may be defined to include: (a) items based on item assignment to a particular shipping station or set of shipping stations (e.g., a set of shipping stations assigned to a particular final destination, order, or customer); (b) items based on shape or manipulability (e.g., some shipping stations may have robotic arms configured with grippers ideal for grasping boxes, while other shipping stations may have robotic arms configured with claws better suited to grasping irregularly shaped objects); (c) tasks to be performed on the items (e.g., unpacking to obtain a set of objects, packing / kiting into larger packages (e.g., palletizing items), etc.); and (d) times when the items need to be handled (e.g., the time when they are handled by a shipping station or transported to a particular final destination, etc.). Particular categories may be assigned to particular shipping stations, and the system routes items corresponding to the category to the shipping station to which the category is assigned.
[0031] The techniques disclosed herein for routing items to one or more shipping stations may be implemented in two stages: (a) a configuration or specification stage where higher-level behaviors are defined and are typically related to the physical feasibility of the sortation plan at the system level, and (b) an execution stage (e.g., real-time operation of a robotic sortation system) based on sortation requirements or shipping station conditions / status. Each stage may have criteria and conditions that define behaviors (e.g., used to determine the sorting, routing, singulation, and / or packaging of items). The system uses an overall value function to guide the optimization of the criteria and / or conditions.
[0032] Related art systems do not implement dynamic sortation strategies, such as strategies adapted to simplify and optimize dispatch from warehouse to destination. Various embodiments use dynamic sortation strategies that dynamically sort / route items across one or more shipping stations, taking into account trailer loading and / or palletizing by workers prior to dispatch.
[0033] According to various embodiments, a system, method, and robotic structure for routing items are provided, the method comprising: (a) receiving sensor data via a communications interface, the sensor data including data associated with items present in a workspace for the robotic structure configured to route the items; and (b) using the sensor data to determine and implement a plan for autonomously operating the robotic structure to route the items to a particular handling path based at least in part on the sensor data and one or more capabilities associated with a shipping station for the particular handling path.
[0034] According to various embodiments, a system, method, and robotic structure for routing items are provided, the method comprising: (a) acquiring item data via a communications interface, the item data including an indication of one or more items to be routed across a plurality of shipping stations; (b) acquiring capacity data for the plurality of shipping stations, the capacity data indicating one or more capacities or conditions for at least one of the shipping stations; (c) determining a plan for routing selected items to a destination shipping station selected from the plurality of shipping stations, the plan determined based at least in part on the item data and the capacity data for the destination shipping station; and (d) executing the plan to route the items to a specific handling path associated with the destination shipping station.
[0035] The system is configured to dynamically sort / route items (or determine dynamic item sorting / routing) for multiple types of items. Various items the system can handle include boxes, parcels, polybags, cases of sub-items (e.g., cases of juice, trays of bread, etc.), etc. Additionally or alternatively, the system may perform sorting / routing for various types of shipping activities (e.g., at a shipping station) (truck loading, palletizing, case packing, kitting, etc.). Additionally or alternatively, the system may perform sorting / routing for various types of modalities (e.g., a set of one or more robots, a group of robots and human workers, a group of one or more human workers, etc.). In some embodiments, the system is implemented to route / sort items according to one or more of (a) various types of items, (b) various types of shipping activities, and / or (c) various types of modalities. For example, the system is configured to route boxes across six different shipping stations in parallel. Techniques according to various embodiments are used to determine for items the particular shipping station to which the items will be routed, the order in which the items will be transported, the timing of the item transport, etc. A shipping station may include, for example, one robotic track floor loader, two robotic palletizers, one human palletizer, two human track loaders.
[0036] Related art systems route and pack items suboptimally. Systems according to various embodiments improve upon related art systems by efficiently routing / sorting and packing items using the dynamic routing / sorting techniques disclosed herein. Related art systems were unable to determine how to route items to a shipping zone (e.g., a zone where a shipping station loads items onto a cargo conveyance) to optimize the use of manual labor and robots in the shipping zone. Therefore, related art systems suffer from inefficiencies because humans and robots work differently, and shifting tasks associated with humans to robots (or vice versa) reduces system efficiency. In contrast, systems according to various embodiments dynamically determine the sorting / routing of items to corresponding shipping zones to optimize a value function under one or more constraints, such as (i) stability constraints, (ii) orders, manifests, or destinations associated with the shipping station, (iii) available space on a cargo conveyance, pallet, or the like, and (iv) work station capacity. Various other constraints may also be implemented. The optimization may be according to a predetermined value function.
[0037] Ensuring that robots operate productively (e.g., robots optimized for productivity) is extremely difficult in related art systems that involve complex logistics or sortation warehouses. For example, related art systems lacked a clear idea of how to design sortation systems to optimize human-robot collaboration. These deficiencies in related art systems have led to robot-enabled or human-only, single-focus warehouse designs that are worse than collaborative, optimized warehouses. A dynamic sortation system according to various embodiments enables efficient utilization of human labor by routing different types of packages to people with different physical abilities or assigned different tasks.
[0038] In various embodiments, the system routes items (e.g., determines a route and / or a plan for routing) based at least in part on one or more of: (a) predetermined item specifications (e.g., an indication that a particular item, item of a particular type, or item with particular characteristics should be handled by a first robot, or an indication that an item should be handled by a human worker); (b) an estimate of the robot's fill rate (e.g., throughput) (e.g., to send the item to the robot that can handle it most quickly); (c) models of one or more statistics generators (e.g., a sorting system) and shipping stations (e.g., a robot that loads arriving items onto trucks); (d) item statistics-oriented robot behavior modification; and (e) different capability robots. As an example of item statistics-oriented robot behavior modification, a robotic sortation system may determine that a set of identical items are to be sorted / routed (e.g., boxes full of identical boxes arrive at a warehouse), the robotic sortation system may perform queries regarding various shipping stations (e.g., the system may indicate to a robot that a set of items having a particular size, type, etc. will be handled), the robotic sortation may determine that a particular shipping station has a robot with upgraded or higher picks per hour (PPH) (e.g., a particular robot is amenable to that upgraded PPH capability system), and the robotic sortation system will route the set of items accordingly (e.g., the robotic sortation system will send more items to the robot with the upgraded PPH capability). As an example of robots with different capabilities, a first shipping station may be equipped with one or more lightweight robots for handling smaller but faster-moving items (e.g., items being transported to the shipping station at a relatively high speed), and a second shipping station may be equipped with one or more heavier / stronger robots for handling relatively larger / heavy items.
[0039] In some embodiments, the system makes routing decisions (e.g., whether to send to a certain robot, a particular type of robot, a human worker, etc.) and speed may be based at least in part on the shape of the item and the worker's gripper capabilities.
[0040] In some embodiments, the system optimizes item inflow (e.g., routing and transport of items to a shipping station) based at least in part on item size, item type, etc. Illustratively, rather than attaching a set of small items (e.g., multiple 8-inch by 8-inch by 1-inch boxes) that may collapse above a certain height, a combination of boxes of desired different stackable dimensions (e.g., boxes having dimensions of 24-inch by 24-inch by 24-inch) may be sent to a shipping station (e.g., a robot / human worker) in a given order that provides a desired stability for the tower of stacked items. As another illustrative example, if a given input includes a set of boxes and plastic packaging (or other packaging that cannot be stacked with the desired stability), the system may order the input items such that after the stack of items reaches a predetermined height with the desired boxes, a plastic package (or other packaging that cannot be stacked with the desired stability / minimum stability threshold) may be provided and placed on top of the stack. The system may repeat the above order for each tower / stack of items.
[0041] In some embodiments, the system makes dynamic decisions to route / transport items to shipping stations based on package inflow to maximize stack stability and packaging density. Dynamic decisions can be further constrained based on weight balance, the final destination or order / manifest associated with the items, etc. In response to the system determining (e.g., by estimation based on actual data or previous data) that a particular route has a certain percentage of easy-to-stack items (e.g., boxes) and a certain percentage of hard-to-stack items (e.g., carpets), the decision algorithm determines to leave adequate space (e.g., within a container) for the hard-to-stack items to be placed on the side of the stack. By way of illustration, if a given route for a truck has 5,000 boxes and 50 carpet rolls, the system dynamically determines to send 1,000 packages to create a stack in the shipping station workspace (e.g., shipping container) and have 10 pieces of carpet transported to the shipping station for workers to place on top of or next to the stack of items. The system repeats the above sequence to obtain optimal stack stability and packaging density across all of the items. Locally, a shipping station worker (e.g., a robotic system) performing the stacking of items or loading of containers may determine the stacking / loading conditions (e.g., model the stacking / loading of items) and communicate needs and opportunities to an upstream controller / scheduler (e.g., a robotic sortation system) (e.g., so that smaller or lighter items are stacked on top of heavier items that are already stacked / loaded), or so that items of a particular size or range fit into the space above items already stacked or loaded into a truck or shipping container.A local system (e.g., robot or control system) at a shipping station may locally generate a model or state of the workspace or stack / load of items and provide the model or state to the robotic sortation system to determine the routing / transport of items across multiple shipping stations.
[0042] In some embodiments, the system (e.g., a robotic sortation system) routes / reroutes items to various locations (e.g., a shipping station), such as to optimize by sending another item first. As one example, the system may route an item to a local buffer at the shipping station (a local buffer in the workspace of the robotic sortation system). As another example, the system may recirculate an item to allow a subsequent item to be delivered to the shipping station first, and then route the recirculated item. As another example, the system routes an item to another door or shipping station. As another example, the system routes an item to a secondary storage location or sortation zone / system.
[0043] In some embodiments, the system uses a predetermined value function in connection with dynamically determining the routing and / or transportation of items across one or more shipping stations. For example, the system uses a dynamic load balancing algorithm to provide an estimate of the operating cost of handling work (e.g., peak work). The system may use the value function or dynamic load balancing algorithm to enable dynamic pricing.
[0044] In some embodiments, the system uses a predetermined value function in connection with implementing / providing just-in-time routing. For example, the system controls the timing for the delivery of items to a particular shipping station, etc. Algorithms for providing dynamic / real-time item routing decisions allow the system to request or deny routing of a particular item to a shipping station worker. For example, the system may determine (e.g., based on a model or state reported by the shipping station's control system) that stacking or packing is in the process of packing against the wall in a truck and does not require any larger, heavier items, or that a set of smaller / lighter items should be delivered next. As another example, the system may determine to provide a particular item or items with particular item characteristics (e.g., rigid, non-fragile, etc.) to a shipping station worker. The shipping station's local system may request a particular item or items with particular item characteristics from the robotic sortation system. Alternatively, the robotic sortation system may decide to route / deliver a particular item or items with particular item characteristics based on the state of the shipping station workspace (e.g., a model or state reported from the shipping station's control system to the robotic sortation system).
[0045] A robotic sortation system may control the transport of items to shipping stations by automated guided vehicles (AGVs), chutes, conveyors, human operators, etc. The system may control the transport of items to better enable robot throughput. In some embodiments, the system balances the stacking / loading of items across multiple shipping stations to optimize a value function associated with the stacking / loading of items at multiple shipping stations. (E.g., the system attempts to optimize stacking / loading as a whole across multiple shipping stations, rather than just optimizing stacking / loading at one particular shipping station.)
[0046] Items may be load-balanced across multiple shipping stations or multiple robots. The system may load-balance the routing / transport of items based on one or more of: (a) current worker load (e.g., stopping / pausing item transport to a worker with a lot of back pressure or a large queue of items to be stacked / loaded), (b) actual or predicted worker or shipping station throughput (e.g., the system transports more items to a robot with a known throughput), and (c) derating of a worker, such as a derated robot (e.g., derating due to temperature, hardware malfunction (e.g., a damaged suction cup on an end effector), etc.), and the system determines to send a smaller item load (e.g., reduce or pause item transport) to the derated worker.
[0047] In some embodiments, the system load balances the routing / transportation of items to shipping stations based on human-centric load balancing. For example, the system can load balance unergonomic items to robots to allow human workers to have a better working environment (e.g., less strain on the human workers). As another example, the system can load balance items that robots are not sufficiently equipped to handle (e.g., items that can only be operated by human workers) and route / transport the items to human workers. As another example, the system can transport a series of items to a human worker who best fits a human pattern for loading, transporting, fulfillment, etc. Human and robotic workers have different capabilities. The system may use historical information to identify the types of items that are best suited to robotic or human workers. For example, the system can identify the throughput of human or robotic workers for specific items (e.g., the system can determine the expected throughput, efficiency, or expected time for stacking / loading items).
[0048] In some embodiments, the system selects a destination shipping station to route an item to based on the item's shape or manipulability. For example, the system determines the capabilities of various shipping stations and selects the shipping station with the best capabilities to handle the item as the destination shipping station. A first shipping station may be equipped with a robotic arm with a gripper that is best suited for boxes but less suitable for irregularly shaped objects. A second shipping station may be equipped with a robotic arm with claws that are well suited to handling irregularly shaped objects but may not be as fast at handling boxes. Thus, the system determines the item shape (e.g., based on sensor data) and selects a destination shipping station based at least in part on the item shape and the shipping station best suited to handle the item shape.
[0049] In some embodiments, the system selects a destination shipping station to route an item to based on the shipping station's availability. Availability may be based on the load of the shipping station or the availability of space remaining in a truck or container being loaded at the shipping station. Shipping station load may be determined based on the shipping station's item buffer. For example, if a shipping station is buffered (e.g., has a buffer with more than a threshold number of items or has a predicted completion time that exceeds a predetermined time threshold), the system may decide to route the next item to another shipping station, such as a less loaded shipping station.
[0050] In some embodiments, the system determines an activity / task to be performed on an item and selects a destination shipping station based at least in part on the activity / task to be performed. For example, the system determines whether the item is to be bundled or separated and then routes it to a shipping station where a particular task is being performed. For example, the system has an inflow stream of items of various types, shapes, etc. (e.g., lipstick boxes, shoe boxes, teddy bears, etc.). The system may determine that smaller items (e.g., smaller than a predetermined size) or items of a particular type / category are to be packed together or separated, and then the system routes the items to a shipping station appropriately. As one example, the system may route a large box to a shipping station configured to open the large box and pack the smaller items into the large box. As another example, the system may route a large box to be palletized.
[0051] In some embodiments, the system determines the destination shipping station based on when the item needs to be handled. For example, the system determines whether the item is being sent to a warehouse or whether the item is needed immediately (e.g., whether it will be sent to its final destination within a threshold time period or whether it will be sent to a non-warehouse destination). In response to determining that the item's final destination is a warehouse, the system may decide to route the item to a shipping station where the item will be palletized or loaded onto a truck or container scheduled to depart at a time exceeding a predetermined threshold.
[0052] In some embodiments, a shipping station includes a local controller / control system that determines the items or types of items requested from a routing / sorting system that routes the items. The shipping station control system may send a request for a particular type of item. For example, if a truck or container being loaded at the shipping station is overloaded (e.g., if the threshold height of the stack of items is exceeded), the shipping station control system may send a request to the routing / sorting system for a set of smaller items (e.g., items having a size smaller than a predetermined size threshold). As another example, if a truck or container being loaded is underloaded (e.g., the shipping station plans to place larger items toward the bottom of the truck or container), the shipping station control system may send a request for larger items.
[0053] In some embodiments, the system models the disposition of the set of items. In some examples, a local control system at a shipping station generates the model and sends the model or a request for a particular item / item type to a control system configured to control the routing / sorting system. In some examples, the system includes a global controller that models the disposition of the set of items or determines the routing of the items (e.g., rather than receiving a request from a shipping station) or otherwise determines the items / item types to be routed.
[0054] 1A-1C illustrate a robotic routing system according to various embodiments. In the example shown in FIGS. 1A-1C, system 100 routes / transports items to various shipping stations (e.g., shipping station 126 or shipping station 150). System 100 includes a control computer 175 (e.g., a control system) configured to dynamically determine the routing / transport of items across the various shipping stations. In some embodiments, each shipping station includes a control computer that exercises local control of workers (e.g., robotic workers), such as to determine which items to pick and place and the destination locations to which the items will be placed (e.g., in connection with stacking or loading the items into shipping containers, etc.).
[0055] In some embodiments, the control computer 175 dynamically determines the routing / transportation of items across the shipping stations 125, 150 based at least in part on the status of one or more of the shipping stations 125, 150. For example, the control computer 175 obtains a model of the workspace of the shipping station and determines the routing / transportation based on the model. As another example, the control computer 175 determines the status of a stack of items or the loading of items onto a truck or other container and uses the status of the stack or loading to determine whether to route another / next item to the corresponding shipping station or when an item will be transported to the shipping station. The control computer 175 may further determine the specific placement of items by personnel at the destination shipping station. Alternatively, a local control system associated with the shipping station (e.g., a local computer system controlling a robot within the shipping station) may determine a plan for placing items, including selecting a destination location, and then have personnel implement the plan for placing the items.
[0056] As shown, system 100 includes an input zone 105 where an inflow of items is introduced into system 100 (e.g., to a robotic sorting / routing system). The inflow of items may be transported via a chute or conveyor. As an example, the inflow of items may be loaded from trucks arriving at a warehouse. System 100 also includes transport structures 115, 120, each corresponding to a different path within the sortation network. Transport structure 115 transports items from the inflow zone to shipping station 150. Similarly, transport structure 120 transports items from the inflow zone to shipping station 125. Transport structures 115, 120 may be conveyors (e.g., partitioned conveyors) or other means for transporting items. In some embodiments, the transport structures are controlled by a control computer 175. For example, control computer 175 can control the speed at which the transport structures transport items. Control computer 175 may control the speed by controlling motors that drive the transport structures. Thus, the control computer 175 can control the timing of delivery of a particular item to a corresponding shipping station.
[0057] System 100 includes one or more routing modules (e.g., routing module 110) to control the routing of items within the sortation network. In the illustrated example, the configuration or orientation of routing module 110 can be controlled to route items along a first path defined by transport structure 115 to shipping station 150 or along a second path defined by transport structure 120. While FIGS. 1A-1C show routing module 110 as a baffle or other mechanical structure that can be oriented to route items along the appropriate path, various other mechanisms can be implemented to direct items along the first or second path. For example, routing module 110 can be a multi-directional conveyor with different conveyors that can be driven in different directions (e.g., one set of conveyors directing items along transport structure 115 and another set of conveyors directing items along transport structure 120). FIG. 1A illustrates the routing module 110 configured / oriented in an intermediate state between a first state in which the routing module 110 routes items along a first path and a second state in which the routing module 110 routes items along a second path. FIG. 1B illustrates the routing module 110 configured in the first state in which the routing module 110 directs / routes items along a first path defined by the transport structure 115. As shown, in the first state, the routing module 110 restricts / prevents items from flowing along a second path defined by the transport structure 120. Conversely, FIG. 1C illustrates the routing module 110 configured in the second state in which the routing module 110 directs / routes items along the first path defined by the transport structure 120. While FIGS. 1A-1C illustrate the system 100 with a single routing module 110, in various embodiments, a robotic sortation system (or robotic routing system) may include multiple routing modules 110.
[0058] In response to determining the destination shipping station(s) to which one or more items will be routed, control computer 175 determines a plan for routing the items to the destination shipping station(s). For example, control computer 175 determines which routing module(s) will be controlled to transport the items to the destination shipping station(s) along a predetermined path. In response to determining which routing module(s) will be controlled, control computer 175 determines how the routing module(s) will be controlled. For example, in the case of system 100, control computer 175 determines how the routing module 110 will be controlled, such as to operate routing module 110 to be configured / oriented in a first state or a second state. In some embodiments, the plan for routing the items to the destination shipping station(s) includes determining how to control a transport structure. For example, control computer 175 determines a scheduled timing for transporting the items to the destination shipping station and how to control the transport structure to transport the items according to the scheduled timing.
[0059] In the illustrated example, control computer 175 determines that an item will be transported to shipping station 150. Control computer 175 determines the time that the item will arrive at shipping station 150, for example, based on the state of the workspace of the destination shipping station (e.g., the model or state of the stack / load of items, the state of personnel at the destination shipping station, etc.). Control computer 175 then determines the method that transport structure 115 will follow when driven to transport the item to shipping station 150.
[0060] In some embodiments, system 100 (e.g., control computer 175) determines a routing or plan for transporting items to selected destination shipping stations based at least in part on the availability or capabilities of personnel within the various shipping stations. System 100 may store a mapping of personnel to capabilities. Examples of capabilities include the maximum weight that can be lifted by a personnel, the type of end effector, an indication of whether the personnel is a robotic or human worker, the maximum speed at which the personnel can handle an item or a particular item / item type, the availability of a buffer zone (e.g., buffer zone 140) where the personnel can temporarily store items to place / stack / reorder items, etc., an indication of the type of robotic worker, and the range in which the personnel can operate (e.g., the range in which a robot can move, as defined by a linear rail, etc.). Various other capabilities may also be implemented. In some embodiments, system 100 uses capacity associated with a shipping station (e.g., the collective capacity of the workers within the shipping station) as a constraint on a decision algorithm for determining how to route items or on a predetermined value function used to optimize item stacking (e.g., optimized for a particular dimension according to a particular value function). Examples of dimensions along which a value function may be configured to optimize item stacking include: (i) stack / load stability, (ii) stack / load weight balance, (iii) item throughput (e.g., total speed to stack / load all items), (iv) space optimization (e.g., to pack items tightly), etc. Value functions may also be optimized along various other dimensions.
[0061] In some embodiments, system 100 (e.g., control computer 175) determines a route or plan for transporting items to a selected destination shipping station based at least in part on the item handling activity. In the illustrated example, the item handling activity performed at shipping station 125 includes palletizing items onto pallets 130, which may then be loaded onto a truck or the like. Robot 135 may be controlled to pick items from transport structure 120 when the items arrive at shipping station 125 and stack the items on pallets 130. As another example, item handling activity performed at shipping station 150 includes loading items onto trucks 160 or other shipping containers. Robot 155 may be controlled to pick items from transport structure 115 when the items arrive at shipping station 150 and load the items directly onto trucks 160.
[0062] In some embodiments, system 100 (e.g., control computer 175) determines a route or plan for transporting items to a selected destination shipping station based at least in part on the shipping station modality: a single robotic worker, a pair of robotic workers, a set of different types of robotic workers, a set of one or more human workers, a set of a robotic worker and a human worker, etc. In the illustrated example, shipping station 125 and shipping station 150 both have the same modality, i.e., a single robot (e.g., robot 135 and robot 155).
[0063] In some embodiments, system 100 (e.g., control computer 175) determines a route or plan for transporting items to a selected destination shipping station based at least in part on the order or manifest associated with the shipping station (e.g., the manifest or order for which the items are being packed), the final destination to which the stack / load of items is being delivered, the customer to which the stack / load of items is being delivered, etc. For example, shipping station 125 may be associated with a load of items being delivered to New York City, and shipping station 150 may be associated with a load of items being delivered to Chicago. In response to determining that an item entering the robotic sortation system at input zone 105 is being delivered to New York City, system 100 determines to route the item to shipping station 125.
[0064] In some embodiments, system 100 (e.g., control computer 175) determines a routing or plan for transporting items to a selected destination shipping station based on the particular type of item associated with the destination shipping station. For example, if an influx of items includes a mix of cereal boxes or bread loaves, shipping station 150 may be assigned to load the bread loaves, and shipping station 125 may be assigned to load / stacking the cereal boxes. In response to the robotic sortation system receiving a cereal box in the influx of items, control computer 175 determines to route the cereal box to shipping station 125.
[0065] The decision algorithm implemented to determine the routing / transportation of items may include making routing decisions based on a set of predetermined heuristics. For example, if the shipping station 150 is loading a truck for delivery to a particular final destination, the control computer 175 may use a heuristic that routes larger / heavier items to the shipping station 150 when the shipping station state is partially loaded onto the truck / container (e.g., at the start of loading). Another heuristic may be to route items that do not contribute to good stability of the stack / load of items toward the end of loading or after the stack of items meets a predetermined minimum height threshold. Another heuristic may route items with awkward shapes (e.g., round items, non-rigid items, deformable or rigid items, etc.) to a shipping station that includes human workers (e.g., human workers may be better suited to handle such items). The system may store a set of heuristics, each associated with an item's characteristics (e.g., size, weight, shape, etc.). In some embodiments, the system implements finer-grained algorithms for determining the placement of items arriving at the shipping station. For example, a robotic sortation system implements a coarse-grained model for routing items (e.g., a set of heuristics for determining routing), while the shipping station system (e.g., a local control system) implements specific placement algorithms that model stability, space utilization, placement speed, weight balancing, etc.
[0066] FIG. 2 illustrates a robotic routing system according to various embodiments. In the illustrated example, system 200 includes multiple shipping stations 230, 250, and 275 and multiple routing modules 210 and 215. In response to determining a destination shipping station for incoming items entering input zone 205, control computer 295 determines which routing modules to control and / or the configuration / or orientation of the routing modules. As an example, in response to determining to route items to shipping station 275, control computer 295 controls routing modules 210 and 215 to be configured in a first state, e.g., such that routing module 210 restricts the flow of items to shipping station 230 and routing module 215 restricts the flow of items to shipping station 250. Control computer 295 may determine a plan for controlling the routing modules, such as how to configure the routing modules and / or when to configure routing module 210 to appropriately direct / route items to selected destination shipping stations. The plan may be implemented to route the items for handling at the destination shipping station.
[0067] As shown in FIG. 2 , shipping stations 230, 250, and 275 each correspond to a different shipping activity (e.g., the manner in which items are handled). Shipping station 230 corresponds to a palletization shipping activity. For example, shipping station 230 includes a single robotic arm 240 that picks items from transport structure 220 and places / palletizes the items on pallet 235. Shipping station 230 may further include a forklift 245 or other pallet movement system to load pallet 235 onto a truck or container. In contrast, shipping stations 250 and 275 correspond to truck / container loading shipping activities. For example, shipping station 250 includes a robot 260 and a human worker 255 to load items transported on transport structure 225 onto truck 265. As another example, shipping station 275 includes a pair of robots 280 and 285 to load items transported via transport structure 222 onto truck 290. In some embodiments, the control computer 295 is configured to route items across the shipping stations 230, 250, 275 based at least in part on the shipping activity. For example, a particular item, type of item, or final destination of an item may be assigned to a particular shipping activity.
[0068] As further shown in FIG. 2 , shipping stations 230, 250, and 275 each correspond to a different modality (e.g., the shipping stations have different handling modalities or capabilities). The modality for shipping station 230 includes a robotic arm 240 (e.g., for palletizing items onto pallet 235) and a forklift 245 or other pallet movement system. The modality for shipping station 250 includes a human worker 255 and a robot 260. Thus, shipping station 250 may be more ideal for difficult items (e.g., awkwardly shaped items, fragile or deformable items, etc.) because a human worker may be better suited to handling such items than a robotic worker. The modality for shipping station 275 includes multiple robots 280, 285. Shipping station 275 may be ideal for heavy items because the robots 280, 285 can be operated to cooperatively lift, for example, a single heavy item. Shipping station 275 may also be ideal for small / light and regularly shaped items (e.g., small boxes, etc.), as robotic workers may be better suited to perform repetitive tasks and the like.
[0069] FIG. 3 illustrates a system for routing multiple items across multiple shipping stations, according to various embodiments. In the illustrated example, a robotic sortation system 310 dynamically routes / sorts items based on shape. A stream of set items 305 is provided to the system 300. In some cases, the set of items included in the stream of items is known in advance to the robotic sortation system 310 (e.g., the system stores a manifest or order associated with the stack / load of items). In other cases, the system has prior knowledge of the next N items to be transported to the sortation zone, where N is an integer. The N items may be detected by a sensor system located at an input zone where the stream of items enters. The set of items 305 may include a variety of items of different sizes, weights, types (e.g., boxes, envelopes, polybags, etc.), routes, contents (e.g., Nike® shoes), etc.
[0070] In response to determining the set of items 305 to be routed / sorted across multiple shipping stations (e.g., along route 315 to shipping station 325, along route 330 to shipping station 340, and / or along route 350 to shipping station 360), robotic sortation system 310 dynamically determines the routing / sorting of the set of items 305. In the illustrated example, robotic sortation system 310 sorts the set of items 305 based at least in part on the shape of the items. In some embodiments, robotic sortation system 310 controls the routing of items destined for the robot to shipping station 325. Items destined for the robot may be identified based on historical information of previous handling / placement of items by the robot or a particular type of robot. As one example, items destined for the robot may be identified as items for which the robot has a historical place success rate greater than a minimum place success threshold. As another example, items destined for the robot may be identified as items for which the robot has a historical average place time less than a maximum place time threshold.
[0071] As shown, robotic sortation system 310 routes rectangular items via route 315 to shipping station 325. Shipping station 325 may include a robot 320 controlled to pick and place items, such as for loading into a truck or other container. Robot 320 may be controlled by a control system to stack / load items according to a predetermined value function to optimize one or more of stacking / loading speed, space utilization, stability, etc. In some embodiments, the control system attempts to find a solution for stacking / loading items that meets minimum thresholds / constraints for one or more of the aforementioned dimensions along which item handling may be optimized. For example, the control system finds a solution where the stack or load of items meets at least a minimum stability threshold.
[0072] Robotic sortation system 310 routes triangular and parallelogram-shaped objects via route 330 to shipping station 340. Shipping station 340 includes human workers 335. Human workers may be deemed suitable for handling (e.g., picking, stacking, or stowing) irregularly shaped items such as triangles or parallelograms.
[0073] The robotic sortation system 310 routes round objects, such as half-moons, cylinders, etc. (e.g., carpets, posters, etc.) via route 350 to shipping station 360. Shipping station 360 includes human workers 355. Human workers may be deemed suitable for handling (e.g., picking, stacking, or loading) irregularly shaped items, such as triangles or parallelograms. In some embodiments, the system stores a mapping of human work capabilities for each human worker. Different human workers may have different capabilities (maximum weight threshold, maximum size threshold, etc.). The system may determine human work capabilities for a particular human worker based on historical information, such as the placement success rate of a particular item or type of item, the number of item breakages or item drops based on the human worker's handling / placement, etc.
[0074] FIG. 4 illustrates a system for routing multiple items across multiple shipping stations, according to various embodiments. In the illustrated example, a robotic sortation system 410 dynamically allocates items across shipping stations and routes / sorts items to shipping stations based on shape and handling modality. A stream of a set of items 405 is provided to the system 400. In some cases, the set of items included in the stream of items is known in advance to the robotic sortation system 410 (e.g., the system stores a manifest or order associated with the stack / load of items). In other cases, the system has prior knowledge of the next N items to be transported to the sortation zone, where N is an integer. The N items may be detected by a sensor system located at the input zone where the stream of items enters, or by a sensor system upstream of the routing / sorting system or routing module used to sort / route the items. A set of items 405 may include a variety of items of different sizes, weights, types (eg, boxes, envelopes, polybags, etc.), routes, contents (eg, Nike® shoes), etc.
[0075] In response to determining the set of items 405 to be routed / sorted across multiple shipping stations (e.g., along route 415 to shipping station 425, along route 430 to shipping station 440, and / or along route 450 to shipping station 460), robotic sortation system 410 dynamically determines the routing / sorting of set of items 405. In the illustrated example, robotic sortation system 410 sorts set of items 405 based at least in part on the modalities / capacities available at the shipping stations.
[0076] In some embodiments, the robotic sorting system 410 controls the routing of items destined for the robot to a shipping station 425. The robotic sorting system 410 may further route items based on the capabilities of a human worker 422. In the illustrated example, the robot 420 and human worker 422 may place a rectangular box. The rectangular box may be placed toward the bottom of a stack / load to meet stability criteria (e.g., predicted stability greater than a minimum stability threshold) or space utilization criteria. In contrast to the system 300 of FIG. 3, the shipping station 425 includes both a human worker and a robot. Thus, the system 400 employs both robotic and human loading and / or stacking. In the illustrated example, the human worker 422 may place a round (e.g., hemispherical, cylindrical, half-moon, etc.) item on top of the stack of rectangular boxes. The round item may be difficult for the robot 420 to grasp and / or place at the height of the top rectangular box. However, a human worker 422 may be suitable to place round items on top of stacks of rectangular boxes to improve space utilization in a truck or other container.
[0077] As shown, robotic sortation system 310 routes rectangular items via route 315 to shipping station 325. Shipping station 325 may include a robot 320 controlled to pick and place items, such as for loading into a truck or other container. Robot 320 may be controlled by a control system to stack / load items according to a predetermined value function to optimize one or more of stacking / loading speed, space utilization, stability, etc. In some embodiments, the control system attempts to find a solution for stacking / loading items that meets minimum thresholds / constraints for one or more of the aforementioned dimensions along which item handling may be optimized. For example, the control system finds a solution where the stack or load of items meets at least a minimum stability threshold.
[0078] Robotic sortation system 410 routes triangular and parallelogram-shaped objects via route 430 to shipping station 440. Shipping station 440 includes human workers 435. Human workers may be deemed suitable for handling (e.g., picking, stacking, or stowing) irregularly shaped items such as triangles or parallelograms.
[0079] In the depicted example, robotic sortation system 410 is not routing any items to shipping station 460 via route 450 for handling by human worker 455. As one example, robotic sortation system 410 may determine not to route any items to shipping station 460 because a set of items 405 may be associated with a particular order or final destination, and such order or final destination may not be assigned to shipping station 460. That order or final destination may be assigned to shipping stations 425 and 440. As another example, robotic sortation system 410 may determine not to route any items to shipping station 460 based on a value function used to determine a plan for routing / transporting items and / or stacking / loading items at the shipping station. The value function may determine to route items only to shipping stations 425 and 440 due to constraints associated with space utilization (e.g., to minimize the number of trucks or containers required to accommodate a set of items).
[0080] FIG. 5 illustrates a system for routing multiple items across multiple shipping stations, according to various embodiments. In the illustrated example, a robotic sortation system 510 dynamically routes / sorts items based on optimal stacking (e.g., according to a predetermined value function). A stream of a set of items 505 is provided to the system 500. In some cases, the set of items included in the stream of items is known in advance to the robotic sortation system 510 (e.g., the system stores a manifest or order associated with the stacking / loading of items). In other cases, the system has prior knowledge of the next N items to be transported to the sortation zone, where N is an integer. The N items may be detected by a sensor system located at an input zone where the stream of items enters. The set of items 505 may include a variety of items of different sizes, weights, types (e.g., boxes, envelopes, polybags, etc.), routes, contents (e.g., Nike® shoes), etc.
[0081] In response to determining the set of items 505 to be routed / sorted across multiple shipping stations (e.g., along route 515 to shipping station 525, along route 530 to shipping station 540, and / or along route 550 to shipping station 560), the robotic sortation system 510 dynamically determines the routing / sorting of the set of items 505. In the illustrated example, the robotic sortation system 510 sorts the set of items 505 based at least in part on the shape of the items. In some embodiments, the robotic sortation system 510 controls the routing of items destined for the robot to shipping station 525. Items destined for the robot may be identified based on historical information of previous handling / placement of items by the robot or a particular type of robot. As one example, items destined for the robot may be identified as items for which the robot has a historical place success rate greater than a minimum place success threshold. As another example, items for the robot may be identified as items for which the robot has a historical average place time less than a maximum place time threshold.
[0082] As shown, robotic sortation system 510 routes rectangular items via route 515 to shipping station 525. Shipping station 525 may include a robot 520 controlled to pick and place items, such as for loading into a truck or other container. Robot 520 may be controlled by a control system to stack / load items according to a predetermined value function to optimize one or more of stacking / loading speed, space utilization, stability, etc. In some embodiments, the control system attempts to find a solution for stacking / loading items that meets minimum thresholds / constraints for one or more of the above-mentioned dimensions along which item handling may be optimized. For example, the control system finds a solution where the stack or load of items meets at least a minimum stability threshold.
[0083] The robotic sortation system 510 routes triangular and parallelogram-shaped objects via route 530 to a shipping station 540. The shipping station 540 includes human workers 535, 537. The human workers may be deemed suitable for handling (e.g., picking, stacking, or stowing) irregularly shaped items, such as triangles or parallelograms. The human workers may be deemed suitable for handling (e.g., picking, stacking, or stowing) irregularly shaped items, such as triangles or parallelograms. In some embodiments, the system stores a mapping of human work capabilities for each human worker. Different human workers may have different capabilities (maximum weight threshold, maximum size threshold, etc.). The system may determine human work capabilities for a particular human worker based on historical information, such as the placement success rate of a particular item or item type, the number of item breakages or item drops based on the human worker's handling / placement, etc.
[0084] Robotic sortation system 510 routes round objects such as half-moons, cylinders, etc. (e.g., carpets, posters, etc.) via route 550 to shipping station 560. Shipping station 560 is equipped with forklift 555, which may be considered ideal for handling cylindrical objects (such as large carpets).
[0085] In some embodiments, the robotic sortation system 510 determines the order in which the portion of items 575 are transported to the shipping station 525. For example, the order may be indicated by numbers associated with various items in the portion of items 575. The robotic sortation system 510 may determine the ordering of the items to be transported based at least in part on a value function. The value function may determine an order that optimizes along a dimension (e.g., speed, stability, weight balancing, space utilization, etc.) while balancing various other constraints. For example, the value function may be configured to optimize stability under various other constraints (total available space, worker capacity, weight balancing, maximum speed, etc.). In some embodiments, the value obtained from the value function may be based on a set of differently weighted factors. For example, the value function may have different weights for stability, speed / time of completion, weight balancing, etc.
[0086] FIG. 6 illustrates a system for routing multiple items across multiple shipping stations, according to various embodiments. In the illustrated example, a robotic sortation system 610 dynamically routes / sorts items at a dynamic feed rate based on one or more of item characteristics and shipping station / operational capacity. A stream of set items 605 is provided to the system 600. In some cases, the set of items included in the stream of items is known in advance to the robotic sortation system 610 (e.g., the system stores a manifest or order associated with the stack / load of items). In other cases, the system has prior knowledge of the next N items to be transported to the sortation zone, where N is an integer. The N items may be detected by a sensor system located at an input zone where the stream of items enters. The set of items 605 may include a variety of items of different sizes, weights, types (e.g., boxes, envelopes, polybags, etc.), routes, contents (e.g., Nike® shoes), etc.
[0087] In some embodiments, the system 600 routes a set of items 605 according to a dynamic supply rate based on one or more predetermined criteria. For example, the system 600 routes items according to a primary criterion, such as supply rate, and a secondary criterion, such as load balancing. Different types of workers have different capabilities (e.g., the speed at which they can handle items or specific items / types of items). The system 600 routes items to maximize the speed at which a shipping station can handle a set of items 605, optimizing the route based at least in part on the supply rate. However, shipping station workers may be overburdened and operate slower than expected, causing backlogs of items routed to the shipping station. Therefore, the system 600 (e.g., the robotic sortation system 610) may adjust the routing of items to a particular shipping station. The system 600 may determine the routing of items across multiple shipping stations to load balance the various sets of workers at the corresponding shipping stations.
[0088] In response to determining the set of items 605 to be routed / sorted across multiple shipping stations (e.g., along route 615 to shipping station 625, along route 630 to shipping station 640, and / or along route 650 to shipping station 660), robotic sortation system 610 dynamically determines the routing / sorting of set of items 605. In the illustrated example, robotic sortation system 610 sorts set of items 605 based at least in part on a predetermined value function. The value function may be configured to bias / optimize to maximize speed while load balancing workers at various output stations.
[0089] The robotic sortation system 610 load balances the workload across the shipping stations 625, 640, and 660. For example, the robot 602 at shipping station 625 may be ideal for small items, the human workers 635, 637 at shipping station 640 may be ideal for irregularly shaped or otherwise irregular items (e.g., fragile items, items prone to deformation, etc.), and the forklift 655 at shipping station 660 may be considered ideal for loading larger items (e.g., carpets, large boxes, pallets, etc.).
[0090] 7 illustrates a method for routing items to a shipping station, according to various embodiments. In some embodiments, process 700 is performed, at least in part, by system 100 and / or system 200.
[0091] At step 705, the system receives sensor data including data associated with items present in a workspace for a robotic structure configured to route the items. At step 710, the system determines and implements a plan to autonomously operate the robotic structure to route the items to a particular handling path using the sensor data, based at least in part on the sensor data and one or more capabilities associated with the shipping station for the particular handling path. At step 715, a determination is made as to whether process 700 is complete. In some embodiments, process 700 is determined to be complete in response to a determination that there are no more items to be routed, that loading of the manifest or cargo vehicle is complete, that no further plans for towing items are determined, that an administrator indicates a pause or stop of process 700, etc. In response to a determination that process 700 is complete, process 700 ends. In response to a determination that process 700 is not complete, process 700 returns to step 705.
[0092] 8 illustrates a method for routing multiple items across multiple shipping stations, according to various embodiments. In some embodiments, process 800 is performed, at least in part, by system 100 and / or system 200.
[0093] In step 805, the system acquires sensor data for the workspace of the robotic sortation system and the workspace of a plurality of shipping stations.
[0094] At step 810, one or more models of the workspace of the robotic sortation system and the multiple shipping stations are determined. In some embodiments, the system generates one or more models of the workspace based at least in part on sensor data. The sensor data may include data acquired by a vision system that enables the system to segment and identify objects within the workspace (e.g., items within the workspace). Items may be identified based on one or more item characteristics (e.g., item identifier, item label, item size, item shape, serial number, etc.). In connection with generating the one or more models, the system can determine various workspace conditions, such as the state of the shipping stations (e.g., stacks / loads of items, robot state, etc.).
[0095] In step 815, the system retrieves characteristics associated with each of the multiple shipping stations. The shipping station characteristics may include worker capabilities (e.g., the speed at which the robot can move, the weight the robot can lift, etc.), the identity or type of one or more workers in the workspace, and the status of the workers (e.g., hardware malfunctions, average throughput).
[0096] In step 820, the system selects one or more items within the workspace of the robotic sortation system.
[0097] In step 825, the system determines a destination shipping station based at least in part on the model of the workspace and characteristics associated with the plurality of shipping stations.
[0098] In step 830, the system determines a plan for routing the items to the destination shipping stations. The plan may include the selection of a destination shipping station for a particular item, the timing of the delivery of the item, and one or more modules that are controlled (e.g., controlling motors or actuators that cause a conveyor to move the item to a particular shipping station, or actuators that cause the item to flow along a particular path corresponding to the destination shipping station) to properly route the item and / or deliver the item according to a scheduled time.
[0099] In step 835, the system causes the plan to be implemented. The system may control the robotic worker or may send the plan to the worker (e.g., send the plan to a control system for the robotic worker, display the plan to a human worker, etc.).
[0100] At step 840, the system determines whether another item is to be routed. In response to determining that another item is to be routed, process 800 proceeds to step 835. Conversely, in response to determining that there are no more items to be routed, process 800 proceeds to step 850.
[0101] In step 845, the system obtains current sensor data and updates the model of the workspace. Process 800 then returns to step 820, where process 800 repeats steps 820-840 until there are no more items to be routed.
[0102] At step 850, a determination is made as to whether process 800 is complete. In some embodiments, process 800 is determined to be complete in response to a determination that there are no more items to be routed, that loading of the manifest or cargo vehicle is complete, that no further plans for towing items are determined, that a manager indicates a pause or stop of process 800, etc. In response to a determination that process 800 is complete, process 800 ends. In response to a determination that process 800 is not complete, process 800 returns to step 805.
[0103] 9 illustrates a method for routing multiple items across multiple shipping stations, according to various embodiments. In some embodiments, process 900 is implemented, at least in part, by system 100 and / or system 200. Process 900 may be invoked by process 800 (e.g., step 830).
[0104] At step 905, the system acquires sensor data for the workspace of the robotic sortation system and the workspace of the multiple shipping stations. At step 910, the system acquires characteristics associated with each of the multiple shipping stations. At step 915, the system determines a routing for multiple items within the workspace of the robotic sortation system across the multiple shipping stations according to a predetermined value function. At step 920, the system determines a plan for routing the items to the destination shipping stations. At step 925, the system executes the plan. Executing the plan may include providing the plan to a system, device, or other process that invoked process 900. At step 930, a determination is made as to whether process 900 is complete. In some embodiments, process 900 is determined to be complete in response to a determination that there are no more items to be routed, that loading of the manifest or cargo vehicle is complete, that no further plans for towing items are determined, that an administrator indicates a pause or stop of process 900, etc. In response to a determination that process 900 is complete, process 900 ends. In response to determining that the process 900 is not complete, the process 900 returns to step 905 .
[0105] 10 illustrates a method for obtaining a plan for routing multiple items to one or more shipping stations, according to various embodiments. In some embodiments, process 1000 is performed, at least in part, by system 100 and / or system 200.
[0106] At step 1005, the system obtains an indication of a destination shipping station to which one or more items will be routed. At step 1010, the system obtains one or more characteristics associated with the destination shipping station. At step 1015, the system determines the order in which one or more items will be routed to the destination shipping station. At step 1020, the system determines the timing of transporting one or more items to the destination shipping station. At step 1025, the system determines the control for one or more routing modules to transport one or more items to the destination shipping station. At step 1030, the system generates a plan for transporting one or more items to the destination shipping station. At step 1035, a determination is made as to whether process 1000 is complete. In some embodiments, process 1000 is determined to be complete in response to a determination that there are no more items to be routed, that loading of the manifest or cargo vehicle is complete, that no further plan for towing items is determined, that an administrator indicates a pause or stop of process 1000, etc. In response to a determination that process 1000 is complete, process 1000 ends. In response to a determination that process 1000 is not complete, process 1000 returns to step 1005.
[0107] 11 illustrates a method for routing multiple items across multiple shipping stations, according to various embodiments. In some embodiments, process 1100 is performed, at least in part, by system 100 and / or system 200.
[0108] In step 1105, the system obtains item data for a set of items to be routed to multiple shipping stations. The item data may include an indication of the set of items to be routed (such as a manifest or order for a set of items to be transported to a particular final destination) or an indication of the next M items to be delivered to the robotic routing system. The item data may also include one or more item characteristics, such as item attributes (e.g., size, weight, identifier, item type, package type, etc.).
[0109] At step 1110, the system determines one or more conditions of the workspace of the plurality of shipping stations. In some embodiments, the system obtains the condition information based on sensor data captured by one or more sensor systems (e.g., vision systems) within the workspace.
[0110] The system may generate a model of the workspace based at least in part on the state information. The sensor data may include data acquired by a vision system that enables the system to segment and identify objects within the workspace (e.g., items within the workspace). Items may be identified based on one or more item characteristics (e.g., item identifier, item label, item size, item shape, serial number, etc.). In connection with generating the one or more models, the system can determine various conditions within the workspace, such as the state of a shipping station (e.g., stacks / loads of items, robot state, etc.).
[0111] The system can use the status information to determine the status of a worker at a particular shipping station. For example, the system can determine one or more of: (i) whether the worker is active, (ii) the current throughput (e.g., the current average throughput over a predetermined period of time), (iii) whether the worker has a hardware malfunction (e.g., a missed suction cup), and / or (iv) whether the worker is paused or awaiting assistance (e.g., whether a robotic operation requires human intervention to complete a task, etc.).
[0112] In step 1115, the system retrieves characteristics associated with each of a plurality of shipping stations. The shipping station characteristics may include worker capabilities (e.g., the speed at which the robot can move, the weight the robot can lift, etc.), the identity or type of one or more workers in the workspace, and the status of the workers (e.g., hardware malfunctions, average throughput).
[0113] In step 1120, the system selects one or more items within the workspace of the robotic sortation system. For example, the system selects one or more items to be routed to a shipping station.
[0114] In step 1125, the system determines destination shipping stations based at least in part on workspace conditions and characteristics associated with the plurality of shipping stations. Particular items or item types may be assigned to portions of shipping stations, and the system determines how to route the items / item types across the portions of shipping stations based, for example, on optimizing a value function (e.g., optimizing one or more of speed to complete loading, space utilization, weight balancing / distribution, predictive stability, etc.). The value of routing an item to a particular shipping station based on the value function may be calculated based, at least in part, on workspace conditions of the shipping station.
[0115] In step 1130, the system determines a plan for routing the items to the destination shipping stations. The plan may include the selection of a destination shipping station for a particular item, the timing of the delivery of the item, and one or more modules that are controlled (e.g., controlling motors or actuators that cause a conveyor to move the item to a particular shipping station, or actuators that cause the item to flow along a particular path corresponding to the destination shipping station) to properly route the item and / or deliver the item according to a scheduled time.
[0116] In step 1135, the system causes the plan to be implemented. The system may control the robotic worker or may send the plan to the worker (e.g., send the plan to a control system for the robotic worker, display the plan to a human worker, etc.).
[0117] At step 1140, the system determines whether another item is to be routed. In response to determining that another item is to be routed, process 1100 proceeds to step 1135. Conversely, in response to determining that there are no more items to be routed, process 1100 proceeds to step 1150.
[0118] In step 1145, the system obtains current sensor data and updates the model of the workspace. Process 1100 then returns to step 1120, and process 1100 repeats steps 1120-1140 until there are no more items to be routed.
[0119] At step 1150, a determination is made as to whether process 1100 is complete. In some embodiments, process 1100 is determined to be complete in response to a determination that there are no more items to be routed, that loading of the manifest or cargo vehicle is complete, that no further plans for towing items are determined, that a manager indicates a pause or stop of process 1100, etc. In response to a determination that process 1100 is complete, process 1100 ends. In response to a determination that process 1100 is not complete, process 1100 returns to step 1105.
[0120] 12 illustrates a method for routing items to a shipping station, according to various embodiments. In some embodiments, process 1200 is performed, at least in part, by system 100 and / or system 200.
[0121] At step 1205, the system obtains item data via a communications interface, the item data including a suggestion for a set of items to be routed across a plurality of shipping stations. At step 1210, the system obtains capacity data for a plurality of shipping stations, the capacity data indicating one or more capabilities of at least one of the shipping stations. At step 1215, the system determines a plan for routing the selected items to a destination shipping station selected from among the plurality of shipping stations, the plan being determined at least in part based on the item data and the capacity data of the destination shipping station. At step 1220, the system executes the plan to route the selected items to a particular handling path associated with the destination shipping station. At step 1225, a determination is made as to whether process 1200 is complete. In some embodiments, process 1200 is determined to be complete in response to a determination that there are no more items to be routed, that loading of the manifest or cargo vehicle is complete, that no further plans for towing the items are determined, that an administrator indicates a pause or stop of process 1200, etc. In response to a determination that process 1200 is complete, process 1200 terminates. In response to a determination that process 1200 is not complete, process 1200 returns to step 1205.
[0122] Various example embodiments described herein are described with reference to flowcharts. While the examples may include some steps performed in a particular order, according to various embodiments, various steps may be performed in different orders and / or various steps may be combined into a single step or performed in parallel.
[0123] Although the above-described embodiments have been described in some detail for ease of understanding, the invention is not limited to the details provided. There are many alternative ways of implementing the invention. The disclosed embodiments are illustrative and are not intended to be limiting.
Claims
1. 1. A system comprising: a communication interface; one or more processors connected to the communication interface; Equipped with the one or more processors: acquiring item data via the communication interface, the item data including an indication of a set of items to be routed across a plurality of shipping stations; acquiring capacity data for the plurality of shipping stations, the capacity data indicating one or more capabilities or statuses of at least one shipping station; and determining a plan for routing selected items to a destination shipping station selected from among the plurality of shipping stations, the plan being determined based at least in part on the item data and the capacity data of the destination shipping station, and implementing the plan to route the selected items to a particular handling path associated with the destination shipping station.
2. The system of claim 1 , wherein the item data includes item attributes associated with the selected item.
3. 3. The system of claim 2, wherein the item attributes include one or more of: (a) weight, (b) size, (c) destination, (d) order with which the item is associated, (e) package type, and (f) item category.
4. 10. The system of claim 1, further comprising: a sensor system configured to collect sensor data within a workspace for the robotic structure configured to route the items; The system, wherein the items are acquired based at least in part on the sensor data.
5. The system of claim 4 , wherein the sensor data includes information about a plurality of other items or objects in the workspace.
6. The system of claim 4 , wherein the sensor data includes information regarding a condition of the destination shipping station.
7. 7. The system of claim 6, wherein the information regarding the status of the destination shipping station includes information regarding one or more items contained in a shipping workspace of the shipping station.
8. 8. The system of claim 7, wherein the information regarding the status of the shipping station includes a queue of items handled by the shipping station.
9. 7. The robotic system of claim 6, wherein the item is routed based at least in part on the status of the destination shipping station.
10. 2. The system of claim 1, wherein the one or more capabilities include one or more of: (i) a number of robots at a particular shipping station; (ii) a set of human operators handling items at the particular shipping station; (iii) a robotic track floor loader; (iv) a palletizer; (v) throughput; (vi) a buffer area for storing queues of items; (vii) a derating of the robots at the particular shipping station; (viii) a weight limit for handling items at the particular shipping station; and (ix) space availability within a cargo conveyance at the particular shipping station.
11. 10. The system of claim 1, wherein the item data includes a manifest assigned to one or more of the plurality of shipping stations, and the item is routed to the destination shipping station based at least in part on the manifest assigned to the destination shipping station.
12. 10. The system of claim 1, wherein the one or more processors further comprise: identifying a plurality of items within the workspace of a robotic structure configured to route the items along the particular handling path; determining a set of plans for routing the plurality of items across a plurality of shipping stations; a system configured to cause the robotic structure to implement the set of plans for routing the plurality of items;
13. 13. The system of claim 12, wherein determining the set of plans for routing the plurality of items comprises, for each item: selecting the destination shipping station from the plurality of shipping stations; causing the robotic structure to route the particular item to the destination shipping station.
14. 2. The system of claim 1, wherein executing the plan to route the selected items to the destination shipping station includes determining a timing for routing and transport of the selected items to the destination shipping station.
15. 10. The system of claim 1, wherein the plan is determined based at least in part on a routing decision that maximizes total throughput of the set of items across the plurality of shipping stations.
16. 16. The system of claim 15, wherein maximizing the total throughput of the set of items is subject to a set of predetermined constraints.
17. 10. The system of claim 1, wherein the one or more processors are further configured to control a delivery order of a portion of the set of items to the destination shipping station and to route and deliver the portion of the items according to the delivery order.
18. 10. The system of claim 1, wherein the one or more processors are further configured to control a conveying speed of the set of items in association with executing the plan to route the selected items to the particular handling path.
19. 12. The system of claim 11, wherein at least some of the set of items are routed substantially in parallel.
20. 10. The robotic system of claim 1, wherein the plan for routing the items is determined based at least in part on the stability of a stack of items at the destination shipping station.
21. 1. A method comprising: acquiring item data via the communication interface, the item data including an indication of one or more items to be routed across a plurality of shipping stations; acquiring capacity data for the plurality of shipping stations, the capacity data indicating one or more capabilities or statuses of at least one shipping station; determining a plan for routing the selected items to a destination shipping station selected from among the plurality of shipping stations, the plan being determined based at least in part on the item data and the capacity data of the destination shipping station; implementing the plan to route the items to a particular handling path associated with the destination shipping station; A method comprising:
22. A computer program product embodied in a non-transitory computer-readable medium, computer instructions for acquiring item data via the communication interface, the item data including an indication of one or more items to be routed across a plurality of shipping stations; computer instructions for obtaining capacity data for the plurality of shipping stations, the capacity data indicating one or more capabilities or status of at least one shipping station; computer instructions for determining a plan for routing selected items to a destination shipping station selected from among the plurality of shipping stations, the plan being determined based at least in part on the item data and the capacity data of the destination shipping station; computer instructions for implementing the plan to route the items to specific handling paths associated with the destination shipping stations; A computer program product comprising:
Citation Information
Patent Citations
Automatic stacking system by random sorting
JP2002002928A
Physical distribution system
JP2016141548A