A method for measuring the range to multiple points on a surface by projecting a line of light onto the surface, imaging said line of light onto a photodetector, computing the centroid of said line of light, computing quality factors for each computed centroid and encoding the quality factors as one or more bits in the centroid value, transmitting said centroid value to a data receiver, and computing the range to the surface for each point corresponding to each centroid value.
|
1. A method for measuring dimensions of an object, the method comprising the following steps:
a) providing a sensor head having a laser line generator and a photodetector;
b) projecting a line of laser light from said generator onto the object;
c) detecting with said photodetector an image of said line reflected from the object;
d) for each of a plurality of points in said image:
i. generating a centroid;
ii. generating a quality factor for said centroid, wherein said quality factor is indicative of a quality of said centroid; and
iii. encoding said centroid and said quality factor in a centroid value;
e) transmitting said centroid values from said sensor head;
f) receiving said centroid values;
g) decoding said centroid values into said centroids and said quality factors;
h) comparing said quality factors to quality criteria;
i) selecting from said centroids one or more selected centroids based on the comparison;
j) for each selected centroid computing a range to the object.
23. A method for measuring dimensions of an object, the method comprising the following steps:
a) providing a sensor head having a laser line generator and a photodetector;
b) projecting a line of laser light from said generator onto the object;
c) detecting with said photodetector an image of said line reflected from the object;
d) for each of a plurality of points in said image:
i. generating a centroid;
ii. generating a quality factor for said centroid, wherein said quality factor is indicative of a quality of said centroid; and
iii. encoding said centroid and said quality factor in a centroid value;
e) transmitting said centroid values from said sensor head;
f) receiving said centroid values;
g) decoding said centroid values into said centroids and said quality factors;
h) comparing said quality factors to quality criteria;
i) for each centroid computing a range to the object; and
j) displaying a graphic representation of one or more of said ranges, said centroids, and said quality factors.
33. A method for optimizing exposure in a laser triangulation system, the method comprising the following steps:
a) providing a sensor head having a laser line generator and a photodetector;
b) projecting a line of laser light from said generator onto the object;
c) detecting with said photodetector an image of said line reflected from the object;
d) for each of a plurality of points in said image:
i. generating a centroid;
ii. generating a quality factor for said centroid, wherein said quality factor is indicative of a quality of said centroid; and
iii. encoding said centroid and said quality factor in a centroid value;
e) transmitting said centroid values from said sensor head;
f) receiving said centroid values;
g) decoding said centroid values into said centroids and said quality factors;
h) comparing said quality factors to quality criteria;
i) varying one of a power of said line of laser light and an exposure of said image in response to said comparison of said quality factors to said quality criteria.
11. A method for measuring dimensions of an object, the method comprising the following steps:
a) providing a sensor head having a laser line generator and a photodetector;
b) projecting onto the object a first line of laser light;
c) detecting a first image of said first line reflected from the object;
d) projecting onto the object a second line of laser light;
e) detecting a second image of said second line reflected from the object;
wherein said first and second images are reflected from substantially the same portion of the object;
f) for each of a plurality of points in said first image:
i) generating a first centroid;
ii) generating a first quality factor for said first centroid, wherein said first quality factor is indicative of a quality of said first centroid;
iii) encoding said first centroid and said first quality factor in a first centroid value;
g) for each of a plurality of points in said second image:
i) generating a second centroid;
ii) generating a second quality factor for said second centroid, wherein said second quality factor is indicative of a quality of said second centroid;
iii) encoding said second centroid and said second quality factor in a second centroid value;
wherein each one of said plurality of points in said first image corresponds to one of said plurality of points in said second image, such that each of said first centroid values corresponds to one of said second centroid values;
h) transmitting said first and second centroid values from said sensor head;
i) receiving said first and second centroid values;
j) decoding said first and second centroid values into said first and second centroids and said first and second quality factors;
k) comparing said first quality factors to said second quality factors;
l) selecting from said centroids one or more selected centroids based on the comparison of said quality factors;
m) for each selected centroid computing a range to the object.
2. The method according to
4. The method according to
5. The method according to
6. The method according to
7. The method according to
8. The method according to
9. The method according to
10. The method according to
12. The method according to
13. The method according to
14. The method according to
15. The method according to
16. The method according to
17. The method according to
18. The method according to
19. The method according to
20. The method according to
21. The method according to
22. The method according to
24. The method according to
25. The method according to
26. The method according to
27. The method according to
28. The method according to
29. The method according to
30. The method according to
31. The method according to
32. The method according to
34. The method according to
35. The method according to
36. The method according to
37. The method according to
38. The method according to
39. The method according to
40. The method according to
41. The method according to
42. The method according to
|
This application claims the benefit of previously filed Oct. 24, 2003, Provisional Patent Application No. 60/513,554.
The present invention relates to techniques to improve the quality of measurements made with laser triangulation sensors.
The first technique adds quality factors to each data point at the time of acquisition and uses these quality factors to adjust real time operating settings. These quality factors can also be used in later processing operations to select high quality data from the complete data set.
A laser triangulation sensor provides dimensional information about an object placed in the path of a sheet of laser light.
Referring to
The laser light sheet 20 and the camera axis form two sides of a triangle, the third being the baseline 60 between the laser and the camera—hence the term Triangulation Sensor.
The laser sheet 20 may be formed by rapidly translating a single spot with a moving mirror, or using cylindrical optics in the laser path to spread the beam in one direction to form a line. The first, dynamic system, has the advantage of high incident laser power in a single spot, but suffers form mechanical complexity, whereas the seconds static configuration, has no moving parts but can suffer from lack of incident laser power as the beam is spread over a long line and the inability to dynamically modify the intensity of laser power along the laser line.
In either configuration, the camera image of the laser on each video line comprises an intensity profile typically having a base width of 6 to 20 pixels and a height of ⅓ to full scale. The centroid of this intensity profile is the ‘x’ value of the x,y coordinate, the ‘y’ value is the number of the video line on which we are operating on. Numerous techniques exist for calculating the centroid of the laser line, including simple ½ threshold, multiple thresholds, area calculation and differentiation followed by zero crossing detection.
In all cases, some or all of the following conditions regarding the form of the pulse are assumed to be valid—
If these conditions are met, then the accuracy in determining x, the centroid, can be 1/16th pixel or better before other considerations such as speckle noise, system opto-mechanical stability, and calibration accuracy begin to be more dominant sources of error. However, if one or more of these conditions are not met, then system resolution and accuracy start to degrade in an indeterminate manner.
The two dominant dynamic conditions that affect system performance are the presence of clipping of the peak and inadequate signal amplitude above the background. The first is generally caused by too high an exposure for the surface and the other too low. The extent of this problem is several orders of magnitude as described in U.S. Pat. No. 5,811,827, issued Sep. 22, 1998, to Pryor et al., which is incorporated herein by reference as though fully set forth.
The problem can be simply stated as the system exposure should be such that the centroid peak falls within acceptable levels.
This is not a severe requirement in a dynamic laser triangulation system as the intensity of the reflected laser spot can be continually monitored and the incident laser power varied in a closed servo manner to maintain more or less constant peak heights. Fast response control circuits are required and there will always be some residual step response error if the surface exhibits abrupt reflectance or range changes.
In contrast, a static laser triangulation system has a basic limitation in that the intensity of the laser cannot be varied along the line length, only temporally for the whole line from scan to scan. It is thus impossible to provide optimum exposure conditions for many real objects at all points along the line and compromises or multiple exposures are required.
To our knowledge, current system designs do not address this issue. There are discussions about optimising system setup for best response, minimising spot size to avoid the effect of reflectance changes, providing large dynamic response detectors and post processing of Point Cloud data to remove outliers and erroneous data points, but no attempt to address the fundamental exposure problem.
Current static systems deliver centroid data when some or all of the error sources listed above are present and there are no cues provided to alert the user that the data may be suspect.
Accordingly, it is an object of the present invention to provide a laser triangulation system that addresses the disadvantages of the prior art discussed above.
A method for measuring dimensions of an object, the method comprising the steps:
In an alternate embodiment the invention is a method for measuring the dimensions of an object, the method comprising the following steps:
In an alternate embodiment the invention is a method for measuring dimensions of an object, the method comprising the following steps:
In an alternate embodiment the invention is a method for optimizing exposure in a laser triangulation system, the method comprising the following steps:
The quality factor can be used to provide feedback to the user by indicating the quality of the centroid calculation according to user specified criteria. For example, the quality factor can correspond to exposure and can be used to adjust the exposure for the next scan. Alternatively, the quality factors can be used to automatically adjust the position of a range of exposures.
One or more artifacts of known size can be positioned at fixed locations in the field of view of the sensor(s) such that they are scanned on every scan. The measurement data from the scanned artifact can be used to correct for any change in position or geometry of the sensor with respect to the fixed location of the artifact(s). The measurement data from the scanned artifacts) can be used as a reference plane on every scan to permit differential measurements between the artifact(s) and the object.
Further features and advantages will be apparent from the following detailed description, given by way of example, of a preferred embodiment taken in conjunction with the accompanying drawings, wherein:
Quality Factors
The quality factors attached to each centroid value provide cues to alert a user that the data may be suspect.
The quality factors are determined as follows.
The simple quality factors can be encoded in spare bits in the 16 bit centroid data, but the more advanced factors require the addition of an extra byte (S bits).
The quality factors are used in the system in either real time or post acquisition operations.
Real Time Usage
The quality factors can be used to provide immediate feedback to the user via color coding of the centroid data display. This provides a strong indication of system performance and whether the current exposure settings are set correctly or either too high or two low.
The quality factors can be used to provide a means to automatically set the system exposure to the optimum setting for acquiring the maximum number of valid data points
The quality factors can be used to provide a means to identify and control a range of exposure bands through which the system automatically cycles during successive scans. (see section below—Auto Exposure Banding)
The real time color coding is shown in
Centroid Calculation
The following describes a new method of calculating the centroid of a pulse from digital binary pixel data. This method requires less resources than that described in U.S. Pat. No. 4,628,469, but still maintains excellent accuracy. The final equation involves only one division and uses only first sums and subtractions and is essentially based on simple integrals. These resource savings make implementation in logic much less costly.
The following details the equation with the example of a fairly symmetrical gaussian pulse. However it can be shown that it is still equally valid as compared to existing equations on asymmetrical pulses. The equation only falls off with pulses that contain cavities.
Of course this method has the drawback that it is at most 0.5 pixel accurate when dealing with binary pixel data from a camera.
In
N=upper threshold(yn)−lower threshold(y0)
Integrating both sides of this equation for N thresholds and substituting the above values gives the result
2cN=Nan+aa+Nbn−bb
or 2c=an+bn+(aa−bb)/N
where an=bn if the peak is defined as a single point. This equation therefore essentially averages all the discrete centers to determine the final true center.
The final division by 2 is easily accomplished in binary logic by right shifting and therefore has virtually no overhead. As in the method described in U.S. Pat. No. 4,628,469, there is only one main division; in this case by N. The divisor, N, depends only on the binary resolution of each pixel value (typically 8 or 10 bit). In U.S. Pat. No. 4,628,469, the divisor was a first sum of all the binary pixel values in the pulse, which can become quite large depending on the size of the pulse being measured.
Similarly the numerator is much reduced because it only involves first additions and subtractions rather than the potentially very large sum of sums.
The calculation can be readily accomplished at real time. After the lower threshold is exceeded every pixel is subtracted from an accumulator at pixel clock speed as it arrives until the peak x-intercept point is reached. After the peak x-intercept location, the accumulator switches to adding each pixel as it arrives until the lower threshold is crossed. The accumulator then holds the value (aa−bb).
By pipelining the division and posting it to a second logic block, the next (aa−bb) sum can be calculated while the division block is doing the single division necessary to finish the previous (aa−bb)/N calculation. This allows a full line time for doing the division and completing the rest of the calculation and can therefore be implemented in less costly logic.
One attribute of this method that may appear to be detrimental is the requirement that a peak must be found in order to find the x-intercept switch point and place an upper bound on the integral. However, in the context of a real-word system, there is a need to make the lower threshold as low as possible. The lower the value for the lower bound, the more data can be included in the pulse calculation and therefore the greater the sub-pixel accuracy.
Unfortunately reducing the lower threshold can cause background noise or secondary reflections to come into play in a real world system. The peak detector then stands alone as a necessity because it is used as a peak filter to extract the pulse with the highest peak from the forest of surrounding noise. The intent therefore is to drop the lower bound partially into the noise floor to get as much of the pulse data as possible and then apply the peak detector to extract the pulse with the highest peak.
All existing centroid calculation methods are readily applied to cases where the camera provides 1 pixel value per clock cycle in a serial data stream. However some of the newer high speed cameras provide 8 or 10 consecutive pixels from one row in one clock cycle. It becomes extremely difficult to calculate a sum of sums or similar calculation in real time when the data is presented in this method. For example second sums are easily calculated for serial data by a second accumulator that is keeping a running total of the intermediate sums provided by the first accumulator. For parallel data 8× clock speed summing hardware or other very costly hardware is necessary to maintain real time for this method.
However, the new equation presented above uses only first sums and first subtractions and could therefore be realized in much less costly logic and still run real time.
The positive differential exceed indicator and negative differential exceed indicator are then merged. The merging involves processing to discard obvious rejects and combining to create gating pulses. Obvious rejects are two consecutive positive indicators or two consecutive negative indicators. Once the gating pulses have been created they are passed through the wide feature filter to remove all pulses that exceed the preset width.
The next step is to pass the remaining gated pulses through the differential peak extractor, which will extract the pulse with the largest differential. If there are two pulses of equal differential, then the first will be selected. The final gating pulse is then correlated with the raw binary data for the centroid calculation.
This method is very effective in extracting laser lines from images with a lot of ambient light variability throughout the field of view. For a future implementation with a larger altera, variable spacing between the two windows should be added.
All thresholds are 8 bit. The least significant bits of the incoming 10 bit data stream will be ignored in the initial implementation. Individual manual threshold registers are available for each camera. Setting the appropriate bit switches to auto-threshold mode where these register values become offsets to the auto-threshold value.
AutoThreshold: Referring to
Laser triangulation systems operate by acquiring a video image of a surface illuminated by a laser line. The location of the laser line in the video image represents the XY location of the surface. It is necessary to extract the centroid of the laser image on each video line to sub pixel resolution. Various algorithms are in use—see U.S. Pat. No. 5,164,579, issued Nov. 17, 1992 to Pryor et al.; U.S. Pat. No. 4,628,469, issued Dec. 9, 1986, to White; U.S. Pat. No. 5,812,269, issued Sep. 22, 1998, to Svetkoff et al., and Blais, Rioux, (zero crossing), all of which are incorporated herein by reference as though fully set forth, and which offer compromises between speed of execution and accuracy. All depend on a good quality video signal. The quality is dependent on:
During system operation, the surface properties (reflectance, roughness, tilt) typically vary within each scene or over the extent of the part under measurement. If there is too much signal return, then the signal is clipped at the peak and the centroid accuracy is compromised. Conversely, given too low a signal, the centroid is either not detected or the centroid calculation is based on a laser image a few pixels wide at low amplitude providing very poor accuracy.
Two typical applications illustrate the difficulty:
In a single part measurement, the surface color may change from very light to a dark absorbing finish. The exposure time must be adjusted to get good data in each instance.
There are two optimisation problems—one intrascene and one over time over many scenes.
This creates difficulty in system setup—a problem unique to static laser line generator systems. Flying spot scanners such as the Steinbichier Comet™, made by STEINBICHLER OPTOTECHNIK GmbH of Germany, use feedback control to control the intensity of each scanned point.
There are currently no known systems operating with real time feedback of ‘centroid quality’. The only known system with some capability in this regard is the Romer Arm™ sensor (manufactured by Romer Inc. of Michigan) with color feedback in the centroid display to show signal amplitude to the user.
There is then a real requirement to determine the quality of the data for each point and use this data in a useful manner for system configuration in a dynamic fashion.
Centroid Generation
The centroid represents the sub pixel location of the laser line along each video line. The present implementation is based on a 640 pixel×480 line resolution camera and 1/16th of a pixel resolution. Hence, the maximum centroid value possible is 640×16=10240 which can be contained within a 14 bit word—16,384—leaving 2 bits available for some form of tag or quality factor. If this is not deemed adequate, then a full 24 bit centroid ‘word’ is required to provide the base 14 bit centroid and an additional 10 bits of quality factor or tag data.
A number of pre processing steps are described and summarised below:
Process
Operation
Application
Min feature
Discards small features -
Filters out noise due
width rejection
either black or white
to dust
below a user specified
removes effect of bad
width - typically 1 or
pixels
2 pixels
Rejects ambient light
Max feature
Discards features wider
artifacts, windows etc
rejection
than a certain width -
typically 30 pixels
Compensates for
Dynamic
Adjusts background
variable background
threshold
threshold level on a
lighting
moving average basis
Peak Amplitude
Detects maximum signal
Identifies best
Detect
level on each line - or
candidate for a valid
returns first saturated
centroid
region -
Max Power Detect
Detects peak with
Identifies best
maximum power level on
candidate for a valid
each line
centroid
The video data on each video line is then operated on to calculate the centroid value. In addition to the actual centroid value, various other parameters can be calculated as a measure of Centroid Quality.
Centroid Quality Criteria
These criteria are used as a measure of the centroid quality and are intended for use in the processing path.
One of the basic criteria can be encoded into the 2 bits available in the basic 16 bit centroid value.
If more than one of the basic criteria is required, or if extended criteria are used, then an extra byte must be assigned to the centroid value—for example for three bytes in total.
Amplitude
This returns the amplitude of the peak of the centroid.
This can be encoded into 2 bits of the centroid value by defining 2 levels in addition to the threshold level within the 0-255 range.
This is the simplest criteria to calculate but is subject to error in the presence of noise spikes. Pre-processing is intended to remove such spikes prior to centroid detection.
In a typical system the levels can be defined as:
Level
Name
11
Threshold
60
Min
200
Max
with corresponding tags or quality factors assigned to centroids as follows:
Tag ( 2
bit)
Name
Associated Criteria
Comments
00
Weak
Peak < Min
Accuracy may be suspect
01
Good
Min < Peak < Max
Optimum
10
Strong
Max < Peak <
Should reduce exposure
MAX_DEF
11
Saturated
255 < MAX_DEF
Over exposed, accuracy is
suspect
Base Width
This returns the width at the threshold height of the centroid. It is filtered to pass widths between the min and max feature settings.
If we assume a uniform laser beam, then this is a reasonable indication of centroid quality.
In a typical system the widths could be defined as:
Width
Name
3
Low
6
Min
12
Max
20
Sat
with corresponding tags or quality factors assigned to centroids as follows:
Tag (2
bit)
Name
Associated Criteria
Comments
00
Thin
Width < Low
Accuracy may be suspect
01
Narrow
Low < Width < Min
OK
10
Optimum
Min < Width < Max
Optimum
11
Wide
Max < Width < Sat
Should reduce exposure
Symmetry
This returns a measure of the symmetry of the beam about the detected peak. It is useful as a criterion for selecting points where there is extreme slope or the spot straddles an edge.
It is calculated as the difference between the mid point of the base and the centroid
This is a reasonably simple criterion to calculate. In a typical system the differences could be defined as:
Diff
Name
2
Typical
4
Acceptable
with corresponding tags or quality factors assigned to centroids as follows:
Tag (2
bit)
Name
Associated Criteria
Comments
00
Good
Diff < Typical
Symmetric - good
01
OK
Typical < Diff < Acceptable
OK - within limits for
laser beam
10
Skewed
Acceptable < Diff
Skewed by surface
feature - suspect
11
HPBW—Half Power Band Width
This returns the width at the half peak height of the centroid. It is a parameter commonly used to define optical bandpass filters.
This is not an easy criteria to calculate as the peak height must first be determined, the half height, and then the width at about this point.
In a typical system the levels could be defined as:
Level
Name
1
Low
2
Min
4
Max
8
Sat
with corresponding tags or quality factors assigned to centroids as follows:
Tag (2
bit)
Name
Associated Criteria
Comments
00
Thin
Width < Low
Accuracy may be suspect
01
Narrow
Low < Width < Min
OK
10
Optimum
Min < Width < Max
Optimum
11
Wide
Max < Width < Sat
Should reduce exposure
Non Real Time Processing
The Host system can add some additional attributes to the centroid data stream based on the degree of continuity from video line to video line.
The input data stream is examined for centroid continuity across several user selected lines for centroids that exist within a user selected band of previous and next line values. This is useful to filter out single or double outliers for instance.
Real Time Processing
The real time uses consist of providing immediate feedback to the user to aid in setting up the system, and providing control inputs to automatic exposure and ranging algorithms operating in the system firmware and FPGA logic.
Display Attributes
This is the simplest use and can be exploited in several ways:
Color Coding
Referring to
Display Blanking
Individual points in the Centroid data are not displayed if these fall outside user specified levels.
Auto Exposure
The camera exposures and gain are adjusted to provide the best aggregate laser line response across the whole active window.
In the case of relatively uniform targets, there is typically an operating point (exposure and gain settings) which provides good data from all points illuminated by the laser line.
In the case of targets that show varying color, range, occlusions etc. any one setting cannot provide good results for all points. There is always a compromise to be made.
This is analogous to photography with an automatic camera where there are light and dark regions in the scene. The auto exposure system either provides the best compromise, or is instructed to use only a specific region for exposure setting, or the user disables the auto exposure feature and sets it manually, typically also taking additional exposures at a range of exposures around the ‘first choice’ to ensure at least one good shot.
Auto Exposure Banding
Auto Exposure Banding is intended to maximise the quality of the data from the whole surface. Given that most real surfaces produce a wide range of reflected signal intensities, there is no one operating point, even for a single profile, that can provide the best data.
For most real objects, the optimum scan exposure settings will vary over a wide range as the object is moved in relation to the sensor head, and indeed within each scan line as discussed above. Auto Exposure Banding addresses this problem by defining two or more exposure settings that the system automatically cycles through on successive scan lines. In this manner, the complete data set will contain at least one good data point in close proximity to the desired sample point on the surface, and in many cases more than one good point. Post acquisition filtering based on the quality factors can be performed on the complete data set to select the best data point set and/or to average good data points around the sample point of interest.
Auto Banding provides a means to ensure that a sufficient number of points on the surface are scanned at or close to their optimum operating point for good range measurement. Other points on the same scan may not be optimally exposed but the presence of quality factors allows these to be rejected in the surface reconstruction phase.
In the surface reconstruction process, all the data is assembled either as uniformly spaced planes or a cloud of XYZ data points, and combined in some form of triangulation process to produce a surface. If these input data points are ‘tagged’ with a quality factor such that only the best or valid points are included in the reconstruction process, then the resulting surface should be more accurate and complete.
Auto Banding provides the means to ensure that during data acquisition the full range of operating points are used to ensure that all points on the surface are sampled with close to optimum settings. This is in fact a form of oversampling, with the addition of quality factors so that an informed decision can be made as to which points are the most valid.
The technique can be used in its basic form, or with the addition of auto update to continuously adapt to varying surface conditions.
This technique is implemented in the following fashion:
Data filtering is simply discarding points from the data set that are tagged outside the two central tag bands (for the 2-bit tag or quality factor examples discussed above). It is useful when reconstructing complete surfaces from multiple scans.
Data Selection
Data selection is applicable when two or more scans are overlapped, or close to overlapped. The same region on the surface will have been sampled by one or more sensors or cameras. If these sensors or cameras have different angles of view or spot size, then any differences in the quality of the data may not show in the base tags or quality factors, but could be noticeable in the extended tags or quality factors—for instance when measuring an inclined surface from two orthogonal directions (centroid symmetry), or moving over an edge with different spot sizes (centroid symmetry).
Coordinate System and Units of Measurement
The Right Angle Cartesian coordinate system as shown in
The origin is defined as the mid point on the top surface of the belt or chain.
The object to be scanned travels in the Z direction through the Target Section which is defined by the plane of the laser line generators.
Baseline Imperial system: the unit of measurement in the X and Y axes is 0.001″ (thousandths of an inch.) expressed as signed short integers for a measurement range of +/−32.7″
Baseline metric system: the unit of measurement in the X and Y axes is 0.01 mm (10 micron) expressed as signed 16 bit integers for a measurement range of +/−327 mm
The unit of measurement in the Z axis is encoder ticks where one tick corresponds to the smallest quadrature increment.
Sensor Coordinate System
The local coordinate system for each sensor head is defined below and shown in
Hardware
Sensor Head
In one embodiment, a sensor head comprises the following:
Power to the head is supplied at a nominal 5 vdc via USB cable conductors. The sensor heads require ˜0.5 amp for two-camera versions which exceeds the USB specified maximum 0.5 amp draw from a USB port. Therefore modified USB hub and power supply assemblies can be used in this instance. All critical logic on the sensor head and the camera operate at 3.3 vdc
Camera Assembly
In one embodiment, each assembly consists of a printed circuit board (PCB), lens mount, lens and optical interference filter.
The PCB contains, for example, a monochrome Kodak KAC-0311 CMOS camera chip operated as follows:
Each camera PCB is connected directly to the FPGA logic on the main sensor head PCB.
The following camera parameters may be adjusted by ‘core’ configuration commands:
Exposure time 0.1 to 32 ms
Analog gain 1×-8×
These parameters are set over an I2C interface to the camera via commands that typically require several hundred μsecs to complete.
The camera acquires digital video data at frame rates dependent on the size of the WOI and exposure time.
Frame time is approximately the sum of exposure time+(number of pixels/pixel clk freq)
Typical frame rates are 50 to 150 Hz.
Centroid data is generated and passed back to the ‘core’ at real time rates.
Gray scale video data requested by the core for diagnostic purposes is acquired over multiple frames and passed back at speeds determined by the available bandwidth—typically 0.5 Mbyte/s max
The camera is operated in external sync mode with sync signals generated by the microcontroller and locked to a multiple of the Frame time.
The Lens Mount provides a rigid mount of the PCB, lens and interference filter to the optical body.
The Lens is a fixed focus, fixed aperture multi-element type threaded in to the lens mount. The focus is set at the factory and permanently locked. Different focal length lenses are used in different sensor head types.
The interference filter passes a narrow wavelength band centered on the laser color.
Laser Line Generator
In one embodiment, the laser line generator consists of a visible laser diode (nominal 670 nm), collimating and line forming optics.
Typical output power is 25 mw.
The laser is operated in pulsed mode with the pulse time matched to the camera exposure time.
Line fan angle and focus point are fixed per sensor head type and matched to the application. Fan angle lies in the range 15-808 full angle. Focus point in the range 2″ to 200″.
General Principles
The laser line preferably occupies a width of 6 to 16 pixels above the threshold
width<6 does not provide best accuracy
width>16 looses resolution perpendicular to the line
This width is set by choice of optics, field of view, and laser assembly.
The threshold is preferably set to 20% above the general background and typically should be greater than or equal to the level of isolated background pockets.
The exposure is preferably set to the maximum for the application to minimise the effect of speckle. The maximum value is based on the following considerations:
The Gain is preferably adjusted to provide a laser line width close to 6 for detail work and close to 16 pixels for least noise consistent with:
When satisfactory performance is achieved, settings can be written to an INI or configuration file.
Keightley, John, Cunha, Adriano
Patent | Priority | Assignee | Title |
10690773, | Dec 07 2017 | VELODYNE LIDAR USA, INC | Systems and methods for efficient multi-return light detectors |
10729593, | Nov 27 2012 | The Procter & Gamble Company | Methods and apparatus for making elastic laminates |
10739439, | May 04 2018 | Industrial Technology Research Institute | Laser positioning system and position measuring method using the same |
10753726, | Mar 26 2017 | Cognex Corporation | System and method for 3D profile determination using model-based peak selection |
10777317, | May 02 2016 | ARANZ Healthcare Limited | Automatically assessing an anatomical surface feature and securely managing information related to the same |
10827970, | Oct 14 2005 | ARANZ Healthcare Limited | Method of monitoring a surface feature and apparatus therefor |
10874302, | Nov 28 2011 | ARANZ Healthcare Limited | Handheld skin measuring or monitoring device |
11116407, | Nov 17 2016 | ARANZ Healthcare Limited | Anatomical surface assessment methods, devices and systems |
11250945, | May 02 2016 | ARANZ Healthcare Limited | Automatically assessing an anatomical surface feature and securely managing information related to the same |
11255728, | Dec 07 2017 | VELODYNE LIDAR USA, INC | Systems and methods for efficient multi-return light detectors |
11415408, | Mar 26 2017 | Cognex Corporation | System and method for 3D profile determination using model-based peak selection |
11850025, | Nov 28 2011 | ARANZ Healthcare Limited | Handheld skin measuring or monitoring device |
11903723, | Apr 04 2017 | ARANZ Healthcare Limited | Anatomical surface assessment methods, devices and systems |
11923073, | May 02 2016 | ARANZ Healthcare Limited | Automatically assessing an anatomical surface feature and securely managing information related to the same |
11940324, | Dec 07 2017 | Velodyne LIDAR USA, Inc. | Systems and methods for efficient multi-return light detectors |
8368721, | Oct 06 2007 | Apparatus and method for on-field virtual reality simulation of US football and other sports | |
8482720, | Dec 08 2008 | Sick AG | Method and optical sensor for the detection of objects |
8711222, | Apr 27 2011 | LORAM TECHNOLOGIES, INC | Method and system for calibrating laser profiling systems |
8899115, | Apr 20 2011 | RTX CORPORATION | Method and system for locating a laser vibrometer during non-contact scanning |
8971583, | Dec 01 2011 | Industrial Technology Research Institute | Distance measurement apparatus and method |
9131219, | Dec 18 2012 | INSTITUT NATIONAL D OPTIQUE | Method and apparatus for triangulation-based 3D optical profilometry |
9179844, | Nov 28 2011 | ARANZ Healthcare Limited | Handheld skin measuring or monitoring device |
9248054, | Nov 27 2012 | The Procter & Gamble Company | Methods and apparatus for making elastic laminates |
9265672, | Nov 27 2012 | The Procter & Gamble Company | Methods and apparatus for applying adhesives in patterns to an advancing substrate |
9295590, | Nov 27 2012 | The Procter & Gamble Company | Method and apparatus for applying an elastic material to a moving substrate in a curved path |
9730839, | Nov 27 2012 | The Procter & Gamble Company | Method and apparatus for applying an elastic material to a moving substrate in a curved path |
9808827, | Nov 27 2012 | The Procter & Gamble Company | Methods and apparatus for applying adhesives in patterns to an advancing substrate |
9861285, | Nov 28 2011 | ARANZ Healthcare Limited | Handheld skin measuring or monitoring device |
9999552, | Feb 28 2014 | The Procter & Gamble Company | Methods for profiling surface topographies of absorbent structures in absorbent articles |
ER2909, |
Patent | Priority | Assignee | Title |
4628469, | Mar 30 1981 | Banner Engineering Corporation | Method and apparatus for locating center of reference pulse in a measurement system |
4741621, | Aug 18 1986 | WESTINGHOUSE ELECTRIC CO LLC | Geometric surface inspection system with dual overlap light stripe generator |
4801207, | Jun 14 1985 | The Broken Hill Proprietary Company Limited | Method and apparatus for the optical determination of surface profiles |
4979815, | Feb 17 1989 | Laser range imaging system based on projective geometry | |
4993835, | Jun 16 1989 | MITSUBISHI DENKI KABUSHIKI KAISHA, | Apparatus for detecting three-dimensional configuration of object employing optical cutting method |
5164579, | Apr 30 1979 | Sensor Adaptive Machines Incorporated | Method and apparatus for electro-optically determining the dimension, location and attitude of objects including light spot centroid determination |
5289261, | Sep 17 1991 | Opton, Co., Ltd. | Device for measuring a three-dimensional shape of an elongate member |
5362962, | Apr 16 1993 | Edison Welding Institute | Method and apparatus for measuring pipeline corrosion |
5557410, | May 26 1994 | Lockheed Corporation; Lockheed Martin Corporation | Method of calibrating a three-dimensional optical measurement system |
5625446, | Oct 18 1993 | SOHL, CHARLES E | Optical measurement system for articles with varying surface reflectivity |
5811827, | Apr 30 1979 | Sensor Adaptive Machines, Inc. | Method and apparatus for electro-optically determining the dimension, location and attitude of objects |
5812269, | Jul 29 1996 | Electro Scientific Industries, Inc | Triangulation-based 3-D imaging and processing method and system |
5815272, | Jan 09 1997 | DYNAMIC MEASUREMENT AND INSPECTION, LLC | Filter for laser gaging system |
6369401, | Sep 10 1999 | Agri-Tech, Inc. | Three-dimensional optical volume measurement for objects to be categorized |
6529627, | Jun 24 1999 | Geometrix, Inc. | Generating 3D models by combining models from a video-based technique and data from a structured light technique |
6839144, | Mar 25 2001 | Omron Corporation | Optical displacement sensor |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jan 26 2004 | KEIGHTLEY, JOHN | 3DM DEVICES INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 015623 | /0263 | |
Jan 26 2004 | CUNHA, ADRIANO | 3DM DEVICES INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 015623 | /0263 | |
Oct 25 2004 | 3DM Devices Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Jun 01 2012 | M2551: Payment of Maintenance Fee, 4th Yr, Small Entity. |
May 26 2016 | M2552: Payment of Maintenance Fee, 8th Yr, Small Entity. |
May 12 2020 | M2553: Payment of Maintenance Fee, 12th Yr, Small Entity. |
Date | Maintenance Schedule |
Dec 02 2011 | 4 years fee payment window open |
Jun 02 2012 | 6 months grace period start (w surcharge) |
Dec 02 2012 | patent expiry (for year 4) |
Dec 02 2014 | 2 years to revive unintentionally abandoned end. (for year 4) |
Dec 02 2015 | 8 years fee payment window open |
Jun 02 2016 | 6 months grace period start (w surcharge) |
Dec 02 2016 | patent expiry (for year 8) |
Dec 02 2018 | 2 years to revive unintentionally abandoned end. (for year 8) |
Dec 02 2019 | 12 years fee payment window open |
Jun 02 2020 | 6 months grace period start (w surcharge) |
Dec 02 2020 | patent expiry (for year 12) |
Dec 02 2022 | 2 years to revive unintentionally abandoned end. (for year 12) |