Abstract:
Apparatus and methods for determining the deformation of a vehicle body comprising coded target including coded reflective surfaces positioned in predetermined locations relative to the vehicle body for indicating deformation of the body by determining the spatial position of the targets, a laser generating unit positioned for sweeping a laser beam across the reflective surfaces of the targets, a receiver for receiving the reflected beam, and computer-based, electronic equipment and logic responsive to the receiver for indicating the spatial position of the target means relative to a predetermined normal position with respect to the vehicle body. Apparatus also for determining two and three dimensional spatial coordinates of objects from each other and from a base, utilizing the foregoing components. Additional apparatus comprising portions of the foregoing.

Description:
This application is a continuation-in-part, of application Ser. No. 329,010, filed Mar. 27, 1989, now abandoned. 
    
    
     BACKGROUND OF THE INVENTION 
     Field of the Invention 
     This invention relates generally to apparatus for determining deformation in vehicle bodies and the like. More specifically, in its most preferred embodiment, this invention relates to apparatus for comparing the actual three dimensional spatial coordinates of manufacturer-provided reference points in a vehicle with their normal or specification values to thereby determine if the vehicle is deformed. In a general sense, this invention also concerns apparatus for determining two and three dimensional spatial coordinates of objects from each other and from a base which is physically distant from and unconnected with the objects, through the use of beams such as laser light beams. 
     In the past, vehicles such as automobiles had structural frames on which vehicles including body panels were built. Repair of accidental vehicle damage involved straightening the frame, and re-shaping or replacing body panels. Vehicle technology then accelerated to meet needs such as low fuel consumption, and most passenger vehicles came to have unibody construction. In a unibody vehicle, no distinct frame exists apart from the body panels; instead, like an egg carton, the panels together form a &#34;unibody&#34;. Substantial weight is saved. 
     With either form of vehicle, frame or unibody, repair is greatly speeded, and repair quality greatly improved, with a frame (and unibody) straightening machine such as described in U.S. Pat. No. Re. 31,636 issued to F. Lavell Chisum (incorporated by reference). The Chisum machine has attributes which have withstood the test of time, and the machine has been continuously manufactured and sold since its invention by Chief Automotive Systems, Inc. (or its predecessors) of Grand Island, Nebr. as the Chief EZ Liner™. 
     The Chief EZ Liner™ machine speeds frame and unibody straightening, but was not intended to, and does not by itself, provide information as to the extent of straightening to be accomplished. Vehicles currently have manufacturer-provided unibody reference points, such as reference openings or holes, and specifications are published for the correct three-dimensional locations of the reference points relative to each other. If a vehicle is involved in an accident, these reference points will be moved from their &#34;normal&#34;, &#34;specification&#34;, or pre-accident positions with respect to each other. Most, if not all, vehicle frame and unibody straightening jobs require of the vehicle reference points to within specification. 
     In association with the Chief EZ Liner™ machine, operators may use only their training and experience to measure the extent of straighting to be accomplished, but most often employ gauges such as the advanced gauges described in U.S. Pat. Nos. 4,689,888 and 4,731,936, issued Sept. 1, 1987 and Mar. 22, 1988, respectively (incorporated by reference). By referring to the data provided by manufacturers in KLM Body and Chassis Dimension and Specification Charts (Specification Manuals), and by employing gauges operators can determine which portions of vehicles to straighten, and how deformed the vehicles are. 
     SUMMARY OF THE INVENTION 
     In a principal aspect, the invention of this patent specification constitutes a vehicle straightener measuring apparatus which, in its preferred embodiment, compares the actual three dimensional spatial coordinates of manufacturer-provided reference points or holes with their specification or normal value, using data provided by the manufacturer. 
     Main components of this principal aspect of the invention include a laser measuring unit, coded targets to be attached to reference holes and computer-based electronic equipment and logic which controls the laser measuring unit, performs calculations and displays the results. 
     In the most preferred form of this aspect, the laser measuring unit is preferably comprised of a helium-neon laser firing a 1 milliwatt 632.8 nanometers wavelength (red) laser beam. The laser beam is split into two laser beams by a 50/50 beam splitter, each beam then being directed to a rotating mirror. The rotating mirrors direct the laser beams in a 360° arc or circle, with both beams being directed in a single plane. 
     The beams sweep across the surfaces of coded targets attached to the reference holes on the vehicle. Each coded target contain stripes of reflective and non-reflective material. Each laser beam is reflected back to its source when it strikes the reflective stripes of the coded targets. These reflected beams are registered as &#34;on&#34; events (or counts) by the electronics on board the laser measuring unit. A counter counts the number of counts (as measured by an oscillator) from zero to the edge of each reflective, non-reflective border. 
     The computer -based, electronic equipment and logic (hereafter &#34;the computer&#34;) receives the count information for each target and computes the angle from the center of each mirror to the center of each target. With the two angle measurements (one for each mirror and target), and the known baseline between the two mirrors, the planar (X,Y) coordinates of each reference hole are computed using trigonometry. The third coordinate (Z coordinate) is calculated using Z coordinate-representative sizing of the reflective and non-reflective stripes on the coded targets. The actual three dimensional spatial coordinates of each reference hole relative to a calculated point and plane are calculated and displayed by the computer, along with the deviation from the normal or specification value provided by the manufacturer&#39;s data. Armed with this information the operator may then begin to straighten the frame or unibody. The operator may swiftly re-measure and continue straightening in desirable, small increments increments until the actual and specification values are substantially the same, whereby deformation is eliminated. 
     In additional and important principal aspects, the invention also constitues a laser measuring unit as described, alternative laser measuring or &#34;base&#34; units within the scope of the claims, the targets as described, alternative targets within the scope of the claims, methods associated with the apparatus, such as methods of use, and apparatus of more generalized application employing the same principles and equipment as the described apparatus. 
    
    
     BRIEF DESCRIPTION OF THE DRAWING 
     A description of the preferred embodiments of the invention is hereafter provided. The description is detailed, with specific reference being made to the drawings in which: 
     FIG. 1 is a perspective view of two embodiments of the invention, as seen beneath a typical vehicle as the two embodiments would be positioned in association with a Chief EZ Liner™ frame straightening machine, or with a laser measuring unit resting on the floor of a body shop, with neither the EZ Liner™ machine nor the floor shown fully, for clarity; 
     FIG. 2 is a left side elevation view of FIG. 1, with the two embodiments of the invention shown positioned in association with a Chief EZ Liner™ frame straightening machine; 
     FIG. 3 is a sectional elevation taken along line 3--3 in FIG. 4; 
     FIG. 4 is a top plan view of the laser measuring unit assembly; 
     FIG. 5 is a perspective view of a coded target assembly; 
     FIG. 6 is a fragmentary perspective view of the reverse side of FIG. 5; 
     FIG. 7 is a perspective view of a coded target positioning clip; 
     FIG. 8 is a fragmentary perspective detail of a coded target positioning clip inserted in a manufacturer-provided reference hole; 
     FIG. 9 is a fragmentary diagram showing the dimensional alignment of the coded target and the reference hole; 
     FIG. 10 is an enlarged sectional taken along line 10--10 of FIG. 9; 
     FIG. 11 is a fragmentary front elevation of a second embodiment of the invention; 
     FIG. 12 is a diagram of a coded target, showing the sweep of laser beams; 
     FIGS. 13 and 13a-13b are a system block diagram; 
     FIGS. 14 and 14a-14m are an electronic circuit diagram; 
     FIGS. 15 and 15a-15b are an electronic circuit diagram; 
     FIGS. 16 and 16a-16g are a computer program flow chart; 
     FIG. 17 is a diagram of a computer display; and 
     FIG. 18 is a diagram of a computer display. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     This invention may be embodied in many different forms for a variety of different uses. For clarity, there are shown in the drawings and described in detail herein specific preferred embodiments of the invention. The present disclosure is an exemplification of the principles of the invention and is intended to limit the invention to the particular embodiments illustrated only as appropriate based on the claims. 
     Referring now to FIG. 1, a vehicle shown generally at 10 has coded targets 12 attached to or hanging from manufacturer-provided reference holes 14. The manufacturer of the vehicle provides data relating to the spatial positioning of reference holes 14 relative to some arbitrary reference plane (not shown). The number and location of these reference holes vary from vehicle to vehicle. Their existence as well as the data relating to the three dimensional position of any reference hole with respect to the arbitrary reference plane, is well known in the art. The vehicle laser measuring unit or straightener measuring unit, or base unit, is shown generally at 16. The unit is placed under the vehicle 10 on the floor, or on the platform of a Chief EZ Liner™ machine, as better shown in FIG. 2. Laser beams 18 and 20 emanate from the unit 16 and sweep around in clockwise or counterclockwise circles, striking the coded targets 12. Beams 18 and 20 are laser beams of wavelength 632.8 nanometers produced by a helium-neon laser in the preferred embodiment, although it is possible that imitators and followers of the invention may determine that the wavelength or type of beam is not significant to the operation of the invention. It is possible that such persons may determine that other types of waves can be used in the present invention: radar; sound; coherent light; incoherent light, or any other wave. It is contemplated that whatever the beam type or strength, the beam be reflected by the reflective portions of the coded targets and the reflected beam be registered as described below. 
     Coded targets 12 are used to determine if any deformations exist in the bottom or side portions of the vehicle unibody or frame. FIG. 1 is a composite of two separate embodiments. Mechanical transfer means 22 and coded targets 24 are used in a second embodiment for determining if any deformations exist in the top portion of the unibody or frame, as will be described more with respect to FIG. 11. The invention described herein can be used to measure the deviation of any point on a damaged unibody or frame from the normal position of such point using coded targets which are attached (hanging or using a mechanical transfer mechanism) to the manufacturer&#39;s reference holes. 
     Referring now to FIG. 2, the vehicle straightener measuring unit 16 is shown resting on the floor 26, under vehicle 10. Laser beams 18 and 20 are arranged so that they lie in the same plane as they scan a 360° circle. All the coded targets are arranged such that the reflective surfaces of the targets are struck by the scanning laser beams, as will be described in more detail with reference to FIG. 5. 
     Referring now to FIGS. 3 and 4, the vehicle straightener measuring unit 16 is shown in detail (FIG. 3 in section, FIG. 4 in top plan view) divided into two sections, an upper section 28 and a lower section 30, connected with end plates 32. Supports 34, 36, and 38 provide additional support for upper section 28. In its preferred embodiment, unit 16 measures 46 inches long, 5 inches wide and 7 inches high, although these measurements are not critical. The upper section 28 contains motors 40 which rotate the cylindrical mirror mounts 42. In the preferred embodiment, motors 40 are commercially available floppy disk drive motors, used for their precise and consistent revolutions per minute (RPM). The motors used in the current embodiment spin at 300 RPM, although it is contemplated that much faster motors may be used for more accurate readings. The speed of the motor is less critical than that the motor have a very constant and known number of revolutions per minute. 
     The mirror mounts 42 in the preferred embodiment are made from 13/8 inch round aluminum rod which is cut to a length of 1 5/16 inches. The exact length and diameter of the rod is not critical to the invention. 3/16 inches of the motor end of mount 42 is machined to 11/8 inch round and center tapped for a number 6-32 bolt. End 44 of the mount is machined to a peak (as shown in FIG. 3) with each side of the peak being at a 45° angle with respect to the motor end. A 21/4 11/2 inch mirror (46 and 48 respectively as shown in FIG. 3) is glued to the mirror mount 42 with its short centerline lined-up with the peak of the mount. A silicon adhesive glues the mirror to the mount. The 45° angle was chosen so that beams 18 and 20 are preferably coplanar (seen in FIG. 2). The actual dimensions of the various parts are not important, as long as the two mirrors are positioned such that they will reflect any beams in a parallel fashion. The first mirror mount assembly is shown generally at 47, with the second assembly shown generally at 49. In the preferred embodiment, mirror mount assemblies 47 and 49 are arranged such that the centers of mirrors 46 and 48 are 750 millimeters apart. This distance may be varied but must be known since it establishes a baseline used for angle measurements (described more fully below). 
     A 1/16 by 3/8 inch vertical non-reflective black stripe 51 is attached to each mirror mount 42 just below the upper section 28. Stripe 51 is centered on mount 42 with respect to mirror 46. A light (opto-reflective) sensor 50 is mounted on centerline 52 (shown in FIG. 4). The sensor 50 directs a beam directly at mirror mount 42 and at a height such that the beam will strike the stripe 51. The beam is reflected back and received by sensor 50 until the beam strikes the stripe 51 which absorbs the light. Thus the sensor 50 can be used to indicate the beginning and end of one complete revolution of the mount 42. 
     A 1/8 by 1/2 inch vertical stripe of reflective material 54 is fastened to the center of supports 34 and 36, respectively, on the side closest to each mirror assembly 47 and 49. The stripe is arranged such that the beam will strike the stripe when the mount rotates. The function of stripes 54 will be more fully explained below. 
     The lower section 30 of the vehicle straightener measuring unit holds beam generator 56. In the preferred embodiment the beam generator generates a 0.5-1 milliwatt laser beam of wavelength 632.8 nanometers produced by a helium-neon laser. As mentioned above, coherent light of the wavelength specified above has produced the best results to date. The particular wavelength of light used in the preferred embodiment was selected to minimize the effect of random reflections of the laser beam from walls and other objects as well as to allow ambient lighting in the area in which the device is in use. 
     When unit 16 if first built care must be taken to accurately set up the light path of the laser. Once this has been accomplished the laser is fastened securely in place to laser mounts 58 by welding, adhesive or other means. The laser beam generator 56 is walled off from the rest of the unit by wall 60. Laser beam 62 exits the walled off area through hole 64 in wall 60. Laser beam 62 proceeds through hole 66 in the side of a first cylindrical well shown generally at 68. Laser beam 62 then strikes a 50/50 beam splitter 70. Well 68 is arranged such that beam splitter 70 is directly below the center of mirror 48 of mirror assembly 47. Beam splitter 70 is mounted directly in the path of laser beam 62 and directs half of the beam straight up to strike the rotating mirror 48 (this half becomes beam 18, also shown in FIG. 1). The other half of the laser beam (which becomes beam 20, also shown in FIG. 1) continues through hole 72 in the first well 68 and continues on through hole 74 in the wall of the second cylindrical well shown generally as 76. The laser beam strikes a mirror 78 which is angled at 45° to direct the laser beam directly up at mirror 46 of the second mirror assembly 49. Well 76 and mirror 78 are positioned such that mirror 78 is directly below the center of mirror 46. 
     Thus, it can be seen that one laser beam will produce two beams 18 and 20 which will strike their respective rotating mirrors 46 and 48 and produce two coplanar beams which scan a 360° circle upon rotation of the mirrors. These beams will strike coded targets 12 or 24 (as described more fully below) and as each beam encounters the reflective portions of the coded targets the light will be almost instantly reflected directly back to strike the mirror. Reflected light is directed down at a 90° angle by the mirrors 46 or 48. A fresnel lens 80 is used to focus the reflected light due to the beam spread. The type of lens may be varied, as long as it can be used to focus light. This focused light is then passed through an optical bandpass filter 82 which will keep out stray reflections and background light. The light is then focused on a light detector 84 which is &#34;ON&#34; when light strikes it and &#34;OFF&#34; during the absence of light. 
     Power and signal bundle 86 provides power, control signals, and data transfer to and from the electronics 88 (described with reference to FIGS. 13-15). 
     Referring now more specifically to FIG. 4, the top plan view of FIG. 3 is shown with some parts shown in phantom. The rotation of rectangular mirror 48 of the first mirror assembly 46 is shown by dashed circle 90. Similarly, dashed circle 92 showns the rotation of rectangular mirror 46 of the second mirror assembly 49. Beam 18 is shown striking one edge of coded target 12 at 94. As the beam scans across the surface of target 12 it strikes various reflective areas. The light is reflected back toward mirror 48 where it causes the light detector to turn &#34;ON&#34;. Beam 18 is shown at 96 at the opposite edge of target 12. Similarly, reference numerals 98 and 100 show beam 20 of the second mirror assembly hitting the same target 12. 
     Referring now to FIG. 5, a coded target (numerals 12 or 24 in FIG. 1) is comprised of a rectangular metal face area 102 measuring 75 mm wide and 125 mm high and 3/16 inch thick. The dimensions or material of the target are thought to be not critical as long as they are known values for use with the computer program. The top 104 of the target and the bottom 106 are slightly thicker, measuring 10 mm high and 3/8 inch thick. Top portion 104 is used for mounting hanging rod 108. The bottom portion 106 is used for balancing the target so that it hangs on true vertical. Hanging rod 108 is threaded at its top portion and screw 110 is used in combination with the clip (shown generally at 112 in FIGS. 7-9) to attach the target to the manufacturer-provided reference holes or other identified spots. An alternate top portion of hanging rod 108 eliminates screw 110 in favor of a spherical ball formed integrally with the hanging rod 108. 
     Face area 102 on the target has three reflective areas 114, 116, and 118 separated by non-reflective areas 120 and 122. The reflective areas are made of Reflexite prismatic reflex retro-reflector material obtained from Reflexite Co. Other reflective materials may be used but this is preferred. This material contains microscopic corner cube reflectors that will reflect light back towards its source. As long as the angle of incidence is less than 30° the light will be reflected back to its source. This allows some leeway in positioning the targets such that the laser beams can strike the target from a variety of angles and still be reflected back toward their respective sources. This also prevents the two laser beams from interfering with each other. The non-reflective areas 120 and 122 may be made of any material which does not reflect light, and may be tape strips, painted stripes, printed ink stripes, the absence of reflective material, or other materials which do not reflect light back toward its source. Reflective areas 114 and 118 vary in width over their length between the top and bottom of 102. Non-reflective areas 120 and 122 take the form of stripes of uniform width which are slanted with respect to face 102, at a slant of 26 mm per 125 mm of height in the preferred embodiment. 
     Referring now to FIG. 5, the back of a target is provided with an area 117 which can be labeled with a number or reference for ease of use. 
     Referring now to FIGS. 7-10 a clip shown generally at 112 attaches the coded target by inserting screw 110 into screw receptacle 124. With an alternate top portion of hanging rod 108, a ball receptacle substitutes for screw receptacle 124. Clip 112 is shown inserted into a manufacturer-provided reference hole in FIG. 8. FIG. 9 shows that data point 126 (the point for which the manufacturer gives spatial coordinates with respect to a reference plane) is directly above the center of screw 110 and hanging rod 108. FIG. 10 shows that clip 112 registers the data point 126 with the near edge of the reference hole 14. Other mounting arrangements and positioning of the targets may be used within the broad aspects of this invention. 
     Referring now to FIG. 11 (the second embodiment shown as a composite in FIG. 1) an alternative embodiment of the present invention uses coded targets 24 and a mechanical transfer system to transfer the coordinate information of point 128 using measuring assembly 22. The position of the target 24 may be determined with respect to the laser unit 16, thereby determining the spatial coordinates of any point on the unibody or top of the car by referring back to point 128 using the mechanical transfer assembly 22. The computer program referred to hereinbelow with reference to FIG. 16 may be modified easily to allow for the input of the various measurements provided by assembly 22. Modification allows the program to directly determine the displacement of point 128 from its normal position as determined by the manufacturers data concerning point 128. 
     Before referring to FIG. 12 and the coded targets in more detail, a brief explanation of the computer COUNTER is in order. The computer that runs the computer program referred to with reference to FIG. 16 runs at a set clock speed. This clock may be used to count increments of time, as is well known. As mirror mount assembly 47 or 49 rotates, sensors 50 (FIG. 3) determine the start of rotation of each by sensing the presence of stripe 51 as discussed with reference to FIG. 3. The computer program starts a COUNTER when it encounters this stripe 51 with this point being ABSOLUTE ZERO. The laser beam 18 (and 20) then strikes the leading edge of stripe 54 which turns &#34;ON&#34; detector 84. The total COUNTS from ABSOLUTE ZERO until this point in time are saved. When the laser beam leaves the stripe 54, detector 84 turns &#34;OFF&#34;. The total COUNTS from ABSOLUTE ZERO until this point in time are saved as well. The two counts are added together and divided by two to determine the center of stripe 54. This variable is called CENTER. This determines RELATIVE ZERO which becomes the starting point of the 360° scan of the laser beams. The RELATIVE ZERO is used to minimize the effects of power fluctuations in the laser power. These fluctuations make the beam width diameter greater or smaller. Because a wider beam will reflect light sooner than a narrow beam, power fluctuations can affect the readings. By using RELATIVE ZERO, the unit compensates for these varying power fluctuations. Because detector 84 charges up to &#34;ON&#34; much faster than it discharges to &#34;OFF&#34; as the computer calculates the center of stripe 54 any power fluctuations are taken into account. The power will be the same for the rest of the scan of the 360° thereby in effect calibrating the unit for the entire 360° scan. These power fluctuations may also be minimized by letting the laser units warm up for at least 5 minutes before taking any measurements, with at least 15 minutes being preferred. 
     Referring now to FIG. 12, a front face view of a coded target is shown with a beam 18 (or 20) scanning across the face. The laser beam strikes the reflective edge of the target at 132 (which is the first reflective area 114), causing detector 84 to turn &#34;ON&#34;. The computer program stores the number of COUNTS from ABSOLUTE ZERO in a variable called TARGET.BEG. When the laser beam reaches the edge of the first non-reflective stripe 120 at 134 detector 84 turns &#34;OFF&#34; due to lack of reflected light and the computer program stores the number of COUNTS from ABSOLUTE ZERO in a variable called BAR.BEG. The graph below FIG. 12 shows the period when detector 84 is &#34;ON&#34; as R 1 . The end of the first non-reflective stripe and the start of the code area and second reflective stripe 116 is shown at 136 and the COUNTS are stored in a variable called CODE.BEG. Detector 84 is &#34;OFF&#34; as shown by NR 1 . At 138 the laser beam strikes the edge of the second non-reflective stripe 122, and the computer program stores the COUNTS in a variable called CODE.END. R 2  shows that detector 84 was &#34;ON&#34; until this point. NR 2  shows that the detector 84 is &#34;OFF&#34; until the laser reaches the edge of the last reflective strip 116 at 140, where the computer stores the COUNTS in a variable called BAR.END. R 3  shows that the detector 84 is &#34;ON&#34; until the laser beam reaches the end of the target at 142 at which point the computer program stores the COUNTS in a variable called TARGET.END. When the laser beam completes its 360° sweep the total number of COUNTS that it took to complete the sweep are stored in a variable called ONE.REV. 
     The center of the target is computed by adding TARGET.BEG and TARGET.END together and dividing by 2 to get TARGET.CENTER. To compute the angle between the baseline (defined as the line between the center of the two mirrors 46 and 48) and the laser beam at TARGET.CENTER, the formula below is used: 
     
         ((TARGET.CENTER-CENTER)/ONE.REV)*360 
    
     This formula takes the number of COUNTS from ABSOLUTE ZERO until the center of the target is reached and substracts the number of counts between ABSOLUTE ZERO and RELATIVE ZERO to take calibration into account. That number is divided by the total number of COUNTS in one revolution then multiplied by 360 to determine the angle in degrees. This angle is called ANGLE1. The same process is performed for the second laser beam. The angle from the second mirror to the same target center is called ANGLE2. 
     Trigonometry is used to determine the &#34;X&#34; and &#34;Y&#34; coordinates of the target with respect to the laser unit. The center of mirror 48 on the first mirror assembly 47 is considered the origin. The formulas are shown below: 
     
         Width(X)=Baseline * Tan(ANGLE2)/(Tan(ANGLE2)-Tan(ANGLE1)) 
    
     
         Length(Y)=X * Tan(ANGLE1) 
    
     The (X,Y) coordinate system is defined with X=0 being the center of mirror 48 on the first mirror assembly 47, and perpendicular to the Baseline between the two mirror centers. Y=0 is defined as the Baseline. Z=0 is the plane defined by the scanning laser beams. 
     The &#34;Z&#34; coordinate is calculated using the fact that the two non-reflective strips are slanted as shown on the face 102 of coded target 12 in FIG. 12. The non-reflective stripes are at a slant of 26 mm per 125 mm of height (varying width over height). This slant value can vary, with a greater slant increasing accuracy. The present value is the minimum slant required at present to achieve extreme accuracy. The ratio of the number of COUNTS represented by R 1  and the number of COUNTS represented by R 3 , when compared to the total known height of the target will give the exact weight that the laser beam crossed the target. This number is then added to the known length of the hanging rod 108 clip assembly to get the exact &#34;Z&#34; coordinate of data point 126. 
     Each target is coded by varying the width of the second reflective stripe and the location of the second reflective stripe. The formulas used to calculate the target are: 
     
         (CODE.END-CODE.BEG)/(TARGET.END-TARGET.BEG) * 100 
    
     
         (CODE.BEG-BAR.BEG/(BAR.END-CODE.END) * 100 
    
     The first formula compares the center reflective stripe 116 width to the total target width and converts it to a percent of the total target width. The second formula compares the first non-reflective stripe 114 to the last non-reflective stripe 118, and converts it to a percentage. The width of the second non-reflective stripe is varied in 1/8 inch increments. This allows 8 separate positions which allows for 36 different target codes. These numbers can be increased by changing the width of the second non-reflective stripe in smaller increments. Coded targets allow the user to hang any target from any reference hole 14, allowing the computer to determine which target is hanging where. 
     It is thought highly desirable to use two laser beams to determine the (X,Y,Z) coordinates of the data point 126. One laser beam may be used, but it has been found that by using triangulation with two laser beams a much more accurate reading of the coordinates is found. 
     Referring now to FIGS. 13a and 13b, a generalized block diagram of the electronics 88 of FIG. 1 is shown. The corresponding detailed circuit diagrams are shown in FIGS. 14 and 15 (14a-n and 15a-b as shown on the figure summary sheet). In lieu of describing the invention&#39;s operation with respect to the detailed circuit diagrams, the following description will proceed with respect to the generalized block diagram of FIG. 13. The block diagram is split into two portions, one for each mirror assembly 47 and 49 (corresponding to Side 1 and Side 2 as indicated in the Figures). This description will only discuss one side, as the circuitry is the same for both. As both laser beams 18 and 20 scan a complete revolution, the laser light that is reflected from each of the various reflective portions of each of the various coded targets 12 or 24 is focused by lens 80 (shown in FIG. 3) and passed through an optical bandpass filter 82 which only allows the passage of light of wavelength 632.8 nm. As mentioned above, this filter reduces the interference effects of the two laser beams, and reduces the negative effects of the ambient light. The filtered light strikes a photodiode (detector 84) and creates a current that is proportional to the intensity of the light. This signal is amplified and converted to digital logic levels at 144 and sent to the rest of the circuit as signal 1. 
     Stripe 51 on the rotating mirror mount 42 is detected by optical sensor 50. Sensor output (Sync) indicated at 146 is a logic pulse that is used to mark the beginning of each complete rotation, and to determine if the motors are rotating properly. If either of the motors stop rotating or slow down by a predetermined amount, the laser beam is turned off. Motor sync pulse 146 is fed to the scan-gate circuit 148 which uses pulse 146 to generate a pulse that is the length of one complete revolution of the scanning motors 40. This microprocessor provided the reset pulse each time a measurement is to be made (this is determined by input from the operator). The scan-gate pulse is used to gate the incoming reflected light pulses into the edge detector circuit. This input to the edge detector circuit 150 from 148 is shown at 152. Both scan-gate circuits outputs are OR&#39;ed together at 154 to provide a scan-length pulse 156 that is used to enable the Counter-Memory circuit 158. The scan-length pulse 156 is also monitored by the microprocessor to determine when both scans are finished. The edge detector circuit 150 produces a short pulse for each high-low and each low-high transition of the signal pulses. These transitions correspond to the edges of the reflective and non-reflective areas of the targets scanned by the laser beam. The edge pulses are sent to the edge stretcher circuit 160, which lengthens each edge pulse and sends it to the Counter-Memory circuit 158 where it is used to identify which side produced the pulse, shown respectively for Side 1 and Side 2 at 162 and 164. The edge pulses of Side 1 and Side 2 are also OR&#39;ed together at 166 and sent to the Counter-Memory circuit 158 at 168. 
     The Counter-Memory circuit 158 is a 22 bit counter that can store 2048 24 bit values and which is reset at the beginning of each 360 measurement scan. The counter counts an 11 MHz oscillator, although higher frequency oscillators could be used. Each signal edge pulse causes the current counter value to be stored in 24 bit memory. The stretched side-identification pulse 162 or 164 is stored in memory bits 22 and 23. Three values are stored for the ABSOLUTE ZERO and RELATIVE ZERO measurements, six values are stored for each target, and one value is stored for the variable ONE.REV which signifies the end of a 360 scan. For 36 targets this only uses 220 of the 2048 memory addresses available; memory remains for additional targets, and if necessary a larger counter may be used. 
     The microprocessor controller circuit 170 receives and transmits serial RS-232C data with the main computer 171 via the serial data I/O line 172 and 174 (carried inside bundle 86). Once a 360 measurement scan is completed, the values stored in the Counter-Memory circuit 158 are transmitted to the computer for processing, where the actual spatial positions of all manufacturer-provided data points 126 are determined and displayed on a monitor together with the normal spatial positions of those same points. Controller circuit 170 also produces the pulse that resets the scan-gate generator 148 and the 22 bit counter 158 at the start of each measurement scan. Controller circuit 170 also monitors the scan so that the data may be sent to the computer for processing as soon as the scan is completed. Controller circuit 170 is also responsible for monitoring the motor sync pulses 50. If either of the motors stop rotating or slow down, the laser beam generator 56 is turned off to protect people from viewing the laser beam directly. The controller circuit 70 also synchronizes the phase of the motors 40 when the system is powered up. The motors will stay in phase until power is shut off. The phase of the motors is not critical to the operation of the system, and need only be approximately synchronous to function properly. 
     Referring now to FIG. 16, a flow chart of the program contained in appendixes I-III is shown. Appendix I contains the source code for the main driving program and is written in BASIC, although this program may be ported to any number of languages and run on any type of processor. Appendix II contains the source code for displaying the graphic of the vehicle body with the actual and normal coordinates shown in different colors (see FIG. 18). Appendix III contains the source code for printing the screen shown in FIG. 18 so that a permanent record may be made of the display. In lieu of describing the programs operation on a source code basis, the following description will proceed with respect to the flow chart of FIG. 16. 
     Referring now to FIGS. 16-18, the start of the program is shown at 200. The program may be run on any computer, but in the preferred embodiment, an IBM AT compatible is to be used (not shown). The program checks to verify that the vehicle straightener measuring unit 16 (laser unit) is connected at 202. If after a predetermined number of checks the unit is not connected, the program terminates at 204. The program next requires the operator to complete the screen shown in FIG. 17 at 206 where various billing information and vehicle information is entered at 218 as exemplified by FIG. 17. If the customer is a repeat customer, the program will display the car information entered previously, shown in blocks 208-216. The operator then enters the Vehicle Identification Number or VIN at 220 (each vehicle has a unique VIN). The computer decodes the VIN and displays the rest of the vehicle information shown in FIG. 17 at 222, except the license number, which is entered by the operator. The computer contains a database of specification displays for every vehicle model. The specification for the particular model is accessed using the decoded VIN, and displayed on the screenb at 224, as exemplified in FIG. 18. Block 226 represents a menu where the operator next chooses what operation to perform. The operator by now has attached all the targets to the various points on the vehicle to be measured. The operator must pick three of the targets to define a reference plane. This operation is shown in subroutine number 4 shown at 228. This consists of inputting the target number, moving the cursor to the correct location on the screen via the cursor control keys or with a mouse, and assigning that target number to the point on the screen by striking the enter key. The operator tries to pick three targets located on a relatively undamaged portion of the vehicle. The positions of the other targets are computed relative to this reference plane. If all points on the vehicle are damaged, then any three points may be picked. The calculation is performed, the vehicle is straightened, three different points are chosen, the calculation is performed, and the vehicle is straightened again. Eventually, by repeating these steps several times, the entire vehicle is brought back into specification. Of course, it is extremely rare to find a vehicle damaged to such an extent. Normally, three undamaged points may be found to use as reference points. 
     The ReDo CenterLine option of menu 226 is shown at 229. A reference center line is determined at 231 by one of three methods (Natural, Average, or Third Reference Point), a subroutine is run at 233 to calculate the Centerline. This is used as a reference point for the &#34;X&#34; or width distance shown in FIG. 18. This menu option allows the user to fine tune the determination of this centerline. 
     The measurement option of menu 226 is shown at 230. The screen is blanked at 232 and a signal is sent to the unit 16 controller 170 to start the measurement process. The laser beams have been continuously scanning a 360 circle, but no measurements have been taken. The counter is reset as discussed above. At the start of the next rotation, all of the COUNTS discussed above are stored in the counter 158. These steps are shown at 234 and 236. The controller 170 sends the COUNTS information back to the computer and the program checks to see if there are enough counts (3 before the first target, 6 per target and one at the end of the 360 scan) at 238. If the number of COUNTS is wrong, the measurement is redone. The numbers are then converted into decimal, the six COUNTS per target are separated out and the target number, height, ANGLE1, and ANGLE2 are determined by the formulas discussed above. These steps are shown in blocks 240-246. The program next verifies that both laser beams have data for the same target numbers, at 248. This insures that all the targets are oriented within the 30 range with respect to both laser beams as discussed above. The program at 250 next calculates the (X,Y,Z) coordinates of each target with respect to the unit 16. The program then rotates these coordinates into the coordinate system defined by the manufacturer provide data at 252. The program then attempts to &#34;fit&#34; the actual coordinates of the reference hole with the manufacturer-provided reference hole data, at 254. If the actual coordinates are within a certain distance of the position of the closest manufacturer reference hole as defined by the data, then the program knows that it is comparing the correct two points. Blocks 256-260 show that the program is updating the screen shown in FIG. 18 with the target number shown at the correct location (calculated at 254) with the specification (normal) value shown in one color and the actual value shown in another color. The screen shown in FIG. 18 will be more fully described below. 
     The operator now performs straightening on the vehicle with methods well known in the art. The measurements are retaken by selecting the measure option 230 at 226. When the normal values match the actual values (within a predetermined amount of error) then the car has been straightened. The operator may now choose Continue at 226 which performs the subroutine numbered 5 shown at 262. This routine allows the operator to print a copy of FIG. 18 for the customers file, save the information to a customer file and prepare an invoice. 
     Subroutine number 6 shown at 264 allows the user to more closely monitor a particular portion of the vehicle. This allows the user to straighten a particular portion of the vehicle, measure, view the updated screen to see the effects of the straightening, and repeat if necessary. 
     Referring now to FIG. 18 a sample screen showing the actual spatial positions of the reference holes, and also compares them to the specification or normal spatial positions. Eight targets 12 are shown in FIG. 18, however, any number of targets may be used. Only targets 11 and 12 are discussed here since all that is said applies to the other targets. Targets 11 and 12 are shown on FIG. 18 at 300 and 302. The two numbers shown at 304 and 306 correspond to the measurement in millimeters of the width of &#34;X&#34; coordinate of the data point 126 corresponding to target 11 as measured from the centerline 308, calculated above. The number shown at 304 is displayed in one color and corresponds to the &#34;normal&#34; or &#34;specification&#34; value as provided by the manufacturer. The number shown at 306 is the &#34;actual&#34; width value as measured by the unit 16. The numbers shown at 310 represent the width deviation for target 12. Similarly, the &#34;Z&#34; or height, both actual and specification, is shown for targets 11 and 12 at 312 and 314 respectively. This represents the distance from the data point to the Z=0 plane as calculated above. The length or &#34;Y&#34; coordinate for targets 11 and 12 are shown at 316 and 318 respectively. The Y=0 point is shown at 320. 
     The operation of the program of Appendixes I-III is now described. Appendix IV is a source code for an alternate, preferred program which functions with minor variations in substantially the same manner as the program of Appendix I. ##SPC1## 
     This completes the description of the preferred and alternate embodiments of the invention. Those skilled in the art may recognize other equivalents to the specific embodiment described herein which equivalents are intended to be encompassed by the claims attached hereto.