Mass scanning and dimensioning system
A package information capture system that provides dimensioning information about, and machine readable codes from, packages passing across a data capture point either singulated or non-singulated. The resulting data can be used to determine, for example, package dimensions, package coordinates, dimension confidence, package classification, and content and coordinates of the machine readable code. The dimensioning information is correlated with the machine readable code to form one record. Subsequent processes can access the record from all or part of the captured machine readable information to retrieve package dimension information.
The present application claims priority to U.S. Provisional Patent Application Ser. No. 60/151,620, entitled Mass Scanning and Dimensioning System, filed on Aug. 31, 1999, which is incorporated herein by reference.
BACKGROUND OF THE INVENTIONThe present invention relates generally to methods and apparatus for determining characteristics of objects, such as packages, in transit.
SUMMARY OF THE INVENTIONAn object of the invention is to provide improved methods and apparatus for determining characteristics of objects, for example, packages, that are shipped from one location to another.
Additional objects and advantages of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The objects and advantages of the invention will be realized and attained by means of the methods, elements and combinations particularly pointed out in the appended claims.
To achieve the objects and in accordance with the purpose of the invention, as embodied and broadly described herein, the invention comprises an apparatus for capturing information about objects moving relative to the system. The system includes an object dimensioning system for producing object dimension information for each object, an object identification system for producing object identification information for each object, and a processor programmed to provide functions including correlating the object dimension information for each object to the object identification for each object.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
The accompanying drawings, which are incorporated in and constitute a part of this specification serve to explain the principles of the invention.
Reference will now be made in detail to the present embodiments of the invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers are used throughout the drawings to refer to the same or like parts.
The term “belt” as used in this disclosure is intended to encompass all package transportation mechanisms including conveyors, slides, and gravity rollers. In the following description “along the belt” means measurements in the direction of belt motion (i.e., in the longitudinal or x-direction of the belt's length). “Across the belt” means measurements perpendicular to the direction of belt motion (i.e., in the transverse or y-direction of belt width) as shown in
The MSDS dimensions and reads machine-readable codes on singulated, i.e., separated, and non-singulated, i.e., adjacent, packages on a mass flow belt 250. The belt moving under the scanner may be defined by a coordinate system where Y is the direction of belt travel, X is the direction across the belt, and Z is the vertical (height) direction. Devices that are able to process only objects that are passed single file in the Y direction, i.e., where no more than one object may be located at the same time along the X axis as the objects pass the processing point, the processing apparatus is limited to processing “singulated” objects. If any part of more than one object may be present in the X direction at a given time during processing of the objects, then the system is defined as capable of processing “non-singulated” objects. The ability to dimension non-singulated objects gives greater flexibility to the operation of the MSDS system, as this obviates the need to ensure that parcels are physically separated as they pass through the system. MSDS 280 consists of dimensioning and machine code capture modules. Information captured comprises, for example, object dimensions, object coordinates, dimension confidence, package type, time of capture, and the content and coordinates of the machine-readable code. MSDS 280 combines the above information as required by application-specific needs, which can be predefined or operator selected.
MSDS includes vertical laser radar scanners 200 to determine the height contour of packages flowing past the scanners along belt 250. The height contour is subsequently used to distinguish and dimension individual packages 260, to determine a dimensioning confidence, and to focus multiple bar code scanners 210. The scan data from laser radar scanners 200 can be integrated to provide the height contour across the conveyor belt 250.
Images from the laser radar scanners 200 are processed to synchronize the scans, sub-sample scan data according to regular belt intervals, remove the effects of scan curvature, and to develop a single co-linear scan from multiple scans taken from different, overlapping positions. Package height contours are subsequently processed to determine the boundaries of each package 260, from which its length, width, height and overall package shape are determined.
Bar code scanners 210 are used across the conveyor belt 250 to read bar codes 270 located on packages 260. Bar code scanning of multiple bar codes 270 can be performed across the belt simultaneously, including multiple bar codes on a single package. Since scanners 210 can be focused separately, MSDS 280 can read narrower bar code line widths over a wider range of package heights than can conventional fixed-focus systems. The bar code data scanned by bar code scanners 210 is associated with the package dimensioning information by correlating positional data produced by the bar code scanners 210 and the laser radar scanners 200.
The laser radar scanners 200 and the bar code scanners 210 of MSDS 280 obtain data to determine, for example, package dimensions, dimension confidence, package count, package rate, belt speed, and distribution of package sizes and types. This data can be used for appropriately billing packages 260 according to their dimensions (dimensional weight), and to improve package processing operations within and between delivery facilities by optimizing conveyor belt utilization and personnel requirements, and by optimizing loading of containers, trucks and aircraft. The collected and determined data can also be used to control robotics for automated labeling, marking, and diverting of non-singulated packages.
Each laser radar scanner 200 is positioned ahead of the bar code scanners 210, because the height scan information obtained from the laser radar scanners 200 is preferably computed and used by the bar code scanners 210 for focusing the scanning beams 240. Laser beams emanating from laser radar scanners 200 result in curved scans 230 and the scanners are positioned so that the scans overlap across belt 250. In that way there is complete scan coverage across the belt by the laser scanners 200. Bar code scanners 210 are arranged across the belt 250 to project a total of, for example, 12 pairs of intersecting “X” patterns of scanning beams 240 on belt 250, thereby reading bar codes 270 across multiple “zones.” In this way there is complete coverage of belt 250 by bar code scanners 210.
At step 100, laser radar scanner 200 perform height scans on packages passing beneath them. Bowed scan lines 230 are projected onto packages 260, resulting in energy being reflected from the surfaces of packages 260. The reflected beams are received by the laser dimensioner scanners 200, which produce data representative of the bowed scan lines.
At step 110, the bowed scan lines are processed to produce straight line scan data. The straight line scan data includes, for example, the height of the portion of the scanned package. The straight line scan data is used at step 120 to determine the outline of the scanned package and at step 130 to calculate focus values for bar code scanners 210. The focus values are sent to bar code scanners 210 at step 140, which perform bar code scans at step 150. The timing for the bar code scans is selected in accordance with the distance between laser radar scanner 200 and bar code scanners 210 along the belt 250 and the speed of belt 250.
The package outline data calculated at step 120 is used to classify and dimension the packages 260 at step 160. The classified and dimensioned package data is correlated with the bar code 270 associated with its package 260 at step 180. The correlation is performed in accordance with the bar code position data, in the form of bar code coordinates produced at step 170. Following the correlation of step 180, the data is forwarded at step 190 to applications for use and further processing of the data.
For scanning non-singulated packages, use of vertical scan beams 300 is important to avoid the “shadowing” effect that can occur when a tall parcel hides a nearby shorter package when the scanning beam is at an angle from the vertical. The use of vertical scan beams 300 is also important for accurate package dimensioning over a range of package heights. When multiple laser radar scanners 200 are used to cover differently sized belts, each beam should be perpendicular to belt 250 in the x- and y-directions. The MSDS dimensioning scanner mounts (not shown) provide two-axis tilt adjustment to achieve precise laser alignment to achieve such perpendicularity.
As conveyor belt 250 advances, the MSDS processor 290 constructs a contour map of package height profiles using the data from laser radar scanners 200, and uses image processing algorithms to identify and measure the individual packages. Because parabolic mirror 320 is curved, the package images appear distorted. This distortion differs at different positions across parabolic mirror 320. Consequently, a given package 260 appears differently depending on which portion of mirror 320 it passes beneath. This curvature is removed through geometric image processing so that subsequent shape and size determination algorithms are independent of the position of a package 260 on belt 250.
MSDS processor 290 running curvature removal algorithm 400 removes the scan curvature by selecting data from a circular buffer (not shown in
The process of taking curved scan bows 230 from laser radar scanners 200 to produce a single stream of straight line data with a uniform sample size for purposes of this description is called “rectification.” One method of rectifying curved data is performed as follows. A record of the belt position for each scan bow 230 produced by each laser radar scanner 200 is stored within the scanner 200. Transformation of the curved data into linear data uses the recorded location for the bow 230 stored in each scanner 200. For each pixel of straight line data to be calculated, the algorithm searches recent scan bows 230 to find the measurements that most closely bound the point to be reported. The pixels that result from the search are averaged using the proximity to the target point as a weighting value. The resulting weighted data is used to linearize the bow scan data.
Alternatively, instead of recording the belt position in the laser radar scanner 200, the belt position can be recorded in processor 290 (not shown in
In calculating the rectification, if the assumption of equally spaced scan bows is not made, an interpolation between available scan bows can be performed in order to provide data at different resolutions. Fewer scan bows will lower the precision of the measurement. However, the use of fewer scan bows will permit belt 250 to move more quickly (i.e., the use of interpolated data permits the system to trade off between high precision versus belt speed).
The straight-line data from curvature removal algorithm 400 is presented to a package outliner algorithm 410 and a calculate focus algorithm 420, which determine the perimeter coordinates for each package 260 and compute the focus heights for each of the bar code scanners 210, respectively. The perimeter coordinates are sent to a classifier and dimensioner algorithm 430, which computes package dimensions and establishes which package type is associated with the perimeter data. The bar code data is decoded by bar code decoder algorithm 470. The decoded bar codes are correlated with the package perimeter data in a bar code-to-package correlation algorithm 460, and the final dimension records are sent to a mainframe computer. A belt encoder 295 tracks belt motion for use by curvature removal algorithm 400 and bar code decoder algorithm 470.
A new height segment is created if the height of the new pixel differs from the previous pixel height by an amount exceeding a specified threshold. When parcels are singulated, new height segments are created as soon as the parcel boundary is determined and the height value of the pixel is greater than zero (i.e., the height of the conveyor belt). When packages are non-singulated, i.e., adjacent, new height segments are created due to the difference in package heights.
Height segments are represented by data structures that include the Y-position (indicated by the value representing the distance from belt encoder 295 at the time and position the height sample was taken), X-position (indicated by the pixel number of the height sample), and height value of each pixel included in the segment. Height segments are subsequently collected into height segment groups, which are dynamically linked lists of height segments.
The result of the circumnavigation algorithm is reduced to three-dimensional perimeter point coordinates. Again, this data is stored as a dynamically linked list.
The pixel neighborhood rules used above to determine whether a pixel should be included in a line generally yields a number of short line segments, representing one side of a rectangular box.
The resulting classified package definitions of a package 260 are stored in package data buffer 440 along with the position and dimensions of package 260.
Once the data defining the scanned properties of a package are determined, MSDS 280 processes the resulting dimensions to assess the quality of the resulting data. The factor used to assess the quality of the data is called dimensional confidence, which is a determination of the “goodness” of the object measurement and model fit. For every object processed by MSDS 280 the dimensional confidence factor is calculated. The components of dimensional confidence are individual confidence values for the length, width, height and a model fit value. Dimensional confidence can be reported as the individual values or as an aggregate of all of the values. Length, width and height dimensional confidence values define how well the captured points for the length, width and height values of the scanned package fit to a straight line.
Model fit describes how well an object fits a pre-defined parcel definition. This would be performed, for example, by determining how well a package classified as cuboidal meets the definition of a cuboidal package. A parcel is recognized as cuboidal if it has sides that are straight, parallel, even, and bisections of the package through opposing corners produces bisections of equal length.
The fit of a package to the cuboidal definition is performed by determining if the package values are within a predefined error of the requisite definitions. The straightness of the sides that define the scanned package are determined by calculating the root mean square distance of the points that comprise the edge of the parcel onto a fit line. The value of the least square distance defines the accuracy of the scanned values to the fit line. A determination of “parallelness” of the sides is determined by calculating the angle of opposing sides with respect to each other. The evenness of the sides is determined by comparing the lengths of opposing sides. Finally, bisection of the package is determined by connecting the opposing corners of the packages and determining the lengths of the resulting lines. All of the resulting values must fall within a configurable threshold in order to provide an acceptable classification of the package.
Parallel to the process of determining the dimensions of packages 260 using laser radar scanners 200, as shown in
Each of the bar code scanners 210 scanning for across a belt 250 is independently focused using height profile data across the belt in the vicinity of the associated scanner 210, as determined upstream by the laser radar scanner 200. Because the bar code scan beam is not projected vertically, the actual focusing depth-of-field is greater than a single package height. This is taken into account in the calculate focus algorithm 420, such that a single scanner 210 can determine data from a range of package heights.
Along with the collection of bar code data from a package, MSDS 280 correlates the collected data with the package data derived from laser radar scanners 200. In order to determine the three-dimensional position of a bar code 270, MSDS determines the instantaneous projection of the bar code laser scan when a bar code 270 is detected and read. To make this possible, the three-dimensional ray trace of the bar code scanners 210 has been characterized by calibrating the bar code scanners 210, as described below. Each bar code scanner 210 reports the position of its scan motor when a bar code 210 is read. That information is used to establish the scan ray angle. The bar code position is computed as the intersection of the scan ray and the height profile landscape.
Once bar code data identifying a package is correlated with the dimensional data produced by laser radar scanners 200, the data can be used for billing packages 260 according to their dimensions (dimensional weight), to improve package processing operations within and between facilities by optimizing conveyor belt utilization and personnel requirements, and by optimized loading of containers onto trucks, trains and aircraft. MSDS data can also be used to control robotics for automated labeling, marking and diverting of non-singulated packages.
As explained above, MSDS 280 comprises several components capturing different categories of information about the packages 260 being processed. The two main categories of information are package dimensions and machine-readable codes. For proper package processing, the two types of data should be associated with each other. FIGS. A and 15B respectively show examples in which the two categories of information are properly correlated and improperly correlated.
In order for the machine-readable code information and the package dimension information to be properly correlated, it is necessary to calibrate MSDS 280 after installation. The calibration builds a computer model of the characteristics of the system, which are used to translate from actual readings to idealized readings which are perfectly straight and consistent. A number of effects are measured and corrected, including encoder position, height offset, facet correction, bow correction, machine-readable code placement, and the matching of laser radar scanner position data and bar code scanner position data. The scanning elements of MSDS 280 are calibrated in order to ensure that the measured data received corresponds within the tolerances of the information scanned.
In order to correctly determine the position of an package 260 along conveyor belt 250, an encoder 295 is calibrated. Position is determined by belt motion, which is measured by a shaft encoder 295 connected to a roller on conveyor belt 250. When belt 250 moves the roller turns and shaft encoder 295 turns with it. For each small angle of motion in shaft encoder 295 an electrical pulse is produced which is counted inside the processor 290. How these pulses correspond to belt motion depends on the construction of encoder 295 and the radius of the roller where it is connected.
Calibration of encoder 295 can be performed, for example, by connecting a piece of masking tape across the edge of conveyor belt 250 and onto the tray (not shown) over which it slides. The tape is cut so that one part will stay on the belt while the other remains fixed to the tray. At this time the count of encoder pulses is set to zero. The belt is moved forward 10 or 15 feet and stopped. The number of pulses is recorded and the distance between the two pieces of tape is recorded. The result of encoder calibration is the number of pulses per inch, which is calculated by dividing the measured number of pulses by the measured inches.
A second element of MSDS 280 that requires calibration is laser radar scanner 200. Laser radar scanners 200 are calibrated, for example, for three values: height offset, facet correction and bow correction.
There are two sources of correctable errors in height measurements. One is the physical placement of each laser radar scanner 200 within the whole MSDS system 280. Each MSDS has one or more scanners which are mounted independently. The other source of error is a consistent difference in height for different pixels within each scan line 230. This is especially true close to the scan edges.
The height correction is made by scanning a flat board stationarily fixed on the belt. Several thousand scan bows are collected and the heights at each pixel position are averaged. For each pixel position across a scan bow the corrected height can be determined using the equation:
hc=hm−ha+hb
Wherein hc is the corrected height, hm is the measured height, ha is the average height measured from the board, and hb is the height of the calibration board. The resulting corrected height is used as the offset for height measurements.
The second calibration performed on a laser radar scanner 200 is facet correction. Spinning polygonal mirror 340 shown in
Facet calibration board 630 is scanned in the intensity mode by laser radar scanner 200, resulting in white to black signal intensity transitions. The transition is the point where intensity crosses the average between the white and black regions. The exact point may be between pixels according to the following formula:
transition=L+(Ia−L)/(L−R)
where L is the intensity of the pixel to the left of the transition, R is the intensity of the pixel to the right of the transition and Ia is the average pixel intensity.
Facet correction values are calculated by subtracting the lowest transition values from all of the transitions. Typical values range from 0 to 3 pixels. To correct scan data this correction value is added to the reported pixel index. Fractions are evaluated by taking an average of the two nearest pixels weighted by their proximity to the desired index.
corrected pixel (index)=raw pixel (index+correction value)
The final calibration of laser radar scanners 200 involves correcting for differences in the scanning bow 230 of scanners 200. The bow correction deals with placement of the laser radar scanners 200 and differences between their associated mirrors 320. It also provides straight scan data for processing by parcel recognition algorithms.
In order to perform the bow correction, the position of a pixel across belt 250 is determined by measuring the distance down belt 250 between thick horizontal strip 660 and narrow diagonal strip 670. The slope on the diagonal strip 670 with respect to horizontal strip 660 has a ratio of 1:2 so the cross-belt distance from the vertex is simply twice the down-belt distance between the strips. The distance down belt 250 is known directly from the shaft encoder 295 connected to the conveyor belt 250 itself. Encoder 295 is read for every scan bow 230 as it is captured. The position of a laser radar scanner pixel down belt 250 is the same as the transition from black to white for thick black strip 660. These positions are relative to the vertex point 665 of the strips 660, 670 of the calibration board 650.
The bar code scanners 210 must also be calibrated. In order to correctly associate bar codes 270 with packages 260 the bar code locations are needed. The position of a bar code scanned by a bar code scanner 210 is determined using the angle of the scanning laser at the center of the bar code and a position determined by the encoder 295 at the time of the scan. The angle of the scanning laser is used to determine the relative position (“Relpos”) of the center of the bar code 270 with respect to the scanner 210.
In order to calculate correct bar code placement from these observations it is necessary to know the path of the read lasers that produce scan lines 240 and how that path relates to Relpos. This is determined by scanning a large board with many bar codes placed in known locations. An exemplary board 730 is shown in
Each of the bar codes 270 is unique and board 730 is built with each bar code 270 in a precise location. This means that for every read in the calibration pass each bar code's actual location is known relative to all of the others. Two distinct reads for a scan line 240 define a line through which the read laser passes. The relationship between Relpos and this line is assumed to be linear, which is a good approximation when the scan angle is small. This scan line and the relationship between location on the line and Relpos is calculated at two heights based on the calibration board 730 being run twice.
To ensure a good calibration at least three reads per leg are required at both heights. The best fit lines are calculated and root-mean-square error calculated for the fit. If the RMS error exceeds an application-specific threshold of accuracy for any leg, the calibration is rejected and must be repeated. Typically the threshold will range from ¼ ″ to 1″.
All of the above provides a model for placing a bar code 270 on a ray beginning at the bar code scanner 210. The correct parcel 260 is found by walking along the ray out from the bar code scanner 210 looking for a collision with height above the belt 250. This height profile is provided by the laser radar scanners 200. The first collision is the parcel 260 labeled with the bar code 270 and the location of the collision is the three dimensional (3D) location of the bar code 270.
The calibrations for laser radar scanners 200 and bar code scanners 210 each produce their own coordinate systems. The origin of laser radar scanner 200 is at the vertex 665 of the bow correction board 650 while the bar code origin is centered on a specific bar code. A single unified coordinate system for the MSDS 280 as a whole is provided by scanning a special box known as the “brick.” This box has a single bar code in the center. Several scans are averaged and the final coordinates are based on the resulting position determination of the bar code on the surface of the brick.
MSDS 280 enables the production of a great deal of information about the items scanned. The data capture is driven by application requirements and can be configured independently. It is configurable by category, allowing for category-specific limits. The following are categories of data that can be determined and presented to a user by MSDS 280. As discussed above, the dimensions of a package are determined by processor 290 using the data produced laser radar scanners 200. The same data in conjunction with data from belt encoder 295 is used to provide a location of the package coordinates within system defined coordinate system.
The data output from bar code scanner 210 can also be used to provide important information about a package 260. The location of machine readable code within system defined coordinate system may be determined. Further, the machine-readable code itself provides information that includes at a minimum a package identification number. It will, in most cases, in addition, include portions or all of a package destination address, service, and handling. Because more than one bar code might be located on a single package, the total number of machine-readable symbologies found within a package outline can be determined.
Placement of the MSDS systems is also an important consideration in the setup of such systems. By placing the MSDS 280 relative to the package induction belts (the belts that bring the packages into a facility) information capture coverage is ensured for the entire facility. The number of packages that enter the facility via an induction belt having an MSDS 280 can thereby be determined. The number of packages that enter the facility grouped by target package categories or total package volume can also be determined. These values are calculated by adding all individual capture-points within facility.
The total number of packages and volume of the packages by intra-facility sort location can also be determined. This requires the machine-readable codes to be captured from each package 260 since this will decide to which sort location within the facility the package will be sent.
If complete capture of the machine-readable code is not feasible, the total flow to intra-facility sort locations can be estimated from read packages. The sort-location of records where the machine-readable symbol is not captured will be assumed to follow a normal distribution. To estimate volume impact of records where dimensions were not captured is more complicated. First, it must be determined if any limit has been established for capture of dimensions. If such a limit exists it can be assumed it will bias the population of records. In most cases, a physical inspection of the package flow will be required to determine average attributes of the packages. If the MSDS capture point is located significantly away from the individual sort locations, the volumetric information at each sort location can be access through the network. This can be driven by a secondary capture of the machine-readable code followed by a database lookup of the record. It can also be estimated from belt speed and final intra-facility destination of the individual package if this can be derived from the machine-readable code. There may be cases where the capture of MSDS information occurs in a totally separate facility for use by other facilities.
Manning requirements at manual intra-facility sort locations can also be estimated based on the flow parameters described above. The average capacity of a manual package handler will then be used determine how many handlers are required at each location to contend with the volume of packages to be processed at that location.
The data produced by MSDS 280 can also be used to determine belt utilization. Belt utilization is a calculation of the relative amount of space on a belt 250 used by packages 260. In a facility that depends on conveyor belts to transport packages, belt coverage is a measure of facility capacity, i.e., belt coverage indicates how much productive belt space is available, given the size of packages conveyed. It can be calculated by dividing the total package outline area by available conveyable belt area over a target region. To account for parameters such as the variety of package shapes and operator belt-loading patterns, an efficiency factor can be incorporated in the calculation.
Intra-facility flow modeling can also be performed. The captured data allow for extensive analysis of flow patterns within the facility and can be used to enhance overall facility effectiveness. The same benefits can be realized for a target portion of total package population by installation at central locations within the facility.
Using the inter-facility load analysis, package movement optimization can be performed. The captured information allows for selection of the optimal downstream facility for the processing of packages in transit. The proximity to each downstream facility is weighted against individual facility capacity and characteristics of inbound package flow. As shown in
Inter-facility package flow data can also be used to optimize package movement equipment loading between each facility. This is slightly different than the intra-facility optimization described above. Instead of examining the loading of one container at a time, the optimization of package movement analyses overall package movement and available resources at each node from origin to destination. Supplementing this information stream with package physical weight data further enhances the ability to optimize package-moving resources. As shown in
Once an MSDS 280 is in operation, periodic checks of the accuracy of the information gathered by the system may be performed.
Maximum and minimum sets of allowable ranges of actual length, width, and height of each target package group are then determined (step 820). In step 830, the system determines if the package target group has a machine readable identifier (e.g., a bar code). If a machine readable code is available, the MSDS records corresponding to the target group are accessed (step 860). However, if no machine-readable code is available, and if the MSDS record falls within the allowable range of actual length, width, and height it will be selected as a member of the corresponding target package group (step 840). After an MSDS record is selected, the standard deviation and mean of the selected data is calculated (step 850). The standard deviation and mean provide a measurement of the accuracy of the MSDS system. If the mean calculated from the system's captured values deviates from the standard mean, and standard deviation remains low, it can be assumed that the system is no longer operating at peak performance. The method does assuming a normal distribution.
The use of known box sizes in the process of
As discussed above, the MSDS system is designed to capture both dimension and machine readable code information from every object that passes through each MSDS apparatus. Because one of dimension or machine readable code information may not be successfully determined for every object, the system must contend with situations where information capture fails.
For example, when the system is able to capture only dimension information, the system will not have available to it the machine readable code information for that object. The bar code information may be, for example, damaged, missing, misoriented, not on the correct side of the parcel or package, or errors may occur in the reading of the bar code itself such as where the symbology used was not correctly recognized. In this case the system may store the dimensions of the object along with a date/time stamp correlating the dimension capture to the position in time at which the capture occurred. The information that was captured may be used for some of the processes, such as to determine belt coverage at downstream locations based on belt speed. Further, by applying heuristics to the no-read data, an estimate of the likely effect to the operation of the sorting/processing equipment following a split in the belt or other transfer of the object to a separate object processing location/device. The historical data is used to estimate the likely future position of the object during the processing of the object.
Another problem that the MSDS may be designed to contend with is where the machine readable code is captured, however, dimension information is not properly captured. This may occur, for example, where the height of the object being dimensioned is lower than the minimum capture height for the dimensioning device. No dimension information about the object, therefore, is available. A reasonable assumption that may be made where no height information about the object is captured is that the height of the object is below the threshold of the dimensioning device. Further, the machine readable code of the object may be parsed to determine the type of packaging used and the dimensions of the package (based on the assumption that the object is a parcel or package of known dimension). If the packaging type is undetermined (e.g., customer supplied) heuristics may again be used to estimate the impact on operations of the object having unknown dimensions.
A determination of relative MSDS accuracy can be performed by processing packages through more then one MSDS unit. If a package identifier is found to have been captured by more then one MSDS, the relative accuracy of each system can be calculated by comparing the determined values of one MSDS against another. This is done by first determining allowable differences between the two (or more) systems for each dimension, and querying for records that exceed that limit. As shown in
An exemplary user interface called “RemoteOp” for use in displaying the data collected by an MSDS 280 is shown in
Using the dimensional information captured by laser bar code scanners 200 in conjunction with package identification information captured by bar code scanners 210, a customer can be billed for the dimensional weight equivalent of an object. Dimensional weight equivalent charges a customer for the volume displaced by the object rather than by its physical weight. The value of the weight equivalent is calculated by dividing volume by a density factor. The resulting number is referred to as “Dim Weight”. Only the dimensions and the density factor are required to calculate the dim weight, while a package identifier is required in addition to bill a client based on dim weight.
Further uses of the information captured by the system include the use of a 3D profile of each object processed combined with record-specific destination information control package diverting systems, package re-labeling systems, and other package flow control systems that benefit from knowing parameters such as piece count, belt coverage and volume of approaching belt load.
It will be apparent to those skilled in the art that various modifications and variations can be made in the art of package handling of the present invention and in construction of this package handling system without departing from the scope or spirit of the invention. Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.
Claims
1. An apparatus for capturing information about objects moving in a non-singulated flow comprising:
- an object dimensioning system for distinguishing the non-singulated objects using a height contour of the non-singulated objects and producing object dimension information for each distinguished object, wherein the object dimension information includes a plurality of dimensions for characterizing an object shape, and further producing dimensioning confidence information relating to a quality of the determined dimension information;
- an object identification system for producing object identification information for each object; and
- a processor for providing functions including correlating the object dimension information for each object to the object identification for each object.
2. The apparatus of claim 1, wherein non-singulated objects are objects in contact with each other.
3. The apparatus of claim 1, wherein the processor includes a program for correlating object dimension information and object identification information.
4. The apparatus of claim 1, wherein the objects are parcels.
5. The apparatus of claim 1, wherein the object dimension information and object identification information have time stamp information associated therewith.
6. The apparatus of claim 1, wherein the processor correlates the object dimension information and the object identification information based on the position of the machine readable code associated with the object identification information.
7. The apparatus of claim 1, wherein the object identification system comprises at least one bar code scanner.
8. The apparatus of claim 7, wherein object dimension information associated with an object is correlated to object identification information associated with the same object using information about a scan pattern produced by the laser radar scanner.
9. The apparatus of claim 1, wherein the object dimensioning system comprises at least one dimensioning device.
10. The apparatus of claim 9, wherein the at least one dimensioning device is a vertical height scanner operating by using a beam reflected from a top surface of each object.
11. The apparatus of claim 10, wherein the beam is one of a laser, microwave, sound wave, and radio wave.
12. The apparatus of claim 10, wherein the beam is radiant energy.
13. The apparatus of claim 9, wherein the at least one vertical height scanner includes a laser generator for generating a laser beam, a curved mirror for reflecting the laser beam generated by the laser generator and for projecting the laser beam in a curved pattern onto a surface of each object, and a reflection sensor for sensing the reflection of the laser beam from the surface of the object and for producing a reflection information signal.
14. The apparatus of claim 13, wherein the processing functions of the processor includes receiving the reflection information signal from the reflection sensor and for removing a curvature from the reflection information signal to produce linearized information.
15. The apparatus of claim 13, wherein the reflection information signal is translatable into intensity and position information.
16. The apparatus of claim 1, wherein the object identification system comprises at least one bar code scanner and wherein information from the object dimension system is used to set a focus of at least one bar code scanner.
17. The apparatus of claim 1, wherein the object identification system includes at least one bar code scanner or bar code scanner element, and wherein the processor is programmed to calculate a focus for at least one bar code scanner or at least one bar code scanner element based on object height information received from the object dimension system.
18. The apparatus of claim 1, wherein the processor includes a program for determining an object classification for each object based on the object dimension information received from the object dimension system.
19. The apparatus of claim 1, wherein the processor includes a program for producing a sorting signal for each object in order to control sorting of the object based on the object identification information for the object.
20. The apparatus of claim 19, wherein the object identification information identifies a destination of an object.
21. The apparatus of claim 1, wherein the processor includes a program for producing a sorting signal for each object in order to control sorting of the object based on object dimension information for the object.
22. The apparatus of claim 1, wherein the processor includes a program for producing a sorting signal for each object in order to control sorting of the object based on object dimension information and object identification information for the object.
23. Apparatus for capturing information about objects moving in a non-singulated flow comprising:
- means for distinguishing the non-singulated objects and producing object dimension information for each distinguished object, wherein the object dimension information includes a plurality of dimensions for characterizing an object shape;
- means for determining a dimensioning confidence, wherein the dimensioning confidence relates to a quality of the determined dimension information;
- means for producing object identification information for each object; and
- means for correlating the object dimension information for each object to the object identification for each object.
24. An apparatus for capturing information about objects moving in a non-singulated flow comprising:
- means for obtaining height contours of the non-singulated objects;
- identification means for producing object identification information for each object; and
- processing means for: distinguishing the non-singulated objects using the height contours, determining dimension information for each distinguished object, the dimension information including a plurality of dimensions that characterize an object shape, determining a dimensioning confidence, wherein the dimensioning confidence relates to a quality of the determined dimension information, and correlating the dimension information for each object to the object identification for each object.
25. The apparatus of claim 24, wherein the processing means determines an object outline for each object based on the object height contours, and wherein the processing means determines the dimension information using the object outlines.
26. An apparatus for capturing information about objects moving in a non-singulated flow comprising:
- means for obtaining height contours of the non-singulated objects;
- identification means for producing object identification information for each object;
- means for determining a dimensioning confidence, wherein the dimensioning confidence relates to a quality of the determined dimension information; and
- processing means for: distinguishing the non-singulated objects using the height contours, determining dimension information for each distinguished object, the dimension information including a plurality of dimensions that characterize an object shape, correlating the dimension information for each object to the object identification for each object.
27. The apparatus of claim 26, wherein the dimensioning confidence includes information reflecting a correspondence of each object to a predetermined object definition.
4992649 | February 12, 1991 | Mampe et al. |
5237163 | August 17, 1993 | Collins, Jr. et al. |
5253302 | October 12, 1993 | Massen |
5291564 | March 1, 1994 | Shah et al. |
5373561 | December 13, 1994 | Haber et al. |
5402364 | March 28, 1995 | Kitoh et al. |
5414647 | May 9, 1995 | Ebenstein et al. |
5448078 | September 5, 1995 | Nakazawa |
5719678 | February 17, 1998 | Reynolds et al. |
5737438 | April 7, 1998 | Zlotnick et al. |
5757286 | May 26, 1998 | Jonsson et al. |
5769640 | June 23, 1998 | Jacobus et al. |
5770841 | June 23, 1998 | Moed et al. |
5815274 | September 29, 1998 | Dlugos |
5848188 | December 8, 1998 | Shibata et al. |
5923017 | July 13, 1999 | Bjorner et al. |
5969823 | October 19, 1999 | Wurz et al. |
6169978 | January 2, 2001 | Lutz et al. |
6189702 | February 20, 2001 | Bonnet |
6311892 | November 6, 2001 | O'Callaghan et al. |
6349292 | February 19, 2002 | Sutherland et al. |
6360947 | March 26, 2002 | Knowles et al. |
6517004 | February 11, 2003 | Good et al. |
6609117 | August 19, 2003 | Sutherland et al. |
6889194 | May 3, 2005 | Kadaba |
6976007 | December 13, 2005 | Boucher et al. |
197 38 849 | November 1998 | DE |
0 450 212 | October 1991 | EP |
0 582 964 | February 1994 | EP |
0 672 993 | September 1995 | EP |
0 833 270 | April 1998 | EP |
WO 97/40342 | October 1997 | WO |
WO 99/49411 | September 1999 | WO |
- Lawrence J. Curran, “Machine Vision and Barcode Inspection Idenify Fast-Moving Parcels”, Vision Systems Design, Sep. 1998, pp. 41-47.
- News Release, dated Sep. 2, 1997 from Adaptive Optics Associates, Inc., titled “Adaptive Optics Wins FedEx Package Dimensioning Systems Contact”.
- Logistics Technology News, dated Sep. 12, 1997, vol. 2, No. 15, titled “FedEx Rolls Out Dimensioning System Based on Machine Vision.”
Type: Grant
Filed: Aug 29, 2000
Date of Patent: Jan 9, 2007
Inventors: Brett Bonner (Germantown, TN), Ole-Petter Skaaksrud (Germantown, TN), Cameron Dryden (W. Roxbury, MA), Andy Jankevics (Westford, MA), Steve Tubbs (Cambridge, MA), Mark Chirstiansen (Belmont, MA)
Primary Examiner: Richard A. Rosenberger
Attorney: Finnegan, Henderson, Farabow, Garrett & Dunner, L.L.P.
Application Number: 09/649,609
International Classification: G01B 11/04 (20060101);