Movement Error Identification Method For Machine Tool

20200086444 ยท 2020-03-19

Assignee

Inventors

Cpc classification

International classification

Abstract

A motion error of a machine tool in a coordinate system having its origin at an arbitrary position is identified by means of error data measured by a commonly-used method. An X-axis feed mechanism, a Y-axis feed mechanism, and a Z-axis feed mechanism are operated in a three-dimensional space of a machine coordinate system to measure translational errors, angular errors, and perpendicularity errors thereof, and error data for translational error parameters, angular error parameters, and perpendicularity error parameters in a three-dimensional space of a set coordinate system having its origin at a preset reference position X.sub.a, Y.sub.a, Z.sub.a are derived based on the measured actual error data. Subsequently, a relative motion error between a spindle and a table in the three-dimensional space of the set coordinate system is derived based on the derived error data.

Claims

1. A method of identifying a relative motion error between a spindle for holding a tool and a table for mounting a workpiece thereon in a three-dimensional space in a machine tool, the machine tool including the spindle and the table and including a Z-axis feed mechanism, an X-axis feed mechanism, and a Y-axis feed mechanism respectively corresponding to a Z-axis, an X-axis, and a Y-axis as reference axes, the Z-axis extending along an axis of the spindle, the X-axis and the Y-axis being orthogonal to the Z-axis and orthogonal to each other, the machine tool being configured such that the spindle and the table are moved relative to each other in the three-dimensional space by the X-axis feed mechanism, the Y-axis feed mechanism, and the Z-axis feed mechanism, the method comprising: operating the X-axis feed mechanism, the Y-axis feed mechanism, and the Z-axis feed mechanism in a three-dimensional space of a machine coordinate system defined with respect to a machine zero X.sub.o, Y.sub.o, Z.sub.o respectively set for the X-axis feed mechanism, the Y-axis feed mechanism, and the Z-axis feed mechanism, and measuring following errors with respect to an arbitrary coordinate position in the machine coordinate system: a positioning error in the X-axis direction; a positioning error in the Y-axis direction; a positioning error in the Z-axis direction; straightness errors in the X-axis, the Y-axis, and the Z-axis; angular errors around the X-axis, the Y-axis, and the Z-axis in the X-axis; angular errors around the X-axis, the Y-axis, and the Z-axis in the Y-axis; angular errors around the X-axis, the Y-axis, and the Z-axis in the Z-axis; and perpendicularity errors between the X-axis, the Y-axis, and the Z-axis; deriving, based on the measured actual error data, following errors in a three-dimensional space of a set coordinate system having its origin at a reference position X.sub.a, Y.sub.a, Z.sub.a preset in the machine coordinate system: a positioning error in the X-axis direction in the X-axis feed mechanism; a positioning error in the Y-axis direction in the Y-axis feed mechanism; a positioning error in the Z-axis direction in the Z-axis feed mechanism; straightness errors in the X-axis feed mechanism, the Y-axis feed mechanism, and the Z-axis feed mechanism; angular errors around the X-axis, the Y-axis, and the Z-axis in the X-axis feed mechanism; angular errors around the X-axis, the Y-axis, and the Z-axis in the Y-axis feed mechanism; angular errors around the X-axis, the Y-axis, and the Z-axis in the Z-axis feed mechanism; and perpendicularity errors between the X-axis, the Y-axis, and the Z-axis; and deriving, based on the derived error data, the relative motion error between the spindle and the table in the three-dimensional space of the set coordinate system.

2. The method according to claim 1, wherein measurement of the perpendicularity errors between the X-axis, the Y-axis, and the Z-axis is performed with a double ball bar.

3. The method according to claim 1, wherein the error data derived relates to a spindle center position on a front end of the spindle.

4. The method according to claim 1, wherein the relative motion error between the spindle and the table in the three-dimensional space of the set coordinate system relates to a tip of a tool to be attached to the spindle.

5. The method according to claim 2, wherein the error data derived relates to a spindle center position on a front end of the spindle.

6. The method according to claim 2, wherein the relative motion error between the spindle and the table in the three-dimensional space of the set coordinate system relates to a tip of a tool to be attached to the spindle.

7. The method according to claim 3, wherein the relative motion error between the spindle and the table in the three-dimensional space of the set coordinate system relates to a tip of a tool to be attached to the spindle.

8. The method according to claim 5, wherein the relative motion error between the spindle and the table in the three-dimensional space of the set coordinate system relates to a tip of a tool to be attached to the spindle.

Description

BRIEF DESCRIPTION OF DRAWINGS

[0077] FIG. 1 is an illustration for describing a motion error identification method according to an embodiment of the present invention;

[0078] FIG. 2 is an illustration for describing the motion error identification method according to the embodiment;

[0079] FIG. 3 is an illustration showing results of measurement of a perpendicularity between an X-axis feed mechanism and a Y-axis feed mechanism in an X-Y plane using a double ball bar;

[0080] FIG. 4 is an illustration showing error parameters causing a motion error; and

[0081] FIG. 5 is an illustration for describing a conventional method for identifying a motion error.

DESCRIPTION OF EMBODIMENTS

[0082] Hereinafter, a specific embodiment of the present invention will be described with reference to the drawings.

[0083] In this embodiment, a method for identifying a motion error of a horizontal machining center 1 as shown in FIGS. 1 and 2 is described. Note that the machining center 1 includes a bed 2 having a T-shape in plan view, a column 3 disposed on the bed 2 such that it is movable in a direction of an X-axis, a spindle head 4 held by the column 3 such that it is movable in a direction of a Y-axis, a spindle 5 rotatably supported by the spindle head 4, and a table 6 disposed on the bed 2 such that it is movable along a Z-axis.

[0084] The column 3 is moved in the X-axis direction by an X-axis feed mechanism (not shown), the spindle head 4 is moved in the Y-axis direction by a Y-axis feed mechanism (not shown), and the table 6 is moved in the Z-axis direction by a Z-axis feed mechanism (not shown). Thus, the X-axis feed mechanism, the Y-axis feed mechanism, and the Z-axis feed mechanism cause the spindle 5 and the table 6 to move relative to each other in a three-dimensional space formed by the three orthogonal axes, i.e., the X-axis, the Y-axis, and the Z-axis.

[0085] 1. Motion Error Calculation Equations

[0086] As for the thus-configured machining center 1, it is known that a motion error (positioning error) of a front-end center position (reference point) of the spindle 5 in a three-dimensional space of a machine coordinate system can be calculated by the equations below. Note that , , and are respectively command values for the X-coordinate, the Y-coordinate, and the Z-coordinate, E.sub.X (, , ) is a positioning error in the X-axis direction, E.sub.Y (, , ) is a positioning error in the Y-axis direction, and E.sub.Z (, , ) is a positioning error in the Z-axis direction.


E.sub.X(,)=E.sub.XX()+E.sub.XY()+E.sub.XZ()(E.sub.CX()+E.sub.CZ()+C.sub.0Y)(Equation 1)


E.sub.Y(,,)=E.sub.YX()+E.sub.YY()+E.sub.YZ()+E.sub.CZ()(Equation 2)


E.sub.Z(,,)=E.sub.ZX()+E.sub.ZY()+E.sub.ZZ()+(E.sub.AX()+E.sub.AZ()+A.sub.0Y)(E.sub.BZ()+B.sub.0X)(Equation 3) [0087] Note that the error parameters in the above equations are defined as follows: [0088] E.sub.XX is a positioning error in the X-axis direction in the X-axis feed mechanism; [0089] E.sub.YY is a positioning error in the Y-axis direction in the Y-axis feed mechanism; [0090] E.sub.ZZ is a positioning error in the Z-axis direction in the Z-axis feed mechanism; [0091] E.sub.YX is a straightness error (in the Y-axis direction) in an X-Y plane in the X-axis feed mechanism; [0092] E.sub.ZX is a straightness error (in the Z-axis direction) in an X-Z plane in the X-axis feed mechanism; [0093] E.sub.XYis a straightness error (in the X-axis direction) in a Y-X plane in the Y-axis feed mechanism; [0094] E.sub.ZY is a straightness error (in the Z-axis direction) in a Y-Z plane in the Y-axis feed mechanism; [0095] E.sub.XZ is a straightness error (in the X-axis direction) in a Z-X plane in the Z-axis feed mechanism; [0096] E.sub.YZ is a straightness error (in the Y-axis direction) in a Z-Y plane in the Z-axis feed mechanism; [0097] E.sub.AX is an angular error around the X-axis in the X-axis feed mechanism; [0098] E.sub.AY is an angular error around the X-axis in the Y-axis feed mechanism; [0099] E.sub.AZ is an angular error around the X-axis in the Z-axis feed mechanism; [0100] E.sub.BX is an angular error around the Y-axis in the X-axis feed mechanism; [0101] E.sub.BY is an angular error around the Y-axis in the Y-axis feed mechanism; [0102] E.sub.BZ is an angular error around the Y-axis in the Z-axis feed mechanism; [0103] E.sub.CX is an angular error around the Z-axis in the X-axis feed mechanism; [0104] E.sub.CY is an angular error around the Z-axis in the Y-axis feed mechanism; [0105] E.sub.CZ is an angular error around the Z-axis in the Z-axis feed mechanism; [0106] A.sub.0Y is an angular error around the X-axis between the Y-axis feed mechanism and an ideal Y-axis; [0107] B.sub.0X is an angular error around the Y-axis between the X-axis feed mechanism and an ideal X-axis; and [0108] C.sub.0Y is an angular error around the Z-axis between the Y-axis feed mechanism and the ideal Y-axis.

[0109] Note that other conceivable error parameters are as follows: [0110] an angular error A.sub.0Z around the X-axis between the Z-axis feed mechanism and an ideal Z-axis; [0111] an angular error B.sub.0Z around the Y-axis between the Z-axis feed mechanism and the ideal Z-axis; and [0112] an angular error C.sub.0X around the Z-axis between the X-axis feed mechanism and the ideal X-axis.

[0113] Further, a positioning error of a tool attached to the spindle 5 can be calculated by the equations below. Note that T.sub.X, T.sub.Y, T.sub.Z are a deviation in the X-axis direction, a deviation in the Y-axis direction, and a deviation in the Z-axis direction of a tip of the tool with respect to the front-end center position (reference point) of the spindle 5, respectively.


E.sub.X(,,, T.sub.X, T.sub.Y, T.sub.Z)=E.sub.XX()+E.sub.XY()+E.sub.XZ()(E.sub.CX()+E.sub.CZ()+C.sub.0Y)+(E.sub.BX()+E.sub.BY()+E.sub.BZ())T.sub.Z(E.sub.CX()+E.sub.CY()+E.sub.CZ())T.sub.Y (Equation 4)


E.sub.Y(,, , T.sub.X, T.sub.Y, T.sub.Z)=E.sub.YX()+E.sub.YY()+E.sub.YZ()+E.sub.CZ()+(E.sub.CX()+E.sub.CY()+E.sub.CZ())T.sub.X(E.sub.AX()+E.sub.AY(()+E.sub.AZ())T.sub.Z (Equation 5)


E.sub.Z(,, , T.sub.X, T.sub.Y, T.sub.Z)=E.sub.ZX()+E.sub.ZY()+E.sub.ZZ()+(E.sub.AX()+E.sub.AZ()+A.sub.0Y)(E.sub.BZ()+B.sub.0X)+(E.sub.AX()+E.sub.AY()+E.sub.AZ())T.sub.Y(E.sub.BX()+E.sub.BY()+E.sub.BZ())T.sub.X (Equation 6)

[0114] Further, the equations below can calculate the positioning errors in a set coordinate system having its origin at a position X.sub.a, Y.sub.a, Z.sub.a that is an arbitrary position in the machine coordinate system.


E.sub.X(,,)=E.sub.XX()+E.sub.XY()+E.sub.XZ()(E.sub.CX()+E.sub.CZ()+C.sub.0Y)(Y.sub.a) (Equation 7)


E.sub.Y(,,)=E.sub.YX()+E.sub.YY()+E.sub.YZ()+(E.sub.CZ()(X.sub.a) (Equation 8)


E.sub.Z(,,)=E.sub.ZX()+E.sub.ZY()+E.sub.ZZ()+(E.sub.AX()+E.sub.AZ()+A.sub.0Y)(Y.sub.a)(E.sub.BZ()+B.sub.0X)(X.sub.a) (Equation 9)


E.sub.X(,, , T.sub.X, T.sub.Y, T.sub.Z)=E.sub.XX()+E.sub.XY()+E.sub.XZ()(E.sub.CX()+E.sub.CZ()+C.sub.0Y)(Y.sub.a)+


(E.sub.BX()+E.sub.BY()+E.sub.BZ())T.sub.Z(E.sub.CX()+E.sub.CY()+E.sub.CZ())T.sub.Y (Equation 10)


E.sub.Y(,, , T.sub.X, T.sub.Y, T.sub.Z)=E.sub.YX()+E.sub.YY()+E.sub.YZ()+E.sub.CZ()(X.sub.a)+


(E.sub.CX()+E.sub.CY()+E.sub.CZ())T.sub.X(E.sub.AX()+E.sub.AY()+E.sub.AZ())T.sub.Z (Equation 11)


E.sub.Z(,,, T.sub.X, T.sub.Y, T.sub.Z)=E.sub.ZX()+E.sub.ZY()+E.sub.ZZ()+(E.sub.AX()+E.sub.AZ()+A.sub.0Y)(Y.sub.a)(E.sub.BZ()+B.sub.0X)(X.sub.a)+(E.sub.AX()+E.sub.AY()+E.sub.AZ())T.sub.Y(E.sub.BX()+E.sub.BY()+E.sub.BZ())T.sub.X (Equation 12)

[0115] 2. Motion Error Measurement

[0116] In this embodiment, firstly, errors are measured for the items below in conformity with JIS B 6190-2 and JIS B 6336-1. Note that, in the description below, X, Y, and Z representing a position represent the position of the front-end center (reference point) of the spindle 5 in the machine coordinate system, X, Y, and Z representing the position of the reference point with respect to a machine zero in the X-axis feed mechanism, the Y-axis feed mechanism, and the Z-axis feed mechanism, respectively.

[0117] [X-Axis]

[0118] The X-axis feed mechanism (not shown) is actuated and the reference point is sequentially moved to command positions X.sub.1, X.sub.2, . . . and X.sub.n at predetermined pitch intervals, during which errors M.sup.I1 (X.sub.k) through M.sup.I6(X.sub.k) for the measurement items 11 through I.sub.6 below are measured. Note that k is an integer from 1 to n. Note further that command positions in the Y-axis feed mechanism (not shown) and Z-axis feed mechanism (not shown) during measurement of each measurement item are respectively arbitrary positions Y.sup.Im and Z.sup.Im, m corresponding to the suffix of the measurement item. [0119] I.sub.1: an X-axis positioning error M.sup.I1(X.sub.k) is measured (JIS B 6190-2) [0120] I.sub.2: an X-axis straightness error M.sup.I2(X.sub.k) is measured (in the Y-axis direction) (JIS B 6336-1) [0121] I.sub.3: an X-axis straightness error M.sup.I3(X.sub.k) is measured (in the Z-axis direction) (JIS B 6336-1) [0122] I.sub.4: an X-axis angular error M.sup.I4(X.sub.k) is measured (around the X-axis) (JIS B 6336-1) [0123] I.sub.5: an X-axis angular error M.sup.I5(X.sub.k) is measured (around the Y-axis) (JIS B 6336-1) [0124] I.sub.6: an X-axis angular error M.sup.I6(X.sub.k) is measured (around the Z-axis) (JIS B 6336-1)

[0125] [Y-Axis]

[0126] The Y-axis feed mechanism (not shown) is actuated and the reference point is subsequently moved to command positions Y.sub.1, Y.sub.2, . . . and Y.sub.n at predetermined pitch intervals, during which errors M.sup.I7(Y.sub.k) through M.sup.I12(Y.sub.k) for the measurement items I.sub.7 through I.sub.12 below are measured. Note that k is an integer from 1 to n. Note further that command positions in the X-axis feed mechanism (not shown) and the Z-axis feed mechanism (not shown) during measurement of each measurement item are respectively arbitrary positions X.sup.Im and Z.sup.Im, m corresponding to the suffix of the measurement item. [0127] I.sub.7: a Y-axis positioning error M.sup.I7(Y.sub.k) is measured (JIS B 6190-2) [0128] I.sub.8: a Y-axis straightness error M.sup.I8(Y.sub.k) is measured (in the X-axis direction) (JIS B 6336-1) [0129] I.sub.9: a Y-axis straightness error M.sup.I9(Y.sub.k) is measured (in the Z-axis direction) (JIS B 6336-1) [0130] I.sub.10: a Y-axis angular error M.sup.I10(Y.sub.k) is measured (around the X-axis) (JIS B 6336-1) [0131] I.sub.11: a Y-axis angular error M.sup.I11(Y.sub.k) is measured (around the Y-axis) (JIS B 6336-1) [0132] I.sub.12: a Y-axis angular error M.sup.I12(Y.sub.k) is measured (around the Z-axis) (JIS B 6336-1)

[0133] [Z-Axis]

[0134] The Z-axis feed mechanism (not shown) is actuated and the reference point is sequentially moved to command positions Z.sub.1, Z.sub.2, . . . and Z.sub.n at predetermined pitch intervals, during which errors M.sup.I13(Z.sub.k) through M.sup.I18(Z.sub.k) for the measurement items 113 through I.sub.18 below are measured. Note that k is an integer from 1 to n. Note further that command positions in the X-axis feed mechanism (not shown) and the Y-axis feed mechanism (not shown) during measurement of each measurement item are respectively arbitrary positions X.sup.Im and Y.sup.Im, m corresponding to the suffix of the measurement item. [0135] I.sub.13: a Z-axis positioning error M.sup.I13(Z.sub.k) is measured (JIS B 6190-2); [0136] I.sub.14: a Z-axis straightness error M.sup.I14(Z.sub.k) is measured (in the X-axis direction) (JIS B 6336-1); [0137] I.sub.15: a Z-axis straightness error M.sup.I15(Z.sub.k) is measured (in the Y-axis direction) (JIS B 6336-1); [0138] I.sub.16: a Z-axis angular error M.sup.I16(Z.sub.k) is measured (around the X-axis) (JIS B 6336-1); [0139] I.sub.17: a Z-axis angular error M.sup.I17(Z.sub.k) is measured (around the Y-axis) (JIS B 6336-1); and [0140] I.sub.18: a Z-axis angular error M.sup.I18(Z.sub.k) is measured (around the Z-axis) (JIS B 6336-1).

[0141] [Perpendicularity]

[0142] Measurement is performed with a double ball bar In accordance with Non-Patent Literature 1, wherein the center position of the table-side ball is set at an arbitrary position X.sub.i, Y.sub.i, Z.sub.i , the reference point of the spindle 5 is circularly moved with the length of the bar as a rotation radius in an X-Y plane, in an X-Z plane, and in a Y-Z plane, and lengths M.sub.Aij (in the Y-Z plane), M.sub.Bij (in the X-Z plane), and M.sub.Cij (in the X-Y plane) of the bar are measured based on the amount of expansion/contraction of the bar. M.sub.Aij is a length of the bar at a position Y.sub.Aij, Z.sub.Aij in the circular movement of the reference point of the spindle 5 in the Y-Z plane that is defined with X.sub.i fixed, M.sub.Bij is a length of the bar at a position X.sub.Bij, Z.sub.Bij in the circular movement of the reference point of the spindle 5 in the X-Z plane that is defined with Y.sub.i fixed, and M.sub.Cij is a length of the bar at a position X.sub.Cij, Y.sub.Cij in the circular movement of the reference point of the spindle 5 in the X-Y plane that is defined with Z.sub.i fixed. Note that i is an integer from 1 to g and means the number of times of perpendicularity measurement, and j is an integer from 1 to h and means a sampling number of the position of the spindle 5.

[0143] FIG. 3 shows an example of measurement data (amount of expansion/contraction of the bar) obtained by measuring the perpendicularity between the X-axis feed mechanism and the Y-axis feed mechanism in the X-Y plane with a double ball bar. In FIG. 3, one of the two solid line depictions represents measurement data for normal rotation of the reference point of the spindle 5, and the other represents measurement data for reverse rotation of the reference point of the spindle 5. Further, the bold dotted-and-dashed line circle represents a reference circle and the thin dotted-and-dashed line circles represent graduations.

[0144] Based on the obtained measurement values M.sub.Aij, M.sub.Bij and M.sub.Cij, perpendicularities P.sub.Ai, P.sub.Bi, and P.sub.Ci and perpendicularity errors A.sub.0Y.sub.i, B.sub.0X.sub.i, and C.sub.0Y.sub.i for the X-axis feed mechanism, the Y-axis feed mechanism, and the Z-axis feed mechanism when the center position of the table-side ball is positioned at theposition X.sub.i, Y.sub.i, Z.sub.i are calculated in accordance with Non-Patent Literature 1. [0145] Note that: [0146] P.sub.Ai is a perpendicularity between the Y-axis feed mechanism and the ideal Z-axis; [0147] P.sub.Bi is a perpendicularity between the X-axis feed mechanism and the ideal Z-axis; [0148] P.sub.Ci is a perpendicularity between the Y-axis feed mechanism and the ideal X-axis; [0149] A.sub.0Y.sub.i is an angular error around the X-axis between the Y-axis feed mechanism and the ideal Y-axis; [0150] B.sub.0X.sub.i is an angular error around the Y-axis between the X-axis feed mechanism and the ideal X-axis; and [0151] C.sub.0Y.sub.i is an angular error around the Z-axis between the Y-axis feed mechanism and the ideal Y-axis.

[0152] Note that the perpendicularities P.sub.Ai, P.sub.Bi, and P.sub.Ci are respectively represented as functions of the measurement values M.sub.Aij, M.sub.Bij, and Mg as follows: [0153] f.sub.A(M.sub.Ai)=P.sub.Ai; [0154] f.sub.B(M.sub.Bi)=P.sub.Bi; and [0155] f.sub.C(M.sub.Ci)=P.sub.Ci, [0156] where M.sub.Ai is total data of the measurement value M.sub.Aij from j=1 through j=h, M.sub.Bi is total data of the measurement value M.sub.Bij from j=1 through j=h, and M.sub.Ci is total data of the measurement value M.sub.Cij from j=1 through j=h.

[0157] 3. Identification of Error Parameters the X-Axis Feed Mechanism, Y-Zxis Feed Mechanism, and Z-Axis Feed Mechanism

[0158] Subsequently, the above-mentioned error parameters E.sub.XX, E.sub.YY, E.sub.ZZ, E.sub.YX, E.sub.ZX, E.sub.XY, E.sub.ZY, E.sub.XZ, E.sub.YZ, E.sub.AX, E.sub.AY, E.sub.AZ, E.sub.BX, E.sub.BY, E.sub.BZ, E.sub.CX, E.sub.CY, and E.sub.CZ in the X-axis feed mechanism, the Y-axis feed mechanism, and the Z-axis feed mechanism are identified based on the error data M.sup.I1(X.sub.k) through M.sup.I6(X.sub.k), M.sup.I7(Y.sub.k) through M.sup.I12(Y.sub.k), and M.sup.I13(Z.sub.k) through M.sup.I18(Z.sub.k) measured in the above-described manner.

[0159] By way of example, the X-axis straightness error M.sup.I3(X.sub.k) (in the Z-axis direction) is examined. As shown in FIGS. 1 and 2, the straightness error M.sup.I3(X.sub.k) is measured with an indicator (e.g., a dial gauge) protruding from the command positions in the X-axis, the Y-axis, and the Z-axis; therefore, the protrusion is regarded as an error factor. Since the command values Y.sup.I3 and Z.sup.I3 in the Y-axis and the Z-axis, which are other than the X-axis as the measurement target, as well as protrusion amounts L.sup.I3.sub.xL.sup.I3.sub.Y, and L.sup.I3.sub.Z of the indicator in the three directions are fixed, the straightness error M.sup.I3(X.sub.k) can be represented by the following equation:


M.sup.I3(X.sub.k)=E.sub.Z(X.sub.k, Y.sup.I3,Z.sup.I3,L.sup.I3.sub.X,L.sup.I3.sub.Y,L.sup.I3.sub.Z)+Const.sup.I3. [0160] Note that Const.sup.I3 is a constant term.

[0161] When E.sub.Z(X.sub.k, Y.sup.I3,Z.sup.I3,L.sub.X,L.sub.Y,L.sub.Z) in the above equation is expanded as an error in the set coordinate system having its origin at the position X.sub.a, Y.sub.a, Z.sub.a that is an arbitrary position in the machine coordinate system, the equation below is obtained according to Equation 12.


M.sup.I3(X.sub.k)=E.sub.ZX(X.sub.k)+E.sub.ZY(Y.sup.I3)+E.sub.ZZ(Z.sup.I3)+(E.sub.AX(X.sub.k)+E.sub.AZ(Z.sup.I3)+A.sub.0Y)(Y.sup.I3Y.sub.a)(E.sub.BZ(Z.sup.I3)+B.sub.0X)(X.sub.kX.sub.a)+(E.sub.AX(X.sub.k)+E.sub.AY(Y.sup.I3)+E.sub.AZ(Z.sup.I3))L.sup.I3.sub.Y(E.sub.BX(X.sub.k)+E.sub.BY(Y.sup.I3)+E.sub.BZ(Z.sup.I3))L.sup.I3+Const.sup.I3 [0162] Further, when the constant terms are consolidated into Const.sup.I3, the equation below is obtained.


M.sup.I3(X.sub.k)=E.sub.ZX(X.sub.k)+E.sub.AX(X.sub.k)(Y.sup.I3Y.sub.a)+(E.sub.BZ(Z.sup.I3)+B.sub.0X)X.sub.k+E.sub.AX(X.sub.k)L.sup.I3.sub.YE.sub.BX(X.sub.k)L.sup.I3.sub.X+Const.sup.I3 [0163] Furthermore, when E.sub.ZX(X.sub.k)=E.sub.ZX(X.sub.k)+(E.sub.BZ(Z.sup.I3)+B.sub.0X)X.sub.k is intoruced, the equation below is obtained.


M.sup.I3(X.sub.k)=E.sub.ZX(X.sub.k)+E.sub.AX(X.sub.k)(Y.sup.I3Y.sub.a)+E.sub.AX(X.sub.k)L.sup.I3.sub.YE.sub.BX(X.sub.k)L.sup.I3.sub.X+Const.sup.I3 [0164] Since E.sub.ZX(X.sub.k) can be considered to be equivalent to E.sub.ZX(X.sub.k), the equation below is obtained eventually.


M.sup.I3(X.sub.k)=E.sub.ZX(X.sub.k)+E.sub.AX(X.sub.k)(Y.sup.I3Y.sub.a)+E.sub.AX(X.sub.k)L.sup.I3.sub.YE.sub.BX(X.sub.k)L.sup.I3.sub.X+Const.sup.I3 [0165] Thus, the X-axis straightness error M.sup.I3(X.sub.k) can be represented by an equation which does not use the perpendicularity (B.sub.0X) in the X-axis feed mechanism and the perpendicularity (A.sub.0Y) in the Y-axis feed mechanism.

[0166] Further, the X-axis angular error M.sup.I6(X.sub.k) around the Z-axis is examined. Since the angular errors involve no other error factors, the angular error M.sub.I6(X.sub.k) can be represented by the following equation:

[0167] M.sup.I6(X.sub.k)=E.sub.CX(X.sub.k)+Const.sup.I6. [0168] Note that Const.sup.I6 is a constant term.

[0169] On the basis of the above examination, the above-mentioned errors can be represented by equations which do not use the perpendicularity (B.sub.0X) in the X-axis feed mechanism, the perpendicularity (A.sub.0Y) in the Y-axis feed mechanism, and the perpendicularity (C.sub.0Y) in the Z-axis feed mechanism as follows:


M.sup.I1(X.sub.k)=E.sub.XX(X.sub.k)E.sub.CX(X.sub.k)(Y.sup.I1Y.sub.a)+E.sub.BX(X.sub.k)L.sup.I1.sub.ZE.sub.CX(X.sub.k)L.sup.I1.sub.Y+Const.sup.I1;


M.sup.I2(X.sub.k)=E.sub.YX(X.sub.k)+E.sub.CX(X.sub.k)L.sup.I2.sub.XE.sub.AX(X.sub.k)>L.sup.I2.sub.Z+Const.sup.I2;


M.sup.I3(X.sub.k)=E.sub.ZX(X.sub.k)+E.sub.AX(X.sub.k)(Y.sup.I3Y.sub.a)+E.sub.AX(X.sub.k)L.sup.I3.sub.YE.sub.BX(X.sub.k)L.sup.I3.sub.X+Const.sup.I3;


M.sup.I4(X.sub.k)=E.sub.AX(X.sub.k)+Const.sup.I4;


M.sup.I5(X.sub.k)=E.sub.BX(X.sub.k)+Const.sup.I5;


M.sup.I6(X.sub.k)=E.sub.CX(X.sub.k)+Const.sup.I6;


M.sup.I7(Y.sub.k)=E.sub.YY(Y.sub.k)+E.sub.CY(Y.sub.k)L.sup.I7.sub.XE.sub.AY(Y.sub.k)L.sup.I7.sub.Z+Const.sup.I7;


M.sup.I8(Y.sub.k)=E.sub.XY(Y.sub.k)+E.sub.BY(Y.sub.k)L.sup.I8.sub.XE.sub.AY(Y.sub.k)L.sup.I8.sub.Z+Const.sup.I8;


M.sup.I9(Y.sub.k)=E.sub.ZY(Y.sub.k)+E.sub.AY(Y.sub.k)L.sup.I9.sub.XE.sub.AY(Y.sub.k)L.sup.I9.sub.Z+Const.sup.I9;


M.sup.I10(Y.sub.k)=E.sub.AY(Y.sub.k)+Const.sup.I10;


M.sup.I11(Y.sub.k)=E.sub.BY(Y.sub.k)+Const.sup.I11;


M.sup.I12(Y.sub.k)=E.sub.CY(Y.sub.k)+Const.sup.I12;


M.sup.I13(Z.sub.k)=E.sub.ZZ(Z.sub.k)+E.sub.AZ(Z.sub.k)(Y.sup.I13Y.sub.a)E.sub.BZ(Z.sub.k)(X.sup.I13X.sub.a).sup.I+E.sub.AZ(Z.sub.k)L.sup.I13.sub.YE.sub.BZ(Z.sub.k)L.sup.I3.sub.X+Const.sup.I3;


M.sup.I14(Z.sub.k)=E.sub.XZ(Z.sub.k)E.sub.CZ(Z.sub.k)(Y.sup.I14Y.sub.a)+E.sub.BZ(Z.sub.k)L.sup.I14.sub.ZE.sub.CZ(Z.sub.k)L.sup.I14.sub.Y+Const.sup.I2,


M.sup.I15(Z.sub.k)=E.sub.YZ(Z.sub.k)+E.sub.CZ(Z.sub.k)(X.sup.I13X.sub.a)+E.sub.CZ(Z.sub.k)L.sup.I15.sub.XE.sub.AZ(Z.sub.k)L.sup.I15.sub.Z+Const.sup.I15,


M.sup.I16(Z.sub.k)=E.sub.AZ(Z.sub.k)+Const.sup.I16;


M.sup.I17(Z.sub.k)=E.sub.BY(Z.sub.k)+Const.sup.I17; and


M.sup.I18(Z.sub.k)=E.sub.CY(Z.sub.k)+Const.sup.I18;

[0170] Based on these equations, the error parameters are as follows:


E.sub.XX(X.sub.k)=M.sup.I1(X.sub.k)+E.sub.CX(X.sub.k)(Y.sup.I1Y.sub.a)E.sub.BX(X.sub.k)L.sup.I1.sub.Z+E.sub.CX(X.sub.k)L.sup.I1.sub.YConst.sup.I1;


E.sub.YX(X.sub.k)=M.sup.I2(X.sub.k)E.sub.CX(X.sub.k)L.sup.I2.sub.X+E.sub.AX(X.sub.k)L.sup.I2.sub.ZConst.sup.I2;


E.sub.ZX(X.sub.k)=M.sup.I3(X.sub.k)E.sub.AX(X.sub.k)(Y.sup.I3Y.sub.a)E.sub.AX(X.sub.k)L.sup.I3.sub.Y+E.sub.BX(X.sub.k)L.sup.I3.sub.XConst.sup.I3;


E.sub.AX(X.sub.k)=M.sup.I4(X.sub.k)Const.sup.I4;


E.sub.BX(X.sub.k)=M.sup.I5(X.sub.k)Const.sup.I5;


E.sub.CX(X.sub.k)=M.sup.I6(X.sub.k)Const.sup.I6;


E.sub.YY(Y.sub.k)=M.sup.I7(Y.sub.k)E.sub.CY(Y.sub.k)L.sup.I7.sub.X+E.sub.AY(Y.sub.k)L.sup.I7.sub.Z+Const.sup.I7;


E.sub.XY(Y.sub.k)=M.sup.I8(Y.sub.k)E.sub.BY(Y.sub.k)L.sup.I8.sub.X+E.sub.CY(Y.sub.k)L.sup.I8.sub.Y+Const.sup.I8;


E.sub.ZY(Y.sub.k)=M.sup.I9(Y.sub.k)E.sub.AY(Y.sub.k)L.sup.I9.sub.Y+E.sub.BY(Y.sub.k)L.sup.I9.sub.X+Const.sup.I9;


E.sub.AY(Y.sub.k)=M.sup.I10(Y.sub.k)Const.sup.I10;


E.sub.BY(Y.sub.k)=M.sup.I11(Y.sub.k)Const.sup.I11;


E.sub.CY(Y.sub.k)=M.sup.I12(Y.sub.k)Const.sup.I12;


E.sub.ZZ(Z.sub.k)=M.sup.I13(Z.sub.k)E.sub.AZ(Z.sub.k)(Y.sup.I13Y.sub.a)+E.sub.BZ(Z.sub.k)(X.sup.I13X.sub.a).sup.IE.sub.AZ(Z.sub.k)L.sup.I13.sub.Y+E.sub.BZ(Z.sub.k)L.sup.I13.sub.XConst.sup.I13;


E.sub.XZ(Z.sub.k)=M.sup.I14(Z.sub.k)+E.sub.CZ(Z.sub.k)(Y.sup.I14Y.sub.a)E.sub.BZ(Z.sub.k)L.sup.I14.sub.Z+E.sub.CZ(Z.sub.k)L.sup.I14.sub.YConst.sup.I2;


E.sub.YZ(Z.sub.k)=M.sup.I15(Z.sub.k)E.sub.CZ(Z.sub.k)(X.sup.I15X.sub.a)E.sub.CZ(Z.sub.k)L.sup.I15.sub.X+E.sub.AZ(Z.sub.k)L.sup.I15.sub.ZConst.sup.I15;


E.sub.AZ(Z.sub.k)=M.sup.I16(Z.sub.k)Const.sup.I16;


E.sub.BY(Z.sub.k)=M.sup.I17(Z.sub.k)Const.sup.I17; and


E.sub.CY(Z.sub.k)=M.sup.I18(Z.sub.k)Const.sup.I18.

[0171] Thus, the error parameters in the set coordinate system having its origin at the position X.sub.a, Y.sub.a, Z.sub.a that is an arbitrary position in the machine coordinate system can be identified by the above equations. Note that the constant terms Const.sup.I1 through Const.sup.I18 can be each considered as the degree of freedom for changing setting of the zero point for the respective error.

[0172] 4. Identification of Perpendicularity Error Parameters

[0173] Subsequently, based on the perpendicularity measurement values M.sub.Aij, M.sub.Bij, and M.sub.Cij measured in the above-described manner, the perpendicularities P.sub.Ai, P.sub.Bi, and P.sub.Ci which are calculated below, and the perpendicularity errors A.sub.0Y.sub.i, B.sub.0X.sub.i, and C.sub.0Y.sub.i, the perpendicularity errors A.sub.0Y, B.sub.0X, and C.sub.0Y in the set coordinate system having its origin at the position X.sub.a, Y.sub.a, Z.sub.a that is an arbitrary position in the machine coordinate system are identified.

[0174] Prior to identification of the perpendicularity errors A.sub.0Y, B.sub.0X, and C.sub.0Y, the calculation basis for the identification is described. As described above, the perpendicularities P.sub.Ai, P.sub.Bi, and P.sub.Ci are respectively represented as functions of the measurement values M.sub.Aij, M.sub.Bij, and M.sub.Cij as follows:


f.sub.A(R.sub.Aij)=P.sub.Ai; (Equation 13)


f.sub.B(R.sub.Bij)=P.sub.Bi; and (Equation 14)


f.sub.C(R.sub.Cij)=P.sub.Ci, (Equation 15)

where M.sub.Ai is total data of the measurement value M.sub.Aij, M.sub.Bij is total data of the measurement value M.sub.Bij, and M.sub.Ci is total data of the measurement value M.sub.Cij.

[0175] On the other hand, when the spindle 5 is circularly moved with a double ball bar, the positioning errors of the spindle 5 with respect to the command values in the set coordinate system having its origin at the position X.sub.a, Y.sub.a, Z.sub.a that is an arbitrary position in the machine coordinate system can be calculated by Equations 10 to 12 above. Therefore, where the position of the table-side sphere in the machine coordinate system is represented by X.sub.i, Y.sub.i, Z.sub.i and the position of the reference point of the spindle 5 circularly moved in the X-Y plane with respect to the position X.sub.i, Y.sub.i, Z.sub.i is represented by X.sub.ik, Y.sub.ik, Z.sub.i , the length S.sub.Cik of the bar can be calculated by the following equation:


S.sub.Cik=((X.sub.ik+E.sub.XikX.sub.i).sup.2+(Y.sub.ik+E.sub.YikY.sub.i).sup.2+(Z.sub.i+E.sub.ZikZ.sub.i).sup.2).sup.1/2. (Equation 16) [0176] Note that E.sub.Xik, E.sub.Yik, and E.sub.Zik are the positioning errors of the spindle 5 calculated by Equations 10 to 12 above. The calculation of the positioning errors of the spindle 5 is carried out with C.sub.0Y in Equation 10 and A.sub.0Y and B.sub.0X in Equation 12 being respectively replaced by arbitrary values C.sub.0Y, A.sub.0Y and B.sub.0X that are temporary values. [0177] E.sub.Xik=E.sub.X(X.sub.ik, Y.sub.ik, Z.sub.i ,t.sub.X,t.sub.Y,t.sub.Z) [0178] E.sub.Yik=E.sub.Y(X.sub.ik, Y.sub.ik, Z.sub.i ,t.sub.X,t.sub.Y,t.sub.Z) [0179] E.sub.Zik=E.sub.Z(X.sub.ik, Y.sub.ik, Z.sub.i ,t.sub.X,t.sub.Y,t.sub.Z) [0180] Note that t.sub.X, t.sub.Y, and t.sub.Z are distances of deviation of the spindle-side sphere from the reference point of the spindle 5 in the X-axis direction, the Y-axis direction, and the Z-axis direction, respectively.

[0181] In Equation 16 above, E.sub.Xik, E.sub.Yik, and E.sub.Zik are infinitesimal values; therefore, where the squared terms thereof are approximated by zero, S.sub.cik can be represented by the following equation:


S.sub.Cik=((X.sub.ikX.sub.i).sup.2+(Y.sub.ikY.sub.i).sup.2+2E.sub.Xik(X.sub.ikX.sub.i)+2E.sub.Yik(Y.sub.ikY.sub.i)).sup.1/2. (Equation 17)

[0182] Further, where total data of the length S.sub.Cik of the bar calculated is represented by S.sub.Ci, a perpendicularity P.sub.Ci calculated from S.sub.Ci can be represented by the following relational equation:


f(S.sub.Ci)=P.sub.Ci. (Equation 18) [0183] Here, if the temporary perpendicularity error C.sub.0Y is equal to the true perpendicularity error C.sub.0Y in the set coordinate system having its origin at the position X.sub.a, Y.sub.a, Z.sub.a that is an arbitrary position in the machine coordinate system, the following relational equation holds:


C.sub.0YP.sub.Ci=C.sub.0YP.sub.Ci. [0184] When this equation is transformed, the equation below is obtained.


C.sub.0Y=C.sub.0YP.sub.CiP.sub.Ci. (Equation 19)

[0185] Accordingly, by using Equation 19 above, the true perpendicularity error C.sub.0Y in the set coordinate system having its origin at the position X.sub.a, Y.sub.a, Z.sub.a that is an arbitrary position in the machine coordinate system can be identified based on the temporary perpendicularity error C.sub.0Y, the perpendicularity P.sub.Ci calculated by Equation 15, and the perpendicularity P.sub.Ci calculated by Equation 18.

[0186] Similarly, as for the perpendicularity error B.sub.0X, where the reference point of the spindle 5 circularly moved in the X-Z plane is represented by X.sub.ik, Y.sub.i, Z.sub.ik, the length S.sub.Bik of the bar is as follows:


S.sub.Bik=((X.sub.ik+E.sub.XikX.sub.i).sup.2+(Y.sub.i+E.sub.YikY.sub.i).sup.2+(Z.sub.ik+E.sub.ZikZ.sub.i).sup.2).sup.1/2. [0187] Where the squared terms of E.sub.Xik, E.sub.Yik, and E.sub.Zik that are infinitesimal values are approximated by zero, S.sub.Bik is as follows:


S.sub.Bik=((X.sub.ikX.sub.i).sup.2+(Z.sub.ikZ.sub.i).sup.2+2E.sub.Xik(X.sub.ikX.sub.i)+2E.sub.Zik(Z.sub.ikZ.sub.i)).sup.1/2. (Equation 20) [0188] Where total data of the length S.sub.Bik of the bar calculated is represented by S.sub.Bi, a perpendicularity P.sub.Bi calculated from S.sub.Bi can be represented by the following relational equation:


f(S.sub.Bi)=P.sub.Bi. (Equation 21)

[0189] Accordingly, the true perpendicularity error B.sub.0X in the coordinate system having it origin at the position X.sub.a, Y.sub.a, Z.sub.a that is an arbitrary position in the machine coordinate system can be identified by Equation 22 below based on the temporary perpendicularity error B.sub.0X, the perpendicularity P.sub.Bi calculated by Equation 14 above, and the perpendicularity P.sub.Bi calculated by Equation 21 above.


B.sub.0X=B.sub.0XP.sub.Bi+P.sub.Bi (Equation 22)

[0190] Further, as for the perpendicularity error A.sub.0Y, where the position of the spindle 5 circularly moved in the Y-Z plane is represented by X.sub.i, Y.sub.ik, Z.sub.ik, the length S.sub.Aik of the bar is as follows:


S.sub.Aik=((X.sub.i+E.sub.XikX.sub.i).sup.2+(Y.sub.ik+E.sub.YikY.sub.i).sup.2+(Z.sub.ik+E.sub.Z.sub.ikZ.sub.i).sup.2).sup.1/2. [0191] Where the squared terms of E.sub.Xik, E.sub.Yik, and E.sub.Zik that are infinitesimal values are approximated by zero, S.sub.Aik is as follows:


S.sub.Aik=((Y.sub.ikY.sub.i).sup.2+(Z.sub.ikZ.sub.i).sup.2+2E.sub.Yik(Y.sub.ikY.sub.i)+2E.sub.Zik(Z.sub.ikZ.sub.i)).sup.1/2. (Equation 23)

[0192] Where total data of the length S.sub.Aik of the bar calculated is represented by S.sub.Ai, a perpendicularity P.sub.Ai calculated from S.sub.Ai can be represented by the following relational equation:


f(S.sub.Ai)=P.sub.Ai. (Equation 24)

[0193] Accordingly, the true perpendicularity error A.sub.0Y in the coordinate system having it origin at the position X.sub.a, Y.sub.a, Z.sub.a that is an arbitrary position in the machine coordinate system can be identified by Equation 25 below based on the temporary perpendicularity error A.sub.0Y, the perpendicularity P.sub.Ai calculated by Equation 13 above, and the perpendicularity P.sub.Ai calculated by Equation 24 above.


A.sub.0Y=A.sub.0YP.sub.Ai+P.sub.Ai. (Equation 25)

[0194] In the above-described manner, the perpendicularly errors A.sub.0Y, B.sub.0X, and C.sub.0Y in the set coordinate system having its origin at the position X.sub.a, Y.sub.a, Z.sub.a that is an arbitrary position in the machine coordinate system are identified. Note that, in the case where the perpendicularity errors A.sub.0Y, B.sub.0X, and C.sub.0Y in the machine coordinate system defined with respect to the machine zero are identified, the perpendicularity errors A.sub.0Y, B.sub.0X, and C.sub.0Y are identified with values of E.sub.Xik, E.sub.Yik, and E.sub.Zik which are calculated under the conditions: X.sub.a=0, Y.sub.a=0, and Z.sub.a=0.

[0195] 5. Identification of Motion Error

[0196] Based on the error parameters identified in the above-described manners, the positioning errors E.sub.X(,,), E.sub.Y(, , ), and E.sub.Z(,,) of the reference point of the spindle 5 in the three-dimensional space of the machine coordinate system are identified by Equations 1 to 3 above, and the positioning errors E.sub.X(,,, T.sub.X, T.sub.Y, T.sub.Z), E.sub.Y(,,, T.sub.X, T.sub.Y, T.sub.Z), and E.sub.Z(,,, T.sub.X, T.sub.Y, T.sub.Z) of the tip of the tool attached to the spindle 5 in the three-dimensional space of the machine coordinate system are identified by Equations 4 to 6 above.

[0197] Further, the positioning errors E.sub.X(,,), E.sub.Y(, , ), and E.sub.Z(,,) of the reference point of the spindle 5 in the set coordinate system having its origin at the poaition X.sub.a, Y.sub.a, Z.sub.a that is an arbitrary position in the machine coordinate system are identified by Equations 7 to 9 above, and the positioning errors E.sub.X(,,, T.sub.X, T.sub.Y, T.sub.Z), E.sub.Y(,,, T.sub.X, T.sub.Y, T.sub.Z), and E.sub.Z(,,, T.sub.X, T.sub.Y, T.sub.Z) of the tip of the tool attached to the spindle 5 in the set coordinate system having its origin at the position X.sub.a, Y.sub.a, Z.sub.a that is an arbitrary position in the machine coordinate system are identified by Equations 10 to 12 above.

[0198] Thus, in this embodiment, the motion error (positioning errors) E.sub.X(, , ), E.sub.Y(, , ), E.sub.Z(, , ) of the reference point of the spindle 5 and the positioning errors E.sub.X(,,, T.sub.X, T.sub.Y, T.sub.Z), E.sub.Y(,,, T.sub.X, T.sub.Y, T.sub.Z), and E.sub.Z(,,, T.sub.X, T.sub.Y, T.sub.Z) of the tool tip in the set coordinate system having its origin at the position X.sub.a, Y.sub.a, Z.sub.a that is an arbitrary position in the machine coordinate system can be calculated in the above-described manner. Further, the motion error E.sub.X(,,), E.sub.Y(, , ), E.sub.Z(,,) and errors E.sub.X(,, , T.sub.X, T.sub.Y, T.sub.Z), E.sub.Y(,,, T.sub.X, T.sub.Y, T.sub.Z), and E.sub.Z(,,, T.sub.X, T.sub.Y, T.sub.Z) in the machine coordinate system can be calculated by using the conditions: X.sub.a=0, Y.sub.a=0, and Z.sub.a=0.

[0199] As described above, in this embodiment, the motion errors of the reference point and the motion errors of the tool tip in the three-dimensional space of the machine coordinate system and in the three-dimensional space of the set coordinate system having its origin at the arbitrary reference position X.sub.a, Y.sub.a, Z.sub.a can be identified based on actual error data that is measured by means of the commonly-used measurement methods complying with the regulations of JIS. Therefore, identification of the motion errors can be carried out inexpensively and simply in operation.

[0200] Further, since the motion errors in the set coordinate system having its origin at the arbitrary reference position X.sub.a, Y.sub.a, Z.sub.a can be identified, the degree of freedom of usage of the error data is increased.

[0201] Hereinbefore, one embodiment of the present invention has been described. However, the present invention is not limited thereto and can be implemented in other modes.

[0202] For example, the measurement of the errors in the above embodiment complies with the regulations of JIS; however, the errors may be measured by means of any other method which is able to measure the errors as accurately and easily as or more accurately and easily than the regulations of JIS.

[0203] The equations above for calculating the error parameters E.sub.XX, E.sub.YY, E.sub.ZZ, E.sub.YX, E.sub.ZX, E.sub.XY, E.sub.ZY, E.sub.XZ, E.sub.YZ, E.sub.AX, E.sub.AY, E.sub.AZ, E.sub.BX, E.sub.BY, E.sub.BZ, E.sub.CX, E.sub.CY, and E.sub.CZ are shown by way of example only; the present invention is not limited thereto and these error parameters may be calculated by other equations. The identification of the perpendicularity errors A.sub.0Y, B.sub.0X, and C.sub.0Y is not limited to the above example as well, and these perpendicularity errors may be identified by means of any other method.

REFERENCE SIGNS LIST

[0204] 1 Machine tool

[0205] 2 Bed

[0206] 3 Colum

[0207] 4 Spindle head

[0208] 5 Spindle

[0209] 6 Table