We are working on determining the pin height of electronic connectors. The pins are about 8mm tall, standing off a plastic housing. The pins are a bit shiny (metal). Accuracy required is +/-25-microns. The height of the pin is defined as the perpendicular distance from the pin tip to the surface plane of the housing from which the pins are sticking out. The only view available for the camera is from top of the pins (looking into the pin tips, with a cone angle of about 45-degrees from the perpendicular). The housing has several straight-line features on the housing surface that can be used for stereo correspondence matching. The connector moves at the rate of around 20cm-per-sec (can be used for laser profile). It comes to stop for abut 0.5 sec (can be used for taking stereo vision pictures). What is the accuracy and precision possible, and what are the cameras and accessories that are available...? We are on LabVIEW platform. This is a commercial project and customer's goal is to eventually go for 3-units of such a measurement system.
An accuracy of ± 25 um on the pin height is difficult to reach; is means that you will need a five-fold better height resolution (or height quantization) of about 5 um per gray value in your laser triangulation/stereo image. Theoretically, this is feasible with laser triangulation as the height resolution is about five to ten fold better than the lateral resolution (i.e. the distances of the measured coordinates in the plane). Thus, with a lateral resolution of 25 um/pixel and um/profile the task is, in principal, realizable. A triangulation camera with 2048 pixel scan width would then provide a total scan width of 50 mm.
More challenging is the profile frequency of about 200 mm/s / 25 um/profile = 8000 profiles/s (or Hz). This means that only 30 to 40 lines of the sensor can be used and that the exposure time is below 125 us. A small number of read-out sensor lines on the other hand means that you can only cover a small measuring height.
The main difficulty with measuring the height of metal, shiny pins is the reflections of the (laser) light on the slopes of the pins. These reflections are very dependent on the form of the pin tips and the variations in form.
There are some solutions how to cope with these reflections:
? Avoiding: You can try to optimize the laser triangulation geometry by varying the tilt angles and directions of the laser sheet and the camera. Choosing a blue laser line (450 nm) reduces reflections (and Speckle) further as blue light is scattered more efficiently than red light (660 nm). A good starting image is always the better solution but sometimes it is not possible to completely remove artifacts due to reflections.
? Removing by SW: The second solution is to try to remove reflectional artifacts during the SW evaluation of the pin height. The first step could be a median filtering of the height map which replaces an outlier by a measured value from its surrounding. Median is, in my opinion, better than mean filtering. In the next step one could analyze the approximate position of the pin by means of a blob analysis; then one uses the determined bounding box of the blob/pin as a frame to measure the mean height of the pin but one reduces the size of the frame around the center of the pin, so that the reflections are left out from the height measurement; also a threshold in height difference can be used to remove pixels that contain a reflection. This should be feasible as the reflections normally occur only at one edge/slope of the pins.
It would be helpful to get some more information about the application like total height range to cover, size and form of the pins, needed scan width etc. You can read my "five questions to ask" that I posted some times before i this group.
? The "five questions to ask": https://www.linkedin.com/groups/SFR-five-questions-ask-about-7456237.S.5847776016050720771?qid=a252feb8-b5d0-46c0-a9f8-acc6493478f1&trk=groups_most_recent-0-b-ttl&goback=.gmr_7456237
? An example of a high-end triangulation camera: http://www.automationtechnology.de/cms/en/3d-imaging/3d-cameras/c4-2040-gige.html
? An example of a blue laser line: http://www.z-laser.com/en/products/product/machine-vision-lasers/zfsm-zfmm/fibre-coupled-lasers/ or http://www.z-laser.com/en/products/product/machine-vision-lasers/zm18h-blue/zm18/
@Tobias: the customer part tolerance limit is +/-100um. Hence, the vision-system's accuracy should be one-fourth that, which is +/-25um. No need to get better than this.
besides the height resolution, you also need a sufficient lateral resolution in order to cover each pin tip with enough points/pixels. For the camera mentioned in my previous comment, I have estimated the following resolutions:
? Scan width (x): 82 mm
? Scan height (z): 9 mm (max)
? Triangulation angle: 15° (camera tilted)
Resolutions and speed:
? lateral resolution: 40 ?m/pixel (dx) and ?m/profile (dy)
? height resolution (dz): 20 ?m per gray value (1/8 subpixeling for laser line detection)
? scan speed: 5300 profiles/s
? maximum conveyor speed (@ dx=dy): 210 mm/s
For a point density of 40 ?m, the pin tip should be at least 300 ?m in diameter; then you would cover it with about 20 pixels. More would be even better.
Kind regards, Tobias.
So, it appears blue light will reflect less specular-ly...? Any literature on this subject (wavelength and specular reflection on metals) would be helpful.
The pin itself is square cross section (about 1mm x 1mm square), but becomes a conical shape leading to the tip, which is rectangular (i.e. the peak of the mountain) regain, of 650 microns on one side, and about 250 microns on the other side. These are kind of minimum dimensions.
What is the width of laser that is required...? Any recommendations welcome. How does one evaluate the laser requirement ("straightness"?).
Are there SW available (with LabVIEW library, preferably, and something that runs on PC) that can handle multiple laser lines on the image...triangulation? Again, recommendations welcome.
Wonder if we can use pattern projection - the connector comes to rest for about 0.5seconds. Are projectors reliable for millions of pieces...? Or are they only for off-line inspection...?
In order to get a subpixel accuracy in the height detection, the laser line should be about 5 pixels in width (1/e?); at a lateral resolution of 40 ?m/pixel, a width of 200 ?m would be ideal. The straightness of the laser line should not be a problem for short line lengths of < 80 mm; you should, however, choose products from a reputated supplier such as e.g. Z-Laser (see link above).
A lateral resolution of 40 ?m/pixel gives about 16 x 6 = 96 pixel on the plateau where the height should be measured; this should be sufficient.
The acquisition of GigE-vsion compliant cameras (such as AT C4 cameras) is straightforward in LabView as they provide a good and gerformant generic GigE driver. LabView also includes tools for image filtering and blob analysis; this should be sufficient for your application. I would suggest, not to use mutiple laser lines in one image and to do the extraction of the single laser line in a dedicated triangulation camera rather than in SW (it takes too long time).
Digital fringe projection could also work, but such sensors have a fixed geometrical design and you can not adopt the geometry so that it best fits your applicational requirements. I suggest to use a modular laser line triangulation system as the 3D image acquisition technology.
Thank a ton, for the clarity. Here, a few more questions/comments...hoping many others could also benefit from the discussion.
You had stated that, "An accuracy of ± 25 um on the pin height is difficult to reach; is means that you will need a five-fold better height resolution (or height quantisation) of about 5 um per gray value in your laser triangulation/stereo image. ". When you say this, did you assume that the production tolerance of the pin should be 25 um ? If so, that is not the requirement - the production tolerance is +/- 100 um. It is the vision system's measurement accuracy that needs to be 25 um. Am curious to understand why a five-fold better height resolution (step-size)...
Regarding the camera tilt (with respect to a vertical laser plane), if we have more than 15 degrees, (say 30 degrees), am guessing that the accuracy should be better...is there a linear relationship between this angle and accuracy...?
Regarding the FOV, given that the base to the pin-tip is ~3.5mm, it appears that the FOV might be X by Y, where X> 10*laser_line_width*tan(15deg) and Y< the width of the connector (1 cm)...correct? (X is along the motion of the connector, which moves parallel to its length of 80 mm). Kind of, it would work more like a displacement sensor, albeit with a line-laser. That probably seems enough for this application, if I have understood the concept right. This can bring the number of pixels to be processed to a pretty low number, and hence frame-rate high.
you're welcome! In fact, one reason to establish this very group was to share knowledge about 3D machine vision with the community; and I hope, too, that with this discussion we can approach this goal by some steps ...
Now back to your questions: with a laser triangulation camera and a subpixel-accurate detection of the laser line center, you get a small quantization of height values like the 20 ?m per gray value; this is the resolution of the camera. However, the complete measuring system that is composed by a camera, a lens, a line laser, the linear drive and the object itself introduces a noise on the determined height values. One can "measure" this noise by scanning a flat object and determine the standard deviation (SD) of the distribution of height values in e.g. a 10 x 10 pixel matrix; the SD then gives the accuracy that can be reached by measuring a height value of this matrix. To my practical experience, the SD ranges between 4 to 7 gray values, depending of the roughness and the "cooperativity" of the surface and the quality of the camera HW. This is where the factor of about five between height resolution and accuracy comes from.
The relation between triangulation angle α (i.e. camera tilt) and height resolution/accuracy is not linear but proportional to 1/sin(α) if the camera is tilted. Still it means that the bigger the angle the smaller the height resolution; but the improvement with increasing angle is most pronounced between 15° and 30° and much less between 30° and 45°.
The number of required sensor lines in the camera AOI is the measuring height divided by the height resolution at no subpixel accuracy. If your measuring height is 3.5 mm and my above assumed resolution at 1/8 subpixeling is 20 ?m then you need 3.5/(0.02·8) mm/mm = 22 sensor lines. With the above mentioned camera you could reach a profile speed (i.e. frame rate of the sensor with an AOI of 22 lines) of more than 10 kHz!