Patent Description:
The present invention relates to order fulfillment systems, and relates in particular to systems for providing aggregation of objects (e.g., products, packages, bags, items, goods etc.) for preparation for shipment to destination locations, such as in Automated Storage and Retrieval Systems.

Order fulfillment systems typically involve the processing of a wide variety of objects for distribution to a large number of distribution locations, such as intermediate distribution stations, mail order stations, geographic group locations and address specific locations. Automated storage and retrieval systems (AS/RS) generally include computer controlled systems of automatically storing (placing) and retrieving items from defined storage locations. Traditional AS/RS typically employ totes (or bins), which are the smallest unit of load for the system. In these systems, the totes are brought to people who pick individual items out of the totes. When a person has picked the required number of items out of the tote, the tote is then re-inducted back into the AS/RS.

In these traditional systems, the totes are brought to a person, and the person may either remove an item from the tote or add an item to the tote. The tote is then returned to the storage location. Such systems, for example, may be used in libraries and warehouse storage facilities. The AS/RS involves no processing of the items in the tote, as a person processes the objects when the tote is brought to the person. This separation of jobs allows any automated transport system to do what it is good at - moving totes - and the person to do what the person is better at - picking items out of cluttered totes. It also means the person may stand in one place while the transport system brings the person totes, which increases the rate at which the person can pick goods.

There are limits however, on such conventional systems in terms of the time and resources required to move totes toward and then away from each person, as well as how quickly a person can process totes in this fashion in applications where each person may be required to process a large number of totes. There remains a need therefore, for an AS/RS that stores and retrieves objects more efficiently and cost effectively, yet also assists in the processing of a wide variety of objects.

<CIT> appears to disclose a storage, retrieval and processing system for processing objects. The system includes a storage bin system, a plurality of storage bins, a retrieval conveyance system, a programmable motion device, and a destination bin system.

A first aspect of the invention is a storage, retrieval and processing system for processing objects according to claim <NUM>.

A second aspect of the invention is a method of providing storage, retrieval and processing of objects according to claim <NUM>.

"The drawings are shown for illustrative purposes only.

In accordance with an aspect, the invention provides an ASRS system <NUM> in which objects are provided in a plurality of bins <NUM> at an input area <NUM> of an input conveyance system <NUM>. Objects are processed at a processing station <NUM>, then routed via a routing conveyance system <NUM> to any of a plurality of destination containers at a destination area <NUM>. The processing station <NUM> may include a programmable motion device <NUM>, a bin perception unit <NUM> and an object perception unit <NUM>. Generally, objects are provided to the input area <NUM> in bins <NUM>, are moved by a programmable motion device <NUM> to an object scanner <NUM>, fall to an object conveyance shuttle unit <NUM> of an object routing system for routing to any of a plurality of destination containers in container array <NUM>. Empty containers are provided to the container array <NUM>, and completed containers are removed from the container array, by a container movement system adjacent an output conveyor <NUM>. With reference to <FIG>, the input conveyor <NUM> may include a plurality of detectors <NUM> that monitor movement of the conveyors, and may confirm the identity and positon of a conveyor at the input area <NUM> for processing at the processing station <NUM>.

The operations of the system are coordinated with a central control system <NUM> as shown in <FIG> that communicates wirelessly with each of the conveyors and conveyor sensors, the programmable motion device <NUM>, the perception units <NUM>, <NUM>, <NUM>, as well as all elements of the routing conveyance system, container arrays, container movement systems, and output conveyance systems (all components and systems). The perception unit <NUM> aids in grasping objects from the bins <NUM> with an end effector of the programmable motion device. Once grasped by the programmable motion device, the object is dropped into the drop perception unit <NUM>, and the system thereby determines from symbol strings the UPC associated with the object, as well as the outbound destination for each object. The central control system <NUM> is comprised of one or more workstations or central processing units (CPUs). For example, the correspondence between UPCs or mailing labels, and outbound destinations is maintained by a central control system in a database called a manifest. The central control system maintains the manifest by communicating with a warehouse management system (WMS). The manifest provides the outbound destination for each in-bound object.

In particular, the system of an aspect includes a perception system <NUM> that is mounted above a bin of objects to be processed next to the articulated arm <NUM>, looking down into a bin <NUM>. The system <NUM>, for example and as shown in <FIG>, may be attached via a mount <NUM> to a perception unit stand <NUM>, and may include (on the underside thereof), a camera <NUM>, a depth sensor <NUM> and lights <NUM>. A combination of 2D and 3D (depth) data is acquired. The depth sensor <NUM> may provide depth information that may be used together with the camera image data to determine depth information regarding the various objects in view. The lights <NUM> may be used to remove shadows and to facilitate the identification of edges of objects, and may be all on during use, or may be illuminated in accordance with a desired sequence to assist in object identification. The system uses this imagery and a variety of algorithms to generate a set of candidate grasp locations for the objects in the bin as discussed in more detail below.

<FIG> shows an image view from the perception unit <NUM>. The image view shows a bin <NUM> in the input area <NUM> (a conveyor), and the bin <NUM> contains objects <NUM>, <NUM>, <NUM>, <NUM> and <NUM>. In the present embodiment, the objects are homogenous, and are intended for distribution to different break-pack packages. Superimposed on the objects <NUM>, <NUM>, <NUM>, <NUM>, <NUM> (for illustrative purposes) are anticipated grasp locations <NUM>, <NUM>, <NUM> and <NUM> of the objects. Note that while candidate grasp locations <NUM>, <NUM> and <NUM> appear to be good grasp locations, grasp locations <NUM>, <NUM> do not because each associated object is at least partially underneath another object. The system may also not even try to yet identify a grasp location for the object <NUM> because the object <NUM> is too obscured by other objects. Candidate grasp locations may be indicated using a 3D model of the robot end effector placed in the location where the actual end effector would go to use as a grasp location. Grasp locations may be considered good, for example, if they are close to the center of mass of the object to provide greater stability during grasp and transport, and/or if they avoid places on an object such as caps, seams etc. where a good vacuum seal might not be available.

With reference to <FIG>, the programmable motion device <NUM> includes an end effector <NUM> that is coupled via a hose mount <NUM> to a vacuum hose attached to a vacuum source. With further reference to <FIG> and <FIG>, the perception unit <NUM> includes a structure <NUM> having a top opening <NUM> and a bottom opening <NUM>, and the walls may be covered by an enclosing material <NUM> (e.g., a colored covering such as orange plastic, to protect humans from potentially dangerously bright lights within the perception unit <NUM>) as shown in <FIG> and <FIG>. The structure <NUM> includes a plurality of rows of sources (e.g., illumination sources such as LEDs) <NUM> as well as a plurality of image perception units (e.g., cameras) <NUM>. The sources <NUM> are provided in rows, and each is directed toward the center of the opening. The perception units <NUM> are also generally directed toward the opening, although some cameras are directed horizontally, while others are directed upward, and some are directed downward. The system also includes an entry source (e.g., infrared source) <NUM> as well as an entry detector (e.g., infrared detector) <NUM> for detecting when an object has entered the perception unit <NUM>. The LEDs and cameras therefore encircle the inside of the structure <NUM>, and the cameras are positioned to view the interior via windows that may include a glass or plastic covering (e.g., <NUM>).

An important aspect of systems of certain embodiments of the present invention, is the ability to identify via barcode or other visual markings of objects, unique indicia associated with the object by employing a perception system into which objects may be dropped. Automated scanning systems would be unable to see barcodes on objects that are presented in a way that their barcodes are not exposed or visible. The perception system may be used in certain embodiments, with a robotic system that may include a robotic arm equipped with sensors and computing, that when combined is assumed herein to exhibit the following capabilities: (a) it is able to pick objects up from a specified class of objects, and separate them from a stream of heterogeneous objects, whether they are jumbled in a bin, or are singulated on a motorized or gravity conveyor system; (b) it is able to move the object to arbitrary places within its workspace; (c) it is able to place objects in an outgoing bin or shelf location in its workspace; and, (d) it is able to generate a map of objects that it is able to pick, represented as a candidate set of grasp points in the workcell, and as a list of polytopes enclosing the object in space.

The allowable objects are determined by the capabilities of the robotic system. Their size, weight and geometry are assumed to be such that the robotic system is able to pick, move and place them. These may be any kind of ordered goods, packages, parcels, or other articles that benefit from automated sorting. Each object is associated with unique indicia such as a unique code (e.g., barcode) or a unique destination (e.g., address) of the object.

The manner in which inbound objects arrive may be for example, in one of two configurations: (a) inbound objects arrive piled in bins of heterogeneous objects; or (b) inbound articles arrive by a moving conveyor. The collection of objects includes some that have exposed bar codes and other objects that do not have exposed bar codes. The robotic system is assumed to be able to pick items from the bin or conveyor. The stream of inbound objects is the sequence of objects as they are unloaded either from the bin or the conveyor. With reference to <FIG>, after an object has been dropped through the perception unit <NUM>, it is guided by a guide chute <NUM> onto the routing conveyance system <NUM>.

The manner in which outbound objects are organized is such that objects are placed in a bin, shelf location or container, into which all objects corresponding to a given order are consolidated. These outbound destinations may be arranged in vertical arrays, horizontal arrays, grids, or some other regular or irregular manner, but which arrangement is known to the system. The robotic pick and place system is assumed to be able to place objects into all of the outbound destinations, and the correct outbound destination is determined from unique identifying indicia (identify or destination, such as a bar code or a unique address), which identifies the object or is destination.

It is assumed that the objects are marked in one or more places on their exterior with a visually distinctive mark such as a barcode or radio-frequency identification (RFID) tag so that they may be identified with a scanner. The type of marking depends on the type of scanning system used, but may include 1D or 2D barcode symbologies. Multiple symbologies or labeling approaches may be employed. The types of scanners employed are assumed to be compatible with the marking approach. The marking, either by barcode, RFID tag, or other means, encodes a symbol string, which is typically a string of letters and numbers. The symbol string is uniquely associates the object with unique identifying indicia (identity or destination).

The operations of the systems described herein are coordinated by the central control system <NUM> as shown in <FIG>. This system determines from symbol strings the unique indicia associated with an object, as well as the outbound destination for the object. The central control system is comprised of one or more workstations or central processing units (CPUs). The correspondence between unique identifying indicia and outbound destinations is maintained by the central control system in a database called a manifest. The central control system maintains the manifest by communicating with a warehouse management system (WMS).

With reference to <FIG>, the object conveyance shuttle unit <NUM> of the routing conveyance system receives objects (e.g., a singulated stream of objects) from the object feed system including the drop scanner <NUM>. The routing conveyance system includes the object conveyance shuttle units <NUM> that run in a circuit along a track <NUM> proximate the array <NUM> of the plurality of destination containers. Each unit <NUM> includes a conveyor <NUM> mounted on a frame <NUM>, and the frame <NUM> is vertically movable mounted on an elevator rod <NUM> that extends upward from a shuttle base <NUM> that is adapted to travel along the track <NUM>. After an object is loaded onto a conveyor <NUM> of a unit <NUM> (as shown in <FIG>), the unit <NUM> is moved toward the array <NUM> of the plurality of destination containers (<FIG>). Once the conveyance shuttle unit is positioned along the track <NUM> and vertically adjacent the destination location (<FIG>), the conveyor <NUM> is actuated to move the object into the selected destination container (<FIG>).

The opposite side of each of the destination containers in the array <NUM> from which the objects are loaded into the destination containers may also be open, and may be accessed by a container movement system. <FIG> shows a container movement system <NUM> that includes a container conveyor <NUM> on a structure <NUM> that is mounted for vertical movement along an elevator rod <NUM> (that is mounted at a lower end thereof to a shuttle base <NUM> shown in <FIG>). With reference to <FIG>, each destination container location <NUM> includes an associated location container conveyor <NUM>, and the conveyor <NUM> moves a completed destination container toward a container conveyor <NUM> (<FIG>) on a container movement system, which then moves the completed container (<FIG>) toward an output conveyor <NUM> as shown in <FIG>. With reference to <FIG>, the completed destination container is then moved using the container conveyor <NUM> from the container movement system <NUM> onto the output conveyor <NUM> (as shown in <FIG>), which brings the completed destination container (<FIG>) to an output processing location. Each of the objects is therefore moved vertically and horizontally by a routing conveyor unit, and then moved in a third direction by the container conveyor wherein the third direction is generally orthogonal to the first and second directions. The container may later be removed from the open storage location also along the third direction when completed as discussed in more detail below, and then moved horizontally and vertically for removal to an output conveyor. The movement of objects into destination containers at a first side of the destination containers, and having the completed destination containers removed from an opposite second side, permits the object conveyance system to continue to operate while destination containers are being replenished.

Empty destination containers are replenished to the array <NUM> using the container movement system <NUM> as well. In particular, and with reference to <FIG>, an empty destination container is provided through gates <NUM>, and scanned for identification by detectors <NUM> (<FIG>). The empty destination container is then moved transversely from the output conveyor <NUM> using a bi-direction diverter <NUM>, and the container conveyor <NUM> receives the empty destination container as shown in <FIG>. The container movement system <NUM> then moves the empty destination container along the track <NUM> circuit (as shown in <FIG>) and upward so that the container conveyor <NUM> is adjacent the container location conveyor <NUM> of the empty container location <NUM> as shown in <FIG>. The conveyor <NUM> and optionally the conveyor <NUM> work to move the empty container into the empty destination container location <NUM>. In this way, empty destination containers may be populated into the array <NUM> as needed.

<FIG> shows an opposite side view of the system of <FIG>, showing the output conveyor <NUM> that includes both empty containers at a first end <NUM>, and completed destination containers being provided at an opposite second end <NUM>. Again, the system is controlled by one or more computer processing systems <NUM>, and sensors on the conveyors may be used to monitor the locations of bins and containers on each of the conveyors.

Claim 1:
A storage, retrieval and processing system for processing objects, said storage, retrieval and processing system comprising:
a plurality of bins (<NUM>) including objects (<NUM>) to be distributed, said plurality of bins (<NUM>) being provided on a conveyance system (<NUM>);
a programmable motion device (<NUM>) that includes an end effector for grasping and moving any of the objects (<NUM>), said programmable motion device (<NUM>) being capable of reaching any of the objects (<NUM>) within at least one of the plurality of bins (<NUM>) in an input area (<NUM>) of the conveyance system (<NUM>);
a perception system (<NUM>) for providing perception data regarding a selected object (<NUM>) that is dropped through the perception system (<NUM>) by the programmable motion device (<NUM>); and
wherein the storage, retrieval and processing system is characterized by further comprising:
a routing conveyance system (<NUM>) including a first track-mounted shuttle (<NUM>) for receiving the selected object (<NUM>), and for moving the selected object (<NUM>) in each of horizontal and vertical directions toward a destination container provided among a plurality of destination containers in a vertically stacked array (<NUM>) responsive to the perception data,
wherein the first track-mounted shuttle (<NUM>) includes a conveyor (<NUM>) mounted on a frame (<NUM>) that is vertically movable on an elevator rod (<NUM>), the elevator rod extending upward from a shuttle base (<NUM>) that is horizontally movable along a routing track circuit (<NUM>) proximate the vertically stacked array (<NUM>).