Sorting System and Method
Through programmable motion equipment and perception systems, the problems of low object sorting efficiency and waste of resources in the prior art are solved, efficient and flexible object processing is achieved, and costs are reduced.
Patent Information
- Application Number
- CN202211048819.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-05-04
- Filing Date
- 2018-08-07
- Publication Date
- 2025-07-29
- Estimated Expiration
- 2038-08-07
AI Technical Summary
The existing object sorting system is inefficient, inflexible, relies on a large amount of manpower, and it is difficult to efficiently process objects of various sizes and weights into appropriate collection boxes, resulting in waste of resources and increased costs.
The programmable motion equipment is used to combine the perception unit and the acquisition system to sense the object identification marking, and use the end effector of the programmable motion equipment to obtain the object from the input area and automatically deliver it to the identified processing position. The delivery system is used to receive and deliver the object in the carrier to realize automated sorting.
It improves the efficiency and flexibility of the sorting system, reduces dependence on manpower, optimizes the object processing process, reduces resources and costs, and adapts to object processing needs of various sizes and weights.
Smart Images

Figure CN115258630B_ABST
Abstract
Description
[0001] This application is a divisional application of the patent application for invention with the application date of August 7, 2018, application number "201880093132.X", and invention name "Sorting System and Method".
[0002] Priority
[0003] This application claims the priority of U.S. Patent Application No. 15 / 971,087, filed on May 4, 2018, which is incorporated herein by reference in its entirety. Background Art
[0004] The present invention generally relates to automated programmable motion control systems (e.g., robotic systems, sorting systems, and other processing systems), and particularly to programmable motion control systems intended for environments that need to process various objects (e.g., items, packages, consumer goods, etc.) and move these objects to multiple processing destinations.
[0005] For example, many object distribution systems receive objects in a disorderly stream or in batch transports, which can be individual objects or objects aggregated into groups (such as in bags), and arrive on any of several different transport vehicles (usually conveyors, trucks, pallets, Gaylords, or bins, etc.). Then each object is distributed to the correct destination location (e.g., a container), which is determined by identification information associated with the object, which is typically determined by a label printed on the object. The destination location can take various forms, such as bags, racks, containers, or bins.
[0006] The handling (e.g., sorting or distributing) of such objects is typically at least partially accomplished, for example, by workers using a handheld barcode scanner to scan the object and then placing the object in a designated location. For example, many order fulfillment operations achieve high efficiency by adopting a process called wave picking. In wave picking, orders are picked from warehouse racks and placed at a location that accommodates multiple orders for downstream sorting (e.g., into bins). In the sorting stage, individual items are identified, and multi-item orders are consolidated into, for example, a single bin or rack location so that they can be packed and then shipped to customers. The process of sorting these items has traditionally been done manually. Human sorters pick up the items and then place the item in a determined bin or rack location, where all the items of the order or manifest have been defined as belonging to that location. Automated systems for order fulfillment have also been proposed. See, for example, U.S. Patent Application Publication No. 2014 / 0244026, which discloses the combined use of a robotic arm and an arcuate structure that can be moved within the reach of the robotic arm.
[0007] Identifying an item by code scanning typically requires manual handling or requires control or restraint of the code location such that a stationary code scanner or a robot holding a code scanner (e.g., a barcode scanner) can reliably detect the code. Thus, manually operated barcode scanners are typically stationary or hand-held systems. For stationary systems (such as those at a point-of-sale system), an operator places the item in front of the scanner, which continuously scans and decodes any barcode it can detect. If the code of the item is not immediately detected, the person holding the item typically needs to change the position or orientation of the item relative to the stationary scanner to make the barcode more visible to the scanner. For hand-held systems, the person operating the scanner can view the barcode on the item, then hold the item such that the barcode is within the scanner's view, and then press a button on the hand-held scanner to initiate scanning of the barcode.
[0008] In addition, many distribution center sorting systems typically employ inflexible operating sequences, thereby (manually) providing a stream of unordered input objects as a stream of individual objects oriented relative to the scanner that identifies the objects. One or more infeed elements (e.g., conveyors, tilt trays, or manually movable bins) ship the objects to a desired destination location or further processing station, which can be a bin, chute, bag, conveyor, etc.
[0009] In conventional object sorting or distribution systems, workers or automated systems typically retrieve packages in the order of arrival and sort each object or sort the objects into collection bins based on a given heuristic. For example, all objects of a similar type can be directed to a specific collection bin, or all objects in a single customer order, or all objects destined for the same shipping destination, etc. can be directed to a common destination location. Typically, workers are required to receive the objects and move each object to its designated collection bin with possible limited assistance from an automated system. If the number of different types of input (received) objects is large, a large number of collection bins are required.
[0010] For example, FIG. 1 shows an object distribution system 10 in which objects arriving (e.g., in a truck shown as 12) are separated and stored in packages, each package including a specific combination of objects shown as 14, and then these packages are shipped to different retail stores as shown at 16, provided that each retail store receives a specific combination of objects in each package. Each package received at the retail store from shipping 16 is separated in the store and such packages are commonly referred to as break-pack. In particular, the incoming truck 12 contains supplier cartons 18 of a group of homogeneous objects. For example, each supplier carton may be provided by the manufacturer of each of the objects. The objects are moved from the supplier cartons 18 into a dump bin 20 and then taken to a processing area 14 which includes break-pack storage packages 22. At the processing area 14, the break-pack storage packages 22 are filled by workers selecting items from the dump supplier bins according to a manifest. For example, a first set of break-pack storage packages may be transferred to a first storage (shown as 24), and a second set of break-pack storage packages may be transferred to a second storage (shown as 26). In this way, the system can accept large quantities of product from manufacturers and then repackage the objects into break-packs for delivery to retail stores, where a wide variety of objects are provided in a specific controlled distribution manner.
[0011] However, such systems have inherent inefficiencies and inflexibilities because the desired goal is to match incoming objects to designated collection bins. Such systems may require a large number of collection bins (and thus a large amount of physical space, significant investment costs, and a large amount of operating costs), in part because it is not always most efficient to sort all objects to all destinations at once. Additionally, such break-pack systems must also monitor the volume of each homogeneous object in the bin, requiring workers to continuously count the items in the bin.
[0012] Furthermore, current state-of-the-art sorting systems also rely to some extent on human labor. Most solutions rely on workers who are performing the sorting by scanning objects from an incoming area (chutes, tables, etc.) and placing each object in a staging location, conveyor, or collection bin. When the bin is full, another worker empties the bin into a bag, box, or other container and takes the container to the next processing step. Such systems are limited in throughput (i.e., the speed at which workers can sort or empty bins in this way) and the number of turns (i.e., for a given bin size, only so many bins can be arranged within the reach of the worker).
[0013] Unfortunately, these systems do not address the limitation on the total number of system bins. The system simply transfers an equal share of all objects to each parallel manual unit. Thus, each parallel sorting unit must have all the same collection bin designations; otherwise, an object may be delivered to a unit that does not have the bin to which the object is mapped. Accordingly, there is still a need for a more efficient and cost-effective object handling system that handles objects of various sizes and weights into appropriate fixed-size collection bins or pallets and is effective for handling a wide variety of different-sized and weighted objects. Summary of the Invention
[0014] According to an embodiment, the present invention provides a handling system for handling objects using a programmable motion device. The handling system includes a sensing unit for sensing an identification marker indicative of the identity of an object associated with an input conveyor system; and an acquisition system for acquiring the object from a plurality of objects at an input area using an end effector of the programmable motion device, wherein the programmable motion device is adapted to assist in delivering the object to an identified handling location. The identified handling location is associated with the identification marker and is provided as one of a plurality of handling locations. The system further includes a delivery system for receiving the object in a carrier and for delivering the object to the identified handling location.
[0015] According to another embodiment, the present invention provides a handling system for handling objects using a programmable motion device, the handling system including a sensing unit for sensing identification markers indicative of the identities of a plurality of objects associated with an input conveyor system; an acquisition system for acquiring an object from the plurality of objects in the input area using an end effector of the programmable motion device, wherein the programmable motion device is adapted to assist in delivering the object to an identified handling location, the identified handling location being associated with the identification marker and being provided as one of a plurality of handling locations; and a delivery system for delivering the object to the identified handling location, the delivery system including a plurality of carriers traveling in a loop, any one of the plurality of carriers being capable of accommodating the object.
[0016] According to a further embodiment, the present invention provides a method of processing objects using a programmable motion device. The method includes sensing identification markers representative of the identities of a plurality of objects associated with an input conveyor system; obtaining an object from the plurality of objects in an input area using an end effector of the programmable motion device, wherein the programmable motion device is adapted to assist in delivering the object to an identified processing location, the identified processing location being associated with the identification marker and the identified processing location being provided as one of a plurality of processing locations; and delivering the object to the identified processing location, the step of delivering the object to the identified processing location including receiving the object in a carrier. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The following description can be further understood with reference to the accompanying drawings, in which:
[0018] FIG. 1 shows an illustrative diagrammatic view of a prior art object handling system;
[0019] Figure 2 FIG. shows an illustrative diagrammatic view of an object handling system according to an embodiment of the present invention;
[0020] Figure 3 shows Figure 2 an illustrative diagrammatic alternative view of the object handling system of
[0021] Figure 4 shows Figure 2 an illustrative diagrammatic view of an object handling station in the object handling system of
[0022] Figure 5 shows Figures 2 - 4 an illustrative diagrammatic view of a sensing system of
[0023] Figure 6 shows Figures 2 - 4 an illustrative diagrammatic view of a sensing system of , which shows a view of the objects in a bin of the objects to be processed;
[0024] Figure 7A and Figure 7B FIG. shows an illustrative diagrammatic view of a grasp selection process in an object handling system according to an embodiment of the present invention;
[0025] Figure 8A and Figure 8B FIG. shows an illustrative diagrammatic view of a grasp planning process in an object handling system according to an embodiment of the present invention;
[0026] Figure 9A and Figure 9B FIG. shows an illustrative diagrammatic view of a grasp execution process in an object handling system according to an embodiment of the present invention;
[0027] Figure 10 Illustrative diagrammatic top views of an object handling system according to another embodiment of the present invention are shown, which identify general regions of variable and invariant motion plans;
[0028] Figure 11 Shows Figure 10 Illustrative diagrammatic top views of the system of, which show multiple possible paths from a programmable motion device to a destination carrier;
[0029] Figure 12 Shows Figure 10 Illustrative diagrammatic top views of the system of, which show a path emphasizing the shortest time from a programmable motion device to a destination carrier;
[0030] Figure 13 Shows Figure 10 Illustrative diagrammatic top views of the system of, which show a path emphasizing the minimum risk from a programmable motion device to a destination carrier;
[0031] Figure 14 Illustrative diagrammatic views of an inclined pallet handling section in an object handling system according to an embodiment of the present invention are shown, where an object is placed in a carrier;
[0032] Figure 15 Shows Figure 14 Illustrative diagrammatic views of the handling section of, where the carrier has moved along its track;
[0033] Figure 16 Shows Figure 14 Illustrative diagrammatic views of the handling section of, where the carrier has transferred its load to a destination bin;
[0034] Figure 17 Illustrative diagrammatic views of a bin removal mechanism in an object handling system according to an embodiment of the present invention are shown;
[0035] Figure 18 Shows Figure 17 Illustrative diagrammatic alternative views of the bin removal mechanism of;
[0036] Figure 19 Illustrative diagrammatic alternative views of object assignment relationships in a conventional sorting system are shown;
[0037] Figure 20 Illustrative diagrammatic views of object assignment relationships according to certain embodiments of the present invention are shown;
[0038] Figure 21 Shows Figure 20 Illustrative diagrammatic views of the object assignment system of;
[0039] Figures 22A - 22IIllustrative diagrammatic views of the object allocation steps in a system according to certain embodiments of the present invention are shown;
[0040] Figure 23 Illustrative flowcharts of processes according to embodiments of the present invention are shown;
[0041] Figure 24 Illustrative flowcharts of overall methods for providing dynamic processing of objects are shown;
[0042] Figure 25 Illustrative diagrammatic views of an object handling system including a processing station according to another embodiment of the present invention are shown;
[0043] Figure 26 Illustrative diagrammatic views of an object handling system including a plurality of processing stations according to another embodiment of the present invention, the processing stations being accessible to a plurality of input bins via a common input conveyor; and
[0044] Figure 27 Illustrative diagrammatic views of an object handling system further including a group of multi - row processing stations according to another embodiment of the present invention, the processing stations being accessible to a plurality of input conveyors.
[0045] The drawings shown are for illustrative purposes only. Detailed Description
[0046] According to an embodiment, the present invention provides a processing system for handling objects using a programmable motion device. The processing system includes a sensing unit for sensing identification marks representing the identity of objects associated with an input conveyor system. The processing system further includes an acquisition system for acquiring an object from a plurality of objects at an input area using an end - effector of the programmable motion device. The programmable motion device is adapted to assist in delivering the object to an identified processing location, and the identified processing location is associated with the identification mark. The identified processing location is also provided as one of a plurality of processing locations. The processing system further includes a delivery system for receiving the object on a carrier and for delivering the object to the identified processing location.
[0047] Generally, it is necessary to identify a single package and transport it to a desired package - specific location. In certain embodiments, the system employs a set of conveyors, a sensing system, and a plurality of destination bins to reliably automate the identification and transport of such packages. Briefly, the applicant has found that when automatically sorting objects, there are several main considerations: 1) the throughput of the overall system (number of packages sorted per hour), 2) the number of diverts (i.e., the number of discrete locations to which an object can be routed), 3) the total area of the sorting system (square feet), and 4) the capital and annual costs of purchasing and operating the system.
[0048] Sorting objects in a parcel distribution center is an application for automatically identifying and sorting objects. In a shipping distribution center, parcels that typically arrive in a truck are then conveyed to a sorting station where the parcels are sorted according to the desired destination, aggregated in bags and then loaded into a truck for transportation to the desired destination. Another application is in the shipping department of a retail store or an order fulfillment center, where the shipping department may require parcels to be sorted for transportation to different shippers or different distribution centers of a particular shipper. In a shipping or distribution center, the desired destination is typically obtained by reading the identification information on the parcel or an attached label. In this case, the destination corresponding to the identification information is typically obtained by querying the customer's information system. In other cases, the destination can be written directly on the parcel or known by other means.
[0049] For example, Figure 2 System 30 according to the present invention is shown, in which a supply bin 32 is disposed on a supply conveyor 34. The selected supply bin 32 is routed to an input area 33 and further referring Figure 3 , the end effector 41 of the programmable motion device 40 grasps an object from the supply bin and places the object in an adjacent inclined tray 36. Sensors 35 positioned along the supply conveyor 34 detect markings on the supply bins so that when the speed of the conveyor is known and controlled, the system 70 always knows the positioning and location of each of the supply bins 32 on the supply conveyor 34. The inclined tray is disposed on an inclined tray track 38 along which the inclined tray 36 moves. The inclined tray 36 is adapted to dump any contents into a reciprocating carriage that can supply the object to a destination bin 46, as discussed in more detail below.
[0050] Figure 3 The inclined tray 36 traveling in a loop is shown, and when the inclined tray 36 is positioned above the designated shuttle carriage 42, the inclined tray 36 dumps its contents into the shuttle carriage 42. A guide 44 can also be provided to facilitate the object landing cleanly in the shuttle carriage 42. As referred to Figure 4Further shown, each shuttle carriage reciprocates along the track 45 and, when near the desired destination bin 46, the shuttle carriage 42 can also be tilted to drop the object into the desired destination bin 46, as discussed in more detail below. According to an embodiment, a completed (e.g., full or otherwise completed) bin can be removed via the pull-out drawer 48. When the drawer is being serviced (has been removed), no objects are designated to be placed in the destination bins on the drawer 48. For example, each drawer can carry two destination bins from either side of each shuttle carriage 42 and the carriage track 45, as discussed in more detail below.
[0051] The bin can be set as a box or container or any other type of device to receive and store goods. In a further embodiment, the bins can be set on a unified pallet (to provide consistency in spacing and handling), and can further include an open lid that can hold the bin in an open position, and can further provide consistency in handling by any one of spacing, alignment, or marking.
[0052] It is assumed that the bins of the objects are marked at one or more places on their exteriors with visually unique notations such as barcodes (e.g., providing UPC codes) or radio frequency identification (RFID) tags or mailing labels so that these notations can be adequately identified by a scanner for processing. The type of marking depends on the type of scanning system used, but can include 1D or 2D code symbols. Multiple symbols or marking methods can be employed. The type of scanner used should be compatible with the marking method. The marking (e.g., via barcode, RFID tag, mailing label, or otherwise) encodes an identification mark (e.g., a string of symbols), typically a string of letters and / or numbers. The string of symbols uniquely associates the supplier bin with a specific set of homogeneous objects.
[0053] The operation of the above system is coordinated with a central control system 70 as Figures 2 - 4 shown, which communicates (e.g., wirelessly) with the articulated arm 40, sensors 35 and 50, and the supply conveyor 34, the tilt pallet track 38 driver, and the shuttle carriage 42 drive system. The system determines the UPC associated with the supplier bin and the outbound destination of each object based on the string of symbols. The central control system 70 consists of one or more workstations or central processing units (CPUs). For example, the correspondence between the UPC or mailing label and the outbound destination is maintained by the central control system in a database, and this correspondence is called the manifest. The central control system maintains the manifest by communicating with a warehouse management system (WMS). The manifest provides the outbound destination of each inbound object.
[0054] As referred to above Figures 2 - 4As discussed, the system of the embodiment includes a sensing system (e.g., 50) that is mounted above the bin of the object to be processed near the base of the articulated arm 40 and looks down on the bin 32. For example, as Figure 5 shown, the system 50 may include (on its underside), a camera 72, a depth sensor 74, and a light 76. A combination of 2D and 3D (depth) data is acquired. The depth sensor 74 can provide depth information that can be used together with the camera image data to determine depth information related to various objects in the view. The light 76 can be used to remove shadows and facilitate the identification of object edges, and can be turned on all the time during use, or can be illuminated in a desired sequence to assist in object identification. The system uses these images and various algorithms to generate a set of candidate grasping positions for the objects in the bin, as described in more detail below.
[0055] Figure 6 An image view from the sensing unit 50 is shown. The image view shows the bin 32 in the input area (conveyor) and the bin 32 containing the objects 78, 80, 82, 84, and 86. In this embodiment, the objects are homogeneous and are intended to be distributed into different bulk package wrappings. Superimposed on the objects 78, 80, 82, 84, 86 (for illustrative purposes) are the expected grasping positions 79, 81, 83, and 85 of the objects. Note that although the candidate grasping positions 79, 83, and 85 appear to be good grasping positions, the grasping position 81 is not, because the object associated with the grasping position 81 is at least partially below another object. The system may not even have attempted to identify the grasping position of the object 84 because the object 84 is too blurred relative to the other objects. The candidate grasping positions can be indicated using a 3D model of the robotic end effector that is placed in the position where the actual end effector will be used as the grasping position, as Figure 11 shown. Grasping positions may be considered good, for example, if they are close to the centroid of the object to provide better stability during grasping and transportation, and / or if they avoid places on the object where a good vacuum seal may not be obtained, such as bottle caps, seams, etc.
[0056] If an object cannot be fully perceived by the detection system, the sensing system considers the object to be two different objects and may propose more than one candidate grasp for such two different objects. If the system performs a grasp at any of these bad grasping positions, it will either not be able to acquire the object due to grasping at a bad grasping point (e.g., on the right side) where a vacuum seal will not occur, or will acquire the object at a grasping position far from the centroid of the object (e.g., on the left side), and thus cause great instability during any attempt to transport. Each of these results is undesirable.
[0057] If an incorrect grasping location is encountered, the system may remember that location for the associated object. By identifying good or bad grasping locations on an image, a correlation can be established between features in a 2D / 3D image and the concept of good or bad grasping locations. Using this data and these correlations as input to a machine learning algorithm, the system can ultimately learn, for each image presented to it, the locations at which to optimally grasp an object and the locations at which to avoid grasping the object.
[0058] As Figure 7A and Figure 7B shown, the perception system can also identify the flattest part of an object when generating good grasping location information. In particular, if an object includes a tubular end and a flat end (such as object 87), the system will identify Figure 7B the flatter end shown as 88 in
[0059] Figure 8A and Figure 8B shown, for each object 90, 92, the grasping selection system can determine the direction perpendicular to the selected flat part of the objects 90, 92. As Figure 9A and Figure 9B shown, the robotic system will then direct the end effector 94 to approach each object 90, 92 from a direction perpendicular to the surface in order to better facilitate the generation of a good grasp of each object. By approaching each object from a direction substantially perpendicular to the object's surface, the robotic system significantly increases the likelihood of obtaining a good grasp of the object, especially when using a vacuum end effector.
[0060] Thus, in some embodiments, the present invention provides that grasping optimization can be based on the determination of the surface normal, i.e., moving the end effector perpendicular to the perceived surface of the object (as opposed to vertical or bench pickups), and given that barcodes are almost always applied to flat points on an object, fiducial features can be used as grasping points (such as picking up on a barcode) to select such grasping points.
[0061] Accordingly, in various embodiments, the present invention further provides a sorting system that can learn object grasping locations from experience (and optionally human guidance). A system designed to work in the same environment as a worker will be faced with a wide variety of objects, poses, etc. This wide variety of situations almost ensures that the robotic system will encounter some configurations of (one or more) objects that it cannot optimally handle; at such times, it is desirable to enable a human operator to assist the system and for the system to learn from non-optimal grasps.
[0062] The system optimizes the grasping points based on various features, which can be extracted offline or online and customized according to the characteristics of the gripper. The characteristics of the suction cup affect its adaptability to the underlying surface. Therefore, picking up on the estimated surface normal of the object, rather than performing the vertical shelf picking common in current industrial applications, is more likely to achieve an optimal grasp.
[0063] In addition to geometric information, the system uses appearance-based features because depth sensors may not always be precise enough to provide sufficient information about graspability. For example, the system can learn the location of fiducial points (such as barcodes on an object), which can be used as an indicator of a flat and impermeable surface patch and is thus suitable for a suction cup. One such example is the use of barcodes on consumer goods. Another example is shipping boxes and bags, which tend to have shipping labels attached at the centroid of the object and provide an impermeable surface, as opposed to the original bag material, whose surface may be slightly permeable and thus not present a good grasp.
[0064] By identifying good or bad grasping points in the image, a correlation is established between the features in the 2D / 3D image and the concept of good or bad grasping points; using this data and these correlations as input to a machine learning algorithm, the system can ultimately learn where to grasp and where to avoid for each image presented to the machine learning algorithm.
[0065] This information is added to the empirical data collected by the system on whether each pick attempt is successful or not. The robot learns over time to avoid features that lead to unsuccessful grasps, either specific to the object type or the surface / material type. For example, the robot may prefer to avoid picking on shrink wrap, regardless of the object it is applied to, but may only prefer to place the grasp near fiducial points for certain object types (such as shipping bags).
[0066] This learning can be accelerated by generating human-corrected images offline. For example, thousands of images from previous system operations can be presented to a human, and good and bad grasping points can be manually annotated on each image. This will generate a large amount of data, which can also be input into the machine learning algorithm to improve the speed and efficiency of system learning.
[0067] In addition to empirical or human-expert-based training data, a large amount of labeled training data can be generated based on detailed object models in physical simulations, leveraging known gripper and object features. This allows for the rapid and dense generation of graspability data across a large number of objects, as this process is not limited by the speed of the physical robot system or human input.
[0068] The system of the embodiment can also implement a motion plan by using a trajectory database that is dynamically updated over time and indexed by customer metrics. The problem domain contains a mixture of changing and unchanging components in the environment. For example, the objects presented to the system are typically presented in a random configuration, but the target positions where the objects are to be placed are usually fixed and do not change throughout the operation.
[0069] One use of the trajectory database is to utilize the unchanging parts of the environment by pre-computing and storing the database trajectories, which effectively and robustly move the system through these spaces. Another use of the trajectory database is to continuously improve the performance of the system throughout its operating life cycle. The database communicates with a planning server that continuously plans trajectories from various starts to various targets to have a large and varying set of trajectories for implementing any particular task. In various embodiments, the trajectory path can include any number of changing and unchanging parts that, when combined, provide an optimal trajectory path within an effective amount of time.
[0070] For example, Figure 10 A diagrammatic view of a system according to an embodiment of the present invention is shown, the system including an input area 33 conveyor that provides an input bin 32 to a programmable motion device (graphically shown as 40), such as an articulated arm and an end effector (graphically shown as 40) having a base as shown at 59, the end effector being programmed to have a starting position (as shown at 95) and being programmed to move an object from the input bin 32 to a processing position, e.g., a destination position at a plurality of carriers 46. Again, the system can include a defined starting position or reference position 95 to which each object can initially be brought when retrieved from the bin 32. The inclined pallet 36 can provide the objects to the destination bin 46, as further discussed below.
[0071] In certain embodiments, the system can include a plurality of base positions and a plurality of predetermined path portions associated with the plurality of base positions. The trajectory of the articulated arm of the robotic system from the input bin to the base position is to some extent continuously changing, partly based on the position of each object in the input bin, the orientation of the objects in the input bin, and the shape, weight, and other physical properties of the objects to be retrieved.
[0072] Once the articulated arm has acquired the object and is positioned at the reference position, the path to each of the plurality of destination carriers 46 does not change. In particular, each destination bin is associated with a unique destination bin position, and the trajectory from the base position to each of the destination bin positions is invariant. For example, a trajectory can be a specification of the motion of a programmable motion device over time. According to various embodiments, such trajectories can be generated empirically, by a person training the system, and / or by an automated algorithm. For an invariant trajectory, the shortest distance is the direct path to the target destination bin, but the articulated arm consists of articulated segments, joints, motors, etc., and the articulated arm provides a specific range of motion, speed, acceleration, and deceleration. Thus, the robotic system can select any one of a variety of trajectories between, for example, the base position and the destination bin position.
[0073] For example, Figure 11 shows three such trajectories (1T 1 , 2T 1 and 3T 1 ) located between the base position 95 and the destination position (e.g., the tilted pallet 36). Figure 11 The elements of Figure 10 are the same as those in
[0074] Each trajectory will have an associated time and an associated risk factor. The time is the time it takes for the articulated arm of the robotic system to accelerate from the base position 95 towards the tilted pallet 36 and decelerate to the tilted pallet 36 in order to place the object on the tilted pallet 36.
[0075] As Figure 11 shown in the table at 96, the time for the trajectory 1T 1 from the base position 95 to the destination position (e.g., the tilted pallet 36) may be fast (0.6 s), but the risk factor is high. The time for the trajectory 2T 1 from the base position 95 to the destination position 102 may be much slower (1.4 s), but the risk factor is still quite high (16.7). The time for the trajectory 3T 1The time may be relatively fast (1.3 s), and the risk factor is moderate (11.2). Selecting the fastest trajectory is not always the best, because sometimes the fastest trajectory may have an unacceptably high risk factor. If the risk factor is too high, valuable time may be lost because the robotic system cannot maintain the capture of the object. Therefore, different trajectories may have different times and risk factors, and this data can be used by the system for motion planning.
[0076] For example, Figure 12 shows the shortest time selection trajectory from the base position 95 to the destination position (e.g., the tilted pallet 36). In particular, in the table shown at 97, the times and risk factors for multiple destination bins are selected, as well as the trajectories from the base position 95 to the destination bin positions, to provide the shortest time motion plan for the motion planning with a risk factor of 14.0.
[0077] Figure 13 shows the set of trajectories with the minimum selected risk factor from the base position 95 to the destination position (e.g., the tilted pallet 36). Again, the table shown at 97 shows the times and risk factors for the destination position (e.g., the tilted pallet 36). Trajectories from the base position 95 to the destination position (e.g., the tilted pallet 36) are selected to provide the minimum motion plan risk factor for the motion planning within a maximum time of 1.2 seconds.
[0078] The selection of fast time and low risk factor can be determined in various ways. For example, by selecting the fastest time with a risk factor lower than the risk factor upper limit (e.g., 12 or 14), or by selecting the lowest risk factor with the maximum time lower than the upper limit (e.g., 1.0 or 1.2). Again, if the risk factor is too high, valuable time may be lost because the robotic system cannot maintain the capture of the object. The advantage of the variable set is that it is robust to small changes in the environment and different sized objects that the system may handle: in these cases, the system no longer replans, but iterates through the database until the system finds a collision-free, safe, and robust trajectory for the new situation. Therefore, the system can generalize in various environments without replanning the motion.
[0079] Thus, the overall trajectory can include any number of variable and invariant parts. For example, a network of invariant trajectory parts can be used as a common path (road), while the variable parts can be directed to move an object to a nearby invariant part (enclosed road) to facilitate the movement of the object without having to plan the entire path. For example, the task of a programmable motion device (e.g., a robot) is to orient a grasped object in front of an automatic labeling machine before moving towards a destination. Thus, the trajectory for sorting the object will consist of the following trajectory parts. First, the grasping pose to the starting position (motion planned). Then, from the starting position to the starting position of the automatic labeling machine (extracted from the trajectory database). Then, from the starting position of the automatic labeling machine to the labeling pose (motion planned). Then, from the labeling pose to the starting position of the automatic labeling machine (motion planned or just reversing the previous motion planning step). Then, from the starting position of the automatic labeling machine to a predetermined destination (extracted from the trajectory database). Various variable and invariant (planned and extracted from the database) parts can be used in the overall trajectory. According to a further embodiment, an object can be grasped from a specific pose (planned), and when the object reaches the destination bin (from the trajectory database), the last step can be to place the object again in the destination bin in a desired pose (planned).
[0080] According to a further embodiment, the motion planning can also provide for handling relatively heavy goods (which can be determined by knowing information about the grasped object or by sensing the weight at the end effector - or both), and can handle (e.g., move in the trajectory) and place relatively heavy goods in a box in a different manner than handling and placing relatively light objects. Again, risk and speed calculations can be used to optimize known moving objects of various weights and sizes, such as what might occur when handling a wide variety of consumer goods.
[0081] Thus, the system provides means for interfacing with a customer's out - bound object conveyor system. When the system determines that a bin (or package) is full (during the monitoring of the system operation), a human operator can pull the bin out of the processing area and place the bin on an appropriate conveyor. When the full bin is moved to a closed / labeled position, another empty bin is immediately placed in the position vacated by the removed full bin, and the system continues with the above - described processing.
[0082] Reference Figure 14 , when the tilted tray 36 (carrying the object 54) is located above the shuttle carriage 42, the tilted tray can be tilted to cause the object 54 to fall into the shuttle carriage 42. The tilted tray 36 can be tilted in either of two directions generally orthogonal to the direction of movement of the tilted tray 36 along its track 38 (as Figure 3 shown). Once tilted, the tilted tray 36 causes its object 54 to fall into the shuttle carriage 42 adapted to reciprocate along the carriage track 45 between two rows of destination bins 46. ReferenceFigure 15 , the carrier can be moved to the desired destination bin 46 and can tilt itself so that its contents (object 54) fall into the desired destination bin 46, as Figure 16 shown. When the destination bin 46 is full or otherwise complete (e.g., the system does not expect more objects to be routed to that bin within a set time period), the system can then designate that bin as complete, and the indicator light 57 on the corresponding drawer will illuminate, indicating which bin in the drawer is full. The full bin is then removed from the drawer 48 and placed on the output conveyor 60 by a human operator (as Figure 18 shown).
[0083] The assignment of carriers can also be dynamic, since any carrier can be dynamically assigned to serve any package under the track. For example, a system according to a further embodiment provides an improved transportation and conveying system and provides a programmable diverter, in particular a diverter that allows the dynamic change of the object handling mode, thereby improving the sorting or handling efficiency of objects and reducing the space requirements, reducing the requirements for manual operation, and thus reducing the capital and operating costs of the entire system.
[0084] During use, for example and according to certain embodiments, the system can identify an object through a sensing system and then dynamically assign a destination location (carrier 46) to that object. This process is still under the control of the overall manifest, but the assignment of destination bins can be dynamic, based on various heuristics, such as the likelihood of receiving the same designated object (e.g., if the likelihood is high, the destination location can be designated close to the starting position of the carrier to save time), and whether a second destination bin is assigned to the object (e.g., if the likelihood of receiving the object at the same destination is very high).
[0085] Thus, if a new bin is available and the object has not been assigned a bin at that sorting station, the system assigns a bin to the object. Importantly, a large number of collection bins are not pre-assigned to the sorting station for all possible objects that may appear in the input path. If a bin is not assigned to an object, but there are no new bins available for a new assignment, then the object can be returned to the input hopper until it is processed when a new bin becomes available. In addition, the central controller can employ a variety of heuristics, which can further form the process of dynamically assigning objects to collection bins, as discussed in more detail below. Once the bin is full or otherwise complete, the completed bin will signal that it is complete and ready for further processing.
[0086] Refer to Figure 19, in many processing systems, there can be a fixed relationship between an object 151 and a destination 155. In a conventional sorting system, an intermediate container 153 is assigned a fixed relationship with a destination, and this relationship indicates that the object 151 is assigned to the intermediate container 153. This is shown in Figure 21 where each destination 164, 166, 168, 170, 172 is associated with an intermediate container 154, 156, 158, 160, 162. When an object 152 is processed, these objects are simply routed to the appropriate intermediate container according to the fixed relationship.
[0087] On the other hand, according to an embodiment of the present invention, the relationship between the intermediate container and the destination is not fixed, but changes dynamically during sorting. For example, Figure 20 shows that while the relationship between an object 157 and its destination 161 is fixed, the assignment of an intermediate container 159 (e.g., a collection bin) is dynamically selected based on various heuristics. Once assigned, it will remain until the collection bin is emptied. As shown in Figure 21 , the assignment of the collection bin (intermediate container 153) for the object 157 is determined by the object destination and the intermediate container-to-destination mapping, and this destination mapping (between the intermediate container 153 and the destination 161) is dynamically reallocated during operation.
[0088] Referring to Figure 22A , at the start of the sorting process, there may be no assigned relationship between the intermediate containers 176, 178, 180, 182, 184 and the object 174, or between the intermediate containers 176, 178, 180, 182, 184 and the destinations 186, 188, 190, 192, 194. As shown in Figure 22B , when the tag of an object is detected, the intermediate container 176 is assigned to the object, and the destination 188 of the object is also assigned to the intermediate container. Additional processed objects that are also associated with the destination 188 are also provided in the intermediate container 176. Referring to Figure 22C , when the tag of a different object associated with a different destination 192 is detected, a new intermediate container 178 is assigned to the object, and the destination 192 of the object is also assigned to the intermediate container. As described above, when an object associated with a destination (e.g., 188) is selected, and the object already has an associated intermediate container 176, the object can be placed in the same intermediate container 176 (see Figure 22D ). However, according to certain embodiments of the present invention, and referring to Figure 22E , for example, if it is known that many of the 0 objects may be associated with the destination 188, the system can choose to assign a new intermediate container 180 to the destination 188. Referring to Figure 22F, when a tag of another object associated with another destination 186 is detected, a new intermediate container 184 is assigned to the object, and the destination 186 of the object is also assigned to the intermediate container 184.
[0089] When the intermediate container becomes full or is determined to be otherwise ready for further processing (e.g., if the system determines that it is unlikely to see another object associated with a destination), the intermediate container is emptied and the contents are used for further processing. For example, and with reference to Figure 22G , when the system determines that the intermediate container 176 is full, the contents are emptied, and then the intermediate container 176 is again unassigned to a destination, as Figure 22H shown. The intermediate container 176 can then be reused and associated with a new destination 190, as Figure 22I shown.
[0090] As Figure 23 shown, the sorting process at the sorting station of the present invention can begin (step 200), and the articulated arm or another programmable motion device receives a new object (step 202). The system identifies the new object through an overhead scanner or other scanner system (step 204). The system then determines whether any location at the station has been assigned to the new object (step 206). If so, the system then places the object at that location (step 218). If not, the system then determines whether the next location is available (step 208). If not, the system can (with or without input from a human) determine whether to retry identifying the object (step 210). If so, the system then returns the object to the input stream (step 212) to receive the object again later (step 202). If not, the system places the object in the manual sorting area for human sorting (step 214). If the next location is available (step 208), the system then assigns the next location to the object (step 216), and the object is then placed in that location (step 218). If a location has been assigned to the object (step 206), the object is then placed in that location (step 218). Then the number of objects at the location is updated (step 220), and if the location subsequently becomes full (step 222), the system identifies that the location is ready for further processing (step 226). If not, the system then (based on prior knowledge and / or heuristics) determines whether the location is likely to receive further objects (step 224). If so, the system identifies that the location is ready for further processing (step 226). If not, the system returns to receive a new object (step 202). For example, the further processing can include collecting goods at a location in a single bag for transportation to a shipping location.
[0091] According to a specific embodiment, the present invention provides a user interface that conveys all relevant information to operators, managers, and maintenance personnel. In a specific embodiment, this can include indicator lights that indicate bins that are about to be ejected (filled), bins that are not fully correctly positioned, the level of contents in the feed hopper, and the overall operating mode of the entire system. Additional information may include the object handling speed and additional statistical information. In a specific embodiment, the system can automatically print and scan a label before the operator places the package on the output conveyor. According to a further embodiment, the system can incorporate a software system that interfaces with the customer's database and other information systems to provide operating information to the customer's system and to query the customer's system for object information.
[0092] For example, in Figure 24 the process of the overall control system is shown. The overall control system can start (step 300) by allowing the assignment of new collection bins to a group of objects at each station based on overall system parameters (step 302), as discussed in more detail below. The system then identifies the assigned bins associated with the object at each station (step 304) and updates the quantity of objects at each bin at each station (step 306). The system then determines when a bin is full or when the system anticipates that the associated sorting station is unlikely to see another object associated with the bin, and the associated sorting station robot system then places the completed bin on the output conveyor or signals a worker to come and empty the bin (step 308), and then returns to step 302.
[0093] Due to the inherent dynamic flexibility, the systems of various embodiments offer many advantages. The flexible correspondence between sorter output and destination allows the sorter output to be less than the destination, so the entire system may require less space. The flexible correspondence between sorter output and destination also allows the system to select the most efficient order for processing the object in a manner that varies with the specific mix of objects and downstream requirements. By adding sorters, the system can also be easily expanded and is more robust because the failure of a single sorter can be dynamically handled without even stopping the system. It should be possible for the sorter to exercise discretion in the order of objects, favoring objects that need to be processed quickly or objects for which a given sorter may have a dedicated gripper.
[0094] According to a further embodiment, the present invention can provide as Figure 25The complete system 400 shown includes a processing station 402 that services an input bin 404 and an input conveyor 406 and includes programmable motion equipment 408 to provide selected objects onto an inclined pallet 410 traveling between destination bins 414. The inclined pallet 410 drops the objects into a reciprocating carriage 412 and then ferries the objects to a selected destination bin 414 and tilts itself to drop each object into the selected bin.
[0095] The system of the present invention is highly scalable in terms of the number of items sorted per hour and the number of storage bins and destination bins available. Figure 26 A system 500 is shown in accordance with a further embodiment of the present invention. The system 500 includes a plurality of processing segments 502 that access a plurality of input bins 504 via a common input conveyor 506 and provide objects from the input bins 504 to destination containers as discussed above. Generally, each processing segment 502 includes programmable motion equipment that provides an object to an inclined pallet and then to a carriage of one or more processing segments. Supply bins 504 are disposed on the input conveyor 506 and destination bins are disposed on removable drawers and are accessible by a shuttle carriage.
[0096] Figure 27 A system 600 is shown in accordance with a further embodiment of the present invention. The system 600 further includes a plurality of groups of multi-row processing segments 602 proximate to one of a plurality of input conveyors 606 and processes objects to be placed in any one of a variety of destination bins via a plurality of programmable motion devices, a plurality of inclined pallets, and a plurality of shuttle carriers that take the objects to a desired destination bin.
[0097] The control of each of systems 30, 400, 500, and 600 can be provided by a computer system 70 that communicates with the storage conveyor and (a) displacement mechanism(s), the processing conveyor and (a) displacement mechanism(s), and the (a) programmable motion device(s). The computer system 70 also contains knowledge (continuously updated) of the location and identity of each of the storage bins and knowledge (also continuously updated) of the location and identity of each of the destination bins. Accordingly, the system guides the movement of the storage bins and destination bins, retrieves objects from the storage bins, and allocates the objects to the destination bins according to an overall manifest that specifies which objects must be provided in which destination bins for shipment, e.g., for distribution or retail locations.
[0098] Those skilled in the art will appreciate that various modifications and variations can be made to the embodiments disclosed above without departing from the spirit and scope of the present invention.
Claims
1. A processing system for processing objects, the processing system comprising: A plurality of processing stations, the plurality of processing stations being generally in communication with an input conveyor system, each of the processing stations comprising: A sensing unit for sensing an identification marker indicative of the identity of an object associated with the input conveyor system; and An acquisition system, the acquisition system partially comprising a programmable motion device for acquiring a selected object from among a plurality of objects at an input portion of the input conveyor system and for moving the selected object to an object conveyor system, the object conveyor system being generally in communication with the plurality of processing stations, The object conveyor system comprising a plurality of carriers in communication with a plurality of processing containers, each of the plurality of carriers being in communication with a subset of the plurality of processing containers, Wherein the object conveyor system further comprises at least one carrier that moves continuously in a loop, and Wherein the at least one carrier is adapted to deliver the selected object to one of the plurality of processing containers by dropping the selected object into one of the plurality of carriers.
2. The processing system according to claim 1, wherein The input portion of the input conveyor system comprises an input area conveyor, and a plurality of objects are transferred from a main conveyor of the input conveyor system to the input area conveyor, the plurality of objects including the selected object.
3. The processing system according to claim 2, wherein The plurality of objects are disposed in a box, the box being one of a plurality of boxes, each box comprising a further plurality of objects.
4. The processing system according to claim 1, wherein One of the plurality of carriers shuttles back and forth between the subset of the plurality of processing containers.
5. The processing system according to claim 1, wherein One of the plurality of carriers can be actuated to tilt in either of two opposite directions to drop the selected object into either of two processing containers.
6. The processing system according to claim 1, wherein Each of the plurality of carriers shuttles back and forth between the respective subsets of the plurality of processing containers.
7. The processing system according to claim 1, wherein, The acquisition system is adapted to place the selected object into the at least one carrier in the object conveyor system by using an end effector of the programmable motion device such that the selected object is moved to the object conveyor system.
8. The processing system according to claim 1, wherein The at least one carrier in the object conveyor system comprises a plurality of pallets, the plurality of pallets being actuatable to tilt in either of two opposite directions to drop an object into one of the plurality of carriers.
9. The processing system according to claim 1, wherein Each of the plurality of carriers is adapted to drop an object therein into a designated processing container among the plurality of processing containers.
10. A processing system for processing objects, the processing system comprising: A plurality of processing stations, the plurality of processing stations being generally in communication with an input conveyor system, each of the processing stations comprising: A sensing unit for sensing an identification marker indicative of the identity of an object associated with the input conveyor system; and An acquisition system, the acquisition system partially comprising a programmable motion device for acquiring a selected object from among a plurality of objects at an input portion of the input conveyor system and for moving the selected object to an object conveyor system, the object conveyor system being generally in communication with the plurality of processing stations, The object transfer system includes a plurality of carriers communicating with a plurality of processing containers, and further includes at least one carrier communicating with a plurality of subsets of the plurality of processing containers, wherein the at least one carrier of the object transfer system continuously moves in a loop, wherein a selected object is placed into the at least one carrier of the object transfer system using an end effector of the programmable motion device, and wherein the at least one carrier drops the selected object into one of the plurality of carriers to deliver the selected object to one of the plurality of processing containers.
11. The processing system according to claim 10, wherein, The input portion of the input transfer system includes an input area conveyor, and a plurality of objects are transferred from a main conveyor of the input transfer system to the input area conveyor, the plurality of objects including the selected object.
12. The processing system according to claim 11, wherein The plurality of objects are disposed in a bin, the bin being one of a plurality of bins, each bin including a further plurality of objects.
13. The processing system according to claim 10, wherein, Each of the plurality of carriers is associated with a subset of the plurality of processing containers.
14. The processing system according to claim 10, wherein One of the plurality of carriers shuttles back and forth between subsets of the plurality of processing containers.
15. The processing system according to claim 10, wherein Each of the plurality of carriers is capable of being actuated to tilt in either of two opposite directions to drop a selected object into any one of two processing containers of a corresponding subset of the plurality of processing containers.
16. The processing system according to claim 10, wherein Each of the plurality of carriers shuttles back and forth between corresponding subsets of the plurality of processing containers.
17. The processing system according to claim 10, wherein The at least one carrier of the object transfer system includes a plurality of carriers, the plurality of carriers being capable of being actuated to tilt in either of two opposite directions to drop an object into one of the plurality of carriers.
18. A method of processing objects using a programmable motion device, the method comprising the steps of: sensing identification markings indicative of the identity of a plurality of objects associated with an input transfer system including an input area; dynamically allocating a previously unallocated processing location as a dynamically allocated processing location in response to the sensed identification markings; acquiring an object from the plurality of objects at the input area using an end effector of the programmable motion device, wherein the programmable motion device is adapted to assist in delivering the object to the dynamically allocated processing location, the dynamically allocated processing location being thereafter associated with the identification markings and the dynamically allocated processing location being provided as one of a plurality of processing locations; and delivering the object to the dynamically allocated processing location, wherein delivering the object to the dynamically allocated processing location includes placing the object into a circulating carrier using an end effector of the programmable motion device and dropping the object from the circulating carrier into a shuttling carrier, wherein the shuttling carrier drops the object into the dynamically allocated processing location, wherein the circulating carrier continuously moves, and wherein the circulating carrier travels in a loop with a plurality of circulating carriers.
19. The method according to claim 18, wherein The input transfer system includes a main transferrer and an input area transferrer, and the plurality of objects can be transferred from the main transferrer to the input area transferrer.
20. The method according to claim 18, wherein The method includes the plurality of objects being disposed in a bin, the bin being one of a plurality of bins, and each bin including a further plurality of objects.
21. The method according to claim 18, wherein The reciprocating shuttle carriage shuttles between the plurality of processing positions.
22. The method according to claim 21, wherein The reciprocating shuttle carriage can be actuated to tilt in either of two opposite directions so that the object drops into any one of the two processing positions.
23. The method according to claim 18, wherein Dropping the object from the circulating carrier onto the reciprocating shuttle carriage includes dropping the object into the reciprocating shuttle carriage from the circulating carrier, and the circulating carrier can be actuated to tilt in either of two opposite directions.
24. The method according to claim 23, wherein The method further includes actuating a plurality of reciprocating shuttle carriages.
Citation Information
Patent Citations
Goods to robot for order fulfillment
US20140244026A1
Systems and methods for dynamic processing of objects
US20170157648A1