The disclosure belongs to the technical field of skin edge milling, and in particular to a workpiece and cutter pose calibration method based on robotic edge milling error tracking.
Large skins such as satellite load-bearing cylinders, spacecraft sealed cabins, and aircraft fuselages are the main components of aerospace equipment, which have geometric features such as large free-form curved surfaces, thin walls, and easy deformation. As a result, edge milling of skins has always been a research difficulty in this field. The edge milling of the skin includes processes such as cutting, bending to form, and edge milling, in which edge milling is the last step before skin assembly, which has a significant impact on the sealing and safety performance of the aerospace equipment. Therefore, it is crucial to ensure the edge milling accuracy of the skin. Currently, the skin edge milling in China mainly relies on manual work, which has the characteristics of, for example, low accuracy of edge milling, poor consistency, and low efficiency, thereby it is difficult for the technology to meet the needs of high-quality development of aerospace equipment manufacturing in China. Robots have advantages such as high flexibility, large working range, and easy expansion, and provide a new solution for robotic skin edge milling. As it may be seen from the development trend, manual edge milling is going to be gradually replaced by robotic edge milling.
In the robotic skin edge milling system, in order to meet the edge milling accuracy requirements, it is necessary to accurately calibrate the workpiece coordinate system pose and the edge milling cutter coordinate system pose for the skin, that is, to determine the relative pose of the workpiece and cutter coordinate systems in the base coordinate system of the robot. Currently, the workpiece and cutter pose calibration methods for robotic edge milling are mainly as follows. 1) Ejector method: the spatial position of the milling cutter is determined by the contact between the outer contour of the milling cutter and the ejector, and then calibration is realized through six-point positioning. 2) LVDT method: the method is to replace the ejector with an LVDT (linear variable differential transformer), LVDT can automatically identify the contact status of feature points and determine the positions, which avoids the need to determine the contact status with the naked eye, but the non-contact feature direction is still determined by the naked eye. 3) Ball calibration method: the method replaces the ejector with a standard ball and a sapphire probe, thereby the “point-to-point” contact of the ejector is upgraded to “ball-to-ball” contact. 4) Laser tracker method: the method is to stick the reflective target ball to the cutter, and then the pose of the target ball is recorded through the laser tracker to achieve cutter calibration.
The above four methods have problems as follows. 1) The robot controls the ejector to touch the cutter, and each touch corresponds to only one piece of data. The small amount of data (<100) greatly limits the stability of the calibration results. 2) The above calibration methods are all for calibration when the milling cutter is stationary, which cannot reflect the pose error caused by factors such as cutter rotation deviation, cutter deformation from force, and vibration during the milling process, which may easily cause large calibration errors. 3) The feature points on the cutter are not notable, searching the points by naked eyes has to be performed by highly experienced workers, and the accuracy is low.
The disclosure provides a workpiece and cutter pose calibration method based on robotic edge milling error tracking to solve the technical problems of large calibration errors and low accuracy in the related art.
To achieve the above purpose, the technical solution of the disclosure is implemented as follows.
The disclosure provides a workpiece and cutter pose calibration method based on robotic edge milling error tracking, which includes steps as follows.
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.
Step S20. An actual edge milling three-dimensional point cloud P of the workpiece is obtained.
Step S30. The edge milling trajectory point cloud Q and the actual three-dimensional point cloud P of the workpiece are matched into the same coordinate system to generate a pose updated three-dimensional point cloud P′.
Step S40. An edge milling allowance error ei and a posture inclination error αi are calculated according to the edge milling trajectory point cloud Q and the pose updated edge milling three-dimensional point cloud P′.
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 ei, and a workpiece position error Wd and a cutter position error Udz are solved.
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 αi, and a workpiece pose error Uδx and a cutter pose error Wδ are solved.
Step S70. A workpiece pose parameter and a cutter pose parameters are updated according to the workpiece position error Wd, the cutter position error Udz, the workpiece pose error Uδx, and the cutter pose error Wδ.
Step S80. Step S40 to Step S70 are repeated until a workpiece pose error vector is WV and a cutter pose error vector UV and both of the vectors are not greater than corresponding preset thresholds.
Furthermore, Step S10 is specifically as follows. A boundary cross-section of a design model of the workpiece is discretized uniformly to generate the uniform and orderly edge milling trajectory point cloud Q={q1, q2, . . . , qi, . . . , qn}. Any point qi in the edge milling trajectory point cloud Q is a vector of 3×1, a unit normal vector wi of qi is perpendicular to a boundary lateral cross-section, and a positive direction is toward outside of the cross-section and is the same as an edge milling depth direction. A first unit tangent vector τi1 of the point qi is parallel to a cross-section boundary direction and is the same as a motion direction of an edge milling trajectory. A second unit tangent vector τi2 of the point qi is parallel to a curved surface thickness direction. A coordinate system of the point qi is constituted together by the three vectors (τi1, τi2, wi), in which the three vectors respectively correspond to directions of the x-axis, the y-axis, and the z-axis.
Furthermore, Step S20 specifically includes steps as follows.
Step S21. An initial workpiece pose parameter and an initial cutter pose parameter are respectively defined as WBT and UBT, in which WBT represents a pose of a workpiece coordinate system {W} relative to a base coordinate system {B}, UBT represents a pose of a cutter coordinate system {U} relative to the base coordinate system {B}, and both of the workpiece pose parameter WBT and the cutter pose parameter UBT are homogeneous transformation matrices of 4×4.
Step S22. Pose positioning is performed on an end of edge milling through the workpiece pose parameter WBT and the cutter pose parameter UBT.
Step S23. Edge milling is performed on a workpiece blank according to the edge milling path constructed. After completion, Three-dimensional scanning is performed 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. Each point on the actual edge milling three-dimensional point cloud P is a vector of 3×1.
Furthermore, the step S30 specifically includes the following steps.
Step S31. A closest point to the point qi in the actual edge milling three-dimensional point cloud P is searched for and denoted as pa, in which the search is for any point in the edge milling trajectory point cloud Q, and i=1, 2, . . . , n.
Step S32. A matching objective function ƒ(R,t) based on uniform allowance is constructed using the point pair (qi,pa), in which t respectively represents a rotation posture matrix of 3×3 of the actual edge milling three-dimensional point cloud P and a translation position matrix of 3×1 of the edge milling trajectory point cloud Q; then the pose parameters R and t are solved by minimizing the objective function.
Step S33. A position of any point on the actual edge milling three-dimensional point cloud P is updated as pi′=Rpa+t, and pi=pi′ is assigned to obtain the pose updated edge milling three-dimensional point cloud P′={p1′, p2′, . . . , pa′, . . . , pm′}.
Furthermore, the objective function to be minimized in Step S32 is min
in which di=∥Rpa+t−qi∥, di represents a distance from point pa′ to point qi, and n represents the number of points in the edge milling trajectory point cloud Q.
Furthermore, Step S40 specifically includes steps as follows.
Step S41. A closest point pa′ to the point qi is extracted from the updated edge milling three-dimensional point cloud P′ according to the edge milling trajectory point cloud Q, and then the edge milling allowance error of the point qi is ei=(qi−pa′)Twi.
Step S42. The operation is started from the point qi to search for an upper boundary point qui and a lower boundary point qli of the point qi along a positive direction of the second unit tangent vector τi2 in the cross-section design model according to the edge milling trajectory point cloud Q, further, closest points (pua′,pla′) to the points (qui,qli) are respectively extracted from the edge milling three-dimensional point cloud P′ to construct an error vector τi2′=(2pua′−pa′−pla′)/∥2pua′−pa′−pla′∥ of a boundary inclination direction; and then the posture inclination error of edge milling is αi=arccos(τi2Tτi2′).
Furthermore, Step S50 specifically includes the following steps.
Step S51. A position error vector of the initial workpiece pose parameter WBT of the workpiece is defined as Wd, a position error vector of the initial cutter pose parameter UBT is defined as Ud, and both Wd and Ud are vectors to be solved of 3×1, in which Ud is further expressed as Ud=[0,0,Udz]T, and Udz is a component of Ud on a z-axis.
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 eiw=WdTwi, 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 eiu=Udz. 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 ei=WdTwi+Udz, and wi represents the unit normal vector of qi.
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=WdTN+UD for position error identification of all contact points of the workpiece and the cutter at different times, in which N=[n1, n2, . . . , ni, . . . nn] is a matrix of 3×n, and e=[e1, e2, . . . , ei, . . . en] and UD=[Udz, Udz, . . . , Udz]1×n are matrices of 1×n; the n in the above represents the number of points in the edge milling trajectory point cloud Q; and then the cutter position error is Udz=Σi=1nei/n, and the workpiece position error is Wd=(NNT)−1N(e−UD)T.
Furthermore, Step S60 includes steps as follows.
Step S61. A posture error vector of the initial workpiece pose parameter WBT of the workpiece blank is defined as Wδ, a posture error vector of the initial cutter pose parameter UBT is defined as Uδ, and both Wδ and Uδ are vectors to be solved of 3×1; in which Uδ is further expressed as Uδ=[Uδx,0,0]T, and Uδx is a component of Uδ on an x-axis.
Step S62. 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 are respectively 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 αiw=τi2T 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 αiu=Uδx; 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
ai=[1, τi2T] is a coefficient matrix of 1×4, and
is a workpiece cutter posture error combination vector of 4×1.
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 α=[α1, α2, . . . , αi, . . . αn]T is a matrix of n×1, and A=[a1T, a2T, . . . , anT]T is a matrix of n×4; the workpiece and cutter pose combined error is solved as ξ=(ATA)−1ATα, in which
and the workpiece posture error and the cutter posture error are respectively Uδx=I1ξ, Wδ=I3ξ.
Furthermore, the unit normal vectors of all points on the edge milling trajectory point cloud Q in Step S10 satisfies Σi=1nwi=03×1.
Furthermore, the number n of points on the edge milling trajectory point cloud Q in Step S10 satisfies n≥6.
Beneficial effects of the disclosure are as follows.
The disclosure will be further described in detail below with reference to the accompanying drawings and specific embodiments.
Referring to
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.
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
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 m≥3n, and n is the number of points in the edge milling trajectory point cloud Q.
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′.
Step S40. An edge milling allowance error ei and an posture inclination error αi are calculated according to the edge milling trajectory point cloud Q and the edge milling three-dimensional point cloud P′.
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 ei, and a workpiece position error Wd and a cutter position error Udz are solved.
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 αi, and a workpiece pose error Uδx and a cutter pose error Wδ are solved.
Step S70. A workpiece pose parameter and a cutter pose parameters are updated according to the workpiece position error Wd, the cutter position error Udz, the workpiece pose error Uδx, and the cutter pose error Wδ.
Step S80. Step S40 to Step S70 are repeated until a workpiece pose error vector is WV and a cutter pose error vector UV and both of the vectors are not greater than corresponding preset thresholds.
In this embodiment, the preset thresholds of the workpiece pose error vector and the cutter pose error vector may both be 0.003.
Update workpiece and cutter posture parameters: a workpiece pose error vector of 6×1 is denoted as WV=[WdT,WδT]T, and the updated workpiece pose parameter is WBT′=WBTe[
The step S20 specifically includes the following steps.
Step S21. An initial workpiece pose parameter and an initial cutter pose parameter are respectively defined as WBT and UBT, in which WBT represents a pose of a workpiece coordinate system {W} relative to a base coordinate system {B}, UBT represents a pose of a cutter coordinate system {U} relative to the base coordinate system {B}, and both of the workpiece pose parameter WBT and the cutter pose parameter UBT are homogeneous transformation matrices of 4×4; 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.
Step S22. Pose positioning is performed on an end of edge milling through the workpiece pose parameter WBT and the cutter pose parameter UBT.
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={p1, p2, . . . , pi, . . . , pm}, and each point on the actual edge milling three-dimensional point cloud P is a vector of 3×1. The number m of points in the actual edge milling three-dimensional point cloud P is approximately 120,000.
The Step S30 specifically includes the following steps.
Step S31. A closest point to the point qi in the actual edge milling three-dimensional point cloud P is searched for and denoted as pa, in which the search is for any point in the edge milling trajectory point cloud Q, and i=1, 2, . . . , n.
Step S32. A matching objective function ƒ(R,t) based on uniform allowance is constructed using the point pair (qi,pa), in which t respectively represents a rotation posture matrix of 3×3 of the actual edge milling three-dimensional point cloud P and a translation position matrix of 3×1 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 Ra and ta, the total number of iterations is k, and the iteration method is:
The minimized objective function is min
in which di=∥Rpa+t−qi∥, di represents a distance from point pi′ to point qi, and n represents the number of points in the edge milling trajectory point cloud Q.
Step S33. A position of any point on the actual edge milling three-dimensional point cloud P is updated as pi′=Rpa+t, and pi=pi′ is assigned to obtain the pose updated edge milling three-dimensional point cloud P′.
The Step S40 includes the following steps.
Step S41. A closest point pa′ to the point qi is extracted from the three-dimensional point cloud P′ according to the edge milling trajectory point cloud Q={q1, q2, . . . , qi, . . . , qn} and through methods such as Kd-tree (K-dimensional tree search calculation method), and then the edge milling allowance error of the point qi is ei=(qi−pa′)Tni;
Step S42. The operation is started from the point qi to search for an upper boundary point qui and a lower boundary point qli of the point qi along a positive direction of the second unit tangent vector τi2 in the cross-section design model according to the edge milling trajectory point cloud Q, further, closest points (pua′,pla′) to the points (qui,qli) are respectively extracted from the edge milling three-dimensional point cloud P′ to construct an error vector τi2′=(2pua′−pa′−pla′)/∥2pua′−pa′−pla′∥ of a boundary inclination direction; and then the posture inclination error of edge milling is αi=arccos(τi2Tτi2′).
Step S50 specifically includes the following steps.
Step S51. A position error vector of the initial workpiece pose parameter WBT of the workpiece is defined as Wd, a position error vector of the initial cutter pose parameter UBT is defined as Ud, and both Wd and Ud are vectors to be solved of 3×1, in which Ud is further expressed as Ud=[0,0,Udz]T, and Udz is a component of Ud on a z-axis.
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 eiw=WdTwi, 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 eiu=Udz. 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 ei=WdTwi+Udz, and wi represents the unit normal vector of qi.
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=WdTN+UD for position error identification of all contact points of the workpiece and the cutter at different times, in which N=[n1, n2, . . . , ni, . . . nn] is a matrix of 3×n, and e=[e1, e2, . . . , ei, . . . en] and UD=[Udz, Udz, . . . , Udz]1×n are matrices of 1×n; and then the cutter position error is Udz=Σi=1nei/n, and the workpiece position error is Wd=(NNT)−1N(e−UD)T.
Step S60 includes the following steps.
Step S61. A posture error vector of the initial workpiece pose parameter WBT of the workpiece blank is defined as Wδ, a posture error vector of the initial cutter pose parameter UBT is defined as Uδ, and both Wδ and Uδ are vectors to be solved of 3×1; in which Uδ is further expressed as Uδ=[Uδx,0,0]T, and Uδx is a component of Uδ on an x-axis.
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 αiw=τi2T 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 αiu=Uδx, and then an influence model of a combined error when milling the i-th point of the workpiece is
in which ai=[1, τi2T] is a coefficient matrix of 1×4, and
is a workpiece and cutter posture error combination vector of 4×1.
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 α=[α1, α2, . . . , αi, . . . αn]T is a matrix of n×1, and A=[a1T, a2T, . . . , anT]T is a matrix of n×4; then, the workpiece and cutter pose combined error is solved as ξ=(ATA)−1ATα, in which
and the workpiece posture error and the cutter posture error are respectively Uδx=I1ξ, Wδ=I3ξ.
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.
Number | Date | Country | Kind |
---|---|---|---|
202210785829.1 | Jul 2022 | CN | national |
This application is a continuation of international application of PCT application serial no. PCT/CN2023/091130, filed on Apr. 27, 2023, which claims the priority benefit of China application no. 202210785829.1, filed on Jul. 5, 2022. The entirety of each of the above-mentioned patent applications is hereby incorporated by reference herein and made a part of this specification.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2023/091130 | Apr 2023 | WO |
Child | 18733869 | US |