SECTION-SPECIFIC GEOMETRIC ERROR EVALUATION OF AIRFOIL BLADES BASED ON DIGITIZED SURFACE DATA by Farbod Khameneifar B.Sc., University of Tehran, 2008M.A.Sc., Simon Fraser University, 2011A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY in The Faculty of Graduate and Postdoctoral Studies (Mechanical Engineering) THE UNIVERSITY OF BRITISH COLUMBIA (Vancouver) December 2015 © Farbod Khameneifar, 2015 ii Abstract Manufactured aero-engine blades are normally inspected in sections. Given discrete section-specific data points, the related geometric error evaluation task for three-dimensional tolerances of the blades is challenging and not yet well studied by researchers. Particularly, the existing method shows limited effectiveness in detecting position error and difficulty in accurate estimation of orientation error of airfoil sections. Moreover, touch-probes on a coordinate measuring machine are traditionally used to collect sectional coordinate data, which is a lengthy process as the data is collected through probe contact with the blade surface. Blade manufacturers would rather use 3D laser scanning that can complete data acquisition much faster. However, this poses a new challenge to data analysis. The collected set of points, referred to as point cloud, is all over the surface rather than at the desired, pre-specified sections. Thus, generating reliable section-specific data from the massive, unorganized scanned data points remains a problem to be solved. This thesis first presents a new methodology for evaluating three-dimensional tolerances of airfoil sections based on reconstructing the airfoil profiles from section-specific data points. According to a given measurement uncertainty, a progressive curve fitting scheme is proposed to generate the airfoil profile that meets the uncertainty constraint. Subsequently, the profile is utilized in related feature extraction of the proposed error evaluation approach. The second part of the thesis focuses on generating the reliable section-specific data points from the complete surface scan. An adaptive surface projection of data points onto the pre-specified section plane iii is proposed. A localized surface-fitting scheme is devised for this purpose. The main challenge lies in the selection of local data points, referred to as local neighborhood, for surface fitting. In particular, with the non-uniform distribution of data points in a noisy point cloud, existing neighborhood selection methods lead to biased fitting results. To avoid bias, a method of establishing balanced local neighborhood for surface fitting is proposed. An automated technique is also presented for systematic identification of eligible points for projection. The proposed computational framework in this thesis enables fully automatic and accurate evaluation of geometric errors using the latest high-speed geometric inspection platform. iv Preface Parts of this thesis have been/will be published in peer-reviewed journals. I was responsible for literature review, method development, case study design and implementation, and writing the articles under the guidance of my research supervisor, Dr. Hsi-Yung Feng. My supervisor originally recommended the overall direction of the thesis; but the detailed research as presented in the individual chapters was my original work. List of publications: 1. Khameneifar, F. and Feng, H.Y., 2014, “Airfoil profile reconstruction under the uncertainty of inspection data points,” International Journal of Advanced Manufacturing Technology, 71, pp. 675–83. 2. Khameneifar, F. and Feng, H.Y., 2015, “A new methodology for evaluating position and orientation errors of airfoil sections,” International Journal of Advanced Manufacturing Technology, in press (DOI 10.1007/s00170-015-7641-x). 3. Khameneifar, F. and Feng, H.Y., “Establishing a balanced neighborhood of discrete points for local quadric surface fitting,” submitted. 4. Khameneifar, F. and Feng, H.Y., “Extracting sectional contours from scanned point clouds via adaptive surface projection,” to be submitted. v Chapter 3 is based on the first article [1], in which I proposed an improved approach for closed B-spline curve approximation under the concept of utilizing the measurement uncertaintyinformation. I developed the airfoil profile reconstruction algorithm, performed experiments for verification and wrote the manuscript with input from my supervisor. Chapter 4 is based on the second article [2]. I proposed the error decomposition approach for evaluating position and orientation errors of airfoil sections, conducted the experiments, analyzed data, and wrote most of the manuscript. Chapter 5 is based on the third article [3]. I identified the balance requirement of local neighborhood of points for quadric surface fitting, realized the algorithm for establishing a balanced neighborhood, and performed case studies for verification. I also wrote the majority of the manuscript. Chapter 6 is based on the fourth article. I proposed the fully automatic technique for extraction of section-specific data from surface scan, conducted case studies, and wrote most of the manuscript. Besides the above journal articles, I have published and presented the following conference papers as part of my thesis: 1. Khameneifar, F., Feng, H.Y., Delorme, F.É., and Engin, S., 2013, “An improved methodfor closed non-periodic B-spline curve approximation,” Proceedings of the CIRP 2ndvi International Conference on Virtual Machining Process Technology, Hamilton, ON, Canada, 13-17 May 2013. 2. Khameneifar, F. and Feng, H.Y., 2014, “Neighborhood identification for scanned pointclouds in airfoil blade inspection,” Proceedings of the CIRP 3rd InternationalConference on Virtual Machining Process Technology, Calgary, AB, Canada, 20-23 May2014.vii Table of Contents Abstract .......................................................................................................................................... ii Preface ........................................................................................................................................... iv Table of Contents ........................................................................................................................ vii List of Tables ................................................................................................................................ xi List of Figures .............................................................................................................................. xii List of Symbols ........................................................................................................................... xvi List of Abbreviations ............................................................................................................... xviii Acknowledgements .................................................................................................................... xix Dedication ................................................................................................................................... xxi Chapter 1: Introduction ............................................................................................................... 1 1.1 Background and Motivation ............................................................................................... 1 1.2 Research Objectives ............................................................................................................ 3 1.3 Geometry and Tolerances of the Blade Surface ................................................................. 3 1.4 Thesis Scope ....................................................................................................................... 5 1.5 Evaluating Position and Orientation Errors ........................................................................ 5 1.6 Utilizing 3D Scanned Point Clouds .................................................................................... 8 1.7 Thesis Structure ................................................................................................................ 14 viii Chapter 2: Related Work ........................................................................................................... 17 2.1 Overview ........................................................................................................................... 17 2.2 Curve Approximation Using B-Splines ............................................................................ 17 2.3 Local Neighborhood of Discrete Points ............................................................................ 22 2.4 Extracting Sectional Contours from 3D Point Cloud ....................................................... 24 Chapter 3: Airfoil Profile Reconstruction under Data Uncertainty ...................................... 28 3.1 Overview ........................................................................................................................... 28 3.2 Criteria for Airfoil Profile Reconstruction ........................................................................ 29 3.3 Profile Reconstruction Methodology ................................................................................ 32 3.4 Results and Discussion ..................................................................................................... 38 3.4.1 Ideal Data Sets Sampled from Theoretical Profiles ................................................... 38 3.4.2 Synthesized Noisy Data Sets ..................................................................................... 41 3.5 Summary ........................................................................................................................... 45 Chapter 4: Evaluation of Position and Orientation Errors .................................................... 47 4.1 Overview ........................................................................................................................... 47 4.2 Problem Definition ............................................................................................................ 48 4.3 Proposed Methodology ..................................................................................................... 52 4.3.1 Centroid Determination and Position Error Evaluation ............................................. 52 ix 4.3.2 Rotation-only Best Matching and Orientation Error Evaluation ............................... 54 4.4 Implementation Results and Discussion ........................................................................... 59 4.4.1 Test Data Sets ............................................................................................................ 59 4.4.2 Error Evaluation without Decomposition (Existing Method) .................................... 64 4.4.3 Error Evaluation with Decomposition ....................................................................... 65 4.4.4 Error Evaluation with Decomposition via Profile Reconstruction ............................ 69 4.5 Summary ........................................................................................................................... 73 Chapter 5: Establishing a Balanced Local Neighborhood of Points ...................................... 76 5.1 Overview ........................................................................................................................... 76 5.2 Balanced Point Neighborhood for Local Quadric Surface Fitting .................................... 78 5.3 Territory Claiming Algorithm ........................................................................................... 80 5.3.1 Parameterized Territory of Existing Neighbors ......................................................... 81 5.3.2 Closest Directionally Balanced Neighbors ................................................................ 87 5.3.3 Balanced Neighborhood Rings .................................................................................. 89 5.3.4 Implementation Recommendations ........................................................................... 91 5.3.4.1 Size of the Initial Neighbor Candidate Set (k-NN) ............................................. 91 5.3.4.2 Range of ! and Value of ∆! ............................................................................... 92 5.3.4.3 Simpler Containment Evaluation ........................................................................ 94 x 5.4 Implementation Results and Discussion ........................................................................... 95 5.4.1 Reference Normal Vector .......................................................................................... 96 5.4.2 Case Studies ............................................................................................................... 97 5.5 Summary ......................................................................................................................... 110 Chapter 6: Extracting Sectional Contours from 3D Point Cloud ........................................ 112 6.1 Overview ......................................................................................................................... 112 6.2 Proposed Methodology ................................................................................................... 113 6.2.1 Curvilinear Projection Trajectory ............................................................................ 113 6.2.2 Automatic Selection of Points for Projection .......................................................... 115 6.2.3 Smooth Sectional Profile Reconstruction ................................................................ 118 6.3 Implementation Results and Discussion ......................................................................... 119 6.3.1 Projection Methods for Comparison ........................................................................ 122 6.3.2 Case Studies ............................................................................................................. 123 6.4 Summary ......................................................................................................................... 130 Chapter 7: Conclusions and Future Research Directions ..................................................... 131 7.1 Conclusions ..................................................................................................................... 131 7.2 Future Research Directions ............................................................................................. 136 References .................................................................................................................................. 138 xi List of Tables Table 3.1 Minimum number of segments to reconstruct a feasible profile from point sets with different uncertainty values. .......................................................................................................... 44 Table 4.1 Specified position and orientation tolerances of the innermost, intermediate, and outermost airfoil sections of Figure 4.6. ....................................................................................... 60 Table 4.2 Known deviations of the simulated manufactured airfoil sections. ............................ 62 Table 4.3 Reference inspection results of the simulated manufactured airfoil sections. ............ 62 Table 4.4 Results of error evaluation without decomposition (existing method). ...................... 64 Table 4.5 Results of error evaluation with decomposition. ........................................................ 66 Table 4.6 An incorrect case of error evaluation with decomposition. ........................................ 67 Table 4.7 Results of error evaluation with decomposition via profile reconstruction. ............... 70 Table 6.1 List of projection methods for comparison. .............................................................. 122 Table 6.2 Comparison of projected results of different methods with increased noise level. .. 125 Table 6.3 Comparison of average errors in the computed tolerance evaluation features. ........ 129 xii List of Figures Figure 1.1 Schematic diagram of an airfoil section. ..................................................................... 4 Figure 1.2 Point cloud from a blade surface in relation to a specified sectional plane. ............... 9 Figure 1.3 Perpendicular projection of points onto a section plane (existing method). ............. 11 Figure 1.4 Local neighborhood N(p) of p and the fitted quadric surface Q(p). ......................... 12 Figure 1.5 Distance-based neighborhood: (a) continuous surface; and (b) sampled point cloud. ....................................................................................................................................................... 13 Figure 1.6 Structure of the thesis. ............................................................................................... 15 Figure 3.1 Expanded uncertainty interval of ±3uc. ..................................................................... 30 Figure 3.2 Feasible approximated curves satisfying the uncertainty criterion. .......................... 31 Figure 3.3 Flow chart of the profile reconstruction procedure. .................................................. 33 Figure 3.4 A C2 continuous closed cubic non-periodic B-spline curve (in blue) and its control polygon (in black). ........................................................................................................................ 35 Figure 3.5 (a) Ideal sampled points; and (b) reconstructed profile of 9 segments (in blue) along with its knot points (in red). .......................................................................................................... 40 Figure 3.6 RMS of the fitted residuals versus number of segments employed in the approximated curve (ideal sampled points). ................................................................................. 40 Figure 3.7 (a) Noisy points with uncertainty; and (b) reconstructed profile of 9 segments (in blue) along with its knot points (in red). ....................................................................................... 41 xiii Figure 3.8 σ r versus number of segments in the approximated curve (dashed line indicating uc = 2 µm) ............................................................................................................................................. 42 Figure 3.9 Variation of ! r (for approximated curves employing minimum number of segments) with different uncertainty intervals. .............................................................................................. 45 Figure 4.1 Chord line and mean line of an airfoil profile. .......................................................... 49 Figure 4.2 A typical set of sectional measurement points in relation to its corresponding design airfoil profile. ................................................................................................................................ 50 Figure 4.3 Area bias in calculating centroid from linearly connected discrete data points. ....... 51 Figure 4.4 Flow chart of the proposed position error evaluation procedure. .............................. 53 Figure 4.5 Flow chart of the proposed orientation error evaluation procedure. ......................... 55 Figure 4.6 CAD profiles of the innermost, intermediate and outermost airfoil sections of a blade. ............................................................................................................................................. 60 Figure 4.7 Deviation of the calculated centroid location from its true location via linearly connected discrete data points. ..................................................................................................... 68 Figure 4.8 Deviation of the reconstructed profile from the simulated manufactured profile for different levels of measurement uncertainty. ................................................................................ 71 Figure 4.9 Deviation of the calculated centroid location from its true location for different levels of measurement uncertainty. ............................................................................................... 72 xiv Figure 4.10 Deviation of the estimated angle of rotation from its true value for different levels of measurement uncertainty. ......................................................................................................... 72 Figure 5.1 (a) A directionally balanced set of neighbors; and (b) the desirable set of neighbors. ....................................................................................................................................................... 77 Figure 5.2 Spiral distribution of nearest points around a point of interest p. ............................. 84 Figure 5.3 Contour plots: (a) Rβ (!,!) with various !; and (b) Tβ (!,!) with various !. ........ 85 Figure 5.4 An example of the balanced neighborhood-growing scheme. .................................. 90 Figure 5.5 Variation of Nβ (!) with ! in 2.0 ≥ ! ≥ 1.0. .......................................................... 93 Figure 5.6 Synthetic point clouds with 0.50 BBD% superimposed noise from: (a) sphere; (b) torus; and (c) bicubic Bezier surface patch. .................................................................................. 98 Figure 5.7 Comparison of normal vector approximation errors for randomly sampled torus point clouds (no noise). ........................................................................................................................ 102 Figure 5.8 Comparison of normal vector approximation errors for randomly sampled torus point clouds (10,000 points with noise). .............................................................................................. 104 Figure 5.9 Proposed method’s superiority in percentage of point cases for randomly sampled torus point clouds (10,000 points with noise). ............................................................................ 105 Figure 5.10 Adaptation of the proposed point neighborhood to noise. .................................... 106 Figure 5.11 Comparison of normal vector approximation errors for randomly sampled Bezier point clouds (10,000 points with noise). ..................................................................................... 108 xv Figure 5.12 Proposed method’s superiority in percentage of point cases for randomly sampled Bezier point clouds (10,000 points with noise). ......................................................................... 109 Figure 6.1 Curvilinear projection trajectory through the fitted local quadric surface. ............. 115 Figure 6.2 Flowchart of the proposed curvilinear surface projection method. ......................... 117 Figure 6.3 Synthetic blade point clouds with different noise levels: (a) σ = 0.025; (b) σ = 0.050; (c) σ = 0.100; (d) σ = 0.200; (e) σ = 0.300; and (f) σ = 0.400 mm. ................................................ 121 Figure 6.4 Average deviation of projected points from the ideal airfoil profile. ...................... 126 Figure 6.5 Maximum deviation of projected points from the ideal airfoil profile. ................... 127 Figure 6.6 Average error of the reconstructed airfoil profile with respect to the ideal profile. 128 xvi List of Symbols C(u) c d e ei mp m mr N(p) N1(p) N N(u) n P p p Q(p) Qi Qm Q0 q Parametric curve Quadric surface coefficients Euclidean distance between points Approximation error of the estimated normal vector Euclidean distance of ith measured point from approximated curve Projection of point p on the section plane Number of data points in curve fitting minus 1 Minimum number of neighboring points required Local neighborhood of points A ring of closest directionally balanced neighbors around p Matrix of B-spline basis functions; Normal vector B-spline basis function Number of control points of B-spline curve minus 1 Control points of B-spline curve A measured point Order of B-spline curve Quadric surface Each data point in curve fitting End data point in curve fitting Start data point in curve fitting A neighboring point xvii Rβ (p,q) S(x, y, z) s Tβ (p,n) U uc x, y, z Greek symbols β δ η σ σr Influence region of point q with respect to the point p Quadric surface A sampled point on reconstructed profile Claimed territory of existing neighbor n with respect to the point p Knot vector of B-spline curve Standard uncertainty of data Parameter value of each data point in curve fitting Coordinates of a point β-skeleton parameter Distance from section plane Percentage of point cases for which the proposed neighborhood is superior Standard deviation Standard deviation of fitted residuals ! u ixviii List of Abbreviations BBD CAD CMM EGG FDN GG ICP k-NN MLS MRO NURBS RMS RNG STL TC Bounding Box Diagonal Computer-Aided Design Coordinate Measuring Machine Elliptic Gabriel Graph Fixed Distance Neighbors Gabriel Graph Iterative Closest Point k-Nearest Neighbors Moving Least-Squares Maintenance, Repair and Overhaul Non-Uniform Rational B-Spline Root Mean Square Relative Neighborhood Graph Stereolithography Territory Claiming xix Acknowledgements First and foremost, I would like to express my most heartfelt gratitude and respect to my supervisor, Professor Hsi-Yung Feng, for his continuous support, patience, friendship and encouragement over the years. I have learned tremendously from him, and am beyond grateful for his wonderful mentoring, and instilling a high standard for research and teaching in me. Professor Feng provides a very pleasant environment in the lab and he really knows how to communicate with his students. He will continue to be my role model for the years yet to come. I would like to acknowledge the financial support of Natural Sciences and Engineering Research Council (NSERC) under the CANRIMT strategic network grant and the Four-Year Doctoral Fellowship (4YF) from UBC Faculty of Graduate and Postdoctoral Studies. I wish to thank our industrial partner, Pratt & Whitney Canada, for their essential practical input and advice. I would also like to thank Luigi Giaccari for making the mesh generation programs MyRobustCrust and MyCrustOpen available for academic research use. I would like to extend my gratitude to my supervisory committee for their time, efforts and invaluable insight they provided, which have helped significantly in shaping this work. I would also like to thank the examiners for reviewing this thesis. I am truly thankful to my exceptional colleagues at CAD/CAM/CAI research laboratory and all of my other friends at UBC for all the nice memories they have shared with me. I am very happy xx that my fellow colleagues in NSERC CANRIMT nominated me to serve on the Graduate Student Advisory Council of the network (2013-2015). This leadership experience helped me build professional skills and let me meet and work with amazing and inspiring people. Many thanks are due to my family, my wonderful and lovely parents and sister, for their endless love and support throughout my life. Thank you for always being there for me. xxi Dedication To My Dear Parents 1 Chapter 1: Introduction 1.1 Background and Motivation Blades in aero-engine applications are designed for optimum energy conversion and intense operating conditions. To guarantee the functionality of aero-engine blades, tight tolerances are applied to their ideal basic geometry. Blade manufacturing requires high-accuracy inspection in order to verify conformity of the manufactured blades to the specified geometric tolerances. The related geometric error evaluation task is crucial. Any inaccuracy in evaluating the associated geometric errors may lead to wrongful rejection of a good blade or incorrect acceptance of a nonconforming blade. In addition, as geometric error distribution on a manufactured blade commonly provides the fundamental data for improving the associated manufacturing process [4,5], any inconsistent estimation of the errors may lead to false modification of the manufacturing process. Tolerances of the airfoil blades are specified in sections, where each section is an airfoil. The needed geometric error evaluation for the free-form blade surface is thus carried out at the pre-specified airfoil sections as indicated on the drawings [6–9]. Therefore, in the inspection process, inspection data should be collected for the specified airfoil sections. To date, touch probes on a coordinate measuring machine have been the most widely used surface digitizing approach for collecting the discrete coordinate data at the specified airfoil 2 sections. Earlier probes have been touch-trigger, which required one touch at a time for sampling data points one by one. These sensors are known to be very accurate, but they are too slow. Later on, scanning touch probes have been developed and used, which can continuously sample points as long as they are in contact with the surface. The scanning touch probes are also accurate, and they are faster than traditional touch-trigger probes, but they are still relatively very slow. Aero-engine blades are inspected at different stages of the production process. It is thus desirable to have a high-speed inspection process. Due to the complex free-form shape of the blades, this is not achievable with the use of touch probes, which must remain in contact with the blade surface for data acquisition. Path planning for the touch probes is also a complicated task in blade measurement [7–9]. The overall inspection of a blade using contact-type scanners usually takes hours of production time. Fast non-contact scanning for blade inspection has been an industry demand for years. Thanks to the recent advances in optical 3D scanning systems, a small but growing number of shop floors have started utilizing 3D scanning using optical probes (i.e., 3D laser scanning) for blade inspection. The latest high-speed 3D laser scanning systems would complete the inspection of the blade surface in minutes, if not seconds [10,11]. However, the fact that they are generally less accurate than traditional contact-type scanners has made the reliability of laser scanning for blade inspection questionable. The overall uncertainty issue is even more of a concern as the current data processing for using scanned data adds to the input uncertainty. 3 The motivation of this research is to increase the fundamental confidence in airfoil blade inspection, first with the most accurate section-specific inspection data possible (i.e., contact-probe measurement), then with the surface data captured by high-speed 3D laser scanning. 1.2 Research Objectives The overall objective of this research is to enable accurate and efficient blade inspection. Geometric error evaluation of airfoil sections using sectional inspection data points is still a challenging task, since the existing method for evaluating some of the errors has severe shortcomings. Thus, the first sub-objective is to ensure correct evaluation of the geometric errors from accurate sectional data points (i.e., sampled by accurate contact probes). In order to have an efficient inspection system, blade manufacturers would rather scan the blade surface using high-speed 3D laser scanning. Thus, the second sub-objective is to ensure accurate extraction of sectional data points from scattered point cloud collected by a 3D laser scanner. 1.3 Geometry and Tolerances of the Blade Surface Airfoil is the key element of design of the blade surface. In the design process, the blade surface is generated by stacking airfoil sections on top of each other along a virtual stacking axis (i.e., normally Z-axis [8]) that passes through the stacking point of each airfoil section. The stacking point is the centroid of the airfoil profile (i.e., normally the origin of the XY section plane [8]). From bottom to the tip of the blade surface, airfoil profiles are also twisted to a certain degree about the stacking axis (i.e., Z-axis) in order to satisfy aerodynamic properties. 4 Airfoil profile, as shown in Figure 1.1, comprises four parts: suction side, pressure side, leading edge, and trailing edge. Each of these four parts serves an aerodynamic function. There are two dimensional tolerances specified on each airfoil section [12,13], namely the profile tolerance for suction side and pressure side, tolerance for thickness dimensions, and maximum flat and minimum radius tolerances along the leading edge and trailing edge. Figure 1.1 Schematic diagram of an airfoil section. In addition, three-dimensional tolerances are specified on each airfoil section in order to control conformance of stacking of the manufactured airfoil sections with the basic design. Three-dimensional tolerances of the airfoil sections are position and orientation tolerances, also known as section location tolerance and twist tolerance [14]. Position tolerance is defined as the allowable deviation of the stacking point (i.e., centroid) of an airfoil section from its ideal position. Orientation tolerance is defined as the permitted angular deviation of the airfoil profile from its basic orientation. Leading edge Trailing edge Suction side Pressure side 5 1.4 Thesis Scope Researchers have already studied two-dimensional tolerances of the airfoil blade in depth [12–14]. In contrast, three-dimensional tolerances of the blade are much less studied. Therefore, this work focuses on the evaluation of three-dimensional tolerances (i.e., position and orientation tolerances). This thesis aims for accurately evaluating three-dimensional tolerances of airfoil sections, first using measured sectional inspection data points, then by extracting reliable sectional coordinate data from complete surface scan of the high-speed laser scanner. The digitized surface data in this work is assumed as given along with its associated measurement uncertainty estimate. The calculation of measurement uncertainty is not considered under the scope of this work. 1.5 Evaluating Position and Orientation Errors Given the sectional inspection data points, Hsu et al. [14] proposed to best match the set of discrete data points for each airfoil section onto the corresponding airfoil CAD profile. The position and orientation errors of an airfoil section were then concurrently evaluated. The iterative closest point (ICP) algorithm [15] was adopted to solve for the two translational parameters and one rotational parameter for each sectional plane. In this method, the translational and rotational parameters are in fact coupled in evaluating the resulting position and orientation errors. As a result of the coupling, the existing method can hardly detect the correct position error and it consistently gives a larger estimate for the orientation error since these two 6 errors tend to average out each other. In addition to unreliable inspection results, using the results of the existing method as corrective feedback may lead to incorrect manufacturing process modifications. This thesis presents a tolerance evaluation approach based on the reconstruction of the airfoil profile. It aims to isolate the position error from the orientation error so as to resolve the coupling problem of the existing method. The position error is to be evaluated first. After evaluating the position error, the reconstructed airfoil profile is to be translated, so that it shares the same centroid location with the corresponding airfoil CAD profile. Then, a rotation-only best matching about the shared centroid gives the orientation error of the manufactured profile. With this approach, there is only the rotational parameter involved in best matching of the airfoil profiles and the coupling issue is thus of no concern. To extract the position error between the inspected and ideal airfoil profiles, centroids of the profiles are to be used. Therefore, the centroid of the manufactured profile must be extracted from the sectional inspection data points. The calculated centroid based on discrete data points often deviates from its true location for a manufactured profile mainly due to the area bias issue. In order to resolve the centroid miscalculation issue, reconstructing the manufactured airfoil profile from the inspection points is proposed in this work. If a reconstructed airfoil profile can reliably represent the manufactured profile, the centroid of the manufactured airfoil is then readily available, resulting in accurate position error calculation. 7 Considering that inspection data points are subject to measurement uncertainty, the acquired data points do not exactly represent actual points on the inspected blade surface. Hence, an actual manufactured airfoil profile can never be precisely generated from the measurement data. It can, however, be reliably approximated using a closed-curve fitting method, which directly targets airfoil profile approximation. In fact, there are three benefits to reconstruct the airfoil profile. First, the area bias problem in centroid calculation is avoided, which results in accurately computed centroid locations. Second, the negative impact of measurement uncertainty on part inspection is reduced. Moreover, best matching the discrete data points to a given airfoil profile can easily produce biased matching results due to uneven distribution of the inspection data points. Therefore, the third benefit is that the reconstructed profile is able to provide sampled points of a uniform spatial interval. With evenly distributed sampled points from the reconstructed airfoil profile, the fitting bias commonly encountered in best matching is also avoided. The effectiveness of the proposed method in evaluating the position and orientation errors of airfoil sections highly depends on the consistency of the reconstructed airfoil profiles from the inspection data points. It is shown in this thesis that when the measurement uncertainty in the data points is reasonably low, the airfoil profile can be reconstructed quite consistently. The level of tolerable measurement uncertainty corresponds to a touch-trigger probe or a contact-scanning probe on a coordinate measuring machine (CMM). In comparison, data obtained from optical scanning (i.e., a laser probe) is known to be characterized by a higher level of uncertainty 8 [16]. Therefore, it is sensible to quantify the effect of increased measurement uncertainty on the accuracy of the evaluated position and orientation errors by the proposed method; because increased measurement uncertainty expectedly affects the quality of the reconstructed profile, which subsequently affects the evaluated position and orientation errors. 1.6 Utilizing 3D Scanned Point Clouds Recent advances in 3D laser scanning make this technology a promising tool for the geometric inspection of complex-shaped airfoil blades. Compared to traditional touch probes, laser scanning can significantly reduce the inspection time and collect a massive number of data points. But, there is a challenge in utilizing the surface scan for quality inspection of the blades: the collected point cloud is a set of unorganized points all over the blade surface rather than at the pre-specified sections, as illustrated in Figure 1.2. As a result, the desired set of reliable cross-sectional coordinate measurement data for each pre-specified blade section must be generated from the collected point cloud. The fundamental challenge is that for any given plane intersecting through the scanned point cloud, no point would lie exactly on the intersecting plane. The desired sectional measurement data can thus only be approximated from the nearby data points. 9 Figure 1.2 Point cloud from a blade surface in relation to a specified sectional plane. In this aspect, the underlying data processing task is similar to the slicing task of generating the layer profiles for rapid prototyping using additive layered manufacturing processes directly from scanned point cloud data. There are, however, two major differences in the sectional contour extraction requirements between quality inspection and rapid prototyping. First, the accuracy requirement for quality inspection, in particular for aero-engine blades, is much higher than that for rapid prototyping. Second, some manual data processing interaction may be acceptable in rapid prototyping while there is a definite need for fully automatic sectional contour extraction in blade inspection. Particularly, the inspection objective is often not only for part acceptance or rejection but also for on-machine inspection of the blades so as to provide feedback information for immediate corrective processing. A key requirement for on-machine inspection is automation and a fully automatic data processing method is thus in much demand [17]. The traditional approach of slicing the point cloud involves surface reconstruction [18,19], either 10 triangle mesh surface reconstruction or global smooth surface fitting (i.e., reverse engineering). First of all, it should be noted that surface reconstruction works in literature try to address the situation that the underlying geometry of the point cloud is completely unknown. By imposing certain sampling criteria, they try to correctly capture the topology of the underlying geometry. However, availability of the CAD model in inspection application, along with the specialized geometry of the blade surface put the problem in this thesis in a different category than the surface reconstruction works. In addition, the reverse engineering process (e.g., using commercial reverse engineering software) including meshing, segmentation, and surface fitting is by no means an easy task, and is known to be laborious and far from being fully automatic [18–20], while automation is crucial for the application of this thesis, inspection of the blades in production. In order to bypass the laborious reverse engineering process, the section-specific measurement data can be attained by projecting nearby data points to the planes corresponding to the pre-specified airfoil sections. Then, the following questions should be answered: • What is the definition of nearby data points? • What is the path of projection for each point? The simplest way to project a data point onto a specified section plane is through linear perpendicular projection [21]. As Figure 1.3a illustrates, the points within a user-defined δ distance from the section plane (shown in cyan) are projected onto the section plane in perpendicular direction shown in Figure 1.3b. 11 The perpendicular projection is in fact the common practice for direct slicing in rapid prototyping community. This projection is also recently employed in the application of blade inspection [22], which provides sufficient motivation to evaluate its accuracy in more detail. In short, as common rapid prototyping process does not require high profile accuracy, perpendicular projections are considered acceptable. However, for accurate geometric error evaluation, the strip width resulting from perpendicular projections, like what is shown in Figure 1.3c, suggests poor data quality and the projected data cannot be used. (a) (b) (c) Figure 1.3 Perpendicular projection of points onto a section plane (existing method). The fundamental idea of this thesis is that if a localized smooth surface can be accurately fitted to each data point in the vicinity of a specified sectional plane, each data point can be properly projected onto the sectional plane along the associated curved trajectory on the fitted surface. δ δ 12 According to the Weierstrass approximation theorem, any continuous function (e.g., a smooth surface) can be consistently approximated by a polynomial function up to any desired accuracy. When it comes to local surface shape approximation, the approximating local surface should be able to trace a wide range of shapes. A quadric surface is found to be the best option for this purpose [23,24]. For a given point p of the point cloud, as shown in Figure 1.4, a quadric surface Q(p) is computed through least-squares fitting to the local neighborhood N(p) (shown in blue). The local neighborhood N(p) is a set of points around p. Figure 1.4 Local neighborhood N(p) of p and the fitted quadric surface Q(p). In order to find the local neighborhood of points in a point set, distance-based neighbors such as k-nearest neighbors are widely used in literature, mainly due to simplicity. Nonetheless, the results of using such neighborhoods in local surface fitting are not satisfactory. Because, laser scanned point clouds, as they typically contain a considerable amount of noise, have a non-uniform point distribution. Although the least-squares fitting technique is robust and well-suited to process noisy data, the selection of neighboring points for the fitting still greatly influences the p Q(p) N(p) 13 quality of the fitted surface [25]. This work focuses on the proper selection of neighboring points for reliable local quadric surface fitting. Fundamentally, the neighborhood of a point in the 3D space is defined using an infinitesimal distance measure (!-ball centered at the point). Figure 1.5a illustrates the local neighborhood of a query point ! on a continuous 2-manifold surface for which the local neighborhood is topologically equivalent to a small disk. Distance-based neighborhood identification methods for point clouds, such as k-nearest neighbors (k-NN), and fixed distance neighbors (FDN), bear a similar concept. The idea of distance-based neighborhood works very well for a continuous surface but is not the optimal choice when applied to a discrete point set. Figure 1.5b shows a typical distance-based neighborhood of the point ! in the sampled point cloud from the same 2-manifold surface. (a) (b) Figure 1.5 Distance-based neighborhood: (a) continuous surface; and (b) sampled point cloud. 14 In order to make the idea of the !-ball work in the discrete setting, the local points must have been uniformly sampled so that the neighboring points adequately represent a small, local surface patch around the query point. However, with the non-uniform distribution of points in an unorganized noisy point cloud, distance-based methods often give biased point neighborhoods. This is because farther points to the query point with no other points in-between might not be considered as points in the neighborhood as there are enough closer points in the other directions. The use of the resulting biased neighborhood leads to a biased fitted surface when computed through least squares fitting. Consequently, the local projection along the fitted surface becomes inaccurate. This thesis investigates the balance requirement of local quadric surface fitting and proposes a novel approach for establishing a balanced neighborhood for this purpose. Subsequently, the thesis enables an adaptive surface projection of fully-automatically selected local data points onto the section plane. The proposed method effectively generates sectional contours for geometric error evaluation of airfoil blades based on surface scan. 1.7 Thesis Structure Figure 1.6 illustrates the structure of the thesis. This thesis comprises two interrelated parts. The focus of the first part is on geometric tolerance evaluation using section-specific coordinate measurement data. This is followed by the second part in which the prospective high-speed geometric inspection platform is realized by generating reliable section-specific coordinate measurement data from the complete surface scan. 15 Figure 1.6 Structure of the thesis. As it is already discussed in Section 1.5, profile reconstruction is essential to the proposed decomposition of position and orientation errors. Thus, the proposed measurement uncertainty-Background Information Introduction (Chapter 1) Related Work (Chapter 2) Geometric Error Evaluation Profile Reconstruction (Chapter 3) Error Decomposition (Chapter 4) Section-Specific Data Extraction Neighborhood Identification (Chapter 5) Adaptive Surface Projection (Chapter 6) Concluding Remarks Conclusions and Future Research Directions (Chapter 7) 16 based airfoil profile reconstruction is first presented in Chapter 3. The mathematical basis for the sectional profile curve is decided to be non-periodic B-spline as it is one of the most popular types of curves for curve approximation. The reason of its popularity is that a B-spline curve is capable of approximating complex shapes with great fidelity. Once reconstructed, the smooth airfoil profile is utilized in the proposed error decomposition based approach for evaluating position and orientation errors in Chapter 4. To the end of Chapter 4, certain accuracy requirement is estimated for the section-specific inspection data points used in the proposed geometric error evaluation. The same relation of Chapters 3 and 4 exists between Chapters 5 and 6. As it is already mentioned in Section 1.6, the bias issue in selecting neighboring points for local quadric surface fitting must be resolved first, in order for the local surface projection to be available. Establishing balanced neighborhood of points for local quadric surface fitting is presented in Chapter 5. Based on the developed local neighborhood of points, Chapter 6 presents a fully automatic and adaptive point cloud processing technique for extracting section-specific contours that comply with the required precision. 17 Chapter 2: Related Work 2.1 Overview This chapter reviews the relevant work in the literature. The existing method for evaluation of position and orientation errors of airfoil sections has already been reviewed in Chapter 1. In this chapter, profile reconstruction methods with a focus on B-spline curve fitting are discussed in Section 2.2. Methods for selecting local neighboring points in a point cloud are reviewed in Section 2.3. Finally, Section 2.4 reviews the related works on how to extract sectional coordinate measurement data from scanned point clouds. 2.2 Curve Approximation Using B-Splines As it is explained earlier in Chapter 1, a B-spline curve is utilized for profile reconstruction, as a sophisticated tool for approximating complex shapes. The objective of this work is to construct a closed B-spline curve to represent the airfoil profile. It is, thus, worthwhile to first review the existing works in B-spline curve approximation. B-spline curve approximation is, in fact, an important active research problem in computer-aided design [26–28]. In approximation, a best-fitted curve to a point set does not have to pass through any of the points; however, it must lie within a prescribed distance from the point set to be considered acceptable [29]. 18 A B-spline curve C(u) of order p (degree 1p − ) is commonly expressed as Equation 2.1. (2.1) where jP are the control points and , ( )j pN u are the B-spline basis functions of order p defined over the knot vector 0 1 1[ , ,..., , ]n p n pu u u u+ − +=U [26–28]. The knot vector U consists of non-decreasing real-value knots. It is commonly desirable to use non-periodic knots, which generate non-periodic B-spline curves. The first and last p knots in a non-periodic knot vector are duplicated. This makes the B-spline curve pass through the first and last control points, tangent to the first and last segments of the control polygon at the curve end points. In order to fit a B-spline curve to a given set of points, some researchers have tried to solve this as a global nonlinear optimization problem by treating the parameter value at each data point, the number and location of the control points, and the knot vector as unknowns. Optimization schemes have been proposed, which start with an initial B-spline curve called the active curve [30–33]. The developed optimization algorithms will converge properly only if an appropriate active curve is specified. The active curve needs to be sufficiently close to the target curve shape and defined by an appropriate number of control points. Therefore, there still remain many challenges in the global nonlinear optimization approach and it is far from being fully automatic. C(u) = N j,p(u)Pjj=0n∑ u∈[0,1]19 Instead of solving the global nonlinear optimization problem, a widely used method to approximate a B-spline curve from data points is via least-squares curve fitting. This approach involves three steps. First, the parameter value for each data points iQ is specified. This step is called parameterization. Second, a knot vector U is defined, corresponding to the parameter value , number of data points 1m + , specified degree 1p − and number of control points 1n + . This procedure is usually referred to as knot placement. The third step is least-squares minimization in which the location of each control points jP is determined. The common practice is that the resulting curve would interpolate (pass through) the start and end data points, 0Q and mQ , and approximate (not pass through) the remaining points. Therefore, the locations of the first and last control points are respectively fixed at the start and end data points. In this case, in order to find the locations of the other control points, the following summation of least-squares deviations are minimized with respect to the 1n − variables, jP ( 1 to 1j n= − ), where n is in general less than m : (2.2) After differentiating Equation 2.2 with respect to jP and setting the resulting expressions equal to zero, the minimization problem is converted into one of solving a system of linear equations in the following form: ! u i! u i! Q i "C(u i)i=1m"1#220 ( )T =N N P R (2.3) where P = (P1 P2 … Pn-1)T and ! = !!,!(!!) ⋯ !!!!,!(!!)⋮ ⋱ ⋮!!,!(!!!!) ⋯ !!!!,!(!!!!) (!!!)×(!!!) (2.4) ! = !!! = !!,! !! !! +⋯+ !!,!(!!!!)!!!!⋮!!!!,! !! !! +⋯+ !!!!,!(!!!!)!!!! !!! ×! (2.5) Detailed derivation of the above matrices can be found in [28,34]. Solving the derived system of linear equations requires a known knot vector. In order to compute the knot values, it is necessary to know the parameter value at each data point first. To compute the parameter value , many parameterization techniques have been proposed [35–38], among which the chord length method is the most widely used. Once the parameter values are computed, a knot vector is to be defined. De Boor [34] suggested a choice of internal knots to facilitate the least-squares approximation, which guarantees that every knot span contains at least one parameter value. When this condition is met, ( )TN N in Equation 2.3 is a positive definite matrix that makes the system of linear equations solvable by Gaussian elimination without pivoting. ! u i21 It should be noted that the majority of the existing studies have been focusing on the approximation of open curves. The main difference between constructing an open curve and a closed curve lies in the clear indication of where the start point should be located. To construct a closed curve, there is no obvious location set for the start point with reference to the given point set. Therefore, there is a definite need to devise a systematic approach to select a suitable start point as a reference to parameterizing the data points. Parameterization can affect the shape of the fitted curve by altering the location of the solved control points. The method to select the start point must thus be sound in order to construct a curve with enhanced shape fidelity. Piegl and Tiller [39] raised the above requirement for approximating closed non-periodic B-spline curves over closed data point sets. They assumed that, in addition to data point positions, end derivatives were also available. End derivatives uniquely govern the locations of end control points. Thus, the computation of these control points was separated from the least squares fitting procedure, where the rest of the control points were computed. This method suffers from the need of data point interpolation at the start and end control points. In addition, end derivative information is often not readily available for measured data points. In conclusion, the existing method for closed non-periodic B-spline curve approximation still requires improvement. Moreover, although all of the approximation-based curve fitting methods take into account the fact that measured data points are noisy, they do not explicitly consider the use of given measurement uncertainty information about data. The profile reconstruction in this thesis thus 22 aims to build a framework for utilizing the measurement uncertainty information associated with data points; it also intends to refine the existing closed B-spline curve approximation method. 2.3 Local Neighborhood of Discrete Points One of the earlier studies by Linsen [40] addressed the issue of apparent bias in using k-nearest neighbors for non-uniform point clouds. He utilized the projection of the k-NN set and the query point on the fitted least-squares plane (from the same set of points). Then, considering every point !! and its successor !!!! among the sorted projected k-NN, the angle !!!!!!! must not exceed a specified threshold, for example, ! 2, where p is the projected query point on the fitted plane. For a similar purpose, Floater and Reimers [41] triangulated the same set of projected k-NN points using Delaunay triangulation and the local Delaunay neighbors are taken as the projected neighboring points. Both methods above partially addressed the bias problem in k-NN. Essentially, their goal was to prevent apparent bias in the selected neighborhood points. In fact, their proposed neighborhood worked for their purposes of point-based rendering [40] and creating 3D mesh surfaces [41]. However, for fitting a local surface, it is not enough to only avoid the apparent bias. An alternative to the distance-based methods is using a mesh since a mesh explicitly defines the neighboring relationship through the connection edges. The immediate neighborhood of the query point would be from the one-ring triangles of that point. When the fitting requires more neighboring points, the neighborhood grows to the neighbors of neighbors, referred to as two-ring. The method developed by Floater and Reimers [41] was effectively a mesh-based 23 approach. They created a local mesh in 3D based on what they got from the 2D projected Delaunay neighbors. In a more general mesh-based framework, if 3D mesh can be generated, the corresponding local neighborhood would not have apparent bias. However, the mesh structure often becomes distorted and unreliable when relatively large noise is present. Under such uncertainty, satisfactory mesh-based neighborhood is not guaranteed. Neighborhood graph is another spatial structure, which can be used for defining neighbor relations explicitly. A neighborhood graph (also known as proximity graph) is a graph in which an edge connects two points ! and ! if there is no other point of the overall point cloud present in a pre-specified region between ! and !. The points connected to the query point by an edge, are its neighbors. The pre-specified empty region between a neighbor and the query point is called the influence region. Different neighborhood graphs can be created by changing the shape of the influence region. Two well-studied neighborhood graphs are the relative neighborhood graph (RNG) and Gabriel graph (GG) [42]. These two graphs output too sparse neighborhoods; therefore, they are not applicable for local surface fitting. Kirkpatrick and Radke [43] introduced a parameterized neighborhood graph, called the β-skeleton, which is an insightful generalization of RNG and GG. β-skeleton is originally defined in two dimensions and not for the purpose of selecting neighbors for surface reconstruction, or any other three-dimensional applications. In an inspiring work, Park et al. [44] introduced the three-dimensional elliptic Gabriel graph (EGG) with the purpose of selecting neighborhood points for normal vector estimation. Later, Lee et al. [45] improved 24 the computational efficiency of the EGG algorithm. Elliptic Gabriel graph is flexible to give a neighbor set from a few points to a larger number of points, since it is a parameterized graph. It works well for applications that need a few points, like plane fitting. Nonetheless, it might not be the best option for applications that need more points including quadric surface fitting where at least 10 points are needed. As suggested by the review of the literature, none of the existing neighborhood selection methods addresses the balance requirement for local quadric surface fitting. Therefore, the current thesis sets out to explore the best alternative for establishing a balanced neighborhood for this fitting problem. 2.4 Extracting Sectional Contours from 3D Point Cloud Existing solutions for extracting sectional contours from a dense point cloud can be classified into three categories: methods based on global smooth surface fitting, triangular mesh-based methods, and direct slicing methods. In the first category of methods, the point cloud is segmented into patches and appropriate surfaces are fitted to create a CAD model. Then, the reconstructed CAD model is sliced either directly or after being transformed into a facet model (STL file). The proposed methods of slicing a CAD model have been reviewed and compared in several surveys [46–48]. Although current methods of slicing a CAD model may be able to achieve accurate sectional contours, CAD model reconstruction is by no means an easy task. The global surface reconstruction 25 process contains mesh reconstruction, segmentation, and surface fitting, which is known to be laborious and far from being fully automatic [20]. The triangular mesh-based methods generate the facet model from the point cloud, then, slice it [49]. Although researchers [50] have presented triangulation as a 3D modeling tool in their proposed workflow for blade inspection, there are several drawbacks to this method. In order to obtain accurate sectional contours, a high-fidelity mesh is required. When reconstructed by current systems, a facet model usually carries imperfections such as holes, non-manifold edges, self-intersections, etc., which should be further repaired in a post processing step. The mesh generation and repair task is time-consuming, and, in fact, is an active topic of research. Moreover, the triangulated STL file is larger than the original point cloud data file, which may cause efficiency problems in computing and storage, especially, as the required resolution for this application is high [51]. Over the past few years, several researchers, mainly from the rapid prototyping community, have recognized the need for bypassing the erroneous intermediate surface reconstruction, therefore, considered direct slicing of scanned point clouds to create layer-based models as they aimed for. As briefly mentioned in Chapter 1, projection of nearby points onto the section plane has been considered. For the sake of simplicity, most of the authors have used a linear projection (in perpendicular direction) of point cloud data points onto the slicing plane. 26 In the existing literature, the output of perpendicular projection is controlled by a user-defined shape error measure [21,52,53]. It should be noted that the resulting precision can hardly be assured because the correlation between the employed shape error measure (mainly based on the distance from the sectional plane) and the actual shape error has not been well established. In general, the resulting set of projected points via the perpendicular projection is a scattered band of points with the band width varying according to the local underlying surface geometry. In addition, quality of the set of projected points is reduced with increased level of uncertainty or noise in the point cloud data set. Shin et al. [54] were one of the first groups of researchers who recognized the weakness of linear (perpendicular) projection for direct slicing of the scanned point clouds. They proposed a curvilinear projection along the fitted quadric surface to the local neighborhood of the point to project. In curvilinear projection approach, two major questions remain that are both related to the selection of points. First, what are the local neighboring points for quadric fitting? And second, which points to project? Selection of points relates to the locality of the projection and the quality of the fitted surface, which is the key for this approach to succeed. Otherwise, this method would not be effective, especially, in the presence of higher levels of noise. Shin et al. [54] used the simple distance-based approach to answer both above questions on point selection. Consequently, their projection results have not been satisfactory. In order to avoid projection error resulting from the previous techniques, Yang and Qian [55] proposed an intersection-based method. They proposed fitting MLS surface and cutting it with 27 the slicing plane. Later on, they improved on their method for better topological consistency [56]. Once MLS surface is intersected with a plane, one unique sectional profile is readily available. Recently, Li et al. [57] have used this approach in a blade inspection case study. The main barrier for using this method is the need for given normal vector information, which is not always readily available. Even if estimated, the normal information is not reliable due to the noise in sampling. As for other existing methods, this method also requires some user input, in particular, for computing curvature adaptive intersection points in its 2D contour generation step. In summary, to date, all of the existing methods for direct slicing require some manual interactions, and/or extra information such as normal vectors. Therefore, there is a definite need for further evaluation, and development of a novel approach for fully automatic extraction of accurate sectional contours from unorganized noisy point clouds. 28 Chapter 3: Airfoil Profile Reconstruction under Data Uncertainty 3.1 Overview This chapter presents a new, measurement uncertainty-based airfoil profile reconstruction method, targeting the consistency requirement in three-dimensional tolerance evaluation of the blades. The reconstructed airfoil profile must be considered a feasible solution according to the measurement uncertainty constraint. A progressive curve-fitting scheme is devised to reconstruct the airfoil profile that satisfies the imposed feasibility condition. A closed non-periodic B-spline curve is used to represent the reconstructed airfoil profile due to its versatility in curve approximation. To ensure consistency, the reconstructed airfoil profile is to be generated without user input. As a result, a fully automatic closed B-spline curve approximation algorithm has been developed in this work, which improves on existing B-spline curve approximation methods. The curve approximation method devised in this work is, in effect, similar to that of Piegl and Tiller [39] in data point parameterization and knot placement. The main difference lies in its independence from the extra input information of end derivatives for selecting the start point. As a fully automatic method, the start point in this work is selected based on the continuity constraints of a smooth closed B-spline curve. 29 Compared to the existing methods, the set of parameters to be fitted in the proposed method is expanded to avoid any unnecessary interpolation of data points in generating the closed curve. In the next section, the proposed criteria for airfoil profile reconstruction under the measurement uncertainty are described. Section 3.3 presents the proposed airfoil profile reconstruction method including the improvement made to the existing B-spline curve approximation methods. Section 3.4 illustrates some typical computational tests relevant to airfoil profile reconstruction, and Section 3.5 concludes the chapter. 3.2 Criteria for Airfoil Profile Reconstruction A set of measured data points iQ ( 0 to i m= ) containing a known level of measurement uncertainty is given. The measurement uncertainty is the interval about the measurement result within which the actual value of the measurand should lie. It is a statistically derived term and commonly characterized by a standard deviation of a normal (Gaussian) distribution, which is also commonly known as the standard uncertainty. In order to calculate the combined measurement uncertainty budget uc (standard uncertainty), individual uncertainty contributions from several individual factors are estimated and combined together based on the guidelines provided by “Guide to the expression of uncertainty of measurement” [58]. 30 Figure 3.1 Expanded uncertainty interval of ±3uc. In practice, since the purpose of the uncertainty statement is to provide a report with a high level of confidence, an expanded uncertainty interval is computed. The probability distribution in this interval is equivalent to the normal distribution as shown in Figure 3.1. An interval of ±3uc (uc being the standard uncertainty) is employed in the figure, which means that the actual value would lie within the uncertainty interval of the measured point with a 99.74% probability [59]. Throughout this thesis, “measurement uncertainty” refers to standard uncertainty, and any uncertainty definition that incorporates probability of data, explicitly called “expanded uncertainty”. Since planar coordinates are measured, the expanded uncertainty interval for each measured data point can be considered as a circle centered on the measured point, with the diameter equal to 6uc. Figure 3.2 shows a series of measured data points on a plane along with their expanded uncertainty intervals. According to the fact that the actual point corresponding to each measured 31 point could lie anywhere inside the expanded uncertainty circle, a curve passing through all the circles is considered as a feasible approximation of the actual profile. Figure 3.2 Feasible approximated curves satisfying the uncertainty criterion. Since the curve approximates the measured data points (by not passing through them), there exists a deviation ! ei (a Euclidean distance) between the ith measured point and the approximated curve, namely the ith fitted residual. A quantity comparable to the standard uncertainty uc can then be derived from the fitted residuals to assess the feasibility of the approximated curve. More specifically, the standard deviation ! "r estimated as the root mean square (RMS) of the fitted residuals is to be compared against uc. The feasibility condition is then mathematically formulated as: ! r ! uc (3.1) There exist many curves that satisfy the above feasibility condition as shown in Figure 3.2. In order to better approximate the actual airfoil profile, an additional criterion is introduced. This Measured Point Uncertainty Interval (Circle) Feasible Curves 32 criterion is derived from the fact that the ideal CAD profile is smooth and without any redundant undulation. In order to establish the smoothest possible profile under the feasibility condition, the involved computation should not introduce unjustified undulation to the approximated curve. Hence, a feasible curve with minimum undulation is to be selected to best approximate the actual airfoil profile. For a composite polynomial curve of a fixed degree, a smaller number of segments would result in less undulation. Therefore, a progressive curve-fitting scheme is devised in this work to determine the feasible solution curve that employs the minimum number of segments. In this scheme, the algorithm starts with the smallest possible number of curve segments and then progressively increases the number of segments until the resulting curve satisfies the feasibility condition. The feasible curve with the minimum number of segments also has the benefit of data storage reduction and improved computational efficiency. 3.3 Profile Reconstruction Methodology The airfoil profile reconstruction problem to be solved in this work can be formally defined as follows: Given a set of discrete inspection data points iQ ( 0 to i m= ) and the associated measurement uncertainty, a closed non-periodic B-spline curve of degree 1p − is to be computed to best fit the data point set such that it meets the feasibility condition and employs the smallest possible number of curve segments. Figure 3.3 shows the flow chart of the overall profile reconstruction procedure. 33 Figure 3.3 Flow chart of the profile reconstruction procedure. Set of sectional data points Associated measurement uncertainty uc Input to the Algorithm Select starting point Parameterize Set n equal to 5 Generate knot vector Compute B-spline basis functions Solve the constrained minimization of Equation 3.8 Calculate σr σr ≤ uc Reconstructed profile Yes n = n + 1 No 34 For a given number of curve segments, the procedure involves the following main steps: 1. Select an appropriate start point for constructing the curve; 2. Compute the parameter value for each data point starting from the selected start point; 3. Generate the knot vector using the computed parameter values at the data points as well as the number of control points so as to obtain the B-spline basis functions; and 4. Determine the locations of the control points by solving the formulated least-squares minimization problem with the continuity constraints presented in Page 35. The selection of an appropriate start point in Step 1 is based on the continuity requirement for the best-fitted closed B-spline curve as applied to airfoil profile reconstruction. Airfoil blades are typically designed with curvature continuity since any curvature discontinuity would result in undesirable performance of the blades [60]. This means that if an airfoil sectional profile is to be constructed as a piecewise polynomial curve, the resulting curve must provide at least 2C continuity at the joint (knot) points of the involved curve segments. The continuity of a B-spline curve of degree 1p − is 2Cp− at the knots. Thus, a cubic B-spline curve can provide the needed 2C continuity. A higher degree would give higher continuity at the joints but it may cause unwanted curve undulations. As a result, the cubic curve is employed to reconstruct the airfoil profile in this work. In order to obtain a smooth closed curve, continuity at the joint of the first and last curve segments (equivalent to the start as well as the end point) must be consistent with the continuity at all the other knots. Thus, for the closed cubic B-spline curve to be 35 reconstructed, it needs to be 2C continuous at the start and end points. This leads to the following continuity constraints on the associated control points: 0n =P P (3.2) 1 1 0n n−− = −P P P P (3.3) 0 1 2 24( )n n− −− = −P P P P (3.4) Figure 3.4 shows a 2C continuous closed cubic non-periodic B-spline curve together with its control polygon. It should be noted that a non-periodic B-spline curve passes through its first and last control points and its tangent vectors at the start and end points are respectively in the same direction as the first and last segments of the control polygon. Equation 3.2 requires that 0P and nP should be placed at the same location (in order to form a closed curve). This constraint gives 0C continuity at the start/end point, the joint of the first and last curve segments. Equation 3.3 gives 1C continuity via equating the first derivatives of the closed curve at the joint. Equation 3.4 gives 2C continuity by requiring the second derivatives at the start and end points to be the same. Figure 3.4 A C2 continuous closed cubic non-periodic B-spline curve (in blue) and its control polygon (in black). 36 From Equations 3.2 and 3.3, the set of control points { }1 0 1, ,n n− =P P P P should always be on a straight line, as can be seen in Figure 3.4. This condition is to be used to select the start point. When a specific data point is designated as the starting point for parameterization (corresponding to the parameter value 0), it specifies a neighborhood for the potential location of the first and last control points. Due to the required 2C continuity, the control polygon in this neighborhood should closely follow a straight line. Since the non-periodic B-spline curve shares its tangents at the start/end point with the direction of both the first and last segments of the control polygon, the condition of the control polygon being close to a straight line in the start point neighborhood means that the curve will be geometrically flat around the start point. Therefore, the start point is to be selected as the point with minimum curvature variance along the airfoil profile. In Step 2, the popular chord length method [27,28] is adopted to compute the parameter value for each data point: (3.5) where (3.6) ! u0 = 0 , ui = ui"1 + Q i "Q i"1d , um =1! d = Q i "Q i"1i=1m#37 To generate the knot vector in Step 3, the knot placement method by De Boor [34] is utilized in this work. For a non-periodic B-spline curve of degree with control points, a knot vector of knot values must be defined. Since the first and last knots are duplicated times, there are internal knot spans. While , the internal knots are defined by: 1(1 ) 0 to Int( )12p j k ku u u j n pk jvmvn pjv kα αα+ −= − + = −=+=− += − (3.7) In Step 4, the least-squares minimization problem is solved. One unique feature of the proposed method lies in avoiding any unnecessary interpolation of the data points. In particular, existing methods that interpolate the selected start/end data points are, in effect, inconsistent with the requirement that an approximated curve should not pass through any data point. Thus, in this work, the first and last control points are computed in the same way as all the other control points according to the imposed constraints of 2C continuity. More specifically, the following objective function, as opposed to Equation 2.2, is to be minimized with the constraints of Equations 3.2, 3.3 and 3.4 in order to solve for the complete control point set P0 P1 P2 ! Pn!1 Pn( ) for the construction of a 2C continuous closed B-spline curve: ! p "1! n +1! n + p +1! p! n " p + 2! u0 = ... = up"1 = 0, un+1 = ... = un+ p =1! up+ j38 (3.8) Once the control points are computed, the B-spline curve that approximates all the data points is obtained. The minimum possible number of control points to construct a closed cubic B-spline curve of 2C continuity is six. This means that at least three curve segments are needed to construct such a piecewise composite curve. Because of this, the progressive profile reconstruction algorithm proposed in this work starts with a curve composed of three segments (six control points). The resulting fitted curve is then checked against the feasibility condition of Equation 3.1. If the feasibility condition is not met, one more curve segment (control point) is added and a new curve is fitted. This iteration continues until the feasibility condition is satisfied. 3.4 Results and Discussion The proposed progressive profile reconstruction algorithm has been implemented, and its effectiveness evaluated using synthesized test data sets, which allows straightforward evaluation of the computed results against reference values. 3.4.1 Ideal Data Sets Sampled from Theoretical Profiles The first series of tests to assess the performance of the proposed algorithm are to validate the presented least-squares formulation with the continuity constraints in approximating closed curves. To perform this analysis, a theoretical airfoil profile, which is a B-spline curve of nine ! Q i "C(u i)i=0m#239 segments, is uniformly sampled (in sense of parameter values on the sampled parametric curve) into a sequence of 1,000 points. The size of the airfoil profile roughly corresponds to a rectangle of 50 mm in length and 15 mm in width. The minimization problem is solved. Least-squares, being a maximum likelihood estimator [61], would give the best approximation of the theoretical profile if the formulated mathematical expression for the curve fitting is correct. Hence, the minimum number of curve segments required, so that the fitted curve corresponds best to its theoretical solution, is expected to be exactly the same as the number of curve segments in the theoretical curve. Figure 3.5a shows the points sampled from a theoretical airfoil profile, which is a cubic closed non-periodic B-spline curve composed of nine segments and joined with 2C continuity. Since the minimum number of segments required to construct a 2C continuous cubic closed non-periodic B-spline curve is three, the algorithm starts fitting the curve with three segments. Then, the number of segments is increased incrementally. The root mean square (RMS) value of the fitted residuals of the approximated curve decreases with an increase in the number of curve segments until it drops to a value close to zero for nine curve segments. The fitted B-spline curve with nine segments shown in Figure 3.5b corresponds very well to the original theoretical curve. 40 (a) (b) Figure 3.5 (a) Ideal sampled points; and (b) reconstructed profile of 9 segments (in blue) along with its knot points (in red). The plot in Figure 3.6 presents the RMS value of the fitted residuals, ! r , of the approximated curve versus different number of curve segments employed in the approximated curve, from three to nine segments. The RMS value for the nine-segment curve is 53.6 10 mm−× , which indicates that the obtained solution reliably represents the original theoretical curve. Figure 3.6 RMS of the fitted residuals versus number of segments employed in the approximated curve (ideal sampled points). 41 3.4.2 Synthesized Noisy Data Sets The previous set of 1,000 points is ideal and sampled from a theoretical curve. However, in practice, measured data points would contain measurement noise. As mentioned earlier, the input to the proposed algorithm is a data point set together with a known measurement uncertainty interval. In the present chapter, comparable Gaussian deviates are superimposed onto the ideal points shown in Figure 3.5a in order to emulate noisy inspection data points characterized by different measurement uncertainty intervals. Figure 3.7a shows a typical set of 1,000 points characterized with a standard uncertainty of 2 µm. (a) (b) Figure 3.7 (a) Noisy points with uncertainty; and (b) reconstructed profile of 9 segments (in blue) along with its knot points (in red). As stated earlier, one important feature of least-squares fitting is that normal (Gaussian) deviations in the fitted data will be dealt with automatically since least-squares is a maximum likelihood estimator. It is thus expected that the proposed progressive curve fitting on the noisy 42 data set would end up with exactly the same number of curve segments as that for the ideal sampled points (i.e., nine segments). The computed results have shown that a feasible reconstructed profile from the noisy point set of Figure 3.7a requires a minimum of nine curve segments as shown in Figure 3.7b. Figure 3.8 illustrates how the RMS value of the fitted residuals, ! r , decreases with increasing number of curve segments, starting from 3 segments. It can be seen that when 9 curve segments are employed, the feasibility condition of ! r ! uc is met. The dashed line in the figure, which corresponds to the termination criterion of the proposed algorithm, is set as the measurement uncertainty of the point set. Figure 3.8 σ r versus number of segments in the approximated curve (dashed line indicating uc = 2 µ m). 43 The RMS value of the fitted residuals is, in effect, equivalent to the standard deviation of normally distributed fitted residuals. Thus, once the ! r value becomes less than the standard uncertainty of 2 µm for the point set, the fitted B-spline curve is considered to lie within the uncertainty interval, making it a feasible solution. At the same time, the generated airfoil profile is characterized by minimum undulation since it contains the minimum possible number of curve segments to satisfy the desired shape fidelity. Another advantage of the feasible curve solution employing the least number of segments is that the constructed B-spline curve will be the simplest possible in formulation, as it employs the least number of defining knots and control points. Such simplicity makes it computationally more efficient to solve for the B-spline curve. It should also be noted that, in practice, RMS of the fitted residuals is a more useful measure of closeness of the fitted curve to the input noisy points than other measures such as maximum deviation. This is because the RMS measure is much less sensitive to potential outliers in the point set. The maximum fitted residual of an approximated profile is likely to exceed the uncertainty interval while the evaluated RMS of the fitted residuals would match the standard deviation of the underlying measurement uncertainty. Since the exceeded maximum fitted residual is often a result for noisy point sets, using the maximum deviation measure to confirm the feasibility condition of the fitted curve is likely to result in an incorrect minimum number of required curve segments. 44 Table 3.1 lists the minimum number of curve segments required to construct a feasible profile from point sets characterized with different uncertainty values. It can be seen that reducing the uncertainty in a point set tends to increase the number of curve segments required to form a feasible profile solution. When uc =1µm , close to half of the associated synthesized point sets require 9 segments and the other half require 11 segments. When uc is reduced further to 0.83 µm, 13 segments are needed. For the curves composed of the minimum possible segments corresponding to each uncertainty value as listed in Table 3.1, Figure 3.9 shows the variation of ! r (RMS of the fitted residuals) with the measurement uncertainty. As expected, the trend of variation of the RMS value is ascending with an increase in measurement uncertainty. Table 3.1 Minimum number of segments to reconstruct a feasible profile from point sets with different uncertainty values. Standard Uncertainty uc (µm ) 0.83 1 1.17 1.33 1.5 1.67 1.83 2 Minimum number of Segments Required 13 11 / 9 9 9 9 9 9 9 45 Figure 3.9 Variation of ! r (for approximated curves employing minimum number of segments) with different uncertainty intervals. 3.5 Summary A progressive curve-fitting algorithm to reconstruct an airfoil profile from a given inspection data point set with a known measurement uncertainty has been presented in this chapter and is based on two criteria. The first criterion states that a constructed profile is considered a feasible solution if the standard deviation of the fitted residuals is less than the standard uncertainty value. This means that the approximated curve would be within the expanded uncertainty intervals for the vast majority of the input points. Since numerous reconstructed curves can satisfy this criterion, the second criterion requires the curve to be of minimum undulation in order to be consistent with the general shape of an airfoil profile. The minimum undulation criterion, in effect, requires the curve to be constructed using the minimum possible number of curve segments. This will also bring the benefit of data reduction, as a parametric curve with fewer segments results in fewer knots and control points. The implementation results have 46 demonstrated the effectiveness of the proposed method. With the airfoil profile reliably reconstructed from a set of inspection data points, it can then be used to evaluate the stacking errors of airfoil sections in the next chapter. 47 Chapter 4: Evaluation of Position and Orientation Errors 4.1 Overview This chapter presents the proposed error evaluation approach based on the reconstruction of the airfoil profile. The position error is isolated from the orientation error, which resolves the coupling problem of the existing method. The position error is evaluated first. Subsequently, the reconstructed airfoil profile is shifted to share the same centroid with the corresponding airfoil CAD profile. Then, a rotation-only best matching about the shared centroid gives the orientation error. The effectiveness of the proposed method in evaluating the position and orientation errors of airfoil sections highly depends on the consistency of the reconstructed airfoil profiles from the inspection data points. This chapter also tries to quantify the effect of increased measurement uncertainty on the accuracy of the evaluated position and orientation errors by the proposed method. Because increased measurement uncertainty expectedly affects the quality of the reconstructed profile, which in turn affects the evaluated position and orientation errors. The effect is worthwhile to explore, as it gives a clue on significance of accurate sectional data for this error evaluation, which is related to the next chapters of this thesis. Section 4.2 will explain the evaluation of stacking errors of airfoil sections in detail; in Section 4.3, the proposed methodology is described, including the feature extraction and best matching 48 tasks for evaluating the position and orientation errors; Section 4.4 presents and discusses the performance of the proposed methodology on a series of synthesized data sets; and Section 4.5 concludes the chapter. 4.2 Problem Definition To have a clear understanding of how the position and orientation tolerances are specified on the engineering master drawings of airfoil sections, some basic definitions are given in this section, specifically the stacking point and orientation angle for an airfoil profile. The stacking point is defined as the centroid of an airfoil profile about which the airfoil section is positioned. The line intersecting or connecting the stacking points of all the airfoil sections in the CAD model of a blade is called the stacking line [62]. When designing the three-dimensional blade surface, it is in fact constructed by stacking airfoil sections on top of each other along the stacking line. With this definition, the position tolerance for each airfoil section can be defined as a zone in which the actual stacking point of the corresponding manufactured airfoil profile must lie relative to the nominal stacking point. This tolerance zone can be specified either as a rectangle or as a circle with its center at the nominal stacking point. Once the airfoil sections from the base to the tip of the blade are stacked on top of each other to form the design surface of a blade, they are also twisted about the stacking line in order to provide the blade’s aerodynamic properties. The orientation angle θ specifies the angle of twist of each airfoil section and is defined as the angle between the chord line and a reference datum 49 [63]. The chord line is a straight line connecting the points that are at the intersection of the airfoil mean line with the leading edge and the trailing edge. The mean line is the locus of points that are equidistant from the pressure and suction sides of an airfoil profile from the leading edge to the trailing edge. Figure 4.1 shows the chord line and mean line of an airfoil section along with a reference datum and the orientation angle θ. The reference datum can be the blade’s base center plane, the chord line of the innermost or the outermost airfoil section, or any other reference plane specified on the drawing. With this definition, the orientation tolerance of each airfoil section is specified as the permitted deviation of the orientation angle from its ideal value. Figure 4.1 Chord line and mean line of an airfoil profile. Now that the position and orientation tolerances and the geometric features needed to evaluate them have been defined, the challenges in their evaluation in practice can be discussed. In airfoil blade inspection, what is given is a set of discrete sectional measurement points along with their associated measurement uncertainty estimate. A typical set of sectional measurement points is shown in Figure 4.2. The corresponding design airfoil profile (blue solid curve) and its known Leading edge Trailing edge Chord line Mean line A reference datum θ 50 stacking point (centroid, the blue dot) are also shown. The red question mark, which represents the centroid location of the inspected airfoil section of the manufactured blade, is unknown and to be determined from the set of inspection data points. Figure 4.2 A typical set of sectional measurement points in relation to its corresponding design airfoil profile. As the orientation error of an airfoil section is the angular displacement with respect to a reference datum, this angular displacement can be determined by best matching the inspection data points to the ideal design airfoil profile. However, adopting the best matching methodology that simultaneously solves for two translational parameters (for centroid linear displacement) and one rotational parameter (for profile angular displacement) [14], causes the aforementioned combining effect since best matching attempts to minimize the overall matching deviation by adjusting all the three parameters. In this work, a new and improved methodology is proposed, which is based on decoupling the airfoil position and orientation errors. The first step is to reliably extract the stacking point (centroid) of the inspected airfoil profile from a set of measurement data points. Identification of ? 51 the centroid from discrete data points, even without considering the measurement uncertainty/noise in the inspection data points, is subject to a systematic shift due to biased area calculations as shown in Figure 4.3. In this figure, the red dashed curve represents the airfoil profile. For simplicity, the linearly connected discrete data points (the blue polygon) are often used to calculate the centroid from the discrete points. The area bias as depicted in the zoomed diagram will definitely cause a systematic shift in the calculated centroid position since the polygon is seen to lose some area on the suction side and gain some area on the pressure side of the airfoil profile. In contrast, if a mathematical representation of the entire airfoil profile exists, then the stacking point can be reliably determined by means of numerical integration [64], which effectively eliminates the systematic shift due to the area bias. Figure 4.3 Area bias in calculating centroid from linearly connected discrete data points. 52 4.3 Proposed Methodology The main idea of the proposed method is that the error evaluation procedure of airfoil sections should strictly follow the position and orientation tolerance definitions, meaning that the position error should be solely evaluated using the stacking point (centroid) of the airfoil profile. Before describing the proposed methodology, it is useful to clarify what prior steps have taken place in the inspection process. The surface of an inspected blade was first digitized into sectional discrete data points. Then, the inspection data points and the blade CAD model are aligned to a common coordinate system. This process is commonly called localization [65,66]. Once the CAD model and the sectional coordinate measurement data of the manufactured blade are positioned in a common coordinate system, they are used to evaluate the position and orientation errors of the blade. In the present work, the position and orientation error calculations are decoupled. Since the proposed calculations are to be performed in a sequential manner, the method to calculate the position error is described first. After that, the method to calculate the orientation error is presented. 4.3.1 Centroid Determination and Position Error Evaluation Figure 4.4 shows the flow chart of the proposed position error evaluation procedure. A set of measured data points iQ ( 0 to i m= ) characterized by a known level of measurement uncertainty is given. According to the definition of the position tolerance of airfoil sections, one important feature derived from the airfoil profile is required in order to evaluate this tolerance. 53 This feature is the stacking point, which is the centroid of the airfoil profile. Since the centroid is readily available for the airfoil CAD profile, the focus is to reliably determine the location of the centroid for the set of measured data points. Figure 4.4 Flow chart of the proposed position error evaluation procedure. In this work, reconstructing an airfoil profile from the measured data points is proposed for reliably extracting the centroid. For this purpose, profile reconstruction of Chapter 3 is adopted. Input to the Algorithm 54 Once the manufactured airfoil profile is reconstructed from the inspection data points and its centroid identified, the Euclidean distance between centroids of the reconstructed profile and its corresponding CAD profile is calculated and compared against the specified position tolerance. In the next section, centroids of the two profiles are also to be used to evaluate the orientation error. 4.3.2 Rotation-only Best Matching and Orientation Error Evaluation In order to decouple the orientation error from the position error of airfoil sections, the reconstructed and CAD profiles need to be linearly translated so that their centroids coincide with the origin of the reference coordinate system. Now that both profiles share the same centroid location at the origin, whatever deviation left is deemed to be attributed to the rotational displacement of the reconstructed manufactured profile from the CAD profile. Figure 4.5 shows the flow chart of the proposed orientation error evaluation procedure. Best matching for the orientation error calculation is comprised of two steps: rough matching and fine matching. In fine matching, a rotation transformation is found to minimize the overall distance between the reconstructed profile and the CAD profile. To solve such a problem conventionally, correspondence between the two profiles is established based on a measure of the shortest Euclidean distance by finding the closest point pairs, and an iterative procedure is adopted to converge to the solution. 55 Figure 4.5 Flow chart of the proposed orientation error evaluation procedure. Yes No Rough matching Fine matching Input to the Algorithm 56 The effectiveness of the approach of finding the closest point pairs for establishing the correspondence between the reconstructed profile and the CAD profile relies on the initial relative orientation of the two profiles. Therefore, there is a need for rough matching the two airfoil profiles to bring them closer to each other so that in the next step, the correspondence set-up based on the closest point pairs yields good estimation results [67]. In rough matching, the two extreme points, points of maximum curvature around the leading and trailing edges, are searched along both the CAD profile and the reconstructed profile. A direction vector from the leading edge extreme point to the trailing edge extreme point is then established for the two profiles. Rough matching the two profiles so that the direction vectors are aligned, makes them sufficiently close for the fine matching step. In practice, reconstruction of the manufactured profile has an important benefit in best matching since it becomes possible to generate uniformly sampled points. Even distribution of the sampled points on the reconstructed profile, aims to best match the two profiles without any systematic bias, while using discrete measured points in best matching is likely to be subject to biased computation results due to uneven distribution of the data points. The uniformly sampled points on the reconstructed profile are used in the fine matching step, as detailed next. For each sampled point on the reconstructed profile, the closest point on the CAD profile is found so as to make a corresponding closest point pair. The CAD profile is typically a closed NURBS (Non-Uniform Rational B-Spline) curve, which is a parametric curve defined by the curve degree, a set of weighted control points, and a knot vector [28]. Any point on this curve is 57 defined by a parameter value between 0 and 1 for a normalized knot vector. Hence, finding the corresponding closest points on the CAD profile to the n sampled points on the reconstructed profile is equivalent to finding the n parameter values on the CAD profile that give the shortest Euclidean distance, id , from each of the n sampled points. The Powell’s method [68], a direct search method, is used to solve for the n parameter values. Once the n closest point pairs are established, the root mean square (RMS) value, rmsd , can be computed as 2rms11 niid dn == ∑ (4.1) A least-squares minimization problem is then to be solved to find the rotation matrix that rotates the set of n sampled points from the reconstructed profile through an angle θ about the origin of the reference coordinate system to best match the n point pairs. As a rotation is applied to the n sampled points, the distance of each sampled point to its corresponding point on the CAD profile can be expressed as ,cos sinsin cossp i i idθ θθ θ−⎡ ⎤= − ⋅⎢ ⎥⎣ ⎦p s (4.2) 58 where si denotes the ith sampled point on the reconstructed profile and ip represents its corresponding point on the CAD profile. The objective function to be minimized to best match the n point pairs is expressed as: 2,1Objnsp iid==∑ (4.3) Once the optimal angle of rotation is obtained for the current n corresponding point pairs by minimizing the objective function of Equation 4.3, the orientation of the reconstructed profile is updated via the calculated rotation angle. Thereafter, the three steps of the algorithm (identifying the closest points on the CAD profile, computing the rotation angle that minimizes the objective function, and applying the rotation angle to the reconstructed profile) will be applied iteratively until the convergence of rmsd . The iteration is terminated when the change in rmsd within two consecutive iterations is smaller than a predefined threshold. The rmsd value for the n corresponding point pairs right after rough matching of the reconstructed profile to the CAD profile, is shown as d1 in the flow chart of Figure 4.5. This value is to be updated in the iterative fine matching step once it is used for convergence checking after each iteration. 59 4.4 Implementation Results and Discussion Numerical case studies have been conducted to validate the proposed position and orientation error evaluation methodology for airfoil sections. For such validation, synthetic airfoil profile data with known deviations from the associated CAD profile is required for which the known deviations can be utilized as the reference. 4.4.1 Test Data Sets Figure 4.6 shows three CAD profiles representing the innermost, intermediate and outermost airfoil sections of a blade. The size of the airfoil sections roughly corresponds to a rectangle of 50 mm in length and 15 mm in width. These airfoil sections are stacked along a stacking line that is denoted by a dashed line along the Z-axis in the figure. The stacking points (centroids) are shown as three blue points on the stacking line. Since the stacking line passes through all the three stacking points, they have the same X and Y coordinates. From the base to the tip of the blade, the designed airfoil profiles are twisted about the stacking line. For simplicity, the blade was placed in the coordinate system such that the X and Y coordinates of the centroid of each airfoil section were zero. Table 4.1 lists the specified position and orientation tolerances for each airfoil section. The position tolerance value is the radius of the cylindrical tolerance zone. The orientation tolerance refers to the allowable angular deviation. 60 Figure 4.6 CAD profiles of the innermost, intermediate and outermost airfoil sections of a blade. Table 4.1 Specified position and orientation tolerances of the innermost, intermediate, and outermost airfoil sections of Figure 4.6. 61 To generate the synthetic data that emulated a manufactured airfoil sectional profile, a systematic error was added to all the CAD profiles in Figure 4.6. It should be noted that for simplicity, the shape and dimension of the three CAD profiles in the figure were made exactly the same. Hence, one profile effectively represented all the three airfoil sectional profiles. The systematic error was generated to be a sinusoidal variation of 5 cycles with amplitude of 0.009 mm. The simulated systematic errors were superimposed onto the CAD profiles perpendicular to the profile curves. This led to linear displacement of the airfoil profile centroid and thus, the position error. To finalize the simulated manufactured profile, an additional twist error of 0.0077° was added to the airfoil sectional profile. Table 4.2 summarizes the known position and orientation errors of the simulated manufactured profile to be used as the evaluation references. The reference values for deviations of the centroid of the simulated profile from the centroid of the CAD profile (origin) are given along the X and Y axes. The position error to be compared against the position tolerance is to be calculated as the Euclidean norm of the vector of the centroid’s linear displacement. Moreover, the known and applied angle of twist of the simulated manufactured profile about the Z-axis is the reference value for the orientation error. Table 4.3 reports the inspection results in terms of acceptance or rejection of the blade if the simulated manufactured profile was corresponding to the innermost, intermediate or outermost section. In addition, the reason of rejection is reported in the same table. The reported results 62 are based on the comparison between the known errors of the simulated manufactured profile (Table 4.2) and the specified tolerance values (Table 4.1). Table 4.2 Known deviations of the simulated manufactured airfoil sections. Table 4.3 Reference inspection results of the simulated manufactured airfoil sections. 63 Since, in reality, all inspection data are subject to measurement uncertainty, the synthetic inspection data points were generated by incorporating a known measurement uncertainty. A set of 1,000 points was first sampled from the synthesized manufactured airfoil sectional profile. Then, Gaussian deviates were superimposed onto the sampled points in random directions in order to emulate the inspection data points. As mentioned earlier, the standard deviation of the added Gaussian deviates, also commonly known as the standard uncertainty, is referred to as the measurement uncertainty in this work. Savio and De Chiffre [69] reported some actual measurement uncertainty values in turbine blade inspection by a contact (touch-trigger or scanning) probe on a coordinate measuring machine (CMM). Their reported standard (measurement) uncertainty values were in the order of 5 µm. Therefore, to simulate the measurement data acquired by a contact probe on a CMM, 10 sets of inspection data points were created with 5-µm measurement uncertainty and 10 sets with 10-µm measurement uncertainty. These 20 sets of synthetic data points were used in the case studies of Sections 4.4.2, 4.4.3 and 4.4.4. Another 30 sets of inspection data points were created with 15-µm, 20-µm and 25-µm measurement uncertainty (10 sets each) to examine the effect of increased measurement uncertainty on the proposed method in Section 4.4.4. The reference inspection results of Table 4.3 along with the known errors of Table 4.2 are to be used as references in the following sections to assess the performance of each error evaluation method. 64 4.4.2 Error Evaluation without Decomposition (Existing Method) The existing error evaluation methodology for airfoil sections [14] was implemented first. As error decomposition was not adopted, translational and rotational parameters were coupled in the best-matching procedure. Table 4.4 lists the evaluated errors, which are equivalent to the respective translational and rotational parameters of best-matching. The results for the 10 sets of 5-µm and 10 sets of 10-µm measurement uncertainty are reported in the format of mean value plus the standard deviation. It is observed that the rotational parameter dominates the translational parameters for the overall best matching, resulting in significant deviations from the reference values. Table 4.4 Results of error evaluation without decomposition (existing method). Consequently, the error evaluation results misjudge the actual state of the airfoil blade. Aside from significant deficiency in evaluating the true position error, the method would provoke false modifications to the underlying manufacturing process. As a result of the error coupling, the 65 deviation of the evaluated orientation error with respect to the true value can, on average, reach over 10%, which may result in a falsified decision about the orientation error of the airfoil blade. For example, according to the results of Table 4.4, the existing method rejects the blade due to the orientation error being out of tolerance no matter if the profile is the innermost, intermediate or outermost section. However, the true state of the blade is shown in Table 4.3. In reality, only if the tested airfoil profile is from the innermost section, then the blade should be rejected, and in this case, the blade is rejected for being out of the position tolerance, not the orientation tolerance. Such inconsistency of the existing method suggests decoupling of the translational and rotational components for the tolerance evaluation. 4.4.3 Error Evaluation with Decomposition In this case study, error decomposition was utilized where the airfoil profile centroid was calculated directly from the discrete inspection data points. Table 4.5 shows the evaluated errors from this calculation. In this table, the results for the 10 sets of 5-µm and 10 sets of 10-µm measurement uncertainty are reported in the format of mean value plus the standard deviation. According to a good number of computational tests, the maximum deviation of the evaluated centroid location via linearly connecting the discrete data points can reach up to 7% when 5-µm measurement uncertainty is present. This deviation is even larger when the uncertainty of data is 66 higher. In fact, the result may contain up to 9% error when 10-µm measurement uncertainty is present. Table 4.6 lists a case of error decomposition via discrete points, which results in misevaluation of the position tolerance. Basically, with the reported values shown in Table 4.6, this method would accept an unacceptable blade when the airfoil is for the innermost section because the position error calculated based on the calculated centroid location is incorrectly smaller than the specified tolerance. Therefore, an accurate calculation of the centroid location is of great importance. Table 4.5 Results of error evaluation with decomposition. 67 Table 4.6 An incorrect case of error evaluation with decomposition. As discussed previously in Section 4.2, the contributing factors of centroid miscalculation from the discrete data points are area bias and measurement uncertainty. In order to recognize the contribution of each factor, their effects were examined on centroid miscalculation separately. First, a centroid was calculated for a set of 1,000 sampled points and then another set of 100 sampled points from the simulated manufactured profile both without incorporating measurement uncertainty. This calculation would give the deviation from the true centroid location due to area bias and also the sampling point density. Figure 4.7 shows the deviation of the calculated centroid location from its true location for both sampling cases. The two dots in the figure represent the two deviations. It is evident that when the number of sampled points is fewer, the area bias effect is more pronounced. The deviation of the calculated centroid location from its true location is 0.0004 mm and 0.0018 mm, respectively, for the 1,000-point and 100-point cases. 68 Next, the same calculations were performed for the synthetic inspection data point sets containing the measurement uncertainty. As it is seen in Figure 4.7 for 5-µm uncertainty, the measurement uncertainty makes the centroid deviation vary within an interval centered at the previous two dots. The interval becomes larger when larger measurement uncertainty is present. Therefore, higher measurement uncertainty increases the probability of misjudgment due to wrongful calculations of the centroid location from discrete data points. Figure 4.7 Deviation of the calculated centroid location from its true location via linearly connected discrete data points. To summarize, the effect of area bias on the miscalculation of the centroid location is systematic. In general, the effect of area bias on the calculated deviation is larger than that of measurement uncertainty. This finding suggests profile reconstruction, which has the benefit of preventing systematic area bias, thereby significantly reducing the systematic deviation in computing the centroid location. With profile reconstruction, the calculated centroid location will lie in a small circular region about the true centroid location since there is no area bias associated with such a calculation. 69 4.4.4 Error Evaluation with Decomposition via Profile Reconstruction In this case study, the simulated manufactured airfoil sectional profile was reconstructed by the closed B-spline curve approximation scheme of Chapter 3. Table 4.7 lists the calculated centroid location and evaluated orientation error with error decomposition via profile reconstruction. The results for the 10 sets of 5-µm to 25-µm measurement uncertainty are reported in the format of mean value plus the standard deviation. For the lower level of measurement uncertainty (5-µm and 10-µm), the deviation of the calculated centroid location becomes very close to zero due to profile reconstruction. In addition, as it is illustrated in Figure 4.8, the reconstructed profile significantly reduces the uncertainty in representing the actual airfoil profile. As a result, the variation zone of the calculated centroid location with profile reconstruction is also smaller. The consistency of the evaluated values for the 5-µm and 10-µm uncertainty in Table 4.7 with the nominal values in Table 4.2 clearly indicates that the proposed error evaluation scheme based on profile reconstruction is the best approach to evaluate position and orientation errors of airfoil sections from discrete inspection data points. 70 Table 4.7 Results of error evaluation with decomposition via profile reconstruction. The case studies with 5-µm and 10-µm measurement uncertainty have essentially addressed the measurement data acquired by a touch-trigger probe or a contact scanning probe on a CMM, for which the measurement uncertainty is often not higher than 10 µm [69,70]. However, non-contact optical scanning probes (i.e., 3D laser scanning probes) are known to be characterized by a higher level of measurement uncertainty. Due to the increasing application of 3D laser scanning in aero-engine blade inspection, it is sensible to quantify the effect of increased data uncertainty on the accuracy of the evaluated position and orientation errors by the proposed method. Because, increased uncertainty in section-specific data expectedly affects the quality of the reconstructed profile, which subsequently affects the evaluated position and orientation errors. 71 Figure 4.8 Deviation of the reconstructed profile from the simulated manufactured profile for different levels of measurement uncertainty. Figure 4.8 shows the deviation of the reconstructed airfoil profile from the corresponding reference profile (the synthesized manufactured airfoil profile) for measurement uncertainty from 5 µm up to 25 µm. Each plotted value in the figure is the mean value of 10 cases. The error bars represent the standard deviations. As measurement uncertainty increases above 15 µm, the profile deviation is seen to grow quite significantly. To illustrate how this deviation affects the evaluated centroid location and angle of orientation of the airfoil profile, Figures 4.9 and 4.10 respectively show the deviations of the evaluated centroid location and angle of rotation from their reference values. Again, the plotted values represent the mean values of 10 cases and the error bars represent the standard deviations. 72 Figure 4.9 Deviation of the calculated centroid location from its true location for different levels of measurement uncertainty. Figure 4.10 Deviation of the estimated angle of rotation from its true value for different levels of measurement uncertainty. 73 As listed in Table 4.7, the evaluated centroid displacement and orientation error become less reliable with higher measurement uncertainty (as noted by the much increased standard deviation values). In this particular case study, data points with up to 15-µm uncertainty are still considered permissible as no wrongful inspection result was reported in the 10 test cases. However, using data sets with 20-µm and 25-µm uncertainty is not advisable as false inspection results can be attained. More specifically, with the 20-µm measurement uncertainty in the inspection data points, the airfoil section may be subject to a false feedback to correct its wrongfully evaluated orientation error due to the detected out-of-tolerance error while the actual orientation error is within the specified tolerance. With the 25-µm uncertainty, not only a large number of airfoil sections may be falsely reported as out of tolerance with respect to the orientation error, the innermost airfoil section as presented in Table 4.3 may also be falsely reported as acceptable with respect to the position error. 4.5 Summary A decomposition-based method for evaluating the position and orientation errors of airfoil sections has been presented in this chapter. By decomposing the error evaluation process into two steps (evaluating the position error first and then the orientation error), there is only one rotational parameter involved in the underlying best matching scheme. Thus, the questionable coupling of the translational and rotational parameters in best matching is avoided. 74 Since error decomposition is consistent with the definition of the position tolerance of airfoil sections based on calculating the centroid of the inspected airfoil profile, it facilitates reliable determination of the position errors as well as the orientation errors. The presented decomposition-based method is able to prevent wrongful rejection/acceptance of acceptable/unacceptable blades and false feedback for correcting the involved manufacturing operations. It is known that using discrete data points to calculate the centroid of the inspected airfoil sectional profile is an error-prone process due to the area bias issue and measurement uncertainty present in the data points. The inaccuracy in centroid calculation leads to incorrect evaluation of the position error. The results in this work have shown that the systematic area bias has more influence on miscalculating the centroid than the measurement uncertainty. It has also been observed that a higher level of measurement uncertainty increases the probability of the miscalculation when the centroid is to be determined from discrete data points. These findings suggest that profile reconstruction is essential to accurate centroid calculations. The use of the proposed profile reconstruction scheme significantly reduces area bias and preserves consistency in centroid calculations under the typical level of measurement uncertainty in conventional aero-engine blade inspection techniques. Implementation results from synthesized data point sets have demonstrated the accuracy and consistency of the proposed method for inspection data points characterized by a reasonable level of measurement uncertainty. 75 According to the results of this chapter, inspection data points with up to 15-µm measurement uncertainty can be used to reliably evaluate position and orientation errors of airfoil sections in the particular case study of this thesis. The measurement uncertainty of data points acquired by a contact probe on a common CMM is well within this range, which makes it suitable enough for aero-engine blade inspection. However, the applicability of point cloud data acquired by 3D laser scanning probe requires further processing to minimize its uncertainty. This fact, as discussed earlier in Chapter 1, motivates the remaining of the thesis. 76 Chapter 5: Establishing a Balanced Local Neighborhood of Points 5.1 Overview Bias is particularly crucial in local surface fitting through the method of least squares. The fitting algorithm tries to minimize the fitted residuals between the model and the involved data points. Any bias in the data points will make the residuals to the fitted local surface biased. Therefore, the key requirement is that the neighboring points used for fitting the local surface must be from balanced directions. Meanwhile, the directional balance requirement should not push the neighboring points to be selected from far away, so that the neighborhood is not distorted in sense of distance and the local property of the neighborhood is not compromised. In essence, there are two requirements, which sometimes compete with each other. Figure 5.1a exemplifies a neighborhood, which is directionally balanced, but still undesirable since some of the selected neighboring points are relatively far from the query point. On the other hand, Figure 5.1b displays a desirable neighborhood for fitting a local surface in which both directional balance and distance are considered. Section 5.2 elaborates on the balance issue and how the two requirements should be met simultaneously. 77 (a) (b) Figure 5.1 (a) A directionally balanced set of neighbors; and (b) the desirable set of neighbors. In this chapter, the developed Territory Claiming (TC) algorithm for establishing a balanced neighborhood is presented in Section 5.3. The main features are outlined as follows: 1. To ensure directional balance when selecting among nearest points to the query point, the notion of territory of established neighbors is introduced based on influence region of β-skeleton. A ring of neighboring points is created by adding points in order of increasing distance from the query point, as long as they are not in the territory of already added points (Section 5.3.1); 2. A second criterion to optimize the parameter value β is introduced to select closest directionally balanced neighbors (Section 5.3.2); 3. Growth rings are proposed to maintain balance when the neighborhood needs to grow to include more points (Section 5.3.3); 78 4. Based on extensive tests, a recommended range of β is given for computationally efficient implementation of the proposed balance filter, which can be established from a simpler mathematical formulation in the range (Section 5.3.4); and 5. An evaluation of the proposed neighborhood point selection algorithm has been carried out by comparing the selected neighborhood with the existing distance-based, mesh-based, and EGG neighborhoods. The evaluation factors include the underlying surface geometry, robustness towards point density variation, and more importantly, robustness towards noise (Section 5.4). 5.2 Balanced Point Neighborhood for Local Quadric Surface Fitting The common objective of local quadric surface fitting is to construct a surface model around a point of interest from the local neighboring points to approximate the underlying smooth 2-manifold surface in the local neighborhood. The approximating surface model represents the manifold surface, an infinite subset of R3, with a finite number of parameters. Considering that a scanned point cloud is subject to noise, the parameters are usually computed with an approximation scheme, basically, using some fitting technique which minimizes the fitted residuals between the neighboring points and the surface model [71]. In general, a bias present in the set of neighboring points will result in biased fitting results and lead to an inaccurately fitted surface. Therefore, balance (without bias) is the key requirement for selecting the neighboring points. 79 The concept of a 2-manifold surface embedded in R3 is essential for determining the balance requirement of the local neighborhood. According to Do Carmo [72], a manifold surface is defined based on a set of local parameterizations in a local neighborhood of each point on the surface. This local neighborhood is then characterized by geodesic relations in contrast to spatial relations in R3. In other words, the surface patch lying within the small !-ball around ! is topologically equivalent (homeomorphic) to a disk. Hence, in order to be able to well approximate the 2-manifold surface from the discrete sample points, points in the local neighborhood of !, !(!), are required to meet the condition that “they must sufficiently cover a small, local surface patch around !, which is topologically equivalent to a (manifold) disk”. This condition leads to the following two requirements for !(!): 1. Directional Balance Each neighboring point covers a region, which forms a portion of the entire small local surface patch around !. If a region is already covered by a neighboring point, contributions from other points are not needed in that region. In fact, any other point with large overlap of the covered region is considered redundant; and it may tip the balance in direction if included in the neighborhood. The desired neighborhood avoids redundancy by using the minimum possible number of points covering the entire small local patch around !. 2. Close Proximity To satisfy the requirement of minimum number of neighboring points providing the directional balance, the algorithm should not favor neighboring points that are far away. 80 Otherwise, it violates the locality condition, the fact that the local neighborhood should be in close proximity to the point of interest. The proposed neighborhood in this chapter will meet both of the above requirements. 5.3 Territory Claiming Algorithm The main idea of this work is to get an accepted neighboring point to claim a spatial territory, which is covered by the neighboring point. In this way, the space is partitioned into two divisions so that the next potential neighboring point should reside in the division that is not claimed yet. Consequently, the next selected neighboring point is then contributing to a better directional balance. For a point to claim a territory, it must be superior to the other points according to some measure. In this work, closeness to the point of interest in Euclidean distance gives preference to the claiming point since the local neighborhood is inherently associated with distance. The proposed algorithm consists of the following three elements: 1. A positive parameter ! gives directional balance to the selection of neighboring points so that there exists a ring of points !!(!) around the point of interest ! for any ! and !!(!) is balanced in direction. 81 2. The second criterion, aiming for the minimum average distance, selects the best ring of points among all !!(!) sets in a range of !. The selected set is then the closest set of directionally balanced neighbors. 3. Combining a multiple of selected rings of points will still establish a balanced local neighborhood of !. This is done to satisfy the condition of minimum required number of points for fitting a quadric surface. The details of each of the three elements are explained in the following three subsections, respectively. 5.3.1 Parameterized Territory of Existing Neighbors Since the preferred sequence of points is ordered by the Euclidean distance, the nearest neighboring point is the first accepted neighbor in !(!). Having all the points in a subset of the point cloud sorted based on distance (just like the k-NN), the algorithm uses the existing nearest neighbors in !(!) to check whether the next nearest point can be accepted into !(!) or not. In principle, the existing neighbors divide the space into two territories: claimed and unclaimed. If the next nearest point resides in the combined claimed territory of all the existing neighbors, then it is not accepted as a neighbor. If it resides outside the claimed territory (in the unclaimed territory), then it is accepted. A positive parameter ! is involved in the creation of this division. Its values correspond to a family of three-dimensional influence regions generalized from the influence region of β-skeleton. 82 Fundamentally, the influence region of a neighborhood graph provides a measure of influence based on the relative position of points, which leads to a competition. If there is a point ! residing within a specific β-based influence region !!(!,!) of a point ! with respect to the point of interest !, the point ! is deemed to be of more influence than ! with respect to !. Therefore, in the aforementioned territory division based on the β-based influence region of an existing neighbor, the points in the claimed territory are less influential than the existing neighbor. The division is referred to as the claimed territory of the existing neighbor in this work. The definition of the claimed territory of the existing neighbor can then be stated as: Definition 5.1: The claimed territory !!(!,!) of an existing neighbor ! with respect to the point of interest ! is !! !,! = {!|! ∈ !! !,! }. As mentioned earlier, ! is the parameter defining the three-dimensional influence region. The three-dimensional influence region in this work is adapted from β-skeleton [43]. Let ! be the point of interest and ! be any candidate neighboring point of which the influence is to be evaluated. The influence region of β-skeleton is originally defined in two dimensions as follows: • For ! ≥ 1, the influence region is the intersection of two circles centered at 1− ! 2 !+ ! 2 ! and ! 2 !+ 1− ! 2 ! with the diameter of !"(!,!) where !(!,!) represents the Euclidean distance between ! and !; and 83 • For 1 > ! > 0, the influence region is the intersection of the two circles passing through both ! and ! with the diameter of !(!,!)/!. The ! value parameterizes a continuous spectrum of influence regions in which the influence region of !! is a sub-region of the influence region of !! when !! > !! > 0. Using the above definition of influence regions, original β-skeleton aims to outline the shape of a two-dimensional set of points in the same way that a topological skeleton outlines the shape of a two-dimensional region. The main application of β-skeleton is twofold: 1) describing the external shape of a point set [73] (i.e., reconstruction of the boundary curve of a set of two-dimensional points); and 2) describing the internal shape of a point set [43] (i.e., pattern analysis for effective classification of networks in communication applications). This thesis presents the first study of adapting β-skeleton influence regions towards establishing a balanced neighborhood of points for surface fitting. In this work, the three-dimensional influence region is defined as a solid of revolution created by revolving the two-dimensional influence region of β-skeleton about the line segment connecting ! and !. It should be noted that the containment test of influence region in this work is relaxed compared to the containment test in the original beta-skeleton. The original definition checks whether any point of the point set is within the influence region or not, with the condition that no point should be within the influence region between ! and the candidate point in order to accept the candidate point as a neighbor. In this sense, when the points are distributed in a spiral course around the point of interest p, the original beta-skeleton may leave only the nearest neighbor as the 84 neighboring point. Figure 5.2 shows this situation when β = 2 for which beta-skeleton gives only q1 as the neighbor of p. In this work, the condition is relaxed, so that only the established neighbors should not be within the influence region of the candidate point in order for the candidate point to be accepted as a neighbor. Therefore, in a spiral case shown in Figure 5.2 the relaxed containment condition in this work avoids the aforementioned issue of the original beta-skeleton, and it identifies q1, q3 and q5 as neighboring points. Figure 5.2 Spiral distribution of nearest points around a point of interest p. Figure 5.3 illustrates how the influence region and the boundary of the corresponding claimed territory of an existing neighbor vary with !. The figure shows the point of interest !, an existing neighbor ! in the local neighborhood of !, and a candidate neighbor !, which is being evaluated to see whether it can be a neighbor or not. The containment of ! within the influence region of ! with respect to ! is checked. In order to accept ! as a neighbor, ! should not be in the influence region of !. It is equivalent to state that ! is not in the claimed territory of !. 85 Figure 5.3 Contour plots: (a) !!(!,!) with various !; and (b) !!(!,!) with various !. Figure 5.3a shows the boundary of the influence region of ! with respect to ! for the range of ! from infinity (darkest) to zero (lightest). The entire region inside the boundary is the influenceregion for a specific !. The contour plot in Figure 5.3b shows the corresponding boundary of the claimed territory of ! with respect to ! for the same !. The entire region to the right side of the boundary is the claimed territory for the specific !. For an increased ! value, ! claims a larger territory since the influence region of ! is larger. In essence, a larger ! makes the claimed territory filter to be more restrictive. The dashed circle in Figure 5.3 represents the Euclidean ball with the radius equal to the Euclidean distance between ! and ! in Figure 5.3a and between ! and ! in Figure 5.3b. Specifying a !, a neighborhood !!(!) of the point of interest ! isestablished by adding one neighbor at a time in the order of increasing distance from ! as long as none of the neighbors already in !!(!) is contained within the influence region of the neighbor candidate. In this way, the added neighboring point is not in the claimed territory of any of the (a) (b) 86 points already in the neighborhood. In fact, the combined claimed territory of the already selected neighbors, acts as a filter for the feasibility space of the next neighbor by cutting away a space behind any existing neighbor in order to maintain the directional balance of the resulting !!(!). The related algorithm is shown in a pseudo-code below. Algorithm 5.1. Filter to Maintain Directional Balance INPUT: Given a point ! (point of interest) in a point cloud, ! OUTPUT: !!(!) Determine the k-NN of ! Sort the k-NN of !: !! = !!! nearest neighbor candidate to ! !! ! = !! FOR ! from 2 to k Find any Plane(!,!!) passing through both ! and !! Find !!(!,!!) in Plane(!,!!), !!(!,!!): β-skeleton influence region Find !!(!,!!), 3D solid generated by revolving !!(!,!!) about !!! IF !! ! ∩ !! !,!! = ∅ !! ! = !! ! ∪ !! ENDIF END RETURN !!(!) 87 For different values of !, different local neighborhoods, !! ! , may be established but all have a common property: they are directionally well balanced. However, some of these neighborhoods may be relatively distorted in distance, namely, being relatively stretched in some direction for the sake of providing the desired directional balance. The next section describes a measure for deciding the best selection in order to minimize such distortion. 5.3.2 Closest Directionally Balanced Neighbors The proposed algorithm generates different neighborhoods from a range of ! values, starting from a large ! and reducing it progressively down to a small !. In the end, the algorithm generates every possible !! ! in the specified range of !, all of which are directionally balanced. Since some of the neighborhoods contain a few farther neighboring points and this violates the close proximity requirement, the algorithm selects the neighbor set with the minimum average Euclidean distance to ! of the neighboring points as the best set. Mathematically, the best !! ! is the one which minimizes: davg N! (p)( ) =ni " pi=1N! (p )#N! (p)(5.1) where !! ! is the size of !! ! and !! represents the ith neighboring point. More details can be found in the pseudo-code of the next page. 88 Algorithm 5.2. Search to find the closest directionally balanced set INPUT: Given a point ! (point of interest) in a point cloud, !!, ∆!, !! OUTPUT: !! ! FOR !! to !! with the decrement ∆! Find !!(!) /*Call Algorithm 1*/ Find !! ! , number of points in !! ! FOR each !! ∈ !! ! Find !! − ! , Euclidean distance to ! END Calculate !!"# !! ! , average !! − ! END !! ! ← !! ! with minimum !!"# !! ! RETURN !! ! , first ring of neighbors !! ! is a ring of neighboring points around the query point !, which is the closest set of directionally balanced neighbors. Nonetheless, most of the times, the number of neighboring points in the obtained ring is not sufficient for the application of local quadric surface fitting. More specifically, to fit a general quadric surface, at least 10 neighboring points are needed. 89 Assuming ! is at the origin and the fitted quadric surface passes through the origin !, 9 coefficients in Equation 5.2 below need to be computed through fitting [74]: ! !,!, ! = !!!! + !!!! + !!!! + !!!" + !!!" + !!!" + !!! + !!! + !!! = 0 (5.2)Therefore, the local neighborhood must be expanded in the number of points in order to make local quadric surface fitting feasible. Expanding the neighbor set will possibly tip the point distribution balance if not carefully carried out. The next section explains how the proposed neighborhood expands while not violating the desired balance. 5.3.3 Balanced Neighborhood Rings In order to grow and expand the balanced point neighborhood, the proposed algorithm employs the ring concept in a somewhat different way than the conventional !-ring vertices of mesh structure. The proposed rings are obtained in the following steps: 1. Find the closest balanced neighbor set as described in Sections 5.3.1 and 5.3.2, which is abalanced neighborhood ring around the point of interest;2. Remove all the selected points in Step 1; then, by following exactly the same way as Step 1,find another balanced neighbor set around the point of interest from the remaining points ofthe original point cloud; and3. Combine the neighbor sets of Steps 1 and 2 to get the grown two-ring neighborhood.90 Figure 5.4 shows an example of the above steps. Step 1 Step 2 Step 3 Figure 5.4 An example of the balanced neighborhood-growing scheme. The underlying notion behind such a procedure is that a union of balanced sets is balanced. As each of the balanced rings from Steps 1 and 2 provides balanced coverage of the small local patch around the point of interest without tipping the balance, the union of two such rings would still be a balanced set so as to satisfy the requirement of minimum point number !!. The procedure can be repeated to go beyond two rings if needed. The algorithm stops adding rings once the overall number of neighboring points in the existing rings is adequate (i.e., once there are at least ten points in the neighborhood). The pseudo-code of the overall procedure is presented in the next page. 91 Algorithm 5.3. Balanced Neighborhood Ring Expansion INPUT: Given a point ! (point of interest) of a point cloud, !! OUTPUT: ! ! ! ! = !! ! /*Call Algorithm 2*/ WHILE ! ! < !! Remove ! ! from the point cloud !! ! = !! ! /*Call Algorithm 2*/ ! ! = ! ! ∪ !! ! ENDWHILE RETURN ! ! , balanced neighborhood meeting the !! requirement 5.3.4 Implementation Recommendations This section provides some insight and guidance for a more efficient implementation of the search for finding each ring of closest directionally balanced neighboring points. 5.3.4.1 Size of the Initial Neighbor Candidate Set (k-NN) A sufficiently large number of points as the initial neighbor candidates must be employed and evaluated. As stated previously, this initial neighbor candidate set is taken as the k-NN. A small k increases the probability of generating a suboptimal point neighborhood. A large k increases 92 the computational load. From extensive computational tests, it is found that ! = 30 is large enough to include all optimal neighbors with good computational efficiency. 5.3.4.2 Range of ! and Value of ∆! As stated previously, directional balance is not the only criterion for establishing the point neighborhood that should also satisfy the condition of close proximity. The algorithm uses the distance criterion to decide which ! is the best for establishing the point neighborhood. Theoretically, the algorithm can sweep a large range of ! > 0 to get the best solution among all possible neighborhoods. However, there is no need in practice to search exhaustively through the entire range. Figure 5.3 intuitively helps to choose the ! range based on the shown boundary of the claimed territory of an existing neighbor. For example, the half-space created by the ! = 1.0 boundary seems generous enough already. For ! < 1.0, it may become too generous so that the neighborhood may include a few neighbors relatively far from the point of interest. The criterion in distance aims at filtering out these point sets. Hence, it is good practice to avoid relatively small ! values. For example, ! < 0.7 takes only less than a quarter of the spatial domain. The other observation is that for larger ! values, in particular ! > 2.0, the rate of change in the claimed territory boundary with respect to ! becomes relatively smaller. As a result, the range of 5.0 ≥ ! ≥ 0.7 is evaluated in the implementation section of this chapter (Section 5.4). However, based on extensive computational tests, it is found that the range of 2.0 ≥ ! ≥ 1.0 works equally well. In fact, the majority of the final best neighborhood solutions picked by the criterion in distance has a ! value in this range. Therefore, the recommended range is 2.0 ≥ ! ≥ 1.0 for the sake of computational efficiency. 93 Considering the progressive nature of the algorithm, the decrement ∆! value should be specified as well. Again, according to extensive tests, it is recommended to use ∆! = 0.1 for the search in the ! range of 2.0 ≥ ! ≥ 1.0. There is no real need to specify a very small ∆! for ! ≥ 1.0 because of the modest rate of change of the claimed territory boundary with respect to ! as observed in Figure 5.3b. Nevertheless, ∆! can still be set to be small, for example, ∆! = 0.01, without any computational issue. In contrast, it is not advisable to pick a large ∆!. A relatively large ∆! may not offer sufficient resolution to correctly identify the desired solution. Figure 5.5 shows the first ring of neighboring points around the point of interest ! for different ! values within the range of 2.0 ≥ ! ≥ 1.0. The best set is seen to be !!.! ! for which the average distance of the neighbor set is the smallest. !!.! ! ; !!"# !!.! ! = 0.083 !!.! ! ; !!"! !!.! ! = 0.071 !!.!" ! ; !!"# !!.!" ! = 0.073 !!.! ! ; !!"# !!.! ! = 0.079 Figure 5.5 Variation of !!(!) with ! in !.! ≥ ! ≥ !.!. p p p p 94 5.3.4.3 Simpler Containment Evaluation In Section 5.3.1, containment evaluation of candidate neighbors was explained using influence regions, which are solids of revolution. For this purpose, the algorithm needs to construct a solid of revolution between each candidate neighbor and the point of interest and then check whether any of the existing neighbors lies inside the influence region of the candidate neighbor or not. The influence region containment evaluation for ! ≥ 1.0 is in fact equivalent to a simpler calculation. Let !(!,!) be the distance between the point of interest ! and a candidate neighbor !, then ! is excluded from being a neighbor if and only if there is an existing neighbor for which both distances ! and ! are smaller than ! where !, !, and ! are expressed as: a = n! [(1! "2 )p +"2 q]b = n! [(1! "2 )q+"2 p]R = "2 d(p, q) (5.3) Essentially, ! and ! are the respective distance of the point ! from the centers of two spheres centered at 1− ! 2 !+ ! 2 ! and ! 2 !+ 1− ! 2 ! with radius !. The region, in which the distance from both sphere centers is smaller than the radius !, is the intersection region of these two spheres. This intersection region is in effect the constructed solid of revolution from the influence region of !-skeleton. When both ! and ! are smaller than !, this means that the existing neighbor ! resides in the influence region of the candidate neighbor ! with respect to !, which excludes ! from being a contributing neighbor. 95 5.4 Implementation Results and Discussion Numerous case studies using simulated point cloud data sets have been performed to investigate and demonstrate the effectiveness of the proposed method in comparison with the existing methods in identifying the point neighborhood for local quadric surface fitting. In order to examine the balance quality of the fitted local quadric surface, a local differential geometric property of the fitted surface, the normal vector, is evaluated and employed as the measure. When fitting a local quadric surface to estimate the normal vector at a given data point, the more balanced the neighborhood identified, the less bias in the fitted quadric surface and the resulting estimated normal vector. In this work, simulated point cloud data are used, because for ideal theoretical surfaces, the true normal vector !!"#$ is known at each point. The approximation error ! of the estimated normal vector !!"# is quantified as the angle between !!"# and !!"#$ as: ! = cos!! !!"# ∙ !!"#$ (5.4) To estimate the normal vector at !, the points in the local neighborhood with ! ! ≥ 10 are used to fit the quadric surface in the implicit form of Equation 5.2 [75–77]. The normal vector is estimated at !′, the closest point on the fitted quadric surface to !. Three different geometric shapes were employed for the case studies: the surface of a sphere, the surface of a torus, and a bicubic Bezier surface patch. The simulated point cloud data sets were 96 generated in random point distribution with varying sampling density. In order to investigate the effect of noise, different levels of noise (Gaussian deviates) in random directions were superimposed onto the ideal points to generate noisy point clouds. When a set of random Gaussian deviates is added to the ideal sampled points in random directions, the accuracy of the estimated normal vector is to be evaluated against a reference normal vector, which is to be defined and discussed in the next subsection. 5.4.1 Reference Normal Vector First, let us assume a set of properly generated Gaussian deviates was added to the ideal sampled points along their respective normal directions. Then, the ground truth and the original normal vector of the theoretical surface would be the same. However, in the case studies of this work, the synthetic noisy point clouds were generated to be more generic with the sampled points being perturbed in random directions. In this situation, the ground truth normal vector corresponding to a perturbed point is unknown. Instead, let !! be the closest point on the original surface to the perturbed point ! and the reference normal vector corresponding to ! is then taken as the normal at !! on the original surface. The vector connecting !! to ! is in the normal direction at !! which effectively represents the Gaussian deviate component in the normal direction. Once the perturbed points in random directions are projected back onto the original surface along the surface normal directions, the distance !(!!,!) of the point set still follows the Gaussian distribution but with a different standard deviation than that for the original Gaussian deviates. In this sense, the point perturbed 97 in a random direction can be regarded as corresponding to its closest point on the original surface rather than the original point before perturbation. Hence, when the fitted quadric surface obtained from the simulated noisy point cloud is evaluated, !!"#$, the reference normal vector at !, is taken as the normal vector at !!, the closest projection point on the original surface of the perturbed point !. 5.4.2 Case Studies As mentioned earlier, three different geometric shapes were employed for the case studies: the surface of a sphere, the surface of a torus, and a bicubic Bezier surface patch. The reason for choosing these three geometric shapes was the fact that local surface geometry plays an important role about how well the original surface can be approximated by a quadric. This is particularly important when expanding the local neighborhood to obtain a sufficient number of points for quadric surface fitting. The employed three geometric shapes provides three levels of variation in terms of local geometry: (1) sphere, which is entirely a homogeneous quadric surface; (2) torus, which is locally quadric but starts to vary as deviating from local; and (3) bicubic Bezier surface, which is not quadric locally. After sampling the ideal synthetic point cloud from the three surfaces, Gaussian noise was superimposed onto each sampled point along a random direction. The standard deviation of the noise, referred to as the noise level in this chapter, was specified as a percentage of the diagonal 98 length of the bounding box (BBD%) of the point cloud. Figure 5.6 shows how the point clouds from the three surfaces look like with 0.50 BBD% superimposed noise. (a) (b) (c) Figure 5.6 Synthetic point clouds with 0.50 BBD% superimposed noise from: (a) sphere; (b) torus; and (c) bicubic Bezier surface patch. The proposed method has been compared with three existing methods. In the implementation of the proposed method, the range of 5.0 ≥ ! ≥ 0.7 was set with the decrement ∆! = 0.1. For the comparisons, the associated parameters in the existing methods were either set to ensure that there would be at least 10 neighboring points for the quadric surface fitting or set as the suggested values. More detailed explanations about the implementation of each existing method and the selection procedure for its associated parameter(s) are given below. Existing method 1: mesh neighbors This method needs an intermediate procedure to construct a mesh ! = !,! from the point cloud where ! and ! are the set of vertices and edges of the mesh, respectively. Then, the 99 method takes the immediate neighbors of a given point ! (now a vertex ! in the mesh) as !!!"#$ = ! ∈ !|(!, !) ∈ ! , which is known as the set of one-ring neighbors of the vertex !. If more neighboring points are needed, the method extends the set to a two-ring neighborhood by including all of the one-ring neighbors of the current one-ring vertices. Since the quality of the mesh greatly affects the quality of the resulting neighborhood, using an effective meshing algorithm becomes crucial in this method. For the comparison in this work, a mesh reconstruction program called MyRobustCrust based on the power crust algorithm [78,79] was used. The program performs manifold extraction using the ball-pivoting method [80]. MyRobustCrust can only triangulate closed-surface point clouds; it may give inaccurate results for an open-surface point cloud. Therefore, this program was only used for reconstructing a mesh from the sphere and torus point clouds. Another version of the program called MyCrustOpen was successfully used for meshing the sampled point cloud from the open bicubic Bezier surface patch for which MyRobustCrust was not applicable. Once the mesh ! = !,! was constructed, the one-ring neighbors for a given point were counted and the mesh neighbor set was grown if there were less than 10 neighboring points. This resulted in an average neighbor set of about 20-25 points for a 10,000 sampled point cloud from the sphere, torus, or Bezier surface patch. Existing method 2: !-nearest neighbors To efficiently identify the !-NN, Arya et al. [81] have introduced an optimized search approach. Although the search of the !-NN is straightforward, the appropriate choice of the parameter 100 ! remains non-trivial and its appropriate value often depends upon the point cloud data. In thecomparison, two values for ! were employed. The first was ! = 10 to satisfy the minimum point number requirement for the quadric surface fitting. Since smaller values of k are in general subject to increased noise effect, a larger ! was also employed. The choice for the larger value of ! = 24 was chosen according to recommendations in the previous studies [82–84] as well as to be consistent with the average number of mesh neighbors established by this work. This is done to ensure a fair performance comparison of the methods by keeping the number of neighboring points similar. Existing method 3: elliptic Gabriel graph (EGG) neighbors In the original work by Park et al. [44], there was a parameter ! which was set as 0.7 in order to acquire reasonable point neighborhoods for normal vector estimation. The neighborhood obtained with ! = 0.7 contained in average less than 6 points, which are not sufficient for quadric surface fitting. In order to have a sufficient number of neighboring points, the EGG algorithm was implemented by a progressive approach. To identify the EGG neighbor set within the recommended candidate set of 30-NN, the algorithm started from ! = 0.7 and reduced ! by a decrement of ∆! = 0.05 until the neighbor set had at least 10 neighboring points. The progressive search appeared to be quite smooth, which justified the selected decrement of ∆! = 0.05. To compare the proposed method with the three existing methods described above, the approximation error ! of the estimated normal vector for any given point was evaluated using 101 Equation 5.4. The approximation error ! in general varies for each point in a point cloud. As a result, the average and standard deviation ! were calculated in this work for all the approximation errors (from all points in a point cloud) for the comparison. In the cases of the point cloud randomly sampled from the sphere surface, for the ideal (no noise) sets of different point densities as well as the noisy sets with low levels of noise (up to 0.25 BBD%), all the methods were equally good and none was superior over the others. Conceptually, balance in the selected point neighborhood will not much affect the fitted local quadric surface when the original surface is a perfect homogeneous quadric surface itself. However, as the noise level increased in the sphere point clouds, the mesh constructed by MyRobustCrust became incomplete and unreliable, to an extent that for a noisy sphere point cloud of 0.50 BBD% noise, 14.9% of the points in the point cloud were not included in the constructed partial mesh. In other words, 14.9% of the points did not have a mesh neighbor set. For a noisy sphere point cloud of 0.75 BBD% noise, it became impossible to construct a mesh at all via the MyRobustCrust program. Figures 5.7a and 5.7b show the comparison results of ! for randomly sampled torus point clouds of three different levels of point density and without noise. For the point cloud of 10,000 points, all methods were closely competitive as they all gave low average approximation errors and small standard deviations. It can be observed in the figure that it is important to pick the correct neighborhood when the point cloud is not very dense. The proposed method is relatively more robust towards point density variations than all of the existing methods. 102 (a) (b) Figure 5.7 Comparison of normal vector approximation errors for randomly sampled torus point clouds (no noise). While there was not much difference among the results of the various methods for a set of 10,000 points from a torus without noise, some methods deteriorated more than the others when 103 noise was introduced. Figures 5.8a and 5.8b show the comparison results for the tested point clouds of 10,000 randomly sampled points from the torus with superimposed noise of different levels up to 1.00 BBD%. As it is seen in the figure, the proposed method is also more robust towards noise than all the existing methods. For the torus point cloud without noise, the mesh neighbors performed reasonably well. However, for the noisy point sets, especially with higher levels of noise, the mesh neighbor sets became distorted. Specifically, for noisy torus point clouds of 0.50 BBD% and 0.75 BBD% noise levels, the percentage of points not included in the constructed partial mesh reached 11.5% and 21.9%, respectively. Eventually, it was not possible to construct a mesh at all using the MyRobustCrust program from a noisy torus point cloud of 1.00 BBD% noise. When moderate noise was present, the 24-NN set competed closely with the proposed method with the lowest average normal approximation error. However, when the noise level increased, the 24-NN set deteriorated more quickly than the proposed method. For the torus point cloud with 1.00 BBD% noise, the average normal approximation error of the proposed method is about 15% less than the 24-NN method. It is thus clear that when the noise level is high, it is imperative to be selectiveabout the point neighborhood. As expected, noise significantly affected the 10-NN while for the torus point cloud without noise, 10-NN performed better than 24-NN. This is a clear indication that the performance of k-NN is much dependent upon the data set and the appropriate local neighborhood should be adaptive. The proposed method is in effect adaptive and consistently performs better than all the existing methods. 104 (a) (b) Figure 5.8 Comparison of normal vector approximation errors for randomly sampled torus point clouds (10,000 points with noise). Figure 5.9 shows the comparison as the percentage of point cases (denoted by η) the proposed method is superior over the other methods for the same point cloud data sets of Figure 5.8. In 105 this comparison, an η value of 50% means that the proposed and the compared methods have no superiority over each other since each of them is better than the other for 50% of the point cases. η = 100% indicates that the proposed method performs better than the compared method in all point cases. As it can be seen in Figure 5.9, the superior performance of the proposed method is more pronounced as the noise level increases. Figure 5.9 Proposed method’s superiority in percentage of point cases for randomly sampled torus point clouds (10,000 points with noise). Figure 5.10 shows how the point neighborhood generated by the proposed method adapts to noise in order to maintain balance. In the figure, a typical point of interest is shown for which the point neighborhood based on the proposed method has been selected. As increasing noise is introduced to the point cloud, the selected neighboring points are frequently swapped and the number of neighboring points selected also varies, so that the neighborhood is kept well-balanced. 106 0.00 BBD% noise 12 neighboring points 0.05 BBD% noise 14 neighboring points 0.15 BBD% noise 11 neighboring points Figure 5.10 Adaptation of the proposed point neighborhood to noise. 107 The next surface geometry employed for the case studies was a bicubic Bezier surface patch. Comparisons of the average errors and standard deviation values for the approximated normal vectors are plotted in Figures 5.11a and 5.11b for the Bezier point clouds of 10,000 randomly sampled points and with superimposed noise of different levels up to 1.00 BBD%. An aggregate effect of both geometry and noise is observed in the results. Through examining the comparative percentage indicator η for both the torus and Bezier point clouds with no noise, the proposed method showed superiority with about 15% more point cases for Bezier point clouds than torus point clouds. This means that when the geometry changes from torus to bicubic Bezier for which the local surface geometry is no longer quadric, the superiority of the proposed method is more pronounced. With the geometry effect added to the noise effect, as was the case for the Bezier point clouds with noise, the proposed method performed noticeably better than any of the existing methods in approximating the normal vectors, in average. In addition, as it can be observed in the standard deviation plot of Figure 5.11b, the proposed method yields more consistent results than the other methods. 108 (a) (b) Figure 5.11 Comparison of normal vector approximation errors for randomly sampled Bezier point clouds (10,000 points with noise). 109 The superiority of the proposed method is also clearly shown in Figure 5.12. For example, for the Bezier point cloud with 1.00 BBD% noise, the proposed method is seen to be superior for about 78% of the point cases over the 24-NN and mesh neighbors, about 90% of the point cases over the EGG neighbors, and about 96% of the point cases over the 10-NN. Figure 5.12 Proposed method’s superiority in percentage of point cases for randomly sampled Bezier point clouds (10,000 points with noise). Additional case studies were also carried out for surfaces of varying geometry. The obtained results were all similar to those presented previously. It is thus evident from the demonstrated consistent superior performance that the proposed method is an improved and reliable alternative to the existing methods to identify the balanced point neighborhood from a point cloud for local quadric surface fitting. 110 5.5 Summary Establishing a balanced point neighborhood for a point of interest in a point cloud is essential for fitting a reliable local quadric surface at the point. Any missing and/or redundant neighboring points would tip the balance and therefore, contribute to a biased least squares fitting. While most studies in the literature employ distance-based point neighborhoods such as k-nearest neighbors due to the simplicity, distance-based methods often give redundant neighboring points for unorganized or scattered point clouds with non-uniform point distributions. In this chapter, the Territory Claiming (TC) algorithm has been introduced to prevent the redundancy, thereby providing a balanced neighborhood. The principal feature of this work is the concept and creation of the claimed territories. Based on the claimed territory of each already accepted neighbor, the space is divided into two regions to evaluate the next potential neighbor. In this manner, the territory claiming relationship is utilized in a Euclidean distance sequence to create a redundancy filter, ensuring comprehensive coverage of the local surface geometry around the point of interest. Then, in order to expand the neighborhood to have sufficient number of points for local quadric surface fitting, a balanced neighborhood ring expansion procedure has been developed based on the notion that a union of balanced point neighborhoods remains balanced. The performance of the established point neighborhoods by the proposed method in local quadric surface fitting has been compared with that of distance-based neighbors, mesh neighbors, and elliptic Gabriel graph (EGG) neighbors. The implementation results from the extensive 111 simulated point cloud data sets have demonstrated the effectiveness and consistency of the proposed method in generating balanced point neighborhoods for reliable local quadric surface fitting. The proposed method is shown to be more robust towards point density variation as well as noise than the existing methods and deemed a reliable method to establish a balanced neighborhood for local quadric surface fitting. 112 Chapter 6: Extracting Sectional Contours from 3D Point Cloud 6.1 Overview To briefly review what has already been said, since practically the position of no point of a scanned point cloud is exactly on a given section plane, the section-specific coordinate data must be extracted from the points nearby to the section plane. As it is discussed in Chapters 1 and 2, in order to bypass unnecessary intermediate models, local data points can be directly projected onto the section plane. However, so far, the projection approach has faced several significant challenges, and as a result, none of the existing projection schemes can automatically output a reliable sectional contour. In this chapter, an adaptive surface projection method is presented for extracting section-specific contours from the scanned point cloud in a fully automatic setting. Two main features of the proposed method are outlined as follows: • The algorithm in this chapter benefits from the proposed method of establishing a balanced neighborhood for local quadric surface fitting (Chapter 5), which significantly improves the projection accuracy of the points, especially in the presence of noise. The results of the proposed projection method are compared to the existing projections. The comparison demonstrates superiority of the proposed method and its robustness to noise. 113 • A method is proposed in this chapter for systematic and automatic selection of the points to project, based on the local domain of influence of each point’s neighborhood. 6.2 Proposed Methodology The main idea of this chapter is to adaptively project the nearby points to the slicing plane through a curvilinear trajectory. To be able to perform local curvilinear projection, in general, the following two questions should be answered: 1) What is the curvilinear trajectory in which each data point should be projected? 2) What points should be projected? The first matter is discussed in Section 6.2.1, which is also used as a rationale to elaborate on how the second question is answered in Section 6.2.2. The ultimate algorithm will enable a fully automatic extraction of section-specific data points out of 3D point cloud. 6.2.1 Curvilinear Projection Trajectory The local surface patch representing the local geometry around a nearby point to the section plane can be used as a mapping function for the curvilinear projection of that point. The local surface geometry around a given point p can be seen as a height field over its tangent plane [85]. A quadric surface sufficiently represents this height field; because up to second-order derivatives are essentially enough information for characterizing local geometric properties. An implicit quadric surface (i.e., the coefficients cj ; j = 1,…,9) of Equation 5.2 is computed by least squares 114 fitting over the local neighborhood N(p), which its calculation was explained in Chapter 5. The trajectory of curvilinear projection through the local quadric in this work is borrowed from [54]. As discussed earlier, the main challenges for the surface projection lie in selection of the local data points for the underlying local quadric surface fitting and selection of the points to project. Once the local quadric, Q(p), is computed for the point p, the curvilinear projection trajectory is obtained as follows: The trajectory plane is defined as the normal plane passing p and spanned by two vectors, the normal vector np of Q(p) at p and the normal vector ns of section plane [54]. The defined trajectory plane is perpendicular to the section plane and governed by the differential geometric properties of local surface at the point p. Figure 6.1 illustrates the local quadric and its normal plane. The curve (i.e., normal section) created at the intersection of the normal plane and the local quadric is the curvilinear trajectory, which projects point p onto the section plane. mp is then the corresponding projected point, which is the intersection of the normal section curve and the section plane. The trajectory curve or normal section (i.e., green dashed curve in Figure 6.1) is a conic section. It can be efficiently computed using a coordinate transformation for which the details can be found in [54]. The effectiveness of this surface projection highly depends on the local neighborhood used for surface fitting. Using distance-based neighborhood of points leads to an inaccurate projection in the presence of noise, as will be demonstrated further in Section 6.3. This thesis enables the effective application of the presented curvilinear projection by the means of the proposed 115 Territory Claiming neighborhood that not only allows a robust local surface fitting, but also gives rise to a robust criterion for picking points for projection, which is going to be discussed in the next section. Figure 6.1 Curvilinear projection trajectory through the fitted local quadric surface. 6.2.2 Automatic Selection of Points for Projection Which points to project is an important question for any projection method. In the existing methods, in general, there is a trade-off between the truncation error (losing information) and the projection error, since there is no direct relationship between the locality of projection and the means to define what points to project (i.e., distance of the point from the section plane). Having more sectional data points is beneficial for profile reconstruction under the uncertainty of points, as the noise in data can be dealt with better. But adding more points means adding to the projection uncertainty, since the algorithm has to project points that are farther away from the section plane. Therefore, a mechanism is needed for adding only local points for projection. Section Plane Normal Plane p np ns mp Local Quadric 116 So far, a method is presented that can project a nearby measured point of the point cloud to the sectional plane. This projection is a local projection; meaning when a point to be projected is farther away from the sectional plane the projection uncertainty is larger. However, statistically, the points projected through the quadric surface fitted over the immediate local Territory Claiming neighborhood (i.e., minimum rings satisfying the requirement of minimum number of points for quadric fitting) are characterized by similar projection uncertainty. Assuming that the point cloud is reasonably dense, the algorithm uses a class method for automatic selection of points to project, so that it checks all the candidate points p in the point cloud (or a reasonable subset of the point cloud to increase the computational efficiency) for whether the local neighborhood of the point p has points both above and below the sectional plane (i.e., the plane intersects the neighborhood). Basically, the algorithm should not extrapolate to anything beyond the domain of influence created by the immediate local neighborhood of the point to be projected. Therefore, a data point can be projected only if the established Territory Claiming (TC) neighborhood of that point contains points on both sides of the specified section plane. Figure 6.2 shows the flowchart of the proposed surface projection. The input is a set of 3D data points and a specified section plane. As described earlier, first, points are sorted based on distance from the section plane. Starting from the closest point to the plane and picking points in order of increasing distance, for each point the local neighborhood is established based on the proposed Territory Claiming algorithm in Chapter 5. Once the local neighborhood is established, the above criterion is checked to find out whether the data point can be projected or not. If it can, then, the curvilinear projection of Section 6.2.1 is performed on the data point. 117 Figure 6.2 Flowchart of the proposed curvilinear surface projection method. 3D point set and specified section plane Sort points as pj based on distance from section plane j = 1 Establish TC neighborhood N(pj) N(pj) points both sides of plane? Yes No Fit the quadric surface of Equation 5.2 Project pj onto the plane along the normal section j = j + 1 2D projected points 118 This procedure continues until all eligible points are projected. The output is the stored set of 2D sectional data points. 6.2.3 Smooth Sectional Profile Reconstruction Once the algorithm projects points onto the plane, the projected entity is in fact a set of circles centered at the planar points, with the radius equal to the expanded uncertainty 3uc. The other way of looking at it is to say the original points of the point cloud (with the associated measurement uncertainty) are, in effect, the spheres centered at the measured points with the radius equal to 3uc. Having the set of spheres directly projected onto the sectional plane, results in the aforementioned circles on that plane. Therefore, given the sampled point cloud with its associated measurement uncertainty value, the proposed approach of Chapter 3 can be used to reconstruct the airfoil profiles from the extracted sectional data points. In order to utilize the proposed method of Chapter 3 for the current projected set of points, there is one more step to take, namely, the projected points set should be ordered. Basically, the fundamental difference of measured sectional data points via CMM contact probe and the extracted sectional data points through projection in this chapter is in the order of points. For the contact probe measurements the sampled points are already ordered; there is thus no more task needs to be done before parameterization of points. But for the projected set, the order of points is unknown and should be defined; otherwise it is not possible to parameterize them for the subsequent curve fitting. Fundamentally, the suitable way to solve this problem depends on the deviation of the sampled blade from its CAD model. Hence, two categories of blades can be considered: 1) newly 119 manufactured blades; and 2) service blades, also known as maintenance, repair and overhaul (MRO) blades [86–89]. For the newly manufactured blade, the CAD model already exists, which can be used. The algorithm finds the order of data points based on the corresponding closest points of the CAD profile. Knowing the order, the parameter values are readily available, and the presented principle in Chapter 3 can be applied. Based on extensive tests over the simulated manufactured profiles synthesized in the same way as in Chapter 4 with various error magnitudes resembling the typical machining errors, this thesis confirms that using the CAD profile for ordering the points is reliable for blades in production. Nonetheless, the second category, which is service blade, tends to significantly deviate in form and dimensions from the original CAD model. For those cases, this thesis refers to some notable works on curve fitting to unorganized points [32,90]. 6.3 Implementation Results and Discussion Numerical case studies have been conducted to validate the proposed method and compare it to the existing methods. For such comparison, synthetic point cloud data are required because known sectional profiles exist that can be utilized as references. The blade CAD model was created for which the overall dimension of the airfoil sections roughly corresponded to a rectangle of 50 mm in length and 15 mm in width. The blade surface was generated by stacking up the airfoil sections along the Z-axis of a Cartesian coordinate frame with the centroids of all the airfoil sections placed at the origin of each corresponding XY plane. In order to follow a typical blade surface design, the airfoil sections from the innermost to the outermost section were twisted incrementally so that the twist from the blade bottom to tip was 20 degrees. The height 120 of the modeled blade surface was 150 mm with the innermost and outermost airfoil sections located on the Z = 0 mm and Z = 150 mm sectional planes, respectively. A systematic error was then superimposed onto the airfoil sections to emulate the manufacturing errors on a typical machined blade surface. The systematic error was of a sinusoidal variation of 5 cycles with amplitude of 0.009 mm. The simulated systematic errors were superimposed onto the CAD profiles in the direction of the profile normals. This led to linear displacement of the airfoil profile centroid and thus, the position error. To finalize the simulated manufactured blade, an additional twist error was also added to the airfoil sections. Using the procedure described above, a simulated manufactured blade surface was created for which the airfoil sections and their deviations from the CAD model are all known so that they can be used as references. The simulated blade surface was then randomly sampled to generate an ideal point cloud (without noise) of the blade surface. The generated point cloud had 99,316 points. Scanned point cloud data contain measurement uncertainty. Therefore, the synthetic point clouds should also incorporate the measurement uncertainty. Gaussian deviates corresponding to different levels of known standard deviations were superimposed onto the aforementioned ideal point cloud. It has been reported that in well-controlled environment, 3D laser scanners can collect point clouds with about 50 µm uncertainty [16]. However, in less-controlled situations, the measurement uncertainty may be larger. In this work, the random Gaussian deviates were superimposed such that noisy point clouds with standard uncertainty from 25 µm up to 400 µm were simulated. The synthesized blade point clouds are shown in Figure 6.3. 121 (a) (b) (c) (d) (e) (f) Figure 6.3 Synthetic blade point clouds with different noise levels: (a) σ = 0.025; (b) σ = 0.050; (c) σ = 0.100; (d) σ = 0.200; (e) σ = 0.300; and (f) σ = 0.400 mm.122 6.3.1 Projection Methods for Comparison Table 6.1 lists the methods to be tested and compared in this chapter. Table 6.1 List of projection methods for comparison. Method Description PerProj CurProjK CurProjTC Proposed Perpendicular projection of n nearest points to the sectional plane (n being the same number of automatically selected points in the proposed method) Curvilinear projection of n nearest points to the sectional plane along the quadric surface fitted over the k-nearest point neighborhood (k ≥ 20) Curvilinear projection of n nearest points to the sectional plane along the quadric surface fitted over the TC point neighborhood Curvilinear projection of automatically selected points along the quadric surface fitted over the TC point neighborhood For all of the projection methods to be compared, each has a way to answer the two aforementioned questions: (1) which points to project; and (2) how to project each point. As mentioned earlier, the existing methods for extracting the sectional data points from a 3D point cloud use a distance sequence of points to select the points to be projected. Typically, the n nearest points to the sectional plane are projected. This is based on the assumption that distance is the only measure to decide whether a point should be projected or not. Therefore, in the existing methods, the number of nearest points to be projected, n, needs to be defined by the user. In the present work, the proposed method automatically selects the points to be projected 123 based on the locality condition associated with the TC neighborhood of each point. Hence, the performance of the automatically selected n points should be tested and validated against the n nearest points. Also, the proposed method to project each selected data point should be evaluated and confirmed as a better alternative than the existing methods. For this purpose, the same data points are to be projected and compared. The n nearest points were thus projected using the existing and the proposed methods. The most commonly used method to project a selected data point is to project the point perpendicular to the sectional plane (the PerProj method in Table 1). The points that are projected are the n nearest points to the sectional plane where n is chosen as the same number of points automatically selected by the proposed method. The CurProjK method utilizes curvilinear surface projection to project each selected data point with the local quadric surface fitted over a distance-based point neighborhood, the k-nearest neighbors with k ≥ 20 as suggested by Shin et al. [54]. The CurProjTC method is essentially the same as the CurProjK method except that the local quadric surface is fitted over the TC point neighborhood. The proposed method further improves on the CurProjTC method through automatic selection of the data points to project.6.3.2 Case Studies A series of case studies have been carried out to evaluate and compare the quality of the projected sectional data points from each method as well as the quality of the resulting reconstructed airfoil profiles. Sectional contours were extracted for three sectional planes at Z = 124 50 mm, Z = 75 mm, and Z = 100 mm. The true airfoil profiles of the simulated manufactured blade are known for the three sections. Table 6.2 shows the quality of the projected data points on the Z = 75 mm (middle) sectional plane from the four methods with increased noise level. It should be noted that the number of points n in this table was determined by the proposed method. For added insight, the percentage of overlap between the n automatically selected points from the proposed method and the n nearest points is also shown. It can be seen from Table 6.2 that the proposed curvilinear surface projection method based on the TC point neighborhood (both CurProjTC and proposed) gives qualitatively better (less scattered) projected points. As expected, the quality of projected points deteriorates with increased level of noise for every method. However, it is clear from the scatter of the projected points that both the CurProjTC and proposed methods are much more robust to noise than the other two existing methods. Although the CurProjK method appears to give better sectional data points than the PerProj method for lower levels of noise, the CurProjK method can be worse than the PerProj method when the noise level is relatively high. The main reason is the use of the distance-based neighborhood in the CurProjK method. This further confirms the need of a well-balanced point neighborhood for least squares local surface fitting. 125 Table 6.2 Comparison of projected results of different methods with increased noise level. Noise Level (mm) Number of points (n) Overlap % PerProj CurProjK CurProjTC Proposed 0.025 1,215 83.2% 0.050 1,240 84.5% 0.100 1,267 86.1% 0.200 1,347 85.4% 0.300 1,418 87.1% 0.400 1,541 87.0% 126 Figure 6.4 plots and compares the average deviation of the projected sectional data points from the ideal airfoil profile for the sectional planes at Z = 50 mm, Z = 75 mm, and Z = 100 mm. The developed methods of this work (both the CurProjTC and proposed methods) consistently give less deviated projected points and are more robust to noise. Figure 6.5 plots and compares the maximum deviation of the projected points from the ideal airfoil profile for the same sectional planes. The proposed method is seen to have less deviated points as well. Further, it can be seen in both Figures 6.4 and 6.5 that the unique feature of automatic selection of points to project in the proposed method leads to incremental reduction of both the average and maximum deviations, compared against the CurProjTC method. Figure 6.4 Average deviation of projected points from the ideal airfoil profile. 127 Figure 6.5 Maximum deviation of projected points from the ideal airfoil profile. The final target of extracting discrete sectional data points is to reconstruct the airfoil profile, since a reliable smooth profile is essential for the error evaluation of this thesis. Therefore, the effect of quality of projected data points on the quality of reconstructed profile should be examined. For this purpose, airfoil profile was reconstructed through the proposed method of Chapter 3 for the acquired projected data points of the four methods for each of the sectional planes at Z = 50 mm, Z = 75 mm, and Z = 100 mm. For each specified level of measurement uncertainty, 10 sets of synthetic point clouds were tested and an airfoil profile was reconstructed at each specified sectional plane for each point cloud. Figure 6.6 shows the average deviation of the reconstructed profiles from the ideal profilefor each specified sectional plane. As shown in the figure, both the CurProjTC and proposed 128 methods developed in this work generate higher quality projected points, which results in more accurate reconstructed airfoil profiles. Again, aside from the unique feature of automatic selection of points to be projected, the advantage of the proposed method is more pronounced when the noise level is higher.Figure 6.6 Average error of the reconstructed airfoil profile with respect to the ideal profile. As the airfoil profiles of different accuracies are reconstructed from the different four methods, it is advisable to investigate the accuracy of computed tolerance evaluation features (the centroid location and orientation of the airfoil profile) based on the reconstructed profiles. For this purpose, the tolerance specification and evaluation example in case studies of Chapter 4 was used again. The extracted sectional data points of each projection method were used for error evaluation with decomposition via profile reconstruction (as proposed in Chapter 4). 129 Table 6.3 lists the average errors of the two tolerance evaluation features from their true values for noise levels of 25 and 50 microns. The average error of the reconstructed airfoil profile is also reported. Table 6.3 Comparison of average errors in the computed tolerance evaluation features. Noise Level (mm) Method Average error of calculated centroid (mm) Average error of calculated orientation (deg.) Average error of reconstructed profile (mm) 0.025 PerProj 0.0003 0.0004 0.0062 CurProjK 0.0002 0.0003 0.0042 CurProjTC 0.0001 0.0001 0.0015 Proposed 0.0001 0.0001 0.0014 0.050 PerProj 0.0008 0.0013 0.0192 CurProjK 0.0007 0.0011 0.0179 CurProjTC 0.0002 0.0002 0.0033 Proposed 0.0001 0.0002 0.0031 As Table 6.3 shows, the calculated centroid location and orientation angle using the sectional airfoil contours extracted by the CurProjTC and the proposed methods developed in this work are much more reliable than those generated by the other two existing methods. It should be noted here that there is in fact no significant difference in the calculated results between the CurProjTC and the proposed methods developed in this work. The proposed method sometimes offers incrementally better results than the CurProjTC method but not by much. The superiority 130 of the proposed method over the CurProjTC method lies in the unique feature that the data points to be projected are automatically selected for the proposed method while the CurProjTC method requires user input on the number of nearest points to be projected. 6.4 Summary An automated method for extracting sectional contours from 3D scanned point cloud was presented in this chapter. The basic principle of the proposed method is that a local quadric fitted over the balanced local neighborhood of a data point can be effectively used for curvilinear projection of that point onto the section plane. The local neighborhood also defines the domain of influence of the so-called local projection, thus, can set the criterion to decide which points to be projected. The implementation results from the simulated point cloud data sets of the airfoil portion of the blade have demonstrated the effectiveness of the proposed method in extracting reliable sectional contours. The proposed method is shown to be more robust to noise than the existing methods and deemed a reliable method to extract sectional contours for the geometric error evaluation of airfoil sections under the typical level of measurement uncertainty in well-controlled measurement situations using 3D laser scanning. 131 Chapter 7: Conclusions and Future Research Directions 7.1 Conclusions As one of the most sophisticated parts to be inspected, the manufactured blades in aerospace industry must often meet rigorous tolerance specifications imposed upon their design. The extremely tight tolerances of the blade are specified in sections. Precision measurement must be performed to acquire sectional inspection data points. Subsequently, accurate and robust geometry processing software is required for geometric error evaluation based on measurement data. Several previous studies have addressed evaluation of two-dimensional tolerances of airfoil blades; however, research in evaluation of three-dimensional tolerances, in particular, position and orientation errors of airfoil sections is rare. Moreover, existing error evaluation method shows limited effectiveness in detecting position error of airfoil sections, as a result of combining the position and orientation errors in the corresponding best-matching procedure. In order to avoid the above uncertainty in calculation of errors, the error evaluation procedure of airfoil sections should strictly follow the position and orientation tolerance definitions. This leads to a need for accurate feature extraction from sectional data points, namely the calculation of airfoil centroid location. Identifying the centroid location directly from discrete data points is subject to an error caused by biased area calculations on the pressure and suction sides of an airfoil. 132 This thesis investigates the reconstruction of a valid airfoil profile from the inspection data points for each airfoil section to overcome the area bias problem and to maintain consistency in identifying the centroid, which leads to an accurate decomposition-based evaluation of position and orientation errors. In particular, a measurement uncertainty-based closed curve approximation method based on B-spline curve is proposed and verified through numerical experiments. The effectiveness of the proposed method in evaluating the position and orientation errors of airfoil sections highly depends on the consistency of the reconstructed airfoil profiles from the inspection data points. The proposed method successfully reconstructs the airfoil profile under a reasonable range of uncertainty of inspection data points. A contact probe on a common CMM is able to collect data points with a measurement uncertainty well within this range. In comparison, data from a non-contact optical scanning probe is known to contain a higher level of measurement uncertainty. The increased overall uncertainty predictably affects the quality of the reconstructed profile, which in turn affects the evaluated position and orientation errors. Thus, the applicability of data points acquired by 3D laser scanning probe requires further processing to minimize their uncertainty. The main challenge in utilizing 3D scanned point clouds (the output of 3D laser scanning probe) is how to extract sectional data from the surface scan. Conventionally, perpendicular projection of nearby points to the section plane is used, which results in poor quality of sectional data, and is not appropriate for the precision inspection of airfoil blades. 133 This thesis investigates curvilinear projection of nearby points along the local quadric surface approximating the local geometry. The main challenge in the use of this approach is that distribution of points in a 3D scanned point cloud is non-uniform. Uneven distribution of points in a noisy point cloud results in a bias in fitting the local surface, when an existing approach is used for selecting the local neighborhood of points. Therefore, as a result of bias in the fitted surface, inaccurate surface projection results show up. This thesis devises an adaptive localized surface-fitting scheme, by establishing balanced neighborhood of points for local quadric surface fitting. Employing the proposed local neighborhood, this thesis presents a fully automatic and robust approach for extracting sectional data points from the scanned point clouds via adaptive curvilinear projection of points along the local quadric surface. Main contributions of this thesis are summarized as follows: 1. A novel progressive scheme of approximation-based closed B-spline curve fitting has been developed that explicitly addresses the measurement uncertainty of data points, and generates a continuous mathematical expression for the complete airfoil profile at each blade section from discrete sectional data points. The developed fully automatic profile reconstruction has been validated through synthesized inspection data points for which the true reference profile is known. 134 2. Based on the developed measurement uncertainty-based airfoil profile reconstruction method, a decomposition of position and orientation errors of airfoil sections has been proposed, targeting the consistency of the evaluation process with the specifications. The proposed decomposition has resolved the combining issue in the coupled best matching of the existing approach. From the extraction of tolerance features using discrete data points, it has been observed that the profile reconstruction step is essential for accurate and consistent feature extraction in the proposed decomposition approach. The developed approach has been validated using synthetic inspection data points from simulated manufactured profile with known manufacturing errors as the reference. The proposed error evaluation scheme based on profile reconstruction has been compared to the existing method and decomposition with discrete points, and is deemed to be the most reliable alternative for evaluation of position and orientation errors of airfoil sections from discrete inspection data points. A general guidance has been provided on the required accuracy of sectional data points for reliable error estimation through the proposed method. 3. The Territory Claiming (TC) algorithm has been proposed to prevent the redundancy, thereby providing a balanced local neighborhood of points from the non-uniformly distributed scanned point cloud. Then, in order to expand the neighborhood to have sufficient number of points for local quadric surface fitting, a balanced neighborhood ring expansion procedure has been developed so that the overall neighborhood of points remains balanced. The superior results of the proposed neighborhood selection approach have been demonstrated in comparison with various existing methods. The developed 135 balanced neighborhood can equally benefit other point cloud processing tasks in which fitting a local quadric surface is involved (e.g., estimation of differential geometric properties like local curvatures and normal vector). 4. A fully automatic method has been developed to generate reliable section-specific coordinate data from the complete surface scan. The developed method utilizes curvilinear projection along the fitted local quadric surface over the proposed Territory Claiming neighborhood. A criterion has been adopted from the local domain of influence of the fitted quadric to automatically decide on which points to be projected. The developed algorithm has been validated using synthesized blade point cloud data with known reference sectional contours. Comparison of the developed method with the existing methods demonstrates the superiority of the proposed approach in extracting accurate sectional contours and robustness to noise. Besides the significant application in airfoil blade inspection, this development can equally benefit the integration of 3D scanning and 3D printing as a fully automatic method of generating sectional layers for direct additive manufacturing of 3D scanned objects. This thesis enables accurate evaluation of geometric errors at specific sections of the manufactured blades not only using the data sets of more accurate contact-probe measurements, but also using massive, unorganized 3D scanned point clouds of high-speed noncontact-probes. 136 7.2 Future Research Directions The following is a list of interesting future research topics to pursue: 1. Measurement uncertainty quantification: Measurement uncertainty is assumed given in this work, and its quantification is considered out of the scope of this thesis. The research on characterizing the measurement uncertainty of CMM contact-probe measurements has received much attention. However, the number of papers in literature on uncertainty estimation for 3D scanned point clouds is not many. Hence, a comprehensive study on the uncertainty of scanned point cloud data can benefit the proposed framework of this thesis. 2. Dimensional analysis: This thesis tried to test a realistic airfoil dimension and typical uncertainty level to figure out a relation between the accuracy of estimation and the accuracy of section-specific data points. The ultimate goal was not sensitivity analysis of error estimation. Rather, the objective was to explore how important it is to extract good quality sectional data points in a typical situation. On the other hand, the degree of dependency of errors on the profile deviation, also the deviation of the reconstructed profile with respect to the uncertainty of inspection data points all depend on the relative dimension of the airfoil, which suggests that a dimensional analysis can further expand the understanding of this relationship. 3. Computational efficiency improvement: Although being adaptive and effective, the proposed surface projection in Chapter 6 is relatively computationally expensive, 137 especially for the computation of the proposed balanced local neighborhood. It is desirable to investigate optimization approaches to enhance its efficiency. 4. MRO blades: This thesis enabled a fully automatic approach for extracting section-specific airfoil profiles from 3D scanned point clouds for newly manufactured blades. In the proposed framework, the unordered (not in sequence) projected data points take advantage of the existing CAD model for getting ordered and parameterized. However, considering that MRO blades (service blades) tend to significantly deviate from the CAD model, using the CAD profiles for ordering the points is not advisable. It should be noted that the aforementioned existing methods of curve fitting over unordered set of points in literature are not fully automatic. They all require user inputs. Therefore, devising a fully automatic approach trying to address that issue remains a topic of research. The ultimate goal is to increase the fundamental confidence in precision inspection of airfoil blades by means of valid numerical computing algorithms that aim to accurately extract the geometric information from inspection data points. 138 References [1] Khameneifar F, Feng H-Y. Airfoil profile reconstruction under the uncertainty of inspection data points. International Journal of Advanced Manufacturing Technology 2014;71:675–83. [2] Khameneifar F, Feng H-Y. A new methodology for evaluating position and orientation errors of airfoil sections. International Journal of Advanced Manufacturing Technology (in press); DOI: 10.1007/s00170-015-7641-x. [3] Khameneifar F, Feng H-Y. Establishing a balanced neighborhood of discrete points for local quadric surface fitting. (under review). [4] Makem JE, Ou H, Armstrong CG. A virtual inspection framework for precision manufacturing of aerofoil components. Computer-Aided Design 2012;44:858–74. [5] Wang M-H, Sun Y. Error prediction and compensation based on interference-free tool paths in blade milling. International Journal of Advanced Manufacturing Technology 2014;71:1309–18. [6] Cardew-Hall M, Cosmas J, Ristic M. Automated proof inspection of turbine blades. International Journal of Advanced Manufacturing Technology 1988;3:67–88. [7] Heo EY, Kim DW, Lee JY, Kim KY. Computer-aided measurement plan for an impeller on a coordinate measurement machine with a rotating and tilting probe. Robotics and Computer-Integrated Manufacturing 2008;24:788–95. 139 [8] Xiaojun L, Shang J, Xiangzhu L, Kuo Y. The CMM measurement path planning for blade surface based on the contour measurement. In: Proceedings of the 2nd International Conference on Digital Manufacturing and Automation, 2011, p. 1228–32. [9] Chang H-C, Lin AC. Five-axis automated measurement by coordinate measuring machine. International Journal of Advanced Manufacturing Technology 2011;55:657–73. [10] Bi ZM, Wang L. Advances in 3D data acquisition and processing for industrial applications. Robotics and Computer-Integrated Manufacturing 2010;26:403–13. [11] Lin AC, Chang H-C. Automatic 3D measuring system for optical scanning of axial fan blades. International Journal of Advanced Manufacturing Technology 2011;57:701–17. [12] Jinkerson R, Abrams S, Bardis L, Chryssostomidis C, Clément A, Patrikalakis N, et al. Inspection and feature extraction of marine propellers. Journal of Ship Production 1993;9:88–106. [13] Pahk HJ, Ahn WJ. Precision inspection system for aircraft parts having very thin features based on CAD/CAI integration. International Journal of Advanced Manufacturing Technology 1996;3:442–9. [14] Hsu TH, Lai JY, Ueng W. On the development of airfoil section inspection and analysis technique. International Journal of Advanced Manufacturing Technology 2006;30:129–40. 140 [15] Besl PJ, Mckay ND. A method for registration of 3-D shapes. IEEE Transactions on Pattern Analysis and Machine Intelligence 1992;14:239–56. [16] Ross J, Harding K, Hogarth E. Challenges faced in applying 3D non-contact metrology to turbine engine blade inspection. In: Proceedings of SPIE, vol. 8133, 2011, p. 1–9. [17] Zhao F, Xu X, Xie S. STEP-NC enabled on-line inspection in support of closed-loop machining. Robotics and Computer-Integrated Manufacturing 2008;24:200–16. [18] Li L, Schemenauer N, Peng X, Zeng Y, Gu P. A reverse engineering system for rapid manufacturing of complex objects. Robotics and Computer-Integrated Manufacturing 2002;18:53–67. [19] Sansoni G, Docchio F. Three-dimensional optical measurements and reverse engineering for automotive applications. Robotics and Computer-Integrated Manufacturing 2004;20:359–67. [20] Anwar MY, Ikramullah S, Mazhar F. Reverse engineering in modeling of aircraft propeller blade - First step to product optimization. IIUM Engineering Journal 2014;15:43–57. [21] Wu YF, Wong YS, Loh HT, Zhang YF. Modelling cloud data using an adaptive slicing approach. Computer-Aided Design 2004;36:231–40. [22] Li W, Xie H, Li Q, Zhou L, Yin Z. Section curve reconstruction and mean-camber curve extraction of a point-sampled blade surface. PLOS ONE 2014;9:1–30. 141 [23] Wang W. Modelling and processing with quadric surfaces. In: Handbook of Computer Aided Geometric Design, Elsevier; 2002, p. 777–95. [24] Yan D-M, Wang W, Liu Y, Yang Z. Variational mesh segmentation via quadric surface fitting. Computer-Aided Design 2012;44:1072–82. [25] Yang X, Zheng J. Curvature tensor computation by piecewise surface interpolation. Computer-Aided Design 2013;45:1639–50. [26] Farin G. Curves and surfaces for computer aided geometric design—a practical guide. New York: Academic; 1992. [27] Hoschek J, Lasser D. Fundamentals of computer-aided geometric design. London: Taylor & Francis; 1993. [28] Piegl L, Tiller W. The NURBS book. New York: Springer; 1997. [29] Park H. An error-bounded approximate method for representing planar curves in B-splines. Computer Aided Geometric Design 2004;21:479–97. [30] Pottmann H, Leopoldseder S, Hofer M. Approximation with active B-spline curves and surfaces. In: Proceedings of the 10th Pacific Conference on Computer Graphics and Applications., 2002, p. 1–18. [31] Yang H, Wang W, Sun J. Control point adjustment for B-spline curve approximation. Computer-Aided Design 2004;36:639–52. 142 [32] Wang W, Pottmann H, Liu Y. Fitting B-spline curves to point clouds by curvature-based squared distance minimization. ACM Transactions on Graphics 2006;25:214–38. [33] Liu Y, Pottmann H, Wang W. Constrained 3D shape reconstruction using a combination of surface fitting and registration. Computer-Aided Design 2006;38:572–83. [34] De Boor C. A practical guide to splines. Berlin: Springer; 1978. [35] Hartley PJ, Judd CJ. Parametrization and shape of B-spline curves for CAD. Computer-Aided Design 1980;12:235–8. [36] Hoschek J. Intrinsic parametrization for approximation. Computer Aided Geometric Design 1988;5:27–31. [37] Cohen E, O’dell C. A data dependent parameterization for spline approximation. In: Mathematical Methods in Computer Aided Geometric Design, San Diego: Academic Press; 1989, p. 155–66. [38] Ma W, Kruth J. Parameterization of randomly measured points for least squares fitting of B-spline curves and surfaces. Computer-Aided Design 1995;27:663–75. [39] Piegl LA, Tiller W. Least-squares B-spline curve approximation with arbitrary end derivatives. Engineering with Computers 2000;16:109–16. [40] Linsen L. Point cloud representation. Technical Report, Faculty of Computer Science, University of Karlsruhe, 2001. 143 [41] Floater MS, Reimers M. Meshless parameterization and surface reconstruction. Computer Aided Geometric Design 2001;18:77–92. [42] Jaromczyk JW, Toussaint GT. Relative neighborhood graphs and their relatives. In: Proceedings of the IEEE 1992;80:1502–17. [43] Kirkpatrick D, Radke J. A framework for computational morphology. In: Computational Geometry, New York: Elsevier/North Holland; 1985, p. 217–48. [44] Park JC, Shin H, Choi BK. Elliptic Gabriel graph for finding neighbors in a point set and its application to normal vector estimation. Computer-Aided Design 2006;38:619–26. [45] Lee C, Kim D, Shin H, Kim D-S. Trash removal algorithm for fast construction of the elliptic Gabriel graph using Delaunay triangulation. Computer-Aided Design 2008;40:852–62. [46] Dolenc A, Mäkelä I. Slicing procedures for layered manufacturing techniques. Computer-Aided Design 1994;26:119–26. [47] Yan X, Gu P. A review of rapid prototyping technologies and systems. Computer-Aided Design 1996;28:307–18. [48] Pandey PM, Reddy NV, Dhande SG. Slicing procedures in layered manufacturing: a review. Rapid Prototyping Journal 2003;9:274–88. 144 [49] Chen YH, Ng CT. Integrated reverse engineering and rapid prototyping. Computers & Industrial Engineering 1997;33:481–4. [50] Tam JMY, Yu KM, Sun RL. Integrated computer-aided verification of turbine blade. Computer-Aided Design and Applications 2015;12:589–600. [51] Zhang Z, Joshi S. An improved slicing algorithm with efficient contour construction using STL files. International Journal of Advanced Manufacturing Technology 2015;80:1347–62. [52] Javidrad F, Pourmoayed AR. Contour curve reconstruction from cloud data for rapid prototyping. Robotics and Computer-Integrated Manufacturing 2011;27:397–404. [53] Zhong S, Yang Y, Huang Y. Data slicing processing method for RE/RP system based on spatial point cloud data. Computer-Aided Design and Applications 2014;11:20–31. [54] Shin H, Park S, Park E. Direct slicing of a point set model for rapid prototyping. Computer-Aided Design and Applications 2004;1:109–15. [55] Yang P, Qian X. Adaptive slicing of moving least squares surfaces: toward direct manufacturing of point set surfaces. Journal of Computing and Information Science in Engineering 2008;8:031003. [56] Qiu Y, Zhou X, Qian X. Direct slicing of cloud data with guaranteed topology for rapid prototyping. International Journal of Advanced Manufacturing Technology 2011;53:255–65. 145 [57] Li W-L, Zhou L-P, Yan S-J. A case study of blade inspection based on optical scanning method. International Journal of Production Research 2014;53:2165–78. [58] Joint Committee for Guides in Metrology, “Evaluation of measurement data – Guide to the expression of uncertainty in measurement,” 2008. [Online]. Available: http://www.bipm.org/en/publications/guides/gum.html. [Accessed 8 December 2015] [59] Weckenmann A, Knauer M, Killmaier T. Uncertainty of coordinate measurements on sheet-metal parts in the automotive industry. Journal of Materials Processing Technology 2001;115:9–13. [60] Koini GN, Sarakinos SS, Nikolos IK. A software tool for parametric design of turbomachinery blades. Advances in Engineering Software 2009;40:41–51. [61] Press W, Teukolsky S, Vetterling W, Flannery B. Numerical recipes in C: The art of scientific computing. New York: Cambridge University Press; 1992. [62] Lee S, Kim K. Design optimization of axial flow compressor blades with three-dimensional Navier-Stokes solver. KSME International Journal 2000;14:1005–12. [63] Abott I, von Doenhoff A. Theory of wing sections: including a summary of airfoil data. New York: Dover Publications; 1959. [64] Davis P, Rabinowitz P. Methods of numerical integration. 2nd ed. New York: Academic Press; 1984. 146 [65] Li Y, Gu P. Free-form surface inspection techniques state of the art review. Computer-Aided Design 2004;36:1395–417. [66] Zhu L, Barhak J, Srivatsan V, Katz R. Efficient registration for precision inspection of free-form surfaces. International Journal of Advanced Manufacturing Technology 2007;32:505–15. [67] OuYang D, Feng H-Y, A. Jahangir N, Song H. Robust initial matching of free-form objects represented by point clouds. Journal of Manufacturing Science and Engineering 2012;134:021008. [68] Rao S. Engineering optimization: theory and practice. New Jersey: Wiley; 2009. [69] Savio E, De Chiffre L. An artefact for traceable freeform measurements on coordinate measuring machines. Precision Engineering 2002;26:58–68. [70] Gameros A, De Chiffre L, Siller HR, Hiller J, Genta G. A reverse engineering methodology for nickel alloy turbine blades with internal features. CIRP Journal of Manufacturing Science and Technology 2015;9:116–24. [71] Krishnamurthy V, Levoy M. Fitting smooth surfaces to dense polygon meshes. In: Proceedings of the 23rd Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH ’96), 1996, p. 313–24. [72] Do Carmo MP. Differential geometry of curves and surfaces. New Jersey: Prentice-Hall, Inc.; 1976. 147 [73] Amenta N, Bern M, Eppstein D. The crust and the β-skeleton: combinatorial curve reconstruction. Graphical Models and Image Processing 1998;60:125–35. [74] Douros I, Buxton B. Three-dimensional surface curvature estimation using quadric surface patches. In: Proceedings of Scanning, 2002, p. 1–14. [75] Taubin G. Estimation of planar curves, surfaces, and nonplanar space curves defined by implicit equations with applications to edge and range image segmentation. IEEE Transactions on Pattern Analysis and Machine Intelligence 1991;13:1115–38. [76] Chernov N, Ma H. Least squares fitting of quadratic curves and surfaces. In: Computer Vision, 2011. [77] Andrews J, Séquin CH. Type-constrained direct fitting of quadric surfaces. Computer-Aided Design and Applications 2013;10:1–15. [78] Amenta N, Bern M, Kamvysselis M. A new Voronoi-based surface reconstruction algorithm. In: Proceedings of the 25th Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH ’98), 1998, p. 415–21. [79] Amenta N, Choi S, Kolluri RK. The power crust. In: Proceedings of the 6th ACM Symposium on Solid Modeling and Applications, 2001, p. 249–66. [80] Bernardini F, Mittleman J, Rushmeier H, Silva C, Taubin G. The ball-pivoting algorithm for surface reconstruction. IEEE Transactions on Visualization and Computer Graphics 1999;5:349–59. 148 [81] Arya S, Mount DM, Netanyahu NS, Silverman R, Wu AY. An optimal algorithm for approximate nearest neighbor searching fixed dimensions. Journal of the ACM 1998;45:891–923. [82] Flynn PJ, Jain AK. Surface classification: hypothesis testing and parameter estimation. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition 1988:261–7. [83] Ke Y, Fan S, Zhu W, Li A, Liu F, Shi X. Feature-based reverse modeling strategies. Computer-Aided Design 2006;38:485–506. [84] Klasing K, Althoff D, Wollherr D, Buss M. Comparison of surface normal estimation methods for range sensing applications. In: Proceedings of the 2009 IEEE International Conference on Robotics and Automation 2009:3206–11. [85] Fan H, Yu Y, Peng Q. Robust feature-preserving mesh denoising based on consistent subneighborhoods. IEEE Transactions on Visualization and Computer Graphics 2010;16:312–24. [86] Gao J, Chen X, Yilmaz O, Gindy N. An integrated adaptive repair solution for complex aerospace components through geometry reconstruction. International Journal of Advanced Manufacturing Technology 2008;36:1170–9. [87] Yilmaz O, Gindy N, Gao J. A repair and overhaul methodology for aeroengine components. Robotics and Computer-Integrated Manufacturing 2010;26:190–201. 149 [88] Wilson JM, Piya C, Shin YC, Zhao F, Ramani K. Remanufacturing of turbine blades by laser direct deposition with its energy and environmental impact analysis. Journal of Cleaner Production 2014;80:170–8. [89] Denkena B, Boess V, Nespor D, Floeter F, Rust F. Engine blade regeneration: a literature review on common technologies in terms of machining. International Journal of Advanced Manufacturing Technology 2015;81:917–24. [90] Wang J, Yu Z, Zhang W, Wei M, Tan C, Dai N, et al. Robust reconstruction of 2D curves from scattered noisy point data. Computer-Aided Design 2014;50:27–40.
- Library Home /
- Search Collections /
- Open Collections /
- Browse Collections /
- UBC Theses and Dissertations /
- Section-specific geometric error evaluation of airfoil...
Open Collections
UBC Theses and Dissertations
Featured Collection
UBC Theses and Dissertations
Section-specific geometric error evaluation of airfoil blades based on digitized surface data Khameneifar, Farbod 2015
pdf
Page Metadata
Item Metadata
Title | Section-specific geometric error evaluation of airfoil blades based on digitized surface data |
Creator |
Khameneifar, Farbod |
Publisher | University of British Columbia |
Date Issued | 2015 |
Description | Manufactured aero-engine blades are normally inspected in sections. Given discrete section-specific data points, the related geometric error evaluation task for three-dimensional tolerances of the blades is challenging and not yet well studied by researchers. Particularly, the existing method shows limited effectiveness in detecting position error and difficulty in accurate estimation of orientation error of airfoil sections. Moreover, touch-probes on a coordinate measuring machine are traditionally used to collect sectional coordinate data, which is a lengthy process as the data is collected through probe contact with the blade surface. Blade manufacturers would rather use 3D laser scanning that can complete data acquisition much faster. However, this poses a new challenge to data analysis. The collected set of points, referred to as point cloud, is all over the surface rather than at the desired, pre-specified sections. Thus, generating reliable section-specific data from the massive, unorganized scanned data points remains a problem to be solved. This thesis first presents a new methodology for evaluating three-dimensional tolerances of airfoil sections based on reconstructing the airfoil profiles from section-specific data points. According to a given measurement uncertainty, a progressive curve fitting scheme is proposed to generate the airfoil profile that meets the uncertainty constraint. Subsequently, the profile is utilized in related feature extraction of the proposed error evaluation approach. The second part of the thesis focuses on generating the reliable section-specific data points from the complete surface scan. An adaptive surface projection of data points onto the pre-specified section plane is proposed. A localized surface-fitting scheme is devised for this purpose. The main challenge lies in the selection of local data points, referred to as local neighborhood, for surface fitting. In particular, with the non-uniform distribution of data points in a noisy point cloud, existing neighborhood selection methods lead to biased fitting results. To avoid bias, a method of establishing balanced local neighborhood for surface fitting is proposed. An automated technique is also presented for systematic identification of eligible points for projection. The proposed computational framework in this thesis enables fully automatic and accurate evaluation of geometric errors using the latest high-speed geometric inspection platform. |
Genre |
Thesis/Dissertation |
Type |
Text |
Language | eng |
Date Available | 2015-12-17 |
Provider | Vancouver : University of British Columbia Library |
Rights | Attribution-NonCommercial-NoDerivs 2.5 Canada |
DOI | 10.14288/1.0221356 |
URI | http://hdl.handle.net/2429/55847 |
Degree |
Doctor of Philosophy - PhD |
Program |
Mechanical Engineering |
Affiliation |
Applied Science, Faculty of Mechanical Engineering, Department of |
Degree Grantor | University of British Columbia |
GraduationDate | 2016-02 |
Campus |
UBCV |
Scholarly Level | Graduate |
Rights URI | http://creativecommons.org/licenses/by-nc-nd/2.5/ca/ |
AggregatedSourceRepository | DSpace |
Download
- Media
- 24-ubc_2016_february_khameneifar_farbod.pdf [ 14.35MB ]
- Metadata
- JSON: 24-1.0221356.json
- JSON-LD: 24-1.0221356-ld.json
- RDF/XML (Pretty): 24-1.0221356-rdf.xml
- RDF/JSON: 24-1.0221356-rdf.json
- Turtle: 24-1.0221356-turtle.txt
- N-Triples: 24-1.0221356-rdf-ntriples.txt
- Original Record: 24-1.0221356-source.json
- Full Text
- 24-1.0221356-fulltext.txt
- Citation
- 24-1.0221356.ris
Full Text
Cite
Citation Scheme:
Usage Statistics
Share
Embed
Customize your widget with the following options, then copy and paste the code below into the HTML
of your page to embed this item in your website.
<div id="ubcOpenCollectionsWidgetDisplay">
<script id="ubcOpenCollectionsWidget"
src="{[{embed.src}]}"
data-item="{[{embed.item}]}"
data-collection="{[{embed.collection}]}"
data-metadata="{[{embed.showMetadata}]}"
data-width="{[{embed.width}]}"
async >
</script>
</div>
Our image viewer uses the IIIF 2.0 standard.
To load this item in other compatible viewers, use this url:
https://iiif.library.ubc.ca/presentation/dsp.24.1-0221356/manifest