Patent Description:
The invention generally relates to storage and retrieval systems, and relates in particular to automated storage and retrieval systems that are used with systems for processing objects.

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> discloses a method and a device for collecting products from product containers in collecting containers according to orders, in which use is made of a collecting station provided with a pick and place manipulator having a working range within which at least one buffer location is present for temporarily accommodating a product.

The invention provides a storage, retrieval and processing system according to claim <NUM>.

In accordance with another embodiment, the invention the storage, retrieval and processing system includes a plurality of storage bins providing storage of a plurality of objects, where the plurality of storage bins being in communication with a retrieval conveyance system that includes automated means for providing selected storage bins to an input conveyance system, a programmable motion device in communication with the input conveyance system for receiving the selected storage bins from the plurality of bins, where the programmable motion device includes an end effector for grasping and moving a selected object out of each selected storage bin, and is adapted for movement of the programmable motion device along a first direction, and a plurality of destination bins being provided in at least one linear arrangement along the first direction of movement of the programmable motion device.

The invention also provides a method according to claim <NUM>.

The invention provides a storage, retrieval and processing system for processing objects. The system includes a plurality of storage bins providing storage of a plurality of objects, a programmable motion devices, and a plurality of destination bins. The plurality of storage bins are in communication with a retrieval conveyance system. The programmable motion device is in communication with the retrieval conveyance system for receiving the storage bins from the plurality of bins. The programmable motion device includes an end effector for grasping and moving a selected object out of a selected storage bin, and is adapted for movement along a first direction. The plurality of destination bins are provided in at least one linear arrangement along the first direction of movement of the programmable motion device.

With reference to <FIG>, a system <NUM> of an embodiment of the present invention includes storage section <NUM> for storing a plurality of storage bins <NUM>, a retrieval section <NUM>, and a processing section <NUM> that includes a programmable motion device <NUM> and destination bins <NUM>. Generally, storage bins <NUM> are provided to the processing section <NUM> by a bin displacement mechanism and the retrieval section <NUM>. As further discussed below, the programmable motion device <NUM> (e.g., a robotic articulated arm) has a base that moves back and forth along a gantry <NUM> above the selected storage bin(s). The programmable motion device <NUM> is programmed to retrieve objects from the selected storage bin(s), and provide them to destination bins <NUM> in accordance with a manifest.

The storage section <NUM> includes two rows of storage bins <NUM>, and the system knows what is in each bin, and where each bin is positioned along the two rows as further shown in <FIG>. When a particular storage bin <NUM> is selected, the system will actuate a bin removal mechanism <NUM> that travels along between the bins, and stops adjacent the selected bin as shown in <FIG>. With reference to <FIG>, the system will then move an urging member <NUM> of the mechanism <NUM> to push the selected bin onto a conveyor <NUM> of the retrieval section <NUM>, from which the selected storage bin will be directed to the processing section <NUM>. The removal mechanism <NUM> may actuate the urging member <NUM> by any of a variety of processes, including having the support beam <NUM> be threaded with the urging member <NUM> being threaded onto the beam <NUM> such that it moves when the support beam is rotated, or by other mechanical, pneumatic or electronic actuation.

The conveyor <NUM> (as well as the other conveyors in the system) may be motion controlled so that both the speed and the direction of the conveyor (e.g., rollers or belt) may be controlled. In certain embodiments, the conveyors <NUM> and all of the conveyors of the retrieval section <NUM> may be gravity biased to cause any storage bin on any conveyor system to be delivered to the processing section <NUM>. In such a gravity fed system, when a bin is removed, the system will know that all bins uphill of the removed bin will move (e.g., roll) one bin lower on the conveyor. Further new bins may be manually or automatically added to the uphill end of the storage conveyor.

The bins may be provided as boxes or containers or any other type of device that may receive and hold an item. In further embodiments, the bins may be provided in uniform trays (to provide consistency of spacing and processing) and may further include open covers that may maintain the bin in an open position, and may further provide consistency in processing through any of spacing, alignment, or labeling.

For example, <FIG> shows an exploded view of a box tray assembly <NUM>. As shown, the box <NUM> (e.g., a standard shipping sized cardboard box) may include bottom <NUM> and side edges <NUM> that are received by a top surface <NUM> and inner sides <NUM> of a box tray <NUM>. The box tray <NUM> may include a recessed (protected) area in which a label or other identifying indicia <NUM> may be provided, as well as a wide and smooth contact surface <NUM> that may be engaged by an urging or removal mechanism as discussed below.

As also shown in <FIG>, the box <NUM> may include top flaps <NUM> that, when opened as shown, are held open by inner surfaces <NUM> of the box cover <NUM>. The box cover <NUM> may also include a recessed (protected) area in which a label or other identifying indicia <NUM> may be provided The box cover <NUM> also provides a defined rim opening <NUM>, as well as corner elements <NUM> that may assist in providing structural integrity of the assembly, and may assist in stacking un-used covers on one another. Un-used box trays may also be stacked on each other.

The box <NUM> is thus maintained securely within the box tray <NUM>, and the box cover <NUM> provides that the flaps <NUM> remain down along the outside of the box permitting the interior of the box to be accessible through the opening <NUM> in the box cover <NUM>. <FIG> shows a width side view of the box tray assembly <NUM> with the box <NUM> securely seated within the box tray <NUM>, and the box cover holding open the flaps <NUM> of the box <NUM>. The box tray assemblies may be used as any or both of the storage bins and destination bins in various embodiments of the present invention.

With reference to <FIG>, a box kicker <NUM> in accordance with an embodiment of the present invention may be suspended by and travel along a track <NUM>, and may include a rotatable arm <NUM> and a roller wheel <NUM> at the end of the arm188. With reference to <FIG>, when the roller wheel <NUM> contacts the kicker plate <NUM> (shown in <FIG>) of a box tray assembly <NUM>, the arm <NUM> continues to rotate, urging the box tray assembly <NUM> from a first conveyor <NUM> to a second conveyor <NUM>. Again, the roller wheel <NUM> is designed to contact the kicker plate <NUM> of a box tray assembly <NUM> to push the box tray assembly <NUM> onto the conveyor <NUM>. Such a system may be used to provide that boxes that are empty or finished being unloaded may be removed (e.g., from conveyor <NUM>), or that boxes that are full or finished being loaded may be removed (e.g., from conveyor <NUM>). The conveyors <NUM>, <NUM> may also be coplanar, and the system may further include transition roller <NUM> to facilitate movement of the box tray assembly <NUM>.

With reference to <FIG>, the selected storage bin is received along a storage processing conveyor <NUM>. In various embodiments, the selected storage bin <NUM> may be processed fully and then discarded at an exit end <NUM> (shown in <FIG>) of the conveyor <NUM>, or in certain embodiments, multiple selected storage bins may be processed in batches, with the empty boxes being discarded together. During processing, a perception unit <NUM> is attached to the device base, and looks down into the selected storage bin <NUM>. The end effector <NUM> of the programmable motion device <NUM> grasps an object in the bin <NUM>, and moves to deliver the object to a desired destination bin <NUM>. The programmable motion device <NUM> together with the grasped object may be moved along a gantry <NUM> to a desired destination bin <NUM>. Each of the objects in the selected storage bin <NUM> is provided to a destination bin <NUM> as required, and the bin <NUM> is then moved away from the processing area.

In other embodiments, and in the event that the bin <NUM> is not emptied but processing of the bin is otherwise complete, the system may return the bin <NUM> to the storage section <NUM> along the retrieval section <NUM> in the reverse direction. In this case, the returned storage bin may be returned anywhere in a line of the bins (e.g., an end) as long as the system knows where the bin has been returned, and knows how each of the bins may have been moved when the selected storage bin was transferred to the conveyor <NUM>. The storage bins, for example, may be biased (e.g., by gravity) to stack against one of the ends of each row of bins. Once a destination bin is completed, the system may employ the programmable motion device <NUM> to push the completed bin onto an output conveyor <NUM>.

<FIG> shows an image view <NUM> of the bin <NUM> from the perception unit <NUM>. The image view shows the bin <NUM> (e.g., on the 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 distribution 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 location <NUM> does not because its 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 as shown in <FIG>. 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.

If an object cannot be fully perceived by the detection system, the perception system considers the object to be two different objects, and may propose more than one candidate grasps of such two different objects. If the system executes a grasp at either of these bad grasp locations, it will either fail to acquire the object due to a bad grasp point where a vacuum seal will not occur, or will acquire the object at a grasp location that is very far from the center of mass of the object and thereby induce a great deal of instability during any attempted transport. Each of these results is undesirable.

If a bad grasp location is experienced, the system may remember that location for the associated object. By identifying good and bad grasp locations, a correlation is established between features in the 2D/3D images and the idea of good or bad grasp locations. Using this data and these correlations as input to machine learning algorithms, the system may eventually learn, for each image presented to it, where to best grasp an object, and where to avoid grasping an object.

As shown in <FIG>, the perception system may also identify portions of an object that are the most flat in the generation of good grasp location information. In particular, if an object includes a tubular end and a flat end such as object <NUM>, the system would identify the more flat end as shown at <NUM> in <FIG>. Additionally, the system may select the area of an object where a UPC code appears, as such codes are often printed on a relatively flat portion of the object to facilitate scanning of the barcode.

<FIG> show that for each object <NUM>, <NUM>, the grasp selection system may determine a direction that is normal to the selected flat portion of the object <NUM>, <NUM>. As shown in <FIG>, the robotic system will then direct the end effector <NUM> to approach each object <NUM>, <NUM> from the direction that is normal to the surface in order to better facilitate the generation of a good grasp on each object. By approaching each object from a direction that is substantially normal to a surface of the object, the robotic system significantly improves the likelihood of obtaining a good grasp of the object, particularly when a vacuum end effector is employed.

The invention provides therefore in certain embodiments that grasp optimization may be based on determination of surface normal, i.e., moving the end effector to be normal to the perceived surface of the object (as opposed to vertical picks), and that such grasp points may be chosen using fiducial features as grasp points, such as picking on a barcode, given that barcodes are almost always applied to a flat spot on the object.

With reference again to <FIG>, destination bins <NUM> that are full or are otherwise finished being processed, may be moved to a respective output conveyor <NUM> for further processing, e.g., further packaging labeling or shipment. Such bins (e.g., box assemblies as discussed above), may be moved from a respective destination bin processing conveyor <NUM> to an output conveyor <NUM> by any of a variety of means, including having either human personnel move the bin, having the robot move the bin, or employing a box kicker <NUM> as discussed above with reference to <FIG>. Such a box kicker <NUM> may, for example, be employed along each long side of the storage processing conveyor <NUM>, and be used to urge completed boxes from a conveyor <NUM> to an adjacent conveyor <NUM>.

With reference to <FIG>, in accordance with a further embodiment, the system <NUM> may include multiple sets (e.g., <NUM>) of storage bins in rows with bin removal mechanisms at a storage section <NUM>, each of which is in communication with a retrieval section <NUM>, which in turn, is in communication with multiple (e.g., two) parallel processing sections <NUM>, each of which includes a programmable motion device <NUM> that runs along a gantry <NUM>.

In accordance with a further embodiment and with reference to <FIG>, the system <NUM> may multiple sets (e.g., three) of storage bins in rows with bin removal mechanisms at a storage section <NUM>, each of which is in communication with a retrieval section <NUM>, which in turn, is in communication with multiple (e.g., three) parallel processing sections <NUM>, each of which includes a programmable motion device <NUM> that runs along a gantry <NUM>.

Control of the overall system <NUM>, <NUM> and <NUM> may be provided by a computer system <NUM> that is in communication with the bin removal mechanism, the conveyors, as well the programmable motion device <NUM>. The computer system <NUM> also contains the knowledge (continuously updated) of the location and identity of each of the storage bins, and contains the knowledge (also continuously updated) of the location and identity of each of the destination bins. The system therefore, directs the movement of the storage bins and the destination bins, and retrieves objects from the storage bins, and distributes the objects to the destination bins in accordance with an overall manifest that dictates which objects must be provided in which destination boxes for shipment, for example, to distribution or retail locations.

Claim 1:
A storage, retrieval and processing system for processing objects, said storage, retrieval and processing system comprising:
a plurality of storage bins (<NUM>) providing storage of a plurality of objects, said plurality of storage bins (<NUM>) being in communication with a retrieval conveyance system (<NUM>) of the storage, retrieval and processing system;
a programmable motion device (<NUM>) in communication with the retrieval conveyance system (<NUM>) for receiving a selected storage bin (<NUM>) from the plurality of storage bins (<NUM>), said programmable motion device (<NUM>) including an end effector (<NUM>) for grasping and moving a selected object out of the selected storage bin (<NUM>), and said programmable motion device (<NUM>) being adapted for movement along a first direction; and
wherein the system further comprises:
a plurality of destination bins (<NUM>) being provided in two rows along the first direction of movement of the programmable motion device (<NUM>),
wherein the programmable motion device (<NUM>) includes an articulated arm positioned above a portion of the retrieval conveyance system (<NUM>),
wherein the programmable motion device (<NUM>) reciprocally moves between the two rows of the destination bins (<NUM>, and is adapted to place the selected object into a selected destination bin (<NUM>),
characterized in that each destination bin (<NUM>) is provided adjacent to an output conveyance system (<NUM>) of the storage, retrieval and processing system for receiving completed destination bins (<NUM>) and for providing the completed destination bins (<NUM>) to a further processing location,
and
wherein the storage, retrieval and processing system further includes a destination bin ejection system (<NUM>) for urging a completed destination bin (<NUM>) onto the output conveyance system (<NUM>).