A method and apparatus for three-dimensional measurement of the overall shape of a large aircraft based on multi-component collaboration
By employing a multi-component collaborative 3D measurement method, utilizing local viewpoint registration and sparse pose graph technology, the accuracy and efficiency issues of large aircraft shape measurement were resolved, achieving high-precision aircraft shape measurement and data acquisition.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- NANJING UNIV OF AERONAUTICS & ASTRONAUTICS
- Filing Date
- 2025-04-11
- Publication Date
- 2026-05-26
AI Technical Summary
In existing technologies, single measuring devices are insufficient to meet the high precision, high efficiency and economic requirements of large aircraft shapes, especially in terms of limited measurement range, insufficient ability to capture details of complex curved surfaces and susceptibility to environmental factors.
A three-dimensional measurement method for the overall shape of a large aircraft based on multi-component collaboration is adopted. By acquiring the shape contour point cloud from different local perspectives, registration is performed using local positioning references, and sparse pose graph and feature matching techniques are combined to generate the complete overall shape contour point cloud of the large aircraft.
It has achieved high-precision and high-efficiency measurement of the shape of large aircraft, improved the quality of aircraft manufacturing and assembly, and obtained accurate point cloud data of various parts.
Smart Images

Figure CN120374884B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of aviation manufacturing technology, and in particular to a method and apparatus for three-dimensional measurement of the overall shape of a large aircraft based on multi-component collaboration. Background Technology
[0002] With the rapid development of the aviation industry, the precision requirements for the design and manufacturing of large aircraft are constantly increasing. In the process of overall aircraft manufacturing and assembly, three-dimensional measurement of the aircraft's shape has become a crucial step, as its measurement accuracy directly affects the aerodynamic performance, structural strength, and assembly quality of the entire aircraft. However, due to the large size and complex structure of aircraft, traditional measurement methods (such as contact measurement or single laser measurement equipment) are difficult to simultaneously meet the demands for high precision, high efficiency, and economy.
[0003] In existing technologies, single measuring devices typically suffer from limited measurement range, insufficient ability to capture details of complex curved surfaces, and susceptibility to environmental factors. To address these challenges, the industry has gradually explored automated measurement technologies to achieve efficient 3D measurement of the shape of large aircraft using automated equipment. However, existing automated measuring equipment still has many shortcomings in practical applications. For example, different measuring devices exhibit significant error differences in local coordinate systems, making it difficult to achieve consistent calibration of the measurement coordinate system. Furthermore, the overall stability and accuracy of the system still need improvement. Summary of the Invention
[0004] To address the shortcomings of existing technologies, this invention provides a method and apparatus for three-dimensional measurement of the overall shape of a large aircraft based on multi-component collaboration. This solves the technical problems that single measuring devices typically have limited measurement range, insufficient ability to capture details of complex curved surfaces, and susceptibility to environmental factors.
[0005] To solve the above-mentioned technical problems, the present invention provides the following technical solution: a three-dimensional measurement method for the overall shape of a large aircraft based on multi-component collaboration, the method comprising the following steps:
[0006] S1. Obtain the point cloud of the overall shape of the large aircraft from different local perspectives, and register the point cloud of the overall shape based on the local positioning reference to obtain the local shape point cloud of the aircraft.
[0007] S2. Register the local shape contour point cloud under different local perspectives to obtain the registration result of any two pairs of point cloud data containing key points for feature matching. The registration result is the rigid transformation set {R,t} between different point cloud data in the local shape contour point cloud, that is, the rotation matrix R and the translation vector t.
[0008] S3. Estimate the similarity between any two pairs of point cloud data based on key points, and construct a sparse pose graph G(V,E) using the similarity between any two pairs of point cloud data and the overlap prior during the scanning process.
[0009] S4. Based on the sparse pose graph G(V,E), register the local shape contour point clouds obtained from different local perspectives to generate the complete overall shape contour point cloud of the large aircraft.
[0010] Furthermore, in step S2, the specific process includes the following steps:
[0011] S21. Preprocess the local shape contour point cloud under different local views. The preprocessing includes removing useless noise points in the local shape contour point cloud.
[0012] S22. Calculate the normal direction and curvature of each point in the local contour point cloud, and use downsampling combining the normal direction and curvature to obtain a subset of the point cloud data that needs to be registered, i.e., as key points for feature matching.
[0013] S23. Based on the normal information corresponding to the key points, generate feature vectors for the key points using the RCS feature descriptor.
[0014] S24. Based on the feature vectors of key points Generate a set of correspondences C for key points using the NNSR feature matching method. Nodes ;
[0015] S25. Based on the normal information corresponding to each point in the local contour point cloud, calculate the FPFH feature vector FPFH(p) for each point in the local contour point cloud. i );
[0016] S26. Based on the Euclidean distance between the coordinates of each point in the local outline point cloud and the coordinates of the key points, divide the points in the local outline point cloud into smaller local point clouds of different ranges.
[0017] S27. Based on the set of correspondences of key points C Nodes The FPFH feature vector of each point in the local point cloud corresponding to each key point is FPFH(p i By using feature matching, a rigid transformation between each pair of keypoint correspondences is generated, resulting in a set of rigid transformations for the keypoints.
[0018] S28. Utilize the set of all global correspondences C = {C1∪C2∪…∪C N}, from the rigid transformation set R = {R i |i=1,...,N} and t={t iChoose the most suitable rigid transformation from |i=1,...,N} and It is a rigid transformation between any two pairs of point cloud data.
[0019] Furthermore, in step S22, the specific process includes the following steps:
[0020] S221. Use K-nearest neighbor or radius search to obtain any point p in the local contour point cloud. i neighborhood point set Construct the covariance matrix C and perform eigenvalue decomposition to obtain the eigenvalues λ. l ,in:
[0021] The expression for the covariance matrix C is:
[0022]
[0023] The expression for eigenvalue decomposition is:
[0024] C·v l =λ l v l l = 1, 2, 3
[0025] In the formula, For the neighborhood point set O(p) i The centroid of ); k is the set of neighborhood points O(p i The number of midpoints; p j Let be the neighborhood of point pi; T is the transpose sign; v l For the eigenvalue λ l The corresponding eigenvector; D thres The neighborhood radius;
[0026] S222. For the eigenvalues λ0 < λ1 < λ2 of the covariance matrix C, the eigenvector v0 corresponding to the smallest eigenvalue λ0 is the candidate normal direction, based on the viewpoint v. viewpoint The coordinates can be used to obtain the normal vector n. i ,Right now:
[0027]
[0028] S223, Based on the eigenvalues λ of the covariance matrix C l Calculate curvature σ i The calculation formula is:
[0029]
[0030] S224, According to the normal vector n i and curvature σ iThe local outline point cloud is divided into voxels, and the comprehensive score S of all points within each voxel is calculated. i The calculation formula is:
[0031]
[0032] In the formula, n j For the neighborhood point p j The normal vector;
[0033] S225. Retain the k points with the highest scores. After voxel downsampling, these points are the keypoints, forming the keypoint set Nodes. P .
[0034] Furthermore, in step S23, the specific process includes the following steps:
[0035] S231. For the key point set Nodes P Each point in Construct a local coordinate system using its normal vector and the weighted projection vector of its neighboring points.
[0036] S232, Set the key points Nodes P Transform to local coordinate system Obtain the surface and around the local coordinate system Z-axis rotation N rot Each rotation is θ. i Generate a set of rotated surfaces
[0037] S233, For each rotated surface Projected onto local coordinate system The XY plane is used to extract the projected contour point set.
[0038] S234, with points Centered on the XY plane, the plane is divided into 12 equally oriented sector regions, and the contour point set Sector within each sector region is calculated. j Maximum radial distance d j As a 12-dimensional contour signature f i ,Right now:
[0039]
[0040] In the formula, c k For each sector, a set of contour points is provided. j points within;
[0041] S235. Concatenate the contour signatures {f1,f2,...,f6} generated by the 6 rotations in sequence to obtain a 72-dimensional RCS feature vector. The expression is:
[0042]
[0043] In the formula, Concat(·) represents a sequential concatenation operation.
[0044] Furthermore, in step S24, the specific process includes the following steps:
[0045] S241. Using the feature vectors of key points in any pair of local contour point clouds P and Q, As the source feature set and target feature set
[0046] S242, Regarding source features In the target feature set Searching for target features that are its nearest neighbors Target features of the second nearest neighbor And calculate the distances d1 and d2 between them, that is:
[0047]
[0048] S243. Calculate each potential correspondence based on distances d1 and d2. The assigned matching score s f (c i The calculation formula is:
[0049]
[0050] S244, Traverse all source features Generate an initial set of correspondences And based on the matching score s of each corresponding relationship f (c i Generate a set of correspondences for key points, C. Nodes The expression is:
[0051] C Nodes ={c i ∈C|s f (c i )>τ}
[0052] In the formula, τ is the matching score threshold; C is the global set of correspondences.
[0053] Furthermore, in step S25, the specific process includes the following steps:
[0054] S251. Based on any point p in the local outline point cloud. i and neighboring point p j normal vector n i n j Construct a local coordinate system and calculate three angular parameters: normal deviation angle α, projection angle φ, and pitch angle θ, where:
[0055] The formula for calculating the normal deviation angle α is:
[0056] α = arccos(n) i ,n j )
[0057] The formula for calculating the projection angle φ is:
[0058] φ=arctan2(y·(p j -p i ),x·(p j -p i ))
[0059] The formula for calculating the pitch angle θ is:
[0060]
[0061] In the formula, x and y are based on point p, respectively. i The unit vectors in the x-axis and y-axis directions in the local coordinate system;
[0062] S252. Divide each angle parameter into 11 statistical sub-intervals, generate three independent histograms, and concatenate them to form the feature histogram SPFH(p) of the point. i );
[0063] S253, Point p i and its neighborhood point set Combining feature histogram SPFH(p) i The FPFH feature vector FPFH(p) is obtained by weighted calculation for each point. i The calculation formula is:
[0064]
[0065] In the formula, K is the point p i Neighborhood point set O(p) i The number of midpoints; p k Let k be the point with index k in the neighborhood point set; ε is a minimal constant to prevent the denominator from being zero.
[0066] Furthermore, in step S27, the specific process includes the following steps:
[0067] S271, Based on key points Extract its local point cloud and FPFH characteristic matrix and And calculate the cost matrix Cos of cosine similarity. i ,Right now:
[0068]
[0069] In the formula, For feature dimensions;
[0070] S272, Based on the cost matrix Cos i The soft allocation matrix Z is solved iteratively using the Sinkhorn algorithm. i =Sinkhorn(C i ,τ), and extract the set of matching points C of high-confidence corresponding relationship points using a mutual top-k screening strategy. i ;
[0071] S273, Based on the set of matching points C i ={(p j ,q k )}, calculate the matching point set C i The center of mass μ P and μ Q The calculation formula is:
[0072]
[0073] In the formula, p j ,q k These represent local point clouds. and The j,k-th point;
[0074] S274, According to the centroid μ P and μ Q Construct the centroid-free coordinate matrix P c =[p j -μ P ] and Q c =[qk-μ Q ], and calculate the covariance matrix. Obtain the optimal rotation matrix R i and the optimal translation vector t i ;
[0075] S275, Based on the optimal rotation matrix R i and the optimal translation vector t i The rigid transformation set R = {R} that constitutes the key points i |i=1,...,N} and t={t i|i=1,...,N}.
[0076] Furthermore, in step S3, the specific process includes the following steps:
[0077] S31. Based on the point cloud data P from each viewpoint i eigenvectors Extract global features using the NetVLAD layer. And normalize it;
[0078] S32, For any two pairs of point cloud data (P i ,P j The overlap s of two point clouds is quantified by cosine similarity. ij The calculation formula is:
[0079] s ij =(F i T F j +1) / 2
[0080] In the formula, F i With F j These are two pairs of point cloud data (P) i ,P j Global features corresponding to ) and T represents transpose;
[0081] S33, Based on two pairs of point cloud data (P) i ,P j Overlapping priors of scans ij ∈{0,1}, and overlap s ij Calculate any two pairs of point cloud data (P i ,P j The similarity S ij The calculation formula is:
[0082] S ij =o ij s ij
[0083] S34. Based on the point cloud data P from each viewpoint i Construct the sparse pose graph G(V,E) with vertices V = {P} i For each point cloud data P i Select similarity S ij The set of edges E is constructed from the highest k adjacent vertex clouds, expressed as:
[0084]
[0085] S35. On each edge (i,j)∈E of the sparse pose graph G(V,E), the value is the point cloud data P. i With P j Relative pose T ij =(R ij ,t ij ).
[0086] Furthermore, in step S4, the specific process includes the following steps:
[0087] S41. Calculate the initial weight of edge E in the sparse pose graph G(V,E), and update the value of edge E through rotation synchronization and translation synchronization to obtain a new sparse pose graph G′(V′,E′).
[0088] S42. Recalculate the edge weights based on the new sparse pose graph G′(V′,E′) and iterate six times to generate the final sparse pose graph G″(V″,E″).
[0089] S43. Based on the final sparse pose graph G″(V″,E″) and the corresponding weights, generate a weight-based spanning tree, and apply the ICP algorithm to the root node and its neighboring nodes to optimize the relative pose through the spanning tree.
[0090] S44. Transform adjacent nodes using their relative poses and merge them with the root node to update the spanning tree as the new root node, i.e.:
[0091] Child node P child By transforming T child Transform to the root node coordinate system, that is:
[0092] P′ child =R child P child +t child
[0093] And merge it with the root node to form the new root node P′ root =P root ∪P′ child ;
[0094] S45. Iterate through the above two steps until only one node remains, thus obtaining the complete point cloud of the aircraft's overall shape.
[0095] By employing the above technical solution, the present invention provides a method and apparatus for three-dimensional measurement of the overall shape of a large aircraft based on multi-component collaboration, which has at least the following beneficial effects:
[0096] 1. The three-dimensional measurement method for the overall shape of a large aircraft proposed in this invention can register the high-precision local point cloud data of the aircraft obtained by the measuring device and automatically generate point cloud data of the surface of the large aircraft, so as to achieve high-precision and high-efficiency measurement of large and complex shapes, thereby further improving the manufacturing and assembly quality of the aircraft.
[0097] 2. The three-dimensional measurement device for the overall shape of a large aircraft proposed in this invention can automatically measure the shape of a large aircraft, achieve high-precision fully automatic measurement of the shape of a large and complex aircraft, and acquire accurate point cloud data of various parts of the large aircraft. Attached Figure Description
[0098] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0099] Figure 1 This is a flowchart of the three-dimensional measurement method for the overall shape of a large aircraft in this invention;
[0100] Figure 2 This is a schematic diagram illustrating the measurement of the overall shape of a large aircraft in this invention;
[0101] Figure 3 This is a schematic diagram of a local outline point cloud in this invention;
[0102] Figure 4 This is a flowchart of the pairwise point cloud data registration process in this invention;
[0103] Figure 5 This is a flowchart of multi-view point cloud data registration in this invention;
[0104] Figure 6 This is a schematic diagram of the point cloud of the overall shape of the machine in this invention.
[0105] In the diagram: 1. Motion device; 2. Local measuring device; 3. Auxiliary positioning device. Detailed Implementation
[0106] To make the above-mentioned objects, features, and advantages of the present invention more apparent and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments. This will allow for a full understanding of how the present application uses technical means to solve technical problems and achieve technical effects, and to facilitate its implementation.
[0107] This embodiment proposes a three-dimensional measurement method for the overall shape of a large aircraft based on multi-component collaboration. This method enables automatic measurement of the aircraft's shape and calculates the registration result between any two pairs of point cloud data based on the automatically obtained local measurement data. Then, it combines the local measurement data and the pairwise point cloud registration results to calculate multi-view point cloud registration results and unify the coordinate system, thereby achieving automated acquisition of the three-dimensional data of the overall shape of the large aircraft. Figure 1 As shown, the method includes the following steps:
[0108] S1. Obtain the point cloud of the overall shape contour of the large aircraft from different local perspectives, and register the point cloud of the shape contour based on the local positioning reference to obtain the local shape contour point cloud of the entire aircraft, such as... Figure 3 As shown. In this embodiment, the local positioning reference is provided by the local positioning device, such as... Figure 2 As shown, it consists of a tracking mobile device and a binocular camera. The tracking mobile device is an automated guided vehicle that moves freely in the horizontal direction, with a column mounted on top to track and locate local measuring devices at different positions. The binocular camera is fixed to the column, and its height can be adjusted based on the local measuring devices at different positions, providing the relative pose of the local measuring devices with respect to the local positioning device.
[0109] S2. Register the local contour point clouds from different local perspectives to obtain the registration results for any two pairs of point cloud data containing key points for feature matching. The registration results are the rigid transformation set {R,t} between different point cloud data in the local contour point cloud, i.e., the rotation matrix R and the translation vector t. Figure 4 As shown, the specific process includes the following steps:
[0110] S21. Preprocessing is performed on the local contour point cloud under different local viewpoints. Preprocessing includes removing useless noise points in the local contour point cloud to improve the effect of subsequent processing. In this embodiment, conventional filtering methods are used to further optimize the local contour point cloud, retaining meaningful points while removing redundancy and noise.
[0111] S22. Calculate the normal direction and curvature of each point in the local contour point cloud, and use downsampling combining the normal direction and curvature to obtain a subset of the point cloud data to be registered, i.e., as key points for feature matching. The specific process includes the following steps:
[0112] S221. Use K-nearest neighbor or radius search to obtain any point p in the local contour point cloud. i neighborhood point set Construct the covariance matrix C and perform eigenvalue decomposition to obtain the eigenvalues λ. l ,in:
[0113] The expression for the covariance matrix C is:
[0114]
[0115] The expression for eigenvalue decomposition is:
[0116] C·v l =λ l v l l = 1, 2, 3
[0117] In the formula, For the neighborhood point set O(p) i The centroid of ); k is the set of neighborhood points O(p i The number of midpoints; p j Let be the neighborhood of point pi; T is the transpose sign; v l For the eigenvalue λ l The corresponding eigenvector; D thres The neighborhood radius is 0.05-02, and in this embodiment it can be adjusted according to the point cloud density.
[0118] S222. For the eigenvalues λ0 < λ1 < λ2 of the covariance matrix C, the eigenvector v0 corresponding to the smallest eigenvalue λ0 is the candidate normal direction, based on the viewpoint v. viewpoint The coordinates can be used to obtain the normal vector n. i ,Right now:
[0119]
[0120] S223, Based on the eigenvalues λ of the covariance matrix C l Calculate curvature σ i The calculation formula is:
[0121]
[0122] S224, According to the normal vector n i and curvature σ i The local outline point cloud is divided into voxels, and the comprehensive score S of all points within each voxel is calculated. i The calculation formula is:
[0123]
[0124] In the formula, n j For the neighborhood point p j The normal vector;
[0125] S225. Retain the k points with the highest scores. After voxel downsampling, these points are the keypoints, forming the keypoint set Nodes. P .
[0126] S23. Based on the normal information corresponding to the key points, generate feature vectors for the key points using the RCS feature descriptor. The specific process includes the following steps:
[0127] S231. For the key point set Nodes P Each point in Construct a local coordinate system using its normal vector and the weighted projection vector of its neighboring points. In this embodiment, the local coordinate system The z-axis is the point normal direction The x-axis is obtained by taking the orthogonal projection of the point cloud scanning direction and the normal, and then normalizing it to get... Where v scan The x-axis direction is for the point cloud scanning sensor; the y-axis is calculated using the cross product as y = z × x.
[0128] S232, Set the key points Nodes P Transform to local coordinate system Obtain the surface and around the local coordinate system Z-axis rotation N rot Each rotation is θ. i Generate a set of rotated surfaces Where the number of rotations N rot =6, rotation angle θ i =30°×i (i=0,1,...,5).
[0129] S233, For each rotated surface Projected onto local coordinate system The XY plane is used to extract the projected contour point set C. i ;
[0130] S234, with points Centered on the XY plane, the plane is divided into 12 equally oriented sector regions, and the contour point set Sector within each sector region is calculated. j Maximum radial distance d j As a 12-dimensional contour signature f i ,Right now:
[0131]
[0132] In the formula, c k For each sector, a set of contour points is provided. j Points within; Sectorj is the set of contour points C. i The set of points in each sector region of the XY plane, j = 1, 2, ..., 12;
[0133] S235. Concatenate the contour signatures {f1,f2,...,f6} generated by the 6 rotations in sequence to obtain a 72-dimensional RCS feature vector. The expression is:
[0134]
[0135] In the formula, Concat(·) represents a sequential concatenation operation.
[0136] S24. Based on the feature vectors of key points Generate a set of correspondences C for key points using the NNSR feature matching method. Nodes The specific process includes the following steps:
[0137] S241. Using the feature vectors of key points in any pair of local contour point clouds P and Q, As the source feature set and target feature set
[0138] S242, Regarding source features In the target feature set Searching for target features that are its nearest neighbors Target features of the second nearest neighbor And calculate the distances d1 and d2 between them, that is:
[0139]
[0140] S243. Calculate each potential correspondence based on distances d1 and d2. The assigned matching score s f (c i The calculation formula is:
[0141]
[0142] S244, Traverse all source features Generate an initial set of correspondences And based on the matching score s of each corresponding relationship f (c i Generate a set of correspondences for key points, C. Nodes The expression is:
[0143] C Nodes ={c i ∈C|s f (c i )>τ}
[0144] In the formula, τ is the matching score threshold, which takes a value of 0.6 to 0.8; C is the global correspondence set.
[0145] S25. Based on the normal information corresponding to each point in the local contour point cloud, and using the FPFH feature descriptor as the calculation method, calculate the FPFH feature vector FPFH(p) for each point in the local contour point cloud. i The specific process includes the following steps:
[0146] S251. Based on any point p in the local outline point cloud. i and neighboring point p j normal vector n i n j Construct a local coordinate system and calculate three angular parameters: normal deviation angle α, projection angle φ, and pitch angle θ, where:
[0147] The formula for calculating the normal deviation angle α is:
[0148] α = arccos(n) i ,n j )
[0149] The formula for calculating the projection angle φ is:
[0150] φ=arctan2(y·(p j -p i ),x·(p j -p i ))
[0151] The formula for calculating the pitch angle θ is:
[0152]
[0153] In the formula, x and y are based on point p, respectively. i The unit vectors in the x-axis and y-axis directions of the local coordinate system, wherein the method for constructing the local coordinate system is the same as the method for constructing the local coordinate system of the key points.
[0154] S252. Divide each angle parameter into 11 statistical sub-intervals, generate three independent histograms, and concatenate them to form the feature histogram SPFH(p) of the point. i );
[0155] S253, Point p i and its neighborhood point set Combining feature histogram SPFH(p) i The FPFH feature vector FPFH(p) is obtained by weighted calculation for each point. i The calculation formula is:
[0156]
[0157] In the formula, K is the point pi Neighborhood point set Number of midpoints; p k Let k be the point with index k in the neighborhood point set; ε is a minimal constant to prevent the denominator from being zero.
[0158] S26. Based on the Euclidean distance between the coordinates of each point in the local contour point cloud and the coordinates of the key points, divide the points in the local contour point cloud into smaller local point clouds of different extents. The specific process includes the following steps:
[0159] S261. Based on the local outline point cloud set With key point set The square Euclidean distance between them i,j :
[0160]
[0161] In the formula, Nodes i,d P represents the coordinates of any key point in the keypoint set; j,d Represents the coordinates of any point in the local outline point cloud set;
[0162] S262, According to the square Euclidean distance dist i,j Each point p in the local outline point cloud j Assign the nearest keypoint index, the expression is:
[0163]
[0164] S263. Divide the local point cloud into N groups based on the points in the local outline point cloud corresponding to each key point.
[0165] S27. Based on the set of correspondences of key points C Nodes The FPFH feature vector of each point in the local point cloud corresponding to each key point is FPFH(p i The process involves generating a rigid transformation between each pair of keypoint correspondences through feature matching, resulting in a set of rigid transformations for the keypoints. The specific process includes the following steps:
[0166] S271, Based on key points Extract its local point cloud and FPFH characteristic matrix and And calculate the cost matrix Cos of cosine similarity. i ,Right now:
[0167]
[0168] In the formula, For feature dimensions;
[0169] S272, Based on the cost matrix Cos i The soft allocation matrix Z is solved iteratively using the Sinkhorn algorithm. i =Sinkhorn(C i ,τ), and extract the set of matching points C of high-confidence corresponding relationship points using a mutual top-k screening strategy. i ;
[0170] S273, Based on the set of matching points C i ={(p j ,q k )}, calculate the matching point set C i The center of mass μ P and μ Q The calculation formula is:
[0171]
[0172] In the formula, p j ,q k These represent local point clouds. and The j,k-th point;
[0173] S274, According to the centroid μ P and μ Q Construct the centroid-free coordinate matrix P c =[p j -μ P ] and Q c =[q k -μ Q ], and calculate the covariance matrix. Obtain the optimal rotation matrix R i and the optimal translation vector t i This embodiment performs SVD decomposition on the covariance matrix. The covariance matrix is S=UΣV Τ Calculate the optimal rotation matrix R i =VU Τ and t i =μ Q -R i μ P .
[0174] S275, Based on the optimal rotation matrix R i and the optimal translation vector t i The rigid transformation set R = {R} that constitutes the key points i |i=1,...,N} and t={t i |i=1,...,N}.
[0175] S28. Utilize the set of all global correspondences C = {C1∪C2∪…∪C N}, from the rigid transformation set R = {R i |i=1,...,N} and t={t i Choose the most suitable rigid transformation from |i=1,...,N} and This is a rigid transformation between any two pairs of point cloud data. The specific process includes the following steps:
[0176] S281, Based on each candidate rigid transformation (R) i ,t i ), calculate the number of interior points (Inner) in the global correspondence set C. i ,Right now:
[0177]
[0178] Where, τ a This indicates the acceptable radius for interior points, with a value of 0.15 mm; I is the indicator function, i.e., Iverson(·); Let be a pair of corresponding point clouds in the global correspondence set C.
[0179] S282, Select the rigid transformation with the largest number of interior points (R i ,t i As the initial optimal solution, i.e. And perform N iterations r The final rigid transformation is obtained by solving this problem. This embodiment uses the initial optimal solution to calculate the internal point correspondence C among all corresponding point pairs. inner Then, the internal point correspondence C is decomposed using SVD. inner The optimal solution after one iteration is calculated. Repeat the above process N times. r This yields the final rigid transformation.
[0180] S3. Estimate the similarity between any two pairs of point cloud data based on key points, and construct a sparse pose graph G(V,E) using the similarity between any two pairs of point cloud data and the overlap prior during the scanning process. Here, vertex V represents the point cloud data in the partial outline point cloud, and edge E represents the relative pose between the point cloud data corresponding to the two vertices connected by this edge. This pose is calculated using the pairwise registration method proposed in step S2. The specific process includes the following steps:
[0181] S31. Based on the point cloud data P from each viewpoint i eigenvectors Extract global features using the NetVLAD layer. And normalize it;
[0182] S32, For any two pairs of point cloud data (P i ,P j The overlap s of two point clouds is quantified by cosine similarity. ij The calculation formula is:
[0183] s ij =(F i T F j +1) / 2
[0184] In the formula, F i With F j These are two pairs of point cloud data (P) i ,P j Global features corresponding to ) and T represents transpose;
[0185] S33, Based on two pairs of point cloud data (P) i ,P j Overlapping priors of scans ij ∈{0,1}, and overlap s ij Calculate any two pairs of point cloud data (P i ,P j The similarity S ij The calculation formula is:
[0186] S ij =o ij s ij
[0187] S34. Based on the point cloud data P from each viewpoint i Construct the sparse pose graph G(V,E) with vertices V = {P} i For each point cloud data P i Select similarity S ij The set of edges E is constructed from the highest k adjacent vertex clouds, expressed as:
[0188]
[0189] S35. On each edge (i,j)∈E of the sparse pose graph G(V,E), the value is the point cloud data P. i With P j Relative pose T ij =(R ij ,t ij In this embodiment, the relative pose is the rigid transformation finally obtained in step S282 above, i.e. (R ij ,tij ).
[0190] S4. Based on the sparse pose graph G(V,E), register the local shape contour point clouds obtained from different local viewpoints to generate the complete overall shape contour point cloud of the large aircraft. For example... Figure 5 As shown, in step S4, the specific process includes the following steps:
[0191] S41. Calculate the initial weights of edge E in the sparse pose graph G(V,E), and update the values of edge E using rotation synchronization and translation synchronization to obtain a new sparse pose graph G′(V′,E′). The specific process includes the following steps:
[0192] S411. Based on the value T of any edge (i,j) in the sparse pose graph G(V,E), ij =(R ij ,t ij ), and the corresponding two pairs of point cloud data P i and P j The global correspondence set C ij The number of interior points is calculated as the pairwise registration quality fraction r. ij The calculation formula is:
[0193]
[0194] In the formula, (p i ,p j ) = C ij For the correspondence C in the global correspondence set ij The corresponding point cloud; I is the indicator function, i.e., Iverson(·); τ is the radius that can be accepted as an interior point, with a value of 0.15m;
[0195] S412. The similarity score S of any edge (i,j) in a sparse pose graph G. ij , with registration quality fraction r ij Combine the calculation of the initial weights of edge E in the sparse pose graph G(V,E)
[0196] S413. Based on the initial weights and relative pose... The new rotation matrix is calculated using rotation synchronization, i.e.:
[0197]
[0198] In the formula, R i Let i = 1, ..., N be the point cloud P corresponding to the node with index i in the sparse pose graph G. i The rotation matrix for the global pose of i = 1, ..., N; T is the transpose sign; R jLet j = 1, ..., N be the point cloud P with index j in the sparse pose graph G. j Rotation matrix for the global pose of j = 1, ..., N; For the two point clouds P corresponding to the edge (i,j)∈E in the sparse pose graph G. i and P j The rotation matrix between the initial relative poses; where the superscript is the iteration number, starting from 0.
[0199] S414. Calculate the new translation matrix using translation synchronization, i.e.:
[0200]
[0201] In the formula, t i Let i = 1, ..., N be the point cloud P corresponding to the node with index i in the sparse pose graph G. i The translation matrix for the global pose of i = 1, ..., N; t j Let j = 1, ..., N be the point cloud P corresponding to the node with index j in the sparse pose graph G. j Translation matrix for global pose, j = 1, ..., N; For the two point clouds P corresponding to the edge (i,j)∈E in the sparse pose graph G. i and P j The translation matrix between the initial relative poses; where the superscript is the iteration number, starting from 0.
[0202] S415, Update the value of edge E We obtain a new sparse pose graph G′(V′,E′), where
[0203]
[0204] In the formula, T is the transpose symbol; the superscript indicates the iteration number, starting from 0.
[0205] S42. Recalculate the edge weights based on the new sparse pose graph G′(V′,E′), and iterate six times to generate the final sparse pose graph G″(V″,E″). The specific process includes the following steps:
[0206] S421. Based on the value of edge E in the sparse pose graph G′(V′,E′) Calculate rotational residuals Right now:
[0207]
[0208] In the formula, R i ,i=1,...,N and R jLet j = 1, ..., N be the point cloud P corresponding to the nodes with indices i and j in the sparse pose graph G. i i = 1, ..., N and P j The rotation matrix for the global pose of j = 1, ..., N; Δ(R1, R2) represents the angular difference between rotations R1 and R2; where the superscript is the iteration number, starting from 0.
[0209] S422, Based on rotational residuals coefficient function with iteration number m Calculate the updated weights Right now:
[0210]
[0211] S423, iterate through steps S41 and S42 to generate the final sparse pose graph G″(V″,E″).
[0212] S43. Based on the final sparse pose graph G″(V″,E″) and the corresponding weights, generate a weight-based spanning tree, and apply the ICP algorithm to the root node and its neighboring nodes to optimize the relative pose; the specific process includes the following steps:
[0213] S431. Based on the sparse pose graph G″(V″,E″) and edge weights w ij ∈[0,1], according to edge weight w ij Arrange the edge set E″ in descending order.
[0214] S432. After traversing the sorted edges, if the two vertices connected by the edge belong to different sets, then add the edge to the spanning tree T(V). T E T Specifically: Initialize the spanning tree T(V) T E T The set of vertices V T ={P0|P0∈V″}. Traverse the sorted set of edges. If the two vertices connected by an edge do not both belong to set V... T Then add the edge to the edge set E of the spanning tree. T It will not belong to set V T The vertices in V″ are added to the vertex set. This continues until all vertices in V″ are added to V. T If the condition is met, the algorithm ends.
[0215] S433. The vertex weight is recorded as the sum of the weights of its adjacent edges. Select the vertex with the highest weight as the root node P root For the spanning tree T(V) T E T Each edge (P) in root ,P childUsing the root node coordinate system as a reference, the ICP algorithm is applied to optimize the relative pose of the child nodes to obtain the transformation T. child ,Right now:
[0216]
[0217] In the formula, R and t are the rotation matrix and translation vector, respectively.
[0218] S44. Transform adjacent nodes using their relative poses and merge them with the root node to update the spanning tree as the new root node, i.e.:
[0219] Child node P child By transforming T child Transform to the root node coordinate system, that is:
[0220] P′ child =R child P child +t child
[0221] And merge it with the root node to form the new root node P′ root =P root ∪P′ child ;
[0222] S45. Iterate through the above two steps until only one node remains, thus obtaining the complete point cloud of the large aircraft's overall shape outline. Figure 6 As shown.
[0223] The three-dimensional measurement method for the overall shape of a large aircraft proposed in this invention can register the high-precision local point cloud data of the aircraft acquired by the measuring device and automatically generate point cloud data of the surface of the large aircraft, so as to achieve high-precision and high-efficiency measurement of large and complex shapes, thereby further improving the manufacturing and assembly quality of the aircraft.
[0224] like Figure 2 As shown, this embodiment also provides an apparatus for the above-mentioned three-dimensional measurement method of the overall shape of a large aircraft, including a motion device 1 and a local measurement device 2. The motion device 1 is set according to the position of the large aircraft and drives the local measurement device 2 to move so as to perform scanning measurement on the large aircraft and obtain the shape contour point cloud of the large aircraft from a local perspective. An auxiliary positioning device 3 tracks the local measurement device 2 and registers the shape contour point cloud obtained by the local measurement device 2 based on a local positioning reference to obtain a local shape contour point cloud.
[0225] The motion device 1 includes a three-way moving device disposed on the upper surface area of the large aircraft, including a top translation device that moves in two directions in the horizontal plane, a lifting device that moves in the vertical direction connected to the top translation device, and a local measuring device 2 installed at the tail end of the lifting device. It also includes an automated guided vehicle (AGV) that moves freely in the horizontal plane, with a lifting device that moves in the vertical direction mounted above it, and another local measuring device 2 installed at the tail end of the lifting device. The AGV corresponds to the area on the lower surface of the large aircraft.
[0226] The local measurement device 2 includes a six-degree-of-freedom moving device, which is an industrial robotic arm, installed at the tail end of the lifting device or lifting equipment. This provides the local measurement device 2 with six degrees of freedom scanning angles, enabling the local measurement device 2 to collect point cloud data of the surface of a large aircraft under any surface. It also includes a surface point cloud acquisition device, which is a three-dimensional laser scanner. As a near-field terminal measurement device, it is carried by the industrial robotic arm and used to collect point cloud data of the surface of the large aircraft.
[0227] The auxiliary positioning device 3 includes a tracking and moving device that enables automated acquisition of data for each local acquisition area. This includes an automated guided vehicle that moves freely in the horizontal direction, with a column mounted on top to track and position the local measuring devices 2 at different locations. It also includes a local positioning device, which is a binocular camera fixed to the column. Its height is adjustable based on the location of the local measuring devices 2 and provides the relative pose of the local measuring devices 2 with respect to the auxiliary positioning device 3.
[0228] Those skilled in the art will understand that all or part of the steps in the methods of the above embodiments can be implemented by a program instructing related hardware. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Moreover, this application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0229] The above embodiments provide a detailed description of the present invention. Specific examples have been used to illustrate the principles and implementation methods of the present invention. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of the present invention. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of the present invention. Therefore, the content of this specification should not be construed as a limitation of the present invention.
Claims
1. A method for three-dimensional measurement of the overall shape of a large aircraft based on multi-component collaboration, characterized in that, The method includes the following steps: S1. Obtain the point cloud of the overall shape of the large aircraft from different local perspectives, and register the point cloud of the overall shape based on the local positioning reference to obtain the local shape point cloud of the aircraft. S2. Register the local contour point clouds from different local perspectives to obtain the registration results for any two pairs of point cloud data containing key points for feature matching. The registration results are a set of rigid transformations between different point cloud data in the local contour point cloud. That is, rotation matrix Translation vector The specific process includes the following steps: S21. Preprocess the local shape contour point cloud under different local views. The preprocessing includes removing useless noise points in the local shape contour point cloud. S22. Calculate the normal direction and curvature of each point in the local contour point cloud, and use downsampling combining the normal direction and curvature to obtain a subset of the point cloud data that needs to be registered, i.e., as key points for feature matching. S23. Based on the normal information corresponding to the key points, generate feature vectors for the key points using the RCS feature descriptor. ; S24. Based on the feature vectors of key points The NNSR feature matching method is used to generate a set of correspondences for key points. ; S25. Based on the normal information corresponding to each point in the local contour point cloud, calculate the FPFH feature vector of each point in the local contour point cloud. ; S26. Based on the Euclidean distance between the coordinates of each point in the local outline point cloud and the coordinates of the key points, divide the points in the local outline point cloud into smaller local point clouds of different ranges. S27. Based on the set of correspondences of key points The FPFH feature vector of each point in the local point cloud corresponding to each key point By generating rigid transformations between each pair of keypoint correspondences through feature matching, a set of rigid transformations of keypoints is obtained. S28. Utilize the set of all global correspondences From the set of rigid transformations and Choose the most suitable rigid transformation and As a rigid transformation between any two pairs of point cloud data; S3. Estimate the similarity between any two pairs of point cloud data based on key points, and construct a sparse pose graph using the similarity between any two pairs of point cloud data and the overlap prior during the scanning process. ; S4, Based on Sparse Pose Graph Register the local shape contour point clouds obtained from different local perspectives to generate the complete overall shape contour point cloud of the large aircraft.
2. The method for three-dimensional measurement of the overall shape of a large aircraft according to claim 1, characterized in that, In step S22, the specific process includes the following steps: S221. Use K-nearest neighbor or radius search to obtain any point in the local contour point cloud. neighborhood point set Construct the covariance matrix Then perform eigenvalue decomposition to obtain eigenvalues. ,in: covariance matrix The expression is: ; The expression for eigenvalue decomposition is: , ; In the formula, For the set of neighborhood points The center of mass; For the set of neighborhood points The number of midpoints; For point , neighborhood points; It is the transpose symbol; For eigenvalues The corresponding feature vector; The neighborhood radius; S222, For the covariance matrix eigenvalues Minimum eigenvalue Corresponding feature vector This refers to the candidate normal direction, based on the viewpoint. The coordinates can be used to obtain the normal vector. ,Right now: ; S223, Based on covariance matrix eigenvalues Calculate curvature The calculation formula is: ; S224, based on the normal vector and curvature The local outline point cloud is divided into voxels, and the comprehensive score of all points within each voxel is calculated. The calculation formula is: ; In the formula, For neighborhood points The normal vector; S225. Retain the k points with the highest scores. The points obtained after voxel downsampling are the keypoints, and they form the keypoint set. .
3. The method for three-dimensional measurement of the overall shape of a large aircraft according to claim 1, characterized in that, In step S23, the specific process includes the following steps: S231, For the set of key points Each point in A local coordinate system is constructed using its normal vector and the weighted projection vector of its neighboring points. ; S232, Set the key points Transform to local coordinate system Obtain the surface and around the local coordinate system Z-axis rotation Each rotation angle is [number] times. Generate a set of rotated surfaces ; S233, For each rotated surface Projected onto the local coordinate system The XY plane is used to extract the projected contour point set. ; S234, with points Centered on the XY plane, the plane is divided into 12 equally oriented sector regions, and the set of contour points within each sector region is calculated. Maximum radial distance As a 12-dimensional contour signature ,Right now: ; In the formula, The set of contour points within each sector points within; S235, The outline signature generated by the 6 rotations By concatenating them in order, a 72-dimensional RCS feature vector is obtained. The expression is: ; In the formula, This indicates a sequential concatenation operation.
4. The method for three-dimensional measurement of the overall shape of a large aircraft according to claim 1, characterized in that, In step S24, the specific process includes the following steps: S241. Using the feature vectors of key points in any pair of local contour point clouds P and Q, As the source feature set and target feature set ; S242, Regarding source features In the target feature set Searching for target features that are its nearest neighbors Target features of the second nearest neighbor And calculate the distance between them. and ,Right now: ; S243, Based on distance and Calculate each potential correspondence Allocated matching score The calculation formula is: ; S244, Traverse all source features Generate an initial set of correspondences. And based on the matching score of each corresponding relationship Generate a set of correspondences for key points The expression is: ; In the formula, The matching score threshold; This is the global set of correspondences.
5. The method for three-dimensional measurement of the overall shape of a large aircraft according to claim 1, characterized in that, In step S25, the specific process includes the following steps: S251. Based on any point in the local outline point cloud. and neighboring points normal vector , Construct a local coordinate system and calculate the normal deviation angle. Projection angle and pitch angle Three angle parameters, of which: Normal deviation angle The calculation formula is: ; Projection angle The calculation formula is: ; Pitch angle The calculation formula is: ; In the formula, Point-based The unit vectors in the x-axis and y-axis directions in the local coordinate system; S252. Divide each angle parameter into 11 statistical sub-intervals, generate three independent histograms, and concatenate them to form the feature histogram of the point. ; S253, Point-to-point and its neighborhood point set Combined with feature histogram Perform weighted calculations to obtain the FPFH feature vector for each point. The calculation formula is: ; In the formula, For point Neighborhood point set The number of midpoints; The index within the neighborhood point set is point; It is a very small constant to prevent the denominator from being zero.
6. The method for three-dimensional measurement of the overall shape of a large aircraft according to claim 1, characterized in that, In step S27, the specific process includes the following steps: S271, Based on key points Extract its local point cloud and FPFH characteristic matrix and And calculate the cost matrix of cosine similarity. ,Right now: ; In the formula, , which is the feature dimension; S272, According to the cost matrix The soft allocation matrix is solved iteratively using the Sinkhorn algorithm. The set of matching points for high-confidence corresponding point pairs is extracted using a mutual top-k filtering strategy. ; S273, Based on the set of matching points Calculate the set of matching points center of mass and The calculation formula is: ; ; In the formula, These represent local point clouds. and The One point; S274, According to the centroid and Constructing a centroid-free coordinate matrix and And calculate the covariance matrix. Obtain the optimal rotation matrix and optimal translation vector ; S275, Based on the optimal rotation matrix and optimal translation vector The rigid transformation set constituting the key points and .
7. The method for three-dimensional measurement of the overall shape of a large aircraft according to claim 1, characterized in that, In step S3, the specific process includes the following steps: S31. Based on the point cloud data from each viewpoint eigenvectors Global features are extracted using NetVLAD layers. And normalize it; S32. For any two pairs of point cloud data The overlap between two point clouds is quantified by cosine similarity. The calculation formula is: ; In the formula, and Two pairs of point cloud data Corresponding global features and ; Indicates transpose; S33, Based on two pairs of point cloud data overlapping priors of scans and overlap Calculate any two pairs of point cloud data similarity The calculation formula is: ; S34. Based on the point cloud data from each viewpoint Constructing a sparse pose graph Vertex in For each point cloud data Select similarity The highest k adjacent vertex clouds form the edge set. The expression is: ; S35, in sparse pose graphs Each edge Above, the value is point cloud data. and relative pose .
8. The method for three-dimensional measurement of the overall shape of a large aircraft according to claim 1, characterized in that, In step S4, the specific process includes the following steps: S41. Calculate the sparse pose graph. The initial weights of edge E are determined, and the values of edge E are updated using rotation synchronization and translation synchronization to obtain a new sparse pose graph. ; S42. Based on the new sparse pose graph Recalculate the edge weights and iterate six times to generate the final sparse pose graph. ; S43. Based on the final sparse pose graph With corresponding weights, a weight-based spanning tree is generated, and the relative pose of the root node and its neighboring nodes is optimized by applying the ICP algorithm through the spanning tree. S44. Transform adjacent nodes using their relative poses and merge them with the root node to update the spanning tree as the new root node, i.e.: Child nodes Through transformation Transform to the root node coordinate system, that is: ; And merge it with the root node to create the new root node. ; S45. Iterate through the above two steps until only one node remains, thus obtaining the complete point cloud of the aircraft's overall shape.
9. An apparatus for applying the three-dimensional measurement method for the overall shape of a large aircraft as described in any one of claims 1-8, characterized in that, include: The motion device (1) and the local measurement device (2) are set according to the position of the large aircraft and drive the local measurement device (2) to move so as to scan and measure the large aircraft to obtain the point cloud of the outline of the large aircraft from a local perspective. The auxiliary positioning device (3) obtains the local outline point cloud by tracking the local measuring device (2) and registering the outline point cloud obtained by the local measuring device (2) based on the local positioning reference.