Various embodiments relate to a system and method for measuring a surface of a contoured glass sheet.
Manufacturers of glass sheets, particularly glass sheets formed into various curved shapes for use as automotive windshields, backlites, and sidelites, are interested in measuring and evaluating the surface of a glass sheet. Manufacturers may desire to determine if the glass sheet is within a predefined specification for gauging. Manufacturers may also desire to measure and evaluate an amount of reflected optical distortion in the formed sheets that might be perceived by a human observer, such as an outside observer or the operator or passenger in a vehicle in which the glass may be mounted as the windshield, backlite, or sidelite, or the like. For example, gauging metrics and reflected distortion thresholds are becoming tighter and tighter with the increased use of technology such as heads up displays in vehicle applications. Manufacturers, as well, desire to identify small marks or other defects that are visible on the surfaces of the formed glass sheets.
In an embodiment, an optical inspection system is provided with an ultraviolet laser and associated optics forming a planar laser sheet directed to a glass sheet. The planar laser sheet intersects a surface of the glass sheet thereby causing the surface of the glass sheet to fluoresce and form a visible wavelength line on the surface. A camera has an image sensor for detecting the visible wavelength line across at least a portion of a width of the sheet. A control system is configured to (i) receive image data indicative of the visible wavelength line from the camera, (ii) analyze the data from the camera to determine first and second coordinates in a series of coordinates associated with the line, (iii) triangulate a third coordinate associated with each of the first and second coordinates in the series of coordinates, and (iv) create a three-dimensional map of the surface of the glass sheet as a function of the series of coordinates.
In another embodiment, a method of using an optical inspection system is provided. A planar laser sheet is formed and directed from an ultraviolet laser and associated optics to a surface of a glass sheet. The surface of the glass sheet is excited at an intersection of the planar laser sheet and the surface to form a visible wavelength line on the surface of the glass sheet. The visible wavelength line is imaged using a camera. First and second coordinates in a series of coordinates associated with the visible wavelength line are determined by analyzing imaging data from the camera. A third coordinate associated with each of the first and second coordinates in the series of coordinates associated with the visible wavelength line is determined by triangulation. A three-dimensional map is created of the surface of the glass sheet as a function of the series of coordinates.
In yet another embodiment, a method of gauging a surface using an optical inspection system is provided. A dataset comprising a set of coordinates corresponding to a location on a surface of a glass sheet is calculated by triangulating a position of a fluoresced line on the surface imaged using a camera, with the fluoresced line created at an intersection of a planar laser sheet from an ultraviolet laser with the surface. A three-dimensional map of the surface is created as a function of a series of the datasets. An invariant metric is calculated using the dataset in comparison with a gauge model for the surface. The invariant metric is output.
In another embodiment, a method of providing optical reflectance information for a surface using an optical inspection system is provided. A dataset comprising a set of coordinates corresponding to a location on a surface of a glass sheet is calculated by triangulating a position of a fluoresced line on the surface imaged using a camera, with the fluoresced line created at an intersection of a planar laser sheet from an ultraviolet laser with the surface. A three-dimensional map of the surface is created as a function of a series of the datasets. The three-dimensional map of the surface is denoised. An invariant metric is calculated using datasets from the denoised map in comparison with an optical reflectance specification designated for the surface of the glass sheet G. The invariant metric is output.
As required, detailed embodiments of the present disclosure are provided herein; however, it is to be understood that the disclosed embodiments are merely examples and may be embodied in various and alternative forms. The figures are not necessarily to scale; some features may be exaggerated or minimized to show details of particular components. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ the present disclosure.
It is recognized that any circuit or other electrical device disclosed herein may include any number of microprocessors, integrated circuits, memory devices (e.g., FLASH, random access memory (RAM), read only memory (ROM), electrically programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), or other suitable variants thereof) and software which co-act with one another to perform operation(s) disclosed herein. In addition, any one or more of the electrical devices as disclosed herein may be configured to execute a computer-program that is embodied in a non-transitory computer readable medium that is programmed to perform any number of the functions as disclosed herein.
The conveyor 12 may be a single conveyor dedicated solely to transporting the glass sheet G through the inspection system 10 which may be configured and/or operated as a stand-alone optical inspection system. In other examples, the conveyor 12 may be one of a series of conveyors which convey the glass sheet through a variety of process stations, such as, for example, heating, forming, and annealing or tempering stations found in a typical automotive, architectural and/or solar glass sheet fabrication systems. The conveyor for the glass sheet G may be provided by various techniques such as by roller, air-float, or belt conveyors, positioners, and robotic arms, in order to handle the glass in the manner described. It will also be appreciated that a plurality of conveyors, each of which may be independently controlled to move the glass sheets through the different processing stations at speeds to efficiently govern the flow and processing of the glass sheets throughout system 10.
Alternatively, the inspection system 10 may be provided as a separate, stand-alone system or apparatus without a conveyor. The inspection system 10 may also be provided with a fixture for the glass panel G, with the inspection system 14 configured to translate relative to the panel G, e.g. with the optical system 14 mounted on a conveyor system. The inspection system 10 may be provided with the glass panel G and the optical system 14 fixed relative to one another, with the optical system having optical elements configured to scan the surface of the glass panel G.
The inspection system 10 has an optical system 14 that is used to identify and measure the surface of a glass sheet, and may be further used to gauge the sheet, identify and measure small defects in the sheet, and/or measure reflective optical distortion. The inspection system 14 is described in detail with reference to
Generally, the optical system 14 includes a laser or other light source with a wavelength selected at least in part based on the optical properties of the glass sheet G. Light from the light source is directed to the glass sheet G by the optical system 14. In one example, the light source is selected to have a wavelength λ1 in a tuned, narrow band to which that glass sheet G is opaque or generally non-transmissive. The light source is also selected such that the wavelength λ1 of the light source induces or causes the surface of the glass sheet G to emit light at a wavelength λ2 that is different than the light source. For example, the light source is selected such that the wavelength λ1 of the light source induces or causes the surface of the glass sheet G to fluoresce or luminesce at a wavelength λ2 that is longer than the wavelength λ1 of the light source.
The optical system 14 has at least one camera or other detector to detect the light emitted from the glass sheet G. The optical system 14 also includes various optical elements to control and direct light from the light source to the glass sheet G, and from the glass sheet G to the detector.
The optical system 14 has at least one computer and/or control unit that includes at least one processor program to execute logic for controlling the optical system, including the light source and the detector, acquiring data from the detector for each glass sheet, analyzing the data for the glass sheet, and providing information related to the surface shape, reflective optical distortion, or other surface information or defects for the glass sheet. The computer may be integrated with the control system 16 for the inspection system 10 as shown, or may be provided as a separate device in communication with the control system 16.
The optical system 14 therefore provides a non-contact inspection system for rapidly acquiring detailed data corresponding to the surface of a glass sheet G and analyzing the acquired surface data to assess and report on the surface shape of the glass sheet G as well as properties related to the optical characteristics of the glass sheet G, particularly as the glass sheet G is being transported on a conveyor 12 between or after bending, cooling, or other processing operations.
The inspection system 10 includes a programmable control unit 16, depicted in this embodiment as a computer. The computer 16 may be in communication with or integrated with the computer of the optical system 14. The computer 16 includes at least one processor programmed to detect the glass sheet as it advances on the conveyor, and control the motor(s) to control the movement and speed of the conveyor 12.
The conveyor 12 moves the glass sheet G along a path or in a direction, shown here as the y-direction, past the optical system 14. The conveyor 12 is moved using one or more motors and support rollers or other devices.
The inspection system 10 has one or more position sensors 18 to determine a location and timing of the conveyor 12 for use in analyzing the glass sheet G using the optical system 14 as it moves through the system 10. The position sensor(s) 18 may be provided by a digital encoder, an optical encoder, or the like. The speed of the conveyor 12 and of the glass sheet G may be selected to allow sufficient residence time of the light from the optical system 14 light source onto a region of the surface of the glass sheet G to cause the surface to fluoresce, while maintaining the line operation for the glass sheet G. In one example, the conveyor 12 is continuously moved at a speed of 0.1 to 0.2 meters/second, or at a rate that coordinates with the optical system 14 to acquire data based on a specified movement of the glass panel G, e.g. movement within the range of 1-4 mm. In further examples, the conveyor 12 is moved such that a glass panel G may be inspected within a time frame on the order of ten to fifteen seconds. In another example, the conveyor is continuously moved at a speed of 0.01 meters/second or more to acquire data based on a movement of the glass panel G on the order of five millimeters or less. Data from the glass sheet may be acquired based on varying movements of glass panel G, corresponding to a grid size, and may be less than five millimeters, less than two millimeters, on the order of one millimeter, or another value. In a further example, the speed of the conveyor may be increased such that data is acquired based on a movement of the glass panel G on the order of more than five millimeters, e.g. having a grid size of more than five millimeters, or more than ten millimeters. As the speed of the conveyor decreases, the time to scan a panel G increases, and may be on the order of seconds, tens of seconds, or minutes, e.g. two minutes. The time to scan a panel may likewise increase for a glass panel G with complex surface contours, as the resolution may need to be increased using a smaller grid size. The position sensors 18 may be used as an input to the optical system 14 to determine timing for data acquisition, e.g. as a trigger for a camera.
The inspection system 10 may be provided with additional sensors, such as a photoelectric sensor or the like, in communication with the control system 16 to determine that a glass sheet G is in the appropriate position on the conveyor 12, or has advanced to the optical system 14. The computer 16 then communicates with the optical system 14 to activate the system 14 and begin measuring a surface of the sheet G. In other examples, the optical system 14 may be continuously operating and begin acquiring and processing data related to a glass sheet G in response to the system 14 detector registering appropriate signals indicating that the light source has begun to interact with the glass sheet G.
Referring now to
Based on intended use for a glass sheet G formed from soda lime silicate glass, the laser 50 is selected to have a wavelength in the ultraviolet range and at a specific wavelength to which the glass sheet G is opaque or non-transmissive, or to which the glass sheet G is substantially non-transmissive, e.g. with less than 5% or 2% transmissivity for the laser output. In the disclosed example, the laser 50 is provided by a pulsed diode solid state laser that is tuned to output light at a center wavelength λ1. The center wavelength may be selected to correspond with opacity or non-transmissivity of the glass sheet G, and may be a non-visible wavelength, and is also selected to induce fluorescence or luminescence of the glass sheet G surface. The center wavelength may be less than 350 nanometers, and in one example is provided as 266 nanometers, in the ultraviolet range.
In one example, the laser has a power output of 150 microjoules at 15 kiloHertz. In further examples, the laser 50 may be provided at other power outputs and repetition rates, and lasers with center wavelengths of 266 nm at 500-100 microjoules and one kilohertz or more are contemplated. The system 10, 14 may be configured to measure a glass sheet G within a specified time period, for example, on the order of ten seconds per sheet, although other times are also contemplated based on the size of the sheet and the desired resolution of the model. Of course, other wavelengths may be selected based on the composition of the glass sheet G.
Referring back to
Alternatively, or additionally, other optical elements, such as a Powell lens may be used to provide a more uniform distribution of laser intensity along the planar laser sheet. Furthermore, although one laser 50 is shown in
The glass sheet G has first and second surfaces 62, 64 that form the first and second sides of the glass sheet G. The first and second surfaces 62, 64 are spaced apart from one another by the thickness of the glass sheet G. As the glass sheet G is opaque or substantially non-transmissive to the wavelength λ1 of the laser sheet 60, the laser sheet 60 interacts with the first surface 62 without traveling through the sheet G or to the second surface 64, and therefore excites the glass sheet G only at the first surface 62. The thickness of the glass sheet G, or distance between the first and second surfaces 62, 64, may vary and in some examples is greater than 1.2 mm or greater than 1.6 mm, and in one non-limiting example lies within the range of 1.6-25 mm.
The planar laser sheet 60 may be oriented to extend transversely to the belt, or in the x-direction. The laser sheet 60 interacts with the first surface 62 of the glass sheet G along path 66, or the intersection of the laser sheet 60 and the first surface 62 of the glass sheet G. For a planar glass sheet G, the path 66 is linear. For a curved glass sheet G, the path 66 may vary with the curvature of the sheet G along the surface 62 as the laser sheet 60 interacts with the curved surface.
The laser sheet 60 excites material of the glass sheet G at the first surface 62 and causes luminescence at the first surface 62. The glass sheet G fluoresces along the laser line 66 excitation to emit a wavelength λ2 that is longer than λ1. In the present example, the emitted light 70 from the glass sheet G is at a wavelength λ2 that is in the visible range or in the near-ultraviolet range, and appears as a line 68 along the surface 62 and line 66 of excitation.
The emitted light 70 is detected by a detector such as a camera 72. The camera may be provided with a charge-coupled device (CCD) image sensor or a complementary metal-oxide semiconductor (CMOS) image sensor. In the present example and as shown in
In other examples and as shown in
In
Referring back to
The computer 80 receives image data from the camera 72. The computer 80 forms a matrix or point cloud using data from the image, e.g. cells in the matrix associated with positions on the surface 62 of the glass sheet, or as an array of points in the point cloud associated with positions on the surface 62 of the glass sheet. The image data may be provided as a series of greyscale values, with each value ranging from 0 to 255, if based on an 8-bit greyscale. In other examples, the image data may be provided as a series of RGB signals corresponding to each of the red, green and blue segments or color components as detected by the camera sensor, may be provided based on a different color space and color model, or may be provided as another bit value. Further details of the data acquisition, and data processing pre-cloud and post-cloud are provided below with reference to
At step 202, a first wavelength, such as an ultraviolet wavelength, is selected based on the transmissivity of the glass sheet, with the first wavelength selected to be substantially non-transmissive through the glass sheet. At step 204, a planar light sheet is formed at the first wavelength, for example, using an ultraviolet laser.
At step 206, the optical system 14 is calibrated. The camera(s) and the laser(s) are each calibrated. A checkerboard chart or other known, planar calibration surface is provided in place of the glass sheet G and at approximately a middle z-distance of the glass sheet G, or in the middle of a bounding box defined for the camera(s). The bounding box for the cameras is defined as a three-dimensional space which allows for sufficient vertical depth or depth of field to contain the upper and lower bounds of the glass sheet G, while omitting any underlying support surfaces of fixtures. In one example, the bounding box has a depth of approximately 10-15 cm, although other dimensions are envisioned based on the specifics of the part.
The position of the calibration chart is therefore known and provides the basis for a global coordinate system for the bounding box. The camera is calibrated based on a stationary calibration chart, and camera settings are selected including focal length, exposure, aperture, gain, and the like.
The laser is also calibrated. For a laser that is oriented with the laser sheet extending along the z-axis, or in a x-z plane, the camera(s) detect the location of the laser sheet relative to the calibration chart and associates this position with the global coordinate system. For a laser that is not in the x-z plane, additional gauging steps may be needed to provide the laser sheet position to the global coordinate system. Laser settings are selected including intensity and frequency. The camera and laser calibration relative to the calibration chart and global coordinate system are later used with reference to the determination of z-coordinate of the surface at step 214.
At step 208, the planar light sheet is directed to a glass sheet, for example using associated optics, and the surface of the glass sheet is excited such that light is emitted at a second wavelength, such as a visible wavelength, along a path of intersection between the planar light sheet and the surface of the glass sheet facing the light source.
At step 210, a series of data indicative of a series of visible wavelength lines is measured or detected using one or more cameras, with each camera imaging a region of interest of the glass sheet G. For a single camera system 14, the camera 72 may detect each line detected across the panel, or in a region of interest on the panel. For a multi-camera system 14, each camera 72 may be directed to separate, overlapping regions of interest of the glass sheet G and detect each line within the region of interest.
At step 212, each visible wavelength line is processed and analyzed to determine first and second coordinates, e.g. (x, y) coordinates, in a series of coordinates associated with each line, and the coordinates are stored in a matrix or point cloud associated with the camera.
The computer 80 processes the image using the image processor unit 82. A section of a representative sample image is provided in
The computer 80 and image processor 82 may process the image to reduce noise, for example, by applying thresholds to the image, normalizing the image, transforming the image using a fast Fourier transform, and the like. In one example, the image is filtered using a median filter for noise reduction, including speckle noise. The need for a noise reduction step may increase with increased camera gain settings.
The computer 80 and image processor 82 select a line width region in the image based on an indicated line width size input and a minimum intensity. By selecting a line width region, a reduced region of the image is used in processing and determining coordinates in later steps. For example, the indicated line width may be selected as a nominal value with a tolerance factor. In one example, the nominal line width is selected in the range of 3-10 pixels, and the tolerance is selected in the range of 1-5 pixels. In another example, the nominal line width is selected in the range of 4-6 pixels, and the tolerance is selected in the range of 2-3 pixels. In a further example, the indicated line width is selected as having a minimum width of one pixel. The intensity is also selected as an input and may be based in part on an expected intensity of the fluoresced line at the associated frame rate, and to eliminate pixels containing background noise from being included unnecessarily. In various examples, the minimum intensity is selected on a greyscale of 5/255, 10/255, 20/255, 30/255, or another value. An example of a selected line width region is shown as region 250 in
While the glass sheet G is transparent to the light emitted at the visible, second wavelength λ2, and the light emitted from the surface 62 may pass through and/or reflect from the other surface 64, experiments have shown that any reflection from the rear surface 64 has a very low signal and may generally be lost as noise. For example, reflections of the emitted line 68 on the rear surface 64 are on the order of 5 out of 255 on a greyscale in the captured image, while the primary emission line 68 is on the order of 20-100 out of 255 on the greyscale, such that the reflected signal may be considered noise. Furthermore, based on the position of the reflected line in the image and spacing from the primary visible line, the reflected line may be excluded from or outside the bounds of the selected line width region 250 such that it is not further considered in the data processing. For cases where the reflected line is sufficiently close to the emitted line 68 such that it cannot be reasonably excluded using the line width region 250, the reflected line may be included in the data processing; however, the data processing is not significantly affected due to the low signal of the reflected line. Alternatively and in the presence of a second reflected line, the data processing may select the fluorescing line by accounting for the camera geometry, the location of the lines based on panel, the higher brightness of the fluoresced line in comparison to the reflected line, and other factors. The data processing may further receive an input as to the material of the panel G. For example, a reflected line may be expected for an image of tin-side float glass, while a reflected line may not be present for an image of air-side float glass.
The computer 80 and image processor 82 determine or calculate points along a model line based on the image data and the greyscale levels of the pixels in the visible fluoresced line. As can be seen from the sample image, the emitted light from the surface 62 may be captured as extending across multiple pixels in the y-direction within the region 250. As such, the computer 80 calculates the points for a model line based on the greyscale values in the pixels as a series of coordinates or (x, y) datasets. The calculated points in the model line 100 are overlaid on
In one example, the computer and image processor may average groups of adjacent pixels to find each point and (x, y) dataset as an estimated center of the model line, and may provide one (x, y) dataset for each pixel in the x-direction in the image. In other examples, the computer and image processor may conduct a weighted average of pixels to find each point and (x, y) datasets as an estimated center of the line. The computer and image processor may calculate the points and (x, y) datasets using a distribution function with the pixel values, such as a Gaussian distribution, average or mean widths, or other mathematical functions. The computer and image processor may alternatively use a known, commercially available imaging library processing tool or software to determine values for the datasets using the pixel data.
The computer 80 then inputs the series of (x, y) datasets into associated cells in the matrix, or into a point cloud. The dataset may include a series of coordinates from the model line as determined from the image. Each dataset may include an (x, y) value corresponding to the location of the surface 62 of the glass sheet G in an x-y plane that collectively define the model line 100 and is linked to the global coordinate system.
The matrix may be filled similarly to a linescan image, with each row in the matrix filled using the coordinates from a model line from each image from the glass sheet G, and with subsequent images filling subsequent rows. Likewise, a point cloud may be constructed from sequential images of a glass sheet G. In one example, the matrix may have a cell and set of coordinates associated with each pixel in the x-direction from the image. In other examples, the matrix may have one cell and set of coordinates associated with multiple adjacent pixels, such that the computer conducts an averaging step or the like prior to entering the data. In some examples, the matrix or point cloud may be thinned, for example, by omitted every nth dataset collected.
At step 214, a third coordinate, such as a (z) coordinate, is triangulated using a position of the laser, a position of the camera, and the first and second coordinates, and is stored in the matrix or point cloud. The computer 80 then calculates a z-value for each set of (x, y) coordinates associated with the z-location of that set of coordinates on the surface 62 of the glass sheet G. The z-value is calculated using the (x, y) values from a set of coordinates in each cell as well as the positioning of the laser and camera from the inspection system 14 in a triangulation calculation as described below with reference to
At step 216, a three-dimensional map of the surface of the glass sheet is then created from the matrix or point cloud as a function of the series of coordinates for each of the series of visible wavelength lines for a glass sheet G for the camera.
Steps indicated by region 218 are performed for each camera, or data from each camera. For a single camera system, step 216 results in a final matrix or point cloud for the surface of the glass panel G.
For a multi-camera system 214, an additional step 220 is provided to combine the matrices or point clouds from the different cameras into a single matrix or point cloud representative of the glass sheet G.
In
In
As the laser light does not pass through the glass sheet G, only the surface 62 facing the inspection system luminesces. As such, the matrix with series of coordinates provides a three-dimensional, high resolution, mathematical model of the surface 62 of the glass sheet G by way of the series of (x, y, z) coordinates. In one example, the matrix provides a mathematical model with over one million sets of coordinates for a sheet G. For example, the model may have point density of 1,000,000 sets of coordinates per square meter of sheet surface 62, or on the order of one set of coordinates per square millimeter of sheet surface 62.
In the examples described with respect to
In further examples, the optical inspection system 14 may be used to inspect the second side 64 of the glass sheet G, and create a corresponding three-dimensional matrix or point cloud representative of the surface 64 of the sheet G.
The matrix or point cloud for the glass sheet G provide a high resolution three-dimensional map of the surface of the glass sheet G. The coordinates in the matrix may be used in comparison with a mathematical model of the glass sheet G to determine if the shape of the glass sheet is within a specification for the shape, e.g. the curvature. Furthermore, the coordinates in the matrix may be used in comparison with a mathematical model of the glass sheet G to determine if the surface of the glass sheet G is within a specification or standard for optical reflectance from the surface.
The matrix and resulting model may be used with the system 10 to provide gauging for the glass sheet G, as a pass/fail inspection system to correct for drift in the manufacturing process or prevent the system 10 from going out of specification, to create an optical reflectance model for the glass sheet G.
The computer(s) 16, 80 may be programmed to present information related to the three-dimensional map from the matrix in graphical (e.g., color-coded images) and/or statistical forms. In various examples, statistical data can be derived and reported for the glass sheet or predefined areas of the glass sheet, including z-distances, standard deviations, and other surface fairing or optical reflectance metrics.
The inspection system 14 may also include a glass sheet part identifier, which may be provided by camera 72 or another element, to identify the glass sheet as one of a set of known part shapes stored in memory in the computer 80, with each known part having an associated shape standard, and optical reflectance standard for comparison to the map in the matrix. The system 10, 14 may be programmed by the user to graphically and/or numerically display various optical or shape indicia of the glass sheet G detected by apparatus 14, for example, via a user interface and display screen 20, including those indicia most relevant to industry standards, or other indicia considered relevant in the industry to the analysis of the optical reflectance quality of formed and fabricated glass sheets. The system 10 may, as well, be programmed to display the locations of small defects identified by apparatus 14.
Selected data output by the disclosed in-line optical inspection system 10, 14 may also be provided as input to the control logic for an associated glass sheet heating, bending, and tempering system (or automotive windshield fabrication system) to allow the control(s) for one or more of the stations the glass sheet system to modify its(their) operating parameters as a function of the optical data developed from previously processed glass sheets.
At step 302, a matrix or point cloud for a surface of a glass sheet G as determined above using the optical system and method 200 is input into a processor unit by the computer 80. The matrix may be representative of an entire first surface of the glass sheet G, or may include datasets for only a selected surface region of the glass sheet G.
At step 304, the computer 80 refers to an appropriate gauge model for the glass sheet G. The gauge model may be provided using computer aided design (CAD) models and/or data, or other mathematical models or representations of dimensions or shapes. The computer may determine the correct gauge model to use from one of several models stored in memory for glass sheets G of various shapes and/or sizes. The computer 80 then inputs the selected gauge model into the processor.
At step 306, the computer 80 determines invariant metric data for the glass sheet in comparison to the gauge model. In one example, the computer may determine z-distance distances for the datasets or surface of the glass sheet G in comparison to the gauge model. The computer may calculate a normal vector distance from each of the datasets or surface of the sheet G to the gauge model. Alternatively, the computer may calculate a vertical distance, or z-distance from the each of the datasets or surface of the sheet G to the gauge model.
The computer may be configured to gauge the entire glass sheet G with reference to the matrix or point cloud. In other examples, the computer may gauge only selected region(s) or portion(s) of the glass sheet G or have additional gauging points in specified regions, e.g. a perimeter region, or a region intended for optical use such as a with a heads up display or a camera or other sensor. In one example, the computer uses selected regions of the glass sheet G to simulate a contact gauging method.
In further examples, and as shown as optional block 308 in broken lines, the computer may perform calculations or sub-routines on neighborhoods of points to provide a post-processed surface datapoint or dataset for use in determining the invariant metric. In one example, the computer performs an interpolation, an averaging, or another mathematical function such as thresholding or the like on adjacent points or datasets to calculate a post-processed dataset for that neighborhood. This may provide improved gauging and invariant metrics by eliminating outlier datasets such as those caused by surface dust, etc.
In other examples, the computer may determine standard deviations of the z-distances, or another invariant metric for the surface and the glass sheet G, such as a calculated radius of curvature, or other shape gauging metric. The invariant metrics may be entered in a gauging matrix or point cloud for the glass sheet G.
At step 310 the computer 80 outputs the information related to the gauging of the surface, including any invariant metrics, e.g. the gauging matrix. The computer may further analyze information in the gauging matrix to determine if one or more metric exceeds a threshold value. The computer may additionally provide information related to the gauging to a user, for example, via a color-coded map of the glass sheet or via numerical or other forms of presentation, such as a table. The computer may additionally provide information from the gauging to a manufacturing process step for the glass sheet G as a part of a control feedback loop.
The method 300 provides for non-contact gauging of the surface and of the glass sheet G, allows for on-line monitoring and inspection of parts, and allows for rapid and easy gauging of a series of different parts, or use of multiple gauge models. Furthermore, non-contact gauging via method 300 provides for reduced time and expenses associated with gauging a part, as the gauge model may be easily created, changed, or updated using CAD data, and does not require the use of precision measurement gauging tools for contact gauging that are part specific.
At step 352, a matrix or point cloud for a surface of a glass sheet G as determined above using the optical system and method 200 is input into a processor unit by the computer 80. The matrix may be representative of an entire first surface of the glass sheet G, or may include datasets for only a selected surface region of the glass sheet G.
At step 354, the computer 80 performs post-processing operation(s) on the matrix or point cloud. In one example, the computer 80 modifies or denoises the matrix or point cloud to remove certain points or artifacts from the point cloud. For example, the computer 80 may remove or modify points in the point cloud that are adjacent to or within a specified distance, e.g. one to two millimeters, of the edge of the panel G to remove points that have an edge effect or bias in their measured location, e.g. caused by a beam steering effect, and/or a bias in the calculated line center that is introduced based on the width of the laser line or visible light in conjunction with the edge of the panel running non-perpendicularly to the line or sheet. Additionally, fluorescent, visible light may appear immediately outside of the panel G and may be caused for example by a grind or other parameter of the panel causing propagation of the light, thereby causing additional artifact points in the point cloud or matrix. In one example, these inaccurate or artifact points form a curve having an opposite curvature sign than the adjacent panel G, or a knee in a curve is formed between the inaccurate or artifact points and the adjacent panel G, such that the computer 80 may truncate or delete these points from the point cloud or matrix using the inflection point or the knee as the boundary. Although this denoising step is described with respect to denoising a point cloud created when measuring the surface of a glass sheet G using fluoresced visible light from a laser sheet, the denoising step may also be applied to other vision and measurement systems for use in denoising edge effects.
The computer 80 also performs a denoise algorithm on the point cloud or matrix at step 354. According to one example, denoising may be provided by averaging of normal vectors in a neighborhood of datasets, and then updating the datasets using the averaged normal vector to create a post-processed dataset that matches the change of the normals. In one non-limiting example, a point cloud of datasets is triangularly meshed with each dataset acting as a vertice. In other examples, other mesh shapes may be used. For each mesh triangle, a normal vector is calculated. Diverging normal vectors may be indicative of noise in the point cloud, while converging normal vectors may be indicative of a smoother surface for the point cloud. The point cloud is smoothed by averaging or otherwise mathematically combining normal vectors for neighborhoods or groupings of mesh triangles, and the neighborhoods may be defined as meshes sharing a common vertice or sharing common edge(s). Each averaged normal vector is used to adjust the coordinates for the associated vertice to create a post-processed vertice or dataset in a post-processed, denoised point cloud or matrix. In other examples, other denoising algorithms may be provided and may be based on mathematical algorithms associated with surface fairing techniques such as those described by: Gabriel Taubin “A signal processing approach to fair surface design” SIGGRAPH '95 Proceedings of the 22nd annual conference; Hirokazu Yagou, et al “Mesh Smoothing via Mean and Median Filtering Applied to Face Normals” GMP '02 Proceedings of the Geometric Modeling and Processing—Theory and Applications (GMP '02); Shachar Fleishman, et al “Bilateral mesh denoising” SIGGRAPH '03 ACM SIGGRAPH 2003 Papers; and Thouis R. Jones, et al “Non-iterative, feature-preserving mesh smoothing” SIGGRAPH '03 ACM SIGGRAPH 2003 Papers.
According to another non-limiting example, the computer 80 performs a denoise algorithm on the point cloud or matrix using a moving least squares method to smooth and interpolate the data. According to the present disclosure and for a given data point in the point cloud, a number of neighboring points in the point cloud are least squares fit to a function by the computer 80. In one example, the function may be a polynomial. A post-processed data point is determined by moving the original given point in the point cloud to the determined polynomial surface. The computer 80 iterates the denoising through the point cloud to create a post-processed, denoised point cloud or matrix. Examples of a moving least squares method and its application to surfaces may be found in Lancaster, Peter, and Kes Salkauskas, “Surfaces generated by moving least squares methods,” Mathematics of computation 37.155 (1981): 141-158; and Alexa, Marc, et al. “Computing and rendering point set surfaces.” IEEE Transactions on visualization and computer graphics 9.1 (2003): 3-15.
At step 356, the computer 80 determines or calculates one or more invariant metrics of the surface from post-processed datasets in the denoised matrix or point cloud, or for one or more selected regions of the surface. Invariant metrics may include horizontal curvature, vertical curvature, radius of curvature, principal curvature, Gaussian curvature, mean curvature, derivatives or rates of change of one or more of the curvatures, diopter or optical power metrics, and the like.
At step 358, the computer may determine if the invariant metrics indicative of optical reflectance of the surface are within an optical reflectance specification designated for the surface of the glass sheet G, or a region of the surface. The computer may compare one or more of the invariant metrics to a corresponding design metric for the glass sheet G. For example, the optical reflectance specification may be a standard or thresholded invariant metric for the glass sheet G. In one example the specification includes a metric such as a calculated curvature from a computer-aided engineering (CAE) model or other model data for the glass sheet G. The computer may compare invariant metrics to threshold values or create a color-coded map or other visual output to indicate if the glass sheet or a region of the glass sheet is within the predetermined specification, or to compare the surface to the predetermined specification. In further examples, the computer may use a mathematical function of more than one invariant to provide a score or other indication of the optical reflectance in comparison to the specification that weights or otherwise factors the different invariants and regions of the surface as it relates to the optical reflectance.
At step 360, and in some embodiments, the computer 80 determines or calculates variant metrics for the glass sheet G. In one example, the computer 80 creates a simulated reflected grid, zebraboard, or other image for a simulated visual representation of the optical reflectance and any distortion. The computer algorithm used to create the simulated reflected image may use techniques such as ray tracing using the post-processed vertices in the denoised matrix and the normal vectors calculated from each of the post-processed vertices. For example and with reference to the use of ray tracing, a ray from the post-processed vertice in the denoised point cloud strikes a virtual camera at a pixel at an angle to the normal vector, and since angle of incidence is equal to angle of reflection, a ray from the same post-processed vertice on the point cloud is therefore known and the point of intersection with a virtual gridboard may be determined. A reflected image such as a reflected gridboard or zebraboard may then be constructed using the pixels on the virtual camera and the points on the virtual gridboard, as they correspond one-to-one. The algorithm used by the computer to simulate the reflected grid or zebraboard may be tuned or calibrated by using a real reflected image of a grid or zebraboard at the same angle of incidence, camera settings, etc. as were used in the algorithm. In a further example, the computer may assemble a series of simulated grids or simulated zebraboards, for example, taken at varying angles of incidence, to provide a movie or flipbook of the zebraboards for visual display to a user to simulate the user scanning a zebraboard from changing positions relative to the zebraboard.
At step 362, the computer 80 outputs the information related to the simulated optical reflectance and distortion of the surface, including any variant or invariant metrics, visual representations or mapping of invariant data or the simulated zebraboard, or other calculations or simulations. In one example, the computer 80 display the information on a display screen or other user interface.
The method 350 provides for non-contact inspection and determination of the optical reflectance and any distortion of the surface and of the glass sheet G, allows for on-line monitoring and inspection of parts, and allows for rapid and easy inspection of a series of different parts. Furthermore, non-contact optical reflective inspection via method 350 provides for reduced time and expenses associated with inspecting a part, and may additionally provide non-subjective metrics for use in determining if the part has passed the specification.
In other examples, and depending on the manufacturing technique used to form the glass sheet, the first and second surfaces 62, 64 may emit light at different wavelengths in response to excitation from the laser 50. In one example, the glass sheet G is formed using a float glass process and has a higher concentration of tin on one surface compared to the other surface. In this scenario, the surface with the higher tin concentration fluoresces at a different intensity and/or wavelength than the other surface, and the inspection system may further be used to identify one side of the sheet from the other based on the different intensity and/or wavelength λ2 of the emitted light. For example, for a glass sheet with a first surface having a higher tin concentration than a second surface, the first surface may fluoresce at a different intensity and/or wavelength than the second surface, and furthermore the first surface may fluoresce at a high intensity and/or shorter wavelength than the second surface. Furthermore, the control unit and computer 80 may modify the intensity of the laser 50 based on the surface of the glass sheet that is facing the laser, and/or adjust camera settings such as gain or image processing settings. For example, for a glass sheet with a first surface with a higher tin concentration than a second surface, the laser intensity may be reduced for the first surface compared to the second surface, e.g. to prevent oversaturation of the camera sensor. Alternatively or additionally, the gain may be increased for the second side, or additional image processing steps for noise reduction may be needed for the second side.
Furthermore, a system 10 may be provided with more than one optical inspection system 14, for example, for use with larger glass sheets G, for decreased scanning times, or for increased accuracy of measurement.
By using a system 14 with a light source that is non-transmissive to the glass sheet G, a measurement of a surface of the sheet G may be provided, issues arising in other systems using visible light to interrogate the glass sheet and resulting scatter or reflectance from both the front and rear surfaces 62, 64 are also avoided. Similarly, the measurement of the light emitted from the glass sheet G is simplified by being in the visible spectrum such that ultraviolet sensors are not required.
In further embodiments, the optical system may be used to form a three-dimensional surface map for an object other than a glass sheet G. In one, non-limiting example, an optical system with a laser emitting light in another wavelength, such as a visible wavelength, may be used to scan an object having a diffuse surface. The optical system uses one or more camera(s) with the methods as described above to determine a three-dimensional surface map of the diffuse surface.
While various examples of the disclosure are described above, it is not intended that these embodiments describe all possible forms of the invention. Rather, the words used in the specification are words of description rather than limitation, and it is understood that various changes may be made without departing from the spirit and scope of the disclosure. Additionally, the features of various implementing embodiments may be combined to form further embodiments.
This application is the U.S. national phase of PCT Appln. No. PCT/US2019/043180 filed Jul. 24, 2019, which claims the benefit of U.S. Provisional Application No. 62/702,617 filed Jul. 24, 2018, the disclosures of which are hereby incorporated in their entirety by reference herein.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2019/043180 | 7/24/2019 | WO |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2020/023599 | 1/30/2020 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
4746020 | Schenk | May 1988 | A |
5243402 | Weber et al. | Sep 1993 | A |
5289267 | Busch et al. | Feb 1994 | A |
5416589 | Fysogorski | May 1995 | A |
5438417 | Busch et al. | Aug 1995 | A |
5463464 | Ladewski | Oct 1995 | A |
5465153 | Ladewski | Nov 1995 | A |
5517575 | Ladewski | May 1996 | A |
5566243 | Baller et al. | Oct 1996 | A |
5680217 | Yli-Vakkuri | Oct 1997 | A |
6226080 | Takeuchi et al. | May 2001 | B1 |
6275286 | Haubold et al. | Aug 2001 | B1 |
6392754 | Pingel et al. | May 2002 | B1 |
6437357 | Weiss et al. | Aug 2002 | B1 |
6448549 | Safaee-Rad | Sep 2002 | B1 |
6501546 | Weiss | Dec 2002 | B1 |
6509967 | Pingel et al. | Jan 2003 | B1 |
6512239 | Weiss et al. | Jan 2003 | B1 |
6570651 | Haubold et al. | May 2003 | B1 |
6633377 | Weiss et al. | Oct 2003 | B1 |
7292332 | Gerstner et al. | Nov 2007 | B2 |
7453563 | Rudert et al. | Nov 2008 | B2 |
7499812 | Ersue et al. | Mar 2009 | B2 |
7554678 | Pingel et al. | Jun 2009 | B2 |
7602507 | Ersue et al. | Oct 2009 | B2 |
7639349 | Ersue et al. | Dec 2009 | B2 |
7796276 | Schipke et al. | Sep 2010 | B2 |
7920257 | An et al. | Apr 2011 | B2 |
8059151 | Ersue et al. | Nov 2011 | B2 |
8064069 | Wienand et al. | Nov 2011 | B2 |
8242477 | Lopatin | Aug 2012 | B2 |
8284396 | Rudert | Oct 2012 | B2 |
8295585 | Wienand et al. | Oct 2012 | B2 |
8427656 | Hullin et al. | Apr 2013 | B2 |
8520067 | Ersue | Aug 2013 | B2 |
9091533 | Bachem et al. | Jul 2015 | B2 |
9535002 | Kubiak | Jan 2017 | B2 |
9618671 | Gaydoul et al. | Apr 2017 | B2 |
9709390 | Uxen et al. | Jul 2017 | B2 |
9797833 | Weigt | Oct 2017 | B2 |
9818021 | Kubiak et al. | Nov 2017 | B2 |
9992840 | Wolfing et al. | Jun 2018 | B2 |
10289895 | Kubiak et al. | May 2019 | B2 |
20070002313 | Berg et al. | Jan 2007 | A1 |
20070216332 | Lambert et al. | Sep 2007 | A1 |
20090129682 | Ersue et al. | May 2009 | A1 |
20110057120 | Ostendarp et al. | Mar 2011 | A1 |
20120098959 | Addington | Apr 2012 | A1 |
20140240489 | Furnas | Aug 2014 | A1 |
20150070487 | Agbuga | Mar 2015 | A1 |
20150085080 | Hollenbeck | Mar 2015 | A1 |
20150109615 | Muller et al. | Apr 2015 | A1 |
20170124715 | Tin | May 2017 | A1 |
20180209918 | Tarantino | Jul 2018 | A1 |
20190082516 | Wolfing et al. | Mar 2019 | A1 |
20190178816 | Kubiak et al. | Jun 2019 | A1 |
20190385295 | Nakanishi | Dec 2019 | A1 |
Number | Date | Country |
---|---|---|
101676232 | Apr 2014 | CN |
103936265 | Jun 2016 | CN |
205426762 | Aug 2016 | CN |
207215615 | Apr 2018 | CN |
108053367 | May 2018 | CN |
10061070 | Jun 2002 | DE |
4301546 | Aug 2002 | DE |
10045105 | Sep 2002 | DE |
10111729 | Sep 2002 | DE |
20307305 | Jul 2003 | DE |
102004005019 | Aug 2005 | DE |
202005003352 | Jul 2006 | DE |
102005009606 | Aug 2006 | DE |
102005010552 | Jan 2007 | DE |
19511707 | Sep 2007 | DE |
10104355 | Feb 2010 | DE |
202009017763 | May 2010 | DE |
102010021853 | Apr 2012 | DE |
102015105128 | Oct 2016 | DE |
102018108874 | Oct 2019 | DE |
747664 | Dec 1996 | EP |
0763406 | Feb 2000 | EP |
0911603 | Jun 2001 | EP |
0747664 | Aug 2001 | EP |
2363684 | Sep 2011 | EP |
2691799 | Aug 2020 | EP |
2975776 | May 2011 | FR |
2559157 | Aug 2018 | GB |
S63229313 | Sep 1988 | JP |
H8334319 | Dec 1996 | JP |
2000146542 | May 2000 | JP |
2001318056 | Nov 2001 | JP |
2005345383 | Dec 2005 | JP |
2007128467 | May 2007 | JP |
2008536127 | Sep 2008 | JP |
2010053030 | Mar 2010 | JP |
2017020880 | Jan 2017 | JP |
2018009888 | Jan 2018 | JP |
2467283 | Nov 2012 | RU |
2467310 | Nov 2012 | RU |
2006092320 | Sep 2006 | WO |
2010096890 | Sep 2010 | WO |
2012098430 | Jul 2012 | WO |
2015155070 | Oct 2015 | WO |
2015169730 | Nov 2015 | WO |
2017075275 | May 2017 | WO |
Entry |
---|
Rantoson et al., Optimization of transparent objects digitization from visible fluorescence ultraviolet induced, Mar. 2012,Optical Engineering 51(3), 033601 (Year: 2012). |
European Extended Search Report for Application No. 19839886.9, dated Feb. 25, 2022, 8 pages. |
Indian First Examination Report for Application No. 202117003847, dated Dec. 19, 2022, 7 pages. |
Alexa et al., “Computing and Rendering Point Set Surfaces”, IEEE Tvcg 9(1), Jan. 2003, 12 pages. |
Fleishman et al., “Bilateral Mesh Denoising”, School of Computer Science, Tel Aviv University, 2003, 4 pages. |
International Preliminary Report for PCT Application No. PCT/US2019/043180, dated Feb. 4, 2021, 10 pages. |
International Search Report and Written Opinion for PCT Application No. PCT/US2019/043180, dated Oct. 15, 2019, 11 pages. |
Jones et al., “Non-Iterative, Feature-Preserving Mesh Smoothing”, ACM SIGGRAPH, 2003, 7 pages. |
Lancaster et al., “Surfaces Generated by Moving Least Squares Methods”, Mathematics of Computation, vol. 37, No. 155, Jul. 1981, 18 pages. |
Liu et al., “Automatice least-squares projection of points onto point clouds with applications in reverse engineering”, Computer-Aided Design 38, 2006, pp. 1251-1263. |
Miyazaki, “Measuring Surface Shape of Transparent Objects Based on the Analysis of Polarization, Thermal Radiation and Geometrical Property”, A Master Thesis, Graduate School of the University of Tokyo, Feb. 5, 2002, 83 pages. |
Rantoson et al, “Optimization of transparent objects digitization from visible fluorescence UV-induced”, Optical Engineering, Mar. 2012, 16 pages. |
Fleishman et al., “Robust Moving Least-squares Fitting with Sharp Features”, 2005, 9 pages. |
Taubin, “A Signal Processing Approach To Fair Surface Design”, IBM T.J. Watson Research Center, 1995, 8 pages. |
Xu et al., “A geometry and optical property inspection system for automotive glass based on fringe patterns”, Optica Applicata, vol. XL, No. 4, 2010, 15 pages. |
Yagou et al., “Mesh Smoothing via Mean and Median Filtering Applied to Face Normals”, Proceeding of the Geometric Modeling and Processing—Theory and Applications, 2002, 8 pages. |
Zhao et al., “Parameters influence of windshield curvature on pedestrian head injuries based on reverse engineering”, IOP Conf. Series, Journal of Physics, Series 1213, 2019, 7 pages. |
Russian Notice of Acceptance and Search Report and English translation for Application No. 2021103034, dated Jan. 25, 2023, 19 pages. |
Israel Office Action for Application No. 280324, dated Nov. 19, 2023, 4 pages. |
Taiwan Office Action and Search Report and English translation for Application No. 108137112, dated Nov. 22, 2023, 19 pages. |
Japanese Office Action and English translation for Application No. 2021-503154, dated Sep. 5, 2023, 13 pages. |
Mexican Examination Report for Application No. MX/a/2021/000993, dated Dec. 13, 2023, 10 pages. |
Japan Office Action with English translation for Application No. 2021-503154, dated May 2, 2024, 8 pages. |
Chinese Office Action with English Translation for Application No. 201980049399.3, dated May 30, 2024, 16 pages. |
Korean Office Action with English Translation for Application No. 10-2021-7004917, dated Jul. 16, 2024, 5 pages. |
Number | Date | Country | |
---|---|---|---|
20210304396 A1 | Sep 2021 | US |
Number | Date | Country | |
---|---|---|---|
62702617 | Jul 2018 | US |