Large component discontinuous posture adjusting method for numerical control positioner
Through the SVD decomposition algorithm and polynomial calculation, the discontinuous continuation of the posture adjustment process of large components is achieved, which solves the problem of re-measurement after the posture adjustment is interrupted and improves the posture adjustment efficiency and accuracy.
Patent Information
- Application Number
- CN202511248686.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-03
- Publication Date
- 2025-10-14
AI Technical Summary
The existing technology cannot continue to execute the remaining trajectory after being interrupted during the posture adjustment process of a large component. It is necessary to re-measure the component feature points to fit the current posture, which results in a long time consumption.
The SVD decomposition algorithm is used to calculate the pose sextuple, which is then combined with polynomials to calculate the locator trajectory points. The trajectory points are sent to the locator through the network for movement, thus achieving discontinuous pose adjustment of large components.
The position adjustment can be continued without re-measuring the feature points of the component, which improves the stability and efficiency of the position adjustment process and ensures that the locator moves to the target position.
Smart Images

Figure CN120779863A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of aviation manufacturing technology, in particular to a large part discontinuous posture adjustment method for numerical control positioner. BACKGROUND
[0002] In the field of aviation manufacturing technology, large part machining and assembly often require adjustment of the attitude of the large part. Generally, four or more three-coordinate numerical control positioners are used to support and lock the large part, and then the attitude of the large part is adjusted through the coordinated movement of the numerical control positioners. This process cannot be paused. Once an error occurs in the equipment during the posture adjustment process or the operator presses the emergency stop button, the posture adjustment process will be terminated. Since the motion controller cannot continue to execute the remaining trajectory after the coordinated movement is terminated, the posture adjustment process cannot continue, and the posture adjustment must be restarted by measuring the feature points of the large part to fit the current attitude of the part. This process consumes a lot of time. Therefore, there is an urgent need for a large part discontinuous posture adjustment method for numerical control positioner that can continue to complete the posture adjustment of the large part without the need to measure the feature points of the part to fit the current attitude of the part after the posture adjustment is interrupted.
[0003] For example, a Chinese patent with publication number CN118500364A and publication date August 16, 2024, entitled "Large structure space pose online compensation system and method based on multiple laser trackers" provides a large structure space pose online compensation system based on multiple laser trackers, which includes a numerical control positioner, a laser tracker, a reflective target ball, a spherical hinge, and a large structure. One laser tracker corresponds to one reflective target ball and is installed close to the emitting target ball. The numerical control positioner is connected to the large structure through the spherical hinge. The reflective target ball is provided in multiple sets and is installed on the large structure in a scattered distribution. The numerical control positioner and the laser tracker are each provided with at least three groups.
[0004] Although the above-mentioned patent can detect and compensate the posture adjustment trajectory in real time to ensure the positioning accuracy of the large structure, it still has the disadvantage that if the posture adjustment needs to be terminated during the posture adjustment process, the remaining trajectory cannot continue to be adjusted. SUMMARY
[0005] To solve the problems in the prior art, the present application provides a large part discontinuous posture adjustment method for numerical control positioner that can continue to complete the posture adjustment of the large part without the need to measure the feature points of the part to fit the current attitude of the part after the posture adjustment is interrupted.
[0006] To achieve the above technical effects, the technical solution of the present application is as follows: A large part discontinuous posture adjustment method for numerical control positioner includes the following specific method steps: S1: Get the global coordinates K of the end points of all positioners’ trajectories in the control software, and get the current coordinates C of all positioners in the motion controller through the network; S2: Using the SVD decomposition algorithm, and based on the global coordinates K of the end points of all locators’ trajectories and the current coordinates C of all locators, we can find the pose six-tuple of the feature point cloud adjusted from the current pose to the target pose. ; S3: Based on the obtained pose sextuple , all locator trajectory points are obtained using polynomial calculation; S4: All the locator trajectory points obtained in step S3 are sent to the locator through the network, and then the overall movement of the large component is completed through the movement of the locator; S5: After all locators have completed their movements, the positions of all locators after their movements are obtained through the network; S6: Calculate the difference between the position of all locators after movement and the global coordinate K of the end point of all locator trajectories in S1; when the difference between the position of the locator after movement and the target position is greater than the set tolerance, it is determined that the attitude adjustment has failed and the attitude is readjusted; when the difference between the position of all locators after movement and the global coordinate K of the end point of all locator trajectories is less than the set tolerance, the attitude adjustment is completed.
[0007] Furthermore, the global coordinates K of the end points of all locator trajectories in step S1 include ( 、( 、( 、( 、……、( ; The current coordinates C of all locators include ( 、( 、( 、……、 ; Where n represents the total number of locators involved in posture adjustment.
[0008] Furthermore, the pose sextuple in step S2 Specifically: .
[0009] Furthermore, in step S2, the SVD decomposition algorithm is used to obtain the pose six-tuple of the feature point cloud adjusted from the current pose to the target pose. The specific steps are as follows: Step a1: Set the center of mass position of the current posture feature point cloud to , the centroid position of the target pose feature point cloud is ; Step a2: Set the center of mass position of the current posture feature point cloud and the centroid position of the target pose feature point cloud , calculate the covariance matrix H; Step a3: Perform singular value decomposition on the covariance matrix H to obtain a decomposed orthogonal matrix; Step a4: Calculate the coordinate transformation matrix based on the orthogonal matrix in step a3; Step a5: According to the coordinate transformation matrix, the pose sextet is finally calculated .
[0010] Furthermore, the centroid position of the current posture feature point cloud in step a1 and the centroid position of the target pose feature point cloud The expressions are as follows: ; ; Where, Represents the current coordinates of the center of the sphere of the i-th locator; represents the target coordinates of the center of the sphere of the i-th locator; n represents the total number of locators involved in the posture adjustment.
[0011] Furthermore, the specific formula for calculating the covariance matrix in step a2 is as follows: ; ; ; Where H is the covariance matrix, It represents the difference between the current coordinates of the sphere center of the i-th locator and the center of mass of the current locator sphere center. It represents the difference between the target coordinates of the sphere center of the i-th locator and the center of mass of the target locator, and n represents the total number of locators involved in the posture adjustment.
[0012] Furthermore, the specific formula for performing singular value decomposition on the covariance matrix H in step a3 is as follows: ; Where D represents the diagonal matrix after singular value decomposition of H, V and U represent the orthogonal matrices after singular value decomposition of H; t represents matrix transpose.
[0013] Furthermore, the specific formula for calculating the coordinate transformation matrix {R, T} in step a4 is as follows: R=V ; T=-R +{C }; where R is a rotation matrix, t is a matrix transpose, T is a translation matrix, C is each column of the current positioner center matrix, is each column of the target positioner center.
[0014] Further, the step a5 calculates the pose six tuple The specific formula is as follows: = ( ); ; ; ; ; ; where is the Euler angle of rotation along the positioner Z axis; is the Euler angle of rotation along the positioner Y axis; is the Euler angle of rotation along the positioner X axis; is the translation along the positioner X axis; is the translation along the positioner Y axis; is the translation along the positioner Z axis; represents the value of the first row and the first column of the rotation matrix R; represents the value of the second row and the first column of the rotation matrix R; represents the value of the third row and the first column of the rotation matrix R; represents the value of the second row and the second column of the rotation matrix R; represents the value of the second row and the third column of the rotation matrix R; represents the value of the first row and the third column of the rotation matrix R; represents the value of the first row and the second column of the rotation matrix R; represents the value of the first row and the first column of the translation matrix; represents the value of the second row and the first column of the translation matrix; represents the value of the third row and the first column of the translation matrix.
[0015] Further, the step S3 calculates all positioner trajectory points by using a polynomial, which is: using a quintic polynomial to calculate all positioner trajectory points, for a positioner with a current position C , n trajectory points The calculation formula is as follows: x=6 ; y=6 ; z=6 ; a=(6 )*π / 180; b=(6 )*π / 180; c=(6 )*π / 180; Where, is the Euler angle of rotation along the Z axis of the locator; is the Euler angle of rotation along the Y axis of the locator; is the Euler angle of rotation along the positioning x-axis; is the translation along the X axis of the locator; is the translation along the Y axis of the locator; is the translation along the Z axis of the locator; Cycle from 0 to n-1 with a step size of 1; x represents the offset between the ith track point of the locator and the starting point on the x-axis; y represents the offset between the ith track point of the locator and the starting point on the y-axis; z represents the offset between the ith track point of the locator and the starting point on the z-axis; a represents the rotation of the locator between the ith track point and the starting point in the x-axis direction; b represents the rotation of the locator between the ith track point and the starting point in the y-axis direction; c represents the rotation of the locator between the ith track point and the starting point in the z-axis direction; The calculation formula for the rotation and translation matrix of each step is as follows: ; T= ; The formula for calculating the trajectory point coordinates based on the rotation and translation matrix is as follows: [i]=R +T; Where, [i] represents the coordinates of the i-th trajectory point, R represents the rotation matrix, represents the transpose of the current coordinate point C, T represents the translation matrix, and the specific expansion calculation formula is as follows: ; ; Where, [i].x represents the x-axis coordinate value of the i-th trajectory point; [i].y represents the y-axis coordinate value of the i-th trajectory point; [i].z represents the z-axis coordinate value of the i-th trajectory point; sin() represents the sine function; cos() represents the cosine function.
[0016] Further, the error of the calculation process is eliminated by assigning the global coordinates K of the end point of the locator trajectory in step S1 to the last trajectory point of the calculated locator trajectory points, and the assignment specific calculation formula is as follows [n-1].x= ; [n-1].y= ; [n-1].z= ; In the formula, the trajectory number starts from 0, n-1 represents the number of the last point, [n-1] represents the last trajectory point; [n-1].x represents the x-axis coordinate value of the last trajectory point; [n-1].y represents the y-axis coordinate value of the last trajectory point; [n-1].z represents the z-axis coordinate value of the last trajectory point; is the x-axis coordinate value of the global coordinates of the end point of the first locator trajectory; is the y-axis coordinate value of the global coordinates of the end point of the first locator trajectory; is the z-axis coordinate value of the global coordinates of the end point of the first locator trajectory.
[0017] Further, the control software adopts large component pose adjustment and matching motion control software; the network adopts a switch and an OPCUA communication protocol.
[0018] Further, the step S4 is specifically: sending all the locator trajectory points to the motion controller of the locator through the switch and the OPCUA communication protocol, and operating the large component pose adjustment and matching motion control software to send an enable signal, after the motion controller receives the enable signal, calculating the device coordinate positions of the locator X-axis, the locator Y-axis and the locator Z-axis corresponding to each point position according to the locator trajectory points, and then the motion controller outputs a digital signal to the servo driver in the electrical cabinet through the EtherCAT bus, and the servo motor is controlled by the servo driver to drive the numerical control locator to move, thereby completing the overall movement of the large component.
[0019] Further, the positions of all locators after movement are obtained through the network ) including ), ), ), ), ; wherein n represents the total number of locators participating in the pose adjustment.
[0020] Further, the distance difference between the position of all positioners after movement and the target position (L[n-1].x, L[n-1].y, L[n-1].z) is calculated , the distance difference between the position of all positioners after movement and the target position (L[n-1].x, L[n-1].y, L[n-1].z) is calculated , …, The calculation formula is as follows: ; If any distance difference is greater than the set tolerance, the current pose adjustment fails; if the distance difference in the distance difference is less than the set tolerance, the current pose adjustment succeeds ; In the formula, the distance difference between the position of all positioners after movement and the target position (L[n-1].x, L[n-1].y, L[n-1].z) is represented by ; The distance difference between the position of the nth positioner after movement and the target position is represented by ; The position of all positioners after movement in the x-axis is represented by ;The position of all positioners after movement in the y-axis is represented by ; The position of all positioners after movement in the z-axis is represented by
[0021] ; L[n-1].x represents the x-axis coordinate value of all positioners at the last trajectory point; L[n-1].y represents the y-axis coordinate value of all positioners at the last trajectory point; and L[n-1].z represents the z-axis coordinate value of all positioners at the last trajectory point. According to the above technical solution, the present application has the following beneficial effects: 1. The present application realizes the subsequent pose adjustment after the interruption of the pose adjustment of the large component by solving the pose of the virtual geometric body, thereby saving the step of re-measuring the pose, improving the stability of the pose adjustment process, and improving the machining and assembly efficiency of the large component.
[0022] 2. The pose adjustment accuracy of the present application is reliable, the tolerance is set to determine whether the positioner is moved to the position, the error compensation processing is performed on the trajectory end point of the subsequent pose adjustment process, and the positioner is ensured to be moved to the original pose adjustment target position.
[0023] 3. The present application obtains the pose six-tuple of the target attitude of all positioners by adopting the SVD decomposition algorithm , so that the movement trajectory of all positioners is quickly and efficiently calculated.
[0024] 4. The method of the present application has a wide application range and can be applied to the pose adjustment of the large component supported by the positioner with a number greater than or equal to four. BRIEF DESCRIPTION OF DRAWINGS
[0025] Figure 1 is a schematic diagram of a numerical control positioner related to the present application.
[0026] Figure 2 is a schematic view of a positioner supporting a large component.
[0027] Figure 3 is a schematic view of a virtual pose geometry composed of four positioner ball lock mechanisms.
[0028] Figure 4 is a schematic view of a virtual geometry being adjusted from a current pose to a target pose.
[0029] In the figure, 1. positioner X axis; 2. positioner Y axis; 3. positioner Z axis; 4. positioner ball lock mechanism; 5. large component requiring pose adjustment; 6. virtual geometry; 7. target pose of virtual geometry; 8. current pose of virtual geometry. DETAILED DESCRIPTION In order to make the purposes, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are some embodiments of the present application, rather than all embodiments of the present application.
[0030] Embodiment 1 A large component discontinuous pose adjustment method for a numerical control positioner, comprising the following specific method steps: S1: obtaining all positioner trajectory end point global coordinates K in the control software, and obtaining all positioner current coordinates C through a network; S2: using an SVD decomposition algorithm, and according to all positioner trajectory end point global coordinates K and all positioner current coordinates C, obtaining a pose six tuple of a feature point cloud from a current pose to a target pose ; S3: according to the obtained pose six tuple , using a polynomial to obtain all positioner trajectory points; S4: sending all positioner trajectory points obtained in step S3 to the positioner through a network, and then completing the overall movement of the large component through the movement of the positioner; S5: when all positioner movements are completed, obtaining all positioner positions after movement through a network; S6: calculating the distance difference between all positioner positions after movement and all positioner trajectory end point global coordinates K in S1; when the distance difference between a position after movement of a positioner and a target position is greater than a set tolerance, it is determined that the pose adjustment fails, and the pose adjustment is re-performed; when the distance difference between all positioner positions after movement and all positioner trajectory end point global coordinates K is less than the set tolerance, the pose adjustment is completed.
[0031] Embodiment 2 Based on the basis of Embodiment 1, the global coordinates K of all the end points of the locator trajectories in step S1 include , , , , ; the current coordinates C of all the locators include , , , ; wherein n represents the total number of locators participating in the pose adjustment.
[0032] The pose six-tuple in step S2 is Specifically: ; all the support points of the locators are not in the same plane, ensuring that the fitted point cloud pose is unique; the SVD decomposition algorithm is used in step S2 to obtain the pose six-tuple of the feature point cloud from the current pose to the target pose The specific method steps are as follows: Step a1: set the current pose feature point cloud centroid position as , and the target pose feature point cloud centroid position as ; Step a2: according to the set current pose feature point cloud centroid position and the target pose feature point cloud centroid position , calculate the covariance matrix H; Step a3: singular value decomposition is performed on the covariance matrix H to obtain the orthogonal matrix after decomposition; Step a4: according to the orthogonal matrix in step a3, the coordinate conversion matrix is calculated; Step a5: according to the coordinate conversion matrix, the pose six-tuple is finally calculated.
[0033] The expressions of the current pose feature point cloud centroid position and the target pose feature point cloud centroid position in step a1 are as follows: ; ; In the formula, represents the current coordinate of the ball center of the i-th locator; represents the target coordinate of the ball center of the i-th locator; and n represents the total number of locators participating in the pose adjustment.
[0034] The specific formula for calculating the covariance matrix in step a2 is as follows: ; ; ; Where H is the covariance matrix, It represents the difference between the current coordinates of the sphere center of the i-th locator and the center of mass of the current locator sphere center. It represents the difference between the target coordinates of the sphere center of the i-th locator and the center of mass of the target locator, and n represents the total number of locators involved in the posture adjustment.
[0035] The specific formula for performing singular value decomposition on the covariance matrix H in step a3 is as follows: ; Where D represents the diagonal matrix after singular value decomposition of H, V and U represent the orthogonal matrices after singular value decomposition of H; t represents matrix transpose.
[0036] The specific formula for calculating the coordinate transformation matrix {R, T} in step a4 is as follows: R=V ; T=-R +{C }; Where R is the rotation matrix, t is the matrix transpose, T is the translation matrix, and C For each column of the current locator's center matrix, Center each column of the target locator sphere.
[0037] Step a5 calculates the pose sextet The specific formula is as follows: = ( ); ; ; ; ; ; Where, is the Euler angle of rotation along the Z axis 3 of the locator; is the Euler angle of rotation along the Y axis 2 of the locator; is the Euler angle of rotation along the X-axis 1 of the locator; is the translation along the X axis 1 of the locator; is the translation along the Y axis 2 of the locator; is the translation along the Z axis 3 of the locator; Represents the value of the first row and first column of the rotation matrix R; Represents the value of the 2nd row and 1st column of the rotation matrix R; Represents the value of the 3rd row and 1st column of the rotation matrix R; Represents the value of the 2nd row and 2nd column of the rotation matrix R; Represents the value of the 2nd row and 3rd column of the rotation matrix R; Represents the value of the 1st row and 3rd column of the rotation matrix R; Represents the value of the first row and second column of the rotation matrix R; Represents the value of the first row and first column of the translation matrix; Represents the value of the 2nd row and 1st column of the translation matrix; Represents the value of the 3rd row and 1st column of the translation matrix.
[0038] Example 3 Based on Example 2, the polynomial calculation in step S3 to obtain all locator trajectory points is as follows: a quintic polynomial is used to calculate all locator trajectory points, and for one of the current positions C( Locator, n trajectory points The calculation formula is as follows: x=6 ; y=6 ; z=6 ; a=(6 )*π / 180; b=(6 )*π / 180; c=(6 )*π / 180; Where, is the Euler angle of rotation along the Z axis 3 of the locator; is the Euler angle of rotation along the Y axis 2 of the locator; is the Euler angle of rotation along the positioning x-axis; is the translation along the X axis 1 of the locator; is the translation along the Y axis 2 of the locator; is the translation along the Z axis 3 of the locator; Cycle from 0 to n-1 with a step size of 1; x represents the offset between the ith track point of the locator and the starting point on the x-axis; y represents the offset between the ith track point of the locator and the starting point on the y-axis; z represents the offset between the ith track point of the locator and the starting point on the z-axis; a represents the rotation of the locator between the ith track point and the starting point in the x-axis direction; b represents the rotation of the locator between the ith track point and the starting point in the y-axis direction; c represents the rotation of the locator between the ith track point and the starting point in the z-axis direction; The calculation formula for the rotation and translation matrix of each step is as follows: ; T= ; The formula for calculating the trajectory point coordinates based on the rotation and translation matrix is as follows: [i]=R +T; Where, [i] represents the coordinates of the i-th trajectory point, R represents the rotation matrix, represents the transpose of the current coordinate point C, T represents the translation matrix, and the specific expansion calculation formula is as follows: ; ; Where, [i].x represents the x-axis coordinate value of the i-th trajectory point; [i].y represents the y-axis coordinate value of the i-th trajectory point; [i].z represents the z-axis coordinate value of the i-th trajectory point; sin() represents the sine function; cos() represents the cosine function.
[0039] By assigning the global coordinate K of the end point of the locator trajectory in step S1 to the last trajectory point of the calculated locator trajectory point, the error of the calculation process is eliminated. The specific calculation formula for the assignment is as follows: [n-1].x= ; [n-1].y= ; [n-1].z= ; In the formula, the trajectory number starts from 0, n-1 represents the number of the last point, [n-1] represents the last trajectory point; [n-1].x represents the x-axis coordinate value of the last trajectory point; [n-1].y represents the y-axis coordinate value of the last trajectory point; [n-1].z represents the z-axis coordinate value of the last trajectory point; The x-axis coordinate value of the global coordinate of the trajectory end point of the first locator; The y-axis coordinate value of the global coordinate of the trajectory end point of the first locator; The z-axis coordinate value of the global coordinate of the trajectory endpoint of the first locator.
[0040] The above is the current position C( The solution of the trajectory point L1 of the locator is solved, and the solution of the trajectory points involved in the other locators is exactly the same as the above solution method.
[0041] The control software adopts large component posture adjustment and alignment motion control software; the network adopts a switch and OPC UA communication protocol; the large component posture adjustment and alignment motion control software is a conventional application software in this field and will not be described here.
[0042] like Figure 1 and Figure 2 As shown, step S4 is specifically as follows: all locator trajectory points are sent to the motion controller of the locator through the switch and the OPCUA communication protocol, and the large component posture adjustment and alignment motion control software is operated to send an enable signal. After receiving the enable signal, the motion controller calculates the device coordinate position of the locator X-axis 1, locator Y-axis 2 and locator Z-axis 3 corresponding to each point according to the locator trajectory point, and then the motion controller outputs a digital signal to the servo driver in the electrical cabinet through the EtherCAT bus, and the servo driver controls the servo motor to drive the CNC positioner to move, thereby completing the overall movement of the large component; a rigid connection should be adopted between the large component and the locator to avoid displacement between the large component and the locator; wherein, calculating the device coordinate position of the locator X-axis 1, locator Y-axis 2 and locator Z-axis 3 corresponding to each point according to the locator trajectory point is a conventional prior art in this field; a rigid connection can be achieved between the large component and the locator through the locator ball head locking mechanism 4; as Figure 1 As shown, the positioner is a three-axis CNC positioner, which is a conventional existing positioner in this field. Its own structure and how it moves are conventional existing technologies in this field and will not be repeated here.
[0043] Get the position of all locators after movement through the network ( )include( )、( )、( )、( ),……、( ), where n represents the total number of locators involved in posture adjustment.
[0044] Calculate the distance difference between the position of all positioners after movement and the target position (L[n-1].x, L[n-1].y, L[n-1].z) The calculation formula is as follows: If any distance difference is greater than the set tolerance, the current pose adjustment fails; if the distance difference in the distance difference is less than the set tolerance, the current pose adjustment succeeds; the set tolerance can be set according to the requirement of the worker for the precision. In the formula,
[0045] In the formula, L[n-1].x represents the x-axis coordinate value of all positioners at the last trajectory point; L[n-1].y represents the y-axis coordinate value of all positioners at the last trajectory point; L[n-1].z represents the z-axis coordinate value of all positioners at the last trajectory point.
[0046] Embodiment 4 In this embodiment, the specific pose adjustment implementation method when the positioner is four is given, as shown in FIG. 4, four positioners support the large part 5 that needs to be adjusted in pose, and the specific implementation method steps are as follows: Figure 2 Step one: get the four positioners in the motion control software as Step two: get the current coordinates C of the four positioners in the motion controller through the network ( 、 ( 、 ( and Corresponding to Figure 3 A, B, C and D are shown and constitute a virtual geometric body 6.
[0047] Step 3: Use SVD decomposition algorithm to find the pose six-tuple of the feature point cloud adjusted from the current pose to the target pose , the calculation formula is as follows: Assume that the centroid position of the current posture feature point cloud is , the centroid position of the target pose feature point cloud is .
[0048] ; ; in, represents the current coordinates of the center of the sphere of the i-th locator, represents the target coordinates of the center of the sphere of the i-th locator; n represents the total number of locators involved in the posture adjustment.
[0049] First calculate the covariance matrix: ; Where H is the covariance matrix, It represents the difference between the current coordinates of the sphere center of the i-th locator and the center of mass of the current locator sphere center. It represents the difference between the target coordinates of the sphere center of the i-th locator and the center of mass of the target locator.
[0050] Where H is the covariance matrix, It represents the difference between the current coordinates of the sphere center of the i-th locator and the center of mass of the current locator sphere center. It represents the difference between the target coordinates of the sphere center of the i-th locator and the center of mass of the target locator, and n represents the total number of locators involved in the posture adjustment.
[0051] Then perform singular value decomposition on the covariance matrix H: ; Where D is the diagonal matrix after performing singular value decomposition on H, and V and U are the orthogonal matrices after performing singular value decomposition on H.
[0052] Finally, calculate the coordinate transformation matrix {R, T}: R=V ; T=-R +{C }; Where R is the rotation matrix, T is the translation matrix, C For each column of the current locator's center matrix, Center each column of the target locator sphere.
[0053] calculate : = ( ); ; ; ; ; ; Where, is the Euler angle of rotation along the Z axis 3 of the locator; is the Euler angle of rotation along the Y axis 2 of the locator; is the Euler angle of rotation along the X-axis 1 of the locator; is the translation along the X axis 1 of the locator; is the translation along the Y axis 2 of the locator; is the translation along the Z axis 3 of the locator; Represents the value of the first row and first column of the rotation matrix R; Represents the value of the 2nd row and 1st column of the rotation matrix R; Represents the value of the 3rd row and 1st column of the rotation matrix R; Represents the value of the 2nd row and 2nd column of the rotation matrix R; Represents the value of the 2nd row and 3rd column of the rotation matrix R; Represents the value of the 1st row and 3rd column of the rotation matrix R; Represents the value of the first row and second column of the rotation matrix R; Represents the value of the first row and first column of the translation matrix; Represents the value of the 2nd row and 1st column of the translation matrix; Represents the value of the 3rd row and 1st column of the translation matrix.
[0054] Step 4: The number of track points for each locator is 200. , using a 5th degree polynomial to calculate the four locators ( ) are the trajectory points of 、 、 , the trajectory point calculation formula is as follows: For the positioner i from 0 to 200 with step 1 x = 6 ; y = 6 ; z = 6 ; a = (6 ) * pi / 180; b = (6 ) * pi / 180; c = (6 ) * pi / 180; In the formula, is the Euler angle of rotation along the positioner Z axis 3; is the Euler angle of rotation along the positioner Y axis 2; is the Euler angle of rotation along the positioner x axis; is the translation along the positioner X axis 1; is the translation along the positioner Y axis 2; is the translation along the positioner Z axis 3; from 0 to n-1 with step 1; x represents the offset of the i th trajectory point of the positioner and the starting point in the x axis; y represents the offset of the i th trajectory point of the positioner and the starting point in the y axis; z represents the offset of the i th trajectory point of the positioner and the starting point in the z axis; a represents the rotation of the positioner at the i th trajectory point and the starting point in the x axis direction; b represents the rotation of the positioner at the i th trajectory point and the starting point in the y axis direction; c represents the rotation of the positioner at the i th trajectory point and the starting point in the z axis direction; The rotation and translation matrix of each step is calculated as follows: ; T = ; According to the rotation and translation matrix, the trajectory point coordinate formula is as follows: [i] = R + T; In the formula, [i] represents the i th trajectory point coordinate, R represents the rotation matrix, represents the transpose of the current coordinate point C, and T represents the translation matrix. The trajectory point coordinate is calculated as follows:
[0055] In the formula, [i].x represents the x axis coordinate value of the i th trajectory point; [i].y represents the y axis coordinate value of the i th trajectory point; [i].z represents the z-axis coordinate value of the i-th trajectory point; sin() represents the sine function; cos() represents the cosine function.
[0056] The above is Solving the trajectory point The detailed calculation process, the rest Solving the trajectory point , The calculation is the same; Step five, because there is a small error between the recalculated trajectory endpoint and the original trajectory endpoint, the original target position is assigned to the recalculated trajectory endpoint, and the assignment formula is as follows:
[200] .x= ;
[200] .y= ;
[200] .z=
[0057]
[200] .x= ;
[200] .y= ;
[200] .z=
[0058]
[200] .x= ;
[200] .y= ;
[200] .z=
[0059]
[200] .x= ;
[200] .y= ;
[200] .z=
[0060] Step six, as shown in Figure 1 , the posture adjustment needs all three-axis numerical control positioners to cooperate, all positioner trajectory points processed in step 5 are sent to the motion controller through the network, and an enable signal is sent. After the motion controller receives the signal, the corresponding positioner X-axis 1, positioner Y-axis 2 and positioner Z-axis 3 device coordinate positions of each point position are calculated according to the positioner trajectory points, and then the corresponding digital signals are output to the servo driver, and the servo motor of the servo driver drives the shaft to complete the motion of the numerical control positioner, and then the whole posture adjustment motion of the large part is completed. Step 7: Wait for all positioners to complete their motion and obtain four positioners from the motion controller via the network ( )Post-exercise position( )、( )、( )、( ); Step 8. Calculate the positions of the four locators after movement ( ) and the target position (L
[200] .x, L
[200] .y, L
[200] .z) include and , the distance calculation formula is as follows:
[0061] like Any and If the error is greater than the set tolerance of 0.1mm, the current posture adjustment is considered to have failed and needs to be readjusted. middle and If the error is less than the set tolerance value of 0.1mm, the posture adjustment is considered successful and the posture adjustment is ended. The final target posture adjustment state should be as follows: Figure 4 The current pose 7 of the virtual geometric body composed of A, B, C and D is adjusted to the target pose 8 of the virtual geometric body composed of A', B', C' and D'.
[0062] The above description is a detailed description of the preferred embodiments of the present invention, but the embodiments are not intended to limit the scope of the patent application of the present invention. Any equivalent changes or modifications completed under the technical spirit suggested by the present invention should fall within the patent scope covered by the present invention.
Claims
1. A large component discontinuous posture adjustment method for a CNC positioner, characterized in that: The specific method steps include the following: S1: Get the global coordinates K of the end points of all positioners’ trajectories in the control software, and get the current coordinates C of all positioners in the motion controller through the network; S2: Using the SVD decomposition algorithm, and based on the global coordinates K of the end points of all locators’ trajectories and the current coordinates C of all locators, we can find the pose six-tuple of the feature point cloud adjusted from the current pose to the target pose. ; S3: Based on the obtained pose sextuple , all locator trajectory points are obtained using polynomial calculation; S4: All the locator trajectory points obtained in step S3 are sent to the locator through the network, and then the overall movement of the large component is completed through the movement of the locator; S5: After all locators have completed their movements, the positions of all locators after their movements are obtained through the network; S6: Calculate the difference between the position of all locators after movement and the global coordinate K of the end point of all locator trajectories in S1; when the difference between the position of the locator after movement and the target position is greater than the set tolerance, it is determined that the attitude adjustment has failed and the attitude is readjusted; when the difference between the position of all locators after movement and the global coordinate K of the end point of all locator trajectories is less than the set tolerance, the attitude adjustment is completed.
2. A method for discontinuous posture adjustment of large components for a CNC positioner according to claim 1, characterized in that: The global coordinates K of the end points of all locator trajectories in step S1 include ( 、( 、( 、( 、……、( ; The current coordinates C of all locators include ( 、( 、( 、……、 ; Where n represents the total number of locators involved in posture adjustment.
3. The method for discontinuous posture adjustment of large components for a CNC positioner according to claim 1, characterized in that: The pose sextuple in step S2 Specifically: .
4. A method for discontinuous posture adjustment of large components for a CNC positioner according to claim 3, characterized in that: In step S2, the SVD decomposition algorithm is used to obtain the pose six-tuple of the feature point cloud adjusted from the current pose to the target pose. The specific steps are as follows: Step a1: Set the center of mass position of the current posture feature point cloud to , the centroid position of the target pose feature point cloud is ; Step a2: Set the center of mass position of the current posture feature point cloud and the centroid position of the target pose feature point cloud , calculate the covariance matrix H; Step a3: Perform singular value decomposition on the covariance matrix H to obtain a decomposed orthogonal matrix; Step a4: Calculate the coordinate transformation matrix based on the orthogonal matrix in step a3; Step a5: According to the coordinate transformation matrix, the pose sextet is finally calculated .
5. A method for discontinuous posture adjustment of large components for a CNC positioner according to claim 4, characterized in that: The centroid position of the current posture feature point cloud in step a1 and the centroid position of the target pose feature point cloud The expressions are as follows: ; ; Where, Represents the current coordinates of the center of the sphere of the i-th locator; represents the target coordinates of the center of the sphere of the i-th locator; n represents the total number of locators involved in the posture adjustment.
6. A method for discontinuous posture adjustment of large components for a CNC positioner according to claim 5, characterized in that: The specific formula for calculating the covariance matrix in step a2 is as follows: ; ; ; Where H is the covariance matrix, It represents the difference between the current coordinates of the sphere center of the i-th locator and the center of mass of the current locator sphere center. It represents the difference between the target coordinates of the sphere center of the i-th locator and the center of mass of the target locator, and n represents the total number of locators involved in the posture adjustment.
7. A method for discontinuous posture adjustment of large components for a CNC positioner according to claim 6, characterized in that: The specific formula for performing singular value decomposition on the covariance matrix H in step a3 is as follows: ; Where D represents the diagonal matrix after singular value decomposition of H, V and U represent the orthogonal matrices after singular value decomposition of H; t represents matrix transpose.
8. A method for discontinuous posture adjustment of large components for a CNC positioner according to claim 7, characterized in that: The specific formula for calculating the coordinate transformation matrix {R, T} in step a4 is as follows: R=V ; T=-R +{C }; Where R is the rotation matrix, t is the matrix transpose, T is the translation matrix, and C For each column of the current locator's center matrix, Center each column of the target locator sphere.
9. A method for discontinuous posture adjustment of large components for a CNC positioner according to claim 8, characterized in that: The step a5 calculates the pose sextet The specific formula is as follows: = ( ); ; ; ; ; ; Where, is the Euler angle of rotation along the Z axis (3) of the locator; is the Euler angle of rotation along the locator's Y axis (2); is the Euler angle of rotation along the locator's X axis (1); is the translation along the X axis (1) of the locator; is the translation along the Y axis (2) of the locator; is the translation along the Z axis (3) of the locator; Represents the value of the first row and first column of the rotation matrix R; Represents the value of the 2nd row and 1st column of the rotation matrix R; Represents the value of the 3rd row and 1st column of the rotation matrix R; Represents the value of the 2nd row and 2nd column of the rotation matrix R; Represents the value of the 2nd row and 3rd column of the rotation matrix R; Represents the value of the 1st row and 3rd column of the rotation matrix R; Represents the value of the first row and second column of the rotation matrix R; Represents the value of the first row and first column of the translation matrix; Represents the value of the 2nd row and 1st column of the translation matrix; Represents the value of the 3rd row and 1st column of the translation matrix.
10. A large component discontinuous posture adjustment method for a CNC positioner according to claim 2 or 9, characterized in that: The specific method of using polynomials to calculate all locator trajectory points in step S3 is as follows: using a quintic polynomial to calculate all locator trajectory points, for one of the current positions is C( Locator, n trajectory points The calculation formula is as follows: x=6 ; y=6 ; z=6 ; a=(6 )*π / 180; b=(6 )*π / 180; c=(6 )*π / 180; Where, is the Euler angle of rotation along the Z axis (3) of the locator; is the Euler angle of rotation along the locator's Y axis (2); is the Euler angle of rotation along the positioning x-axis; is the translation along the X axis (1) of the locator; is the translation along the Y axis (2) of the locator; is the translation along the Z axis (3) of the locator; Cycle from 0 to n-1 with a step size of 1; x represents the offset between the ith track point of the locator and the starting point on the x-axis; y represents the offset between the ith track point of the locator and the starting point on the y-axis; z represents the offset between the ith track point of the locator and the starting point on the z-axis; a represents the rotation of the locator between the ith track point and the starting point in the x-axis direction; b represents the rotation of the locator between the ith track point and the starting point in the y-axis direction; c represents the rotation of the locator between the ith track point and the starting point in the z-axis direction; The calculation formula for the rotation and translation matrix of each step is as follows: ; T= ; The formula for calculating the trajectory point coordinates based on the rotation and translation matrix is as follows: [i]=R +T; Where, [i] represents the coordinates of the i-th trajectory point, R represents the rotation matrix, represents the transpose of the current coordinate point C, T represents the translation matrix, and the specific expansion calculation formula is as follows: ; ; ; Where, [i].x represents the x-axis coordinate value of the i-th trajectory point; [i].y represents the y-axis coordinate value of the i-th trajectory point; [i].z represents the z-axis coordinate value of the i-th trajectory point; sin() represents the sine function; cos() represents the cosine function.
11. A method for discontinuous posture adjustment of large components for a CNC positioner according to claim 10, characterized in that: By assigning the global coordinate K of the end point of the locator trajectory in step S1 to the last trajectory point of the calculated locator trajectory point, the error of the calculation process is eliminated. The specific calculation formula for the assignment is as follows: [n-1].x= ; [n-1].y= ; [n-1].z= ; In the formula, the trajectory number starts from 0, n-1 represents the number of the last point, [n-1] represents the last trajectory point; [n-1].x represents the x-axis coordinate value of the last trajectory point; [n-1].y represents the y-axis coordinate value of the last trajectory point; [n-1].z represents the z-axis coordinate value of the last trajectory point; The x-axis coordinate value of the global coordinate of the trajectory end point of the first locator; The y-axis coordinate value of the global coordinate of the trajectory end point of the first locator; The z-axis coordinate value of the global coordinate of the trajectory endpoint of the first locator.
12. A method for discontinuous posture adjustment of large components for a CNC positioner according to claim 1, characterized in that: The control software adopts large component posture adjustment and alignment motion control software; the network adopts a switch and OPC UA communication protocol.
13. A method for discontinuous posture adjustment of large components for a CNC positioner according to claim 12, characterized in that: The step S4 is specifically as follows: all the locator trajectory points are sent to the motion controller of the locator through the switch and the OPCUA communication protocol, and the large component posture adjustment and alignment motion control software is operated to send an enable signal. After receiving the enable signal, the motion controller calculates the device coordinate position of the locator X axis (1), the locator Y axis (2) and the locator Z axis (3) corresponding to each point according to the locator trajectory point, and then the motion controller outputs a digital signal to the servo driver in the electrical cabinet through the EtherCAT bus, and the servo driver controls the servo motor to drive the CNC locator to move, thereby completing the overall movement of the large component.
14. The method for discontinuous posture adjustment of large components for a numerically controlled positioner according to claim 1, characterized in that: Get the position of all locators after movement through the network ( )include( )、( )、( )、( ),……、( ), where n represents the total number of locators involved in posture adjustment.
15. A method for discontinuous posture adjustment of large components for a numerically controlled positioner according to claim 14, characterized in that: Calculate the position of all locators after movement ( ) and the target position (L[n-1].x, L[n-1].y, L[n-1].z) , include 、……、 , and its calculation formula is as follows: ; like If the difference between any of the distances is greater than the set tolerance, the posture adjustment fails; if If the difference between the distances in is less than the set tolerance, the posture adjustment is successful; Where, Represents the distance difference between the position of all locators after movement and the target position; Represents the distance difference between the position of the nth locator after movement and the target position; Indicates the position of all locators on the x-axis after movement; Indicates the position of all locators on the y-axis after movement; Indicates the position of all locators on the z-axis after movement; L[n-1].x indicates the x-axis coordinate value of all locators at the last trajectory point; L[n-1].y indicates the y-axis coordinate value of all locators at the last trajectory point; L[n-1].z indicates the z-axis coordinate value of all locators at the last trajectory point.
Citation Information
Patent Citations
Large-scale structure space pose online compensation system and method based on multiple laser trackers
CN118500364A
Docking measurement pose-adjusting method based on indoor GPS (iGPS)
CN105215669A
Control system and control method for six-degree-of-freedom posture adjusting platform
CN106275501A
Cabin section assembling platform and cabin section assembling method
CN110733617A
Posture adjusting method of random parallel three-coordinate positioner group
CN111559514A
Cited By
Force sensor fault detection method for attitude adjustment of large aviation component
CN121048824A
Attitude measurement and alignment method before penetration of telescopic mechanism in long and narrow scene
CN121977518A