Method and device for controlling a machine tool
The method and device use homogeneous coordinate transformations to convert geometric errors into an imaginary Cartesian system, enabling accurate command value calculation and correction of geometric errors in machine tools with non-perpendicular linear axes, enhancing machining precision.
Patent Information
- Application Number
- DE102015205793
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2014-03-31
- Filing Date
- 2015-03-31
- Publication Date
- 2026-01-08
- Estimated Expiration
- 2035-03-31
AI Technical Summary
Existing methods for correcting geometric errors in machine tools with non-perpendicular linear axes are inadequate, failing to provide accurate command values for controlling such machines.
A method and device that utilize homogeneous coordinate transformations to convert geometric errors into an imaginary Cartesian coordinate system where linear axes are perpendicular, allowing for the calculation of correction values for linear axes, thereby correcting geometric errors in machine tools with non-perpendicular linear axes.
Enables precise machining by accurately calculating command values to correct geometric errors in machine tools with non-perpendicular linear axes, improving motion and machining accuracy.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0001] The present invention relates to methods and devices for controlling a machine tool in which a main spindle, on which a tool is mounted, and a machine table, which holds a workpiece, are movable relative to each other by two or more linear axes that are not arranged perpendicular to each other, and at least one rotary axis for machining the workpiece with the tool. An error in the position of the tool relative to the workpiece due to a geometric error is corrected in order to calculate a command value for controlling the linear axis. Here and in the following, the term "control" refers not only to the actual control but also to the regulation of the machine tool and its components.
[0002] An example of such a machine is in Fig. 6 shown. Fig. Figure 6 is a schematic view of a five-axis machining center 101 with three linear axes and two rotary axes. A spindle head 102 has two linear degrees of freedom relative to a machine bed 103, by means of X and Z axes, which serve as linear axes arranged perpendicular to each other.
[0003] A machine table 104 has a single rotational degree of freedom relative to a suspension 105, via a C-axis, which serves as a rotary axis. The suspension 105 has a single rotational degree of freedom relative to a pivot carrier 106 via an A-axis, which serves as a rotary axis. The A-axis and the C-axis are arranged perpendicular to each other. The pivot carrier 106 has a single linear degree of freedom relative to the machine bed 103 via a Y-axis, which serves as a linear axis perpendicular to the X- and Z-axes. Each axis is driven by a servo motor (not shown), which is controlled by a numerical control device (not shown). A workpiece is mounted on the machine table 104, and a tool (not shown) is mounted on the spindle head 102 and rotates. The workpiece is machined in this way by controlling the relative positions of the workpiece and the tool.
[0004] Factors influencing the motion accuracy of the 101 five-axis machining center include, for example, geometric errors between the axes, such as an error in the center position of the rotary axis (displacement from its intended position) or an error in the inclination of the rotary axis (perpendicularity or parallelism between the axes). Since such a geometric error reduces the motion accuracy of the 101 five-axis machining center and the machining accuracy of the workpieces, it is necessary to reduce the geometric error through adjustment. However, eliminating the geometric error through adjustment alone is difficult, and a control process to correct the geometric error is implemented to achieve precise machining.
[0005] A method disclosed in Japanese patent application no. 2004-272887 (JP 2004-272887 A) proposes a procedure for correcting a geometric error. In the method described in JP 2004-272887 A, the position of the remote endpoint of a tool is converted to the position of each linear axis with respect to a geometric error of a machine tool. These linear axis positions are then used as command values to control the linear axes in order to correct the positional error of the remote endpoint of the tool caused by the geometric error.
[0006] The publication of Japanese patent application No. 2009-104317 (JP 2009-104317 A) discloses a method for calculating control commands for controlling linear axes. In this method, a deformation error associated with the operation of a machine tool, a position error caused by a command position for the linear axis, and an error caused by thermal displacement due to heat generation, etc., of any element of the machine tool are considered geometric errors. Correction values for the linear axes, calculated based on the geometric errors, are added to the command values for the linear axes. In this way, the command values for controlling the linear axes are calculated.
[0007] However, the methods described in JP 2004-272887 A and JP 2009-104317 A are intended for machine tools in which the X, Y, and Z axes, arranged perpendicular to each other, serve as linear axes. Accordingly, these methods cannot correct a geometric error in a machine tool that has two or more linear axes that are not arranged perpendicular to each other, nor can they calculate a command value for the linear axis.
[0008] It is an object of the present invention to provide a method and a device for controlling a machine tool by means of which a geometric error of a machine tool having two or more linear axes that are not arranged perpendicular to each other can be corrected in order to calculate a command value for the linear axis.
[0009] A solution to this problem is proposed by the teaching of independent claims. Further developments of the invention are the subject of dependent claims.
[0010] A method for controlling a machine tool according to a first aspect of the present invention is a method for controlling a machine tool in which a main spindle, on which a tool is mounted, and a machine table, which holds a workpiece, are movable relative to each other by means of two or more linear axes, which are not arranged perpendicular to each other, and at least one rotary axis for machining the workpiece with the tool. In this method, an error in the position of the tool with respect to the workpiece due to a geometric error is calculated from a position of the tool when the geometric error is present and an ideal position of the tool.The tool position, taking into account the geometric error, is obtained by performing a homogeneous coordinate transformation from a tool coordinate system to a workpiece coordinate system, while also considering the geometric error. The ideal tool position is obtained by performing the same homogeneous coordinate transformation from the tool coordinate system to the workpiece coordinate system, disregarding the geometric error. The error is then corrected to calculate a command value for controlling the linear axis. The process includes a conversion step, a correction value calculation step, and an update step.In the conversion step, the error is converted into an imaginary Cartesian coordinate system, which is imaginarily set such that the two or more linear axes are perpendicular to each other. A correction value for correcting the error is then converted into this imaginary Cartesian coordinate system by performing a homogeneous coordinate transformation from the workpiece coordinate system to the imaginary Cartesian coordinate system. In the correction value calculation step, a correction value is calculated in a command value coordinate system of the linear axis by performing a homogeneous coordinate transformation of the correction value, which was converted into the imaginary Cartesian coordinate system in the conversion step, from the imaginary Cartesian coordinate system to the command value coordinate system.In the update step, the command value for controlling the linear axis is updated by adding the correction value, which was calculated in the correction value calculation step, to the command value.
[0011] According to a second aspect of the present invention, in contrast to the method of the first aspect, the homogeneous coordinate transformation of the error and the correction value from the workpiece coordinate system to the imaginary Cartesian coordinate system is carried out in the conversion step with respect to an inclination angle of the linear axis contained in the two or more linear axes which are not arranged perpendicular to each other, with respect to a predetermined reference direction.
[0012] According to a third aspect of the present invention, the method of the first or second aspect further comprises a selection step for choosing an arbitrary axis configuration, which includes an arbitrary linear axis contained in the two or more linear axes and an arbitrary rotary axis contained in the at least one rotary axis. Furthermore, in the conversion step, the error and the correction value are converted to an arbitrary imaginary Cartesian coordinate system, which is imaginarily set such that any two or more linear axes contained in the arbitrary axis configuration selected in the selection step are perpendicular to each other, by performing the homogeneous coordinate transformation from the workpiece coordinate system to the arbitrary imaginary Cartesian coordinate system.Then, in the command value calculation step, the correction value is calculated in the command value coordinate system by performing the homogeneous coordinate transformation of the correction value, which was converted to the arbitrary imaginary Cartesian coordinate system in the conversion step, from the arbitrary imaginary Cartesian coordinate system to the command value coordinate system.
[0013] According to a fourth aspect of the present invention, in contrast to the third aspect, the arbitrary linear axis is the linear axis that is actually to be used for machining the workpiece, and the arbitrary rotary axis is the rotary axis that is actually to be used for machining the workpiece. In the selection step, based on determination information for identifying a used axis configuration that includes the linear axis that is actually to be used for machining the workpiece and the rotary axis that is actually to be used for machining the workpiece, it is determined whether the used axis configuration exists among the axis configurations that contain the linear axis in the two or more linear axes and the rotary axis in the at least one rotary axis, and the determined used axis configuration is selected as the arbitrary axis configuration.In the conversion step, the error and the correction value are converted to an imaginary Cartesian coordinate system, which is imaginarily set such that the two or more linear axes contained in the axis configuration selected in the selection step are perpendicular to each other, and which is contained in any Cartesian coordinate system, by performing the homogeneous coordinate transformation from the workpiece coordinate system to the one imaginary Cartesian coordinate system. In the correction value calculation step, the correction value is calculated in the command value coordinate system by performing the homogeneous coordinate transformation of the correction value, which was converted to the one imaginary Cartesian coordinate system in the conversion step, from the one imaginary Cartesian coordinate system to the command value coordinate system.
[0014] According to a fifth aspect of the present invention, the method of the fourth aspect further includes an error determination step to determine whether the error calculated from the position of the tool should include a previous error or be set to zero if the geometric error and the ideal position of the tool are present, and if the selection step determines that there is an axis configuration in the axis configurations which should not be used to machine the workpiece.
[0015] A device for controlling a machine tool according to a sixth aspect of the present invention is a device for controlling a machine tool in which a main spindle, on which a tool is mounted, and a machine table, which holds a workpiece, are movable relative to each other by two or more linear axes that are not arranged perpendicular to each other, and by at least one rotary axis for machining the workpiece with the tool. In the device, an error in the position of the tool relative to the workpiece due to a geometric error is calculated from the position of the tool when the geometric error is present and an ideal position of the tool.The tool's position, taking the geometric error into account, is obtained by performing a homogeneous coordinate transformation from a tool coordinate system to a workpiece coordinate system. The ideal tool position is obtained by performing the homogeneous coordinate transformation from the tool coordinate system to the workpiece coordinate system, disregarding the geometric error. Furthermore, the error is corrected to calculate a command value for controlling the linear axis. The device includes a conversion unit, a correction value calculation unit, and an update unit.The conversion unit converts the error to an imaginary Cartesian coordinate system, which is imaginarily set such that the two or more linear axes are perpendicular to each other. It then converts a correction value to this imaginary Cartesian coordinate system by performing a homogeneous coordinate transformation from the workpiece coordinate system to the imaginary Cartesian coordinate system. The correction value calculation unit calculates a correction value in a command value coordinate system of the linear axis by performing a homogeneous coordinate transformation of the correction value, which was converted to the imaginary Cartesian coordinate system by the conversion unit, from the imaginary Cartesian coordinate system to the command value coordinate system.The update unit updates the command value for controlling the linear axis by adding the correction value calculated by the correction value calculation unit to the command value.
[0016] According to a seventh aspect of the present invention, the conversion unit of the device of the sixth aspect performs the homogeneous coordinate transformation of the error and the correction value from the workpiece coordinate system to the imaginary Cartesian coordinate system, with respect to an inclination angle of the linear axis which is contained in the two or more linear axes which are not arranged perpendicular to each other with respect to a predetermined reference direction.
[0017] According to an eighth aspect of the present invention, or of the sixth or seventh aspect, the device further comprises a selection unit for selecting any axis configuration, which includes any linear axis contained in the two or more linear axes and any rotary axis contained in the at least one rotary axis. In the device, the conversion unit converts the error and the correction value to any imaginary Cartesian coordinate system, which is imaginarily set such that any two or more linear axes contained in the arbitrary axis configuration selected by the selection unit are perpendicular to each other, by performing the homogeneous coordinate transformation from the workpiece coordinate system to the arbitrary imaginary Cartesian coordinate system.Furthermore, the correction value calculation unit calculates the correction value in the command value coordinate system by performing the homogeneous coordinate transformation of the correction value, which was converted by the conversion unit to any imaginary Cartesian coordinate system, from any imaginary Cartesian coordinate system to the command value coordinate system.
[0018] According to a ninth aspect of the present invention, in the device of the eighth aspect, the arbitrary linear axis is the linear axis that is actually to be used for machining the workpiece, and the arbitrary rotary axis is the rotary axis that is actually to be used for machining the workpiece. The device further comprises a storage unit which stores determination information for determining an axis configuration to be used, which includes the linear axis that is actually to be used for machining the workpiece and the rotary axis that is actually to be used for machining the workpiece.Based on the determination information stored in the memory unit, the selection unit determines whether the used axis configuration exists among the axis configurations in which the linear axis is included in the two or more linear axes and the rotary axis is included in the at least one rotary axis, and selects the determined used axis configuration as the arbitrary axis configuration.The conversion unit converts the error and the correction value into an imaginary Cartesian coordinate system. This imaginary system is set such that the two or more linear axes contained in the axis configuration selected by the selection unit are perpendicular to each other. This conversion is performed by a homogeneous coordinate transformation from the workpiece coordinate system to the imaginary Cartesian coordinate system. The correction value calculation unit then calculates the correction value in the command value coordinate system by performing a homogeneous coordinate transformation from the imaginary Cartesian coordinate system to the command value coordinate system. This correction value was converted by the conversion unit.
[0019] According to a tenth aspect of the present invention, the device of the ninth aspect further includes an error determination unit which determines whether the error calculated from the position of the tool in the presence of the geometric error and the ideal position of the tool should include a previous error or be set to zero if the selection unit determines that there is an axis configuration which should not be used to machine the workpiece in the axis configurations.
[0020] In the procedure for controlling the machine tool according to the first aspect of the present invention and the device for controlling the machine tool according to the sixth aspect of the present invention, the correction value for correcting the error in the tool's position in the command-value coordinate system with respect to the workpiece due to the geometric error can be calculated by a simple method. Specifically, a first homogeneous coordinate transformation of the error in the tool's position with respect to the workpiece due to the geometric error, and of the correction value for correcting this error, is performed from the workpiece coordinate system to the imaginary Cartesian coordinate system. Then, a homogeneous coordinate transformation of the correction value in the imaginary Cartesian coordinate system to the command-value coordinate system of the linear axis is performed.The command value for controlling the linear axis can then be updated using a simple procedure: adding the calculated correction value to the command value. By combining these simple procedures, the geometric error of the machine tool, which contains two or more linear axes that are not perpendicular to each other, can be corrected, and the command value for the linear axis can be calculated.
[0021] According to the sixth and seventh aspects of the present invention, the inclination angle of the linear axis, which is contained in the two or more linear axes that are not perpendicular to each other with respect to a predetermined reference direction, can be specified. Then, the error in the tool position and the correction value for correcting this error can be converted from the workpiece coordinate system to the imaginary Cartesian coordinate system by homogeneous coordinate transformation.
[0022] According to the third and eighth aspects of the present invention, the correction value for correcting the error in the position of the tool with respect to the workpiece due to the geometric error can be calculated for the axis configuration which has the arbitrary linear axis and the arbitrary rotary axis.
[0023] According to the fourth and ninth aspects of the present invention, the correction value for correcting the error in the position of the tool with respect to the workpiece due to the geometric error can be calculated for the axis configuration used, which includes the linear and rotary axes that are actually to be used to machine the workpiece.
[0024] According to the fifth and tenth aspects of the present invention, the calculation of the error in the tool position with respect to the workpiece due to geometric error can be omitted for axis configurations that are not intended to be used to machine the workpiece. This can reduce the computational effort required to calculate this error.
[0025] Further advantages, features and applications of the present invention will become apparent from the following description in conjunction with the figures. BRIEF DESCRIPTION OF THE DRAWINGS Fig. Figure 1 is a schematic representation of a multi-function lathe according to an exemplary embodiment of the present invention. Fig. Figure 2 is a diagram that represents an exemplary situation in which a Ys-axis, which serves as a linear axis, is inclined relative to an X-axis, which also serves as a linear axis. Fig. Figure 3 is a block diagram of a numerical control device which performs an exemplary control procedure according to the embodiment. Fig. Figure 4 is a flowchart of an example process for calculating a command value for a linear axis. Fig. Figure 5 is a flowchart of an exemplary process for calculating an error in the position of the remote endpoint of a tool in a workpiece coordinate system. Fig. Figure 6 is a schematic representation of a conventional five-axis machining center.
[0026] An exemplary embodiment of the present invention is described in relation to the Fig. 1, Fig. 2, Fig. 3, Fig. 4 to Fig. 5 described. A multi-function lathe 1, which is located in Fig. Figure 1 is an example of the machine tool of the present invention and has four linear axes (X-axis, Ys-axis, Z-axis and W-axis) and three rotary axes (B-axis, C1-axis and C2-axis). A spindle head 2 has three linear degrees of freedom relative to a machine bed 3 through the X-, Ys- and Z-axes, which serve as linear axes and are not arranged perpendicular to each other. In the present embodiment, as shown in Figure 1, the spindle head 2 has three linear degrees of freedom relative to a machine bed 3 through the X-, Ys- and Z-axes, which serve as linear axes and are not arranged perpendicular to each other. Fig. As shown in Figure 2, the X-axis and the Ys-axis are not perpendicular to each other, and the Ys-axis is inclined at an angle θ to the Y-axis. The spindle head 2 has a single degree of rotational freedom through the B-axis, which serves as the axis of rotation and is contained in a tool support 4.
[0027] A first drive head 6 is attached to the machine bed 3 and has a single rotational degree of freedom through the rotary axis C1. A first spindle section 7, contained within the first drive head 6, is rotatable about the rotary axis C1, and a workpiece (not shown) can be attached to the first spindle section 7. Furthermore, a second drive head 8 has a single linear degree of freedom relative to the machine bed 3 through the W-axis, which serves as a linear axis parallel to the Z-axis. The second drive head 8 also has a single rotational degree of freedom through the C2-axis, which serves as a rotary axis. A second spindle section 9, contained within the second drive head 8, is rotatable about the rotary axis C2, and a workpiece (not shown) can also be attached to the second main spindle section 9.The linear axes (X-axis, Ys-axis, Z-axis and W-axis) and the rotary axes (B-axis, C1-axis and C2-axis) are driven by servomotors 25a to 25g (see . Fig. 3), which are controlled by a numerical control device 20, as described below. The workpiece is machined to a desired shape using a tool 10 (see Fig. 1), which is mounted on the spindle head 2, while the relative positions of the tool 10 and the workpiece are controlled. The first drive head 6 and the second drive head 8 are examples of the machine table in the present invention.
[0028] Fig. Figure 3 shows an example of the numerical control device 20, which performs control according to the present embodiment. In relation to the exemplary embodiments, the term "control" refers to both control and regulation. The numerical control device 20 comprises a command value generation unit 22 and a servo command value conversion unit 23. The command value generation unit 22 generates a command value for each axis (B-axis, C1-axis, C2-axis, X-axis, Ys-axis, Z-axis, and W-axis) when a machining program 21 is entered. In the machining program 21, a command coordinate value of the remote end position of the tool 10 is described as a command to move the tool 10 to a machining position when machining the workpiece. The command values generated in this way are transmitted to the servo command value conversion unit 23.In response to the command values, the servo command value conversion unit 23 calculates a servo command value for each axis and transmits the servo command values to servo amplifiers 24a to 24g according to the axes. The servo amplifiers 24a to 24g, which are assigned to the axes, drive the servo motors 25a to 25g respectively to control the relative position and orientation of the tool 10 relative to the first drive head 6 or second drive head 8. The numerical control device 20 also includes a storage unit 27, as shown in . Fig. Figure 3 shows the processing program 21 and a geometric error obtained through actual measurements, as described below, are stored in the memory unit 27.
[0029] In the present embodiment, geometric errors are defined by a total of six elements (δx, δy, δz, α, β, and γ), namely three directions of relative linear errors and three directions of relative rotational errors between adjacent axes. In the multifunction lathe 1 of the present embodiment, one axis configuration from the workpiece to the tool 10 (hereinafter referred to as the "first axis configuration") is C1-axis - Z-axis - Ys-axis - X-axis - B-axis. There are 13 geometric errors in the first axis configuration. Another configuration (hereinafter referred to as the "second axis configuration") is C2-axis - W-axis - Z-axis - Ys-axis - X-axis - B-axis. There are 15 geometric errors in the second axis configuration.
[0030] The 13 geometric errors in the first axis configuration are represented by δx 11 , δz 11 , α 11 , β 11 , α 12 , γ12 , b 13 , c 13 , a 14 , δx 15 , δy 15 , a 15 , and b 15, where “x”, “y” or “z” represent the names of the axis, the first index represents the axis configuration number and the second index represents the sequence from tool 10 to the workpiece.These geometric errors each represent an error in the center position of the B-axis in the X-direction, an error in the center position of the B-axis in the Z-direction, perpendicularity between the first drive head 6 and the Y-axis, an error at the origin of the B-axis, perpendicularity between the B-axis and the Z-axis, perpendicularity between the B-axis and the X-axis, perpendicularity between the Z-axis and the X-axis, perpendicularity between the X-axis and the Y-axis, perpendicularity between the Y-axis and the Z-axis, an error in the center position of the C1-axis in the X-direction, an error in the center position of the C1-axis in the Y-direction, perpendicularity between the C1-axis and the Y-axis, and perpendicularity between the C1-axis and the X-axis. The 13 geometric errors in the first axis configuration are obtained in advance by an actual measurement and stored in memory unit 27.
[0031] The 15 geometric errors in the second axis configuration are represented by δx 21 , δz 21 , α 21 , β 21 , α 22 , γ 22 , β 23 , γ 23 , α 24 , α 25 , β 25 , δx 26 , δy 26 , α 26 , and β 26represented by a method similar to that used for the geometric errors in the first axis configuration.These geometric errors each represent an error in the center position of the B-axis in the X-direction, an error in the center position of the B-axis in the Z-direction, perpendicularity between the second drive head 8 and the Y-axis, an error in the origin of the B-axis, perpendicularity between the B-axis and the Z-axis, perpendicularity between the B-axis and the X-axis, perpendicularity between the Z-axis and the X-axis, perpendicularity between the X-axis and the Y-axis, perpendicularity between the Y-axis and the Z-axis, perpendicularity between the W-axis and the Y-axis, perpendicularity between the W-axis and the X-axis, an error in the center position of the C2-axis in the X-direction, an error in the center position of the C2-axis in the Y-direction, perpendicularity between the C2-axis and the Y-axis, and perpendicularity between the C2-axis and the X-axis.The 15 geometric errors in the second axis configuration are also obtained in advance by an actual measurement and stored in memory unit 27.
[0032] A method for calculating command values for the linear and rotary axes, which is performed by the numerical control device 20, is described below with reference to the Fig. 4 and Fig. 5 described. The numerical control device 20 (the command value generation unit 22) is suitable for adjusting the command values with respect to the geometric errors above and the angle θ (see Fig. 2) to calculate, using a calculation program which is stored in memory unit 27.
[0033] In step S10 of the Fig. In step 4, the command value generation unit 22 receives a command value for each axis (linear and rotary axes). More precisely, in step 10, the command value generation unit 22 receives command values for the linear axes (X-axis, Ys-axis, Z-axis, and W-axis) and command values for the rotary axes (B-axis, C1-axis, and C2-axis) from the machining program 21 (see Fig. 3) The instruction value generation unit 22 then stores the received instruction values in the memory unit 27.
[0034] After step S10, the command value generation unit 22 executes a procedure in step S20 to calculate an error in the position of the remote endpoint of the tool in a workpiece coordinate system, as described below. In step S20, the command value generation unit 22 executes steps S21 to S24, which are described in Fig. 5 are shown. In step S21, the instruction value generation unit 22 receives information to determine which linear and rotary axes are actually to be used for machining the workpiece. For example, in step S21, the instruction value generation unit 22 receives a program name for the machining program 21, which is stored in the memory unit 27 (see Fig. 3) for each combination of linear and rotary axes that is actually to be used. In the present embodiment, the program name of the machining program 21 is different depending on the combination of linear and rotary axes that is actually to be used. For example, if the program name is “A”, the tool 10 machines the workpiece attached to the first drive head 6 (the first spindle section 7) using the first axis configuration (C1 axis - Z axis - Ys axis - X axis - B axis). If the program name is “B”, the tool 10 machines the workpiece attached to the second drive head 8 (the second spindle section 9) using the second axis configuration (C2 axis - W axis - Z axis - Ys axis - X axis - B axis). If the program name is “C”, the tool 10 machines the workpiece attached to the first drive head 6 and the second drive head 8 using both the first and second axis configurations.
[0035] After step S21, the instruction value generation unit 22 determines in step S22 whether one or both of the first and second axis configurations are to be used. If the program name obtained in step S21 is "A", the instruction value generation unit 22 determines in step S22 that the first axis configuration is to be used. If the obtained program name is "B", the instruction value generation unit 22 determines that the second axis configuration is to be used. If the obtained program name is "C", the instruction value generation unit 22 determines that both the first and second axis configurations are to be used. The first and second axis configurations are examples of the arbitrary axis configurations in the present invention. The first or second axis configuration that has been determined to be used is an example of the axis configuration used in the present invention.The Z-axis, Ys-axis, and X-axis in the first axis configuration determined to be used, and the W-axis, Z-axis, Ys-axis, and X-axis in the second axis configuration determined to be used, are examples of the linear axes that are actually intended to be used for machining the workpiece in the present invention. The C1-axis and B-axis in the first axis configuration determined to be used, and the C2-axis and B-axis in the second axis configuration determined to be used, are examples of the rotary axes that are actually intended to be used for machining the workpiece in the present invention. The program name is an example of the determination information in the present invention.Step S22 is an example of the selection step in the present invention, and the command value generation unit 22 is an example of the selection unit in the present invention.
[0036] If step S22 specifies that one or both of the first and second axis configurations should be used, the command value generation unit 22 calculates an error in the position of the remote tool endpoint in the workpiece coordinate system of the linear axis in step S23, as described below. In the case of converting a remote tool endpoint vector... T P in a tool coordinate system in the spindle head 2 to the workpiece coordinate system in the first drive head 6 and the second drive head 8 is a transformation matrix for each axis given by the following equation 1, where “t (t x , t y , t z) represents the length of tool 10, and “i” represents each command position for the B-axis, the C-axis (C1-axis and C2-axis), the X-axis, the Y-axis, the Z-axis, and the W-axis. The command value generation unit 22 calculates a remote tool endpoint vector. W P I in the workpiece coordinate system in the absence of geometric errors using the remote tool endpoint vector T P and the transformation matrix for each axis M B (in the C (in the X (in the Y (in the Z (i), and M W (i). MB(i)=[cos i0sin i00100−sin i0cos i00001], MC(i)=[cos i−sin i00sin icos i0000100001]MX(i)=[100i010000100001], MY(i)=[1000010i00100001], MZ(i)=[10000100001i0001], MW(i)=[10000100001i0001] TP=[−tX−tY−tZ1]
[0037] In the present embodiment, the Ys-axis is inclined at an angle θ to the Y-axis, as shown in Fig. Figure 2 shows a rotation transformation matrix for rotating the Ys-axis relative to the Y-axis at an angle θ about the Z-axis, as given by Equation 2 below. The command value generation unit 22 performs a homogeneous coordinate transformation from the tool coordinate system (given no geometric errors) to the workpiece coordinate system in the first axis configuration (given no geometric errors) using Equation 3 below. In this way, the command value generation unit 22 calculates an ideal remote tool endpoint vector. W P I1In the workpiece coordinate system, the first axis configuration assumes no geometric errors. The command value generation unit 22 performs a homogeneous coordinate transformation from the tool coordinate system (in the absence of geometric errors) to the workpiece coordinate system in the second axis configuration (also in the absence of geometric errors) using the following equation 4. In this way, the command value generation unit 22 calculates an ideal remote tool endpoint vector. W P I2In the workpiece coordinate system, for the second axis configuration, assuming no geometric errors. In equation 3, "c1" represents a command position for the C1 axis, "z" represents a command position for the Z axis, "ys" represents a command position for the Ys axis, "x" represents a command position for the X axis, and "b" represents a command position for the B axis. In equation 4, "c2" represents a command position for the C2 axis, "w" represents a command position for the W axis, "z" represents a command position for the Z axis, "ys" represents a command position for the Ys axis, "x" represents a command position for the X axis, and "b" represents a command position for the B axis. OC(θ)=[cosθ−sinθ00sinθcosθ0000100001] WPI1=MC(c1)⋅MZ(z)⋅MY(ys)⋅OC(θ)−1⋅MX(x)⋅MB(b)⋅TP WPI2=MC(c2)⋅MW(w)⋅MZ(z)⋅MY(ys)⋅OC(θ)−1⋅MX(x)⋅MB(b)⋅TP
[0038] In step S23, if there is any geometric error in multifunction machine 1, each geometric error is considered a relative error between the axes. Accordingly, a matrix ε jk The following equation 5, which is given by the linear errors δx, δy, and δz and rotational errors α, β, and γ for each geometric error stored in memory unit 27, provides a transformation matrix for the geometric error. The command value generation unit 22 performs a homogeneous coordinate transformation from the tool coordinate system when the geometric error is present to the workpiece coordinate system at the first axis configuration when the geometric error is present, using the following equation 6. Equation 6 corresponds to equation 3, with matrix ε. jkwhich is positioned between the axes. The command value generation unit 22 calculates a remote tool endpoint vector in this way. W P G1 in the workpiece coordinate system in the first axis configuration when the geometric error is present. The command value generation unit 22 also performs a homogeneous coordinate transformation from the tool coordinate system to the workpiece coordinate system in the second axis configuration when the geometric error is present, using the following equation 7. Equation 7 corresponds to equation 4, where the matrix ε jk is positioned between the axes. The command value generation unit 22 calculates a remote tool endpoint vector in this way. W P G2 in the workpiece coordinate system for the second axis configuration when the geometric error is present. The first index “j” in the matrix ε jkrepresents the axis configuration number (in this example, first or second) and the second index “k” in the matrix ε jk represents the sequence of axes which have a geometric error in between, from tool 10 towards the workpiece. εjk=[1−γjkβjkδxjkγjk1−αjkδyjk−βjkαjk1δzjk0001] WPG1=ε16⋅MC(c1)⋅ε15⋅MZ(z)⋅ε14⋅MY(ys)⋅OC(θ)−1⋅ε12⋅MB(b)⋅ε11⋅TP WPG2=ε27⋅MC(c2)⋅ε26⋅MW(w)⋅ε25⋅MZ(z)⋅ε24⋅MY(ys)⋅OC(θ)−1⋅ε23⋅MX(x)⋅ε22⋅MB(b)⋅ε21⋅TP
[0039] Subsequently, in step 23, the command value generation unit 22 calculates a position error Δe jof the remote endpoint of the tool in the workpiece coordinate system using the following equation 8. If it was determined in step S22 that the first axis configuration should be used, the command value generation unit 22 calculates a position error Δe1 of the remote endpoint of the tool in the workpiece coordinate system in the first axis configuration in step S23 from the difference using equation 8. The difference is between the remote tool endpoint vector W P G1 , which is calculated using equation 6, and the remote tool endpoint vector W P I1, which is calculated using equation 3. If it is determined in step S22 that the second axis configuration is to be used, the command value generation unit 22 calculates a position error Δe2 of the remote endpoint of the tool in the workpiece coordinate system for the second axis configuration in step S23 from the difference using equation 8. The difference lies between the remote tool endpoint vector W P G2 , which is calculated using equation 7, and the remote tool endpoint vector W P I2, which is calculated using equation 4. If step S22 determines that both the first and second axis configurations are to be used, the instruction value generation unit 22 calculates the position error Δe1 and the position error Δe2 in step S23. The position errors Δe1 and Δe2 calculated in step S23 are stored in the memory unit 27. Step S23 is thus completed. Δej=[ΔxjΔyjΔzj1]=WPGJ−WPlj
[0040] If step S22 determines that neither of the first and second axis configurations should be used, the command value generation unit 22 determines in step S24 whether the error in the position of the remote endpoint of the tool for the axis configuration not used should be set to zero or whether the previous error should be retained. The "previous error" represents the position error Δe1, Δe2, which was stored in memory unit 27 at the time step S22 determined that neither of the first and second axis configurations should be used. During step S24, the calculation of the position error Δe jThe remote endpoint of the tool in the workpiece coordinate system is omitted for linear axes that are not intended for machining the workpiece. Step S24 is an example of the error determination step in the present invention. The command value generation unit 22 is an example of the error determination unit of the present invention. Of the first and second axis configurations, the axis configuration determined in step S22 is not to be used; this is an example of an axis configuration that is not intended for machining the workpiece in the present invention.
[0041] After step S20, the command value generation unit 22 determines in step S30 whether the calculation of the error in the position of the remote endpoint of the tool on the linear axis is complete for all axis configurations. In this example, the command value generation unit 22 determines whether the position errors Δe1, Δe2, which relate to the axis configuration determined to be used in step S22, have been stored in memory unit 27. If step S30 determines that the position errors Δe1, Δe2 according to this axis configuration have not been stored in memory unit 27, and that the calculation of the error in the position of the remote endpoint of the tool has not been completed for all axis configurations, the command value generation unit 22 executes step S20.
[0042] If, in step S30, it is determined that the calculation of the error in the position of the remote endpoint of the tool on the linear axis has been completed for all axis configurations, the command value generation unit 22 converts the error in the position of the remote endpoint of the tool on the linear axis from the workpiece coordinate system to an imaginary Cartesian coordinate system and, in step S40, further converts a correction value to correct this error to the imaginary Cartesian coordinate system, as described below. The term "imaginary Cartesian coordinate system" refers to a coordinate system in which two linear axes, namely the X-axis and the Z-axis, and the imaginary Y-axis are arranged perpendicular to each other, as in the example of the Fig. Figure 2 shows that in step S40, the command value generation unit 22 performs a homogeneous transformation from the workpiece coordinate system to the imaginary Cartesian coordinate system, using the following equation 9, which contains the rotation transformation matrix given in equation 2. The command value generation unit 22 thus calculates a correction value vector ΔComp. j' for the linear axis in the imaginary Cartesian coordinate system, which compensates for this error. In Equation 9, "j" represents the axis configuration number (first or second in this example), and "θ" represents an inclination angle of the Ys-axis with respect to the Y-axis. In the case of j = 1, "m" represents a command position for the rotation axis C1. In the case of j = 2, "m" represents a command position for the rotation axis C2. If, in step S22, it is determined that the first axis configuration should be used, the command value generation unit 22 calculates a correction value vector ΔComp1' for the linear axis in the imaginary Cartesian coordinate system for the first axis configuration in step S40 using Equation 9.If step S22 specifies that the second axis configuration is to be used, the command value generation unit 22 calculates a correction value vector ΔComp2' for the linear axis in the imaginary Cartesian coordinate system for the second axis configuration in step S40, using equation 9. If step S22 specifies that both the first and second axis configurations are to be used, the correction value vectors ΔComp1' and ΔComp2' are calculated in step S40. The direction of the Y-axis is an example of the predetermined reference direction in the present invention, and the Ys-axis is an example of the linear axis contained in the two or more linear axes that are not arranged perpendicular to each other in the present invention. The angle θ, which is in . Fig. Figure 2 shows an example of the inclination angle in the present invention and the XYZ coordinate system which is shown in Fig. Figure 2 shows an example of one imaginary Cartesian coordinate system and an arbitrary imaginary coordinate system of the present invention. Step S40 is an example of the conversion step in the present invention, and instruction value generation unit 22 is an example of the conversion unit in the present invention. ΔCompj'=[ΔCxj'ΔCyj'ΔCzj'1]=−OC(θ)⋅MC(m)−1⋅Δej
[0043] After step S40, in step S50, the command value generation unit 22 converts the correction value for the linear axis, which was converted into the imaginary Cartesian coordinate system in step S40, into a command value coordinate system. This command value serves as the coordinate system for a command value for the linear axis (X-axis, Y-axis, Z-axis), as described below. In the first axis configuration of the present embodiment, the command value coordinate system is located between the C1 axis and the Z-axis, specifically between the first rotary axis and the first linear axis on the workpiece side. In the second axis configuration, the command value coordinate system is located between the C2 axis and the W-axis, specifically between the first rotary axis and the first linear axis on the workpiece side.In step S50, the command value generation unit 22 performs a homogeneous transformation from the imaginary Cartesian coordinate system to the command value coordinate system, using the following equation 10. Equation 10 contains a transformation matrix that represents the relationship between the linear axes in which the Ys-axis is inclined at an angle θ to the Y-axis. The command value generation unit 22 thus calculates a correction value vector ΔComp. j , which is obtained by converting the command value vector ΔComp j', which is calculated in step S40, to the command value coordinate system. If it is determined in step S22 that the first axis configuration is to be used, the command value generation unit 22 calculates a correction value vector ΔComp1 in the command value coordinate system for the first axis configuration in step S50 using equation 10. If it is determined in step S22 that the second axis configuration is to be used, the command value generation unit 22 calculates a correction value vector ΔComp2 in the command value coordinate system for the second axis configuration in step S50 using equation 10. If it is determined in step S22 that both the first and second axis configurations are to be used, the command value generation unit 22 calculates the correction value vector ΔComp1 and the correction value vector ΔComp2 in step S50.Step S50 is an example of the correction value calculation step in the present invention and the command value generation unit 22 is an example of the correction value calculation unit of the present invention. ΔCompj=[ΔCxjΔCyjΔCzj1]=[1tanθ0001cosθ0000100001]⋅ΔCompj'
[0044] After step S50, the command value generation unit 22 calculates correction values for the C-axis (C1-axis, C2-axis) and the B-axis, which serve as the rotation axis in the command value coordinate system, in step S60. In step S60, the command value generation unit 22 calculates a correction value ΔCc. j for the C-axis in the command-value coordinate system and a correction value ΔCb jfor the B-axis in the command-value coordinate system, using the following equation 11. If it was determined in step S22 that the first axis configuration should be used, the command-value generation unit 22 calculates a correction value ΔCc1 for the C1 axis and a correction value ΔCb1 for the B-axis in the command-value coordinate system for the first axis configuration in step S60, using equation 11. If it is determined in step S22 that the second axis configuration should be used, the command-value generation unit 22 calculates a correction value ΔCc2 for the C2 axis and a correction value ΔCb2 for the B-axis in the command-value coordinate system of the second axis configuration in step S60, using equation 11.If it is determined in step S22 that both of the first and second axis configurations are to be used, the instruction value generation unit 22 calculates the correction values ΔCc1, ΔCc2 and the correction values ΔCb1, ΔCb2 in step S60. {ΔCcj=−∑k=Is1Ie1γjkΔCbj=−∑k=Is2Ie2βjk
[0045] For equation 11, the values “Is1”, “Ie1”, “Is2”, and “Ie2” are shown in the table below. j (Achsenkonfiguration) Is1 Ie1 Is2 Ie2 1 2 6 1 5 2 2 7 1 6
[0046] After step S60, the instruction value generation unit 22 checks in step S70 whether the correction value for the linear axis, which was converted to the instruction value coordinate system in step S50, is correct, and whether the correction value for the rotary axis in the instruction value coordinate system, which was obtained in step S60, is correct. In step S70, the instruction value generation unit 22 checks whether each correction value is greater than a predetermined upper limit or less than a predetermined lower limit. After confirming that each correction value is neither greater than the upper limit nor less than the lower limit, the instruction value generation unit 22 stores each correction value in the memory unit 27.On the other hand, if it is confirmed that any correction value is greater than the upper limit or less than the lower limit, the command value generation unit 22 does not store this correction value in the storage unit 27. Therefore, a lamp is provided in the multifunction lathe 1 to emit light to inform the user of the deviating correction value.
[0047] After step S70, the command value generation unit 22 updates the command value for each axis (linear and rotary axes) in step S80. In step S80, the command value generation unit 22 adds the correction value for the linear axis, which was stored in memory unit 27 in step S70, to the command value for the linear axis, which was obtained in step S10 and stored in memory unit 27. The command value for the linear axis (X-axis, Ys-axis, Z-axis, W-axis) is updated in this way. In step S80, the command value generation unit 22 also adds the correction value for the rotary axis, which was stored in memory unit 27 in step S70, to the command value for the rotary axis, which was obtained in step S10 and stored in the memory unit. The command value for the rotary axis (B-axis, C1-axis, C2-axis) is updated in this way.Step S80 is an example of the update step in the present invention and the instruction value generation unit 22 is an example of the update unit in the present invention. (Effects of the present invention)
[0048] In the method and device for controlling the multi-function lathe 1 according to the present embodiment, the command value generation unit 22 can provide the correction value (correction value vector ΔComp). j ) to correct the positional error Δe j The position error Δe is calculated in the command-value coordinate system of the linear axis using a simple procedure. Specifically, in step S40, a homogeneous coordinate transformation of the position error Δe is performed. j and the correction value vector ΔComp j ' to correct the positional error Δe j carried out from the workpiece coordinate system to the imaginary Cartesian coordinate system. The position error Δe jThe remote endpoint of tool 10 relative to the workpiece on the linear axis is due to a geometric error. In step S50, a homogeneous transformation of the correction value vector ΔComp is performed. j ' in the imaginary Cartesian coordinate system to the command value coordinate system of the linear axis. The command value generation unit 22 can then update the command value in step S80 using a simple procedure, namely by adding the calculated correction value to the command value for controlling the linear axis (X-axis, Ys-axis, Z-axis, W-axis). By combining these simple procedures, the command value generation unit 22 is enabled to correct the geometric error of the multifunction lathe 1, which has two or more linear axes (X-axis, Ys-axis and Z-axis) that are not arranged perpendicular to each other, and the command value for the linear axis is calculated.
[0049] In step S40, a calculation is performed using equation 9, which contains the rotation transformation matrix, so that the command value generation unit 22 can specify the inclination angle θ of the Ys-axis, which serves as a linear axis contained within the two or more linear axes (X-axis, Ys-axis, and Z-axis) that are not perpendicular to each other with respect to the direction of the Y-axis. Furthermore, according to the calculation using equation 9, a homogeneous coordinate transformation of the position error Δe can be performed. j of the remote endpoint of tool 10 and the correction value (correction value vector ΔComp) j ') to correct the positional error Δe j from the workpiece coordinate system to the imaginary Cartesian coordinate system.
[0050] Furthermore, the instruction value generation unit 22 can calculate the correction value (correction value vector ΔComp) in step S50. j) to correct the positional error Δe j Calculate the correction value (correction value vector ΔComp) of the remote endpoint of tool 10. j ) is calculated according to the Z-axis, the Ys-axis and the X-axis in the first axis configuration 1, which are determined to actually be used to machine the workpiece in step S22, or the W-axis, the Z-axis, the Ys-axis and the X-axis in the second axis configuration, which were determined to actually be used to machine the workpiece in step S22.
[0051] Furthermore, if it was determined in step S22 that one of the first and second axis configurations should not be used to machine the workpiece, the command value generation unit 22 determines in step S24 that the position error Δe jof the remote endpoint of tool 10 in the axis configuration which is not used, should be set to zero or should contain the previous error.
[0052] Calculating the position error Δe j In the workpiece coordinate system, the first axis configuration or the second axis configuration, which is not used to machine the workpiece, can be omitted in this way. This can reduce the computational effort required to calculate the position error Δe. j reduce.
[0053] The present invention is not limited to the above embodiment and can be carried out by partially modifying the design appropriately without deviating from the spirit and scope of the invention. The above embodiment is described with respect to an example in which the present invention is applied to the multi-function lathe 1. However, the present invention is not limited thereto. For example, the present invention can be applied to a four-axis or multi-axis machining center or a multi-function lathe having a plurality of tool supports and a plurality of drive heads.
[0054] It is expressly stated that all features disclosed in the description and / or the claims are intended to be disclosed individually and independently of one another for the purpose of the original disclosure as well as for the purpose of limiting the claimed invention, irrespective of the combination of features in the embodiments and / or the claims. It is expressly stated that all value ranges or specifications of groups of units include every possible intermediate value or unit for the purpose of the original disclosure as well as for the purpose of limiting the claimed invention, in particular as limits of value ranges.
Claims
[1] A method for controlling a machine tool (1) in which a main spindle, on which a tool (10) is mounted, and a machine table (6, 8), which holds a workpiece, are movable relative to each other by two or more linear axes (X, Ys, Z, W), which are not arranged perpendicular to each other, and at least one rotary axis (B, C1, C2) in order to machine the workpiece with the tool (10), wherein an error in a position of the tool with respect to the workpiece due to a geometric error of a position of the tool (10) is calculated, in the presence of a geometric error and an ideal position of the tool (10), the position of the tool (10) in the presence of the geometric error is obtained by performing a homogeneous coordinate transformation from a tool coordinate system to a workpiece coordinate system taking into account the geometric error,and the ideal position of the tool (10) is obtained by performing the homogeneous coordinate transformation from the tool coordinate system to the workpiece coordinate system without taking into account the geometric error, and the error is corrected to calculate a command value for controlling the linear axis (X, Ys, Z, W), , characterized by , that the procedure exhibits: a conversion step (S40) to convert the error into an imaginary Cartesian coordinate system, which is imaginarily set such that the two or more linear axes (X, Ys, Z, W) are arranged perpendicular to each other, and to convert a correction value to correct the error into the imaginary Cartesian coordinate system by performing a homogeneous coordinate transformation from the workpiece coordinate system to the imaginary Cartesian coordinate system; a correction value calculation step (S50) for calculating a correction value in a command value coordinate system of the linear axis (X, Ys, Z, W) by performing a homogeneous coordinate transformation of the correction value, which was converted in the conversion step (S40) into the imaginary Cartesian coordinate system, from the imaginary Cartesian coordinate system to the command value coordinate system, and an update step (S80) to update the command value for controlling the linear axis (X, Ys, Z, W) by adding the correction value calculated in the correction value calculation step (S50) to the command value. [2] Method according to claim 1, wherein in the conversion step (S40) the homogeneous coordinate transformation of the error and the correction value is carried out from the workpiece coordinate system to the imaginary Cartesian coordinate system, with respect to an inclination angle of the linear axis (X, Ys, Z, W) contained in the two or more linear axes (X, Ys, Z, W) which are not arranged perpendicular to each other with respect to a predetermined reference direction. [3] Method according to claim 1 or 2, further comprising: a selection step (S22) for selecting any axis configuration with any linear axis (X, Ys, Z, W) which is contained in the two or more linear axes (X, Ys, Z, W) and any rotary axis (B, C1, C2) which is contained in the at least one rotary axis (B, C1, C2), wherein In the conversion step (S40), the error and the correction value are converted to an arbitrary imaginary Cartesian coordinate system, which is imaginarily set such that any two or more linear axes (X, Ys, Z, W) contained in the arbitrary axis configuration selected in the selection step (S22) are arranged perpendicular to each other, by performing the homogeneous coordinate transformation from the workpiece coordinate system to the arbitrary imaginary Cartesian coordinate system, and In the correction value calculation step (S50), the correction value is calculated in the command value coordinate system by performing the homogeneous coordinate transformation of the correction value, which was converted to an arbitrary imaginary Cartesian coordinate system in the conversion step (S40), from the arbitrary imaginary Cartesian coordinate system to the command value coordinate system. [4] Method according to claim 3, wherein the arbitrary linear axis (X, Ys, Z, W) is the linear axis (X, Ys, Z, W) that will actually be used to machine the workpiece, and the arbitrary rotary axis (B, C1, C2) is the rotary axis (B, C1, C2) that will actually be used to machine the workpiece, In the selection step (S22), based on information for determining a used axis configuration, which contains the linear axis (X, Ys, Z, W) that is actually to be used to machine the workpiece and the rotary axis (B, C1, C2) that is actually to be used to machine the workpiece, it is determined whether the used axis configuration exists among the axis configurations that contain the linear axis (X, Ys, Z, W) in the two or more linear axes (X, Ys, Z, W) and the rotary axis (B, C1, C2) in the at least one rotary axis (B, C1, C2), and the determined used axis configuration is selected as an arbitrary axis configuration. In the conversion step (S40), the error and the correction value are converted to an imaginary Cartesian coordinate system, which is imaginarily set such that the two or more linear axes (X, Ys, Z, W) contained in the axis configuration used, which was selected in the selection step (S22), are arranged perpendicular to each other, and which is contained in any imaginary Cartesian coordinate system, by performing the homogeneous coordinate transformation from the workpiece coordinate system to the one imaginary Cartesian coordinate system, and In the correction value calculation step (S50), the correction value is calculated in the command value coordinate system by performing the homogeneous coordinate transformation of the correction value, which was converted to the one imaginary Cartesian coordinate system in the conversion step (S40), from the one imaginary Cartesian coordinate system to the command value coordinate system. [5] Method according to claim 4, further comprising: an error determination step (S24) to determine whether the error calculated from the position of the tool when the geometric error is present and the ideal position of the tool (10) should include a previous error or be set to zero if in the selection step (S22) it was determined that there is an axis configuration in the axis configuration which should not be used to machine the workpiece. [6] A device (20) for controlling a machine tool (1) in which a main spindle, on which a tool (10) is mounted and a machine table (6, 8), which holds a workpiece, are movable relative to each other by means of two or more linear axes (X, Ys, Z, W), which are not arranged perpendicular to each other and at least one rotary axis (B, C1, C2) to machine the workpiece with the tool (10), wherein An error in the position of the tool (10) with respect to the workpiece due to a geometric error is calculated from a position of the tool (10) with the geometric error present and an ideal position of the tool (10), wherein the position of the tool (10) with the geometric error present is obtained by performing a homogeneous coordinate transformation from a tool coordinate system to a workpiece coordinate system, taking the geometric error into account, and the ideal position of the tool (10) is obtained by performing the homogeneous coordinate transformation from the tool coordinate system to the workpiece coordinate system without taking the geometric error into account, and the error is corrected to calculate a command value for controlling the linear axis (X, Ys, Z, W). characterized by , that the method with the device (20) exhibits: a conversion unit which converts the error into an imaginary Cartesian coordinate system, which is imaginarily set such that the two or more linear axes (X, Ys, Z, W) are arranged perpendicular to each other, and converts a correction value to correct the error to the imaginary Cartesian coordinate system by performing a homogeneous coordinate transformation from the workpiece coordinate system to the imaginary Cartesian coordinate system; a correction value calculation unit which calculates a correction value in a command value coordinate system of the linear axis (X, Ys, Z, W) by performing a homogeneous coordinate transformation of the correction value, which was converted by the conversion unit to the imaginary Cartesian coordinate system, from the imaginary Cartesian coordinate system to the command value coordinate system; and an update unit which updates the command value for controlling the linear axis (X, Ys, Z, W) by adding the correction value calculated by the correction value calculation unit to the command value. [7] Device (20) according to claim 6, wherein the conversion unit performs the homogeneous coordinate transformation of the error and the correction value from the workpiece coordinate system to the imaginary Cartesian coordinate system, with respect to an inclination angle of the linear axis (X, Ys, Z, W) contained in the two or more linear axes (X, Ys, Z, W) which are not arranged perpendicular to each other with respect to a predetermined reference direction. [8] Device (20) according to claim 6 or 7, further comprising: a selection unit for selecting any axis configuration, which has any linear axis (X, Ys, Z, W) contained in the two or more linear axes (X, Ys, Z, W) and any rotary axis (B, C1, C2) contained in the at least one rotary axis (B, C1, C2), wherein The conversion unit converts the error and the correction value to an arbitrary imaginary Cartesian coordinate system, which is imaginarily set such that any two or more linear axes (X, Ys, Z, W) contained in the arbitrary axis configuration selected by the selection unit are arranged perpendicular to each other, by performing the homogeneous coordinate transformation from the workpiece coordinate system to the arbitrary imaginary Cartesian coordinate system, and The correction value calculation unit calculates the correction value in the command value coordinate system by performing the homogeneous coordinate transformation of the correction value, which was converted by the conversion unit into the arbitrary imaginary Cartesian coordinate system, from the arbitrary imaginary Cartesian coordinate system to the command value coordinate system. [9] The device (20) according to claim 8, wherein the arbitrary linear axis (X, Ys, Z, W) is the linear axis (X, Ys, Z, W) that is actually to be used for machining the workpiece and the arbitrary rotary axis (B, C1, C2) is the rotary axis (B, C1, C2) that is actually to be used for machining the workpiece, The device (20) further comprises a storage unit (27) which stores determination information for determining an axis configuration to be used, which includes the linear axis (X, Ys, Z, W) that is actually to be used for machining the workpiece and the rotary axis (B, C1, C2) that is actually to be used for machining the workpiece. The selection unit determines, based on the determination information stored in the memory unit (27), whether the used axis configuration exists among those axis configurations which contain the linear axis (X, Ys, Z, W) in the two or more linear axes (X, Ys, Z, W) and the rotary axis (B, C1, C2) in the at least one rotary axis (B, C1, C2), and selects the determined used axis configuration as the arbitrary axis configuration. The conversion unit converts the error and the correction value to an imaginary Cartesian coordinate system, which is imaginarily set such that the two or more linear axes (X, Ys, Z, W) contained in the axis configuration used, which was selected by the selection unit, are arranged perpendicular to each other, and which is contained in the arbitrary imaginary Cartesian coordinate system, by performing the homogeneous coordinate transformation from the workpiece coordinate system to the one imaginary Cartesian coordinate system and The correction value calculation unit calculates the correction value in the command value coordinate system by performing the homogeneous coordinate transformation of the correction value, which was converted by the conversion unit into the one imaginary Cartesian coordinate system, from the one imaginary Cartesian coordinate system to the command value coordinate system. [10] The device (20) according to claim 9, further comprising: an error determination unit which determines whether the error calculated from the position of the tool (10) in the presence of the geometric error and the ideal position of the tool (10) should include a previous error or be set to zero if the selection unit determines that there is an axis configuration in the axis configurations which should not be used for machining the workpiece.
Citation Information
Patent Citations
Numerical control for a multi-axis machine
DE102011102810A1
Numerical control unit and method
JP2004272887A
Numerical control method and numerical controller
JP2009104317A
JP002004272887A
JP002009104317A