VECTOR MEASUREMENT FOR COORDINATE MEASURING MACHINE

Abstract: A method of obtaining by use of a laser measuring apparatus position measurement error information of a body to be moved under computer control in a volumetric space along paths having designated measuring points for position error evaluation or correction. The method in a preferred form includes the steps of directing a laser beam in a given direction in said space and placing a laser beam reflector on the body to be moved in directions non-parallel to said direction, the reflector being sufficiently large that it will receive and reflect said directed laser beam back to said apparatus for actual reflector distance measurement along the beam path as said body is so moved. Then, with the computer of said system moving said body along said non-parallel paths measuring and recording with said apparatus the actual positions of said reflector along said beam path as the body reaches said various measuring points. The actual reflector position measurements are compared with the ideal reflector measurements and from the reflector position error so determined the body position error components at said measuring points are computed.

Description: VECTOR MEASUREMENT FOR COORDINATE MEASUR ING MACHINE Related Application: This application is based upon U.S. Provisional Application No. 60/691237, filed June 30, 1998 and U.S. Provisional Application No. 60/122, 695, filed March 3, 1999. Background of the Invention The performance or accuracy of a CNC (computer numerical control) machine tool or a coordinate measuring machine (CMM) is determined by the linear displacement errors, straightness errors, squareness errors, angular errors and non- rigid body errors of the machine tool spindle movement (to generalize the moving body which could be something other than a machine tool spindle the term "body" will be often used instead of spindle). A complete measurement of these errors is very complex and time consuming. Diagonal measurements of the body movement taken continuously along the diagonals of a volumetric space have been recommended for a quick check on the volumetric performance of the machine. However, with this measurement system there is not enough information to identify the error sources for accurate machine quality assessment and error correction. The characterization of a machine tool body movement is very complex. The machine tool body movement errors are referred to broadly as linear error, angular errors, and squareness errors. The linear errors break down into what are referred to as linear displacement errors and vertical straightness and horizontal straightness errors. Angular errors include pitch, yaw and roll errors. Thus for each of the X, Y and Z axis of motion, there are 6 recognized errors, 3 linear, and 3 angular errors plus 1 squareness error. Thus, for a 3 axis machine, there are a total of 21 of these error. For a non-rigid body there are many more errors. Existing methods of measuring these errors for calibration and accuracy evaluation using laser interferometer and other means has been very difficult and time consuming until the present invention was developed. The machine accuracy can be improved by measuring all the above referred to errors and then compensating these errors, providing that the machine tool body movement is repeatable The key is how to measure these errors accurately and quickly. The inferior previous methods for measuring these errors include the methods disclosed by G. Zhang. R. Ouyang, B. Lu, R. Hocken, R. Veale, and A. Donmes, in an article entitled "A displacement method for machine geometry calibration", Annals of the CIRP Vol. 37, No. 1, 1988, pp 515-518, and W.L. Beckwith,Jr. in U.S.Patent No. 4,939,678, grated July 3, 1990 entitled "Method for calibration of coordinate measuring Machine" These errors for calibration and accuracy evaluation using laser interferometer and other means has been very difficult and time consuming until the present invention was developed. One example of a laser interferometers which have been used for measuring linear displacement is. for example, model HP 5529, manufactured by Hewlett- Packard, Palo Alto, California. The straightness accuracy of the body movement using these prior measurement techniques can be measured, for example, by a laser interferometer using angular optics or a quad-detector as, for example, model MCV- 3000, manufactured by Optodyne, Inc., of Compton, California. The prior art squareness measurements and these other measurements are carried out by directing a laser beam parallel to a selected diagonal of the space in which the body involved can be moved (referred to hereafter as the volumetric space) and the body is moved intermittently along the diagonal as measurements are taken. This process is duplicated for at least one other diagonal and preferably all four diagonals of this space. These laser interferometer diagonal measurements are recommended in the ASME B5.54 standard (section 5.9.2 in Methods for Performance Evaluation of Computer Numerically Controlled Machining Centers, ASME B5.54- 1992, American Society of Mechanical Engineers, New York, NY) for the check of volumetric performance. These intermittent diagonal measurement techniques have heretofore been assumed to be a quick check of the machine accuracy. This was because the diagonal measurement is sensitive to all the errors. Hence, if the diagonal measurement shows the error is small, good machine accuracy has been assured. On the other hand, if the intermittent diagonal measurement shows the error is large, it has been rather difficult to determine the cause of this large error. As above indicated, these prior art techniques are time consuming, particularly if all of the errors are measured. Thus, they need as many as 18 separate setups and measurements respectively for the displacement, straightness, angular and squareness measurements. This can take two of three days to complete which can result in substantial undesired down-time of the machine involved. Disclosed here is a new measurement method, referred to herein as a vector measurement method. It can measure all these errors, using a simple and portable laser interferometer or a laser Doppler displacement meter (LDDM), in 4 settings and within a few hours. Also, this method is so simple and easy to carry out that in-house personnel of a typical machine tool shop can readily take the measurements and then compensate for the errors involved. Summary of the Invention The present invention involves apparatus and a method of using such apparatus which provides a vector measurement technique which enables the movement error components above described to be determined more accurately and efficiently than the prior art. It does so by directing a beam of reflectable energy in a direction non- parallel to the direction of movement of the body along paths having measuring points. (In contrast, the prior art error measurement techniques moved the body in the same direction, that is, along the beam path.) A reflector reflects the energy back to a measuring apparatus which measures the distance between the apparatus and the reflector at these different measuring points. These reflector distance measurements vary with the body position and they are then compared with predetermined ideal reflector distances measurements for these points on the assumption that the body is moved without error to these points by the computer control system involved. This comparison produces reflector distance error values from which the actual body position error components described above can be computed. Because the prior art error measurement technique moved the body along the beam path and took its measurements at only points along the path, it cannot directly measure the straightness and other error components in directions perpendicular to the direction of body movement. As in the prior art, the vector measurement technique of the present invention preferably uses a laser beam reflector and a measuring apparatus which measures the distance between the measuring apparatus and the point on the reflector where the laser beam is reflected. However, the broad aspects of the invention encompass the use of reflectable energy other than laser beam energy. Thus it includes the use of such energy sources as radar frequency or other electromagnetic energy sources or an acoustic energy source with measuring apparatus which measures the distance between the source of such energy and the point where a beam of such energy is reflected by a reflector back to the measuring apparatus. Also, while it is highly preferred that the body to be moved carries the reflector and the measuring apparatus is stationary and directs a beam of the energy involved along a diagonal (or other less preferred direction) in the two or three dimensional space in which the body is moved, the positions of the apparatus and the reflector could be reversed without deviating from the broader aspects of the invention. In the preferred invention summary now to be made and in the drawings and the description thereof to follow, a much larger than normal laser beam reflector is carried by the body being moved and a stationary laser measuring apparatus directs the laser beam along a diagonal of a three dimensional space. The reflector is sufficiently large that it will intercept the laser beam even when the body is spaced from and is moved along paths which extend a substantial distance from the diagonal. The body is preferably moved sequentially in groups of three repeated incremental steps along the X, Y and Z axes. The first step in each group begins on a segment of the diagonal involved and the body is directed to move a given distance parallel to the first of the axes involved. The laser measuring apparatus then measures and records the actual distance between the apparatus and the point on the laser beam reflector which reflects the laser beam on the selected diagonal. The next step in each group is to direct the body to move a given distance parallel to one of the other two axes a distance where the body can be returned to the end of the segment involved when the body is moved parallel to the third axis involved if the body is ideally moved without any error components. A similar distance measurement is taken and recorded. The last step in each group is to move the body parallel to the third axis to return it to or near the end of the segment involved This same xyz axes sequence of movement is then repeated until all of the diagonal segments are traversed. If the body was moved exactly the desired distance each step of the process as directed by the computer program involved then there is no error in the body movement and the distance measurements along the diagonal will confirm this. However, there is almost always some error in the movement distances which will be reflected in the laser beam reflection point distances. Each error type will have an effect in these laser apparatus measured distances. The present invention then desirably calculates the various error components from these laser apparatus measurements and error compensation tables can then be produced which are used to generate control signals which will cause the X, Y and Z axis motor controllers to move the body more accurately as it performs its assigned function. As compared to the prior art laser measurement technique which moves the body along the same diagonal along which the laser beam is directed, the present invention collects 3 times more data. Furthermore, the data collected after each incremental movement along a given axis is due only to that movement and so that the error sources involved in each of these movements can be separated. If backlash errors are to be considered, then after all of the measurements are taken as the body involved is moved in the selected sequence from one end of a selected diagonal to the other, the body is then moved with respect to this diagonal and the above mentioned measurements and computations taken as the body is moved in the reverse direction following the similar paths the body was just moved to each point. This requires, of course, the movement of the body along the X, Y and Z axes in the reverse order. The steps just described carried out along a first selected diagonal then should be carried out along at least another diagonal using the same axis movement sequence as before when the volumetric space is a greatly elongated one (that when a large aspect ratio is involved). The process described is preferably repeated again for at least one more and preferably for all of the diagonals. Since each set of body diagonal measurements for a given sequence produces 3 sets of data, there are 12 sets of data which are collected when all four diagonals are involved in the measurements made. This produces enough data to determine the 3 displacement errors, 6 straightness errors, and 3 squareness errors. If only two diagonals are involved, there is enough data to determine 3 linear displacement and 3 straightness errors. Part of this improved sequential diagonal measurement technique based on a single sequential three axis movement and data collection method is disclosed in an article of G. Liotto and C.P. Wang, entitled Laser Doppler Displacement Meter (LDDM) Allows new Diagonal Measurement for Large Aspect Ratio Machine Tool easily and accurately in the Proceedings of LAMDAMAP '97, University of Huddersfield, Queensgate, Huddersfield, England, 15-17 July, 1997. The present application adds a further improvement in that the measurements and calculations above described are made with more than 2 diagonals and more than one axis movement sequence. Thus, if one of the sequences was XYZ, the process described above is repeated for at least one more or two added sequences and preferably for all six sequences. Carrying out the process described for three different sequences (e.g. XYZ, YZX and ZXY) over three diagonals will generate 27 sets of data which is enough to determine the rigid body errors (both linear, angular and squareness errors, a total of 21 errors). If the above method is carried out for all six of the possible sequences (i.e. YZY, YYZ and ZYX in addition to the above) for all four diagonals, there will be generated 48 sets of data is enough to solve all the linear errors, angular errors and some non-rigid body errors, which could be used to determine both rigid and non-rigid body errors. The same vector measurement method can also be applied to non-conventional machines such as 4 or more axes machines, non-orthogonal motion machines, hexapod machines and parallel linkage machines. As above indicated, the present invention uses laser measurement equipment which uses unusually large laser beam reflectors which will intercept the laser beam directed along a diagonal of the volumetric space involved, despite the fact that the body carrying the reflector moves substantial distances laterally of the diagonal involved. If a comer cube or retroreflector is used, conventionally sized reflectors are too small for this purpose. For large lateral deviations, a flat reflector is preferably used as the laser beam reflector. Another aspect of the present invention involves the manner in which the errors determined by the above described aspects of the invention are used to compensate for the errors computed thereby so that the machine tool involved will operate more accurately. These computed errors are used to form compensation tables which can be incorporated into the X, Y and Z axis motor controllers which have to be specially programmed to use these tables. One aspect of the present invention is to use an interpolator software with all the measured errors to provide error compensation signals for the controller which can therefore be a conventional controller. Brief description of the drawings Fig. 1 shows a volumetric space in which a body is to be moved and the polar and Cartesian coordinates of a body in a given position P in that space. Fig. 2 shows the volumetric space in which a body is to be moved in accordance with the invention in incremental X, Y and Z axis movements along various segments of a diagonal r of that space. Fig. 3 is a block diagram showing a motor controller in block form and three motors controlled thereby to drive the tool bit or other body being moved along the X, Y and Z axes. Figs 4a and 4b respectively show the body movement paths identified by letters of the movement of the body controlled by a software program operating the motor controller of Fig 3 and as would be viewed above the XY plane. Fig 4c is a two dimensional view viewed from above the XY plane of the volumetric space in which the body is moved a fixed distance along the X axis and illustrating the desired and actual positions at which the laser beam reflector on the body intercepts the laser beam along two opposite diagonals of the space and the position error components in the X and Y axis directions resulting from the erroneous actual position thereof Figs 5 a, 5b and 5 c show examples of data analysis obtained from the error measurements obtained by the present invention The ΔR is the measured position error in the diagonal direction. The subscript X, Y, and Z indicating the measured position error due to the X-axis, Y-axis, and Z-axis movement respectively, as a tool bit is moved respectively parallel to the X, Y and Z axes along the various lettered identified paths associated with the various segments of the diagonal shown in Fig. 2. Fig 6 shows the volumetric space in which a tool bit or other body is to be moved by the present invention along a diagonal of that space in X, Y and Z axis directed movements sequence 1 (single arrows) Also shown in the figure are the sequence 2 (double arrows), Y, Z, and X, and the sequence 3 (triple arrows), Z, X, and Y. The figure showing only one segment S I of the diagonal. Fig 7 is similar to Fig. 6 but shows body movement along 3 diagonal segments SI, S2, and S3. Figs 8a and 8b are block diagrams which respectively illustrate the program flow diagrams of the software which controls the movement of the body in axis movement sequences XYZ and ZXY from one end of a given diagonal to the other opposite the 5 segments thereof illustrated in Fig. 2 Figs. 9a is a plan view of the volumetric space in which the body can be moved and looking toward the XY plane, the Figure showing the initial segments of the diagonal along which the body position error measurements are taken in the practice of the invention after each incremental X, Y and Z axis movement with respect to such diagonal. The Figure also shows the laser beam of the interferometer which makes such measurements directed along such diagonal and an inoperable conventional sized retroreflector carried by such body and of such small size as to not intercept the laser beam when the body is initially moved the required short distance along the X axis. Fig. 9b is a view similar to Fig. 9a except that the body carries a relatively large retroreflector which intercepts the laser beam for the incremental X, Y and Z axis directional movements of the body. Fig. 10a shows a double pass optical arrangement for a single aperture laser interferometer system which is preferably used to carry out the position error measurements of the present invention. Fig. 10b shows an optical arrangement to convert a commercially available double aperture laser interferometer system using a typically small corner cube retroreflector not useable with the present invention to one so useable when the corner cube is replaced by a flat mirror. Fig. 10c shows a single aperture laser measuring system with an optical arrangement using a flat-mirror as target and an optical adapter to convert a collimated laser beam to a small diameter and divergent beam. Fig. 1 la shows a block diagram of a conventional error compensation scheme. Here the compensation file is a lookup table for the controller based on the errors measured by the vector method. Fig. l ib shows a block diagram of a new error compensation scheme. Here the compensation file is a lookup table for the machine command interpolation software. Fig. 12 shows a variation of the present invention where the laser beam deflector is stationary and the laser measuring apparatus is mounted on the tool spindle or other body to be moved. Basic Theory to Determine Linear, Angular and Squareness Errors 1) Motion of a Rigid Body The general motion of a rigid body along one axis can be described by 6 degrees of freedom. These are one linear, 2 straightness, pitch, yaw and roll. For a 3- axis machine, there are 18 degrees of freedom plus 3 squareness, a total of 21 degrees of freedom. 2) Assumptions To simplify the analysis, the following assumptions are made: The motion is repeatable to within certain uncertainty. The motion and position errors can be superpositioned, i.e. the position error is much smaller than the travel distance. For most machine tools or CMMS, the above assumptions are a good approximation. 3) Body Diagonal Motion A body diagonal motion can be expressed as from the origin (0,0,0) to a diagonal point P (X, Y. Z) as shown in Fig 1. The distance between 0 to P is R = ? + y + z' Also, in polar coordinates, X = Rcosφ Y = Rsinφsinθ Z = Rsinφcosθ ) Measurement Along Body Diagonal Assume the measurement is along the R-direction, which is a function of X, Y, and Z. then the deviation in R can be expressed as the sum of deviation in R due to X-axis motion, due to Y-axis motion and due to Z-axis motion. Hence. 5) Volumetric Error Analysis For each axis of motion, there are linear position errors in X, Y, and Z- direction, pitch, yaw and roll angles. Hence, for X-axis movement, Linear position error δ x (x) Straightness errors δ y (x), δ z (x) Pitch, Yaw and Roll α y (x), α z (x), x (x) Similarly for Y-axis and Z-axis movement, Linear position errors δ y (y), δ z (z) Straightness errors δ x (y), δ z (y), δ x (z), δ y (z) Pitch, Yaw and Roll angles α x (y), α z (y), α y (y), α x (z), α y (z), α z (z) The squareness between axes is As shown by Schaltshik (R. Schaltschik, "The components of the volumetric accuracy", Annals of tl-ie CLRP Vol.25, No.l, 1977, pp223-228) and Zhang (G.Zhang, R. Ouyang, B. Lu, R. Hocken, R. Veale, and A. Donmez, "A displacement method for machine geometry calibration", Annals of the CIRP Vol.37, No.1, 1988, pp515-518), the volumetric error is the difference between the actual spindle position and the true spindle position. The true spindle position can be calculated by the coordinate P,=δ x) + ^aΛx)-y-[aΛx) + θ v ] + S x (y) + z-[a y ( )-θ„] + δM (2) P y =δ y (x)-z-[a x (x) + θ yz ] + δ y (y)-z-a x (y) + δ y (z) P=δ : (x)-ya x (x)+δ z (y) + δ z (z) transformations of each axis movement. For a machine type FXYZ, the position errors can be expressed as Where P x , P v and P 2 are position errors in the x , y and z direction respectively. Hence Equation (1) becomes x-z δ z (x)-y-a x (x) + - R- Let S ∑ (x) = δ z (x)-y-a x (x) δ x = δ x (*) ~ y ■ [α, (*) + θ xy ]+z- a v (x) δ x (y) = δ x (y) z-{a y (y) + θ (4) δ y (x) = δ y (x)-z-[a x (x) + θ δ y (y) = δ y (y)-z-a x (y) δ,(y) = δ M (y) δ x (z) = δ x (z) δ y (z) = δ y (z) δ z (z) = δ z (z) Then Eq. (3) can be expressed as ARλ δ Λ χ) , y- χ δyix | z x δ z (x) RΛ R 2 R R (5) ^ARλ y δ y(y | χ-y δ x (y) z-y δ z (y) v R Λ R y R y R 2 y 6) Squareness Error When the angle between X and Y is not exactly 90 degrees, then the diagonal distance R is equal to where φ = 90° + θ^ For small 6^ , cos φ can be approximated to ^ . Hence, R 2 = x 2 ÷ y 2 + 2xyθ xy Therefore, the change in diagonal distance due to non-squareness can be expressed as ΔR^ y-z y-χ z-x R R • Z_ ■ $ yz +X R 2 ■ 3 yz +^ R 2 (6) where θ y2 is non-squareness in the YZ-plane, θ yx is non-squareness in the YX-plane, and θzx is the non-squareness in the ZX-p!ane. 7) Four diagonal measurements There are 4 diagonals, namely from(0, 0, 0) to (X, Y, Z) : diagonal #1 (X. 0, 0) to (0, Y, Z) : diagonal #2 (0, Y, 0) to (X, 0, Z) : diagonal #3 (0. 0, Z) to (X, Y, 0) : diagonal #4 and the reverses. Please note that, Diagonal #1 all increments in X, Y, Z are positive Diagonal #2 all increments in Y and Z are positive and increment in X is negative Diagonal #3 all increments in X and Z are positive and increment Y is negative Diagonal #4 all increments in X and Y are positive and increment in Z is negative Substitute these into Eq (8), we have ΔR x 2 δ x (x) y - x δ y (x) z - x (+,+,+) = ■ + δ Λ χ ) R Λ R 2 R 2 R 2 x ΔR + + \ *1 δ x ( χ ) y - χ δ y( χ ) z - x δ z (x) R R 1 x R x R 2 x R \ χ _ x ( χ ) y x y ( χ ) z x z (x) R R x R x R x Δ/T χl δ x (x) (+,+, " ) = -+ y-x δ y( X ) z-x δ χ ) R R R R (AR Similarly for and I — R Solve these Equations for § s x) ,δ (x) and δ z (χ) we have Similarly is the >-direction and z-direction 8) Squareness Errors The squareness errors can be determined by the displacement error at the end point of the 4 diagonal measurements. Solve Eq (6), we have + Diagnal#2] 1 R 2 3 ^ = - - — . [Diagonal#\ + Diagnai ] (10) 1 R 2 & = • [Diagonal#\ + Diagnal#4] (9) Sort data and order The sequential diagonal measurement collects data after each axis movement. Hence, three times more data are collected. Sort out all position errors due to X-axis movement, Y-axis movement and z-axis movement. These measured position errors are ΔR X , ΔR y and ΔR : . For machines with small angular errors and small non-rigid body errors, is very close to δ. To determine the angular errors and non-rigid body errors, data collected by different sequences, such as YZX, ZXY, etc. are needed. The angular errors and non-rigid body errors can be calculated by the measured data. Detailed description of the exemplary embodiment in Figs. 2-12 Refer now to Fig. 2 which shows the volumetric space in which the body to be moved by the present invention can be moved by the machine involved. The Figure shows five diagonal segments SI, S2, S3, S4 and S5 of a diagonal r of that space and alone, which diagonal the laser beam of a laser interferometer position measuring system is directed. The diagonal r is shown as extending between points (0,0,0) and (X,Y, Z). The opposite diagonal to that diagonal not shown in Fig. 2 would extend between points (O,O,Y) and (X,Y,O). The body carries a retroreflector, which can be a retroreflector like RF2 shown in Fig. 10a or a flat reflector RF3 like that shown in Figs 10b and 10c. In accordance with the present invention, the body is moved sequentially in incremental movement groups in directions parallel to or along the X, Y and Z axes of this space. Each movement group starts at the beginning of a diagonal segment and ends at the incremental of the next segment of the diagonal. At the end of each incremental X, Y or Z axis increment of movement the laser interferometer position measuring system makes a measurement of the distance between the laser beam source and the point along the diagonal involved where the reflector intercepts the laser beam and stores the measurement in a computer memory where the various error variables are computed after position measurements are completed. It is preferred that the body movement is halted during each position measurement. Position measurements as just described are taken for body movement along a pair of opposite diagonals of the volumetric space for machines with a large aspect ratio and for body movements along all four diagonals of this space for machines which do not have a large aspect ratio. The position of the end of the first diagonal segment SI can be represented by X, Y and Z coordinates or in polar coordinates as a vector having a length r and making angles Theta and Phi shown in Fig. 1 with respect to the X and Z axis lines there shown. For a conventional prior art diagonal measurement the body to be moved is always moved continuously along each diagonal, in contrast to the incremental movement groups described above where the body involved is only located on the diagonal at the ends of the diagonal segments. The distance of each such incremental movement can be described in terms of the length r of each diagonal segment and the angles Theta and Phi as follows: Each X axis incremental movement starting with an x axis movement is a distance rCosφ. Each Y axis incremental movement is a distance rSinφSinθ. Each Z axis incremental movement is a distance rSinφCosθ. Refer now to Fig. 3 which is a block diagram showing a motor controller 10 in block form and three motors 12a, 12b and 12c controlled thereby to drive the tool bit or other body being moved along the X, Y and Z axes. The motor controller 10 is programmed to drive the body along each axis in sequence instead of simultaneously operating to achieve the body along the diagonal. The software which operates the controller 10 to move the tool bit or other body involved in a given selected sequence which is repeated for each segment of the diagonal involved. There are 6 possible sequences, namely XYZ, YZX, ZXY, XZY, YXZ and ZYX. Depending upon the degree to which various error calculations are desired to be made, measurements for one or more sequences will be made and error calculations made therefrom. The segments of the diagonal for which each body movement of a selected diagonal are carried out preferably are of equal length segments, but they could be of different length. Refer now to Fig. 4a and 4b which respectively show the paths of body movement with respect to the opposite diagonals of an elongated volumetric space as described above in connection with Fig. 2. The X and Y axis movements are shown respectively by arrows A-D-G-J-M and B-E-H-K-N representing various body movement steps. The Z axis movement out of the plane of the drawing is shown as dots C-F-I-L-O. The body movement illustrated in Fig. 4a starts from point (0,0,0) at the beginning diagonal r shown in Fig. 2 and ends at point (X,Y,Z) on the diagonal r there shown. The body movement illustrated in Fig.4b starts at the beginning of the opposite diagonal (not shown in Fig. 2) at point(0,Y,0) therein and ends at the point (X,0,0) on this opposite diagonal r'. The curves of Fig. 5a, 5b and 5c show the result of the position error data collected in an exemplary test run for the various position control steps A-0 previously described. The Delta R is the measurement error computed from the position measurements automatically by the computer program involved for the lettered steps shown in connection with the curves. The X-axis error measurements at the end of steps A, D, G, J, M, are shown in the first curve of Fig. 5 a. Similarly for Y-axis movement and Z-axis movement, the position errors are shown in the second and third curves of Figs, 5b and 5 c respectively at the ends of the letter designated steps. Fig. 4c is a two dimensional view looking down upon the XY plane illustrating the relationship between the measured Delta R for the two opposite diagonals r and r' involved. The Figure represents the linear displacement and straightness errors occurring when a body is desirably moved from point 0 in the X axis direction to a point I on the X axis but because of linear displacement and straightness errors is moved instead to point 3, a small error distance equal to the distance between points 2 and 3 in the plus Y axis direction and a small error distance between points 1 and 2 in the X axis direction. The line LI a represents a flat laser beam reflector carried by the body which intercepts a laser beam at point 6 directed along the diagonal r. If the laser beam was directed along the opposite diagonal r' instead, then the reflector carried by the body represented by the line Lla 1 would intercept the laser beam at point 8 on diagonal r\ If the body had been moved the desired distance in only the X axis direction the body would have been at point 1 on this axis and the reflectors represented by the lines Lie and Lie' would intercept the laser beams involved at points 4 and 7 on the diagonals r and r'. The X axis linear displacement error distance between the points 1 and 3 on the X axis is measured by the difference in the laser reflection distance measurements for points 6 and 4 on the diagonal r and points 9 and 7 on the diagonal r'. If there had been no straightness error, then the body at point 2 on the X axis carrying reflectors represented by the lines Lie and Lie' would intercept the laser beam at points 5 and 8. The relations between the measured (ΔR) x (+,+), (ΔR) X (+,-) and the displacement errors δ x (x) and the straightness errors δ y (x) are as follows. Here, 2-l=δ x (x), 3-2=δ>{x) See Eguations (2) and (3) for exact 3 -dimensional relations. ( R) x (+ -) = 9 - 7 = δ t (x> - δ y (x) - As previously indicated, Figs. 5a, 5b and 5c show examples of data analysis obtained from the error measurements obtained by the present invention. The ΔR is the measured position error in the diagonal direction. The subscript X, Y, and Z indicating the measured position error due to the X-axis, Y-axis, and Z-axis movement respectively, as a tool bit is moved respectively parallel to the X, Y and Z axes along the various lettered identified paths associated with the various segments of the diagonal shown in Fig. 2. Refer now to Fig. 6, this is an exemplary diagram showing the letter identified functional steps performed by software program instructions for controlling the operation of the X, Y and Z axis motors shown in Fig. 3 to obtain the body movements described along a segment S 1 of a diagonal of the volumetric space in which the machine being tested can move the body involved. Here for the XYZ axis sequence 1 (ΔΛ) I (+,+) = 6 - 4 = ^(x) - ^ + ^(x) . ^ (shown with single arrows), the first body movement is shown by arrow Al in the direction of the X axis. At the end of this movement the laser measuring apparatus measures and records the distance between O and the point on the diagonal segment S 1 where the laser beam is reflected by the reflector carried by the body. The body is then moved in the Y axis direction indicated by arrow B 1 until the body is in a position where a movement run the Z axis direction would return the body to the end of segment S 1 if there was no error in such body movement. The above described laser reflecting distance measurement and recording operation is then carried out. To complete this one XYZ axis sequence the body is then moved along the Z axis as indicated by the arrow Cl supposedly to return it to the end of the first diagonal segment and another laser reflection point measurement is taken and recorded as described. The steps just described are repeated until the body is supposedly at the end of the last segment except for the accumulated errors of movement. Fig. 8a is a block diagram showing the program flow diagram of the main functional steps carried out by the motor control and laser measuring and recording means involved. These steps are identified by the boxes A-l, B-l ... 0-1 (the alphabet characters duplicating those used in Fig. 4a). The last program function carried out is the computation and recording of the appropriate error components as described. Where backlash problems are to be avoided, as previously explained, the body is then moved between the end of the diagonal involved to the beginning thereof traversing the same supposed paths in the reverse sequence order, that is the ZYX order, and the same measurements are taken and recorded. Where the error data to be collected calls for more than one sequence to be used, then the body movements, measuring and recording steps just described for the sequence XYZ are earned out for other sequences. Fig. 6 shows the body movements involved for the YZX and ZXY sequences as indicated respectively by the double and triple arrows B2-C2-A2 and C3-A3-B3. Fig. 8b shows the program flow diagram for the ZXY sequence identified by the arrows C3-A3-B3 in Fig. 6. Refer now to Fig. 6, which shows the actual body movements about the first segment of a diagonal for three of the possible 6 movement sequences. The single arrows indicate the movement of X-axis first, then Y-axis and Z-axis. The double arrows indicated the movement of Y-axis first, then Z-axis and X-axis. The triple arrows indicated the movement of Z-axis first, then X-axis and Y-axis. The segments containing the arrows Al, A2, and A3 in the same direction but separated by a fixed distance should show the same error results, except for what is referred to as the Abbe offset for the angular errors. Hence the differences of errors on these segments can be used to determine the angular errors due to X displacement. Similarly, the body movements represented by the arrows BI, B2, and B3 can be used to determine the angular errors due to Y axis displacement and the body movements represented by the arrows C I, C2 and C3 can be used to determine the angular errors due to Z axis displacement. The broader aspects of the invention envision movement steps other than those following the shape of a cube as shown in Fig. 6. Fig. 7 shows body movement sequences following a non-cubic path over 3 segments of a diagonal. It is noted that for all these sequential diagonal data collections, the laser direction stayed the same, only the movement sequences are changed. Hence a large amount of data can be collected with a single setting. With 4 settings all 4 diagonals can be measured. Hence it is possible to collect all the data along 4 diagonals within a few hours. Since the machine movements can be preprogrammed and the data collections are all automatic, this minimized the human error and saves time. Now it would be helpful if we discuss various laser measuring apparatus useful (and not useful) in making the various position measurements above described. Fig. 9a is a plan view of the volumetric space in which the body can be moved, looking toward the XY plane. The Figure shows the initial segments of the diagonal r along which the body position errors measurements are taken . The Figure also shows the laser beam of the interferometer which makes such measurements directed along such diagonal and an inoperable conventional sized retroreflector RFl carried by such body and of such small size as to not intercept the laser beam when the body is initially moved the required short distance along the X axis. Fig. 9b is a view similar to Fig. 9a except that the body carries a relatively large retroreflector RF2 which intercepts the laser beam for the incremental X, Y and Z axis directional movements of the body. The size of the retroreflector is determined by the unit movement along the X-axis times Sinφ, where φ is the angle shown in Fig. 1. The large retroreflector can reflect the laser beam toward the laser head. However the large lateral displacement can displace the return beam away from the receiver and the measurement interrupted, unless a double-pass optical arrangement is used as shown as Fig. 10a. Fig. 10a shows a double-pass laser measuring apparatus useable in the present invention. The displacement of the large retroreflector RF2 along the selected diagonal in the various X, Y and Z axis directions involved is measured along the diagonal involved. The laser beam 14a starting from the laser head 13 at point A will be reflected at point B and C. The reflected laser beam 14b will reach a stationary flat mirror 16 at point D. The flat-mirror is perpendicular to the incoming laser beam. Then the reflected beam 14c will be coincident with the incoming beam. Hence the further reflected beam 14d will reach the beams starting point A at the single aperture of the laser apparatus 13. If the retroreflector is laterally moved a amount D, the beam will be reflected at reflector points E and F where it reaches point G on the flat mirror 16. The reflected beam will be reflected at points F and E where it is returned to the single aperture point A of the laser apparatus 13. The optical path length ABCD is exactly equal to the path length AEFG. Hence the measurement is not effected by the large lateral displacement of the retroreflector. The maximum lateral displacement is equal to ± half of the retroreflector diameter. Fig. 10b shows a commercially available double aperture laser head 13' with a modified optical arrangement using a flat-mirror RF3 as the target. The output laser beam 14a' is reflected by the flat-mirror target PF3 back towards the exit aperture. A beam splatter 18 then reflects half of the return beam towards a fixed high reflectivity mirror 20 which reflects the return beam towards the second receiving aperture of the laser head 13'. Fig. 10c is a drawing of a laser measuring system using a flat-mirror RF3 as target, and an optical adapter 23 which convert the collimated laser beam directed from a single aperture laser apparatus 13" to a small diameter and divergent beam 14a". Therefore any small angular errors of the machine spindle will not cause the laser to be out of alignment. This beam 14a" is reflected by the large flat first surface of the mirror RF3 mounted on a spindle 27 of the machine tool system involved. The reflected beam 14b" is parallel to the output beam 14a" and passing though the optical adapter 23 to re-enter the receiving aperture of the laser head 13 ". The dotted lines RF3', RF3 ", and RF3'" show the spindle and the flat-mirror positions during the sequential XYZ axis movement steps. The advantages of using an optical adapter 23 and a flat-mirror RF3 are lightweight, compact and lower cost as compared with using a large retroreflector and the double-pass optical arrangement shown in Fig 10a. Fig 11a shows a block diagram for the conventional error compensation scheme Here the compensation file is stored inside the CNC (computer numerical control) controller 10b and the error compensation is done by lookup in a compensation file 10c stored in the CNC controller 10b and the feeding by that controller of corrected position control signals to the x-axis motor 12a, the y-axis motor 12b and the z-axis motor 12c However, due to hardware limitations, it is rather difficult to compensate the angular errors and the non-rigid body errors The motor control computer 11 has stored therein a design file 11a which identifies the details fo the shape of the product to be formed by the machine tool involved The CAD/DAM software 1 la in the computer 11 accesses the design file 11a and generates body position signals fed to the controller 10b having special compensation software lOd which converts the signals fed to the controller to modified motor control signals which will compensate for the errors stored in the compensation file 10c so that the motors will more accurately control the position of the machine tool or other body involved A typical compensation file contains a table, part of which could be as follows, x = 0 0 00001 -0 00001 0 000001 x = 1 in 0 00002 0 00001 0 000002 x = 2 in -0 000003 0 00002 0 00005 x = 3 in x = 20 in 0 00001 0 000035 0 000009 y = 0 0 000003 -0 00001 0 000035 y = 1.5 in 0.000025 -0.00003 0.000045 y = 3 in 0.000008 -0.00008 0.000025 y = 4.5 in -0.000009 0.00009 0.000001 y = 30 in 0.000035 0.000009 -0.000008 z = 0 -0.000056 0.000076 0.000013 z = 2 in -0.000023 -0.00003 0.000002 z = 4 in 0.000014 -0.00008 0.00005 z = 40 in 0.0000085 -0.0000089 -0.0000089 These errors due to X, Y and Z axis movement consist of linear displacement errors, vertical straightness and horizontal straightness errors for each measured increment of the whole body travel along each of these axes. For movements less than these increments, the controller will send position control signals which include error correction components which are proportional to the lesser degrees of movement involved. The compensation file can be designed to include squareness, pitch, yaw and roll angular errors derived from the added vector measurements and calculations made therefrom as previously indicated in this specification. As shown in Fig. l ib, another aspect of the invention is to take the compensation function out of the controller 10b of Fig. 11a, which must be custom designed to work with the compensation file 10c, so that a standard CNC controller 10b' can be used. This requires machine error correction interpolator software l ie. The error correction interpolator software l ie is placed in the computer 11 where it accesses the compensation file 10c' also now in the computer 11 and responds also to the signals generated by the CAD/CAM software 11a. The compensation file 10c' can be that produced by the inferior prior art, but is preferably a file generated by the present method invention above described. The interpolator software l ie effects the modification of the signals which the CAD/CAM software generates upon accessing the design file l ib in the computer to generate signals fed to the controller 10b' which will cause the controller 10b' to energize the motors 12a, 12b and 12c to move the body involved more accurately. As above indicated, the interpolation software l ie permits both the computer 11 and controller 10b' to be the standard computer and controller used with the particular computer controlled machine tool or other body movement system involved. In other words, the interpolator lOd generates tool path control signals which are pre-corrected with the measured machine errors. Then the corrected body path signals are fed to the controller 10b'. Since all the corrections are done in the software there is no hardware limitation. Thus, the output of the CAD/CAM and the input of the controller are standard, hence the machine error correction interpolator can be used on any standard machine tool motor control system. As previously indicated, while Figs. 2- 10c illustrate the preferred method and apparatus aspects of the invention which produces the compensation file 10c using a laser measuring system where the reflector is mounted on the machine tool spindle or other body to be moved, the broader aspects of the invention includes the placement of the measuring apparatus which generates the laser or other beam involved on the body to be moved mounting the reflector on a stationary mounting surface. Fig. 12 illustrates this form of the invention where reflector RF3 is a very large stationary reflector and the laser apparatus 13 is carried by the machine tool spindle which, during the error collection data process, is moved in groups of X, Y and Z axis movement increments indicated by the arrows A, B and C. The apparatus 13 is shown directing the beam parallel to a diagonal of the three dimensional volumetric space involved for all positions of the spindle. The reflecting surface of the reflector RF3 is shown at right angles to the laser beam at all times. It should be understood that numerous modifications and additions can be made in the various exemplary forms of the invention disclosed herein without deviating from the broadest aspects of the invention. However, these exemplary forms of the invention are to be considered specific aspects of the invention.

Claims: I claim: 1. A method of using a measuring apparatus which directs a reflectable energy beam in a given direction therefrom and a reflector which is to reflect said beam back to said apparatus to obtain position error measurements of a body to be moved under computer control in paths having predetermined measuring points therealong and which are non-parallel to said beam direction, said method comprising the steps of: placing one of said reflector and measuring apparatus on said body and mounting the other of same at a stationary point relative thereto so that as said body is moved by said computer along said paths said measuring apparatus measures and records the distance between said reflector and apparatus, said reflector being sufficiently large to intercept said beam at said points as said body is so moved; a computer to control said body position then being operated to direct the body to move along said paths so that said reflector intercepts and reflects the laser beam back to said apparatus for actual reflector position measurements as said body is supposed to reach said predetermined points, there being stored in a memory the ideal distances between said reflector and apparatus if said computer had ideally directed said body to said predetermined measuring points; using said measuring apparatus to determine and record the actual positions of said body at said measuring points along said paths by first measuring and recording therewith the actual positions of said reflector along the direction said beam is directed, comparing such measurements with said stored ideal reflector distances to determine the reflector distance measurement errors when the body is at said measuring point, and then computing and recording from each reflector distance measurement error the body movement error components when said body was at said measuring points. 2. The method of claim 1 wherein said body movement momentarily stops at each of said measuring points on said paths, and said measuring apparatus is programmed to automatically measure and record the reflector distance measurements when the body movement momentarily stops. 3. In a body position error measuring method using a measuring apparatus which directs a reflectable energy beam in a given direction therefrom and a reflector which is to reflect said beam back to said apparatus to obtain position error measurements of a body to be moved under computer control to various assumed predetermined measuring points where the distance between said reflector and apparatus are measured and recorded by said apparatus, and wherein one of said reflector and measuring apparatus is placed on said body for movement therewith in a given space having at least two opposite diagonals and the other of same is at a stationary point relative thereto, the improvement wherein said reflector is sufficiently large to intercept said beam at measuring points on paths spaced from a selected diagonal of said space; and said method including the steps of: operating said computer to move said body sequentially along the various segments of a first selected one of said diagonals in substantially identical repeated groups of at least two sequential incremental body movements opposite each segment along all the orthogonal axes of said space so that the first step in each group in the absence of any movement errors begins at one end of a segment and proceeds parallel to one of the orthogonal axes of said space and ends at an assumed measuring point, and the last step in each movement group the body is moved parallel to another of said axes where body movement therealong terminates at a given desired measuring point which in the absence of any position error would be at the end of the diagonal segment involved said reflector intercepting said energy beam when the body is at each of said measuring points; and there being stored in a memory the ideal predetermined reflector to apparatus distances if the computer had moved said body without error to said measuring points; measuring and recording with said apparatus the actual reflector to apparatus distances when the body is moved to said measuring points at the ends of each of said orthogonal axis incremental movements, comparing each of said reflector distance measurements with said stored ideal reflector distances to determine the reflector distance errors at said points; and then computing and recording from each such reflector distance error the incremental body movement error components relative to the various axes involved. 4. The method of claim 1 or 3 wherein said reflector is mounted on said body and said measuring apparatus is stationary. 5. The method of claim 3 wherein said reflector is mounted on said body and said measuring apparatus and beam are stationary and said beam is directed along the selected diagonal. 6. The method of claim 1 or 3 wherein said reflector is a flat reflecting surface against which the beam is directed thereto at rights angles. 7. The method of claim 3 repeated for at least another one of said diagonals. 8. The method of claim 3 repeated for at least the diagonal which is opposite to said first selected diagonal. 9. The method of claim 3 where said space is a volumetric space with four diagonals and said orthogonal axes are the X, Y and Z axes, and said method is repeated for at least one additional diagonal. 10. The method of claim 9 repeated for the remaining diagonals of said volumetric space 11. The method of claim 3 repeated for at least one additional different sequence of the orthoganal axes involved. 12. The method of claim 9 repeated for at two additional different X, Y and Z axis sequences. 13. The method of claim 9 repeated for all of the six possible different X, Y and Z axis movement sequences. 14. The method of claim 1 or 3 wherein error compensation tables are prepared from the body movement error component computations and using said compensation tables to correct the movement of said body by said computer. 15. The method of claim 14 wherein said computed body movement error components are at least the linear displacement error components. 16. The method of claim 14 wherein said computed body movement error components include the straightness error components. 17. The method of claim 14 wherein said computed body movement error components relative to the axes involved include the squareness error components. 18. The method of claim 14 wherein said computed body movement error components include the pitch, yaw and roll error components. 19. The method of claim 14 wherein said computed body movement error components include the non-rigid body error components. 20. The method of claim 14 wherein said body movement error components in include at least the linear displacement and straightness error components. 21. The method of claim 1 or 3 wherein said laser measuring apparatus is like that shown in Fig. 10a. 22. The method of claim 1 or 3 wherein said laser measuring apparatus is like that shown in Fig. 10b. 23. The method of claim 1 or 3 wherein said laser measuring apparatus is like that shown in Fig. 10c. 24. In a body position error measuring method using a measuring apparatus which directs a reflectable energy beam in a given direction therefrom and a reflector which is to reflect said beam back to said apparatus to obtain position error measurements of a body to be moved under computer control to various assumed predetermined measuring points where the distance between said reflector and apparatus are measured and recorded by said apparatus, and wherein one of said reflector and measuring apparatus is placed on said body for movement therewith in a given space having at least two opposite diagonals and the other of same is at a stationary point relative thereto, the improvement wherein said reflector is sufficiently large to intercept said beam at measuring points on paths spaced from a selected diagonal of said space; and said method including the steps of: operating said computer to move said body sequentially along the various segments of a first selected one of said diagonals in substantially identical repeated groups of at least two sequential incremental body movements opposite each segment along all the orthogonal axes of said space so that the first step in each group in the absence of any movement errors begins at one end of a segment and proceeds parallel to one of the orthogonal axes of said space and ends at an assumed measuring point, and the last step in each movement group the body is moved parallel to another of said axes where body movement therealong terminates at a given desired measuring point which in the absence of any position error would be at the end of the diagonal segment involved said reflector intercepting said energy beam when the body is at each of said measuring points; and there being stored in a memory the ideal predetermined reflector to apparatus distances if the computer had moved said body without error to said measuring points; measuring and recording with said apparatus the actual reflector to apparatus distances when the body is moved to said measuring points at the ends of each of said orthogonal axis incremental movements, comparing each of said reflector distance measurements with said stored ideal reflector distances to determine the reflector distance errors at said points; and then computing and recording from each such reflector distance error the incremental body movement error components relative to the various axes involved; and then repeating all of the above steps for at least one additional different sequence of the possible different orthogonal axis movement sequences, 25. In a measuring system including measuring apparatus for taking position measurements of a body to be moved in a space by a computer-controlled system along paths having various predetermined measuring points, said measuring system including means at a given reference point for directing a reflectable beam in a given direction in said space, the improvement comprising: a reflector sufficiently large that it will receive and reflect said beam back to said reference point when the body is at various predetermined body position measuring points in said space one of said reflector and apparatus to be mounted on said body and the other of same to be stationary; means responsive to the sensing of the beam reflected from said reflector when the body is at said measuring points for then measuring and recording the distance between the reflector and said reference point; said measuring apparatus further having a data storage section having stored therein the various possible ideal reflector distance measurements if the body had been moved precisely to the desired measuring points; and means for determining and recording the body position error components when the body is directed to move in said paths non-parallel to the beam direction and is supposedly moved to said measuring points by first comparing the actual reflector distance measurements as the body reaches said various supposed measuring points with the stored ideal reflector distance measurements to determine the reflector distance measurement errors and then for computing and recording for each diagonal distance measurement error the body movement error components when said body was at said measuring points. 26. The measuring system of claim 25 wherein at least one of said body position error components include the linear displacement error component. 27. The measuring system of claim 25 wherein said body position error components include the linear displacement and straightness error components. 28. The laser measuring apparatus of claim 25 wherein the paths said computer- controlled system is to move said body are identical groups of sequential X, Y and Z axis movements along various segments of a diagonal of said space which is a three- dimensional space, and said measuring points along said paths being the points where the direction of body movement changes to begin movement along another one of said axes. 29. The laser measuring apparatus of claim 28 further provided with means for generating from said body movement error components a compensation table which, when downloaded into the computer which is to control the body movement in the normal operative control of the movement of said body will reduce the movement errors by compensating for said movement errors. 30. In a body positioning motor control system where a body is to be moved by X, Y and Z axis motors each contributing to the body's position in a volumetric space, said system including X Y and Z axis body positioning motors, a controller with X, Y and Z axis motors energizing signal outputs for generating a variable output for energizing the respective motors in varying degrees depending on the value of the output signal variable; and a CAD/CAM controlled computer for generating ideal control signals for the controller which develops therefrom said motor energizing signals, the improvement comprising; an error compensation file which contains tables indicating the body movement error components; controller output signal modifying means for converting said body movement error components of said file to controller output modifying signals which energize said motors in a manner to correct for said body movement errors so that the body is actually moved along the desired paths called for by the CAD/CAM controlled computer output, said controller output signal modifying means being correction interpolator software means responsive to the error in said compensation file for modifying the signal output of said CAD/CAM controlled computer fed to the controller so that controller output signals moves the body in the desired path wherein body movement error correction is achieved without the need to modify a pre-existing controller.

Inventors: WANG CHARLES, WANG, CHARLES
Applicants: OPTODYNE INC, WANG CHARLES, OPTODYNE, INC., WANG, CHARLES
Application year: 1999
Main classification: G01B11
IPC codes: G01B11