690 likes | 1.23k Views
Reverse Engineering. Dr. G ábor Renner Geometric Modelling Laboratory, Computer and Automation Research Institute. Reverse Engineering.
E N D
Reverse Engineering Dr. Gábor Renner Geometric Modelling Laboratory, Computer and Automation Research Institute Reverse Engineering
Reverse Engineering • set data point CAD model measured data boundary representation (incomplete, noisy, outliers) (accurate and consistent) • intelligent 3D Scanner • interpret the structure of data points in order to create an appropriate computer representation allowing redesign of objects • applications • no original drawing or documentation • reengineering for constructing improved products • reconstruct wooden or clay models • incorporate, matching human surfaces, etc. Reverse Engineering
Classifying objects • conventional engineering objects • many faces; mostly simple geometry • f(x,y,z)=0, implicit surfaces: • plane, cylinder, cone, sphere, torus • sharp (or blended) edges • free - form shapes • small number of faces; complex geometry • r = r(u,v), piecewise parametric surfaces, • smooth internal subdividing curves • artistic objects • natural surfaces Reverse Engineering
Conventional engineering parts Reverse Engineering
Free-form objects Reverse Engineering
Artistic objects Reverse Engineering
Natural object Reverse Engineering
Natural objects Reverse Engineering
Natural objects Reverse Engineering
Basic Phases of RE • 1. data acquisition • 2. pre-processing • triangulation, • decimation • merging multiple views • 3. segmentation • 4. surface fitting • 5. CAD model creation Reverse Engineering
Triangulation Reverse Engineering
Triangulation Reverse Engineering
Decimation Reverse Engineering
Merging point clouds (registration) - 1 Reverse Engineering
Merging point clouds (registration) - 2 FIAT Reverse Engineering
Segmentation and surface fitting • SEGMENTATION: separate subsets of data points; each point region corresponds to the pre-image of a particular face of the object • “chicken and egg” problem • given the geometry, selecting point sets is easy • given the pointsets, fitting geometry is easy • to resolve this we need: • interactive help • iterative procedures • restricted object classes • segmentation and surface fitting are strongly coupled: hypothesis tests Reverse Engineering
Reconstructing conventional engineering objects - 1 • basic assumptions • relatively large primary surfaces • planes, cylinders, cones, spheres, tori • linear extrusions and surfaces of revolution • relatively small blends • “accurate” reconstruction”without” user assistance Reverse Engineering
Object and decimated mesh Reverse Engineering
Reconstructing conventional engineering objects - 2 • the basic structure can be determined • direct segmentation • decompose the point cloud into regions • a sequential approach using filters • find “stable” regions • discard “unstable” triangular strips, by detecting sharp edges and smooth edges • simple regions • composite, smooth regions Reverse Engineering
Reconstructing conventional engineering objects - 3 • sharp edges (and edges with small blends) • computed by surface-surface intersection • smooth edges • assure accuracy and tangential continuity • surface/surface intersections would fail in the almost tangential situations • explicitly created by constrained fitting of multiple geometric entities Reverse Engineering
Direct segmentation - 1 • basic principle • 1. based on a given environment compute an indicator for each point • 2. based on the current filter exclude unstable portions and split the region into smaller ones • 3. if simple region: done • 4. if linear extrusion or surface of revolution: create a 2D profile • 5. if smooth, composite region: compute the next indicator and go to 1 Reverse Engineering
Direct segmentation - 2 • planarityfilter: detect sharp edges and small blends • dimensionalityfilter: separate • planes • cylinders or cones, linear extrusions, composite conical-cylindrical regions • spheres or tori, surfaces of revolution, composite toroidal-spherical regions • directionfilter: separate • cylinders, linear extrusions, composite conical regions • apex filter: separate cones • axis filter: separate • spheres, tori, surfaces of revolution Reverse Engineering
Planarity filtering Remove data points around sharp edges Angular deviation Numerical curvatures Reverse Engineering
Dimensionality filtering using the Gaussian sphere Reverse Engineering
Dimensionality filtering - An example. Reverse Engineering
Dimensionality filtering • separate data points by their dimensionality • based on the number of points in two concentric spheres D0: planes D1: cylinders-cones-transl. surfs D2: tori-spheres-rot. surfs Reverse Engineering
Planarity and dimensionality filtering Reverse Engineering
Planarity and dimensionality filtering Reverse Engineering
Detect translational and rotational symmetries • translational direction • normal vectors ni of a translational surface are perpendicular to a common direction • minimise ni,d2 • rotational axis • normal lines of a rotational surface (li, pi) intersect a common axis • i - angle between the normal line liand the plane containing the axis and the point pi • various measures, in general: a non-linear system Reverse Engineering
Computing best fit rotational axis Reverse Engineering
Conical - cylindrical region direction estimation detects cylinders and composite linear extrusions, rest: composite conical region Reverse Engineering
Conical composite region fit a least squares point to the tangent planes to compute the apex Reverse Engineering
Toroidal - spherical region estimate a local axis of revolution if largest eigenvalue (almost) zero -> sphere otherwise torus or surface of revolution Reverse Engineering
Apex and axis filtering Reverse Engineering
Surface fitting • given a point set and a hypothesis - find the best least squares surface • simple analytic surfaces - f(s,p) = 0 • s: parameter vector, p: 3D point • minimise Euclidean distances - true geometric fitting • algebraic fitting - minimise f(s,pi )2 • approximate geometric fit - f / | f ’| • ‘faithful’ geometric distances (Pratt 1987, Lukács et al., 1998): unit derivative on the surface • sequential least squares • based on normal vector estimations • series of linear steps • reasonably accurate, computationally efficient Reverse Engineering
Constrained fitting • needed for various engineering purposes • fitting smooth profile curves for linear extrusions and surfaces of revolution • refitting elements of smooth composite regions for B-rep model building • good initial surface parameters from segmentation • set of constraints • edge curves - explicitly computed • beautify the model • resolve topological inconsistencies • rounded values, perpendicular faces, concentric axis Reverse Engineering
Constrained fitting Reverse Engineering
Constrained profiles Translational profile Rotational profile Reverse Engineering
Constrained fitting problem • primary surfaces: s S • parameter set:a • point sets: p Ps • individual weight: s • k constraint equations: {ci} • finda, which minimizes f while c=0 c(a) = 0 Constraints: tangency, perpendicularity, concentricity, symmetry, etc.. Reverse Engineering
Constrained fitting techniques • standard solution: Lagrangian multipliers, n+k equations, multidimensional Newton-Raphson • problem: constraints contradict or not independent • preferred solution: sequential constraint satisfaction constraints sorted by priority • c(a) = 0 and f(a) = min. is solved simultaneously by iteration Reverse Engineering
Constrained fitting - 2 • linear approximation for c, quadratic for f • in matrix form • where Reverse Engineering
Efficient representation • signed distance function • the function to be minimized • middle term needs to be computed only once Reverse Engineering
Fitting a circle - an example • center o, radius r, point p • Euclidean distance function: |p - o| - r • faithful approximation: • terms are now separated • alternative parameters with a constraint: Reverse Engineering
Equations for constrained fitting of circles • circles (lines) - in Pratt’s form (1987) • tangency constraints Reverse Engineering
Using auxiliary objects 1a 1b 2a 2b Reverse Engineering
Simple part reconstruction Reverse Engineering
Final CAD (B-rep) model without blends with blends Reverse Engineering
Reconstruction of free-form shapes P3 P4 S2 P5 P2 P7 ST(S1,S2) P1 P6 P8 S1 Functional decomposition: primary surfaces + features Ignore area P0 P10 Reverse Engineering
Reconstruction of free-form shapes Surface structure Reverse Engineering
Reconstruction of free-form shapes Curvature plot Reverse Engineering