Taking Dimensional Tolerance Measurements of High-End Steel Plates with NI LabVIEW and IMAQ Vision

  Print Print

"LabVIEW relieved the development team of tiresome and time-consuming code writing, providing more manpower to solve optics and mechanics problems and to concentrate on overall project success. "

- Helmut Urban, Joanneum Research

The Challenge:
Developing a system that automatically takes dimensional tolerance measurements for high-end steel plates.

The Solution:
Measuring the steel plate edge dimensions and flatness of six IEEE 1394 (FireWire) cameras using NI LabVIEW and IMAQ Vision.

Author(s):
Helmut Urban - Joanneum Research
Oliver Sidla - Joanneum Research

Using LabVIEW for Quick, Accurate Measurements

To measure dimensional tolerance for steel plates, the customer presented the following system requirements:

  • 0.05 mm accuracy for edge width and height values
  • 0.03 mm accuracy for flatness measurements
  • Intuitive, 3D-measured flatness value display
  • Individual plate measured value documentation
  • Four-month turnaround time from system order to delivery and test

After analyzing these requirements in detail, we needed to implement a large system optical and mechanical traditional design effort to ensure the required accuracies. However, we knew from our prior experience using the LabVIEW programming environment that we could easily develop software for such a project in three to five man weeks. Therefore, we could allocate more man power for solving hardware problems, some of which this solution outlines in detail.

Designing the System Around Geometry

One challenge in meeting the above specs was the objects’ geometry. The plates are curved, vary in shape, and usually are much narrower in the middle than at the ends. Their geometry and the fact that they are transported by a conveyor belt means that the distance from the cameras to the plate edge surface changes considerably and is hardly controllable. Thus, we met a major design hurdle in trying to achieve a very high depth of field and to precisely triangulate the actual plate edge position for every measurement taken. The cameras’ axes are oriented at right angles so that, for instance, one lower camera supplies edge distance information for the upper camera, and vice versa. This distance information numerically compensates for the change in scale factor as the plate moves closer to or further away from the camera lens.

To reliably illuminate and detect the steel edges, we required direct, bright field illumination coaxial with the camera via a tiny mirror to bend the cameras’ paths of light at a right angle. We implemented a high-power illumination scheme to achieve the required depth of field, combined with a relatively short exposure time in the order of 0.6 ms. Overall, we installed a total of 2,500 W of lamp power in the system.

We chose a set of four CCIR resolution cameras for edge measurements. Given the plate position uncertainty, the cameras must cover a field of view of 30 mm and 70 mm, respectively. Simple calculation shows that to achieve the required spatial resolution, the system would have needed expensive nonstandard, megapixel-range cameras. Fortunately, we have a comprehensive library of image processing VIs, including a sophisticated subpixel resolution edge detection algorithm that can reliably fulfill the accuracy requirements without requiring expensive cameras.

To document and store measured data, the system must read every single unique plate bar code. However, the variety of plate surface finish and design poses a challenge. Furthermore, the field containing the bar code is always in a different position for each type of plate, so reliably finding it posed another challenge. Ultimately, a brute force solution proved most successful – the NI-IMAQ vision built-in bar-code-reading VI is highly reliable and fast enough to simply search for the bar code rectangle by scanning the image line by line, column by column, until it finds and reads a valid code. Naturally, this simplistic approach consumes some computing power, but given the Pentium 4 GHz processor performance, some optimizations, and the additional power made available through LabVIEW built-in hyperthreading support, we had a sufficient safety margin left in terms of processor load.

In-process profile gauging, such as for steel rail manufacturers, has been a standard service of Joanneum Research for many years. Therefore, we readily integrated the flatness measurement algorithms into the LabVIEW environment using existing code originally written in C++. The hardware consists of a 5 mW diode laser with line projection optics and a CCIR resolution charge-couple device (CCD) camera with a 760 nm narrow-pass filter. The laser diode and camera are oriented toward the base of the sheeting at an approximate 45 degree angle.

LabVIEW Is Indispensable for Parallel, Independent Tasking

LabVIEW relieved the development team of tiresome and time-consuming code writing, providing more man power to solve optics and mechanics problems and concentrate on overall project success. LabVIEW built-in multithreading is indispensable in situations where we have to run a large number of independent tasks in parallel. Hyperthreading support delivers even more efficient exploitation of today’s high-end processors for computationally intensive tasks.

For more information on this case study, please contact:

Joanneum Research
Forschungsgesellschaft mbH
Steyrergasse 17
A-8010 Graz, Austria
E-mail: pr@joanneum.at

Bookmark and Share


Explore the NI Developer Community

Discover and collaborate on the latest example code and tutorials with a worldwide community of engineers and scientists.

‌Check‌ out‌ the‌ NI‌ Community


Who is National Instruments?

National Instruments provides a graphical system design platform for test, control, and embedded design applications that is transforming the way engineers and scientists design, prototype, and deploy systems.

‌Learn‌ more‌ about‌ NI