Abstract:
In a method for positioning machine axes in machine tools, a numerical control converts setpoint positions of a tool, predefined in workpiece coordinates, into setpoint positions of machine axes based on a kinematic chain defined by a kinematic table. In this context, transformations of the coordinates are indicated in the kinematic table in a plurality of entries describing the kinematics of the machine tool, by specifying an axial direction and an associated transformation amount, respectively, per entry. For a machine axis having an error in a direction other than the respective axial direction, error transformation amounts dependent on the axial position are entered into the kinematic table.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     The present application claims priority to Application No. 10 2006 048 684.6, filed in the Federal Republic of Germany on Oct. 14, 2006, which is expressly incorporated herein in its entirety by reference thereto. 
     FIELD OF THE INVENTION 
     The present invention relates to a method for positioning machine axes in machine tools, which may provide for very precise positioning of the machine axes. 
     BACKGROUND INFORMATION 
     Ever greater demands with respect to machining accuracy are being placed on modern machine tools. Therefore, in controlling such machine tools using numerical controls, procedures must be put in place to avoid machining errors. 
     Reproducible deviations of the finished workpiece from the desired workpiece form often have their cause in the kinematics of the machine tool, which always exhibits certain errors. To eliminate such reproducible, static errors, European Published Patent Application No. 1 189 121 describes measuring the positioning error of a tool at a number of working points in a working space, and entering it in a multidimensional compensation table. The compensation values from the compensation table, interpolated as needed, are then applied to the setpoint positions of the tool predefined in workpiece coordinates in a machining program, the setpoint positions only then being transferred to the numerical control for positioning the tool. However, this method does not take into account that the static error of a machine tool may be a function of the position of certain machine axes, such as axes of rotation. 
     U.S. Pat. No. 5,357,450 describes that linear axes and their errors in machine tools are still comparatively easy to measure and adjust, while the errors due to axes of rotation or swivel axes cause a considerably higher expenditure for measuring and adjusting. U.S. Pat. No. 5,357,450 describes an automated method by which such errors may be measured and converted into instructions for maintenance operations. 
     A different approach may be taken according to European Patent No. 0 289 836, which describes a comparatively complex method for analyzing the errors in a robot mechanism and taking them into account by mathematical methods when positioning the robot. 
     In addition, it is conventional to describe the kinematics of a machine tool with the aid of a kinematic table. Based on such a kinematic table, a numerical control is able to convert the setpoint positions of a tool, predefined in workpiece coordinates, into setpoint positions of the machine axes. The machine tool is completely described with respect to its geometry and its machine axes in this kinematic table. Transformations of the coordinates are indicated in the kinematic table in a plurality of entries describing the kinematics of the machine tool, by specifying an axial direction and an associated transformation amount, respectively, per entry. The machine axes available are likewise specified at the corresponding places in the kinematic table. An example for such a kinematic table is described further below. 
     By converting the setpoint position of the tool (i.e., its tool center point, TCP, and its orientation), indicated in workpiece coordinates, into axial coordinates or axial positions of the machine tool, a parts program written in workpiece coordinates is able to be executed on different machine tools, provided they are able in principle to move to all desired tool positions. 
     SUMMARY 
     Example embodiments of the present invention provide a method for positioning machine axes in machine tools, by which it is possible to compensate for reproducible errors in the kinematics of the machine tool in a particularly easy manner. 
     Instead of using a compensation, acting on the setpoint values predefined in workpiece coordinates, with the aid of a compensation table as is conventional, the kinematic compensation of the various axial errors is performed in the kinematic table of a machine tool. 
     A method is provided for positioning machine axes in machine tools in which, based on a kinematic chain defined by a kinematic table, a numerical control converts setpoint positions of a tool predefined in workpiece coordinates, into setpoint positions of machine axes. In this context, transformations of the coordinates are indicated in the kinematic table in a plurality of entries describing the kinematics of the machine tool, by specifying an axial direction and an associated transformation amount, respectively, per entry. According to the method, for a machine axis having an error in a direction other than the respective axial direction, error transformation amounts which are a function of the axial position are provided in the kinematic table. 
     In this context, the error transformation amounts dependent on the axial position are available in the form of an axis-specific compensation table, which is referenced in the kinematic table. Such a compensation table includes error transformation amounts for a plurality of axial positions. Error transformation amounts for axial positions between the axial positions contained in the compensation table are interpolated as needed. 
     According to an example embodiment of the present invention, a method for positioning machine axes of a machine tool includes: converting, by a numerical control device, setpoint positions of a tool, predefined in workpiece coordinates, into setpoint positions of machine axes based on a kinematic chain defined by a kinematic table, transformations of the coordinates being provided in the kinematic table in a plurality of entries describing the kinematics of the machine tool, by specifying one axial direction and one associated transformation amount per entry. The kinematic table includes error transformation amounts dependent on an axial position for at least one machine axis having an error in a direction other than a respective axial direction. 
     The error transformation amounts dependent on the axial position may be provided in the form of an axis-specific compensation table which is referenced in the kinematic table. 
     The compensation table may include error transformation amounts for a plurality of axial positions. 
     The method may include, for axial positions for which the compensation table includes no error transformation amounts, interpolating the error transformation amounts. 
     The kinematic table may include error transformation amounts dependent on an axial position for a plurality of machine axes having an error in a direction other than the respective axial direction. 
     The kinematic table may include error transformation amounts dependent on an axial position for each machine axis having an error in a direction other than the respective axial direction. 
     According to an example embodiment of the present invention, a method for positioning machine axes of a machine tool includes: entering transformations of setpoint positions of a tool, predefined in workpiece coordinates, into setpoint positions of the machine axes into a kinematic table, the transformations of the coordinates indicated in the kinematic table in a plurality of entries describing kinematics of the machine tool by specifying one axial direction and one associated transformation amount per entry; for at least one machine axis having an error in a direction other than a respective axial direction, determining error transformation amounts dependent on an axial position; entering the error transformation amounts into the kinematic table; and converting, by a numerical control device, the setpoint positions of the tool into the setpoint positions of the machine axes based on a kinematic chain defined by the kinematic table. 
     According to an example embodiment of the present invention, a device for positioning machine axes of a machine tool includes: a numerical control device configured to convert setpoint positions of a tool, predefined in workpiece coordinates, into setpoint positions of machine axes based on a kinematic chain defined by a kinematic table, transformations of the coordinates being provided in the kinematic table in a plurality of entries describing the kinematics of the machine tool, by specifying one axial direction and one associated transformation amount per entry. The kinematic table includes error transformation amounts dependent on an axial position for at least one machine axis having an error in a direction other than a respective axial direction. 
     Further aspects and features of example embodiments of the present invention are described in more detail below with reference to the appended Figures. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIGS. 1   a  to  1   d  are several views illustrating a section of a machine tool. 
         FIGS. 2   a  to  2   c  illustrate examples for compensation tables and a kinematic table. 
     
    
    
     DETAILED DESCRIPTION 
     Example embodiments of the present invention are described in greater detail below with reference to  FIGS. 1   a  to  1 C, which illustrate a section of a machine tool in various views and various states. It should be understood that the kinematics of this machine tool are merely exemplary and that example embodiments of the present invention may be applied to other kinematics. 
     A numerical control  1  having an NC program  2  written in workpiece coordinates (these elements are only shown in  FIG. 1   a , since this part of  FIG. 1   a  would be unchanged in all views) is used for controlling a machine tool  3 . In this context, the intention is to guide tool center point  5  (TCP  5 ) of a tool  4  on a predefined path, and to maintain a specific orientation of tool  4 . For example, TCP  5  may be the spherical midpoint of a spherical cutter, or the midpoint of the end face of an end milling cutter. 
     For example, it is assumed that machine tool  3  is a five-axis milling machine, and therefore tool  4  is a milling cutter  4 . This milling cutter is secured to an inclining head  6 , which is held by two bearings of a fork  7 . The inclining head  6  is therefore able to swivel about an axis A. Fork  7  is mounted in a manner allowing rotation about an axis C, so that two rotary degrees of freedom or machine axes A, C are represented in  FIG. 1   a . Three linear machine axes X, Y, Z, which allow translational movements of tool  4 , are also provided. Machine tool  3  thus has a total of five machine axes X, Y, Z, A, C, whose directions are schematically illustrated in  FIG. 1   a.    
     X, Y, Z, A and C denote both the machine axes and the associated directions. B denotes only a direction of rotation since, as described further below, there is no corresponding machine axis in this example. 
       FIG. 1   b  is a lateral view of the machine tool illustrated in  FIG. 1   a .  FIG. 1   c  shows the same view as  FIG. 1   a , however, in addition, inclining head  6  is illustrated as tilted about machine axis A, better seen in the lateral view of  FIG. 1   d.    
       FIG. 1   c  illustrates that, in swiveling about machine axis A, inclining head  6  executes not only the movement actually desired, but in addition, a translational movement in the direction of machine axis X and a rotation in direction B. While there is no machine axis B in this example, due to faults in the mechanism, such a rotation may nevertheless occur. 
     It should be readily understood that the amount of the unwanted translational movement in the X direction and of the unwanted rotation in the B direction is a function of the angular position of machine axis A. In this connection, the relation between the swiveling angle of machine axis A and the translation and rotation amounts in X and B, respectively, is mostly non-linear. 
       FIGS. 2   a  and  2   b  show compensation tables 8.1 and 8.2, respectively, in which are entered error F_A_X(A) which, upon swiveling about the A axis, occurs in the X direction as a function of the position of machine axis A, and error F_A_B(A) which, upon swiveling about the A axis, occurs in the B direction as a function of the position of machine axis A, for several support points (angular positions of machine axis A). 
     For example, the error which, in the 0-degree position of machine axis A, occurs in direction X is F_A_X(0). The error which occurs in direction B in the 20-degree position of machine axis A is F_A_B(20). 
     The support points should be close enough together that intermediate values can be interpolated. The support points themselves are acquired by measurements, for example, using probes or other comparative measuring equipment. Compensation tables 8.1, 8.2 thus created are stored in numerical control  1  of machine tool  3 . Compensation tables 8.1, 8.2 may only have to be determined once, for example, by the manufacturer of the machine tool, and may be used for all NC programs  2 . 
       FIG. 2   c  illustrates a portion of kinematic table 9 of machine tool  3 . Kinematic table 9 includes a plurality of lines having different entries. After the line number in the first column “No.”, the type of entry is stated in the second column “Key”. “Trans” denotes a fixed coordinate transformation within the kinematic chain, and “MachAxis” denotes a degree of freedom provided by a machine axis A, B, C, X, Y, Z. 
     Starting from TCP  5 , kinematic table 9 thus represents a kinematic description of machine tool  3  in the form of a transformation chain, made up of fixed lengths (machine dimensions), variable lengths (linear axes), fixed rotations (machine conditions) and variable rotations (axes of rotation). 
     In each “Trans” line, usually the absolute value of the transformation, i.e., the transformation amount is in the column “Delta”. In the example illustrated, the kinematic chain of machine tool  3  illustrated in  FIGS. 1   a  to  1   d  is described starting from TCP  5  of tool  4 . As can be deduced from  FIG. 1 , to convert workpiece coordinates into machine-axis coordinates, a displacement in the Z direction by the transformation amount L must be taken into account. The first entry 10.1 in kinematic table 9 in line 0 therefore reads: “transformation in Z direction by transformation amount L.” That displacement L is usually split into a variable tool length and a fixed length based on the geometry of machine tool  3  plays no role. The variable length of tool  4  may be taken from a database of the tool stored within the control, and added to the fixed length to obtain L. 
     In an ideal machine tool, the next entry could read “MachAxis A”, with which machine axis A, following the displacement by transformation amount L in direction Z, would be recorded in the kinematic chain or kinematic table 9. In the implementation of the coordinate transformation, at this point, the actual angular position of machine axis A should be taken into account. 
     Since, as illustrated in  FIG. 1   c  and described above, this machine axis A is encumbered with errors that lead to further transformations, kinematic table 9 contains two additional entries 10.2, 10.3 in lines 1 and 2: 
     Line 1 describes a further transformation, this time in the X direction. The amount of this transformation is denoted as an error transformation amount, since it represents a variable based on an axial error. 
     This error transformation amount is entered in line 1 in the column “CompFile”, and references compensation table F_A_X(A) shown in  FIG. 2   a . Thus, as a function of the angular position (or, more generally, the axial position) of machine axis A, different error transformation amounts may be taken into account in kinematic table 9 and therefore in the coordinate transformation. 
     The same holds true for line 2, in which for the error of machine axis A, error transformation amounts for direction B are acquired as a function of the angular position of machine axis A, by referencing table F_A_B(A) of  FIG. 2   b.    
     Machine axis A is entered in line 3. In kinematic table 9 of the present example, two further translational movements in X by L′ and in Y by L″ follow before the next machine axis C is entered. If machine axis C is also encumbered with errors that must be taken into account in kinematic table 9, then the corresponding translational movements should be entered using further lines, with reference to the suitable compensation tables, such as F_C_Z(C), for example, the error in direction Z dependent on the angular position in machine axis C. 
     The kinematics of any machine tool may be described in this manner, in so doing, it also being possible to take faulty linear axes into account by error transformation amounts dependent on the axial position and entered into the kinematic table. 
     Thus, the method described permits particularly easy compensation of faulty machine axes of a machine tool, and therefore a simple positioning of the machine axes so that the tool may be positioned with high accuracy as required.