Abstract:
Systems and methods are provided for targetless optical measurement and optical information projection. A non-contact optical measurement device is provided for determining at least one of position and orientation of a workpiece. A projector is provided for projecting a part definition on the workpiece. Advantageously, beams from the non-contact optical measurement device and the projector pass through common optics.

Description:
FIELD OF THE INVENTION 
   This invention relates generally to metrology and, more specifically, to optical measurement systems and methods. 
   BACKGROUND OF THE INVENTION 
   In manufacturing operations, complicated assemblies and contoured parts are often mated to other complicated assemblies and parts. A variety of techniques are currently used to locate the assemblies and parts for mating. 
   For example, some assembly techniques use factory aids such as templates that are made out of paper, Mylar™, or the like to find reference targets for accurately placing smaller parts on larger parts. These factory aids are subject to wear and tear and, as a result, are replaced from time-to-time. The factory aids must be replaced when engineering changes are made. Also, errors may be made by manufacturing personnel when using the factory aids. All of these aspects of the factory aids introduce additional costs into the manufacturing operation. 
   In other assembly techniques, a laser tracker measures coordinates of a number of reference targets of known design points on a large part. In this case, the large part is assumed to have been built identically to a defined design. This technique allows the laser tracker to “buck” into the part&#39;s coordinate system, or to locate precisely the coordinate system of the tracker with respect to the coordinate system of the part. When a smaller part is to be mounted onto a larger part, a laser tracker with a visible beam points onto the larger part and can thus designate the mounting position to guide the mechanic in the assembly. 
   However, this technique only gives one point indicating the location of the part. Typical laser trackers are not able to directly measure the coordinates of the mounted hardware relative to the reference targets or other mounted hardware. This is because typical laser trackers only measure off retro-reflective targets, and because the line-of-sight path between the laser and the retro-reflective targets is blocked. 
   Use of retro-reflective targets introduces additional time and labor costs into manufacturing operations. Most retro-reflectors must be positioned within a small range of angles to be useful, so time and effort are expended setting up the targets. Further, the retro-reflectors must be periodically pointed and re-pointed to remain within the useful range of angles. Because of their angle-sensitivity and time requirements, retro-reflectors are not able to be used to make measurements in a production line as part of the production process. Instead, retro-reflectors are typically set up and measurements are typically performed on back shifts, such as a midnight shift, when production operations are not being performed. 
   Further, laser trackers cannot provide the factory aid function described above, such as would provide information about how the part should be oriented. If information regarding orientation of the part is desired, then the desired orientation information is currently provided by a different system using a different laser that passes through a laser galvanometer scanner that is positioned next to the laser tracker. The scanner motor and mirrors are much more agile than those of the laser tracker, such that a pattern may be drawn at an update rate that appears to be a projected pattern. 
   To project the pattern, the projector needs to know the part definition and the position of the tool and/or workpiece onto which it projects the pattern. The laser radar allows the projector to acquire the position of the tool and/or workpiece. Because known systems use a separate tracker and a separate projector, the relative positions of the tracker and the projector need to be known and resolved, especially when operating at tolerances on the order of 1/1000 inch or less for critical operations. 
   It would be desirable to perform measurements without retro-reflectors and project information using a single system. However, there is an unmet need in the art for a system and method for performing measurements without retro-reflectors and for projecting information with the same system. 
   SUMMARY OF THE INVENTION 
   Embodiments of the present invention provide a system and method for targetless optical measurement and optical information projection. According to the present invention, one system is used instead of two separate systems for measuring and for projecting information. As a result, position of one system does not have to be calibrated relative to the other system. This can eliminate a major source of error in conventional systems between initial measurement of a part and relative positioning of projection of a pattern or information. This can also reduce cost of the system because elements are shared between measurement and projection functions. 
   Also, measurements can be made without use of retro-reflectors. As a result, embodiments of the present invention advantageously may be used to make measurements and project information on-line as part of the production process. This can cut flow time for assembly while enhancing accuracy and reducing undesired rework. 
   According to embodiments of the invention, systems and methods are provided for targetless optical measurement and optical information projection. A non-contact optical measurement device is provided for determining at least one of position and orientation of a workpiece. A projector is provided for projecting a part definition on the workpiece. Advantageously, beams from the non-contact optical measurement device and the projector pass through common optics. 
   According to another embodiment of the present invention, a system is provided for targetless optical measurement and optical information projection. A first non-time-of-flight laser is configured to project a first laser beam onto a surface of a part under measurement. A range measurement component is configured to receive reflection from the first laser reflecting off the surface of the part under measurement, and the range measurement component is arranged to determine range and orientation of the surface of the part under measurement relative to the first laser. A second laser is configured to project a second laser beam onto the surface of the part under measurement. The second laser beam has a wavelength within the visible light spectrum, and the second laser beam is co-aligned with the first laser beam. A scanning apparatus is configured to direct the second laser beam over the surface of the part under measurement in a pattern of visible light. 
   According to an aspect of the present invention, the first laser beam may be an infrared laser beam. In this case, the first laser and the range measurement component may be provided as a laser radar. If desired, the laser radar may be a chirped synthetic wave radar. 
   According to another aspect of the present invention, the first laser beam may have a wavelength within the visible light spectrum. In this case, the range measurement component may include a plurality of video cameras that are arranged to triangulate a spot that is defined by the first laser beam on the surface of the part under measurement. 
   According to another aspect of the present invention, the scanning apparatus may include first and second scanning mirrors that are driven by first and second scanning galvanometers, respectively, having first and second axes that are substantially perpendicular to each other. In this case, an envelope of the first and second laser beams scanned with the first and second mirrors maps out an approximate right pyramid. If desired, the scanning apparatus may further include a third mirror that is driven by a third scanning motor that is integrated with an angle encoder, such as a precision angle encoder. The third mirror is oriented around 45 degrees or so with respect to its rotation axis (that is substantially perpendicular to the axis of rotation of the second galvanometer). The third mirror may be driven substantially 360 degrees about the third axis. In this case, an envelope of the first and second laser beams scanned with the first, second, and third mirrors maps out a cylindrical shell with an angular width of the right pyramid. By incorporating commercial-off-the-shelf components, the scanning apparatus provides scanning capabilities of a gimbal at a fraction of the cost. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The preferred and alternative embodiments of the present invention are described in detail below with reference to the following drawings. 
       FIGS. 1A ,  1 B, and  1 C are high-level block diagrams of embodiments of the present invention; 
       FIG. 2  is a block diagram of optical components of the system of  FIG. 1B ; 
       FIGS. 3A and 3B  are perspective views of components of a scanning apparatus of the systems of  FIGS. 1A-1C ; 
       FIG. 4  is a top-level software block diagram of an embodiment of the present invention; 
       FIG. 5  is a functional block diagram of an exemplary geometric projection algorithm; 
       FIG. 6  is a flow chart of an exemplary routine for an image triangulation algorithm; and 
       FIG. 7  is a block diagram of exemplary electronic and optoelectronic components of the system of  FIG. 1B . 
   

   DETAILED DESCRIPTION OF THE INVENTION 
   Embodiments of the present invention provide a system and method for targetless optical measurement and optical information projection. According to the present invention, one system is used instead of two separate systems for measuring and for projecting information. As a result, position of one system does not have to be calibrated relative to the other system. This can eliminate a major source of error in conventional systems between initial measurement of a part and relative positioning of projection of a pattern or information. This can also reduce cost of the system because elements are shared between measurement and projection functions. Also, measurements can be made without use of retro-reflectors. As a result, embodiments of the present invention advantageously may be used to make measurements and project information on-line as part of the production process. 
   By way of overview and referring to  FIG. 1A , an exemplary embodiment of the present invention provides a system  10  for targetless optical measurement and optical information projection. A first non-time-of-flight laser  12  is configured to project a first laser beam  14  onto a surface  16  of a part  18  under measurement. A range measurement component  20  is configured to receive reflection  22  from the first laser  12  reflecting off the surface  16 , and the range measurement component  20  is arranged to determine range and orientation of the surface  16  relative to the first laser  12 . A second laser  24  is configured to project a second laser beam  26  onto the surface  16 . The second laser beam  26  has a wavelength within the visible light spectrum, and the second laser beam  26  is co-aligned with the first laser beam  14 . A scanning apparatus  28  is configured to direct the second laser beam  26  over the surface  16  in a pattern  30  of visible light. A processor  32  controls the first non-time-of-flight laser  12 , the second laser  24 , the range measurement component  20 , and the scanning apparatus  28 . 
   In one exemplary embodiment given by way of non-limiting example, the first laser beam  14  is an infrared laser beam. In another exemplary embodiment, the first laser beam  14  may be a visible laser beam or a near-infrared laser beam. Exemplary implementations of optical components, the scanning apparatus  28 , software components, and electronic components will also be explained. 
   Referring now to  FIG. 1B , in one embodiment of a system  10 A the first laser beam  14  is a near-infrared laser beam. The laser  12  may be a thermoelectrically cooled (TEC) laser, if desired. The first laser beam  14  suitably has a wavelength within a range from around 880 nanometers (nm) to around 950 nm. However, the first laser beam  14  may have any wavelength as desired for a particular measurement application. 
   In one presently preferred embodiment, the first laser beam  14  has a wavelength of around 880 nm. Advantageously, the first non-time-of-flight laser  12  may be provided (along with the range measurement  20 ) as a laser radar, such as without limitation a chirped synthetic wave (CSW) laser radar. Advantageously, a CSW laser radar has a signal-to-noise ratio that is high enough to measure coordinates of a randomly rough surface or feature (that is, a non-cooperative target). However, a CSW laser radar suitably may also be used to measure coordinates of a cooperative target, such as a retro reflector. CSW laser radars are known in the art. Given by way of non-limiting example, a suitable laser radar is described in U.S. Pat. No. 5,371,587, the entire contents of which are incorporated by reference. Details of signal processing for measuring range to the part  18  under measurement with a CSW laser radar are set forth in U.S. Pat. No. 7,307,700, the entire contents of which are incorporated by reference. 
   In addition to a CSW laser radar, any suitable type of non-time-of-flight laser metrology device may be used as desired for a particular measurement application. Given by way of non-limiting example, suitable types of non-time-of-flight laser metrology devices include, without limitation, laser radars based on frequency modulation, multi-tone frequency modulation, multi-tone amplitude modulation, coherent detection, and multi-wavelength frequency modulated interferometers, and the like. 
   Referring now to  FIGS. 1A and 1B , when the range to the part  18  under measurement is measured by the first laser beam  14  that has a wavelength that is within the infrared spectrum, optical information is communicated in the visible light spectrum by the second laser beam  26 . The laser  24  may be a thermoelectrically cooled (TEC) laser, if desired. In one presently preferred embodiment, the second laser beam  26  suitably is a green laser beam with a wavelength of around 532 nm. However, the second laser beam  26  may have any wavelength as desired within the visible light spectrum. In this exemplary embodiment, the second laser beam  26  is provided by the second laser  24  that is separate from the first non-time-of-flight laser  12 . For example, the second laser  24  suitably is a known laser, such as NVG, Inc.&#39;s model SM635-5 laser diode, operating at 635 nm, with 5 mW power. Such devices are commercially available at various wavelengths between 635 nm to 670 nm from a variety of vendors. 
   Referring now to  FIGS. 1A and 1C , in another embodiment of a system  10 B, the first laser beam  14  may have a wavelength within the visible light spectrum or within the near-infrared spectrum. In this case, the first laser beam  14  defines a spot  34  on the surface  16  of the part  18  under measurement. The near-infrared spectrum advantageously is invisible to the human eye and does not interfere with the normal work environment. 
   The range measurement component  20  suitably includes a plurality of video cameras  36  that are arranged to triangulate the spot  34  that is defined by the first laser beam  14 . However, if desired, the video cameras  36  may also triangulate on retro-reflective targets. The video cameras  36  suitably are digital cameras, such as charge-coupled device (CCD) digital cameras. By way of non-limiting example, a suitable CCD digital camera includes without limitation a Kodak Megaplus CCD digital output camera with 1320×1035 pixels and a maximum frame rate of around 10 Hz. Such digital cameras operate in both the near-infrared spectrum and the visible light spectrum. 
   The second laser beam  26 , operating within the visible light spectrum, is especially well-suited when the surface  16  of the part  18  under measurement is a randomly rough surface. Advantageously in this case, the first laser beam  14  and the second laser beam  26  may be generated from the same laser. However, the first laser beam  14  and the second laser beam  26  may be generated by separate lasers, if desired. 
   Referring now to  FIG. 2 , the first non-time-of-flight laser  12  may include lasers  12   a  and  12   b . The lasers  12   a  and  12   b  may be thermoelectrically cooled (TEC) lasers, if desired. Outputs of the lasers  12   a  and  12   b  are optically coupled to input terminals  38   a  and  38   b  of an optical splitter/combiner  40 . Optical transport among components described herein for laser beam generation suitably is accomplished with optical fibers. 
   An output terminal  42   a  of the optical splitter/combiner  40  is coupled to provide optical signals for reference channels  44   a ,  44   b , and  44   c . These reference channels are fixed reference lengths for absolute calibration, which reference lengths are measured simultaneously with each measurement of the distance to the part. 
   The output terminal  42   a  is coupled to an input terminal  46   a  of a splitter/combiner  48 . An output terminal  50   a  of the splitter/combiner  48  routes the modulated laser light to the reference channel  44   a . The modulated laser light is provided to an input terminal  52   a  of a splitter/combiner  54  and an input of a photodiode  56  is provided to an output terminal  52   b  of the splitter/combiner  54 . An output terminal  58   a  of the splitter/combiner  54  is coupled to an optical fiber  60  that has flat, polished fiber ends  62  and  64  that provide for partial reflection. The partial reflection defines the end points of the length of the reference channels, defined by the distance between the ends  62  and  64 . The light from the partial reflection propagates back through splitter/combiner  54  to the input of the photodiode  56  through output terminal  52   b  where they interfere on photodiode  56 . The electrical signal generated by photodiode  56  carries the information to measure the reference length signal of channel  44   a.    
   An output terminal  50   b  of the splitter/combiner  48  is coupled to an input terminal  66   a  of a splitter/combiner  68 . An output terminal  70   a  of the splitter/combiner  68  provides the modulated laser light to the reference channel  44   b , and an output terminal  70   b  of the splitter/combiner  68  provides the modulated laser light to the reference channel  44   c . The reference channels  44   b  and  44   c  are constructed similar to the reference channel  44   a . For the sake of brevity, details of their construction need not be repeated for an understanding of the present invention. 
   An output terminal  42   b  of the splitter/combiner  40  is coupled to provide output of the first non-time-of-flight laser  12  to an input terminal  72   a  of a splitter/combiner  74 . Output of the projection laser  24  is provided to an input terminal  72   b  of the splitter/combiner  74 . The output of both of the lasers  12  and  24  is provided from an output terminal  76   a  of the splitter/combiner  74  as modulated laser light to an input terminal  78   a  of a splitter/combiner  80 . Output of splitter/combiner  80 , terminal  78   b , is provided to the input of photodiode  82 . An output terminal  84   a  is coupled to a flat, polished end  86  of an optical fiber  88 . The optical fiber  88  is coupled to an output telescope  90 . Laser light from an object being measured is combined with the light reflected from the flat polished end  86  and routed through combiner splitter  80  to photodiode  82  where the interference between these two beams interferes, thereby generating an electrical signal that encodes the distance to the object being measured. Advantageously, the laser beams  14  and  26  are output collinearly—that is, co-aligned—from the output telescope  90  and are provided to the scanning apparatus  28  ( FIGS. 1A ,  1 B, and  1 C). This permits the system  10  to be positioned without a need to calibrate position of the laser beam  12  relative to position of the laser beam  24 . This can eliminate a major source of error in conventional systems between initial measurement of a part and relative positioning of projection of a pattern or information. 
   In a presently preferred embodiment, the scanning apparatus  28  is a programmable, rapid beam-steering (scanning) mechanism that directs a visible light beam, such as the laser beam  26 , onto a surface, such as the surface  16 , with sufficient speed to act as a display of geometric patterns and/or alphanumeric characters projected onto a part (with correct orientation and position on the part). However, the scanning apparatus is also preferably usable to direct the measurement laser beam  14  onto the surface  16 . In one presently preferred embodiment, the scanning apparatus  28  directs both of the laser beams  14  and  26  onto the part  16 . Advantageously, the scanning apparatus suitably is made from readily-available, commercial-off-the-shelf components, such as mirrors, motors, and encoders. By incorporating commercial-off-the-shelf components, the scanning apparatus  28  provides scanning capabilities of a gimbal at a fraction of the cost. 
   The components shown in  FIG. 2  and described above are similar to optoelectronic components shown and described in U.S. Pat. No. 7,307,700, the entire contents of which are incorporated by reference. Further, embodiments of the present invention may use more than two lasers and/or more than three reference channels as desired for a particular application. 
   Referring now to  FIGS. 3A and 3B , in one embodiment the scanning apparatus  28  includes first and second scanning mirrors  100  and  102 , respectively. The first and second mirrors  100  and  102  are driven by first and second scanning galvanometers, respectively, (not shown). The first and second galvanometers have first and second axes a 1  and a 2  that are substantially perpendicular to each other. The first and second galvanometers rotate the first and second mirrors  100  and  102  about the axes a 1  and a 2 , respectively, in directions shown by arrows  104  and  106 , respectively. The mirrors  100  and  102  are rotated at a rate that is around the same rate, and preferably no slower than, a refresh rate of the laser  24  that generates the pattern  30  to provide substantially flicker-free viewing of the projected pattern. A common refresh rate is around 30 updates/sec. However, any refresh rate may be used as desired for a particular application. In this exemplary embodiment, an envelope of the first and second laser beams  14  and  26  scanned with the first and second mirrors  100  and  102  maps out an approximate right pyramid. 
   If desired, the scanning apparatus  28  may further include a third mirror  108  that is driven by a third scanning motor  110  having a third axis a 3  that is substantially mutually perpendicular to the second axis a 2 . The motor  110  suitably is a rotary stage motor and associated encoder, each with a hollow center. The encoder suitably is a precision angle encoder. Advantageously, the laser beams  14  and  26  pass through the hollow center of the motor and are permitted to optically communicate with the mirror  108  without interference. The third mirror  108  may be driven substantially 360 degrees about the third axis a 3  in a direction as shown by an arrow  112 . In this exemplary embodiment, an envelope of the first and second laser beams  14  and  26  scanned with the first, second, and third mirrors  110 ,  102 , and  108 , respectively, maps out a cylindrical shell with an angular width α of the right pyramid. In one exemplary embodiment given by way of non-limiting example, the angular width α of the right pyramid may be around +/−20 degrees or so. However, any angular width α may be selected as desired for a particular application. 
   Referring now to  FIG. 4 , software  120  resides on the processor  32  ( FIGS. 1A-1C ) and controls functions of the systems  10 ,  10 B, and  10 C ( FIGS. 1A-1C ). A user interface  122 , such as a graphical user interface, allows a user to interact with the system and select functions and parameters as desired for a particular application. Measurement integration software  124  interfaces with the user interface  122  and controls measurement functionality in response to selections communicated by the user interface  122 . 
   The measurement integration software  124  controls the following measurement functionality: a geometric projection algorithm  126 ; scanning apparatus control  128 ; triangulation algorithms  130 ; image acquisition algorithms  132 ; image processing algorithms  134 ; and a range measurement engine  136 . A brief description of each of these functionalities will be set forth below. 
   Referring additionally to  FIGS. 1A-1C  and  5 , the geometric projection algorithm  126  computes scan angles for the laser beam  26 , thereby permitting the laser beam  26  to trace the pattern  30  on the surface  16  regardless of contours, angles, roughness, or any irregularity of the surface  16  other than direct line-of-sight obscuration. At a block  138 , three-dimensional coordinates (in the system of coordinates of the part  18 ) of the pattern  30 , such as an alphanumeric character or the like, are calculated using projective geometry, and known part definition. 
   At a block  140 , scanner-to-part transformation parameters are calculated by performing an optimized best-fit of multiple points of surface  16  previously measured by the system  10 ,  10 A, or  10 B, to the three-dimensional design of surface  16 , such as a computer aided design (CAD) model. The scanner-to-part transformation parameters permit three-dimensional coordinates that define a location in the coordinate system of the part  18  to be converted to three-dimensional coordinates that define the location in the coordinate system of the system. At a block  142 , the three-dimensional coordinates from the block  138  are transformed from the system of coordinates of the part  18  to the system of coordinates of the system using the scanner-to-part transformation parameters from the block  140 . 
   At a block  144 , scanner calibration parameters are input from a calibration file provided by the vendor of the scanner apparatus  28  or by an off-line calibration process. These parameters include such things as the precise distance of mirror surfaces  100  and  102  to their respective axes a 1  and a 2 , the precise angle between the normal vector to mirror surfaces  100  and  102  to their respective axes a 1  and a 2 , and the precise distance and angle between axes a 1  and a 2 . The scanner calibration parameters permit scan angles for the laser beam  26  to be calculated from three-dimensional coordinates in the coordinate system of the system. At a block  146 , the scanner calibration parameters from the block  144  are applied to the three dimensional coordinates from the block  142 , and scan angles for the laser beam  26  are computed. At a block  148  the scan angles are output by the processor  32  to the scanning apparatus control software  128  ( FIG. 4 ) as commands. The scanning apparatus control software  128  accepts single or multiple scan angle commands and processes them to derive low level motion commands that it then sends to the scanning apparatus  28 . The scanning apparatus  28  interprets these low level commands, which generates voltages and currents to drive the galvanometers to the appropriate scan angles, and reads the encoders to control the angles in a closed loop. The scanning apparatus  28  reports the encoder angles to the processor  32 . The functionality in the software  128  and the scanning apparatus  28  is standard in commercially available galvanometer scanning systems such as the Nutfield Technology Inc. model QuantumScan-30 galvanometer, SurfBoard USB Controller, and WaveRunner software products. An additional channel of control is implemented in one embodiment in which a third mirror is added, and the additional angles are computed and commanded in the same way. 
   The scanning apparatus control  128  controls all the axes of rotary motion in the scanning apparatus  28 . It is the set of software that accepts angle commands, interprets them, and converts them to low level device control commands. The Nutfield Technology, Inc. software WaveRunner is exemplary. 
   The triangulation algorithms  130  triangulate a centroid of the spot  34  in the system  10 B ( FIG. 1C ). The triangulation algorithms  130  perform triangulation calculations on signals provided by the video cameras  36 . Using known triangulation techniques, the triangulation algorithms  130  determine range and three-dimensional coordinates of the spot  34  in the coordinate system of the system  10 B. 
   Referring now to  FIG. 6 , in one embodiment an exemplary routine  131  implements the triangulation algorithms  130 . The routine  131  starts at a block  133 . At a block  135 , two-dimensional coordinates (that is, a centroid) of the spot  34  ( FIG. 1C ) within a digital image acquired from each of the video cameras  36  ( FIG. 1C ) are computed. In one embodiment, by using background subtracted images a linearized mathematical model of a tilted, elliptical, Gaussian spot is fitted to the edges of the target image. In another embodiment, an intensity-weighted-average technique is used to compute the centroid of the spot  34  ( FIG. 1C ). Fitting the mathematical model of the spot to the edges of the target image is slower than the intensity-weighted-average technique but can be more accurate than the intensity-weighted-average technique. For example, fitting the mathematical model of the spot to the edges of the target image can be around four times slower than the intensity-weighted-average technique but can be up to twice as accurate than the intensity-weighted-average technique. As a result, centroids computed by fitting the mathematical model of the spot to the edges of the target image are computed in image coordinates and can have a typical repeatability of approximately 1/200 th  of a pixel. 
   At a block  137 , the centroid is converted into two-dimensional solid angles. Focal length and distortion characteristics of lenses of the video cameras  36  ( FIG. 1C ) are used to remove lens distortion and to convert the two-dimensional centroids into solid angle measurements—that is, azimuth and elevation. 
   At a block  139 , the two-dimensional solid angle measurements are converted into three-dimensional rays. Position and orientation of the video cameras  36  ( FIG. 1C ) in three-dimensional space relative to an externally-defined coordinate system of the system  10 B are used to convert the two-dimensional solid angle measurements into three-dimensional rays. The three dimensional rays have origins at the center of the lens of the appropriate video camera  36  ( FIG. 1C ) and extend through the center of the spot  34  ( FIG. 1C ). 
   At a block  141 , three-dimensional coordinates are computed from the three-dimensional rays. The three-dimensional rays from the video cameras  36  ( FIG. 1C ) are combined to compute the three-dimensional coordinates that most closely intersect each ray. It will be noted that each three-dimensional ray provides two constraints, or equations, while the three-dimensional coordinate has three unknowns. Thus, use of two (or more) of the video cameras  36  ( FIG. 1C ) gives rise to an over determined system of linear equations in three unknowns that can be solved using any one of several known algorithms, such as without limitation Cholesky&#39;s method. The routine  131  ends at a block  143 . 
   Referring back to  FIG. 4 , the image acquisition algorithms  132  control the cameras to acquire images simultaneously into one or more frame grabbers, which acquire and digitize the image data from the cameras, and provide the data in a file or memory available to the processor. This functionality is well known in the art and is available from numerous vendors who supply frame grabbers, such as National Instrument, Inc model NI-IMAQ software that controls a variety of National Instruments, Inc image acquisition boards, such as the model NI-PXI-1428 Image Acquisition product. 
   The image processing algorithms  134  manipulate digital image data to correct for lens distortion, extract image features relevant for metrology, and provide output to the geometric analysis algorithms. Non-limiting exemplary commercial algorithms are available from National Instruments, Inc, in the product NI Vision Development Module. 
   The range measurement engine  136  determines range to the part  18  when the laser  12  and range measurement component  20  are provided as a chirped synthetic wave radar, as shown in  FIG. 1B . The range to the part  18  is provided in terms of coordinates in the coordinate system of the system. Details regarding the range measurement engine  136  are set forth in U.S. Pat. No. 7,307,700, the contents of which are incorporated by reference. 
   Referring now to  FIGS. 1A ,  1 B,  2 , and  7 , exemplary electronic components will be explained. Control voltages are supplied from a field programmable gate array (FPGA)  200 , such as without limitation a Xilinx, Inc. model Vortex Pro II 2VP20 chip. A power driver  201 , such as a high-speed metal-oxide-silicon (MOSFET) driver like a model IXDD402 available from the Ixys Corporation, receives the control voltages and supplies electrical power to the lasers  12  and  24 . The lasers  12  and  24  may be cooled by thermoelectric coolers (TECs)  203 . 
   The range measurement component  20  includes photodiodes  202 . Each of the photodiodes  202  receives reflections of the laser beam  14  from the surface  16  and outputs a signal that has an amplitude proportional to intensity of the received reflection. While three of the photodiodes  202  are shown in  FIG. 7 , any number of the photodiodes  202  may be used as desired. Suitable photodiodes may include, by way of non-limiting example, a model EDR 512DRFC2 available from JDS Uniphase. 
   The signal from the photodiode  202  is input to an amplifier  204 . The amplified signal from the amplifier  204  is input to a digitizer (not shown) on the FPGA  200 . The digitized signal from the FPGA is processed by the range measurement engine  136  ( FIG. 4 ) to determine range to the surface  18  and to generate three-dimensional coordinates in the coordinate system of the system. 
   While the preferred embodiment of the invention has been illustrated and described, as noted above, many changes can be made without departing from the spirit and scope of the invention. Accordingly, the scope of the invention is not limited by the disclosure of the preferred embodiment. Instead, the invention should be determined entirely by reference to the claims that follow.