Abstract:
In a method for compensating static positioning errors, in particular position and orientation errors, in guiding a movement of a movable machine element of an industrial processing machine, positioning errors are initially measured at startup of the machine and stored in a compensation table in a numerical controller (CNC). These values are used to generate reference values for compensating the errors. Deviations between the measured points in the table are interpolated. The actual position is measured during machining by using an additional measurement system and compared with the nominal position. Typically, the points of the measurement are different from the points in the compensation table. The compensation values can be improved continuously in two ways: on one hand, by extending the compensation table by adding the measured points and, on the other hand, by adapting the points of the compensation table adjacent to the corresponding measurement point.

Description:
CROSS-REFERENCES TO RELATED APPLICATIONS 
   This application claims the priority of German Patent Application Serial No. 101 55 430.3, filed Nov. 12, 2001, pursuant to 35 U.S.C. 119(a)-(d), the disclosure of which is incorporated herein by reference. 
   BACKGROUND OF THE INVENTION 
   The present invention relates to a method for compensating static positioning errors, in particular position and orientation errors, in guiding a movement of a movable machine element of an industrial processing machine, such as a numerically controlled machine tool, a robot or the like, with a preset standard parameter for generating reference variables for one or more drives that control the machine elements in a predetermined workspace. 
   The construction of industrial processing machines requires, among other things, that the machine elements are precisely positioned in order to guarantee today&#39;s requirements for accuracy of, for example, workpieces that are to be manufactured with a numerically controlled machine tool. 
   One characteristic of actual machine tools and robots, in the following referred to as “machines”, is their “absolute positioning accuracy.” This accuracy is expressed in micrometers and degrees, respectively. Their required scale depends on the specific application. In the following, the two terms position and orientation errors are combined into a single term “positioning error.” The positioning accuracy is weighted, among others, by:
         Changes in the temperature on the machine and its environment   Gravitational forces on the tool holder   Deformation and wear of the machine elements   Spindle pitch errors in linear axes with ball screws   Sagging of the guide rails, for example caused by the weight of the tool and spindle of the machine tool   Twisting and insufficient straightness of guide rails   Angular errors between the guide rails   Missing information about actual, geometric dimensions of components; frequently, dimensions from the drawings are used instead of the correct information   With non-Cartesian machine tools and robots, the coordinate transformation of the controller is frequently based on only a simplified mathematical model in order to limit the computing time and keep the number of geometric parameters manageable.       

   Frequently, the positioning accuracy and in rare cases also the orientation accuracy is measured in the workspace after startup of a processing machine, using external measurement tools. Depending on the application, these values may not be sufficient for the reasons discussed above. 
   Certain methods have been established to compensate for the underlying causes spindle pitch error and sagging. Twisting and angular error can be compensated by defining narrow tolerances in the machine design. However, the complexity and expenses increase exponentially with the required accuracy, making the processing machine itself also more expensive. 
   The two latter sources for errors are frequently accepted; alternatively, improvements can be achieved by refining the mathematical model, which however increases the complexity of the software implementation and the required computer resources. 
   It would therefore be desirable and advantageous to provide an improved method to obviate prior art shortcomings and to decrease static positioning inaccuracies of machines. 
   SUMMARY OF THE INVENTION 
   According to one aspect of the present invention, a method is provided, wherein
         a compensation table (K) with compensation values (k) is provided for a predetermined number of different operating points (P 0  . . . Px) in the workspace (A), wherein such compensation values are initially all initialized with the value 0 and added to generated reference variables, wherein for the reference variables located between the predetermined operating points a suitable compensation value is determined by interpolating adjacent compensation values in the compensation table, and wherein   positioning errors occurring during a machining operation are determined, in particular measured, and used for adapting the compensation values of the compensation table, in that   an existing associated compensation value is replaced by a new compensation value corresponding to the additional positioning error, if the positioning error coincides with a predetermined operating point, or otherwise the points of the compensation table adjacent to the corresponding measurement point are corrected at least partially according to the determined positioning error.       

   According to another aspect of the invention, a method is disclosed, wherein
         initially, possible first positioning errors are determined, in particular measured, for a predetermined number of different operating points (P 0  . . . Px) in the workspace (A), and stored as compensation values (k) in a compensation table (K), wherein such compensation values are added to generated reference variables, whereby a compensation value is determined for reference variables located between the predetermined operating points by interpolating adjacent compensation values of the compensation table, and wherein   during a machining operation additional positioning errors that occur are determined, in particular measured, and used to adapt the compensation values of the compensation table, in that   an existing associated compensation value is replaced by a new compensation value corresponding to the additional positioning error, if the positioning error coincides with a predetermined operating point, or   otherwise the points of the compensation table proximate to the corresponding measurement point are corrected at least partially according to the determined positioning error.       

   According to an advantageous embodiment,
         a compensation table (K) with compensation values (k) is provided for a predetermined number of different operating points (P 0  . . . Px) in the workspace (A), wherein such compensation values are initially all initialized with the value 0 and added to generated reference variables, wherein for the reference variables located between the predetermined operating points a suitable compensation value is determined by interpolating adjacent compensation values of the compensation table, and wherein   positioning errors that occur during a machining operation are determined, in particular measured, and used for adapting the compensation values of the compensation table, in that   an existing associated compensation value is replaced by a new compensation value corresponding to the additional positioning error, if the positioning error coincides with a predetermined operating point, or   otherwise, the compensation table is extended by the corresponding measurement point and the compensation value that corresponds to the positioning error determined at that measurement point.       

   According to another embodiment of the invention,
         initially, possible first positioning errors are determined, in particular measured, for a predetermined number of different operating points (P 0  . . . Px) in the workspace (A) and stored as compensation values (k) in a compensation table (K), wherein such compensation values are added to generated reference variables, whereby a compensation value is determined for reference variables located between the predetermined operating points by interpolating adjacent compensation values of the compensation table, and wherein   additional positioning errors that occur during a machining operation are determined, in particular measured, and used to adapt the compensation values of the compensation table, in that   an existing associated compensation value is replaced with a new compensation value corresponding to the additional positioning error, if the positioning error coincides with a predetermined operating point, or   otherwise, the compensation table is extended by the corresponding measurement point and the compensation value that corresponds to the positioning error determined at that measurement point.       

   Advantageously, an external measurement system can be used for determining positioning errors that occur during a machining operation, whereby the externally determined position is measured simultaneously with a reference variable. The first positioning errors are advantageously determined with a machine-internal measurement system. 
   Advantageously, the external measurement system can be adjusted during startup of the machine so as to minimize positioning errors. 
   If both internal and external measurement systems are used, the machine-internal measurement system should be adapted to the external measurement system or vice versa. 
   Advantageously, the method of the invention can be implemented and executed effectively if for determining the operating points, the workspace of the processing machine has a cuboid shape and is subdivided into a three-dimensional grid structure, wherein the difference between the nominal position and the measured actual position is stored for each grid point or a selection of grid points in a data field of the compensation table. 
   Advantageously, the compensation table can be formed as a data array. For each degree of freedom of the processing machine, the travel of the machine elements can be subdivided equidistantly. Each dimension of the workspace is described by a minimal value, a maximum value and a number of equidistant intervals. 
   If the measurement point of a positioning error occurring during the machining operation is located exactly between two predetermined operating points, then advantageously exactly two compensation values of adjacent operating points of the compensation table are corrected according to the measured positioning error. 
   Advantageously, if the measurement point of a positioning error occurring during the machining operation is located exactly in the center of a rectangle, then exactly four compensation values of the rectangle formed by four adjacent operating points of the compensation table are corrected according to the determined positioning error. 
   Otherwise, the eight compensation values of the operating points adjacent to the measurement point of a positioning error, that occurs during the machining operation, are corrected in the compensation table according to the determined positioning error. 
   According to an advantageous embodiment of the invention, adjacent compensation values for one or several coordinates are each corrected by setting the compensation values adjacent to the measurement point equal to the new compensation value associated with the determined positioning error. 
   Alternatively, according to another advantageous embodiment of the invention, adjacent compensation values for one or more coordinates can be corrected by shifting a straight line extending from the compensation value adjacent to the measurement point to the other adjacent compensation value so that the straight line extends through the new compensation value associated with the determined positioning error, whereby the end points of the shifted straight line form the corrected compensation values. 
   The method can advantageously be implemented computationally, in particular in software, by assuming
 
 g= (1 =t ) g   i   +tg   i+1  with 0 &lt;t&lt; 1 and
 
 c=dx− (1 −t ) dx   i   −tdx   i+1 , with
 
the new compensation value (dx) associated with the determined positioning error, a first (g l ) compensation value (dx l ) adjacent to the measurement point (g), and an adjacent (g i+1 ) second compensation value (dx i+1 ), wherein the (g i , g i+1 ) new compensation values (dx i,neu , dx i+1,neu ) adjacent to the measurement point (g) are defined according to
 
 dx   l,neu   =dx   l   +c  and
 
 dx   l+1,neu   =dx   i+1   +c. 
 
   According to another advantageous embodiment of the method of the invention, adjacent compensation values for one or several coordinates are each corrected by assuming
 
 g =(1 −t )g i   +tg   i+1  with 0 &gt;t &gt;1 and
 
 c=dx −(1 −t ) dx   i    −t dx   i+1  with
 
the new compensation value (dx) associated with the determined positioning error, a first (g i ) compensation value (dx i ) adjacent to the measurement point (g), and an adjacent (g i+1 ) second compensation value (dx i+1 ), wherein the (g i , g i+1 ) new compensation values (dx i,neu , dx i+1,neu ) adjacent to the measurement point (g) are defined according to
 
 dx   i,neu   =dx   i (1 −t ) c  and
 
 dx   i+1,neu   =dx   i+1   +tc 
 
   The method according to the invention can also be implemented with numerical controllers requiring less computing power by measuring positioning errors occurring during a machining operation as a series of measurements and suitably adapting the compensation values of the compensation table after the machining operation is completed. 
   The compensation table can be extended without significantly increasing memory requirements by extending the compensation table only with an entry representing the mean value of the associated compensation values, if during a machining operation one or more positioning errors are measured for closely spaced measurement points. 
   Advantageously, the compensation values are weighted more, if the measurement points with measured positioning errors accumulate at certain positions or in a region around certain positions during a machining operation. 
   The compensation of positioning errors can be further improved with the invention by correcting adjacent compensation values for one or more coordinates by distributing the new compensation value associated with the measured positioning error at the measurement point over the adjacent compensation values weighted according to the position and/or weighting of the measurement point. 
   According to another embodiment of the invention, a compensation table can be generated and used by:
         defining nominal positions for the machine element for a predetermined number of different operating points in the workspace,   determining positioning errors by comparing the respective nominal position and actual position of the machine elements for each of these operating points,   placing the respective nominal position and measured positioning error into a compensation table,   taking the positioning errors of the compensation table into account as compensation values by   adding the compensation values when reference variables for the drive(s) are generated from the preset nominal values in the respective nominal positions, or by   interpolating the compensation values of the compensation table in the intervals of the corresponding nominal positions.       

   Advantageously, the method can be executed automatically during start-up of the processing machine, by accessing the desired positions in the operating space via a corresponding parts programs using travel commands for the defined nominal values, and measuring the attained actual positions after the corresponding position is reached and transferring the measured positions to the machine controller, where the deviations are measured as positioning errors and entered into the corresponding locations in the compensation table. 
   Static positioning errors can include static position errors and/or orientation errors. 
   The aforedescribed method for compensating static positioning errors according to the invention is particularly suited for quality control or quality assurance of an industrial processing machine. 
   According to the invention, the positioning accuracy can be increased by initially measuring positioning errors at startup and storing the measured positioning errors in a compensation table in a numerical controller (CNC). These values are used to generate reference values for error compensation. The deviations are interpolated between the measured points in the table. The actual position during machining can be measured with an additional measurement system and compared with the corresponding nominal position. The positioning error is typically composed of the sum of the above-reference quantities, with the deformation caused by machining forces and the contour spacings. The points where measurements are performed are typically different from the points stored in the aforedescribed compensation table. 
   According to another embodiment of the invention, the compensation can be further improved by the following measures:
         The compensation table is extended by including the measured points. However, this would significantly increase the size of the compensation table over time. The invention provides also a solution for this partial problem, as described above. Problems can also arise in that different positioning errors are measured even for closely spaced points, for example, over long time intervals and possibly at significantly different temperatures,   the measurements are used to suitably correct the points in the compensation table that are adjacent to the corresponding to measurement points. The user configures the compensation table before startup, e.g., a regular grid in the workspace. The size of the compensation table is then constant. Only the compensation values are updated based on measurements during machining. The different embodiments, i.e., strategies for updating the compensation values, will be described below with reference to advantageous embodiments.       

   The invention has, among others, the following advantages:
         An adaptive quality control can be achieved for larger batch sizes of machined workpieces by repeated, sampled external measurements   changing process parameters, such as temperature and wear, are constantly taken into account through updated compensation values   distortions of the tool path caused by machining forces are registered via the online measurements; the compensation values are used during the next path to move the tool closer the to the programmed position.       

   External measurement devices can be used by the present invention not only for quality control, but also for quality assurance. The compensation table stored in the controller is updated exactly where the workpiece is machined, namely along the programmed machining paths. It is also possible to set all compensation values initially to 0 and to then learn the compensation values when the first workpiece is machined. 

   
     BRIEF DESCRIPTION OF THE DRAWING 
     Other features and advantages of the present invention will be more readily apparent upon reading the following description of currently preferred exemplified embodiments of the invention with reference to the accompanying drawing, in which: 
       FIG. 1  a cuboid workspace with an equidistantly subdivided travel region; 
       FIG. 2  a cuboid workspace for a machine element with a three-dimensional grid structure; 
       FIG. 3  the definition of a spatial deviation; 
       FIG. 4  an example of a compensation table for positioning errors; 
       FIG. 5  a diagram of compensation values for a coordinate and/or spatial dimension with a measurement point and adjacent compensation values at predetermined operating points; 
       FIG. 6  a first approach for adapting adjacent compensation values to a new compensation value at the measurement point; 
       FIG. 7  a second approach for adapting adjacent compensation values to a new compensation value at the measurement point; 
       FIG. 8  a third approach for adapting adjacent compensation values to a new compensation value at the measurement point; 
       FIG. 9  a fourth approach for adapting adjacent compensation values to a new compensation value at the measurement point; 
       FIG. 10  an exemplary one-dimensional curve of compensation values depending on a spatial dimension; 
       FIG. 11  an approach for uniform adaptation of adjacent compensation values to a new compensation value at the measurement point; 
       FIG. 12  an approach for weighted adaptation of adjacent compensation values to a new compensation value at the measurement point; and 
       FIG. 13  a schematic diagram of the effect of a compensation value. 
   

   DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
   Throughout all the Figures, same or corresponding elements are generally indicated by same reference numerals. These depicted embodiments are to be understood as illustrative of the invention and not as limiting in any way. 
   The absolute positioning accuracy of a machine tool or a robot can be checked by using highly precise external measurement devices. The accuracy can be increased further by storing the measured deviations in a numeric controller and by taking the measured deviations into account when generating reference values. 
   According to the invention, positioning errors can thereby be reduced at least at the measured positions down to the repeating accuracy. A possible solution could here be a “Space Error Compensation” (SEC). The measurement points preferably form a regular grid in the work space. The position of the grid points can be sufficiently described by the boundaries of the grid and the number of grid points in each dimension. The compensation values between the grid points can then be calculated by linear interpolation in space with a comparatively small computation effort. This method and similar solution trials according to the present invention for further improving the compensation of positioning errors will be described hereinafter in detail. 
   The following discussions refer to a workspace A depicted, for example, schematically in  FIGS. 1 and 2 . An existing positioning error and optionally also an orientation error are measured at the number of different operating points P 0  . . . Px in the workspace A of the processing machine. The term “positioning” will be used hereinafter to describe both the position and the orientation. 
   The nominal positions X_soll are entered together with the corresponding positioning errors rA in a compensation table K. An exemplary compensation table K for positioning errors is depicted in  FIG. 4 , in that the nominal position X_soll and subsequently the corresponding positioning errors rA are placed in a list for all operating points P 0  . . . Px. 
   These compensation values are taken into account for generating reference values from preset positions for drives (not shown) by correcting the corresponding nominal position values with the associated compensation values and outputting the corrected values as reference values for controlling the drives. This initially eliminates an existing positioning error at the measurement points and/or the selected operating points P 0  . . . Px. 
   However, since the majority of possible operating points in the workspace A does not typically coincide with the measurement points, which only represent a representative selection of possible positions in the workspace A, an existing positioning error must also be corrected in the regions located between the measurement points. 
   According to the invention, the compensation values are interpolated in these intermediate regions from the compensation table K, thereby further decreasing the deviations in these intermediate regions. 
   The method according to the invention can be carried out by storing the measurement protocol, that relates to the absolute positioning and/or orientation accuracy and is generated when a machine tool or a robot is accepted, in suitable form in the controller in the form of a compensation table K (see FIG.  4 ). The compensation table can then be reused in the aforedescribed manner to increase the accuracy and reduce the deviations. The cost associated with implementing this method and the computation resources required of a numerical controller are relatively small. 
   In a particularly effective implementation, a regular three-dimensional grid can be placed over a cuboid workspace A. This is shown schematically in  FIG. 2 , wherein the grid structure G is indicated. At each grid point, i.e., the operating point P 0  . . . Px to be measured, the deviation between the nominal position and the measured position is entered into a data field. The deviation at the respective grid point can also be referred to as “spatial deviation” rA, as indicated in FIG.  3 . The spatial deviation rA is actually a vector between the nominal position X_soll and the actual position X_ist at the desired operating point. 
   The values in the compensation table K can also be determined automatically. The processing machine can move to the desired positions in the workspace with the help of a parts program. After each position is reached, the actual position is determined, for example, by an external measurement device, and transmitted to the machine controller. The deviation rA can then be determined and together with position entered into the compensation table K. 
   The required memory locations of the compensation table K can be optimized with a suitable selection of the positions in the workspace. For example, for each degree of freedom (e.g. the dimensions X, Y, Z in  FIG. 1 ) of the machine, the travel is equidistantly subdivided into spacings Δx and/or Δy, thereby placing the measurement points P 0  . . . Px on a regular grid. This situation is based on the diagram in  FIG. 1  which shows equidistant operating points P 0  to P 16 . 
   Each dimension X, Y, Z is described by providing a minimum value, a maximum value, and a number of equidistant intervals. With this approach, the interpolation of the compensation values in the intervals becomes very simple and hence non-critical with respect to the run time and computation resources. 
   Important aspects of this invention are the external measurement of the position/orientation and updating the compensation table. At startup, the external measurement system has to be adjusted so that the positioning errors are small. Alternatively, the machine-internal measurement system can be matched to the external measurement system. During the measurement, time synchronization has to be observed, i.e., the externally measured position X ext  has to be recorded synchronously with the actual values q ist  of the machine. 
   With Cartesian machines, the position X ist =q ist , whereas with non-Cartesian machines, the position X ist  is calculated from q ist  by a forward transformation. The computing time and the data required to describe the operating points when updating the compensation table can be optimized by arranging the operating points in the form of the aforedescribed regular grid, as depicted in  FIGS. 1 and 2 . 
   The following three situations can arise for the position of the measurement point relative to the grid:
         the measurement point is located exactly between two grid points and therefore has exactly two adjacent grid points   the measurement point is located inside a rectangle formed by four adjacent grid points and therefore has four adjacent grid points   in all other cases, the measurement point has eight adjacent grid points.       

   The process of updating compensation values k on adjacent grid points will now be described for the first case, i.e., when the spatial dimension has a single component, such as the X-coordinate. 
     FIG. 5  shows the two corresponding neighboring points g i  and g i+1  of the grid and the associated compensation values dx i  and dx i+1 . The straight line connecting these two points indicates that a compensation value k is to be linearly interpolated. The positioning error dx is to be determined at the measured point g. 
   The following two cases can be considered. 
   Case 1: g=g l    
   The compensation value d i  is then to be replaced by dx or more generally by setting:
 
 dx   i,neu   =dx   i +λ( dx−dx   i ) with 0&lt;λ≦1.
 
   Case 2: g =(1−t)g i +tg i+1  with 0&lt;t&lt;1 
   Several approaches for updating the compensation values, can be envisioned for this case, with several suitable exemplary approaches described below. 
   Approach 1 (graphically illustrated in FIG.  6 ): 
   By setting dx i,neu =dx i+1,neu =dx. the compensation value between g i  and g i+1  is then constant and equal to dx. 
   Approach 2 (graphically illustrated in FIG.  7 ): 
   The straight line between (g i , dx i ) and (g i+1 , dx i+1 ) is shifted until it includes the point (g, dx), i.e., one sets
 
 c=dx −(1 −t ) dx   i   −tdx   i+1  and
 
dx i,neu   =dx   i   =c   l   dx   i+1,neu   =dx   i+1   +c. 
 
   Approach 3 (graphically illustrated in FIG.  8 ): 
   Both compensation values are corrected by a value smaller than c, e.g.,
 
 dx   i,neu   =dx   i +(1 −t ) c,dx   i+1,neu   =dx   i+1   +tc. 
 
For t=0 and t=1, the compensation value is replaced at g i  and g i+1 , respectively. A residual deviation 2t(1 −t)c remains at the position g. The residual deviation is assumed to have a maximum value of ½ c at t=½.
 
   Approach 4 (graphically illustrated in FIG.  9 ): 
   An intermediate approach between Approaches 2 and 3 proposes 0&lt;λ≦1 by setting
 
 dx   i,neu   =dx   i   +λc,dx   i+1,neu   +dx   i+1   +λc. 
 
   Independent of which of the above Approaches is selected for updating the compensation data, the remaining positioning error dx at the position g becomes smaller with each update. 
   The number of the preset operating points increases with a third power of the decreasing mutual spacing between the grid points. For this reason, a compromise has to be made between the reserved memory space in the controller and the accuracy in the workspace A. For a repeated machining operations, advantageously as many measurement points as possible should be measured and taken into account along the programmed contour. 
   The aforedescribed invention improves also the following two, previously disadvantageous features:
         The absence of actual machining forces when the compensation values are determined,   Transfer to the SEC of changes in the positioning differences due to temperature variations only if such changes are measured at the grid points.       

   If the external measurement system is not capable of providing spatial coordinates at the operating points at a rate necessary for real-time operation, then the measurement results cannot be processed online. A series of measurements can be generated while the part is machined, and be used subsequently to update the SEC data. This provides updated compensation data when the next part is machined. 
   The position of the operating points is recorded at different times with an external measurement system and a measurements record is produced. Synchronously thereto, the actual position values are measured in the controller and also recorded in the position record. 
   The following requirements and solution trials for adaptation of the compensation value may have to be considered when implementing the method of the invention with existing numeric controllers:
         As little as possible should be changed when the SEC is implemented in the controller. Any increase in the computation effort should be minimal. The SEC data should be updated externally due to the exceptional access to the data of the controller, for example as an application running on a Human Machine Interface (HMI).   If the measurement points accumulate at certain positions, then the determined composition values carry more weight.   If two measurement points are closely spaced, then an average value of the associated compensation values can be used for updating the compensation table and/or the SEC table. This occurs, for example, in bidirectional finishing of free-form surfaces, when the two measurement points on adjacent rows are located next to each other. The opposing machining forces can cause significantly different compensation values.   The measurement points have local effects. Corrections of the SEC compensation values derived from the measurement points only affect grid points in close proximity.       

   The aforedescribed method of the invention for adapting compensation values will now be described with reference to an embodiment, in particular a software-implemented embodiment. 
   A compensation value is associated with each point in space via the SEC. The dimensions of a compensation value are independent of each other. Accordingly, the following discussion will be restricted to one-dimensional compensation. The other dimensions can be treated in an analogous manner. 
   In the simplest case, the SEC depends only on one spatial dimension of the point, which is independent of the other two coordinates.  FIG. 10  depicts the curve form of the compensation value k as a function of the X-coordinate. The constant spacing between grid points is Δx=x i+1 −x i . The compensation values k have only a local weight in that changes of k l  only affect the interval ]x l−1 ,x l+1 [. A measurement point at the location x s ε]x i−1 , x i+1 [ shall be designated k s . This new measurement point can be included in different ways: 
   The first solution trial is directed to a uniform adaptation of adjacent compensation values. A diagram of the results is depicted to in  FIG. 11 , wherein the original curve of the compensation values k is shown as a dashed line, the updated curve as a continuous line. Although the computation of new measurement points is very simple, the second measurement value always dominates in the interval ]x l−1 ,x i+1 [. Neither the preceding compensation values nor the original compensation values are taken in consideration. If x s  is close to x l+1 , then k l  is shifted by the same amount as k i+1 . 
   This can be expressed by the following formulas 
             dk   =       k   s     -           x     i   +   1       -     x   s         Δ   ⁢           ⁢   x       ⁢     k   i       -           x   s     -     x   i         Δ   ⁢           ⁢   x       ⁢     k     i   +   1                   (   1   )                     k   i     ⁢     :       ⁢           =       k   i     +     dk   i         ,           ⁢         k     i   +   1       ⁢     :       ⁢           =       k     i   +   1       +   dk               (   2   )             
 
   Another solution trial of the invention represents a weighted adaptation of adjacent compensation values. The weighted distribution of the compensation values compensates for some of the disadvantageous features of the aforedescribed embodiment. Like in the first solution try, the measurement points are assumed to be absolutely accurate. The updated compensation curve goes exactly through the measurement point. The result is shown in the diagram of FIG.  12 . 
   The solution trial: 
                 k   s     =             x     i   +   1       -     x   s         Δ   ⁢           ⁢   x       ⁢     (       k   i     +     dk   i       )       +           x   s     -     x   i         Δ   ⁢           ⁢   x       ⁢     (       k     i   +   1       +     dk     i   +   1         )           ,           (   3   )             
  dk   l ( x   s   −x   l ) =dk   l+1 ( x   l+1   −x   s )  (4)
 
yields the following solution, if x s &gt;x i : 
                     dk     i   +   1       =       ⁢       [         k   s     ⁢   Δ   ⁢           ⁢   x     -       k   i     ⁡     (       x     i   +   1       -     x   s       )       -       k     i   +   1       ⁡     (       x   s     -     x   i       )         ]     ·                     ⁢         x   s     -     x   i           2   ⁢       (       x   s     -     x   i       )     2       -     2   ⁢   Δ   ⁢           ⁢     x   ⁡     (       x   s     -     x   i       )         +     Δ   ⁢           ⁢     x   2                         (   5   )                   dk   i     =           x     i   +   1       -     x   s           x   s     -     x   i         ⁢     dk     i   +   1           ⁢                   (   6   )             
 
   For x s =x i   dk     l     =1, dk     l+1     =0 . 
   For x s =x i  one obtains dk i =dk i+1 =dk, which represents the same change in the compensation data as for a uniform adaptation. 
   However, in many cases the compensation data exhibitgreater changes, e.g. k i =k l+1  and x s =0.3x l +0.7x l+1 . In this case, the change of the (i+1)th compensation value is dk i+1 =1.2(k s −k i ), i.e., approximately 20 percentgreater than the difference between the values. 
   Based on the discussions above, the following possibilities exist for including a measurement point into the grid. 
   All the aforedescribed method work less well if several measurement points are located inside, before or after the interval ]x i , x i+1 [ and have to be treated equally. To improve situation, the weight w of the compensation value k i  will now be considered. 
   The weight w has the effect in the interval ]x l ,x l+1 [ as depicted in FIG.  13 . The weight of all compensation data adds up to 1 which is constant. The weight function w l  is defined as: 
                 w   i     ⁡     (   x   )       =     {               x   -     x     i   -   1           Δ   ⁢           ⁢   x       ,           ⁢       x     i   -   1       ≤           ⁢   x   ≤           ⁢     x   i                       ⁢           x     i   +   1       -   x       Δ   ⁢           ⁢   x       ,           ⁢       x   i     &lt;   x   ≤           ⁢     x     i   +   1                           ⁢     0   ,           ⁢     otherwise   .                         (   7   )             
 
   If the grid has n x  points, then the compensation value is computed at the location x as 
                   k   ^     ⁡     (   x   )       =       ∑     i   =   1       n   x       ⁢         w   i     ⁡     (   x   )       ⁢     k   i           ,           ⁢       x   min     ≤           ⁢   x   ≤           ⁢       x   max     .               (   8   )             
 
   By adding the measurement point at the location x s , the new compensation value is computed with the help of the weight function 
                 w   s     ⁡     (   x   )       =     {               ⁢           x   -     x   s         Δ   ⁢           ⁢   x       +   1     ,           ⁢         x     s   ⁢               -     Δ   ⁢           ⁢   x       ≤           ⁢   x   ≤           ⁢     x   s                         ⁢             x   s     -   x       Δ   ⁢           ⁢   x       +   1     ,           ⁢       x   s     &lt;   x   ≤           ⁢       x   s     +     Δ   ⁢           ⁢   x                           ⁢     0   ,           ⁢   otherwise                       (   9   )             
 
according to the formula 
                   k   ~     ⁡     (   x   )       =       1     1   +     λ   ⁢           ⁢       w   s     ⁡     (   x   )             ⁢     (         ∑     i   =   1       n   s       ⁢         w   i     ⁡     (   x   )       ⁢     k   i         +     λ   ⁢           ⁢       w   s     ⁡     (   x   )       ⁢     k   s         )         ,           ⁢       x   min     ≤           ⁢   x   ≤           ⁢     x   max               (   10   )             
 
   The parameter λ can be used to assign more weight the measurement points than to the grid points. For example, if a measurement point coincides with a grid point x l , then the compensation value {tilde over (k)}(x l ) for λ=1 is the average of the original value and the measured value, whereas for λ=9 {tilde over (k)}(x l ) is spaced from k i  only by a tenth of the distance between k l  and k s . With this method, an arbitrary number of additional measurement points can be taken into account. The method can also be easily extended to several dimensions. 
   For determining a compensation function f with grid points and measurement points, the prescription (10) for computing a three-dimensional lattice with several existing measurement points will now be described for sake of completeness. 
   The cuboid or workspace A of a machine tool to be compensated shall be defined by the boundaries x min , x max , y min , y max , z min , z max . By specifying the interval numbers n x , n y , and n z , a regular lattice
 
 G:={g   ljk :=( x   min   i·Δx,y   min   +j·Δy,z   min   +k·Δz )∈ 3 |0 ≦i≦n   x ,0 ≦j≦n   y ,0 ≦k≦n   z} 
 
is defined using the following abbreviations 
                 Δ   ⁢           ⁢   x   ⁢     :       ⁢           =         x   max     -     x   min         n   x         ,           ⁢       Δ   ⁢           ⁢   y   ⁢     :       ⁢           =         y   max     -     y   min         n   y         ,           ⁢       Δ   ⁢           ⁢   z   ⁢     :       ⁢           =           z   max     -     z   min         n   z       .               (   12   )             
 
h ljk  shall be the compensation value at point g ljk .
 
   It is assumed that m measurement points {(x s ,y s ,z s )} s=1, . . . , m  exist with associated compensation values {h s } s=1, . . . , m . With the help of the one-dimensional weighting function w:× + ×→, 
                 w   ⁡     (     p   ,   dp   ,   u     )       ⁢     :       =     {               ⁢         u   -   p     dp     ,           ⁢       p   -   dp     ≤           ⁢   u   ≤           ⁢   p                       p   +   dp   -   u     dp     ,           ⁢     p   &lt;   u   ≤           ⁢     p   +   dp                       ⁢     0   ,           ⁢   otherwise                       (   11   )             
 
the three-dimensional weight functions w ljk : 3 → are defined according to
 
 w   ljk ( x,y,z ):= w ( x   min   +i·Δx,Δx,x )· w ( y   min   +j·Δy,Δy,y )· w ( z   min   +k·Δz,Δz,z )  (12)
 
for 0≦i≦n x , 0≦j≦n y , 0≦k≦n z  and (x,y,z)ε 3  as well as w s :  3 →,
 
 w   s ( x,y,z ):= w ( x   s   ,Δx,x )· w ( y   s   ,Δy,y )· w ( z   s   ,Δz,z ) for s=1 , . . . , m.   (13)
 
   Since 
           ∑     k   =   0       n   z       ⁢       ∑     j   =   0       n   y       ⁢       ∑     i   =   0       n   x       ⁢       w   ijk     ⁢     (     x   ,   y   ,   z     )             =   1       
 
=1 within the defined cuboid, the compensation function of the SEC is 
                   S   ec     ⁡     (     x   ,   y   ,   z     )       ⁢     :       =       ∑     k   =   0       n   z       ⁢       ∑     j   =   0       n   y       ⁢       ∑     i   =   0       n   x       ⁢         w   ijk     ⁡     (     x   ,   y   ,   z     )       ·     h   ijk                     (   14   )             
 
   The compensation function—with the measurement values also considered—is 
                     f   ⁡     (     x   ,   y   ,   z     )       :=       ⁢     1         ∑     k   =   0       n   z       ⁢       ∑     j   =   0       n   y       ⁢       ∑     i   =   0       n   x       ⁢       w   ijk     ⁡     (     x   ,   y   ,   z     )             +     λ   ⁢       ∑     s   =   1     m     ⁢       w   s     ⁡     (     x   ,   y   ,   z     )                               ⁢     (         ∑     k   =   0       n   z       ⁢       ∑     j   =   0       n   y       ⁢       ∑     i   =   0       n   x       ⁢         w   ijk     ⁡     (     x   ,   y   ,   z     )       ·     h   ijk             +     λ   ⁢       ∑     s   =   1     m     ⁢         w   s     ⁡     (     x   ,   y   ,   z     )       ·     h   s             )                 =       ⁢       1     1   +     λ   ⁢       ∑     s   =   1     m     ⁢       w   s     ⁡     (     x   ,   y   ,   z     )               ⁢     (         S   ec     ⁡     (     x   ,   y   ,   z     )       +     λ   ⁢       ∑     s   =   1     m     ⁢         w   s     ⁡     (     x   ,   y   ,   z     )       ·     h   s             )                     (   15   )             
 
   This function satisfies the requirements (2), (3) and (4) and should therefore be simulated as best as possible in the controller. A direct implementation in the controller requires a substantial increase in the computation power and the data volume. Accordingly, the compensation values h ljk , which best approximate the modified compensation function with the implemented SEC, are determined via a correcting computation. 
   Best suited here is a “Least Square Method”—initially with a local solution. 
   New compensation values {tilde over (h)} ljk  are computed with a quadratic correcting computation which produces a minimum mean quadratic difference in the values at the grid points as well as at the measurement points. {tilde over (S)} ec  designates the SEC function based on {tilde over (h)} ljk . The least square (LQ) problem can be expressed as follows: 
                 Minimize   ⁢           ⁢   Opt     =       ⁢         ∑     k   =   0       n   z       ⁢       ∑     j   =   0       n   y       ⁢       ∑     i   =   0       n   x       ⁢       (       f   (     g   ijk     )     -         S   ~     ec     ⁡     (     g   ijk     )         )     2           +                     ⁢     κ   ⁢       ∑     l   =   1     m     ⁢       (       f   ⁡     (       x   l     ,     y   l     ,     z   l       )       -         S   ~     ec     ⁡     (       x   l     ,     y   l     ,     z   l       )         )     2                 ⁢               
 
with the boundary conditions {tilde over (h)} ljk  ε.
 
   For added clarity, the measurement points from here on will have the index l, whereas the associated weight functions have the index s. 
   The factor κ can be used to assign more weight to the differences at the measurement point. 
   The target function of LQ depends on {tilde over (h)} ljk  and can be transformed as follows: 
               ⁢           Opt   =       ⁢       ∑     k   =   0       n   z       ⁢       ∑     j   =   0       n   y       ⁢       ∑     i   =   0       n   x       ⁢         (         1     1   +     λ   ⁢       ∑     s   =   1     m     ⁢       w   s     ⁡     (     g   ijk     )               ⁢     (       h   ijk     +     λ   ⁢       ∑     s   =   1     m     ⁢         w   s     ⁡     (     g   ijk     )       ·     h   s             )       -       h   ijk     ~       )     2     ⁢         +                             ⁢     κ   ⁢       ∑     l   =   1     m     ⁢     (       1     1   +     λ   ⁢       ∑     s   =   1     m     ⁢       w   s     ⁡     (       x   l     ,     y   l     ,     z   l       )               ⁢     (         ∑     k   =   0       n   z       ⁢       ∑     j   =   0       n   y       ⁢       ∑     i   =   0       n   x       ⁢         w   ijk     ⁡     (       x   l     ,     y   l     ,     z   l       )       ·     h   ijk             +                                 ⁢     λ   ⁢       ∑     s   =   1     m     ⁢         w   s     ⁡     (       x   l     ,     y   l     ,     z   l       )       ·     h   s           )     -                     ⁢       ∑     k   =   0       n   z       ⁢       ∑     j   =   0       n   y       ⁢       ∑     i   =   0       n   x       ⁢         w   ijk     ⁡     (       x   l     ,     y   l     ,     z   l       )       ·       h   ~     ijk             )     2               
         with the following abbreviations 
                       a   ijk     =       ⁢     1     1   =     λ   ⁢       ∑     s   =   1     m     ⁢       w   s     ⁡     (     g   ijk     )                               ⁢     (       h   ijk     +     λ   ⁢       ∑     s   =   1     m     ⁢         w   s     ⁡     (     g   ijk     )       ·     h   s             ⁢           )             ⁢                   (   16   )                       b   l     =       ⁢     1     1   +     λ   ⁢       ∑     s   =   1     m     ⁢       w   s     ⁡     (       x   l     ,     y   l     ,     x   l       )                               ⁢     (         ∑     k   =   0       n   z       ⁢       ∑     j   =   0       n   y       ⁢       ∑     i   =   0       n   x       ⁢         w   ijk     ⁡     (       x   l     ,     y   l     ,     z   l       )       ·     h   ijk             +     λ   ⁢       ∑     s   =   1     m     ⁢         w   s     ⁡     (       x   l     ,     y   l     ,     z   l       )       ·     h   s             )                   (   17   )             
       

   It follows 
             Opt   =       ⁢         ∑     k   =   0       n   z       ⁢       ∑     j   =   0       n   y       ⁢       ∑     i   =   0       n   x       ⁢       (       a   ijk     -       h   ~     ijk       )     2           +                     ⁢     κ   ⁢       ∑     l   =   1     m     ⁢         (       b   l     -       ∑     k   =   0       n   z       ⁢       ∑     j   =   0       n   y       ⁢       ∑     i   =   0       n   x       ⁢         w   ijk     ⁡     (       x   l     ,     y   l     ,     z   l       )       ·       h   ~     ijk               )     2     .                   
 
   Opt can be represented as a common quadratic curve fit with 
     u   1+l+n     x     ·j+n     x     ·n     y     ·k   :={tilde over (h)}   ljk   , c   l+l+n     x     j+n     x     ·n     y     ·k   :=a   ljk ,
 
 d   l,1+l+n     x     j+n     x     n     y     ·k   :=w   ljk ( x   l   ,y   l   ,z   l ),1≦ l≦m ,0 ≦i≦n   x ,0 ≦j≦n   y ,0 ≦k≦n   z ,
 
 n =( n   x +1)·( n   y +1)·( n   z +1) and the ( M×N ) matrix  D={d   l,l 
 
                   Opt   =         ∑     i   =   1     n     ⁢       (       u   i     -     c   i       )     2       +     κ   ⁢       ∑     l   =   1     m     ⁢       (         D   l     ·   u     -     b   l       )     2                       =           (     u   -   c     )     T     ⁢     (     u   -   c     )       +         κ   ⁡     (       D   ·   u     -   b     )       T     ⁢     (       D   ·   u     -   b     )                     =           u   T     ⁡     (     I   +     κ   ⁢           ⁢     D   T     ⁢   D       )       ⁢   u     -     2   ⁢     (       c   T     +     κ   ⁢           ⁢     b   T     ⁢   D       )     ⁢   u     +       c   T     ⁢   c     +     κ   ⁢           ⁢     b   T     ⁢   b                     (   18   )             
 
   A necessary condition for this expression to have a minimum is a zero value of the gradient. 
           ⅆ   Opt       ⅆ   u       =         2   ⁢     (     I   +     κ   ⁢           ⁢     D   T     ⁢   D       )     ⁢   u     -     2   ⁢     (     c   +     κ   ⁢           ⁢     D   T     ⁢   b       )         =   0         
 
or
 
( I+κD   T   D ) u=c+κD   T   b   (19).
 
   The optimal compensation values {tilde over (h)} ljk  are obtained by solving this system of linear equations. 
   Since the matrix on the left side is symmetric and positive definite, it can be best solved using the Cholesky method. Alternatively, a global least-square solution method can be used. 
   If the function f, unlike in the previous solution, is not only to be approximated at the grid points and measurement points, but also in the remaining space of the cuboid, then the following quadratic problem (IQ) has to be solved: 
         Minimize   ⁢           ⁢   OptInt     =       ∫     z   min       z   max       ⁢       ∫     y   min       y   max       ⁢       ∫     x   min       x   max       ⁢         (       f   ⁡     (     x   ,   y   ,   z     )       -         S   ~     ec     ⁡     (     x   ,   y   ,   z     )         )     2     ⁢     ⅆ   x     ⁢     ⅆ   y     ⁢     ⅆ   z                 
 
with the boundary condition {tilde over (h)} ljk ε.
 
   The target function of IQ depends on the values {tilde over (h)} ljk  and can be transformed as follows: 
             OptInt   =       ⁢       ∫     z   min       z   max       ⁢       ∫     y   min       y   max       ⁢       ∫     x   min       x   max       ⁢         (       f   ⁡     (     x   ,   y   ,   z     )       -       ∑     k   =   k       n   z       ⁢       ∑     j   =   0       n   y       ⁢       ∑     i   =   0       n   x       ⁢         w     i   ⁢           ⁢   j   ⁢           ⁢   k       ⁡     (     x   ,   y   ,   z     )       ·       h   ~       i   ⁢           ⁢   k                 )     2     ⁢           ⁢     ⅆ   x     ⁢           ⁢     ⅆ   y     ⁢           ⁢     ⅆ   z                         =       ⁢         ∫     z   min       z   max       ⁢       ∫     y   min       y   max       ⁢       ∫     x   min       x   max       ⁢         (     f   ⁢     (     x   ,   y   ,   z     )       )     2     ⁢     ⅆ   x     ⁢     ⅆ   y     ⁢     ⅆ   z             -                     ⁢       2   ⁢       ∫     z   min       z   max       ⁢       ∫     y   min       y   max       ⁢       ∫     x   min       x   max       ⁢       f   ⁢     (     x   ,   y   ,   z     )       ⁢       ∑     k   =   k       n   z       ⁢       ∑     j   =   0       n   y       ⁢       ∑     i   =   0       n   x       ⁢           w   ijk     ⁢     (     x   ,   y   ,   z     )       ·       h   ~     ijk       ⁢     ⅆ   x     ⁢     ⅆ   y     ⁢     ⅆ   z                       +                     ⁢       ∫     z   min       z   max       ⁢       ∫     y   min       y   max       ⁢       ∫     x   min       x   max       ⁢         (       ∑     k   =   k       n   z       ⁢       ∑     j   =   0       n   y       ⁢       ∑     i   =   0       n   x       ⁢         w   ijk     ⁢     (     x   ,   y   ,   z     )       ·       h   ~     ijk             )     2     ⁢     ⅆ   x     ⁢     ⅆ   y     ⁢     ⅆ   z                         =       ⁢         ∫     z   min       z   max       ⁢       ∫     y   min       y   max       ⁢       ∫     x   min       x   max       ⁢         (     f   ⁢     (     x   ,   y   ,   z     )       )     2     ⁢     ⅆ   x     ⁢     ⅆ   y     ⁢     ⅆ   z             -                     ⁢       2   ⁢       ∑     k   =   0       n   z       ⁢       ∑     j   =   0       n   y       ⁢       ∑     i   =   0       n   x       ⁢       ∫     z   min       z   max       ⁢       ∫     y   min       y   max       ⁢       ∫     x   min       x   max       ⁢       f   ⁢     (     x   ,   y   ,   z     )       ⁢       w   ijk     ⁢     (     x   ,   y   ,   z     )       ⁢     ⅆ   x     ⁢     ⅆ   y     ⁢       ⅆ   z     ·       h   ~     ijk                       +                     ⁢       ∫     z   min       z   max       ⁢       ∫     y   min       y   max       ⁢       ∫     x   min       x   max       ⁢         (       ∑     k   =   0       n   z       ⁢       ∑     j   =   0       n   y       ⁢       ∑     i   =   0       n   x       ⁢         w   ijk     ⁢     (     x   ,   y   ,   z     )       ·       h   ~     ijk             )     2     ⁢     ⅆ   x     ⁢     ⅆ   y     ⁢     ⅆ   z                         =       ⁢         ∫     z   min       z   max       ⁢       ∫     y   min       y   max       ⁢       ∫     x   min       x   max       ⁢         (     f   ⁢     (     x   ,   y   ,   z     )       )     2     ⁢     ⅆ   x     ⁢     ⅆ   y     ⁢     ⅆ   z             -                     ⁢     2   ⁢       ∑     k   =   0       n   z       ⁢       ∑     j   =   0       n   y       ⁢       ∑     i   =   0       n   x       ⁢       ∫     z   min       z   max       ⁢       ∫     y   min       y   max       ⁢       ∫     x   min       x   max       ⁢       f   ⁢     (     x   ,   y   ,   z     )       ⁢     w   ⁡     (           x   min     ++     ⁢     i   ·   Δ     ⁢           ⁢   x     ,     Δ   ⁢           ⁢   x     ,   x     )                                       ⁢       w   ⁢     (         y   min     +       j   ·   Δ     ⁢           ⁢   y       ,     Δ   ⁢           ⁢   y     ,   y     )     ⁢     w   ⁡     (         z   min     +       k   ·   Δ     ⁢           ⁢   z       ,     Δ   ⁢           ⁢   z     ,   z     )       ⁢     ⅆ   x     ⁢     ⅆ   y     ⁢       ⅆ   z     ·       h   ~     ijk         +                     ⁢       ∫     z   min       z   max       ⁢       ∫     y   min       y   max       ⁢       ∫     x   min       x   max       ⁢         (       ∑     k   =   k       n   z       ⁢       ∑     j   =   0       n   y       ⁢       ∑     i   =   0       n   x       ⁢         w   ijk     ⁢     (     x   ,   y   ,   z     )       ·       h   ~     ijk             )     2     ⁢     ⅆ   x     ⁢     ⅆ   y     ⁢     ⅆ   z                       
 
   While the invention has been illustrated and described in connection with currently preferred embodiments shown and described in detail, it is not intended to be limited to the details shown since various modifications and structural changes may be made without departing in any way from the spirit of the present invention. The embodiments were chosen and described in order to best explain the principles of the invention and practical application to thereby enable a person skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated.