At least one aspect of the present invention generally relates to methods and systems for decanting a plurality of items supported on a transport structure at one time for placement into a transport container and, in particular, to such methods and systems which are machine vision-based.
In the field of materials handling, it is often desirable to move items from a pallet, carrier, or platform, to place them into another tote, conveyance or onto a platform for reassembly and further processing. These items are typically boxes or box-like items of varying volumes and weights that must be placed into a receptacle or onto a conveyor line, according to a set of rules that take account of features such as: size of the box-like item, size of the tool used to move the items, size of the destination tote, means of conveyance, or kind of box. Box types can vary widely. Possible differences include the type of partial opening in the tox top, shape of the box top, whether the box is plain cardboard, and whether the box has been printed. The present state of the art for material handling provides several options for moving such items.
In a manual (single-) box pick process, manual operators are presented with an assembly of box-like items from which the operators select individual items to move from a plane or other conveyance to a tote or other conveyance for further processing. A box pick process in which box-like items are moved from a first conveyance to a second conveyance, in which the second conveyance may contain more than one of the items, and in which multiple box-like items may be moved from the first to the second conveyance simultaneously, is a decanting process. In a single singulation system (aka a deshingling conveyor, see, for example, CN214494704(U), U.S. Pat. Nos. 4,284,186A and 5,400,896A), the task of separating boxes from one another while in motion along a conveyor system is performed by a series of mechanical sorting steps implemented by conveyor belts, mechanical filters, lever arms, variable-speed motors, and switches. Deshingling is the process of removing any overlap between boxes or box-like items and spacing the boxes in a regular fashion on a conveyor.
In an automated box picking process, such as is disclosed herein, the box handling is typically performed by a robot or other automated system.
Although the current state of the art can free humans from the aforementioned tasks, these tasks are still most easily accomplished by humans. Automated single box pick and decanting systems encounter positioning difficulties that humans can easily overcome. Some examples of these difficulties include but are not limited to the following. A human easily might recognize that a box position is tipped, rotated, or otherwise not in a preset location on the plane of boxes. A human may easily see the count and arrangement of box-like items that can be moved to a tote at one time, easily comparing the items available to be moved with the space available to be filled in a partially filled tote. Humans can quickly understand if one item overlaps another and still move said items. Humans can also recognize and adapt quickly, if a configuration of boxes differs from an accustomed configuration. All the above tasks can be difficult for an automated system.
Unfortunately, manual processes for box picking and decanting are repetitive and prone to burn-out and injury for human workers. For these reasons and more, flexible automated box handling systems deploy machine vision to take the place of human eyes. Manufacturing efficiency is improved by assigning humans supervisory roles, rather than manual duties. It is one of the goals of the present invention to automate box picking and decanting processes, to reduce injury, avoid labor shortages, improve reliability, and improve the efficiency of the process.
Singulation (aka deshingling) systems are expensive to implement, given the requirement for multiple mechanical components, and they are inefficient in their use of linear conveyor space. Singulation systems, moreover, only address part of the problem of manipulating items from one conveyance to another; they separate box-like items one from another, successfully unloading a pallet, for instance, but they are not designed to manipulate the items after singulating in the most simple and limited circumstances.
Prior automated single box picking or decanting systems are inflexible. Information about the arrangement and location of boxes must be predetermined by humans and fed to the systems through pre-defined parameters. These parameters must be set up in advance and do not allow for simple changes or the introduction of new boxes without training or additional configuration. If the pre-determined arrangement is subject to disruption, or if the arrangement is simply unknown beforehand, adaptive methods such as vision-guided robots must be used. The present invention discloses a system and method which removes the limitations of such prior systems.
Systems in the prior art that utilize machine vision rely on either Classical Image Processing or Machine Learning as described hereinbelow.
A. Classical Image Processing
Classical Image Processing is dependent on processing steps of Feature Extraction, Segmentation and Detection to obtain information regarding an item of interest as shown in
B. Machine Learning
Alternatively, systems in the prior art that automate single box picking or decanting rely on some form of Machine Learning (ML) principles (
Unfortunately, Machine Learning approaches suffers from significant drawbacks for materials handling automation. Problems with system opacity, overtraining, undertraining, difficulty of obtaining training sets, and the extended duration of the training phase are rife. The system must discover important image features during the training phase, but a properly designed training phase is not always practical. This is especially problematic in systems with thousands of potential training items, or in systems to which new items are added regularly.
Too little training (undertraining) will mean that a ML system does not have sufficient data for a trained set — it will miss important general rules. Too much training (overtraining) may cause degraded performance due to faulty generalizations in pattern recognition algorithms. Machine learning systems are notoriously opaque in their functioning, making them difficult to maintain and adapt.
An additional difficulty with ML approaches is accounting for new items to be added into the process. Any time a new item is introduced, or an existing item is changed, the system must be retrained for the new data.
U.S. Patent No. 10,937,182 discloses a device for estimating the pose of an item based on correspondence between a data volume containing a data mesh based on a current frame captured by a depth camera and a reference volume containing a plurality of fused prior data frames.
U.S. Patent No. 11,029,713 discloses a method and system for expanding the range of working environments in which a 3-D or depth sensor can operate without damaging or degrading the measurement performance of the sensor. The sensor has a rigid support structure and a plurality of optoelectronic components fixedly supported on the support structure. The system includes an enclosure for enclosing the support structure and the supported optoelectronic components within the interior of the enclosure. A temperature control circuit includes a controller to monitor interior temperature within the enclosure and to regulate temperature within the enclosure to be within an operational temperature range of the sensor, based on the monitored temperature.
U.S. Patent Publication No. 2020/0134860 discloses a machine vision-based method and system for measuring 3D pose of a part or subassembly of parts having an unknown pose. A number of different applications of the method and system are disclosed including applications which utilize a reprogrammable industrial automation machine such as a robot. The method includes providing a reference cloud of 3D voxels which represent a reference surface of a reference part or subassembly having a known reference pose. Using at least one 2D/3D hybrid sensor, a sample cloud of 3D voxels that represent a corresponding surface of a sample part or subassembly of the same type as the reference part or subassembly is acquired. The sample part or subassembly has an actual pose different from the reference pose. The voxels of the sample and reference clouds are processed via a matching algorithm to determine the pose of the sample part or subassembly.
Given a sensor system capable of measuring the pose of a rigid item in 3D space relative to the sensor, a secondary challenge arises, due to the need to match the coordinate system of a sensor system to the coordinate system of a robot or other manipulator. There is a rich literature and patent history regarding the determination of the intrinsic and extrinsic parameters of 2D sensors for photogrammetry in industrial, military, and civil engineering contexts. A modern example involves presenting multiple instances of a printed calibration pattern mounted upon a robot to a 2D sensor, which is thereby registered into the robot's coordinate system (see U.S. Pat. No. 10,369,698) and may henceforth interact with the robot using the robot's preferred coordinate system. Typical methods for registration of 2D sensors differ in kind from the registration of 3D volumetric sensors, in that the data used for registration does not include depth maps, so there are no Cartesian Coordinates directly available for registration. A point p in 3D Cartesian Coordinates is typically represented by listing its projections along the 3 coordinate axes: the x-axis, y-axis, and z-axis; for example: p={x, y, z}. Techniques for the registration of 3D volumetric sensors are known to the art; see, for example, U.S. Pat. No. 9,183,631B2. A preferred method for 3D sensor registration is described in U.S. application Ser. No. 17/569,606
U.S. Patent Publication No. 2021/0150760 discloses a machine vision-based method and system to facilitate the unloading of a pile of boxes within a work cell. The method includes the step of providing at least one 3-D or depth sensor having a field of view at the work cell. Each sensor has a set of radiation sensing elements that detect projected radiation to obtain 3-D sensor data. The 3-D sensor data includes a plurality of pixels. For each possible pixel location and each possible box orientation, the method includes generating a hypothesis that a box with a known structure appears at that pixel location with that container orientation to obtain a plurality of hypotheses. The method further includes ranking the plurality of hypotheses. The step of ranking includes calculating a surprisal for each of the hypotheses to obtain a plurality of surprisals. The step of ranking is based on the surprisals of the hypotheses.
The following U.S. patent publications are related to at least one embodiment of the present invention: 2016/0221187; 2018/0061043; 2019/0262994; 2020/0086437; 2020/0234071; U.S. Pat. Nos. 9,493,316; 9,630,320; 9,630,321; 10,239,701; 10,315,866; and 10,662,007.
The following U.S. patent documents assigned to the same assignee as the present application are related to at least one embodiment of the invention: 2013/0329012; 2018/0120218; U.S. Pat. No. 10,049,443; 2019/0332084; U.S. Pat. Nos. 10,591,277; 10,776,949; 2020/0410712; and U.S. Pat. No. 11,029,713.
An object of at least one embodiment of the present invention is to provide a method and system which overcome the above-noted shortcomings of Classical Image Processing and/or ML.
In carrying out the above object and other objects of at least one embodiment of the present invention, a method of decanting a plurality of substantially identical target items in a topmost layer of target items supported on a transport structure at one time with a picking tool for placement into a transport container is provided. The method comprises the steps of providing a ranked configuration which describes the location and orientation of all items in the topmost layer and identifying a set of all legal picks of multiple items from the topmost layer based on the size and shape of the picking tool and the size and shape of the transport container. The method also comprises grouping the legal picks into equivalence classes. Each equivalence class contains a subset of items from the ranked configuration.
The method may further comprise the step of ranking the equivalence classes based on the number of members in the classes.
Each target item may be a box-like object such as a box or a large bag.
The transport structure may be a pallet.
The target container may be a decanting tote.
The set of all legal picks of multiple items from the set of items on the topmost layer may be computed via a three-dimensional convolution between the configuration of items on the topmost layer and the shape of the picking tool. Indices {h, v, a} of the convolution may correspond to hypotheses regarding the position and orientation of the picking tool.
Two legal picks may be placed into the same equivalence class when the picks select the same item.
The equivalence classes may be ranked according to the number of items selected by each member of the equivalence class.
The step of identifying may identify the subset of multiple items to be picked at one time by the picking tool and may be performed by randomly selecting one of the equivalence classes from the equivalence classes ranked highest.
The equivalence classes may be ranked first, according to the number of items selected in the equivalence class then, in case of ties, the tied equivalence classes may be further ranked by the distance an autonomous manipulator would move to pick the items in the equivalence class and deposit the items at their destination.
The step of identifying may identify the subset of multiple items to be picked at one time by the picking tool and may be performed by selecting the highest ranked equivalence class in the ranking.
Further in carrying out the above object and other objects of at least one embodiment of the present invention, a system for decanting a plurality of substantially identical target items in a topmost layer of target items supported on a transport structure at one time with a picking tool for placement into a transport container is provided. The system comprises a memory device configured to store a ranked configuration which describes the location and orientation of all items in the topmost layer and at least one processor configured to identify a set of all legal picks of multiple items from the topmost layer based on the size and shape of the picking tool and the size and shape of the transport container. The at least one processor is also configured to group the legal picks into equivalence classes. Each equivalence class contains a subset of items from the ranked configuration.
The at least one processor may be configured to rank the equivalence classes based on the number of members in the classes.
Each target item may be a box-like object such as a box or a large bag.
The transport structure may be a pallet.
The target container may be a decanting tote.
The system may further comprise an autonomous manipulator attached to the picking tool. The picking tool and the manipulator may be configured to pick the items from the transport structure based on the ranked configuration and to place the picked items into the transport container.
The autonomous manipulator may be a vision-guided robot configured to pick and place the items.
As required, detailed embodiments of the present invention are disclosed herein; however, it is to be understood that the disclosed embodiments are merely exemplary of the invention that may be embodied in various and alternative forms. The figures are not necessarily to scale; some features may be exaggerated or minimized to show details of particular components. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ the present invention.
Preferably, a 3-D or depth sensor 10 (
The “pose” of an object is the position and orientation of the object in space relative to some reference position and orientation. The location of the object can be expressed in terms of X, Y, and Z Coordinates. The orientation of an object can be expressed in terms of Euler angles describing its rotation about the x-axis (hereinafter RX), rotation about the y-axis (hereinafter RY), and then rotation about the Z-axis (hereinafter RZ) relative to a starting orientation. There are many equivalent mathematical coordinate systems for designating the pose of an object: position coordinates might be expressed in spherical coordinates rather than in Cartesian coordinates of three mutually perpendicular axes; rotational coordinates may be express in terms of quaternions rather than Euler angles; 4×4 homogenous, matrices may be used to combine position and rotation representations; etc. However, generally, six variables {X, Y, Z, RX, RY, RZ} suffice to describe the pose of a rigid object in 3D space.
The grayscale or color images from 2D sensors are presented in 3D Projective Coordinates (aka Homogeneous Coordinates). Referring to
“Multipoint” refers to the laser projector which projects thousands of individual beams (aka pencils) onto a scene. Each beam intersects the scene at a point.
“Disparity” refers to the method used to calculate the distance from the sensor to objects in the scene. Specifically, “disparity” refers to the way a laser beam's intersection with a scene shifts when the laser beam projector's distance from the scene changes.
“Depth” refers to the fact that these sensors are able to calculate the X, Y and Z coordinates of the intersection of each laser beam from the laser beam projector with a scene.
A “point cloud” is a collection of data representing a scene as viewed through a “vision” sensor. In three dimensions, each datum in this collection might, for example, consist of the datum's X, Y and Z coordinates along with the red, green and blue values for the color viewed by the sensor 10 at those coordinates. In this case, each datum in the collection would be described by six numbers. To take another example: on a flat plane, in two dimensions, each datum in the collection might consist of the datum's X and Y coordinates along with the monotone intensity measured by the sensor 10 at those coordinates. In this case, each datum in the collection would be described by three numbers.
As “Passive Depth Sensors” determine the distance to objects in a scene without affecting the scene in any way, they are pure receivers.
“Active Depth Sensors” determine the distance to objects in a scene by projecting energy onto the scene and then analyzing the interactions of the projected energy with the scene. Some active sensors project a structured light pattern onto the scene and analyze how long the light pulses take to return. Active depth sensors are both emitters and receivers.
The “Albedo” of an object is a measure of the amount of light scattered by an object (radiance), relative to the amount of incident light shone on the object (irradiance), and is indicative of the (intrinsic brightness) of an object. One distinguishes the tendency of an object to scatter incident light from the tendency of an object to reflect incident light. In alternative embodiments of the invention disclosed herein one takes measures to eliminate reflected incident light from scattered incident light. The albedo of an object can be likened to the signature of a person and can be used to identify the object.
For clarity, each sensor, generally indicated at 10, is preferably based on active monocular, multipoint disparity technology as a “multipoint disparity” sensor herein. This terminology of “multipoint disparity”, though serviceable, is not standard. A preferred monocular (i.e. a single infrared camera) multipoint disparity sensor is disclosed in U.S. Patent No. 8,493,496. A binocular multipoint disparity sensor, which uses two infrared cameras 34 to determine depth information from a scene, is also preferred, and is shown in
The volumetric sensor 10 is placed above a multi-layer load of closely spaced box-like items 12 supported on a pallet 14 (
The 3-D or depth sensor 10 of
The sensor 10 also preferably includes a dot pattern laser source in the form of a pattern projector or emitter 32 operating at wavelength, L1, and an emitter 40 configured to emit an even field of polarized light at a second wavelength or collection of wavelengths, L2, one or more array sensors in the form of the cameras or detectors 34 configured to receive light at the wavelength L1 and generate voxel arrays describing scene geometry, and a pixel array sensor 30 configured to receive light at the wavelength(s) L2. The infrared laser projector 32 operates by means of diffractive optical elements to project laser pencils or beams onto the scene to be analyzed. The detectors 34 analyze the scene at wavelength ‘L1’ to locate the intersections of the laser pencils with the scene and then use geometry to calculate the distance to points on the surface of box-like items 12 in the scene. The camera 30 in a preferred embodiment is used simultaneous with the operation of detectors 34 to associate a color or monochrome intensity to each portion of the analyzed image of a box-like item 12. This provides the ability to interpret a ‘volumetric’ image in what is traditionally referred to as two and a half dimensions. 2½D in the present sense is distinguished from true 3D in the sense of tomography due to the sensor 10 only being able to detect item surfaces that are physically visible to it (i.e., it is unable to see through box-like items or to see surfaces on the far side of a box-like item).
In an alternative preferred embodiment, the detectors 34 and 30 are configured to operate at alternate times. At the first instance light from the pattern emitter 32 is observed by detectors 34; in the second instance light from the uniform source 40 is observed by detector 30. The electro-mechanical complexity of this alternative embodiment may be decreased by setting frequency L equal to frequency L2, eliminating sensor 30, and using the sensor(s) 34 for viewing both the illumination from 32 and the illumination from 40 at alternating times.
Before measurement, the sensor 10 is registered into a common or world coordinate system. This gives the present system the ability to correlate a location on the image of the sensor 10 with a real-world position addressable by a robot or other automated manipulator. When an image is captured from the sensor 10, the pixel information, along with the depth information, is converted by a computer (
In one embodiment, each element 36 comprises a NIR bandpass filter centered at 830 nm; each 1280×960 array sensor 34 interprets a 60 degree×45 degree field of view; the uniform polarized source 40 is comprised by a 940 nm VCSEL array or LED operating as a flat field illuminator; the 1280×960 array sensor 30 observes a 60 degree×45 degree field of view through filter 38 which is an NIR bandpass and polarization filter centered at 940 nm; and the source 32 is a 830 nm Fabry-Perot laser diode fitted with a DOE element to generate a dot pattern with approximately 30,000 laser pencils.
Referring again to
If the sensor 10 provides its own illumination at a frequency and amplitude distinguishable from natural lighting, then the bandpass filter 38 ensures that sensor 10 can operate in the presence or absence of ambient visible light while also filtering undesired reflected light from desired scattered light. Ambient factory lighting conditions can vary widely from very bright to very dark. The robustness of a machine vision system is improved if it is not affected by ambient lighting changes.
The sensor 10 is configured to provide consistent and reliable voxel (geometric) information independent of ambient light as well as consistent and reliable pixel (appearance) information independent of ambient light. The consistent, ambient-immune pixel information enables the computation of surface albedo for matching algorithms as described in the above noted patent application Ser. No. 17/491,975.
By ensuring that the light source is even across its field-of-projection, at least one embodiment of the present invention ensures that there is no correlation between horizontal placement of a box-like item within a field-of-view and the surface's computed albedo. By employing geometric information obtained from the 3D sensor 10 to normalize diffuse (backscattered) brightness for distance and surface orientation, at least one embodiment of the present invention ensures that there is no correlation between distance or orientation of the box-like item 12 and its computed albedo. By utilizing polarized light and a polarization analyzer the at least one embodiment ensures that only the diffuse component of the light scattered from the observed top surface of the box-like item 12 is measured. This removes correlation between the glossiness of the top surface and its computed albedo. By projecting enough illumination in a narrow band to overwhelm ambient light in that band, along with a band-pass filter configured to reject light outside the narrow band, the at least one embodiment insures that computed surface albedo is not correlated with accidental features such as time of day (sunlight), surface orientation or distance, or ambient illumination.
Accurate sensor calibration and sensor registration is fundamental to the success of vision-guided automation. Sensor calibration, i.e. the determination of intrinsic sensor parameters, may be performed in a controlled laboratory environment before installation at a customer site. Methods for sensor calibration are well-known to the art.
Sensor registration, however, is the determination of extrinsic sensor parameters. Extrinsic parameters must be determined on site, where the environment is less controlled. As a practical matter, in such environments measurement noise tends to increase when compared with laboratory environments. There are multiple practical difficulties, frequently addressed in the prior art, with the use of depth information in the registration of volumetric sensors.
Referring again to the drawing figures, one preferred embodiment of the present invention described above registers the volumetric sensor 10 (i.e., 3D sensor) using a flat, featureless target, P, mounted on J6 (i.e., 6th joint) of a robot 16 as shown in
Sources of information are unified in a surprisal-based information theoretic framework so that they can be compared as commensurate quantities without using special parameters, in at least one embodiment of the present invention. This approach to image processing is generally described as follows. Generate information and form hypotheses. Rank how well each hypothesis matches the evidence. Select the ‘best’ hypothesis or hypotheses as the answer. This approach is probabilistic in nature and differs from classical image processing or Machine Learning approaches; see the block diagram flow chart of
Box-like items 12 are presented on a pallet 14, as shown in
One can use an orthogonal projection (a method well-known to those versed in the art) to virtually move the sensor image to a known height above the floor in the robot coordinate system. This allows one to eliminate ‘z’ (height) from the calculations since it is no longer unknown. Thus, one only needs to specify two position variables instead of 3. The following discussion relies upon the fact that, for a relatively flat and level collection of boxes or bags, only 3 dimensions are required to specify an item's location (2 positions and 1 rotation), instead of 6 dimensions (3 positions and 3 rotations). As a consequence, one speaks of ‘hypotheses’ with three parameters, although each such hypothesis corresponds to a unique item pose in 6 degrees of freedom.
Detection of box-like items 12 as shown in
One advantage of the present invention over more common machine learning (
The camera coordinates are {H,V,Z} perspective coordinates. Cartesian or world coordinates are {X,Y,Z}. Each world point can be referred to by either.
The following are various stages or steps of an algorithm of at least one embodiment of the present invention to select a single box from a pallet of (nearly) identical boxes (
Stage 1: Generation of Information and Enumeration of Hypotheses
The enumeration of all the 3D hypotheses and the generation of relevant information is the first stage of the algorithm. A hypothesis is generated for each position and each rotation angle as described above.
If a particular style of item is being encountered for the first time, a cumulative probability distribution is collected from the observed data for each source of information via methods well-known to the art. This step may also require the collection of an exemplar of the appearance of the surface of the ‘new’ box-like item. It is worth mentioning that this step constitutes the whole of the training for the system. It is an unsupervised learning step easily performed in a fraction of a second.
Stage 2: The ranking (aka Evaluation) of Hypotheses is the assignment of a surprisal value to each hypothesis.
Surprisal is a measure of the quantity of information derived from the probability of a particular event occurring. A “more surprising” an event, the more information it gives. In this instance, bigger numbers are better, more informative.
There are multiple independent sources of information for which one can compute surprisals. Three are illustrated in
1. Depth Perimeter Surprisals 200: Does the observed pattern of distance variation for each hypothesized box position and orientation duplicate the way that distances “fall-off” as they do at the perimeter of a box? (i.e. does the system observe a pattern with ‘box-like’ geometry along its perimeter? Quantify the surprisal of each observation. (See
2. Grayscale Perimeter Surprisals 100: Does the observed pattern of grayscale variation for each hypothesized box position and orientation duplicate the way that grayscale levels “fall-off” as they do at the perimeter of a box? (i.e. does the system observe a pattern with ‘box-like’ appearance along its perimeter? Quantify the surprisal of each observation. (See
These two information sources can function statistically independent of each other and each alone could reasonably locate a box 12. Together, they form a highly robust system where each gives independent verification of the other.
3. Printed Pattern Surprisals 300: Does the observed pattern of grayscale variation for each hypothesized box position and orientation duplicate the way that grayscale levels vary as they do away from the perimeter, within the interior of the surface of a box?
Quantify the surprisal of each observation. Since the box-like items may be shifted in (h,v) with respect to one another, as well as being rotated at some angle ‘a’ with respect to one another, the comparisons one makes when gathering the information above are performed in three dimensions. The degree of similarity must be assessed for each measurement, and that quantity must be converted to an information-theoretic surprisal. Methods for performing such assessment and transformations are known to the art. A preferred method for assessing similarity for the purpose of this disclosure is a three-dimensional convolution in (h.v.a), assessing ‘shifts’ in both horizontal (h) and vertical axes (v) as well as rotations (a)—though other methods will suggest themselves to those versed in the art.
The first surprisal computation in the algorithm is the depth perimeter surprisal 220: In the depth pattern one searches for the change in height along the outer perimeter of the target box 12.
The second surprisal computation in the algorithm is the grayscale perimeter surprisal 100: In the grayscale pattern one searches for the change in brightness along the outer perimeter of the target box 12.
The third surprisal computation in the algorithm 300 correlates against the printed grayscale pattern on the top surface of the target box 12:
Other sources of information may be gathered and combined with the aforementioned three sources: side-mounted sensors may observe the appearance of grayscale lines and geometric creases orthogonal (vertical) to the top surface, invisible to a top-mounted sensor, for example. These sources of information may be used to increase the reliability of the system in identifying box-like items, as required. One significant advantage of the information-theoretic approach to statistical image processing described herein is that additional sources of information are all treated equivalently within the paradigm—when combining information to determine the ‘most surprising’ configurations, the information is simply added without arbitrary weighing factors or other parameters.
In Stage 1, the system may have enumerated ˜1000 pix (H)×1000 pix (V)×360 degrees (A)=−360,000,000 hypotheses. Each hypothesis may require the evaluation of the surprisal of multiple measurements. In this case, one considers three. The evaluation of approximately 3×360,000,000=one billion surprisals is computationally challenging. In a preferred embodiment, a GPU is employed to perform the parallel computation of the surprisals of these hypotheses.
After computing the surprisals for each source of information, one combines the surprisals (block 30) and ranks the combined surprisals (block 40).
Stage 3: The Selection of hypotheses (block 50).
If there is just one type of box 12 on the pallet 14, and if only one box needs to be located for robotic manipulation, the selection phase is simple. One selects the hypothesis with the largest surprisal. The coordinates corresponding to this hypothesis are the coordinates that are used to pick the box 12.
If there is more than one size of a box 12 on a pallet 14, and if the number of potential box types is limited to a small (<4) number, a preferred embodiment creates hypotheses for each size of box 12. Then, one must compute the surprisals for each size of box 12. Finally, one selects the hypothesis with the largest surprisal of all box sizes and all position/orientations. Due to the amount of computation involved in this method, this method for dealing with ‘mixed box’ types is limited to a small number of potential boxes.
A useful generalization of the method disclosed in
The series of co-pending patent applications being filed this same day cover a related sequence of inventions. A uniform case depalletizing process (
The system typically includes the vision-guided robot 16 and the sensor 10. The sensor 10 and the robot 16 may be mounted on support beams of a support frame structure (not shown) of the system or the robot 16 may rest on a base or factory floor as shown in
The vision-guided robot 16 has the ability to pick up any item 12 within a specified range of allowable box-like items 12, using multiple-end-of-arm tooling or grippers 18. The robot 16 picks up the items 12 and orients them at a conveyor, storage tote, or other apparatus (not shown). The robot 16 may precisely position the self-supporting items 12 on a support or stage (not shown).
The robot 16 is preferably a six-axis robot 16, but alternatively may be implemented as a four-axis robot. The robot 16 is vision-guided to identify, pick, orient, and present the items 12 so that they are self-supporting on a stage. The gripper 18 may accommodate multiple part families.
The size of the gripper relative to the size of the item to be picked may influence the selection of the algorithm necessary to determine the box-like item to be picked. A gripper smaller than an individual box may only pick one box at a time and may do so without influence on neighboring box-like items, the methods of Loops 1 and 2 may be used. If the gripper subtends a larger area than a single box-like item, so that its deployment may influence neighboring items, the method of Loop 3 must be deployed to separate ‘legal’ picks from ‘illegal’ picks.
A master or system controller (
The sensor 10 can be situated at a fixed location on the frame structure at a robot workstation or mounted upon the robot itself. The sensor 10 is operatively connected to the master controller via its respective image processor(s). The master controller also controls the robot 16 of the system through its robot controller. Based on the information received from the sensor 10, the master controller then provides control signals to the robot controller that actuates the robotic arm and attached gripper 18 of the robot 16 that is used in the method and system.
The master controller can include a processor and a memory on which is recorded instructions or code for communicating with the robot controllers, the vision systems, the robotic system sensor(s), etc. The master controller is configured to execute the instructions from its memory, via its processor. For example, the master controller can be host machine or distributed system. E.g., a computer such as a digital computer or microcomputer that is acting as a control module having a processor. For memory, the aforementioned computer has tangible, non-transitory computer-readable memory such as read-only memory (ROM) or flash memory. The master controller can also have random access memory (RAM), electrically-erasable, programmable, read only memory (EEPROM), a high-speed clock, analog-to-digital (A/D) and/or digital-to-analog (D/A) circuitry, and any required input/output circuitry and associated devices. The master controller can also have any required signal conditioning and/or signal buffering circuitry. Therefore, the master controller can include all software, hardware, memory, algorithms, connections, and sensors necessary to monitor and control the vision subsystem and the robotic subsystem. As such, a control method can be embodied as software or firmware associated with the master controller. It is to be appreciated that the master controller can also include any device capable of analyzing data from various sensors, comparing data, making the necessary decisions required to control and monitor the vision subsystem, the robotic subsystem, sensors, etc.
An end effector on the robot arm in
Referring now to
Referring now to the left-hand side of
Referring again to the middle part of
Referring now to the right-hand side of
In general, the method and system of at least one embodiment of the present invention searches for items 12 like boxes- which are substantially identical. They have low variability in shape, size, color, printing, barcodes, etc. The boxes 12 may be jammed very close together, with few discernible features. The method combines both 2D and 3D imaging (grayscale and depth) to individuate the items.
As described above and below, at least one embodiment of the present invention operates on a Generate, Rank, Select (GRS) Paradigm. The embodiment is preferably one piece of software architecture (i.e. a box recognition engine) that creates the multiple products described hereinbelow in
At block 406, the box recognition engine then analyzes the image and extracts up to 3 types of measurements: 1) depth perimeter correlation info, 2) grayscale perimeter correlation info, and 3) printed pattern correlation info. As described above, the set of measurements taken at this step is descriptive, not exhaustive: other sources of information may be deployed to make other types of measurements, which are treated in the same manner as the three described here. In some cases, fewer than 3 measurements are necessary for robust system performance. This step requires that the approximate dimensions of the items are known ahead of time. This step also requires that the items on the pallet be uniform—not mixed. At block 408, all 3 sources are then converted to information theoretic surprisal, and the totals for each hypothesis are added up.
At block 410, the process followed by the box recognition engine then branches. If the box engine is configured to select a single box, irrespective of any other conditions that may be placed upon that selection, such as the relative position between the boxes or some desired pick order amongst the boxes, then control flow branches to item 420. One notes that this control branch is only possible if the pick tool is smaller than the item to be picked, which assures that any and all items may be ‘legally’ picked at any time. At item 420, the box recognition engine then selects the hypothesis with the largest surprisal. Having divided the box-like items on the top layer into the box to be picked, and all other boxes, and assured that any box-like item selected to be picked may legally be picked. Computation of the robot commands for picking the item then proceeds according to Loop #6 which completes the computations and actions necessary for the “Uniform Case Depalletization” product. On the other hand, if picking the single best box hypothesis is inappropriate, then Loop #2 is entered by selecting all hypotheses and subsequently proceeding via block 432. For example, this happens, if there is a particular order required to be followed when picking boxes, so that picking the single best hypothesis may not be desirable system performance.
The purpose of Loop 2 is to enable the Box Recognition Engine to identify not just one, -but all items located on the top layer of a pallet or other transport medium, assuming the approximate dimensions of the box are known. Loop 1 (
a. One limits the size of M by performing the mathematical morphological operation of non-maximum suppression over the surprisal-valued three-dimensional array of hypotheses. The novelty of this operation in the context of this invention is that the morphology operation is performed over a 3-dimensional lattice rather than a 1- or 2-dimensional lattice as is common in the prior art.
b. One does not generate inconsistent configurations for consideration. An inconsistent configuration is one in which hypothesized boxes are interpenetrating one another. Given a set of items of known dimension, there are methods well-known to the art for generating ‘consistent’ sets of items in the defined sense: see https://en.wikipedia.org/wiki/Collision_detection. Block 504 shows the step of removing inconsistent configurations from the enumeration.
Even with these limitations, the number of configurations to be considered is quite large. Finding an optimal configuration is then treated as an optimization problem over the reduced space of configuration as follows: At blocks 504 and 506, the box recognition engine proceeds to rank the logically consistent configurations according to the sum of surprisals of each item included in the set. The selection phase, at block 508, must select the configuration with the largest sum of surprisals. This exposes the all-item detection problem, as posed here, as an optimization problem of a known type: from a set of M items, choose the N items with the greatest value; this problem is substantially identical to the knapsack problem, known to the art as an NP-Hard problem. Accordingly, one adopts optimization techniques known to the art for approximating the solution to the problem: in a preferred embodiment one parallelizes a simulated annealing approach with a time-limited exhaustive enumeration approach. Other techniques will be apparent to those versed in the art. Quantum computing techniques would be useful in a future potential embodiment.
Once the best findable configuration is selected, the process followed by the box recognition engine then branches. If the box engine is configured to select single boxes for manipulation serially, according to a predetermined set of rules for selecting boxes, then the selection rule is applied to the chosen configuration to select the next box for manipulation. For example, a potential rule would be to always select the outermost corner boxes for manipulation in preference to innermost center boxes. Application of this rule requires that the position and orientation of all boxes on the topmost layer of boxes be identified as above. Note that, depending on the relative size of box-like items and picking tools, care must be taken in formulating the ordering rules; for instance, if the picking tool is larger than the boxes on a layer, it is inapt to apply a rule which selects a box for picking which lies interior to a configuration of boxes; the picking tool could not fit itself over an interior box without interfering with neighboring boxes. Having divided the boxes on the top layer into the desired box-like item and all other items, and assured that the box selected for picking may be legally picked without interference from other boxes, the process then will branch to Loop #6 for computation of the item's pick strategy and for commanding the robot which completes the computations and actions necessary for the “Uniform Case Ordered Depalletization” product. Alternatively, if boxes are to be picked by a robotic manipulator in simultaneous multiples, i.e., several boxes at a time are to be decanted, control flow branches to Loop #3 for the decanting computations.
Loop 3 “Decanting” begins with an optimal configuration from Loop 2. The configuration describes the location and orientation of all the boxes on the topmost layer of a pallet. This layer is assumed to contain a uniform collection of items. Loop 3 must compute subsets of boxes from the set of boxes in the configuration, which can be picked by a robotic picking tool of known dimensions. Generally, these subsets of boxes are picked to fill a tote or other small conveyance—that can fit a limited number of items. The difference between “Decanting” and “Depalletization” is that depalletization is performed by picking one item at a time from a pallet; decanting is performed by picking multiple boxes at a time (“multi-picks”). When considering decanting, as opposed to depalletization, there are three different optimization criteria for selecting which boxes should be picked to fill a tote or other conveyance:
1) The first optimization criterion is that a greedy solution is good enough. Further optimization is unnecessary. For any given configuration of boxes, there is a number ‘B’ representing the largest number of boxes that can be picked by the pick tool for that configuration. Any solution which finds a multi-pick for this maximum is dubbed a ‘greedy’ solution. Greedy solutions are computed, as described below.
2) The second criterion is to minimize the time spent unloading a pallet. The object is to find the sequence of pick operations which unloads the pallet of operations in the fewest robot cycles. The time-optimized pick sequence is usually quite similar to the ‘greedy’ solution but may diverge in some more-or-less important instances.
3) The third criterion is to maximize space efficiency in packing. In this case, there is a minimum fill capacity for each tote to be filled from the items on a pallet. The object is to find the sequence of robot cycles which fills totes to this designated capacity; in the event of a tie, find the shortest such sequence. Again, the space-optimized pick sequence is usually similar to the ‘greedy’ solution but may diverge in some instances.
The job of Loop 3 is to find the set of all legal multi-picks for the configuration determined by the configuration, given a known pick-tool size. The definition of what constitutes a ‘legal’ pick is illustrated in
A preferred method for enumerating the legal picks is as follows: At block 1003 of
The set of legal picks is accumulated by considering each hypothesis in turn. In a preferred embodiment, legal picks are grouped into equivalence classes, wherein each equivalence class contains the same subset of items from the initial configuration. In block 606 (
The identification of a ‘greedy’ solution for the purposes of block 610 (
In some cases, it is not desirable to use a greedy solution for decanting. It may be desirable to optimize the decanting process for either space usage (e.g., filling the tote as full as possible) or for time usage (e.g., filling the tote with as few passes as possible). An illustration of why a greedy pick strategy isn't always optimal is given by
If Loop #3 is continued by Loop 4 or Loop 5, the set of all equivalence classes of all legal picks is input from Loop 3 to Loop 4 or Loop 5.
This conceptual method is impractical. However, the novelty of the approach described herein lies in the identification of the Optimal Time Decanting problem as an optimization problem over sequences of equivalence classes representing legal multi-picks. With minor modification, instead of enumerating all possible sequences of legal multi-picks, only then evaluating and ranking them, one may enumerate decanting sequences one-at-a-time, using the greedy solution as an initial guess, then use standard optimization techniques such as branch and bound, heuristic methods and even exhaustive search to explore the space of possible futures- at least until computation time expires, and it is necessary to select the best findable approximate solution. Note that exhaustive search is practical for small numbers of items, and even a reasonable solution for larger number of items when applied as a breadth-first method of approximation.
As described above, this optimization problem is NP-Hard. Approximation methods for determining an approximate solution are known to the art. In a preferred embodiment approximation methods for determining an approximate solution are used in parallel. One identifies two preferred methods: The first method is a variation on exhaustive search in which the tree of possible futures is enumerated in a breath-first manner and explored to find solutions and rank them. In the second method, a series of heuristics, justified by off-line simulation and discovered by deep learning techniques, is used to rank the equivalence classes according to a weighted feature vector of properties of the equivalence classes. The method of justified heuristics is guaranteed to always find a solution in constant time. The search method is sometimes capable of outperforming the justified heuristics. Alternative methods will suggest themselves to persons skilled in the relevant arts.
Once the selection of an equivalence class is made, this selection suffices to divide the box-like items on the topmost layer into the items to be picked (those in the chosen equivalence class, which constitutes a legal pick, by construction) and items not to be picked. The robot's pick placement is computed as in all other cases, via Loop #6, which completes the computations and actions necessary for the “Optimal Time Decanting” product.
This conceptual method is, as above, impractical. The problem statement involves the exploration of an exponential-sized configuration space. However, the novelty of the approach described herein lies in the identification of the Optimal Space Decanting problem as an optimization problem over sequences of equivalence classes representing legal multi-picks. With minor modification, instead of enumerating all possible sequences of legal multi-picks, only then evaluating and ranking them, one may enumerate decanting sequences one-at-a-time, using the greedy solution as an initial guess, then use standard optimization techniques such as branch and bound, heuristic methods, and even exhaustive search to explore the space of possible futures—at least until computation time expires, and it is necessary to select the best findable approximate solution. Note that exhaustive search is practical for small numbers of items, and even a reasonable solution for larger numbers of items when applied as a breadth-first method of approximation.
As described above, this optimization problem is NP-Hard. Approximation methods for determining an approximate solution are known in the art. In a preferred embodiment, approximation methods for determining an approximate solution are used in parallel. One identifies two computational methods: The first method is a variation on exhaustive search in which the tree of possible futures is enumerated in a breadth-first manner and explored to find solutions and rank them. In the second method, a series of heuristics, justified by off-line simulation and discovered by deep learning techniques, is used to rank the equivalence classes according to a weighted feature vector of properties of the equivalence classes. The method of justified heuristics is guaranteed to always find a solution in constant time. The search method is sometimes capable of outperforming the justified heuristics. Alternative methods will suggest themselves to persons skilled in the relevant arts.
Once the selection of an equivalence class is made, this selection suffices to divide the box-like items on the topmost layer into the items to be picked (those in the chosen equivalence class, which constitutes a legal pick, by construction) and items not to be picked. The robot's pick placement is computed as in all other cases via Loop #6, which completes the computations and actions necessary for the “Optimal Space Decanting” product.
First, all possible poses of the picking tool are divided into “legal” and “illegal” poses. See
A preferred method for ranking the ‘legal’ poses is to rank the legal poses by the value of their non-infinite, non-NaN convolutions. For the purposes of computational efficiency, ‘infinite’ in the sense used here, is interpreted as a very large integer such as M=2^30. The smaller the value, the better.
The procedure for this is as follows:
A) Separate the areas on the pallet into ‘pickable’ areas—which are subtended by a box-like item, or multiple box-like items desired to be picked, on the top layer of a configuration of box-like items—and-‘unpickable’ areas—which are subtended by undesired box-like items on the top layer of box-like items.
B) Create a ‘pallet’ matrix 904 representing the top layer of the pallet. Fill the area subtended by ‘pickable’ items 902 with a large number M. M=2^30 will suffice. M is effectively acting as infinity. Fill the area subtended by ‘unpickable’ items 903 with IEEE NaN.
C) Using techniques known to the art, perform a distance transform to fill the remaining interior of the pallet matrix with values representing the square of the distance from the nearest pickable area.
D) Create a ‘picking tool’ matrix with identical spatial resolution 900 representing the smaller of the face of a picking tool and the area of the tote to be filled. The perimeter of the picking tool matrix is filled with ‘1’s. The interior is filled with 0.
E) Perform a three-dimensional convolution of the picking tool matrix with the pallet matrix. This convolution suffices to fill a 3D array indexed by coordinates (h,v,a) where (h,v) are the horizontal coordinates of the center of the picking tool, and (a) is the rotation of the picking tool. Use standard IEEE 754 rules for combining numerical values with non-numerical values such as NaN. See
“Illegal” hypotheses are discarded from consideration. These are the hypotheses corresponding to values ≥M, or NaN values in the 3D array of convolution results. The ‘legal’ hypotheses, those corresponding to standard numerical values in the 3D array of convolution results, are divided into equivalence classes: the equivalence class containing no items whatsoever, and equivalence classes containing one or more of the desired box-like items. Discard all equivalence classes not containing all desired items. The items in the remaining equivalence class (which is guaranteed to exist) correspond to pick orientations which may be used to pick all selected items.
A preferred, aesthetically pleasing, method for ranking the items in the selected equivalence class is to rank them by their convolution values. Smaller is better. Other heuristic methods for ranking the pick poses may be applied depending on product specifications and customer criteria, and different selection heuristics can be programmed.
These selecting heuristic functions may vary. Some applications would prefer poses to evenly distribute the mass of boxes over the contact area of the pick tool, so the weight is balanced evenly, or centered. Others would prefer to push boxes to the edges of the pick tool. For example, an alignment heuristic will issue a score in the range of 0 to 1 representing how well-aligned the pick tool is to the set of picked boxes. The highest score represents a perfect alignment.
In some alternative embodiments of the present invention the at least one processor may be configured to subject the first plurality of ranked hypotheses to further cycles in which a second plurality of hypotheses is generated from the first set of ranked hypotheses, said second plurality of hypotheses being then ranked and selected from, potentially recursively.
An advantage of the present invention is that the present invention does not require information about a predetermined configuration of box-like objects, either to determine the configuration of boxes as presented to the system (for box-picking) or to determine the configuration of boxes to be stored in totes or other secondary storage systems (for decanting). This is a significant advantage in materials handling system which must deal with 10's of thousands of different items arranged in 10's of thousands of different configurations.
The approach disclosed herein uses a hybrid approach to vision-based artificial intelligence and statistical image processing in which the problems of detecting box-like items and measuring their locations are exposed as multidimensional optimization problems over maximum likelihood estimators using full-field geometry and appearance information from hybrid 2D/3D sensors and albedo-based lighting techniques. Information-theoretic surprisals from multiple independent sources of observations are computed, combined, and compared using likelihood maximization techniques offering the advantages of deep learning systems without the tedious training requirements and the unfortunate system opacity. The quantitative approach disclosed herein naturally exposes decision problems for grouping items for optimum path decanting as reducible to NP-Hard problems amenable to approximate solution via various annealing, backtracking, and exhaustive search methods.
An advantage of the Information Theoretic approach disclosed herein is that information from multiple sources, including, but not limited to Depth Perimeter Surprisal, Grayscale Perimeter Surprisal, Printed Pattern Surprisal, and Orthogonal Crease Surprisal, etc. (descriptions below) can be effectively weighted in the most efficient way possible through maximum likelihood estimation. The process functions by reducing all independent sources of information to commensurate “Surprisals” (information entropies) so that they may be directly compared, debugged, and visualized in a transparent, readily comprehensible fashion without requiring human-set ‘weighting’ “parameters” contrasted with ML approaches that often contain tens of thousands of weighting parameters, so many variables that the system becomes opaque.
The method and system herein disclosed offer an alternative to the limitations of the prior art in being:
highly robust: The surprisal-based information theoretic approach enables data fusion for maximum likelihood computations: such combination of information from multiple sources enables highly robust operation of systems constructed on the basis of the disclosed principles, such systems often function for hundreds of thousands of cycles without fault or human intervention.
consistent in operation: Multi-frequency albedo-based lighting techniques enable preferred embodiments of the disclosed system to be immune from variations in ambient lighting;
capable of decanting: The disclosed surprisal-based method for statistical scene parsing and approximation methods for NP-Hard optimizations enable time-and space-optimized decanting, a significant advance in the state of the art;
flexible: The maximum likelihood estimators disclosed herein typically require a single exemplar for training. Training duration is typically less than 100 milliseconds; as compared with training times of hours or days for typical Deep Learning systems;
transparent in operation: By reducing all observations to their information content as commensurate information-theoretic surprisals, which can be compared with one another in an intuitive fashion, the reasons for any decision made by the system can be directly visualized and understood by humans;
rotationally independent: All methods herein described are implemented to gather information for both variations in position, and orientation about the vertical axis. This method contrasts favorably with some prior art, which may fail when items are rotated away from a ‘standard’ presentation direction.
While exemplary embodiments are described above, it is not intended that these embodiments describe all possible forms of the invention. Rather, the words used in the specification are words of description rather than limitation, and it is understood that various changes may be made without departing from the spirit and scope of the invention. Additionally, the features of various implementing embodiments may be combined to form further embodiments of the invention.
This application is a continuation-in-part of U.S. applications Ser. No. 17/852,482, filed Jun. 29, 2022, which in turn, is a continuation of Ser. No. 17/141,593, filed Jan. 5, 2021 (now U.S. Pat, No. 11,436,753). This application is also a continuation-in-part of U.S. application Ser. Nos. 17/491,975; and 17/569,606, filed on Oct. 1, 2021; and Jan. 6, 2022, respectively, the disclosures of all of the above-noted applications are hereby incorporated in their entirety by reference herein. This application is related to the following applications filed on the same day as this application: METHOD AND SYTEM FOR MANIPULATING A TARGET ITEM SUPPORTED ON A SUBSTANTIALLY HORIZONTAL SUPORT STRUCTURE (Attorney Docket No. LRI 0120 PUS); METHOD AND SYSTEM FOR MANIPULATING A MULTITUDE OF TARGET ITEMS SUPPORTED ON A SUBSTANTIALLY HORIZONTAL SUPPORT SURFACE ONE AT A TIME (Attorney Docket No. LRI 0121 PUS); METHOD AND SYTEM FOR QUICKLY EMPTYING A PLURALITY OF ITEMS FROM A TARNSPORT STRUCTURE (Attorney Docket No. LRI 0123 PUS); METHOD AND SYSTEM FOR EFFICIENTLY PACKING A TRANSPORT CONTAINER WITH ITEMS PICKED FROM A TRANSPORT STRUCTURE (Attorney Docket No. LRI 0124 PUS); and METHOD AND SYSTEM FOR OPTIMIZING POSE OF A PICKING TOOL WITH RESPECT TO AN ITEM TO BE PICKED FROM A TRANSPORT STRUCTURE (Attorney Docket No. LRI 0125 PUS).
Number | Date | Country | |
---|---|---|---|
Parent | 17141593 | Jan 2021 | US |
Child | 17852482 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 17852482 | Jun 2022 | US |
Child | 18085307 | US | |
Parent | 17491975 | Oct 2021 | US |
Child | 17141593 | US | |
Parent | 17569606 | Jan 2022 | US |
Child | 17491975 | US |