Fastener pose measurement method based on point cloud processing
By combining the 3D-SIFT and FPFH methods with the KD-tree improved ICP algorithm, efficient and accurate fastener pose measurement is achieved, solving the problems of low efficiency and insufficient precision in the installation process of high-lock bolts and meeting the safety requirements of aircraft manufacturing.
Patent Information
- Application Number
- CN202510790768.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-13
- Publication Date
- 2025-09-26
AI Technical Summary
During the aircraft manufacturing process, the installation of high-lock nuts relies on manual operation, which is inefficient and difficult to ensure quality. In addition, inaccurate position recognition of high-lock bolts affects aircraft safety. The existing point cloud stitching method has problems such as large data volume, insufficient alignment accuracy and efficiency.
The three-dimensional scale-invariant feature transform (3D-SIFT) and fast point feature histogram (FPFH) are combined with the ICP algorithm improved by the KD tree to measure the fastener pose. The coarse and fine registration methods are used to improve the robustness of feature extraction and the registration accuracy, reduce the amount of point cloud data, and meet the needs of automated tightening.
It improves the accuracy and efficiency of fastener pose measurement, meets the rapid response requirements in the automated tightening process, and significantly improves the accuracy and efficiency of point cloud registration.
Smart Images

Figure CN120707496A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of fastener posture measurement, and in particular to a fastener posture measurement method based on point cloud processing. Background Art
[0002] In the traditional aircraft manufacturing process, the installation of high-lock nuts mainly relies on manual operation with handheld tools. This method has problems such as low operating efficiency and difficulty in ensuring quality. The nuts are easy to scatter, posing a safety hazard. The tightening requirements of high-lock nuts involve the accuracy of the position of their high-lock bolts. Inaccurate posture recognition of high-lock bolts will affect the load and force distribution they bear, which may cause abnormal movement or structural fatigue of the aircraft during flight, endangering flight safety. Coaxiality must be strictly controlled during the installation process. The misalignment of the nut and bolt will affect the reliability of the connection and may damage the composite material due to excessive radial disturbance force. Therefore, the correct posture estimation of high-lock bolts is crucial in the field of aviation assembly.
[0003] The surface of metal materials such as high-lock bolts usually lacks rich natural textures and has reflective properties. This poses a huge challenge to ordinary monocular or binocular passive vision technologies that rely on the target's own characteristics, and is prone to problems such as difficulty in feature extraction, matching errors, or low 3D reconstruction accuracy.
[0004] Patent publication number CN113160287A discloses a method and system for point cloud splicing of complex components based on feature fusion, belonging to the field of computer vision. The method includes: collecting and locating local 3D point clouds of the component; there is partial overlap between adjacent local 3D point clouds; based on the positioning results, each local 3D point cloud is converted to the world coordinate system and uniformly downsampled to extract key points to obtain the corresponding key point cloud; the key point cloud is input into a feature fusion matching network to obtain the matching correspondence between any two adjacent key point clouds; the feature fusion matching network takes two adjacent point clouds as input, extracts multi-scale features or multiple features of the points in each point cloud, and fuses them into feature descriptors of corresponding points to calculate the matching correspondence between adjacent point clouds; the matching correspondence between adjacent key point clouds is used to perform point cloud registration, and based on the point cloud registration results, the key point clouds are spliced into an overall 3D point cloud model. This patent can improve the accuracy of point cloud splicing of complex components, but the point cloud data volume is large, and the registration accuracy and efficiency need to be improved.
[0005] Therefore, providing a fastener measurement method that can reduce the amount of point cloud data and improve the registration accuracy and efficiency is an urgent problem to be solved. Summary of the Invention
[0006] The purpose of the present invention is to provide a fastener posture measurement method based on point cloud processing in order to overcome the defects of the above-mentioned prior art.
[0007] The purpose of the present invention can be achieved by the following technical solutions:
[0008] According to one aspect of the present invention, a method for measuring the position and posture of a fastener based on point cloud processing is provided, the method comprising the following steps:
[0009] S1. Use a camera to shoot the scene of the bolt to be tightened and obtain point cloud information;
[0010] S2. Preprocess the point cloud information to obtain the target point cloud Q and the source point cloud P;
[0011] S3, fusing the three-dimensional scale-invariant feature transform and the fast point feature histogram to calculate the first key point features of the target point cloud Q and the source point cloud P, screening the first key points and determining the second key points;
[0012] S4. Calculate the fast point feature histogram of the second key point, use the SAC-IA algorithm to perform coarse registration on the bolt point cloud, and obtain the initial estimated value of the rotation and translation relationship of the bolt point cloud;
[0013] S5. Use the KD tree improved ICP algorithm for precise registration to finally obtain the accurate position information of the bolt.
[0014] As a preferred technical solution, the key point feature calculation includes the following process:
[0015] S31, establishing a scale space for the source point cloud P and the target point cloud Q, and convolving the three-dimensional Gaussian kernel function with the point cloud to obtain the scale space of the point cloud;
[0016] S32. Calculate the scale space of adjacent point clouds using a Gaussian difference operator to obtain a Gaussian difference operator space. If any point cloud has a maximum value or a minimum value in the Gaussian difference operator space of its twenty-six adjacent point clouds, then use the point cloud as the first key point.
[0017] S33. Set a tolerance range for the score checking operator, and select and determine the second key point from the first key point.
[0018] As a preferred technical solution, the coarse registration specifically includes:
[0019] S41, calculating a simplified point feature histogram of any second key point extracted and screened;
[0020] S42. Weighting the simplified point feature histogram to obtain a final fast point feature histogram.
[0021] As a preferred technical solution, the final fast point feature histogram has the following formula:
[0022]
[0023] p q is the qth second key point; p i For p q The i-th adjacent point cloud of i The second key point p q and neighboring point p i The distance between two points; k is the total number of adjacent point clouds; i is the sequence number of the adjacent point cloud; SPFH is the simplified point feature histogram; FPFH is the fast point feature histogram.
[0024] As a preferred technical solution, the coarse registration further includes:
[0025] S43, searching for several regions with similar local features in the source point cloud P and the target point cloud Q, and selecting one of the regions as the registration region;
[0026] S44, calculate the posture transformation matrix between the two registration areas, and find a set of optimal posture transformation matrices T from the posture transformation matrix SAC-IA , and then calculate the distance deviation and the Huber function after transformation. The Huber function is used to evaluate the performance of the current registration transformation. The expression of the Huber function is:
[0027]
[0028] Where δ is Huber's parameter, d i Represents the distance difference of the matching area in group i; i represents the sequence number of the point cloud.
[0029] S45, based on the initial posture transformation matrix T between the source point cloud P and the target point cloud Q SAC-IA , perform preliminary registration of the two point clouds so that the two point clouds are preliminarily aligned globally and obtain a new point cloud set P′.
[0030] As a preferred technical solution, the precise registration specifically includes:
[0031] S51, using the roughly registered point cloud set P′ and the target point cloud Q as data sources for fine registration;
[0032] S52, establishing a KD tree for the data source, accelerating the search for adjacent point sets, and finding the nearest point cloud to obtain the corresponding point cloud set;
[0033] S53, calculating the transformation relationship based on the corresponding point cloud set, and solving the rotation matrix R and translation vector T of the coordinate transformation matrix;
[0034] S54, iteratively optimize the coordinate transformation matrix to find the value of the minimized error function f(R, T), the expression of the minimized error function is:
[0035]
[0036] R is the rotation matrix; T is the translation vector; k represents the total number of point clouds; q i is the i-th point in the target point cloud Q; is the converted point cloud set; To represent the distance error difference.
[0037] As a preferred technical solution, the point cloud error after precise registration is used as a condition for terminating the iteration, and the maximum number of iterations and the convergence threshold are set accordingly.
[0038] As a preferred technical solution, if the result is greater than the convergence threshold, the iteration continues; otherwise, the registration result is considered to have converged and the iteration ends; the final precise registration coordinate transformation matrix T is obtained. icp , the final output posture information is T = T icp ×T SAC-IA .
[0039] As a preferred technical solution, if the maximum number of iterations is reached, the iteration is terminated and the final precise registration coordinate transformation matrix T is obtained. icp , the final output posture information is T = T icp ×T SAC-IA .
[0040] As a preferred technical solution, the construction of the KD tree includes the following process:
[0041] S521. Select a split dimension, calculate the variance values of the point cloud set P′ and the target point cloud Q in the three dimensions of x, y, and z, and select the dimension with the largest variance as the node split dimension, so that the data is as dispersed as possible after splitting, thereby improving the balance of the tree and the search efficiency;
[0042] S522. Select a split point, arrange the data points of the current node along the selected split dimension, and take the median point as the split point, that is, the root node of the current subtree. The median point divides the current space into two left and right subspaces along the split dimension.
[0043] S523. Recursively construct subtrees, and divide the point set that is not greater than the median on the left side of the split point into the left subtree, and the point set that is greater than the median on the right side into the right subtree. Recursively perform S521 and S522 on the left and right subtrees until the number of points contained in the child node is less than the maximum number of points of the leaf node, which is 1. Then stop splitting and form a leaf node.
[0044] Compared with the prior art, the present invention has the following beneficial effects:
[0045] 1. The present invention combines the three-dimensional scale-invariant feature transform (3D-SIFT) and the fast point feature histogram (FPFH) method to extract key feature points and descriptors of bolt point clouds, thereby improving the robustness and speed of feature extraction, reducing the amount of point cloud data required in the fine registration process, and improving the registration accuracy and efficiency.
[0046] 2. The present invention adopts the ICP algorithm improved by KD tree. The KD tree structure can accelerate the neighborhood search point set, reduce the iteration time of matching point pairs, significantly improve the efficiency of point cloud registration, and meet the demand for fast response in the automated tightening process.
[0047] 3. The present invention first adopts the sampling consistency alignment (SAC-IA) algorithm for coarse alignment, and then combines it with the KD tree improved ICP algorithm for fine alignment, which significantly improves the alignment accuracy and efficiency.
[0048] 4. The present invention adopts the simplified point feature histogram (SFPH), which simplifies the required point cloud data volume based on the fast point feature histogram (FPFH), improves efficiency while ensuring accuracy. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] Figure 1 It is a posture measurement flow chart of the present invention;
[0050] Figure 2 It is a working schematic diagram of the present invention;
[0051] Figure 3 Schematic diagram of SIFT key point extraction from source point cloud in the present invention;
[0052] Figure 4 Schematic diagram of the FPFH calculation principle of the present invention;
[0053] Figure 5 Schematic diagram of the precise registration result of the present invention;
[0054] 1. Bolt workpiece plate; 2. Camera; 3. End tightening gun; 4. Robot. DETAILED DESCRIPTION
[0055] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are part of the embodiments of the present invention, not all of them. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of the present invention.
[0056] In order to meet the high requirements of aviation assembly for high lock bolt posture accuracy, the present invention provides a fastener posture measurement method based on point cloud processing; the present invention combines the three-dimensional scale-invariant feature transform (3D-SIFT) and the fast point feature histogram (FPFH) method to extract the key feature points and descriptors of the bolt point cloud, thereby improving the robustness and speed of feature extraction, reducing the amount of point cloud data required in the fine registration process, and improving the registration accuracy and efficiency. The present invention adopts the ICP algorithm improved by the KD tree. The KD tree structure can accelerate the neighborhood search point set, reduce the iteration time of the matching point pair, significantly improve the efficiency of the point cloud registration, and meet the demand for fast response in the automated tightening process. The present invention first adopts the sampling consistency registration (SAC-IA) algorithm for coarse registration, and then combines the ICP algorithm improved by the KD tree for fine registration, significantly improving the registration accuracy and efficiency. The present invention adopts the simplified point feature histogram (SFPH), which simplifies the required point cloud data amount on the basis of the fast point feature histogram (FPFH), and improves efficiency while ensuring accuracy.
[0057] Example 1
[0058] like Figure 1-Figure 5 As shown, a fastener pose measurement method based on point cloud processing includes the following steps:
[0059] S1. Use a camera to shoot the scene of the bolt to be tightened and obtain point cloud information;
[0060] S2. Preprocess the point cloud information to obtain the target point cloud Q and the source point cloud P;
[0061] S3, fusing the three-dimensional scale-invariant feature transform and the fast point feature histogram to calculate the first key point features of the target point cloud Q and the source point cloud P, screening the first key points and determining the second key points;
[0062] S4. Calculate the fast point feature histogram of the second key point, use the SAC-IA algorithm to perform coarse registration on the bolt point cloud, and obtain the initial estimated value of the rotation and translation relationship of the bolt point cloud;
[0063] S5. Use the KD tree improved ICP algorithm for precise registration to finally obtain the accurate position information of the bolt.
[0064] In this embodiment, the overall workflow is as follows:
[0065] 1. Use a 3D camera to capture point cloud information of the scene where the bolts are to be tightened. The 3D camera is mounted on the end of the robot and takes pictures at a working distance of 200-300mm from the bolt workpiece plate to obtain the bolt point cloud information.
[0066] 2. Perform point cloud preprocessing. Perform a point cloud pass-through filtering operation on the bolt point cloud captured by the camera to remove background data irrelevant to the bolt point cloud. Then, perform voxel downsampling to filter out noise and some outliers. Distance clustering is used to segment and obtain a single bolt point cloud cluster.
[0067] 3. Key point feature calculation: A method that combines the three-dimensional scale-invariant feature transform (3D-SIFT) and the fast point feature histogram (FPFH) is used to calculate the feature descriptors of the key points of the bolt point cloud.
[0068] 4. Coarse registration: The bolt point cloud is coarsely registered using the sampled consistency initial registration algorithm (SAC-IA) to obtain the initial estimate of the rotation and translation relationship of the bolt point cloud.
[0069] 5. Fine alignment: The ICP algorithm improved by the KD tree is used for fine alignment to obtain the accurate position information of the bolt.
[0070] The key point feature calculation includes the following process:
[0071] S31, establishing a scale space for the source point cloud P and the target point cloud Q, and convolving the three-dimensional Gaussian kernel function with the point cloud to obtain the scale space of the point cloud;
[0072] S32. Calculate the scale space of adjacent point clouds using a Gaussian difference operator to obtain a Gaussian difference operator space. If any point cloud has a maximum value or a minimum value in the Gaussian difference operator space of its twenty-six adjacent point clouds, then use the point cloud as the first key point.
[0073] S33. Set a tolerance range for the score checking operator, and select and determine the second key point from the first key point.
[0074] The coarse registration specifically includes:
[0075] S41, calculating a simplified point feature histogram of any second key point extracted and screened;
[0076] S42. Weighting the simplified point feature histogram to obtain a final fast point feature histogram.
[0077] The final fast point feature histogram has the following formula:
[0078]
[0079] p q is the qth second key point; p i For p q The i-th adjacent point cloud of i The second key point p q and neighboring point p iThe distance between two points; k is the total number of adjacent point clouds; i is the sequence number of the adjacent point cloud; SPFH is the simplified point feature histogram; FPFH is the fast point feature histogram.
[0080] In this embodiment, the specific process of calculating the key points is as follows:
[0081] (1) First, establish the scale space. Convolve the three-dimensional Gaussian kernel function G(x, y, z, σ) with the point cloud P(x, y, z) to obtain the scale space L(x, y, z, σ) of the point cloud, as shown in Equation (1). The expression of G(x, y, z, σ) is shown in Equation (2).
[0082] L(x,y,z,σ)=G(x,y,z,kσ)×P(x,y,z) (1)
[0083]
[0084] Here, L(x, y, z, σ) is the point cloud scale space, G(x, y, z, σ) is the Gaussian kernel function, P(x, y, z) represents the spatial information of the point cloud position, × represents the convolution operation, and σ is the spatial scale factor, which defines the starting scale of the scale space. Its value is usually set based on the average point spacing of the point cloud data or the minimum feature size expected to be detected. In this study, it was set to 0.005 based on experimental debugging. k represents the scale factor. By setting different scales to generate point cloud Gaussian pyramids, assuming the number of inner layers of each pyramid group is s, then set ks = 2.
[0085] Determine the first key point: Use the Difference of Guassian (DoG) operator D(x, y, z, k i σ) detects stable extreme points and determines their positions and corresponding scales. The DoG space is obtained by subtracting the point clouds smoothed by two adjacent scale layers, as shown in Equation (3).
[0086] D(x,y,z,k i σ)=L(x,y,z,k i+1 σ)-L(x,y,z,k i σ) (3)
[0087] Among them, i∈[0,s+2], k i 、k i+1 Represents the point cloud after smoothing of two adjacent scale layers, D(x,y,z,k i σ) is a set, each point cloud has a corresponding D value, each point cloud needs to be compared with the 26 adjacent point clouds in its adjacent scale space, and the D values are compared. If the D (x, y, z, k iIf the σ) operator is the maximum or minimum value in the adjacent point cloud, then the point cloud is the first key point to be sought.
[0088] Screening and determining the second keypoint. The first keypoint in the DoG space alone is not sufficient to become the second keypoint. Further screening is required to improve its stability and uniqueness, and to reduce the number of first keypoints. By setting the tolerance range of the differential operator to 0.002, if the value is lower than this, the point is considered to have too low contrast and is easily affected by noise, and is removed, thus ultimately obtaining a stable second keypoint.
[0089] The coarse registration further comprises:
[0090] S43, searching for several regions with similar local features in the source point cloud P and the target point cloud Q, and selecting one of the regions as the registration region;
[0091] S44, calculate the posture transformation matrix between the two registration areas, and find a set of optimal posture transformation matrices T from the posture transformation matrix SAC-IA , and then calculate the distance deviation and the Huber function after transformation. The Huber function is used to evaluate the performance of the current registration transformation. The expression of the Huber function is:
[0092]
[0093] Where δ is Huber's parameter, d i Represents the distance difference of the matching area in group i; i represents the sequence number of the point cloud.
[0094] S45, based on the initial posture transformation matrix T between the source point cloud P and the target point cloud Q SAC-IA , perform preliminary registration of the two point clouds so that the two point clouds are preliminarily aligned globally and obtain a new point cloud set P′.
[0095] In this embodiment, the FPFH of the second key point is calculated (a method of fusing three-dimensional scale-invariant feature transform 3D-SIFT and fast point feature histogram FPFH to speed up the calculation speed and improve the subsequent registration accuracy).
[0096] The FPFH 3D descriptor is used to find the correspondence between the target point cloud Q and the source point cloud P.
[0097] First calculate any second key point p q Each point p in the k-neighborhood of i The simplified point feature histogram (Simple PFH, SPFH) is then weighted to obtain the FFPH feature. While maintaining the descriptor recognition characteristics, it reduces the algorithm complexity and has higher computational efficiency. For any second key point p q, only the points adjacent to itself in the neighborhood k are calculated, which is the SPFH. The generated histogram is weighted with the histogram of the query point to form the FPFH. The calculation principle is as follows Figure 4 As shown. The calculation formula is formula (4):
[0098]
[0099] Where p q is the qth second key point; p i For p q The i-th adjacent point cloud of i The second key point p q and neighboring point p i The distance between two points; k is the total number of adjacent point clouds; i is the sequence number of the adjacent point cloud; SPFH is the simplified point feature histogram; FPFH is the fast point feature histogram.
[0100] Then, the SAC-IA algorithm is used to perform rough registration on the bolt point cloud to obtain the initial estimated values of rotation and translation. The specific steps are as follows:
[0101] 1) Find several regions with similar local features in the source point cloud P and the target point cloud Q, and select one of them as the registration region.
[0102] 2) Calculate the posture transformation matrix between the two registration areas, and then calculate the distance deviation after the transformation using the Huber function, as shown in formula (5):
[0103]
[0104] Where δ is Huber's parameter, d i Represents the distance difference of the matching area in group i. Thus, a set of optimal posture transformation matrices T is found among all possible posture transformation matrices SAC-IA By minimizing the total distance deviation of all matches, the optimal registration transformation matrix is determined to obtain the initial pose parameters for coarse registration.
[0105] Based on the initial pose transformation matrix T between point clouds P and Q SAC-IA , performing a preliminary registration of the two point clouds, achieving a preliminary global alignment. This results in new point cloud sets P′ and Q. The SAC-IA algorithm can achieve approximate registration between two point clouds, achieving a certain degree of point cloud overlap, but its registration accuracy is still insufficient. Therefore, the SAC-IA registration results are often used as the initial solution for the ICP algorithm.
[0106] The precise registration specifically includes:
[0107] S51, using the roughly registered point cloud set P′ and the target point cloud Q as data sources for fine registration;
[0108] S52, establishing a KD tree for the data source, accelerating the search for adjacent point sets, and finding the nearest point cloud to obtain the corresponding point cloud set;
[0109] S53, calculating the transformation relationship based on the corresponding point cloud set, and solving the rotation matrix R and translation vector T of the coordinate transformation matrix;
[0110] S54, iteratively optimize the coordinate transformation matrix to find the value of the minimized error function f(R, T), the expression of the minimized error function is:
[0111]
[0112] R is the rotation matrix; T is the translation vector; k represents the total number of point clouds; q i is the i-th point in the target point cloud Q; is the converted point cloud set; To represent the distance error difference.
[0113] The point cloud error after precise registration is used as the condition for terminating the iteration, and the maximum number of iterations and the convergence threshold are set accordingly.
[0114] If it is greater than the convergence threshold, the iteration continues; otherwise, the registration result is considered to have converged and the iteration ends; the final precise registration coordinate transformation matrix T is obtained. icp , the final output posture information is T = T icp ×T SAC-IA .
[0115] If the maximum number of iterations is reached, the iteration ends and the final precise registration coordinate transformation matrix T is obtained. icp , the final output posture information is T = T icp ×T SAC-IA .
[0116] In this embodiment, the specific process of fine matching is as follows: the point cloud set P′ after SAC-IA coarse registration and the target point cloud Q are used as data sources;
[0117] Establish a KD tree for the data source to accelerate the neighborhood search point set, find the nearest point, and obtain the corresponding point set;
[0118] Calculate the transformation relationship based on the nearest neighbor point pair and solve the R and T of the coordinate transformation matrix;
[0119] Repeat the above steps (ie, S52 and S53), iteratively optimize the transformation matrix, and minimize the value of the error function f(R, T).
[0120]
[0121] R is the rotation matrix, T is the translation vector. k represents the total number of point clouds. i is the target point cloud, is the converted point cloud set. Indicates the distance difference.
[0122] The point cloud error after registration is used as the condition for terminating the iteration. The maximum number of iterations and the convergence threshold are set. If the error is greater than a certain threshold, the iteration continues. Otherwise, the registration result is considered to have converged and the iteration ends. Alternatively, the iteration ends when the maximum number of iterations is reached. The final precise registration coordinate transformation matrix T is obtained. icp , the final output posture information is T = T icp ×T SAC-IA .like Figure 5 The figure shows the precise registration result, where the green point cloud represents the conversion result after optimization by the ICP algorithm.
[0123] The construction of the KD tree includes the following processes:
[0124] S521. Select a split dimension, calculate the variance values of the point cloud set P′ and the target point cloud Q in the three dimensions of x, y, and z, and select the dimension with the largest variance as the node split dimension, so that the data is as dispersed as possible after splitting, thereby improving the balance of the tree and the search efficiency;
[0125] S522. Select a split point, arrange the data points of the current node along the selected split dimension, and take the median point as the split point, that is, the root node of the current subtree. The median point divides the current space into two left and right subspaces along the split dimension.
[0126] S523. Recursively construct subtrees, and divide the point set that is not greater than the median on the left side of the split point into the left subtree, and the point set that is greater than the median on the right side into the right subtree. Recursively perform S521 and S522 on the left and right subtrees until the number of points contained in the child node is less than the maximum number of points of the leaf node, which is 1. Then stop splitting and form a leaf node.
[0127] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in the present invention, and such modifications or substitutions are intended to be within the scope of protection of the present invention. Therefore, the scope of protection of the present invention shall be subject to the scope of protection of the claims.
Claims
1. A fastener pose measurement method based on point cloud processing, characterized in that: The method The following processes are included: S1. Use a camera to shoot the scene of the bolt to be tightened and obtain point cloud information; S2. Preprocess the point cloud information to obtain the target point cloud Q and the source point cloud P; S3, fusing the three-dimensional scale-invariant feature transform and the fast point feature histogram to calculate the first key point features of the target point cloud Q and the source point cloud P, screening the first key points and determining the second key points; S4. Calculate the fast point feature histogram of the second key point, use the SAC-IA algorithm to perform coarse registration on the bolt point cloud, and obtain the initial estimated value of the rotation and translation relationship of the bolt point cloud; S5. Use the KD tree improved ICP algorithm for precise registration to finally obtain the accurate position information of the bolt.
2. The method for measuring fastener posture based on point cloud processing according to claim 1, characterized in that: The key point feature calculation includes the following process: S31, establishing a scale space for the source point cloud P and the target point cloud Q, and convolving the three-dimensional Gaussian kernel function with the point cloud to obtain the scale space of the point cloud; S32. Calculate the scale space of adjacent point clouds using a Gaussian difference operator to obtain a Gaussian difference operator space. If any point cloud has a maximum value or a minimum value in the Gaussian difference operator space of its twenty-six adjacent point clouds, then use the point cloud as the first key point. S33. Set a tolerance range for the score checking operator, and select and determine the second key point from the first key point.
3. The method for measuring fastener posture based on point cloud processing according to claim 1, characterized in that: The coarse registration specifically includes: S41, calculating a simplified point feature histogram of any second key point extracted and screened; S42. Weighting the simplified point feature histogram to obtain a final fast point feature histogram.
4. The method for measuring fastener posture based on point cloud processing according to claim 3, characterized in that: The final fast point feature histogram has the following formula: p q is the qth second key point; p i For p q The i-th adjacent point cloud; w i The second key point p q and neighboring point p i The distance between two points; k is the total number of adjacent point clouds; i is the sequence number of the adjacent point cloud; SPFH is the simplified point feature histogram; FPFH is the fast point feature histogram.
5. The method for measuring fastener posture based on point cloud processing according to claim 3, characterized in that: The coarse registration further comprises: S43, searching for several regions with similar local features in the source point cloud P and the target point cloud Q, and selecting one of the regions as the registration region; S44, calculate the posture transformation matrix between the two registration areas, and find a set of optimal posture transformation matrices T from the posture transformation matrix SAC-IA , and then calculate the distance deviation and the Huber function after transformation. The Huber function is used to evaluate the performance of the current registration transformation. The expression of the Huber function is: Where δ is Huber's parameter, d i Represents the distance difference of the matching area in group i; i represents the sequence number of the point cloud. S45, based on the initial posture transformation matrix T between the source point cloud P and the target point cloud Q SAC-IA , perform preliminary registration of the two point clouds so that the two point clouds are preliminarily aligned globally and obtain a new point cloud set P′.
6. The method for measuring fastener posture based on point cloud processing according to claim 5, characterized in that: The precise registration specifically includes: S51, using the roughly registered point cloud set P′ and the target point cloud Q as data sources for fine registration; S52, establishing a KD tree for the data source, accelerating the search for adjacent point sets, and finding the nearest point cloud to obtain the corresponding point cloud set; S53, calculating the transformation relationship based on the corresponding point cloud set, and solving the rotation matrix R and translation vector T of the coordinate transformation matrix; S54, iteratively optimize the coordinate transformation matrix to find the value of the minimized error function f(R, T), the expression of the minimized error function is: R is the rotation matrix; T is the translation vector; k represents the total number of point clouds; q i is the i-th point in the target point cloud Q; is the converted point cloud set; To represent the distance error difference.
7. The method for measuring fastener posture based on point cloud processing according to claim 6, characterized in that: The point cloud error after precise registration is used as the condition for terminating the iteration, and the maximum number of iterations and the convergence threshold are set accordingly.
8. The method for measuring fastener posture based on point cloud processing according to claim 7, characterized in that: If it is greater than the convergence threshold, the iteration continues; otherwise, the registration result is considered to have converged and the iteration ends; the final precise registration coordinate transformation matrix T is obtained. icp , the final output posture information is T = T icp ×T SAC-IA .
9. The method for measuring fastener posture based on point cloud processing according to claim 7, characterized in that: If the maximum number of iterations is reached, the iteration ends and the final precise registration coordinate transformation matrix T is obtained. icp , the final output posture information is T = T icp ×T SAC-IA .
10. The method for measuring fastener posture based on point cloud processing according to claim 6, characterized in that: Construction of the KD tree The following processes are included: S521. Select a split dimension, calculate the variance values of the point cloud set P′ and the target point cloud Q in the three dimensions of x, y, and z, and select the dimension with the largest variance as the node split dimension, so that the data is as dispersed as possible after splitting, thereby improving the balance of the tree and the search efficiency; S522. Select a split point, arrange the data points of the current node along the selected split dimension, and take the median point as the split point, that is, the root node of the current subtree. The median point divides the current space into two left and right subspaces along the split dimension. S523. Recursively construct subtrees, and divide the point set that is not greater than the median on the left side of the split point into the left subtree, and the point set that is greater than the median on the right side into the right subtree. Recursively perform S521 and S522 on the left and right subtrees until the number of points contained in the child node is less than the maximum number of points of the leaf node, which is 1. Then stop splitting and form a leaf node.
Citation Information
Patent Citations
Complex component point cloud splicing method and system based on feature fusion
CN113160287A