Workpiece and cutter pose calibration method based on robotic edge milling error tracking
12122009 ยท 2024-10-22
Assignee
Inventors
Cpc classification
G05B19/401
PHYSICS
B23C3/12
PERFORMING OPERATIONS; TRANSPORTING
B23C2235/21
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
A workpiece and cutter pose calibration method based on robotic edge milling error tracking, including: 1. generating an edge milling trajectory point cloud; 2. obtaining an actual edge milling three-dimensional point cloud; 3. generating an updated edge milling three-dimensional point cloud; 4. calculating an edge milling allowance error and a posture inclination error; 5. solving position errors of the workpiece and cutter; 6. solving posture errors of the workpiece and cutter; 7. updating pose parameters of the workpiece and cutter; 8. repeating steps 4 to 7 until pose error vectors of the workpiece and cutter are both not greater than corresponding preset thresholds. The disclosure performs error comparison, error modeling, and error tracking on the three-dimensional point cloud and edge milling trajectory point cloud, even if the cutter has system errors such as axis deviation, the disclosure can accurately identify pose errors of the workpiece and cutter during edge milling.
Claims
1. A workpiece and cutter pose calibration method based on robotic edge milling error tracking, comprising steps as follows: Step S10, constructing an edge milling path of a cutter to the workpiece to generate a robotic edge milling trajectory point cloud Q; Step S20, obtaining an actual edge milling three-dimensional point cloud P of the workpiece; Step S30, matching an edge milling trajectory point cloud Q and the actual edge milling three-dimensional point cloud P into same coordinate system to generate a pose updated edge milling three-dimensional point cloud P; Step S40, calculating an edge milling allowance error e.sub.i and a posture inclination error .sub.i according to the edge milling trajectory point cloud Q and the edge milling three-dimensional point cloud P; Step S50, establishing respectively an influence model of a position error of the workpiece on the edge milling allowance error and an influence model of a position error of the cutter on the edge milling allowance error when milling an i-th point of the workpiece according to the edge milling allowance error e.sub.i, and solving a workpiece position error .sup.Wd and a cutter position error .sup.Ud.sub.z; Step S60, establishing respectively an influence model of a posture error of the workpiece on the edge milling error and an influence model of a posture error of the cutter on the edge milling error when milling the i-th point of the workpiece according to the posture inclination error .sub.i, and solving a workpiece posture error .sup.U.sub.x and a cutter posture error .sup.W; Step S70, updating a workpiece pose parameter and a cutter pose parameter according to the workpiece position error .sup.Wd, the cutter position error .sup.Ud.sub.z, the workpiece posture error .sup.U.sub.x, and the cutter posture error .sup.W; Step S80, repeating the Step S40 to the Step S70 until a workpiece pose error vector is .sup.WV and a cutter pose error vector is .sup.UV and both of vectors are less than or equal to corresponding preset thresholds.
2. The workpiece and cutter pose calibration method according to claim 1, wherein the Step S10 comprises: discretizing uniformly a boundary cross-section of a design model of the workpiece to generate the uniform and orderly edge milling trajectory point cloud Q={q.sub.1, q.sub.2, . . . , q.sub.i, . . . , q.sub.n}, wherein any point q.sub.i in the edge milling trajectory point cloud Q is a vector of 31, a unit normal vector w.sub.i of q.sub.i is perpendicular to a boundary lateral cross-section, and a positive direction is toward outside of the cross-section and is same as an edge milling depth direction, wherein a first unit tangent vector .sub.i1 of the point q.sub.i is parallel to a cross-section boundary direction and is same as a motion direction of an edge milling trajectory, wherein a second unit tangent vector .sub.i2 of the point q.sub.i is parallel to a curved surface thickness direction; constituting a coordinate system of the point q.sub.i together by three vectors (i.sub.1, .sub.i2, w.sub.i), wherein the three vectors respectively correspond to directions of an x-axis, a y-axis, and a z-axis.
3. The workpiece and cutter pose calibration method according to claim 1, wherein the Step S20 comprises steps as follows: Step S21, defining respectively an initial workpiece pose parameter and an initial cutter pose parameter as .sub.W.sup.BT and .sub.U.sup.BT, wherein .sub.W.sup.BT represents a pose of a workpiece coordinate system {W} relative to a base coordinate system {B}, .sub.U.sup.BT represents a pose of a cutter coordinate system {U} relative to the base coordinate system {B}, and both of the workpiece pose parameter .sub.W.sup.BT and the cutter pose parameter .sub.U.sup.BT are homogeneous transformation matrices of 44; Step S22, positioning an edge milling pose of a robot through the workpiece pose parameter .sub.W.sup.BT and the cutter pose parameter .sub.U.sup.BT; Step S23, performing edge milling on a workpiece blank according to the edge milling path, which is constructed, and after completion, performing three-dimensional scanning on a surface to be milling processed of the workpiece by a three-dimensional scanning device to obtain the actual edge milling three-dimensional point cloud P of the workpiece, wherein P={p.sub.1, p.sub.2, . . . , p.sub.a, . . . , p.sub.m}, and each point on the actual edge milling three-dimensional point cloud P is a vector of 31.
4. The workpiece and cutter pose calibration method according to claim 3, wherein the Step S30 comprises steps as follows: Step S31, searching for a closest point to the point q.sub.i in the actual edge milling three-dimensional point cloud P and denoting as p.sub.a, wherein the search is for any point q.sub.i in the edge milling trajectory point cloud Q, and i=1, 2, . . . , n; Step S32, constructing a matching objective function (R,t) based on uniform allowance using point pair (q.sub.i, p.sub.a), wherein R, t respectively represents a rotation posture matrix of 33 of the actual edge milling three-dimensional point cloud P and a translation position matrix of 31 of the edge milling trajectory point cloud Q; then solving pose parameters R and t by minimizing an objective function; Step S33, updating a position of any one of the points p.sub.a on the actual edge milling three-dimensional point cloud P as p.sub.a=Rp.sub.a+t, and assigning p.sub.a=p.sub.a to obtain the pose updated edge milling three-dimensional point cloud P, wherein P={p.sub.1, p.sub.2, . . . , p.sub.a, . . . , p.sub.m}.
5. The workpiece and cutter pose calibration method according to claim 3, wherein an objective function to be minimized in the Step S32 is min
6. The workpiece and cutter pose calibration method according to claim 3, wherein the Step S40 comprises steps as follows: Step S41, extracting a closest point p.sub.a to the point q.sub.i from the edge milling three-dimensional point cloud P according to the edge milling trajectory point cloud Q, wherein the edge milling allowance error of the point q.sub.i is e.sub.i=(q.sub.ip.sub.a).sup.Tw.sub.i; Step S42, starting from the point q.sub.i to search for an upper boundary point q.sub.ui and a lower boundary point q.sub.li of the point q.sub.i along a positive direction of the second unit tangent vector .sub.i2 in a cross-section design model according to the edge milling trajectory point cloud Q, further, extracting respectively closest points (p.sub.ua, p.sub.la) to the points (q.sub.ui, q.sub.li) from the edge milling three-dimensional point cloud P to construct an error vector .sub.i2=(2p.sub.uap.sub.ap.sub.la)/2p.sub.uap.sub.ap.sub.la of a boundary inclination direction; wherein the posture inclination error of edge milling is .sub.i=arccos(.sub.i2.sup.T.sub.i2).
7. The workpiece and cutter pose calibration method according to claim 6, wherein the Step S50 comprises steps as follows: Step S51, defining a position error vector of the initial workpiece pose parameter .sub.W.sup.BT of the workpiece as .sup.Wd, defining a position error vector of the initial cutter pose parameter .sub.U.sup.BT as .sup.Ud, and both .sup.Wd and .sup.Ud are vectors to be solved of 31; wherein .sup.Ud is further expressed as .sup.Ud=[0,0, .sup.Ud.sub.z].sup.T, and .sup.Ud.sub.z is a component of .sup.Ud on a z-axis; Step S52, establishing respectively the influence model of the position error of the workpiece on the edge milling allowance error and the influence model of the position error of the cutter on the edge milling allowance error when milling the i-th point of the workpiece, wherein the influence model of the position error of the workpiece on the edge milling allowance error when milling the i-th point of the workpiece is e.sub.iw=.sup.Wd.sup.Tw.sub.i, and the influence model of the position error of the cutter on the edge milling allowance error when milling the i-th point of the workpiece is e.sub.iu=.sup.Ud.sub.z, combining two influence models established to obtain an influence model of a combined error when milling the i-th point of the workpiece, wherein the model is e.sub.i=.sup.Wd.sup.Tw.sub.i+.sup.Ud.sub.z, and w.sub.i represents the unit normal vector of q.sub.i; Step S53, using the influence model of the combined error when milling the i-th point of the workpiece to establish a matrix formula e=.sup.Wd.sup.TN+.sup.UD for position error identification of all contact points of the workpiece and the cutter at different times, wherein N=[n.sub.1, n.sub.2, . . . , n.sub.i, . . . , n.sub.n] is a matrix of 3n, and e=[e.sub.1, e.sub.2, . . . , e.sub.i, . . . e.sub.n] and .sup.UD=[.sup.Ud.sub.z, .sup.Ud.sub.z, . . . , .sup.Ud.sub.z].sub.1n are matrices of 1n; wherein the cutter position error is
8. The workpiece and cutter pose calibration method according to claim 6, wherein the Step S60 comprises steps as follows: Step S61, defining a posture error vector of the initial workpiece pose parameter .sub.W.sup.BT of the workpiece blank as .sup.W, defining a posture error vector of the initial cutter pose parameter .sub.U.sup.BT as .sup.U, and both .sup.W and .sup.U are vectors to be solved of 31; wherein .sup.U is further expressed as .sup.U=[.sup.U.sub.z,0,0].sup.T, and .sup.U.sub.x is a component of .sup.U on an x-axis; Step S62, establishing respectively the influence model of the posture error of the workpiece on the edge milling error and the influence model of the posture error of the cutter on the edge milling error when milling the i-th point of the workpiece, wherein the influence model of the posture error of the workpiece on the edge milling error when milling the i-th point of the workpiece is .sub.iw=.sub.i2.sup.T W, and the influence model of the posture error of the cutter on the edge milling error when milling the i-th point of the workpiece is .sub.iu=.sup.U.sub.x; combining two influence models established to obtain an influence model of a combined error when milling the i-th point of the workpiece, wherein the model
9. The workpiece and cutter pose calibration method according to claim 1, wherein unit normal vectors of all points on the edge milling trajectory point cloud Q in the Step S10 satisfies
10. The workpiece and cutter pose calibration method according to claim 1, wherein the number n of points on the edge milling trajectory point cloud Q in the Step S10 satisfies n6.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
DESCRIPTION OF THE EMBODIMENTS
(5) The disclosure will be further described in detail below with reference to the accompanying drawings and specific embodiments.
(6) Referring to
(7) Step S10. An edge milling path of a cutter to a workpiece is constructed, and an edge milling trajectory point cloud Q processed by a robot is generated.
(8) A boundary cross-section of an edge to be milled of a workpiece design model is penetrated by a three-dimensional detection software to obtain a cross-section curve. As shown in
(9)
(10) Step S20. An actual edge milling three-dimensional point cloud P of the workpiece is obtained, in which a number m of points in the actual edge milling three-dimensional point cloud P satisfies m3n, and n is the number of points in the edge milling trajectory point cloud Q.
(11) Step S30. The edge milling trajectory point cloud Q and the three-dimensional point cloud P are matched into the same coordinate system to generate a pose updated three-dimensional point cloud P.
(12) Step S40. An edge milling allowance error e.sub.i and an posture inclination error .sub.i are calculated according to the edge milling trajectory point cloud Q and the edge milling three-dimensional point cloud P.
(13) Step S50. An influence model of a position error of the workpiece on the edge milling allowance error and an influence model of a position error of the cutter on the edge milling allowance error when milling an i-th point of the workpiece are established according to the edge milling allowance error e.sub.i, and a workpiece position error .sup.Wd and a cutter position error .sup.Ud.sub.z are solved.
(14) Step S60. An influence model of a posture error of the workpiece on the edge milling error and an influence model of a posture error of the cutter on the edge milling error when milling the i-th point of the workpiece are established according to the posture inclination error .sub.i, and a workpiece pose error .sup.U.sub.x and a cutter pose error .sup.W are solved.
(15) Step S70. A workpiece pose parameter and a cutter pose parameters are updated according to the workpiece position error .sup.Wd, the cutter position error .sup.Ud.sub.z, the workpiece pose error .sup.U.sub.x, and the cutter pose error .sup.W.
(16) Step S80. Step S40 to Step S70 are repeated until a workpiece pose error vector is .sup.WV and a cutter pose error vector .sup.UV and both of the vectors are not greater than corresponding preset thresholds.
(17) In this embodiment, the preset thresholds of the workpiece pose error vector and the cutter pose error vector may both be 0.003.
(18) Update workpiece and cutter posture parameters: a workpiece pose error vector of 61 is denoted as .sup.WV=[.sup.Wd.sup.T, .sup.W.sup.T].sup.T, and the updated workpiece pose parameter is .sub.W.sup.BT=.sub.W.sup.BTe.sup.[.sup.
(19)
(20)
(21) The step S20 specifically includes the following steps.
(22) Step S21. An initial workpiece pose parameter and an initial cutter pose parameter are respectively defined as .sub.W.sup.BT and .sub.U.sup.BT, in which .sub.W.sup.BT represents a pose of a workpiece coordinate system {W} relative to a base coordinate system {B}, .sub.U.sup.BT represents a pose of a cutter coordinate system {U} relative to the base coordinate system {B}, and both of the workpiece pose parameter .sub.W.sup.BT and the cutter pose parameter .sub.U.sup.BT are homogeneous transformation matrices of 44; the initial workpiece pose parameter and the initial cutter pose parameter may be calibrated by methods such as ejector and LVDT. The calibration of the initial pose is not limited to a specific method, and there is no strict requirement for the calibration accuracy.
(23) Step S22. Pose positioning is performed on an end of edge milling through the workpiece pose parameter .sub.W.sup.BT and the cutter pose parameter .sub.U.sup.BT.
(24) Step S23. Edge milling is performed on a workpiece blank according to a set trajectory, in which the edge milling allowance given is 0.5 mm. Three-dimensional scanning is performed on the milling edge of the workpiece by a three-dimensional scanning device to form the actual edge milling three-dimensional point cloud P of edge milling, in which P={p.sub.1, p.sub.2, . . . , p.sub.i, . . . , p.sub.m}, and each point on the actual edge milling three-dimensional point cloud P is a vector of 31. The number m of points in the actual edge milling three-dimensional point cloud P is approximately 120,000.
(25) The Step S30 specifically includes the following steps.
(26) Step S31. A closest point to the point q.sub.i in the actual edge milling three-dimensional point cloud P is searched for and denoted as p.sub.a, in which the search is for any point in the edge milling trajectory point cloud Q, and i=1, 2, . . . , n.
(27) Step S32. A matching objective function (R,t) based on uniform allowance is constructed using the point pair (q.sub.i, p.sub.a), in which R, t respectively represents a rotation posture matrix of 33 of the actual edge milling three-dimensional point cloud P and a translation position matrix of 31 of the edge milling trajectory point cloud Q; then the pose parameters R and t are solved by minimizing the objective function. The solving method may be achieved through Taylor expansion or by deriving the objective function. To improve the matching accuracy, multiple iterations are required, and the number of iterations is approximately 50. The rotation and translation matrices obtained in an a-th iteration are denoted as R.sub.a and t.sub.a, the total number of iterations is k, and the iteration method is:
(28)
(29) The minimized objective function is min
(30)
in which d.sub.i=Rp.sub.a+tq.sub.i, d.sub.i represents a distance from point p.sub.i to point q.sub.i, and n represents the number of points in the edge milling trajectory point cloud Q.
(31) Step S33. A position of any point on the actual edge milling three-dimensional point cloud P is updated as p.sub.i=Rp.sub.a+t, and p.sub.i-p.sub.i is assigned to obtain the pose updated edge milling three-dimensional point cloud P.
(32) The Step S40 includes the following steps.
(33) Step S41. A closest point p.sub.a to the point q.sub.i is extracted from the three-dimensional point cloud P according to the edge milling trajectory point cloud Q={q.sub.1, q.sub.2, . . . , q.sub.i, . . . , q.sub.n} and through methods such as Kd-tree (K-dimensional tree search calculation method), and then the edge milling allowance error of the point q.sub.i is e.sub.i=(q.sub.ip.sub.a).sup.Tn.sub.i;
(34) Step S42. The operation is started from the point q.sub.i to search for an upper boundary point q.sub.ui and a lower boundary point q.sub.li of the point q.sub.i along a positive direction of the second unit tangent vector .sub.i2 in the cross-section design model according to the edge milling trajectory point cloud Q, further, closest points (p.sub.ua, p.sub.la) to the points (q.sub.ui, q.sub.li) are respectively extracted from the edge milling three-dimensional point cloud P to construct an error vector .sub.i2=(2p.sub.uap.sub.ap.sub.la)/2p.sub.uap.sub.ap.sub.la of a boundary inclination direction; and then the posture inclination error of edge milling is .sub.i=arccos(.sub.i2.sup.T.sub.i2).
(35) Step S50 specifically includes the following steps.
(36) Step S51. A position error vector of the initial workpiece pose parameter .sub.W.sup.BT of the workpiece is defined as .sup.Wd, a position error vector of the initial cutter pose parameter .sub.U.sup.BT is defined as .sup.Ud, and both .sup.Wd and .sup.Ud are vectors to be solved of 31, in which .sup.Ud is further expressed as .sup.Ud=[0,0,.sup.Ud.sub.z], and .sup.Ud.sub.z is a component of .sup.Ud on a z-axis.
(37) Step S52. The influence model of the position error of the workpiece on the edge milling allowance error and the influence model of the position error of the cutter on the edge milling allowance error when milling the i-th point of the workpiece are established respectively, in which the influence model of the position error of the workpiece on the edge milling allowance error when milling the i-th point of the workpiece is e.sub.iw=.sup.Wd.sup.Tw.sub.i, and the influence model of the position error of the cutter on the edge milling allowance error when milling the i-th point of the workpiece is e.sub.iu=.sup.Ud.sub.z. The two influence models established are combined to obtain an influence model of a combined error when milling the i-th point of the workpiece, in which the model is e.sub.i=.sup.Wd.sup.Tw.sub.i+.sup.Ud.sub.z, and w.sub.i represents the unit normal vector of q.sub.i.
(38) Step S53. The influence model of the combined error when milling the i-th point of the workpiece is used to establish a matrix formula e=.sup.Wd.sup.TN+.sup.UD for position error identification of all contact points of the workpiece and the cutter at different times, in which N=[n.sub.1, n.sub.2, . . . , n.sub.i, . . . n.sub.n] is a matrix of 3n, and e=[e.sub.1, e.sub.2, . . . , e.sub.i, . . . e.sub.n] and .sup.UD=[.sup.Ud.sub.z, .sup.Ud.sub.z, . . . , .sup.Ud.sub.z].sub.1n are matrices of 1n; and then the cutter position error is
(39)
and the workpiece position error is .sup.Wd=(NN.sup.T).sup.1N (e.sup.U D).sup.T.
(40) Step S60 includes the following steps.
(41) Step S61. A posture error vector of the initial workpiece pose parameter .sub.W.sup.BT of the workpiece blank is defined as .sup.W, a posture error vector of the initial cutter pose parameter .sub.U.sup.BT is defined as .sup.U, and both .sup.W and .sup.U are vectors to be solved of 31; in which .sup.U is further expressed as .sup.U=[.sup.U.sub.x, 0, 0].sup.T, and .sup.U.sub.x is a component of .sup.U on an x-axis.
(42) Step S62. The influence model of the posture error of the workpiece on the edge milling error when milling the i-th point of the workpiece and the influence model of the posture error of the cutter on the edge milling error when milling the i-th point of the workpiece are established, in which the influence model of the posture error of the workpiece on the edge milling error when milling the i-th point of the workpiece is .sub.iw=.sub.i2.sup.T W, and the influence model of the posture error of the cutter on the edge milling error when milling the i-th point of the workpiece is .sub.iu=.sup.U.sub.x, and then an influence model of a combined error when milling the i-th point of the workpiece is
(43)
in which a.sub.i=[1, .sub.i2.sup.T] is a coefficient matrix of 14, and
(44)
is a workpiece and cutter posture error combination vector of 41.
(45) Step S63. The influence model of the combined error of the i-th point is used to establish a posture error identification formula =A of all milling points of the workpiece and the cutter at different times, in which =[.sub.1, .sub.2, . . . , .sub.i, . . . .sub.n,].sup.T is a matrix of n1, and A=[a.sub.1.sup.T, a.sub.2.sup.T, . . . , a.sub.n.sup.T].sup.T is a matrix of n4; then, the workpiece and cutter pose combined error is solved as =(A.sup.TA).sup.1A.sup.T, in which I.sub.1=[1,0,0,0],
(46)
and the workpiece posture error and the cutter posture error are respectively .sup.U.sub.x=I.sub.1, .sup.W=I.sub.3.
(47) The above description is only a specific implementation mode of the disclosure, but the protection scope of the disclosure is not limited thereto. Any technician familiar with the technical field may easily think of changes or substitutions within the technical scope disclosed by the disclosure, and the changes or substitutions should be covered by the protection scope of the disclosure. Furthermore, the technical solutions of various embodiments of the disclosure may be combined with each other, but the operation has to be based on the fact that the combination may be implemented by ordinary technicians in the field, when the combination of technical solutions is contradictory or cannot be implemented, it should be deemed that such combination of technical solutions does not exist and is not within the protection scope required by the disclosure. Therefore, the protection scope of the disclosure should be based on the protection scope of the appended claims.