CPC G06F 30/15 (2020.01) [B64C 1/00 (2013.01)] | 7 Claims |
1. A method for analyzing fuselage profile based on measurement data of an aircraft, comprising:
(S1) acquiring point-cloud data of the aircraft via a laser scanner, selecting point-cloud data of a fuselage component from the point-cloud data of the aircraft, and setting a bounding box of the point-cloud data of the fuselage component;
(S2) based on a weighted locally optimal projection (WLOP) operator, extracting a medial axis of the fuselage component from the point-cloud data of the fuselage component according to Ll median curve-skeleton concept of point cloud;
(S3) uniformly sampling the medial axis of the fuselage component into a plurality of skeleton points, and extracting a discrete point set of a cross-section of the fuselage component;
(S4) performing circle fitting on the discrete point set of the cross-section of the fuselage component to obtain a fitted circle of each cross-section slice of the fuselage component and parameters of the fitted circle; and
(S5) calculating a deformation displacement measurement indicator μ of the cross-section of the fuselage component to evaluate a profile of the cross-section of the fuselage component;
wherein the step (S2) comprises:
subjecting the point-cloud data of the fuselage component to smoothing and resampling based on the WLOP operator; and
extracting Ll median skeletons varying in size from the point-cloud data of the fuselage component by using a L1 median target energy function with a regular term based on the L1 median curve-skeleton concept to obtain the medial axis of the fuselage component; and
the step (S4) comprises:
(S401) regarding any cross-section slice Sv, initializing parameters of random sample and consensus (RANSAC) algorithm, setting the maximum number of iterations W, and assuming a score S(c0) and a threshold of an initial candidate circle c0;
(S402) calculating a sampling probability of each point inside the cross-section slice based on sampling point density of the cross-section slice; wherein the sampling probability of each point inside the cross-section slice is expressed as follows:
wherein PVk indicates a sampling probability of a k-th point inside the cross-section slice; DVk indicates a sampling density of the k-th point inside the cross-section slice; |l| indicates the number of points contained in a local neighborhood l centered around the k-th point; r is a radius of the local neighborhood l; Dmax indicates a maximum sampling density inside the cross-section slice; and Dmin indicates a minimum sampling density inside the cross-section slice;
(S403) during one circle fitting, replacing random sampling in the RANSAC algorithm with sampling based on the sampling probability obtained in (S402), and calculating parameters (ad, bd, rd) of a candidate circle Ca corresponding to the sampling probability, wherein as indicates a first point on the candidate circle Cd; bd indicates a second point on the candidate circle Cd, and rd indicates a radius of the candidate circle Cd;
(S404) counting a sampling density of each inlier in an inlier set within a threshold of the candidate circle Cd, and taking the sampling density as a score S(Cd)=Σe=1mDte of the candidate circle Cd, wherein m represents the number of inliers; e is an index of the inliers; and Dte is a sampling density of an e-th inlier in the inlier set;
(S405) if S(Cd)>S(C0), assigning S(Cd) to S(c0), and deriving the parameters (ad, bd, rd) of the candidate circle Cd; and
(S406) if the number of fittings N<W, repeating steps (S403)-(S405), and if N≥W, obtaining fitted circles of all cross-section slices and parameters thereof.
|