Method for identifying critical error of worm gear machine and method for iteratively compensating critical error of worm gear machine

12066809 ยท 2024-08-20

Assignee

Inventors

Cpc classification

International classification

Abstract

A method for identifying a critical error of a worm gear machine, step 1: obtaining an actual forward kinematic model T.sub.27.sup.a and an ideal forward kinematic model T.sub.27.sup.i from a coordinate system of a worm gear hob to a coordinate system of a worm gear, thereby establishing a geometric error-pose error model of the worm gear machine; step 2: regarding the geometric error-pose error model of the worm gear machine as a multi-input multi-output (MIMO) nonlinear system, and solving, by taking the geometric error of each motion axis of the worm gear machine as an input feature X, and a pose error between the worm gear hob and the worm gear as an output variable Y, an importance coefficient of each input feature with a random forest algorithm; and step 3: determining a critical error affecting a machining accuracy of the worm gear machine.

Claims

1. A method for identifying a critical error of a worm gear machine, comprising the following steps: step a): analyzing a geometric error of each motion axis of the worm gear machine, and obtaining an actual forward kinematic model T.sub.27.sup.a and an ideal forward kinematic model T.sub.27.sup.i from a coordinate system of a worm gear hob to a coordinate system of a worm gear based on a motion chain of the worm gear machine, thereby establishing a geometric error-pose error model of the worm gear machine which contains final geometric errors after comparing between the actual forward kinematic model T.sub.27.sup.a and the ideal forward kinematic model T.sub.27.sup.i; step b): having the geometric error-pose error model of the worm gear machine as a multi-input multi-output (MIMO) nonlinear system, and solving, by taking the geometric error of each motion axis of the worm gear machine as an input feature X, and a pose error between the worm gear hob and the worm gear as an output variable Y, a coefficient of each input feature with a random forest algorithm; step c): determining, according to the solved coefficient of each input feature, the critical error affecting a machining accuracy of the worm gear machine; and step d): outputting numerical control instruction to the worm gear machine to adjust positions of the worm gear hob to correct the critical error affecting the machining accuracy of the worm gear machine; wherein in the step a), a method for establishing the geometric error-pose error model of the worm gear machine is as follows: step a1) analyzing the geometric error of the worm gear machine; step a2) obtaining the actual forward kinematic model T.sub.27.sup.a and the ideal forward kinematic model T.sub.27.sup.i from the coordinate system of the worm gear hob to the coordinate system of the worm gear according to the motion chain of the worm gear machine; and step a3) establishing the geometric error-pose error model of the worm gear machine from the actual forward kinematic model T.sub.27.sup.a and the ideal forward kinematic model T.sub.27.sup.i; wherein in the step a1), geometric errors of X-, Y-, Z- and C-motion axes of the worm gear machine are considered, wherein each motion axis comprises 6 items of position-dependent geometric errors (PDGEs), respectively comprising: an x-direction linear error ?.sub.x(s) of an S-axis in motion, a y-direction linear error ?.sub.y(s) of the S-axis in motion, a z-direction linear error ?.sub.z(s) of the S axis in motion, an x-direction angular error ?.sub.x(s) of the S-axis in motion, a y-direction angular error ?.sub.y(s) of the S-axis in motion, and a z-direction angular error ?.sub.z(s) of the S-axis in motion, wherein s represents a motion instruction of the motion axis S, and s=x, y, z, c; position-independent geometric errors (PIGEs) are present between the motion axes, respectively comprising: a perpendicularity error ?.sub.yz between the X axis and the Z axis, a perpendicularity error ?.sub.zy between the Y axis and the Z axis, and a perpendicularity error ?.sub.xy between the Y axis and the X axis; and the C axis has four items of placement errors, respectively comprising: an x-direction linear error ?.sub.xc of the C axis in placement, a y-direction linear error ?.sub.yc of the C axis in placement, an x-direction angular error ?.sub.xc of the C axis in placement, and a y-direction angular error ?.sub.yc of the C axis in placement.

2. The method for identifying the critical error of the worm gear machine according to claim 1, wherein in the step a2), with the worm gear hob as a transfer end point, the worm gear machine has a following motion chain: worm gear.fwdarw.C-axis.fwdarw.bed.fwdarw.X-axis.fwdarw.Z-axis.fwdarw.Y-axis.fwdarw.B-axis.fwdarw.worm gear hob, wherein the worm gear-C axis-bed serves as a workpiece chain, and the bed.fwdarw.X-axis.fwdarw.Z-axis.fwdarw.Y-axis.fwdarw.B-axis.fwdarw.worm gear hob serves as a cutter chain; during consideration of the geometric errors, an actual kinematic model of the tool chain is:
T.sub.02.sup.a=T.sub.01T.sub.12=T.sub.p01T.sub.pe01T.sub.m01T.sub.me01?T.sub.p12T.sub.pe12T.sub.m12T.sub.me12; and an ideal kinematic model of the tool chain is:
T.sub.02.sup.i=T.sub.01.sup.iT.sub.12.sup.i=T.sub.p01T.sub.m01?T.sub.p12T.sub.m12 wherein, T.sub.02.sup.a and T.sub.02.sup.i respectively represent an actual transformation matrix and an ideal transformation matrix from the worm gear to the bed; T.sub.01 and T.sub.01.sup.i respectively represent an actual transformation matrix and an ideal transformation matrix from the C axis to the bed; T.sub.12 and T.sub.12.sup.i respectively represent an actual transformation matrix and an ideal transformation matrix from the worm gear to the C axis; T.sub.p01 represents a placement matrix from the C axis to the bed; T.sub.pe01 represents a placement error matrix from the C axis to the bed; T.sub.m01 represents a motion matrix from the C axis to the bed; T.sub.me01 represents a motion error matrix from the C axis to the bed; T.sub.p12 represents a placement matrix from the worm gear to the C axis; T.sub.pe12 represents a placement error matrix from the worm gear to the C axis; T.sub.m12 represents a motion matrix from the worm gear to the C axis; and T.sub.me12 represents a motion error matrix from the worm gear to the C axis; and during consideration of the geometric errors, an actual kinematic model of the cutter chain is:
T.sub.07.sup.a=T.sub.03T.sub.34T.sub.45T.sub.56T.sub.67=T.sub.p03T.sub.pe03T.sub.m03T.sub.me03?T.sub.p34T.sub.pe34T.sub.m34T.sub.me34?T.sub.p45T.sub.pe45T.sub.m45T.sub.me45?T.sub.p56T.sub.pe56T.sub.m56T.sub.me56?T.sub.p67T.sub.pe67T.sub.m67T.sub.me67; and an ideal kinematic model of the cutter chain is:
T.sub.07.sup.i=T.sub.p03T.sub.m03T.sub.p34T.sub.m34T.sub.p45T.sub.m45T.sub.p56T.sub.m56T.sub.p67T.sub.m67 wherein, T.sub.07.sup.a and T.sub.07.sup.i respectively represent an actual transformation matrix and an ideal transformation matrix from the worm gear hob to the bed; T.sub.03 represents an actual transformation matrix from the X axis to the bed; T.sub.34 represents an actual transformation matrix from the Z axis to the X axis; T.sub.45 represents an actual transformation matrix from the Y axis to the Z axis; T.sub.56 represents an actual transformation matrix from the B axis to the Y axis; represents an actual transformation matrix from the worm gear hob to the B axis; T.sub.p03 represents a placement matrix from the X axis to the bed; T.sub.pe03 represents a placement error matrix from the X axis to the bed; T.sub.m03 represents a motion matrix from the X axis to the bed; T.sub.me03 represents a motion error matrix from the X axis to the bed; T.sub.p34 represents a placement matrix from the Z axis to the X axis; T.sub.pe34 represents a placement error matrix from the Z axis to the X axis; T.sub.m34 represents a motion matrix from the Z axis to the X axis; T.sub.me34 represents a motion error matrix from the Z axis to the X axis; T.sub.p45 represents a placement matrix from the Y axis to the Z axis; T.sub.pe45 represents a placement error matrix from the Y axis to the Z axis; T.sub.m45 represents a motion matrix from the Y axis to the Z axis; T.sub.me45 represents a motion error matrix from the Y axis to the Z axis; T.sub.p56 represents a placement matrix from the B axis to the Y axis; T.sub.pe56 represents a placement error matrix from the B axis to the Y axis; T.sub.m56 represents a motion matrix from the B axis to the Y axis; T.sub.me56 represents a motion error matrix from the B axis to the Y axis; T.sub.p67 represents a placement matrix from the worm gear hob to the B axis; T.sub.pe67 represents a placement error matrix from the worm gear hob to the B axis; T.sub.m67 represents a motion matrix from the worm gear hob to the B axis; and T.sub.me67 represents a motion error matrix from the worm gear hob to the B axis, thereby obtaining the actual forward kinematic model of the worm gear machine from the coordinate system of the worm gear hob to the coordinate system of the worm gear:
T.sub.27.sup.a=(T.sub.02.sup.a).sup.?1T.sub.07.sup.a; and obtaining the ideal forward kinematic model of the worm gear machine from the coordinate system of the worm gear hob to the coordinate system of the worm gear:
T.sub.27.sup.i=(T.sub.02.sup.i).sup.?1T.sub.07.sup.i.

3. The method for identifying the critical error of the worm gear machine according to claim 2, wherein in the step a3), assuming that a cutter tip position vector and a cutter axis vector in the coordinate system of the worm gear hob are respectively P.sub.t and Q.sub.t, actual cutter position data under the influence of the geometric errors is: [ Q w P w 0 1 ] = T 2 7 a [ Q t P t 0 1 ] wherein, P.sub.w=[x, y, z].sup.T and Q.sub.w=[i, j, k].sup.T respectively represent an actual cutter tip position vector and an actual cutter axis vector; the geometric error-pose error model of the worm gear machine is obtained by performing subtraction on the actual cutter position data and ideal states of the worm gear hob and the worm gear: [ ? i ? x ? j ? y ? k ? z 0 1 ] = ( T 2 7 a - T 2 7 i ) [ Q t P t 0 1 ] wherein, ?i represents an x-coordinate error of cutter axis vector data; ?j represents a y-coordinate error of the cutter axis vector data; ?k represents a z-coordinate error of the cutter axis vector data; ?x represents an x-coordinate error of cutter tip position data; ?y represents a y-coordinate error of the cutter tip position data; and ?z represents a z-coordinate error of the cutter tip position data.

4. The method for identifying the critical error of the worm gear machine according to claim 3, wherein in the step b), a method for solving the coefficient of each input feature with the random forest algorithm is as follows: step b1) establishing a decision tree T.sub.b with a bootstrap sampling set, and taking a sample not participating in establishment of the decision tree as an out-of-bag (OBB) sample x.sub.b.sup.obb; step b2) predicting the x.sub.b.sup.obb with the established decision tree T.sub.b, and computing a correctly classified resolution R.sub.b.sup.obb; step b3) changing, for a geometric error element x.sub.j (j=1, . . . , 31), a value of the x.sub.j in the x.sub.b.sup.obb during initialization, and recording the value as x.sub.bj.sup.obb; and then, predicting the x.sub.bj.sup.obb with the decision tree T.sub.b, and recording a correctly classified resolution as R.sub.bj.sup.obb; and step b4) repeating the step b1) to the step b3), such that a coefficient D.sub.j of the geometric error element xj is: D j = 1 n .Math. b = 1 n ( R b obb - R bj obb ) wherein, n is the number of repeated times.

5. A method for iteratively compensating a critical error of a worm gear machine, comprising the following steps: step e): determining, by using the method for identifying the critical error of the worm gear machine according to claim 1, the critical error affecting the machining accuracy of the worm gear machine, retaining the identified critical error item, and simplifying the geometric error-pose error model of the worm gear machine; step f): assuming that an actual x-direction position of the worm gear hob is x+?x(x,y,z,c), obtaining a following iteration form of x:
x.sub.i+1=x.sup.i?f.sub.?x(x.sub.i, y.sub.i, z.sub.i, c.sub.i) wherein, x.sub.1+1 represents an iterative value of a numerical control instruction x; x.sup.i represents an instruction when an X axis reaches a predetermined position; f.sub.?x(?) represents a mapping function between the critical error item and an x-direction pose error; and a subscript i represents the number of iterative times; assuming that an actual x-direction position of the worm gear hob is z+?z(x,y,z,c), obtaining a following iteration form of z:
z.sub.i+1=z.sup.i?f.sub.?z(x.sub.i+1, y.sub.i, z.sub.i, c.sub.i) wherein, z.sub.i+1 represents an iterative value of a numerical control instruction z; z.sup.i represents an instruction when a Z axis reaches a predetermined position; and f.sub.?z(?) represents a mapping function between the critical error item and a z-direction pose error; assuming that an actual y-direction position of the worm gear hob is y+?y(x,y,z,c), obtaining a following iteration form of y:
y.sub.i+1=y.sup.i?f.sub.?y(x.sub.i+1, y.sub.i, z.sub.i+1, c.sub.i) wherein, y.sub.i+1 represents an iterative value of a numerical control instruction y; y.sup.i represents an instruction when a Y axis reaches a predetermined position; and f.sub.?y(?) represents a mapping function between the critical error item and a y-direction pose error; and assuming that an actual c-direction position of the worm gear hob is c+?c(x,y,z,c), obtaining a following iteration form of c:
c.sub.i+1=c.sup.i?f.sub.?c(x.sub.i, y.sub.i, z.sub.i, c.sub.i) wherein, c.sub.i+1 represents an iterative value of a numerical control instruction c; c.sup.i represents an instruction when a C axis reaches a predetermined position; and f.sub.?(?) represents a mapping function between the critical error item and a c-direction pose error; step g): iteratively compensating the critical error, and determining whether a motion accuracy of each of the X, Z, Y and C axes meets a preset threshold requirement; if yes, executing the step d); and if no, letting x.sub.i=x.sub.i+1, z.sub.i=z.sub.i+1, y.sub.i=y.sub.i+1, c.sub.i=c.sub.i+1 and i=i+1 and executing the step f); and wherein the step of outputting the numerical control instruction comprises outputting the numerical control instruction (x.sub.i, y.sub.i, z.sub.i, c.sub.i) to the worm gear machine to adjust the x-direction, y-direction, z-direction and c-direction positions of the worm gear hob to x.sub.i, y.sub.i, z.sub.i, and c.sub.i, respectively.

6. The method for identifying the critical error of the worm gear machine according to claim 5, wherein in the step a2), with the worm gear hob as a transfer end point, the worm gear machine has a following motion chain: worm gear.fwdarw.C-axis.fwdarw.bed.fwdarw.X-axis.fwdarw.Z-axis.fwdarw.Y-axis.fwdarw.B-axis.fwdarw.worm gear hob, wherein the worm gear-C axis-bed serves as a workpiece chain, and the bed.fwdarw.X-axis.fwdarw.Z-axis.fwdarw.Y-axis.fwdarw.B-axis.fwdarw.worm gear hob serves as a cutter chain; during consideration of the geometric errors, an actual kinematic model of the tool chain is:
T.sub.02.sup.a=T.sub.01T.sub.12=T.sub.p01T.sub.pe01T.sub.m01T.sub.me01?T.sub.p12T.sub.pe12T.sub.m12T.sub.me12; and an ideal kinematic model of the tool chain is:
T.sub.02.sup.i=T.sub.01.sup.iT.sub.12.sup.i=T.sub.p01T.sub.m01?T.sub.p12T.sub.m12 wherein, T.sub.02.sup.a and T.sub.02.sup.i respectively represent an actual transformation matrix and an ideal transformation matrix from the worm gear to the bed; T.sub.01 and T.sub.01.sup.i respectively represent an actual transformation matrix and an ideal transformation matrix from the C axis to the bed; T.sub.12 and T.sub.12.sup.i respectively represent an actual transformation matrix and an ideal transformation matrix from the worm gear to the C axis; T.sub.p01 represents a placement matrix from the C axis to the bed; T.sub.pe01 represents a placement error matrix from the C axis to the bed; T.sub.m01 represents a motion matrix from the C axis to the bed; T.sub.me01 represents a motion error matrix from the C axis to the bed; T.sub.p12 represents a placement matrix from the worm gear to the C axis; T.sub.pe12 represents a placement error matrix from the worm gear to the C axis; T.sub.m12 represents a motion matrix from the worm gear to the C axis; and T.sub.me12 represents a motion error matrix from the worm gear to the C axis; and during consideration of the geometric errors, an actual kinematic model of the cutter chain is:
T.sub.07.sup.a=T.sub.03T.sub.34T.sub.45T.sub.56T.sub.67=T.sub.p03T.sub.pe03T.sub.m03T.sub.me03?T.sub.p34T.sub.pe34T.sub.m34T.sub.me34?T.sub.p45T.sub.pe45T.sub.m45T.sub.me45?T.sub.p56T.sub.pe56T.sub.m56T.sub.me56?T.sub.p67T.sub.pe67T.sub.m67T.sub.me67; and an ideal kinematic model of the cutter chain is:
T.sub.07.sup.i=T.sub.p03T.sub.m03T.sub.p34T.sub.m34T.sub.p45T.sub.m45T.sub.p56T.sub.m56T.sub.p67T.sub.m67 wherein, T.sub.07.sup.a and T.sub.07.sup.i respectively represent an actual transformation matrix and an ideal transformation matrix from the worm gear hob to the bed; T.sub.03 represents an actual transformation matrix from the X axis to the bed; T.sub.34 represents an actual transformation matrix from the Z axis to the X axis; T.sub.45 represents an actual transformation matrix from the Y axis to the Z axis; T.sub.56 represents an actual transformation matrix from the B axis to the Y axis; T.sub.67 represents an actual transformation matrix from the worm gear hob to the B axis; T.sub.p03 represents a placement matrix from the X axis to the bed; T.sub.pe03 represents a placement error matrix from the X axis to the bed; T.sub.m03 represents a motion matrix from the X axis to the bed; T.sub.me03 represents a motion error matrix from the X axis to the bed; T.sub.p34 represents a placement matrix from the Z axis to the X axis; T.sub.pe34 represents a placement error matrix from the Z axis to the X axis; T.sub.m34 represents a motion matrix from the Z axis to the X axis; T.sub.me34 represents a motion error matrix from the Z axis to the X axis; T.sub.p45 represents a placement matrix from the Y axis to the Z axis; T.sub.pe45 represents a placement error matrix from the Y axis to the Z axis; T.sub.m45 represents a motion matrix from the Y axis to the Z axis; T.sub.me45 represents a motion error matrix from the Y axis to placement error matrix from the B axis to the Y axis; T.sub.m56 represents a motion matrix from the B axis to the Y axis; T.sub.me56 represents a motion error matrix from the B axis to the Y axis; T.sub.p67 represents a placement matrix from the worm gear hob to the B axis; T.sub.pe67 represents a placement error matrix from the worm gear hob to the B axis; T.sub.m67 represents a motion matrix from the worm gear hob to the B axis; and T.sub.me67 represents a motion error matrix from the worm gear hob to the B axis, thereby obtaining the actual forward kinematic model of the worm gear machine from the coordinate system of the worm gear hob to the coordinate system of the worm gear:
T.sub.27.sup.a=(T.sub.02.sup.a).sup.?1T.sub.07.sup.a; and obtaining the ideal forward kinematic model of the worm gear machine from the coordinate system of the worm gear hob to the coordinate system of the worm gear:
T.sub.27.sup.a=(T.sub.02.sup.a).sup.?1T.sub.07.sup.a.

7. The method for identifying the critical error of the worm gear machine according to claim 6, wherein in the step a3), assuming that a cutter tip position vector and a cutter axis vector in the coordinate system of the worm gear hob are respectively P.sub.t and Q.sub.t, actual cutter position data under the influence of the geometric errors is: [ Q w P w 0 1 ] = T 2 7 a [ Q t P t 0 1 ] wherein, P.sub.w=[x, y, z].sup.T and Q.sub.w=[i, j, k].sup.T respectively represent an actual cutter tip position vector and an actual cutter axis vector; the geometric error-pose error model of the worm gear machine is obtained by performing subtraction on the actual cutter position data and ideal states of the worm gear hob and the worm gear: [ ? i ? x ? j ? y ? k ? z 0 1 ] = ( T 2 7 a - T 2 7 i ) [ Q t P t 0 1 ] wherein, ?i represents an x-coordinate error of cutter axis vector data; ?j represents a y-coordinate error of the cutter axis vector data; ?k represents a z-coordinate error of the cutter axis vector data; ?x represents an x-coordinate error of cutter tip position data; ?y represents a y-coordinate error of the cutter tip position data; and ?z represents a z-coordinate error of the cutter tip position data.

8. The method for iteratively compensating the critical error of the worm gear machine according to claim 6, wherein in the step g), the motion accuracies of each of the X, Z, Y and C axes meets: { .Math. "\[LeftBracketingBar]" x i + 1 - x i .Math. "\[RightBracketingBar]" ? ? x .Math. "\[LeftBracketingBar]" z i + 1 - z i .Math. "\[RightBracketingBar]" ? ? z .Math. "\[LeftBracketingBar]" y i + 1 - y i .Math. "\[RightBracketingBar]" ? ? y .Math. "\[LeftBracketingBar]" c i + 1 - c i .Math. "\[RightBracketingBar]" ? ? c wherein, ?.sub.x, ?.sub.z, ?.sub.y and ?.sub.c respectively represent a maximum allowable threshold for the motion accuracies of the X, Z, Y and C axes.

9. The method for identifying the critical error of the worm gear machine according to claim 7, wherein in the step b), a method for solving the coefficient of each input feature with the random forest algorithm is as follows: step b1) establishing a decision tree T.sub.b with a bootstrap sampling set, and taking a sample not participating in establishment of the decision tree as an out-of-bag (OBB) sample x.sub.b.sup.obb; step b2) predicting the x.sub.b.sup.obb with the established decision tree T.sub.b, and computing a correctly classified resolution R.sub.b.sup.obb; step b3) changing, for a geometric error element x.sub.j (j=1, . . . , 31), a value of the x.sub.j in the x.sub.b.sup.obb during initialization, and recording the value as x.sub.bj.sup.obb; and then, predicting the x.sub.bj.sup.obb with the decision tree T.sub.b, and recording a correctly classified resolution as R.sub.bj.sup.obb; and step b4) repeating the step b1) to the step b3), such that a coefficient D.sub.j of the geometric error element xj is: D j = 1 n .Math. b = 1 n ( R b obb - R bj obb ) wherein, n is the number of repeated times.

10. The method for iteratively compensating the critical error of the worm gear machine according to claim 7, wherein in the step g), the motion accuracies of each of the X, Z, Y and C axes meets: { .Math. "\[LeftBracketingBar]" x i + 1 - x i .Math. "\[RightBracketingBar]" ? ? x .Math. "\[LeftBracketingBar]" z i + 1 - z i .Math. "\[RightBracketingBar]" ? ? z .Math. "\[LeftBracketingBar]" y i + 1 - y i .Math. "\[RightBracketingBar]" ? ? y .Math. "\[LeftBracketingBar]" c i + 1 - c i .Math. "\[RightBracketingBar]" ? ? c wherein, ?.sub.x, ?.sub.z, ?.sub.y and ?.sub.c respectively represent a maximum allowable threshold for the motion accuracies of the X, Z, Y and C axes.

11. The method for iteratively compensating the critical error of the worm gear machine according to claim 9, wherein in the step g), the motion accuracies of each of the X, Z, Y and C axes meets: { .Math. "\[LeftBracketingBar]" x i + 1 - x i .Math. "\[RightBracketingBar]" ? ? x .Math. "\[LeftBracketingBar]" z i + 1 - z i .Math. "\[RightBracketingBar]" ? ? z .Math. "\[LeftBracketingBar]" y i + 1 - y i .Math. "\[RightBracketingBar]" ? ? y .Math. "\[LeftBracketingBar]" c i + 1 - c i .Math. "\[RightBracketingBar]" ? ? c wherein, ?.sub.x, ?.sub.z, ?.sub.y and ?.sub.c respectively represent a maximum allowable threshold for the motion accuracies of the X, Z, Y and C axes.

12. The method for iteratively compensating the critical error of the worm gear machine according to claim 5, wherein in the step g), the motion accuracy of each of the X, Z, Y and C axes meets: { .Math. "\[LeftBracketingBar]" x i + 1 - x i .Math. "\[RightBracketingBar]" ? ? x .Math. "\[LeftBracketingBar]" z i + 1 - z i .Math. "\[RightBracketingBar]" ? ? z .Math. "\[LeftBracketingBar]" y i + 1 - y i .Math. "\[RightBracketingBar]" ? ? y .Math. "\[LeftBracketingBar]" c i + 1 - c i .Math. "\[RightBracketingBar]" ? ? c wherein, ?.sub.x, ?.sub.z, ?.sub.y and ?.sub.c respectively represent a maximum allowable threshold for the motion accuracies of the X, Z, Y and C axes.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) In order to make the objectives, technical solutions and beneficial effects of the present disclosure clearer, the present disclosure provides the following descriptions on the accompanying drawings:

(2) FIG. 1 is a schematic view of a transmission chain of a worm gear machine.

(3) FIG. 2 is a flow chart for identifying a critical error of a worm gear machine with a random forest algorithm.

(4) FIG. 3 is a flow chart for iteratively compensating a critical error of a worm gear machine.

DETAILED DESCRIPTION OF THE EMBODIMENTS

(5) The present disclosure will be further described in combination with accompanying drawings and specific examples so as to enable those skilled in the art to better understand and practice the disclosure, but the illustrated examples do not constitute any limitation to the present disclosure.

(6) A method for identifying a critical error of a worm gear machine in the embodiment includes the following steps: Step a): Analyze a geometric error of each motion axis of a worm gear machine, and obtain an actual forward kinematic model T.sub.27.sup.a and an ideal forward kinematic model T.sub.27.sup.i from a coordinate system of a worm gear hob to a coordinate system of a worm gear based on a motion chain of the worm gear machine, thereby establishing a geometric error-pose error model of the worm gear machine.

(7) Specifically, a method for establishing the geometric error-pose error model of the worm gear machine is as follows: 11) Analyze a geometric error of the worm gear machine.

(8) As shown in FIG. 1, the worm gear machine and the topological structure thereof are composed of a workpiece chain and a cutter chain, where the workpiece chain includes a bed, a C-axis and a worm gear, and the cutter chain includes a bed, an X-axis, a Z-axis, a Y-axis, a B-axis and a worm gear hob. The X-axis, Y-axis and Z-axis are linear motion axes, and B-axis and C-axis are rotational motion axes.

(9) The workpiece chain and the cutter chain form a full motion chain of the worm gear machine. On the two motion sub-chains, geometric errors of each component include PIGEs and PDGEs. As the B-axis is a hob axis with a higher level of manufacturing accuracy, its errors are ignored temporarily herein during modeling, and considerations are given to geometric errors of X-, Y-, Z-, and C-motion axes of the worm gear machine.

(10) Each motion axis includes 6 items of PDGEs, respectively including: an x-direction linear error ?.sub.x(s) of an S-axis in motion, a y-direction linear error ?.sub.y(s) ) of the S-axis in motion, a z-direction linear error ?.sub.z(s) of the S-axis in motion, an x-direction angular error ?.sub.x(s) of the S-axis in motion, a y-direction angular error ?.sub.y(s) of the S-axis in motion, and a z-direction angular error ?.sub.z(s) of the S-axis in motion, where s represents a motion instruction of the motion S-axis, and s=x, y, z, c.

(11) PIGEs are present between the motion axes, respectively including: a perpendicularity error ?.sub.yz between the X axis and the Z-axis, a perpendicularity error ?.sub.zy between the Y-axis and the Z-axis, and a perpendicularity error ?.sub.xy between the Y-axis and the X-axis.

(12) The C-axis has four items of placement errors, respectively including: an x-direction linear error ?.sub.xc of the C-axis in placement, a y-direction linear error ?.sub.yc of the C-axis in placement, an x-direction angular error ?.sub.xc of the C-axis in placement, and a y-direction angular error ?.sub.yc of the C-axis in placement.

(13) Specifically, each motion axis of the worm gear machine includes the following geometric error elements:

(14) I. The X-axis has six items of PDGEs, respectively including: an x-direction linear error ?.sub.x(x) of the X-axis in motion; a y-direction linear error ?.sub.y(x) of the X-axis in motion; a z-direction linear error ?.sub.z(x) of the X-axis in motion; an x-direction angular error ?.sub.x(x) of the X-axis in motion; a y-direction angular error ?.sub.y(x) of the X-axis in motion; and a z-direction angular error ?.sub.z(x) of the X-axis in motion.

(15) II. The Z-axis has six items of PDGEs and one item of PIGE:

(16) The six items of PDGEs are an x-direction linear error ?.sub.x(z) of the Z-axis in motion; a y-direction linear error ?.sub.y(z) of the Z-axis in motion; a z-direction linear error ?.sub.z(z) of the Z-axis in motion; an x-direction angular error ?.sub.x(z) of the Z-axis in motion; a y-direction angular error ?.sub.y(z) of the Z-axis in motion; and a z-direction angular error ?.sub.z(z) of the Z-axis in motion.

(17) One item of PIGE is the perpendicularity error between the Y-axis and the Z-axis.

(18) III. The Y-axis has six items of PDGEs and two items of PIGEs:

(19) The six items of PDGEs are an x-direction linear error ?.sub.x(y) of the Y-axis in motion; a y-direction linear error ?.sub.y(y) of the Y-axis in motion; a z-direction linear error ?.sub.z(y) of the Y-axis in motion; an x-direction angular error ?.sub.x(y) of the Y-axis in motion; a y-direction angular error ?.sub.y(y) of the Y-axis in motion; and a z-direction angular error ?.sub.z(y) of the Y-axis in motion.

(20) The two items of PIGEs are the perpendicularity error ?.sub.zy between the Y-axis and the X-axis; and the perpendicularity error ?.sub.xy between the Y-axis and the X-axis.

(21) IV. The C-axis has six items of PDGEs and four items of PIGEs:

(22) The six items of PDGEs are an x-direction linear error ?.sub.x(c) of the C-axis in motion; a y-direction linear error ?.sub.y(c) of the C-axis in motion; a z-direction linear error ?.sub.z(c) of the C-axis in motion; an x-direction angular error ?.sub.x(c) of the C-axis in motion; a y-direction angular error ?.sub.y(c) of the C-axis in motion; and a z-direction angular error ?.sub.z(c) of the C-axis in motion.

(23) The four items of PIGEs are the x-direction linear error ?.sub.xc of the C-axis in placement, the y-direction linear error ?.sub.yc of the C-axis in placement, the x-direction angular error ?.sub.xc of the C-axis in placement, and the y-direction angular error ?.sub.yc of the C-axis in placement.

(24) 12) Obtain the actual forward kinematic model T.sub.27.sup.a and the ideal forward kinematic model T.sub.27.sup.i from the coordinate system of the worm gear hob to the coordinate system of the worm gear according to the motion chain of the worm gear machine.

(25) With the worm gear hob as a transfer end point, the worm gear machine has the following motion chain: worm gear.fwdarw.C-axis.fwdarw.bed.fwdarw.X-axis.fwdarw.Z-axis.fwdarw.Y-axis.fwdarw.B-axis-worm gear hob, where the worm gear-C-axis-bed serves as the workpiece chain, and the bed.fwdarw.X-axis.fwdarw.Z-axis.fwdarw.Y-axis.fwdarw.B-axis.fwdarw.worm gear hob serves as the cutter chain.

(26) During consideration of the geometric errors, an actual kinematic model of the tool chain is:
T.sub.02.sup.a=T.sub.01T.sub.12=T.sub.p01T.sub.pe01T.sub.m01T.sub.me01?T.sub.p12T.sub.pe12T.sub.m12T.sub.me12
and an ideal kinematic model of the tool chain is:
T.sub.02.sup.i=T.sub.01.sup.iT.sub.12.sup.i=T.sub.p01T.sub.m01?T.sub.p12T.sub.m12 where, T.sub.02.sup.a and T.sub.02.sup.i and represent an actual transformation matrix and an ideal transformation matrix from the worm gear to the bed, respectively; T.sub.01 and T.sub.01.sup.i respectively represent an actual transformation matrix and an ideal transformation matrix from the C-axis to the bed; and T.sub.12 and T.sub.12.sup.i represent an actual transformation matrix and an ideal transformation matrix from the worm gear to the C-axis, respectively; T.sub.p01 represents a placement matrix from the C-axis to the bed, and T.sub.p01=I.sub.4?4; T.sub.pe01 represents a placement error matrix from the C-axis to the bed, and

(27) T pe 01 = [ 1 0 ? yc ? xc 0 1 - ? xc ? yc - ? yc ? xc 1 0 0 0 0 1 ] ; T.sub.m01 represents a motion matrix from the C-axis to the bed, and

(28) T m 0 1 = [ cos ( c ) - s in ( c ) 0 0 sin ( c ) cos ( c ) 0 0 0 0 1 0 0 0 0 1 ] ; T.sub.me01 represents a motion error matrix from the C-axis to the bed, and

(29) T me 01 = [ 1 - ? z ( c ) ? y ( c ) ? x ( c ) ? z ( c ) 1 - ? x ( c ) ? y ( c ) - ? y ( c ) ? x ( c ) 1 ? z ( c ) 0 0 0 1 ] ; T.sub.p12 represents a placement matrix from the worm gear to the C-axis; T.sub.pe12 represents a placement error matrix from the worm gear to the C-axis; T.sub.m12 represents a motion matrix from the worm gear to the C-axis; and T.sub.me12 represents a motion error matrix from the worm gear to the C-axis;
T.sub.p12=T.sub.pe12=T.sub.m12=T.sub.me12=I.sub.4?4

(30) During consideration of the geometric errors, an actual kinematic model of the cutter chain is:
T.sub.07.sup.a=T.sub.03T.sub.34T.sub.45T.sub.56T.sub.67=T.sub.p03T.sub.pe03T.sub.m03T.sub.me03?T.sub.p34T.sub.pe34T.sub.m34T.sub.me34?T.sub.p45T.sub.pe45T.sub.m45T.sub.me45?T.sub.p56T.sub.pe56T.sub.m56T.sub.me56?T.sub.p67T.sub.pe67T.sub.m67T.sub.me67
and an ideal kinematic model of the cutter chain is:
T.sub.07.sup.i=T.sub.p03T.sub.m03T.sub.p34T.sub.m34T.sub.p45T.sub.m45T.sub.p56T.sub.m56T.sub.p67T.sub.m67 where, T.sub.07.sup.a and T.sub.07.sup.i represent an actual transformation matrix and an ideal transformation matrix from the worm gear hob to the bed, respectively; T.sub.03 represents an actual transformation matrix from the X-axis to the bed; T.sub.34 represents an actual transformation matrix from the Z-axis to the X-axis; T.sub.45 represents an actual transformation matrix from the Y-axis to the Z-axis; T.sub.56 represents an actual transformation matrix from the B-axis to the Y-axis; and T.sub.67 represents an actual transformation matrix from the worm gear hob to the B-axis; T.sub.p03 represents a placement matrix from the X-axis to the bed; T.sub.pe03 represents a placement error matrix from the X-axis to the bed; and T.sub.p03=T.sub.pe03=I.sub.4?4; T.sub.m03 represents a motion matrix from the X-axis to the bed,

(31) T m 0 3 = [ 1 0 0 x 0 1 0 0 0 0 1 0 0 0 0 1 ] ; T.sub.me03 represents a motion error matrix from the X-axis to the bed,

(32) T m e 0 3 = [ 1 - ? z ( x ) ? y ( x ) ? x ( x ) ? z ( x ) 1 - ? x ( x ) ? y ( x ) - ? y ( x ) ? x ( x ) 1 ? z ( x ) 0 0 0 1 ] ; T.sub.p34 represents a placement matrix from the Z-axis to the X-axis, T.sub.p34=I.sub.4?4; T.sub.pe34 represents a placement error matrix from the Z-axis to the X-axis,

(33) 0 T p e 3 4 = [ 1 0 0 0 0 1 - ? y z 0 0 ? yz 1 0 0 0 0 1 ] ; T.sub.m34 represents a motion matrix from the Z-axis to the X-axis,

(34) T m 3 4 = [ 1 0 0 0 0 1 0 0 0 0 1 z 0 0 0 1 ] ; T.sub.me34 represents a motion error matrix from the Z-axis to the X-axis,

(35) T me 34 = [ 1 - ? z ( z ) ? y ( z ) ? x ( z ) ? z ( z ) 1 - ? x ( z ) ? y ( z ) - ? y ( z ) ? x ( z ) 1 ? z ( x ) 0 0 0 1 ] ; T.sub.p45 represents a placement matrix from the Y-axis to the Z-axis, T.sub.p45=I.sub.4?4; T.sub.pe45 represents a placement error matrix from the Y-axis to the Z-axis,

(36) T pe 45 = [ 1 0 0 0 0 1 - ? yz 0 0 ? yz 1 0 0 0 0 1 ] ; T.sub.m45 represents a motion matrix from the Y-axis to the Z-axis,

(37) T m 4 5 = [ 1 0 0 0 0 1 0 y 0 0 1 0 0 0 0 1 ] ; T.sub.me45 represents a motion error matrix from the Y-axis to the Z-axis,

(38) T me 45 = [ 1 - ? z ( y ) ? y ( y ) ? x ( y ) ? z ( y ) 1 - ? x ( y ) ? y ( y ) - ? y ( y ) ? x ( y ) 1 ? z ( y ) 0 0 0 1 ] ;
and T.sub.p56 represents a placement matrix from the B-axis to the Y-axis; T.sub.pe56 represents a placement error matrix from the B-axis to the Y-axis; T.sub.m56 represents a motion matrix from the B axis to the Y-axis; T.sub.me56 represents a motion error matrix from the B-axis to the Y-axis; T.sub.p67 represents a placement matrix from the worm gear hob to the B-axis; T.sub.pe67 represents a placement error matrix from the worm gear hob to the B-axis; T.sub.m67 represents a motion matrix from the worm gear hob to the B-axis; T.sub.me67 represents a motion error matrix from the worm gear hob to the B-axis, and the T.sub.p56, T.sub.pe56, T.sub.m56, T.sub.me56, T.sub.p67, T.sub.pe67, T.sub.m67 and T.sub.me67 are all unit matrixes.

(39) Therefore, the actual forward kinematic model of the worm gear machine from the coordinate system of the worm gear hob to the coordinate system of the worm gear is obtained:
T.sub.27.sup.a=(T.sub.02.sup.a).sup.?1T.sub.07.sup.a

(40) The ideal forward kinematic model of the worm gear machine from the coordinate system of the worm gear hob to the coordinate system of the worm gear is obtained:
T.sub.27.sup.i=(T.sub.02.sup.i).sup.?1T.sub.07.sup.i

(41) 13) Establish the geometric error-pose error model of the worm gear mother from the actual forward kinematic model T.sub.27.sup.a and the ideal forward kinematic model T.sub.27.sup.i.

(42) Assuming that a cutter tip position vector and a cutter axis vector in the coordinate system of the worm gear hob are P.sub.t and Q.sub.t, respectively, the actual cutter position data under the influence of the geometric errors is:

(43) [ Q w P w 0 1 ] = T 2 7 a [ Q t P t 0 1 ] where, P.sub.w=[x, y, z].sup.T and Q.sub.w=[i, j, k].sup.T represent an actual cutter tip position vector and an actual cutter axis vector, respectively.

(44) The forward kinematic model of the worm gear machine describes a pose transformation relation between the worm gear hob and the worm gear, and the geometric error-pose error model of the worm gear machine is obtained by performing subtraction on the actual cutter position data and ideal states of the worm gear hob and the worm gear:

(45) [ ? i ? x ? j ? y ? k ? z 0 1 ] = ( T 2 7 a - T 2 7 i ) [ Q t P t 0 1 ] where, ?i represents an x-coordinate error of cutter axis vector data; ?j represents a y-coordinate error of the cutter axis vector data; ?k represents a z-coordinate error of the cutter axis vector data; ?x represents an x-coordinate error of cutter tip position data; ?y represents a y-coordinate error of the cutter tip position data; and ?z represents a z-coordinate error of the cutter tip position data. Step b): Regard the geometric error-pose error model of the worm gear machine as an MIMO nonlinear system, and solve, by taking the geometric error of each motion axis of the worm gear machine as an input feature X, and a pose error between the worm gear hob and the worm gear as an output variable Y, then an importance coefficient of each input feature is solved with a random forest algorithm.

(46) There are a number of geometric error elements of the worm gear machine. If a critical error item affecting the machining accuracy of the worm gear most can be identified and specific compensation can be performed, both the compensation effect and the compensation efficiency will be greatly improved. The random forest is a machine learning algorithm with a decision tree as a basic learner. All decision trees are established by bootstrap sampling from a total error data set where 75% of data serves as a training set, and 25% of data serves as a validation set. The random forest algorithm not only samples the training sample, but also samples features. With this characteristic, the importance of a feature in a complex nonlinear system may be evaluated with the random forest algorithm. Specifically during critical item identification of the worm gear machine, the core theory is to convert the critical error identification problem into a feature selection problem based on the random forest. During establishment of the random forest, 31 items of geometric errors are used as an input feature X, and 6 items of pose errors between the worm gear hob and the worm gear are used as an output variable Y. The importance coefficient of each input feature (i.e., the geometric error) may be computed according to the following procedures:

(47) Specifically, as shown in FIG. 2, a method for solving the importance coefficient of each input feature with the random forest algorithm is as follows: Step b1) Establish a decision tree T.sub.b with a bootstrap sampling set, and take a sample not participating in establishment of the decision tree as an out-of-bag (OBB) sample x.sub.b.sup.obb. Step b2) Predict the x.sub.b.sup.obb with the established decision tree T.sub.b, and compute a correctly classified resolution R.sub.b.sup.obb. Step b3) for a geometric error element x.sub.j (j=1, . .. ,31), a value of the x.sub.j in the x.sub.j.sup.obb is changed during initialization, and record the value as x.sub.bj.sup.obb; and then, predict the x.sub.bj.sup.obb with the decision tree T.sub.b, and recording a correctly classified resolution as R.sub.bj.sup.obb.

(48) Step b4) Repeat Step b1) to Step b3), such that an importance coefficient D.sub.j of the geometric error element x.sub.j is:

(49) D j = 1 n .Math. b = 1 n ( R b obb - R bj obb ) where, n is the number of repeated times. Step c): according to the solved importance coefficient of each input feature, determine a critical error affecting a machining accuracy of the worm gear machine.

(50) Ideal cutter path for worm gear machining and path discretization are provided in block 101 in FIG. 2. The method for identifying the critical error of the worm gear machine and method for iteratively compensating the critical error of the worm gear machine provided by the embodiment establishes a pose error relation between a worm gear hob and a worm gear of the worm gear machine under the coupling influence of multiple geometric error elements to quantitatively analyze degrees of influence of the multiple geometric error elements on a machining accuracy of a worm gear, which can be seen in block 102 in FIG. 2; and solve, by taking a geometric error of each motion axis of the worm gear machine as an input feature X and a pose error between the worm gear hob and the worm gear as an output variable Y, which can be seen in blocks 103 and 104 in FIG. 2, and an importance coefficient of each input feature is solved with a random forest algorithm, which can be seen in block 105 in FIG. 2, to identify the critical error element affecting the machining accuracy of the worm gear machine, which can be seen in block 106 in FIG. 2.

(51) Specific implementation of a method for iteratively compensating a critical error of a worm gear machine provided by the embodiment is as follows:

(52) The importance coefficient of the geometric error element that is solved with the random forest is within 0-1, and is an indication of a contribution ratio of the input geometric error element to the output pose error. If comparing the importance coefficient may determine the critical error item affecting each pose error in direction, specific error iterative compensation may be performed.

(53) As shown in FIG. 3, the method for iteratively compensating a critical error of a worm gear machine in the embodiment includes the following steps: Step e): by using the above-mentioned method for identifying a critical error of a worm gear machine in the embodiment, determine the critical errors affecting a machining accuracy of a worm gear machine, retain the identified critical error items, and simplify a geometric error-pose error model of the worm gear machine. Ideal cutter path for hobbing a worm gear in a workpiece coordinate system (x,y,z,c) is provided in block 201 in FIG. 3; and an initial value of an NC instruction for each axis (x.sub.0,y.sub.0,z.sub.0,c.sub.0) is provided in block 202 in FIG. 3. Step f): Obtain, for an x-direction pose error, a mapping relation between the critical error item and the x-direction pose error by using the simplified geometric error-pose error model of the worm gear machine, which can be seen in block 204 in FIG. 3. The following step can refer to block 205 in FIG. 3. If a motion position of the X-axis is controlled by an NC instruction x, an actual x-direction position of a cutter may be set as x+?x(x,y,z,c) according to the simplified error model. The error compensation is intended to drive the X-axis through an NC code x to move to a predetermined position x.sup.i. Accordingly, a relation between the ideal cutter position and the NC instruction during compensation may be expressed as x+?x(x,y,z,c)=x, to obtain the following iteration form of x:
x.sub.i+1=x.sup.i?f.sub.?x(x.sub.i, y.sub.i, z.sub.i, c.sub.i) where, x.sub.i+1 represents an iterative value of an NC instruction x; x.sup.i represents an instruction when an X-axis reaches a predetermined position; f.sub.?x(?) represents a mapping function between the critical error item and an x-direction pose error; and i has an initial value of 0, which can be seen in block 203 in FIG. 3.

(54) Similarly, for a z-direction pose error, a mapping relation between the critical error item and the z-direction pose error may be obtained. The error compensation is intended to drive the Z axis through an NC code z to move to a predetermined position z.sup.i. Accordingly, a relation between the ideal cutter position and the NC instruction during compensation may be expressed as z+?z(x,y,z,c)=z.sup.i. Meanwhile, as a new iterative value of x also has an impact on ?z, the iteration form of z is as follows:
z.sub.i+1=z.sup.i?f.sub.?z(x.sub.i+1, y.sub.i, z.sub.i, c.sub.i) where, z.sub.i+1 represents an iterative value of an NC instruction z; z.sup.i represents an instruction when a Z-axis reaches a predetermined position; and f.sub.?z(?) represents a mapping function between the critical error item and a z-direction pose error;

(55) By the same seasoning, assuming that an actual y-direction position of the worm gear hob is y+?y(x,y,z,c), the following iteration form of y is obtained:
y.sub.i+1=y.sup.i?f.sub.?y(x.sub.i+1, y.sub.i, z.sub.i+1, c.sub.i) where, y.sub.i+1 represents an iterative value of an NC instruction y; y.sup.i represents an instruction when a Y-axis reaches a predetermined position; and f.sub.?y(?) represents a mapping function between the critical error item and a y-direction pose error.

(56) In addition, as the C-axis is not located on the same motion sub-chain with three straight axes, it is considered that the axis is not affected by iterative values of the three straight axes. Assuming that an actual c-direction position of the worm gear hob is c+?c(x,y,z,c), the iteration form of the motion instruction c is deduced:
c.sub.i+1=c.sup.i?f.sub.?c(x.sub.i, y.sub.i, z.sub.i, c.sub.i) where, c.sub.i+1 represents an iterative value of an NC instruction c; c.sup.i represents an instruction when a C-axis reaches a predetermined position; and f.sub.?c(?) represents a mapping function between the critical error item and a c-direction pose error; Step g): Iteratively compensate the critical error, and determine whether a motion accuracy of each of the X-, Z-, Y-, and C-, axes meets a preset threshold requirement; if yes, execute Step d); and if no, let x.sub.i=x.sub.i+1, z.sub.i=z.sub.i+1, y.sub.i=y.sub.i+1, c.sub.i=c.sub.i+1 and i=i+1 and execute Step f), which can be seen in block 207 in FIG. 3. Specifically, the motion accuracy of each of the X, Z, Y and C axes should meet:

(57) { .Math. "\[LeftBracketingBar]" x i + 1 - x i .Math. "\[RightBracketingBar]" ? ? x .Math. "\[LeftBracketingBar]" z i + 1 - z i .Math. "\[RightBracketingBar]" ? ? z .Math. "\[LeftBracketingBar]" y i + 1 - y i .Math. "\[RightBracketingBar]" ? ? y .Math. "\[LeftBracketingBar]" c i + 1 - c i .Math. "\[RightBracketingBar]" ? ? c which can be seen in block 206 in FIG. 3, where, ?.sub.x, ?.sub.z, ?.sub.y and ?.sub.c represent a maximum allowable threshold for the motion accuracies of the X-, Z-, Y-, and C axes, respectively. Step d): Output an actual NC instruction (x.sub.i, y.sub.i, z.sub.i, c.sub.i) , which can be seen in block 208 in FIG. 3.

(58) The method for iteratively compensating the critical error of the worm gear machine provided by the embodiment simplifies the geometric error-pose error model of the worm gear machine by using the identified critical errors affecting the machining accuracy of the worm gear machine, and then performs error iterative compensation on NC codes x, z, y and c till a motion accuracy of each of X-, Z-, Y-, and C-axes meets a set threshold requirement, thereby improving the machining accuracy of the worm gear machine.

(59) The above examples are merely preferred embodiments provided to more fully illustrate the present disclosure, and the scope of the present disclosure is not limited thereto. Equivalent substitutions or alternations made by those skilled in the art on the basis of the present disclosure are all within the protection scope of the present disclosure. The protection scope of the present disclosure is subject to the claims.