Next Article in Journal
An Analysis of a Complete Aircraft Electrical Power System Simulation Based on a Constant Speed Constant Frequency Configuration
Previous Article in Journal
An Online Data-Driven Method for Accurate Detection of Thermal Updrafts Using SINDy
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Position Normalization of Propellant Grain Point Clouds

by
Junchao Wang
1,
Fengnian Tian
1,*,
Renfu Li
1,*,
Zhihui Li
2,
Bin Zhang
2 and
Xuelong Si
2
1
School of Aerospace Engineering, Huazhong University of Science and Technology, Wuhan 430074, China
2
Hubei Key Laboratory of Advanced Aerospace Propulsion Technology, System Design Institute of Hubei Aerospace Technology Academy, Wuhan 430000, China
*
Authors to whom correspondence should be addressed.
Aerospace 2024, 11(10), 859; https://doi.org/10.3390/aerospace11100859
Submission received: 2 August 2024 / Revised: 15 October 2024 / Accepted: 15 October 2024 / Published: 18 October 2024
(This article belongs to the Section Astronautics & Space Science)

Abstract

:
Point cloud data obtained from scanning propellant grains with 3D scanning equipment exhibit positional uncertainty in space, posing significant challenges for calculating the relevant parameters of the propellant grains. Therefore, it is essential to normalize the position of each propellant grain’s point cloud. This paper proposes a normalization algorithm for propellant grain point clouds, consisting of two stages, coarse normalization and fine normalization, to achieve high-precision transformations of the point clouds. In the coarse normalization stage, a layer-by-layer feature points detection scheme based on k-dimensional trees (KD-tree) and k-means clustering (k-means) is designed to extract feature points from the propellant grain point cloud. In the fine normalization stage, a rotation angle compensation scheme is proposed to align the fitted symmetry axis of the propellant grain point cloud with the coordinate axes. Finally, comparative experiments with iterative closest point (ICP) and random sample consensus (RANSAC) validate the efficiency of the proposed normalization algorithm.

1. Introduction

For solid missiles and space launch rockets, solid rocket motors remain the primary propulsion devices [1,2,3]. A typical solid rocket motor consists of a combustion chamber casing, propellant grain, a nozzle, and an igniter. Additionally, between the propellant grain and the casing, there is an overcoat structure [4], primarily composed of an adhesive that bonds the propellant grain to the inner wall of the casing, along with insulation and a liner. This structure ensures the integrity of the propellant grain and plays a crucial role in the reliability and safety of the solid rocket motor. Propellant grain are composite materials containing various chemical components [5]. The common composition of the propellant grain mainly includes oxidizers, nano-scale metal oxides [6], and adhesives mixed in specific proportions, forming a structurally heterogeneous composite material [7,8,9]. For a typical propellant grain, the surface is rough and granular, with the oxidizer content comprising 60–80 wt%. The performance of the propellant grain is primarily constrained by the inherent properties of the oxidizer [10]. Based on the formulation of the propellant, the grain exhibits nonlinear viscoelastic properties [11]. Due to the mechanical properties of the propellant, it undergoes physical and chemical adsorption, resulting in wetting and surface separation under load [12]. This damage leads to a decline in the mechanical properties of the propellant, thereby affecting the integrity of the propellant grain structure.
The overcoat structure and the solid propellant are two critical weak points in the structural integrity of solid rocket motors [13,14], and the compromise of propellant grain integrity is one of the primary causes of solid rocket motor failure [15]. Ensuring the uniformity of the overcoat structure and the mechanical properties of the propellant grain presents significant challenges in the loading of the propellant. Currently, most solid propellant assemblies utilize the wall pouring method [16]. The wall pouring method involves directly pouring the solid propellant slurry into the combustion chamber shell, which has already been lined. After the propellant cures, it forms an inseparable unit with the combustion chamber shell. However, this method makes replacement difficult and renders the structure irreparable [17]. Due to the lower reliability of the wall pouring assembly method, a free assembly method is adopted. Figure 1 illustrates the free assembly method and the wall pouring method. In the free assembly method, the propellant grain is formed in a specialized mold. Once cured, the propellant grain is assembled with the insulated combustion chamber shell to complete the manufacturing of the solid rocket motor. The propellant grain and the combustion chamber shell are detachable.
In free assembly mode, the propellant is composed of several propellant grains, and assembly is completed by loading each grain individually. Unlike the wall pouring assembly method, the free assembly method does not use pouring for assembly. Instead, the propellant grains are assembled into the casing one by one. Due to production constraints, each propellant grain has a different geometric shape. Before being loaded into the casing, the overall assembly sequence and the assembly position of each propellant grain can be determined in advance based on the geometric characteristics of each grain. During the assembly process, the assembly scheme is dynamically adjusted based on the progress of the assembly and the assessment results of the integrity of the propellant column within the casing. After the free assembly method is completed, all propellant grains are arranged neatly and uniformly inside the casing, with uniform gaps between the grains and stabilized pressure within the gaps, ensuring the integrity of the propellant column structure [18,19]. Therefore, this method allows for dynamic adjustment of the loading process, ensuring the uniformity of the overcoat structure and the integrity of the propellant grain. However, this assembly method also faces certain challenges: On one hand, during the assembly of propellant grains, the assembly space may undergo changes. The assembly sequence of the propellant grains might need to be adjusted due to this deformation. On the other hand, because the propellant grains have different sizes and possess a certain degree of elasticity, the geometric shapes of the propellant grains are not regular, and each grain has unique geometric characteristics. In the traditional free assembly model, The geometric properties of the propellant grain were measured using a manual contact-based method. Due to the size of the propellant grain and its nonlinear viscoelastic properties, the measurement results were highly inaccurate, with significant errors, making it difficult to plan an assembly strategy. In assembly attempts, these inaccuracies may lead to failures.
To address these challenges, this paper introduces point cloud for the free assembly method. Three-dimensional laser scanning is a non-contact measurement method that maximizes the preservation of the geometric properties of the propellant grain, preventing damage from human interference or compression. Using 3D laser scanning, the entire propellant grain is accurately represented by a high-precision point cloud. These data are then used to predict the variation of assembly space and match the geometric characteristics between the casing and the propellant grains. Pre-assembly of the propellant grains is conducted in virtual space, and this virtual assembly is mapped to the real world to achieve actual free assembly. Due to the physical nature of the scanning mechanism, the top and bottom surfaces of the propellant grain point clouds are parallel to the XOZ plane, but their overall positions are arbitrarily distributed in space. Therefore, the prerequisite for this improved free assembly method is that the point cloud data of all propellant grains must be normalized to the same position in the coordinate system. Without this normalization, the rotation and translation of the propellant grains in virtual space would lack a reference point, making the entire assembly process unfeasible, as illustrated in Figure 2.
This study proposes a point cloud position normalization algorithm to address the issue of inconsistent positions of propellant grain point clouds. Additionally, normalizing the position of the propellant point cloud involves shifting the center of the curved surface of the propellant grain point cloud to the calibrated position in virtual space and aligning the overall axis of the point cloud. Point cloud position normalization is similar to point cloud registration in that both involve transforming the point cloud to a specific position. The propellant grain point cloud normalization algorithm proposed in this study establishes the prerequisites for the free assembly of propellants in a virtual space.
Based on the aforementioned research context, this paper proposes a position normalization algorithm for the point clouds of propellant grains:
(1)
The algorithm first performs down-sampling on the point cloud. The 3D laser scanning generates a large volume of point cloud data for the propellant grain. Without appropriate down-sampling, the subsequent processing would consume a significant amount of computational resources.
(2)
The proposed algorithm consists of two stages: coarse normalization and fine normalization. In the coarse normalization stage, the algorithm extracts the feature points of the point cloud based on clustering segmentation. In the fine normalization stage, firstly, reduce angular errors through multiple symmetry axis fittings. Finally, it compensates for the axial offset through point correspondence to complete the position normalization of the point cloud.
(3)
In the experimental section, the accuracy of this algorithm is evaluated by comparing it with the most representative algorithms in point cloud registration: RANSAC and ICP.
The structure of this paper is as follows. Section 2 presents a review of relevant literature pertaining to this problem. Section 3 outlines the algorithms utilized in this research. Section 4 presents comparative experiments with algorithms composed of RANSAC and ICP. Finally, Section 5 concludes with remarks and future prospects.

2. Related Work

2.1. Point Cloud Registration

Point cloud registration, as a prerequisite for various tasks in computer vision such as 3D reconstruction [20,21,22], 3D segmentation [23,24], and pose estimation [25], primarily addresses the challenge of merging and transforming point cloud data obtained from different perspectives, scenes, and time instances into a reference coordinate system. Point cloud registration problems can be classified into rigid registration [26,27] and non-rigid registration [28,29]. Rigid registration pertains to problems involving only translation and rotation transformations, while non-rigid registration involves transformations such as scaling, deformation, and affine transformations. The registration problem for propellant grain point clouds falls under the category of rigid registration.
Existing point cloud registration methods can be broadly categorized into two types. The first type involves registration achieved through learning-based models. Leveraging the robustness of deep learning in handling large quantities of noisy point cloud data [30], various research efforts have proposed deep learning models to extract point cloud features. These models utilize techniques such as singular value decomposition to obtain transformation matrices for registration. Examples of such models include PointNet [31], PointNet++ [32], and others. However, learning-based algorithms are not only complex but also relatively lacking in interpretability, and they require substantial computational resources during the training phase. Moreover, learning-based registration models, being trained models, inherently have accuracy issues, which is especially critical for propellant assembly where safety requirements are extremely high.
The second category of algorithms consists of traditional non-learning-based methods based on feature matching, such as ICP and RANSAC. For rigid registration problems, extracting feature points that reflect the overall geometric properties of the entire point cloud from vast point cloud data obtained from 3D laser scanning, especially in the presence of a large number of outliers and missing points, poses a significant challenge. Point cloud features mainly include edge and corner points, normal vectors, creases, and boundary points [33]. By matching these features, a transformation matrix can be derived to achieve point cloud registration. However, unlike feature point extraction in 2D images, which benefits from the connectivity information, algorithms for extracting feature points from point clouds are not yet mature [34]. Existing feature-based registration algorithms often start with the extraction of point cloud features from neighboring point features and clustering segmentation [35,36]. For neighboring point features, common methods include multi-scale covariance matrices of local point neighborhoods, differences between normal vectors, and eigenvalue decomposition [37,38,39]. As for clustering segmentation, it involves clustering based on certain features of point clouds, such as the angles between neighboring point normal vectors [36], to narrow down the search range for feature point extraction. Regarding the acquisition of the transformation matrix needed for registration, the majority of feature point-based registration algorithms require the transformation matrix to be computed via singular value decomposition (SVD), with the registration accuracy constrained by the quality of the feature point set. Additionally, besides directly extracting features from point cloud data, some research transforms point clouds into 2D images for feature extraction, leveraging the powerful feature extraction capabilities in the field of computer vision for 2D images. Lu et al. [40], for example, projected segmented point clouds onto a 2D plane to form images and then processed these images for feature extraction. However, despite the abundance of points in the three-dimensional space, point distribution is relatively sparse, leading to the discreteness of pixels in 2D images and posing challenges for feature extraction.
Currently, most non-learning-based registration algorithms are based on improvements to algorithms such as iterative closest point (ICP) and random sample consensus (RANSAC). Therefore, for the comparison of algorithms applied to the point clouds of propellant grains, this paper compares the proposed method with the most representative algorithms: RANSAC and ICP.

2.1.1. RANSAC

Random ample consensus (RANSAC) is an iterative algorithm used to estimate mathematical model parameters, such as fitting lines and planes [41]. When applied to the field of point cloud registration, the basic idea is to exhaustively search points in the source point cloud, match them with corresponding points in the target point cloud based on geometric features, and calculate the transformation matrix. The transformation matrix is evaluated and iterated upon.
For extracting geometric features between corresponding points, the fast point feature histograms (FPFH) algorithm [42] is commonly used. Based on this theory, several registration algorithms have been developed. For instance, Tsai et al. [43] proposed a RANSAC RGB-D mapping algorithm, which utilizes the RANSAC outlier removal algorithm to eliminate correspondences causing significant errors. Subsequently, the RGB-D mapping algorithm finds the optimal transformation matrix for registration, thereby improving registration accuracy and efficiency. Dou et al. [44] first use the RANSAC algorithm for coarse registration and then employ local structural descriptors and Gaussian mixture models to achieve non-rigid point cloud registration. Peng et al. [45] introduced a point cloud registration strategy combining k-means with RANSAC ICP, where the point cloud after k-means clustering is registered using both RANSAC and ICP.
While RANSAC is widely used in point cloud registration, it has its limitations: it lacks a clear limit on the number of iterations, the determination of relevant thresholds can be challenging, and it can only find one model for problems with multiple possible model fits.

2.1.2. ICP

The most widely used algorithm in point cloud registration is the iterative closest point (ICP) algorithm [46]. ICP has had a groundbreaking impact on rigid registration, with many registration algorithms evolving from it. ICP is an iterative algorithm that minimizes the Euclidean distance function between corresponding points in the source and target point clouds. However, this algorithm is sensitive to noise, and as the size of the point cloud data increases, solving the distance function slows down and may even lead to convergence to local optima.
Several variants of the ICP algorithm have been developed. For example, Yu et al. [47] improved the ICP algorithm by introducing second-order filtering based on matched point pairs, which enhances registration accuracy and reduces registration time. Chen et al. [48] first used the Super 4PCS algorithm for coarse registration to achieve initial alignment of point clouds. Then, they improved the ICP algorithm by adaptively removing boundary points in overlapping regions, addressing registration problems involving overlapping areas.
However, ICP requires a relatively strict relationship between the target point cloud and the original point cloud, meaning that there should not be significant deviations in the initial positions of the target and original point clouds.

3. Method

3.1. Geometric Features

Since the algorithm proposed in this paper is closely related to the geometric features of the propellant grain, a dedicated subsection has been included to introduce its geometric properties.
To accurately replicate the geometric shape of the propellant, the propellant grain is mapped into virtual space in the form of a point cloud. Depending on the cross-sectional dimensions of assembly space, each layer of the propellant is divided into several propellant grains. Each propellant grain has a columnar shape, with a fan-shaped cross-section.
The propellant grain point cloud is generally shaped like a sector cylinder, with the back surface (curved surface) typically referred to as a cylindrical or arc surface. On the arc surface, densely arrayed convex points are present, with adhesive material filling the gaps between each convex point for bonding with the casing. There are many corner points on the propellant grain point cloud, some of which are on the arc surface, while others are not. In the following text, only the corner points on the arc surface are the ones we aim to extract. The main reason for using arc corner points as features is the distinct distribution difference between the neighborhood of corner points and non-arc corner points. As shown in Figure 3.

3.2. Method Overview

The overall algorithm consists of two stages: coarse normalization and fine normalization as shown in Figure 4. In the coarse normalization stage: The original point cloud undergoes downsampling. It is then projected layer by layer and processed using techniques such as KD-tree and multiple k-means to extract arc corner points. Based on these arc corner points, the transformation matrix is computed. In the fine normalization stage: Fine normalization is performed by fitting a symmetric axis to refine the transformation matrix.

3.3. Problem Setting

Let the original point cloud obtained from the 3D laser scanner, which has its upper and lower surfaces parallel to the X O Z plane but randomly distributed in position, be denoted as P. After point cloud downsampling, P is represented as P S . After undergoing both coarse and fine normalization stages, P S is transformed into P S and P S , respectively. We refer to Appendix A for the meaning of the mathematical symbols used in this paper.

3.4. Coarse Position Normalization

3.4.1. Point Cloud Downsampling

Based on the characteristics of the original point cloud data, Poisson disk sampling is employed to downsample the original point cloud data to ensure uniform point cloud density as much as possible, given that the original point cloud dataset may contain hundreds of thousands of points.
Let P = { p i ; i = 1 , 2 , , N } be the original point cloud dataset with N points p i . The sampling conditions for Poisson disk sampling are as follows:
p i , p j P : p i p j 2 r , i j
where r denotes the distribution radius.
After applying Poisson disk downsampling to the original point cloud P, we obtain the point cloud P S with N points. In point cloud P S , the distance between any two points is greater than twice the value of r, ensuring that the density of each face in the point cloud P S tends to be balanced, while preserving its geometric properties. Compared to other downsampling methods, Poisson disk downsampling offers certain advantages in avoiding interference caused by excessively dense local point clouds when selecting feature points.

3.4.2. Point Cloud Layer-Wise Projection

After downsampling the original point cloud to obtain P S , to reduce the influence of vertical tilt and convex points on arc corner extraction, the point cloud is projected layer by layer. Based on the characteristics of the point cloud P S , the upper and lower surfaces of the point cloud are parallel to the X O Z plane, and there are convex points arranged in arrays on the arc surface. The point cloud P S is divided into M layers, corresponding to M intervals in the y-direction. The i-th layer contains the point cloud denoted as P i = { p i j ( x i j , y i j , z i j ) P i , j = 1 , 2 , 3 , , l i } , where l i is the number of points within this layer of the point cloud.
P S = i M P i H = i M Δ h i i = 1 , , M
where H is the total height of the point cloud P S , and Δ h i be the height of each layer. Suppose the scattered point set after projecting the point cloud P i onto the XOZ plane is denoted as P i = { p i j x i j , y i j , z i j P i , j = 1 , 2 , 3 , , l i } . Because P i is in the X O Z plane, the relationship between the point cloud before and after projection is as follows:
x i j = x i j y i j = 0 z i j = z i j
The y-coordinate of points in P i is equal to 0. To simplify computation, y i j can be omitted in the subsequent steps.
The selections of the height for each layer of projection and the position of each layer during the layer-by-layer projection process are crucial, as shown in Figure 5b. From Figure 5a, it can be observed that some of the propellant grains are tilted when viewed from the side. However, their upper and lower surfaces remain parallel to the XOZ plane. By projecting the point cloud of each propellant grain layer by layer, the subsequent algorithm can average the calculated results of each layer. This process compensates for the tilt of the propellant grains and eliminates the need to determine the tilt angle. However, the height selection for each layer in the layer-by-layer projection method must meet certain conditions: If the length of interval is too small, it may lead to missing corner points, while if it is too large, it may be difficult to offset the overall tilt effect during corner point detection. If the y-intervals selected for the layers do not avoid the convex points on the arc surface, the projection of the convex points on the projection surface will generate a large number of non-arc corner points, causing interference in the subsequent specific recognition of arc corner points. As shown in Figure 5c,d.

3.4.3. Arc Corner Points Extraction

A KD-tree is constructed and utilized to search for the nearest neighbor point set S i j of each point p i j in P i using Euclidean distance as the metric, with n being the number of neighboring points. After obtaining the nearest neighbor point set S i j of point p i j in the scattered point set P i , k-means clustering (k-means) is applied to cluster S i j into two clusters { C 1 , C 2 } (the number of clusters is set to 2), representing the left and right neighborhoods of point p i j , respectively, as shown in Figure 6. For details regarding the KD-tree and k-means, refer to the Appendix B.
With the method described above, for any point in the scattered point set P i on the projection plane, it is possible to obtain the n nearest points around that point. These points can then be divided into two subset C 1 and C 2 , defined as follows: C 1 = { p i j x i j , z i j C 1 , j = 1 , 2 , 3 , , n c 1 } and C 2 = { p i j x i j , z i j C 2 , j = 1 , 2 , 3 , , n c 2 } . These two subsets are located at both ends of the point. Then, a least squares line fitting is performed on these two subsets:
n = n c 2 + n c 1 k m = n c m z i j x i j n c m z i j ¯ · x i j ¯ n c m ( x i j ) 2 n c m · x i j ¯ 2 , m = 1 , 2 , j = 1 , 2 , , n c m
where k m represents the slope of the fitted line.
Given the fitted line equations for the two subsets as obtained from the above equations, the angle θ between the two lines can be calculated as follows:
θ = 180 π × arctan | k 1 k 2 | 1 + k 1 · k 2
(a)
if | θ | | θ t h r | , the angle change on both sides of the point is gradual, so the point is discarded.
(b)
if | θ | > | θ t h r | , the angle change on both sides of the point is significant, so the point is stored in the corner point set.
where θ t h r is the angle threshold.
Repeat the above steps iteratively until all points in the projected point set P i are traversed, thereby obtaining all corner points in that plane as shown in Figure 6. All obtained corner points form a set: the corner point set. Additionally, due to the large angle between the fitted lines on both sides of some noise points, a small number of noise points will also be stored in the corner point set.
Since P i is obtained by projecting P i , each corner point of P i is mapped to the X O Z plane. In P i , all corner points form a clustered structure within the X O Z plane. Based on the actual shape of the point cloud, the number of clusters is set to t. Through secondary clustering, as described in Equations (A2)–(A5) in Appendix B, the corner point set is clustered by using k-means clustering. The cluster centroids of each cluster are obtained, resulting in a set of cluster centers P C l u s t e r C e n t e r = { ( x 1 , z 1 ) , , ( x t , z t ) } . In this process, noise points have been automatically clustered into the corner point cluster (due to the performance of the scanning equipment, the distance between noise points and corner points is relatively small).
The presence of some unnecessary corner points in P C l u s t e r C e n t e r (those on non-arc surfaces of the propellant grain), significant interference occurs in the extraction of corner points on the arc surface. To address this issue, we define the distance matrix D C between any pair of cluster centroids as follows:
D C = 0 d 1 , 2 d 1 , t 1 d 1 , t 0 d 2 , 3 d 2 , t d t 1 , t 0 t × t
where d i , j represents the distance between any two points:
d i , j = ( x i x j ) 2 + ( z i z j ) 2
The i-th row of matrix D C represents the distance from the i-th point in P C l u s t e r C e n t e r to all other points.
To avoid the interference mentioned above from affecting the corner point extraction, P C l u s t e r C e n t e r must be further refined. Corner points in same location may be classified into two or more clusters after the previous clustering, leading to multiple cluster centroids. Therefore, the next step is to merge multiple nearby centroids into one (this is related to the setting of parameter t; if t is set too small, the desired corner points may be clustered into other clusters; if t is set larger, this situation will occur more frequently. To extract the desired corner points, t should be set slightly larger). For this, d t h r is defined as a metric to filter points that are too close. The process is defined as follows:
P C l u s t e r C e n t e r = ( x i , z i ) = 1 2 x i + x j , z i + z j | [ i , j | D C ( i , j ) d t h r ] P C l u s t e r C e n t e r = P C l u s t e r C e n t e r { x j , z j }
Repeat the above process in a loop, updating P C l u s t e r C e n t e r , D C , and the values of P C l u s t e r C e n t e r each time, and iterating step by step until all elements in D C are greater than d t h r . At this point, the final P C l u s t e r C e n t e r is obtained, and its distance matrix is denoted as D C .
To extract the final two corner points of P i , P C l u s t e r C e n t e r must be further refined. Due to the unique geometric properties of the propellant grain, the two corner points to be extracted are significantly farther from the other corner points, while the corner points not to be extracted have several smaller distances between them. Additionally, based on the 3D laser scan results, noise points are mostly concentrated near the corner points. Using these two characteristics, the following equation is applied:
P C l u s t e r C e n t e r = { ( x i , z i ) P C l u s t e r C e n t e r | i , j = 1 , , t , D C ( i , j ) d t h r } P C l u s t e r C e n t e r = P C l u s t e r C e n t e r { ( x i , z i ) }
By iterating the above equation twice, the corner point set P C l u s t e r C e n t e r containing only the two required corner points can be obtained. The expression for P C l u s t e r C e n t e r is P C l u s t e r C e n t e r = { ( x α , z α ) , ( x β , z β ) } . Finally, through
θ i = 180 ° π × arctan z β z α x β x α Δ x i = m e a n ( x α , x β ) Δ z i = m e a n ( z α , z β )
Calculate the rotation angle and translation amount for each layer of point cloud P S , and for the entire point cloud, obtain the vector R:
R = r θ t x t z = m e a n θ 1 θ M Δ x 1 Δ x M Δ z 1 Δ z M

3.4.4. Determination of the Height of the Point Cloud

Although the upper and lower surfaces of the propellant grain point cloud are parallel to the X O Z plane, the actual scanning results from the 3D laser scanner show that the height of each propellant grain point cloud in the y-direction is inconsistent. To achieve coarse position normalization, the point cloud needs to be transformed to a uniform height. Obviously, using the extreme values directly as the coordinates of the top and bottom surfaces is not feasible due to the presence of noise. Therefore, projecting P S as a whole onto the X O Y plane to obtain P x o y , where the points in P x o y can be expressed as p x o y 1 , , p x o y m , with p x o y i P x o y and m being the number of points on the projection plane. Additionally, the y-coordinate of p x o y i is given by y x o y i . Then, the Gaussian kernel density estimation function can be expressed as follows:
f h ( y x o y ) = 1 m h 2 i = 1 m κ y x o y y x o y i h
where h is the bandwidth and K ( · ) is the kernel function. f h ( y x o y ) represents the density distribution of all points in P x o y along the y-direction. The selected kernel function is:
K ( u ) = 1 2 π e u 2 2
Based on Gaussian kernel density estimation, the position of maximum density corresponds to the upper and lower surfaces of the propellant grain. Thus, the mean of the y-coordinate of the points in the point cloud at this position is taken as the height corresponding to these surfaces. Finally, by averaging the heights of the upper and lower surfaces, we obtain the height t y of the cross-section located between the upper and lower surfaces of the propellant grain point cloud P S .

3.4.5. Coarse Normalization Transformation Matrix

Finally, the coarse position normalization of the point cloud is achieved using the transformation matrix T C , resulting in the coarse registered point cloud P S :
T C = cos ( r θ ) 0 sin ( r θ ) t x 0 1 0 t y sin ( r θ ) 0 cos ( r θ ) t z 0 0 0 1

3.5. Fine Position Normalization

After coarse position normalization, the point cloud P S has been accurately transformed to the reference coordinate system. However, there is still a certain discrepancy from the calibration position of the reference coordinate system. Through fine position normalization, we further narrow down this difference. The specific manifestation of this small difference is that there is a small angular difference between the axis of symmetry of the propellant grain point cloud and the coordinate axes, along with a certain offset from the calibrated position in the reference coordinate system.
To determine the symmetry axis of the propellant grain point cloud, two edges of the point cloud need to be fitted. The symmetry axis is then defined by these two edges to complete the fine normalization of the position.

3.5.1. Partitioning of Intervals

Firstly, following the layer-wise projection approach described earlier, we obtain scatter point sets W i , i = 1 , 2 , , M , where the points within each scatter set are denoted as w j i , j = 1 , 2 , , N . After coarse position normalization, W i is approximately symmetrical with respect to the x-axis. Thus, selecting two intervals D 1 i , D 2 i [ a i , b i ] along the x-axis corresponds to the upper and lower sides of the two-dimensional shape(i represents the i-th layer). However, since the data are in the form of scatter points, further discretization of these intervals is necessary. Let m i denote the number of subdivisions for each interval. The centroid of each discretized interval is considered as the point for linear fitting within that interval.
Due to the specific scanning frequency of the 3D laser scanner and the large size of the propellant grain, during the scanning process around the grain, the point cloud is generated only when the laser reflects back from the grain. Since the scanning mechanism is rotational, the points on the side edges of the resulting propellant grain point cloud exhibit a periodic density distribution. As shown in Figure 7, the points on the edges of W i exhibit a periodic density distribution in the two-dimensional plane. To ensure that each interval contains a higher density of point clouds as much as possible, the values of m i should satisfy the following condition according to the sampling theorem:
Δ D n i = b i a i m i 2 η ω σ f , n = 1 , 2 i = 1 , , M
where f represents the scanning frequency of the 3D laser scanner; ω denotes the scanning linear velocity; σ is the downsampling factor, defined as the ratio of points in the downsampled point cloud to the original point cloud; η is the magnification factor, calculated as follows:
η = 1 cos ( θ m a x )
where the parameter θ m a x represents the maximum inclination angle of the two sides of the standard propellant grain.

3.5.2. Multiple Symmetry Axis Fitting

After coarse position normalization, W i is divided into two parts by the x-axis. Therefore, once the length of the subinterval is determined, the set of points in the k-th subinterval of D n i , n = 1 , 2 can be represented as d n k i : d 1 k i = { w j i ( x j , z j ) W i | a i + ( k 1 ) Δ D 1 i x j a i + k Δ D 1 i , z j > 0 , k = 1 , , m i } and d 2 k i = { w j i ( x j , z j ) W i | a i + ( k 1 ) Δ D 2 i x j a i + k Δ D 2 i , z j < 0 , k = 1 , , m i } . The centroids of d 1 k i and d 2 k i are as follows:
c e n t r o i d x n k i = w j i d n k i x j N n k i c e n t r o i d z n k i = w j i d n k i z j N n k i n = 1 , 2 j = 1 , , N n k i
where N n k i is the number of points contained in d n k i .
Based on the scanning mechanism, only the surface of the propellant grain can be scanned as points in the point cloud. Therefore, finding the centroids of d 1 k i and d 2 k i represents the line fitting points for the boundary in that region. Next, the midpoint between the corresponding centroids is taken as the fitting point for the symmetry axis. This process is repeated for all small intervals to obtain all centroids and fitting points for the symmetry axis. Line fitting is then performed based on Equation (4) to obtain the axis line l c i and boundary lines l 1 i and l 2 i for W i , with their line parameters represented as k c i , b c i , k 1 i , b 1 i and k 2 i , b 2 i , respectively. The slopes k c i , k 1 i , and k 2 i correspond to the angles of inclination θ c i , θ 1 i , and θ 2 i .
As shown in Figure 8, two adjacent small intervals of W i are randomly selected, with fitting points on the boundary denoted as A 1 , A 2 , B 1 and B 2 , and corresponding points on the axis denoted as A C and B C (to facilitate presentation, the subintervals in the figure appear non-adjacent, but the selected subintervals are actually adjacent).
Due to the existence of a slight inclination, A 1 and A 2 and B 1 and B 2 are not symmetric points geometrically. Let A 2 and B 2 be the symmetric points of A 1 and B 1 , respectively. The axis line fitting points between the symmetric points are denoted as A C and B C .
According to the triangle median line theorem, A C A C A 2 A 2 and | A C A C | = 0.5 | A 2 A 2 | . Similarly, we have B C B C B 2 B 2 and | B C B C | = 0.5 | B 2 B 2 | . Since A 2 , A 2 , B 2 , and B 2 lie on the same fitted line, A C A C B C B C . Due to symmetry, | A 1 B 1 | = | A 2 B 2 | = Δ D n i c o s θ 1 i , and because | A 2 B 2 | = Δ D n i c o s θ 2 i , we finally obtain the following:
| A C A C | | B C B C | = 2 ( | A 2 A 2 | | B 2 B 2 | ) = 2 Δ D n i ( 1 c o s θ 2 i 1 c o s θ 1 i )
Due to the coarse normalization, W i is already highly symmetrical about the x-axis, θ 1 i and θ 2 i are very close, and Δ D n i is very small, it can be assumed that | A C A C | = | B C B C | , and A C A C B C B C can almost be regarded as a parallelogram. Therefore, A C B C A C B C , indicating that the angle of the fitting axis line equals the actual axis angle. Thus, adjusting the angle using the fitting axis line angle is reliable.
Then, the inclination angle of P S is as follows:
θ d = i M θ c i M
Repeat Equation (15)–(17) and (19) until a b s ( θ d ) m θ , where m θ is a given threshold and M refers to the number of projection layers mentioned above. The entire process is shown in Figure 9.

3.5.3. Axial Compensation of Corresponding Points

Then, set t x = t y = t z = 0 and r θ = θ d , substitute r θ into Equation (14) to transform the point cloud P S to obtain P θ d . At this point, P θ d is approximately symmetrical with the coordinate axes of the reference coordinate system, but there are still minor deviations along the x and z axes. To achieve fine normalization, axial compensation is performed by averaging the sum of the intersection coordinates of lines l 1 i and l 2 i for each layer W i . This part of the process can be described as:
t x = 1 M i M b 1 i b 2 i k 2 i k 1 i t z = t x M i M k 2 i + 1 M i M b 2 i i = 1 , , M
In the above expression, k 1 i , b 1 i and k 2 i , b 2 i represent the slopes and intercepts of lines l 1 i and l 2 i , respectively. By substituting t x and t z into Equation (14) and setting r θ and t y to 0, a new transformation matrix is obtained. This matrix is then used to transform P θ d into P S , completing the fine normalization.
If there exists a point cloud P C at the calibrated position of the reference coordinate system that is identical to the point cloud P S , and the values of t x , t y , and t z can be further optimized:
( t x , t y , t z ) = 1 N i N ( p s i p c i )
where p s i and p c i represent the points in P S and P C , respectively, and N represents the number of points in the point cloud.
Finally, substitute t x , t y and t z into Equation (14) again to obtain the final transformation matrix of our method.

4. Experiments

This section first introduces several propellant grain point clouds used in the experiments, followed by a description of the evaluation criterion employed. The point cloud down-sampling experiment has subsequently been completed. Two experimental groups were then established, each comparing the proposed algorithm with the RANSAC and ICP algorithms, followed by an analysis of the results.

4.1. Experimental Setup

4.1.1. Propellant Grain Point Clouds and Experimental Environment

To validate the effectiveness of the position normalization algorithm, different experiments were designed and conducted. All experiments were performed on hardware including an Intel(R) Core(TM) i5-12490F CPU and an NVIDIA RTX 4060 Ti GPU.
Four different propellant grain point clouds (FP-1, FP-2, FP-3, FP-4) were used as the original point clouds for the experiments. Due to the manufacturing process of the propellant grains, the surface of each grain has varying degrees of indentations and protrusions and slight differences in size between grains. After scanning these grains into point clouds, these differences are reflected in the point cloud of each propellant grain, as shown in Figure 10.

4.1.2. Definition of the Target Point Cloud

Based on the symmetry and geometric properties of propellant grains, the propellant grain point clouds (FP-1, FP-2, FP-3, FP-4) were manually transformed to the calibrated position in the reference coordinate system the point cloud mentioned above has already undergone down-sampling processing), resulting in P T 1 , P T 2 , P T 3 , and P T 4 , which will be replaced by P T i in the following text, where i = 1 , , 4 . For P T i , there are a total of N i points, with each point denoted as p T i . These four point clouds are referred to as the target point clouds. The target point cloud serves as a benchmark, providing a basis for verifying whether the post-experimental point clouds have been transformed to the calibrated position.
Once a propellant grain point cloud is manually transformed to the calibrated position, the processes of position normalization and point cloud registration become identical. Therefore, algorithms from the field of point cloud registration can be employed to verify the accuracy of the proposed position normalization algorithm.

4.1.3. Parameter Settings

By applying some perturbations to the position of P T i , we transform P T i to a specified location, resulting in the original point cloud P O i . Then, we apply the proposed algorithm and the RANSAC + ICP algorithm to perform the corresponding transformation on P O i :
P O i c o a r s e n o r m a l i z a t i o n P o u r s c i f i n e n o r m a l i z a t i o n P o u r s f i P O i R A N S A C P R A N S A C i I C P P I C P i
The definition of perturbation is as follows: In practical situations, the position of the point cloud obtained from the three-dimensional laser scanner exhibits four degrees of freedom relative to the calibrated spatial position. These degrees of freedom include the rotation angle relative to the y-axis and the offsets along the x-, y-, and z-axes. These rotation and translation parameters are encoded in a vector as V p = [ θ y , Δ x , Δ y , Δ z ] .
For single-variable experiments: Based on the statistical analysis of the offset of the propellant grain point cloud relative to the calibrated position, the parameter ranges are defined as follows: θ y [ 30 , 30 ] , Δ x [ 500 mm , 500 mm ] , Δ y [ 500 mm , 0 ] , and Δ z [ 500 mm , 500 mm ] . For each experiment, one of θ y , Δ x , Δ y , or Δ z is set to a specific value within the corresponding range as the perturbation, transforming P T i into P O i . For example, when the θ y between P O i and P T i is set to a certain value, the values of Δ x , Δ y , and Δ z are all set to zero.
For multivariable experiments: For each experiment, all elements of θ y , Δ x , Δ y , and Δ z are simultaneously assigned random values to as the perturbation, transforming P T i into P O i .

4.1.4. Evaluation Criterion

Since P o u r s c i , P o u r s f , P R A N S A C i , P I C P i are all derived from the transformation of P O i , which in turn is transformed from P T i , the difference between these point clouds lies in their positions, while the number of points in each point cloud is the same. This section describes the evaluation criteria. For the sake of readability, any one of the point clouds from P o u r s c i , P o u r s f , P R A N S A C i , P I C P i will be uniformly represented as P T i .
The degree of position normalization for the point cloud is evaluated using two metrics: root mean square error (RMSE) and transformation matrix error. The computation formula for RMSE is as follows:
RMSE = 1 N i j = 1 N i p T j i p T j i 2 j = 1 , , N i i = 1 , , 4
where p T j i and p T j i represent the points in P T i and P T i , respectively.
This formula represents the square root of the average squared distance between corresponding points P T i and P T i reflecting the overall disparity between these two point clouds. A smaller RMSE value indicates that the processed point cloud P T i deviates less from P T i at the calibrated position, as shown in Figure 11.
The definition of the transformation matrix is as follows:
T = R 11 R 12 R 13 t x R 21 R 22 R 23 t y R 31 R 32 R 33 t z 0 0 0 1
where R is a 3 × 3 rotation matrix used to describe rotation, defined as follows:
R = R 11 R 12 R 13 R 21 R 22 R 23 R 31 R 32 R 33 = cos ( r θ ) 0 sin ( r θ ) 0 1 0 sin ( r θ ) 0 cos ( r θ )
t is a 1 × 3 translation vector used to describe translation, defined as follows:
t = t x t y t z
The error of the transformation matrix is defined as follows:
δ θ = 1 4 s q r t [ ( R 11 i R 11 i ) 2 + ( R 13 i R 13 i ) 2 + ( R 31 i R 31 i ) 2 + ( R 33 i R 33 i ) 2 ] δ x , δ y , δ z = | t T i t T i |
where R 11 i , R 13 i , R 31 i and R 33 i and t T i represent the elements of rotation matrix and translation vector from P O i to P T i , and R 11 i , R 13 i , R 31 i and R 33 i and t T i represent the elements of rotation matrix and translation vector from P O i to P T i , respectively. s q r t ( · ) represents the square root operation.
Using Equations (25) and (27), δ θ can be further simplified:
δ θ = 1 2 s q r t 1 cos r θ i r θ i
where r θ i represents the transformation angle from P O i to P T i and r θ i represents the transformation angle from P O i to P T i .
δ θ represents the difference between the rotation matrix from P O i to P T i and the rotation matrix from P O i to P T i . A smaller value indicates that the angular difference between P T i and P T i is smaller.
δ x , δ y , δ z represent the differences between the translation vectors from P O i to P T i and from P O i to P T i , respectively. Smaller values indicate smaller positional differences between P T i and P T i along the x-, y-, and z-axes.

4.2. Downsampling Experiments

Before starting the experiments, it is necessary to determine an appropriate number of downsampled point cloud points. Based on the three-dimensional laser scanning mechanism, the propellant grain point cloud consists of five faces. Considering the area of each face and the downsampling distribution radius of 0.1 mm, the minimum number of points per face is 10,000, which means the minimum number of points after downsampling the propellant point cloud is 50,000. Based on this minimum number of points, each experiment incrementally increases the number of downsampled points and measures the processing time of our method. The experimental results are shown in Table 1. From the results in the table, it can be observed that the number of points in the point cloud is positively correlated with the algorithm’s processing time. Therefore, based on the algorithm’s processing time, the number of downsampled points for the propellant grain point cloud is set to 50,000, as shown in Table 2.

4.3. Single-Variable Experiments

In the single-variable experiments, for each P T i , i = 1 4 , 12 experiments are conducted with different θ y values while keeping the other parameters constant. Similarly, 10 experiments are conducted for different Δ x values, 5 experiments for different Δ y values, and 10 experiments for different Δ z values, while keeping the other parameters constant. In total, 37 × 4 experiments are performed.
For the 12 experiments with varying θ y , the mean RMSE and the mean transformation matrix error across the 12 experiments are recorded as RMSE ¯ ( θ y ) and δ θ ¯ , respectively. In each of the 12 experiments, only the angle is changed, and δ x , δ y , δ z in the transformation matrix errors are all 0. Therefore, δ θ can be used directly to represent the transformation matrix error. The same applies below. For the 10 experiments with varying Δ x , the mean RMSE and mean transformation matrix error are recorded as RMSE ¯ ( Δ x ) and δ x ¯ . Similarly, for the 5 experiments with varying Δ y , the mean RMSE and mean transformation matrix error are recorded as RMSE ¯ ( Δ y ) and δ y ¯ , and for the 10 experiments with varying Δ z , these values are recorded as RMSE ¯ ( Δ z ) and δ z ¯ . The experimental results are shown in Table 3.
As for the specific details of each of the 37 experiments on P T i , they are shown in Figure 12 and Figure 13.

Single-Variable Experiments Results Analysis

The experimental results indicate that when there is an angular deviation between the original point cloud and the target point cloud, The normalization accuracy of our method is 1 to 2 orders of magnitude higher than that of the RANSAC + ICP method. Therefore, compared to RANSAC + ICP, our method has a significant advantage in cases where there is an angular difference between the target and source point clouds, with a much higher accuracy. For cases where only translational differences exist between the original and target point clouds, RANSAC + ICP performs better due to its point-to-point registration principle, making it easier to obtain corresponding point differences in the axial direction. However, as observed in the graphs, when aligning original point clouds with changes only in the y-direction, the performance of RANSAC + ICP is unstable, exhibiting significant fluctuations due to the algorithm getting trapped in local optima. Nevertheless, the normalization accuracy of our method also meets the standard requirements.

4.4. Multivariable Experiments

It is evident that cases where there is only translational difference between the point cloud obtained by the 3D laser scanner and the target point cloud are rare. In the majority of cases, there are angular differences. Therefore, FP-1 is selected as the target point cloud ( P T 1 ), and P T 1 is randomly transformed across four degrees of freedom ( θ y , Δ x , Δ y , and Δ z ). Each transformation results in an original point cloud P O 1 . A total of 10 transformations are performed, resulting in 10 experiments.
The RMSE between the normalized point cloud and the target point cloud was calculated as evaluation metrics. The results of all 10 experiments are shown in Figure 14.

Multivariable Experiments Results Analysis

The result of one of the aforementioned ten sets of propellant grain point cloud position normalization experiments is shown in Figure 15. After position normalization using our method, the point cloud tends to overlap with the target point cloud, while with RANSAC + ICP, there are still some distances between corresponding points. The position normalization experiments on 10 randomly transformed original point clouds indicate that the RMSE is smaller with our method compared to RANSAC + ICP. In the RANSAC + ICP algorithm, RANSAC is merely a fitting method for a mathematical model, and its fitting result may not necessarily be optimal. Moreover, if RANSAC does not provide a good initial transformation for the original point cloud, it directly affects the accuracy of the ICP algorithm, ultimately resulting in a lower overall normalization accuracy. Additionally, based on the experimental results in Figure 12 and Figure 13, it can be observed that the ICP algorithm tends to become trapped in local optima. RANSAC + ICP only focuses on the correspondence between points, while our method utilizes both the correspondence between points and the structural information of the point cloud. The final results demonstrate that in practical applications, when dealing with scanned propellant grain point clouds, our method achieves higher accuracy.

5. Conclusions

To solve the problem of transforming the unordered propellant grain point cloud position to the calibrated position for planning the free assembly scheme in virtual space, this paper proposes a position normalization method that combines coarse and fine position normalization stages. In the coarse position normalization stage, arc corner points are extracted using KD-tree nearest neighbor search and k-means clustering, while in the fine position normalization stage, angle adjustments are made using axis fitting. Both stages employ a layer-by-layer projection method to avoid interference, thus eliminating the need for other complex denoising strategies.
RANSAC + ICP is prone to local optima. Our algorithm, designed based on the geometric properties of the propellant grain point cloud, shows an average accuracy improvement of two orders of magnitude over RANSAC + ICP according to experimental results. This meets the prerequisites for the subsequent task of free assembly of propellant grains in a virtual space.
Although designed for propellant grain point cloud position normalization, our method provides a universal handling idea for normalizing point clouds of arbitrarily shaped objects obtained by rotating three-dimensional laser scanners. Finally, the position normalization of point clouds involves complex and variable scenarios, necessitating an improvement in the algorithm’s generalization ability across different contexts.

Author Contributions

Conceptualization, J.W. and F.T.; methodology, J.W. and F.T.; software, J.W.; validation, J.W.; investigation, J.W.; resources, J.W., F.T. and X.S.; data curation, J.W.; writing—original draft, J.W.; writing—review and editing, J.W., F.T., R.L., Z.L. and B.Z.; visualization, J.W.; supervision, J.W., F.T., R.L., Z.L., B.Z. and X.S.; project administration, J.W., F.T., R.L. and Z.L.; funding acquisition, F.T., Z.L., B.Z. and X.S.; formal analysis, J.W. All authors have read and agreed to the published version of the manuscript.

Funding

This study was funded by the Major Program (JD) of Hubei Province (2023BAA004).

Data Availability Statement

The data presented in this study are available on request from the corresponding author. The data are not publicly available due to privacy and ethical.

Conflicts of Interest

The authors declare no conflicts of interest.

Appendix A

Table A1. Annotations for the main variables and symbols.
Table A1. Annotations for the main variables and symbols.
Variables or SymbolsAnnotations
PThe original point cloud
P S Downsampled point cloud
P S Coarse normalized point cloud
P S Fine normalized point cloud
P x o y The point set obtained by projecting P S onto the X O Y plane.
P T i The i-th target point cloud.
P T i For clarity, the point clouds processed by various algorithms ( P o u r s c i , P o u r s f , P R A N S A C i , P I C P i ) are collectively referred to as P T i .
P i The i-th layer contains the point cloud
P i The scatter point set of P i projected onto the X O Z plane
W i P S is projected layer by layer onto the i-th scatter point set of the X O Z plane.
p i j ( x i j , y i j , z i j ) The coordinates of each point in P i
p i j ( x i j , z i j ) The coordinates of each point in P i (Since y i j = 0 , y i j is omitted.)
w j i ( x j i , z j i ) The coordinates of each point in W i
S i j The nearest neighbor point set of p i j
Δ D n i The length of the subinterval.
C 1 and C 2 Clusters
D C Distance matrix
P C l u s t e r C e n t e r Set of cluster centers
P C l u s t e r C e n t e r Set of cluster centers after removing nearby points
P C l u s t e r C e n t e r Final set of cluster centers(set of corner points)
r θ , t x , t y , t z Parameters of the transformation matrix
θ y , Δ x , Δ y and Δ z Four degrees of freedom of the displacement of the propellant grain point cloud
δ θ and δ x , δ y , δ z The differences between the rotation matrices and the translation vectors.
\Difference set operator

Appendix B

Appendix B.1. KD-Tree

The KD-tree construction process is as follows: For the projection of P i onto the X O Z plane, where the coordinates of each point are ( x i j , z i j ) , the next step is to determine the segmentation dimension of the projection plane:
f ( u i j ) = j l i ( u i j 1 l i j l i u i j ) 2 l i , u i j = x i j o r z i j , j = 1 l i d i m = x a x i s i f max { f ( x i j ) , f ( z i j ) } = f ( x i j ) d i m = z a x i s i f max { f ( x i j ) , f ( z i j ) } = f ( z i j )
where l i represents the number of points in P i (as mentioned in Section 3.4.2). The segmentation dimension has been determined through the above steps. Next, all points within P i are sorted in descending order based on this dimension, and the point corresponding to the median is selected as the node. Using this node and another dimension perpendicular to it, the two-dimensional plane is divided into a left subtree and a right subtree. Points with values less than the node value in this dimension are assigned to the left subtree, and points with values greater than the node value are assigned to the right subtree. This process of partitioning the two regions is repeated recursively until each point is assigned as a leaf node, completing the construction of the KD-tree.
The construction of the KD-tree allows for the rapid querying of each point p i j in P i . Assuming the query point is p i j , the KD-tree can provide a corresponding node and its surrounding leaf nodes. The Euclidean distances between the query point and the surrounding leaf nodes are then calculated, and those with distances less than the set threshold are recorded in the nearest neighbor point set S i j .

Appendix B.2. K-Means

The process of cluster division using k-means is as follows: Since k-means is used multiple times in this paper, the variables used below will be redefined. Assume that a set of points P a in a two-dimensional plane containing n points is clustered into k clusters, with each point in P a represented as p a i . The mean vector within each cluster is defined as follows:
μ k = 1 M k p a i P a p a i , i = 1 , 2 , 3 , , n
where M k represents the number of samples in the k-th cluster. At the beginning of the algorithm, M k is initialized to a random value.
Next, we compute the nearest μ j for the point p a i in the point set P a (where 1 j k ). Assuming that p a i is closest to μ j among all μ k , we assign the point p a i to the j-th cluster. After assigning all points, we update M k and refresh μ k to μ k 1 using Equations (A2). This process can be described as:
L j = arg   min 1 j k p a i μ j , i = 1 n
Let μ j in the i-th iteration be denoted as μ j i , and define the change in cluster center as follows:
Δ μ j i = μ j i μ j i 1 2 2 , 1 j k
By repeating the above steps until the sum of the changes in cluster centers, in the i-th iteration Δ δ has a minimum mean square error less than the threshold ε μ ; the process is defined as follows:
Δ δ = 1 k j = 1 k Δ μ j i ε μ
The clustering process described above has divided all the points in P a into k clusters. To obtain the center of the i-th cluster ( i = 1 , , k ), simply calculate the mean of the coordinates of all points within that cluster.

References

  1. DeLuca, L.T.; Annovazzi, A. Survey of burning rate measurements in small solid rocket motors. FirePhysChem 2024, 4, 146–165. [Google Scholar] [CrossRef]
  2. Lee, H.S.; Ko, S.C.; Kwon, S.W.; Lee, J.S. Optimization of a Solid Rocket Motor Design through Neural Network-Assisted Performance Prediction. IEEE Trans. Aerosp. Electron. Syst. 2023, 59, 8769–8781. [Google Scholar] [CrossRef]
  3. Weiqiang Pang, L.T.D. Nano and Micro-Scale Energetic Materials: Propellants and Explosives; John Wiley & Sons: Hoboken, NJ, USA, 2023; Available online: https://onlinelibrary.wiley.com/doi/book/10.1002/9783527835348 (accessed on 14 October 2024).
  4. Fang, C.; Lou, Y.; Wang, J.; Zhao, Y.; Cheng, W.; Yuan, B.; Ma, X. A fast heat transfer calculation and optimization method for solid rocket motor overcoat structure based on Python. In Proceedings of the 2023 2nd International Symposium on Aerospace Engineering and Systems (ISAES), Nanjing, China, 19–21 May 2023; pp. 101–105. [Google Scholar] [CrossRef]
  5. Abdelaziz, A.; Trache, D.; Tarchoun, A.F.; Boukeciat, H.; Kadri, D.E.; Hassam, H.; Ouahioune, S.; Sahnoun, N.; Thakur, S.; Klapötke, T.M. Application of co-crystallization method for the production of ammonium perchlorate/ammonium nitrate oxidizer for solid rocket propellants. Chem. Eng. J. 2024, 487, 150654. [Google Scholar] [CrossRef]
  6. Ghedjatti, I.; Shiwei, Y.; Haixing, W. A Review on the Application and Usefulness of Metal Nanosized Particles in Solid Rocket Propellants. In Proceedings of the 2018 3rd International Conference on Smart and Sustainable Technologies (SpliTech), Split, Croatia, 26–29 June 2018; pp. 1–6. Available online: https://ieeexplore.ieee.org/document/8448308 (accessed on 14 October 2024).
  7. Xu, F.; Aravas, N.; Sofronis, P. Constitutive modeling of solid propellant materials with evolving microstructural damage. J. Mech. Phys. Solids 2008, 56, 2050–2073. [Google Scholar] [CrossRef]
  8. Lysien, K.; Stolarczyk, A.; Jarosz, T. Solid Propellant Formulations: A Review of Recent Progress and Utilized Components. Materials 2021, 14, 6657. [Google Scholar] [CrossRef]
  9. Chaturvedi, S.; Dave, P.N. Solid propellants: AP/HTPB composite propellants. Arab. J. Chem. 2019, 12, 2061–2068. [Google Scholar] [CrossRef]
  10. Trache, D.; Klapötke, T.M.; Maiz, L.; Abd-Elghany, M.; DeLuca, L.T. Recent advances in new oxidizers for solid rocket propulsion. Green Chem. 2017, 19, 4711–4736. [Google Scholar] [CrossRef]
  11. Bills, K.W.; Wiegand, J.H. Relation Of Mechanical Properties To Solid Rocket Motor Failure. AIAA J. 1963, 1, 2116–2123. [Google Scholar] [CrossRef]
  12. Liu, X.; Wang, Z.; Liu, P.; Han, Y.; Jin, B. Dewetting Stress of Solid Propellant under Tensile Loading. In Proceedings of the 2018 9th International Conference on Mechanical and Aerospace Engineering (ICMAE), Budapest, Hungary, 10–13 July 2018; pp. 570–573. [Google Scholar] [CrossRef]
  13. Simões Hoffmann, L.F.; Parquet Bizarria, F.C.; Parquet Bizarria, J.W. Detection of liner surface defects in solid rocket motors using multilayer perceptron neural networks. Polym. Test. 2020, 88, 106559. [Google Scholar] [CrossRef]
  14. Rao, B. Fracture of solid rocket propellant grains. Eng. Fract. Mech. 1992, 43, 455–459. [Google Scholar] [CrossRef]
  15. Lei, M.; Ren, S.; Chen, E.; Zhang, Z.; Xiao, J.; Wen, L.; Hou, X. Correlation between solid propellant failure and interface debonding in solid rocket motors. Polym. Test. 2022, 115, 107755. [Google Scholar] [CrossRef]
  16. Wang, G.; Cai, E. Solid Rocket Motor Design; Northwestern Polytechnical University Press: Xi’an, China, 1994; Available online: https://www.shukui.net/book/861646.html (accessed on 14 October 2024).
  17. Zhang, L. Experimental and Applied Research on Constitutive Model of Composite Solid Propellant under Superimposed Pressure and Changing Rates. Ph.D. Thesis, National University of Defense Technology, Changsha, China, 2020. [Google Scholar]
  18. Deng, K.; Zhang, L.; Pang, A.; Yu, R.; Yang, L.; Xin, P. Analysis on structural integrity of a free loading solid propellant grains under ignition loading at low temperature. J. Solid Rocket Technol. 2018, 41, 428–434. [Google Scholar]
  19. Zhang, X.; Zhang, X.; Zhang, H.L.; Zhong, W. Structure Integrity Analysis of Free Loading Solid Rocket Grain under Internal Pressure. Computer Simulation 2012, 29, 13–16. [Google Scholar]
  20. Guo, Y.; Wang, H.; Hu, Q.; Liu, H.; Liu, L.; Bennamoun, M. Deep Learning for 3D Point Clouds: A Survey. arXiv 2019, arXiv:1912.12033. [Google Scholar] [CrossRef]
  21. Dong, Z.; Liang, F.; Yang, B.; Xu, Y.; Zang, Y.; Li, J.; Wang, Y.; Dai, W.; Fan, H.; Hyyppä, J.; et al. Registration of large-scale terrestrial laser scanner point clouds: A review and benchmark. ISPRS J. Photogramm. Remote Sens. 2020, 163, 327–342. Available online: https://api.semanticscholar.org/CorpusID:216449537 (accessed on 14 October 2024). [CrossRef]
  22. Huang, X.; Mei, G.; Zhang, J.; Abbas, R. A comprehensive survey on point cloud registration. arXiv 2021, arXiv:2103.02690. [Google Scholar]
  23. Landrieu, L.; Simonovsky, M. Large-Scale Point Cloud Semantic Segmentation with Superpoint Graphs. arXiv 2017, arXiv:1711.09869. [Google Scholar]
  24. Hu, Q.; Yang, B.; Xie, L.; Rosa, S.; Guo, Y.; Wang, Z.; Trigoni, N.; Markham, A. RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds. arXiv 2019, arXiv:1911.11236. [Google Scholar]
  25. Xu, Y.; Jung, C.; Chang, Y. Head pose estimation using deep neural networks and 3D point clouds. Pattern Recognit. 2022, 121, 108210. Available online: https://api.semanticscholar.org/CorpusID:237712154 (accessed on 14 October 2024). [CrossRef]
  26. Yu, J.; Ren, L.; Zhou, W.; Zhang, Y.; Lin, L.; Dai, G. PEAL: Prior-embedded Explicit Attention Learning for Low-overlap Point Cloud Registration. In Proceedings of the 2023 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Vancouver, BC, Canada, 17–24 June 2023; pp. 17702–17711. [Google Scholar] [CrossRef]
  27. Wang, H.; Liu, Y.; Dong, Z.; Guo, Y.; Liu, Y.S.; Wang, W.; Yang, B. Robust Multiview Point Cloud Registration with Reliable Pose Graph Initialization and History Reweighting. In Proceedings of the 2023 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Vancouver, BC, Canada, 17–24 June 2023; pp. 9506–9515. [Google Scholar] [CrossRef]
  28. Qin, Z.; Yu, H.; Wang, C.; Peng, Y.; Xu, K. Deep Graph-based Spatial Consistency for Robust Non-rigid Point Cloud Registration. In Proceedings of the 2023 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Vancouver, BC, Canada, 17–24 June 2023; pp. 5394–5403. Available online: https://api.semanticscholar.org/CorpusID:257622836 (accessed on 14 October 2024).
  29. Yao, Y.; Deng, B.; Xu, W.; Zhang, J. Fast and Robust Non-Rigid Registration Using Accelerated Majorization-Minimization. IEEE Trans. Pattern Anal. Mach. Intell. 2022, 45, 9681–9698. Available online: https://api.semanticscholar.org/CorpusID:249431444 (accessed on 14 October 2024). [CrossRef]
  30. Chen, L.; Feng, C.; Ma, Y.; Zhao, Y.; Wang, C. A review of rigid point cloud registration based on deep learning. Front. Neurorobot. 2024, 17, 1281332. Available online: https://www.frontiersin.org/articles/10.3389/fnbot.2023.1281332/full (accessed on 14 October 2024). [CrossRef] [PubMed]
  31. Charles, R.Q.; Su, H.; Kaichun, M.; Guibas, L.J. PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation. In Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Honolulu, HI, USA, 21–26 July 2017; pp. 77–85. [Google Scholar] [CrossRef]
  32. Qi, C.R.; Yi, L.; Su, H.; Guibas, L.J. PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space. arXiv 2017, arXiv:1706.02413. [Google Scholar]
  33. Ni, H.; Lin, X.; Ning, X.; Zhang, J. Edge Detection and Feature Line Tracing in 3D-Point Clouds by Analyzing Geometric Properties of Neighborhoods. Remote Sens. 2016, 8, 710. [Google Scholar] [CrossRef]
  34. Chen, X.; Zhao, B. An Efficient Global Constraint Approach for Robust Contour Feature Points Extraction of Point Cloud. IEEE Trans. Geosci. Remote Sens. 2023, 61, 1–16. Available online: https://ieeexplore.ieee.org/document/10229227 (accessed on 14 October 2024). [CrossRef]
  35. Gumhold, S.; Wang, X.; Macleod, R. Feature Extraction from Point Clouds. In Proceedings of the International Meshing Roundtable Conference, Newport Beach, CA, USA, 7–10 October 2001; Available online: https://api.semanticscholar.org/CorpusID:18343879 (accessed on 14 October 2024).
  36. Demarsin, K.; Vanderstraeten, D.; Volodine, T.; Roose, D. Detection of closed sharp edges in point clouds using normal estimation and graph theory. Comput.-Aided Des. 2007, 39, 276–283. Available online: https://www.sciencedirect.com/science/article/pii/S0010448506002260 (accessed on 14 October 2024). [CrossRef]
  37. Pauly, M.; Keiser, R.; Gross, M. Multi-Scale Feature Extraction on Point-Sampled Surfaces. Comput. Graph. Forum 2003, 22, 281–289. Available online: https://onlinelibrary.wiley.com/doi/abs/10.1111/1467-8659.00675 (accessed on 14 October 2024). [CrossRef]
  38. Liu, X.; Jin, C. Feature line extraction from unorganized noisy point clouds. J. Comput. Inf. Syst. 2014, 10, 3503–3510. [Google Scholar]
  39. Hackel, T.; Wegner, J.D.; Schindler, K. Contour Detection in Unstructured 3D Point Clouds. In Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, NV, USA, 27–30 June 2016; pp. 1610–1618. [Google Scholar] [CrossRef]
  40. Lu, X.; Liu, Y.; Li, K. Fast 3D Line Segment Detection From Unorganized Point Cloud. arXiv 2019, arXiv:1901.02532. [Google Scholar]
  41. Fischler, M.A.; Bolles, R.C. Random sample consensus: A paradigm for model fitting with applications to image analysis and automated cartography. Commun. ACM 1981, 24, 381–395. Available online: https://api.semanticscholar.org/CorpusID:972888 (accessed on 14 October 2024). [CrossRef]
  42. Rusu, R.B.; Blodow, N.; Beetz, M. Fast Point Feature Histograms (FPFH) for 3D registration. In Proceedings of the 2009 IEEE International Conference on Robotics and Automation, Kobe, Japan, 12–17 May 2009; pp. 3212–3217. Available online: https://api.semanticscholar.org/CorpusID:15022990 (accessed on 14 October 2024).
  43. Tsai, C.Y.; Wang, C.W.; Wang, W.Y. Design and implementation of a RANSAC RGB-D mapping algorithm for multi-view point cloud registration. In Proceedings of the 2013 CACS International Automatic Control Conference (CACS), Nantou, Taiwan, 2–4 December 2013; pp. 367–370. [Google Scholar] [CrossRef]
  44. Dou, J.; Lin, X.; Niu, D.; Zhao, X. Non-rigid point set registration based on DIS&ANG descriptor and RANSAC. In Proceedings of the 2017 2nd International Conference on Image, Vision and Computing (ICIVC), Chengdu, China, 2–4 June 2017; pp. 693–697. [Google Scholar] [CrossRef]
  45. Peng, C.C. K-means based RANSAC Algorithm for ICP Registration of 3D Point Cloud with Dense Outliers. In Proceedings of the 2021 IEEE International Conference on Consumer Electronics-Taiwan (ICCE-TW), Penghu, Taiwan, 15–17 September 2021; pp. 1–2. [Google Scholar] [CrossRef]
  46. Besl, P.; McKay, N.D. A method for registration of 3-D shapes. IEEE Trans. Pattern Anal. Mach. Intell. 1992, 14, 239–256. [Google Scholar] [CrossRef]
  47. Yu, J.; Yu, C.; Lin, C.; Wei, F. Improved Iterative Closest Point (ICP) Point Cloud Registration Algorithm based on Matching Point Pair Quadratic Filtering. In Proceedings of the 2021 International Conference on Computer, Internet of Things and Control Engineering (CITCE), Guangzhou, China, 12–14 November 2021; pp. 1–5. [Google Scholar] [CrossRef]
  48. Chen, A.; Zhuang, J.; Han, X. An Improved ICP Algorithm for 3D Point Cloud Registration. In Proceedings of the 2022 3rd International Conference on Pattern Recognition and Machine Learning (PRML), Chengdu, China, 22–24 July 2022; pp. 205–210. [Google Scholar] [CrossRef]
Figure 1. The free assembly method and the wall pouring method.
Figure 1. The free assembly method and the wall pouring method.
Aerospace 11 00859 g001
Figure 2. Virtual free assembly process.
Figure 2. Virtual free assembly process.
Aerospace 11 00859 g002
Figure 3. Propellant grain point cloud.
Figure 3. Propellant grain point cloud.
Aerospace 11 00859 g003
Figure 4. Overall procedure of the method (the images have been specially processed for de-identification).
Figure 4. Overall procedure of the method (the images have been specially processed for de-identification).
Aerospace 11 00859 g004
Figure 5. The problems faced by layer-by-layer projection (the images have been specially processed for de-identification). The height for each layer is selected with certain limitations, considering the presence of certain tilt in the original point cloud and the abundance of convex points on the arc surface.
Figure 5. The problems faced by layer-by-layer projection (the images have been specially processed for de-identification). The height for each layer is selected with certain limitations, considering the presence of certain tilt in the original point cloud and the abundance of convex points on the arc surface.
Aerospace 11 00859 g005
Figure 6. KD-tree nearest neighbor search. After performing KD-tree search for the point p i j in P i , the nearest subset for this point is obtained. Using k-means, this subset is divided into two subsets, denoted as C 1 and C 2 . Line fitting is performed on both subsets, and based on the angle, it is determined whether to include this point in the candidate corner point set.
Figure 6. KD-tree nearest neighbor search. After performing KD-tree search for the point p i j in P i , the nearest subset for this point is obtained. Using k-means, this subset is divided into two subsets, denoted as C 1 and C 2 . Line fitting is performed on both subsets, and based on the angle, it is determined whether to include this point in the candidate corner point set.
Aerospace 11 00859 g006
Figure 7. Boundary of propellant grain point cloud. The boundary of the cross-sectional point cloud exhibits a periodic density distribution. The appropriate interval division is shown in figures (a,b). An excessively large interval is shown in figure (c), while an overly small interval is shown in figure (d).
Figure 7. Boundary of propellant grain point cloud. The boundary of the cross-sectional point cloud exhibits a periodic density distribution. The appropriate interval division is shown in figures (a,b). An excessively large interval is shown in figure (c), while an overly small interval is shown in figure (d).
Aerospace 11 00859 g007
Figure 8. Symmetric axis fitting.
Figure 8. Symmetric axis fitting.
Aerospace 11 00859 g008
Figure 9. The entire process for multiple symmetry axis fitting.
Figure 9. The entire process for multiple symmetry axis fitting.
Aerospace 11 00859 g009
Figure 10. FP-1, FP-2, FP-3, and FP-4.
Figure 10. FP-1, FP-2, FP-3, and FP-4.
Aerospace 11 00859 g010
Figure 11. RMSE principle diagram.
Figure 11. RMSE principle diagram.
Aerospace 11 00859 g011
Figure 12. Transformation matrix error. When only θ y is changed, the δ θ of our method is smaller than that of RANSAC + ICP. When only Δ x or Δ z is changed, RANSAC + ICP shows higher accuracy. However, when only Δ y is changed, the performance of RANSAC + ICP is unstable, while our method remains stable with a consistently low error.
Figure 12. Transformation matrix error. When only θ y is changed, the δ θ of our method is smaller than that of RANSAC + ICP. When only Δ x or Δ z is changed, RANSAC + ICP shows higher accuracy. However, when only Δ y is changed, the performance of RANSAC + ICP is unstable, while our method remains stable with a consistently low error.
Aerospace 11 00859 g012
Figure 13. RMSE between P T i and P T i . When only θ y is changed, the two-stage RMSE values of our method are lower. When only Δ x or Δ z is changed, the RMSE values of RANSAC and ICP tend to be consistent and are lower than those of our method. However, when only Δ y is changed, the RMSE values of RANSAC and ICP show instability, while our method remains relatively stable and maintains a lower RMSE value.
Figure 13. RMSE between P T i and P T i . When only θ y is changed, the two-stage RMSE values of our method are lower. When only Δ x or Δ z is changed, the RMSE values of RANSAC and ICP tend to be consistent and are lower than those of our method. However, when only Δ y is changed, the RMSE values of RANSAC and ICP show instability, while our method remains relatively stable and maintains a lower RMSE value.
Aerospace 11 00859 g013
Figure 14. Random position point cloud position normalization experiment.
Figure 14. Random position point cloud position normalization experiment.
Aerospace 11 00859 g014
Figure 15. Position normalization results. It is evident that after position normalization using our method, most of the points align well with the target point cloud, with only a few points that are not completely aligned. In contrast, the results from RANSAC + ICP show that most points are not well aligned.
Figure 15. Position normalization results. It is evident that after position normalization using our method, most of the points align well with the target point cloud, with only a few points that are not completely aligned. In contrast, the results from RANSAC + ICP show that most points are not well aligned.
Aerospace 11 00859 g015
Table 1. Downsampled number of points experiment.
Table 1. Downsampled number of points experiment.
Number of Downsampled Points:140,000130,000120,000110,000100,00090,00080,00070,000600,000500,000
Processing Time (s):484.13457.39428.39396.12352.46321.16277.90254.07215.04174.95
Table 2. Number of Points.
Table 2. Number of Points.
Point CloudNumber of PointsAfter Down Sampling
FP-113,333,09549,987
FP-220,128,47650,728
FP-315,943,08551,301
FP-417,933,17548,375
Table 3. Results of single-variable normalization experiment.
Table 3. Results of single-variable normalization experiment.
Point CloudAlgorithm Model [ δ θ ¯ , δ x ¯ , δ y ¯ , δ z ¯ ] [ RMSE ¯ ( θ y ) , RMSE ¯ ( Δ x ) , RMSE ¯ ( Δ y ) , RMSE ¯ ( Δ z ) ]
FP-1RANSAC[2.7519 7.72 × 10 8 71.3267 1.6005 × 10 7 ] [45.6162 2.1546 × 10 5 308.2656 2.1381 × 10 5
ICP [9.4203 2.1082 × 10 5 246.8501 2.1093 × 10 5
OursCoarse normalization [ 6.2778 × 10 3 4.6826 × 10 3 6.4697 × 10 5 4.9118 × 10 3 [2.78281.4542 6.6201 × 10 5 4.2702]
Fine normalization [ 1.927 × 10 2 1.7841 × 10 2 1.8759 × 10 2
FP-2RANSAC[1.7348 1.3558 × 10 4 67.2147 1.4084 × 10 7 [36.8562 2.1464 × 10 5 359.3677 3.5136 × 10 5
ICP [6.3411 4.6483 × 10 4 315.9922 2.0999 × 10 5
OursCoarse normalization [ 3.7423 × 10 3 9.7675 × 10 4 3.3594 × 10 5 2.2935 × 10 3 [2.9593.9315 3.5526 × 10 5 28.1718]
Fine normalization [ 9.2156 × 10 3 3.5941 × 10 3 8.6835 × 10 3
FP-3RANSAC[2.593 7.72 × 10 8 117.2881 1.6005 × 10 7 [45.2615 2.1247 × 10 5 793.146 2.124 × 10 5
ICP [8.6269 2.1082 × 10 5 650.5938 2.1093 × 10 5
OursCoarse normalization [ 5.6036 × 10 3 3.8561 × 10 2 6.9092 × 10 5 2.6747 × 10 3 [6.52442.4333 6.9969 × 10 5 2.9202]
Fine normalization [ 1.049 × 10 2 1.516 × 10 1 1.0468 × 10 2
FP-4RANSAC[1.4392 7.72 × 10 8 105.2849 1.6005 × 10 7 [42.2502 2.142 × 10 5 517.5345 2.1223 × 10 5
ICP [4.7415 2.1082 × 10 5 409.91 2.1093 × 10 5
OursCoarse normalization [ 3.7006 × 10 3 1.2487 × 10 2 3.5645 × 10 5 1.4475 × 10 2 [2.7779 7.7289 × 10 1 3.9265 × 10 5 7.7043 × 10 1
Fine normalization [ 9.6007 × 10 3 4.7459 × 10 2 4.5678 × 10 2
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Wang, J.; Tian, F.; Li, R.; Li, Z.; Zhang, B.; Si, X. Position Normalization of Propellant Grain Point Clouds. Aerospace 2024, 11, 859. https://doi.org/10.3390/aerospace11100859

AMA Style

Wang J, Tian F, Li R, Li Z, Zhang B, Si X. Position Normalization of Propellant Grain Point Clouds. Aerospace. 2024; 11(10):859. https://doi.org/10.3390/aerospace11100859

Chicago/Turabian Style

Wang, Junchao, Fengnian Tian, Renfu Li, Zhihui Li, Bin Zhang, and Xuelong Si. 2024. "Position Normalization of Propellant Grain Point Clouds" Aerospace 11, no. 10: 859. https://doi.org/10.3390/aerospace11100859

APA Style

Wang, J., Tian, F., Li, R., Li, Z., Zhang, B., & Si, X. (2024). Position Normalization of Propellant Grain Point Clouds. Aerospace, 11(10), 859. https://doi.org/10.3390/aerospace11100859

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop