# reverse engineering

Post on 16-Jan-2016

59 views

Embed Size (px)

DESCRIPTION

Reverse Engineering. Dr. G bor Renner Geometric Modelling Laboratory, Computer and Automation Research Institute. Reverse Engineering. - PowerPoint PPT PresentationTRANSCRIPT

Reverse EngineeringDr. Gbor RennerGeometric Modelling Laboratory,Computer and Automation Research Institute

Reverse Engineering

Reverse Engineeringset 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 applicationsno original drawing or documentationreengineering for constructing improved productsreconstruct wooden or clay modelsincorporate, matching human surfaces, etc.

Reverse Engineering

Classifying objectsconventional engineering objectsmany faces; mostly simple geometryf(x,y,z)=0, implicit surfaces:plane, cylinder, cone, sphere, torus sharp (or blended) edgesfree - form shapessmall number of faces; complex geometryr = r(u,v), piecewise parametric surfaces, smooth internal subdividing curvesartistic 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 RE1. data acquisition2. pre-processingtriangulation, decimationmerging multiple views3. segmentation4. surface fitting5. 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) - 2FIAT

Reverse Engineering

SEGMENTATION: separate subsets of data points; each point region corresponds to the pre-image of a particular face of the objectchicken and egg problemgiven the geometry, selecting point sets is easygiven the pointsets, fitting geometry is easyto resolve this we need:interactive helpiterative proceduresrestricted object classessegmentation and surface fitting are strongly coupled: hypothesis tests

Segmentation and surface fitting

Reverse Engineering

Reconstructing conventional engineering objects - 1basic assumptionsrelatively large primary surfacesplanes, cylinders, cones, spheres, torilinear extrusions and surfaces of revolutionrelatively small blends

accurate reconstruction without user assistance

Reverse Engineering

Object and decimated mesh

Reverse Engineering

Reconstructing conventional engineering objects - 2the basic structure can be determined direct segmentation decompose the point cloud into regionsa sequential approach using filtersfind stable regionsdiscard unstable triangular strips, by detecting sharp edges and smooth edgessimple regionscomposite, smooth regions

Reverse Engineering

Reconstructing conventional engineering objects - 3sharp edges (and edges with small blends)computed by surface-surface intersectionsmooth edges assure accuracy and tangential continuity surface/surface intersections would fail in the almost tangential situationsexplicitly created by constrained fitting of multiple geometric entities

Reverse Engineering

Direct segmentation - 1basic principle1. 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 ones3. if simple region: done4. if linear extrusion or surface of revolution: create a 2D profile5. if smooth, composite region: compute the next indicator and go to 1

Reverse Engineering

Direct segmentation - 2planarity filter: detect sharp edges and small blendsdimensionality filter: separate planescylinders or cones, linear extrusions, composite conical-cylindrical regionsspheres or tori, surfaces of revolution, composite toroidal-spherical regionsdirection filter: separatecylinders, linear extrusions, composite conical regionsapex filter: separate conesaxis filter: separatespheres, tori, surfaces of revolution

Reverse Engineering

Planarity filteringAngular deviationNumerical curvaturesRemove data points aroundsharp edges

Reverse Engineering

Dimensionality filtering using the Gaussian sphere

Reverse Engineering

Dimensionality filtering - An example.

Reverse Engineering

Dimensionality filtering based on the number of points in two concentric spheres separate data points by their dimensionalityD0: planesD1: cylinders-cones-transl. surfsD2: tori-spheres-rot. surfs

Reverse Engineering

Planarity and dimensionality filtering

Reverse Engineering

Planarity and dimensionality filtering

Reverse Engineering

Detect translational and rotational symmetries translational directionnormal vectors ni of a translational surface are perpendicular to a common direction minimise ni,d2rotational axisnormal lines of a rotational surface (li, pi) intersect a common axisi - angle between the normal line li and the plane containing the axis and the point pivarious measures, in general: a non-linear system

Reverse Engineering

Computing best fit rotational axis

Reverse Engineering

Conical - cylindrical regiondirection estimation detects cylinders and composite linearextrusions, rest: composite conical region

Reverse Engineering

Conical composite regionfit a least squares pointto the tangent planes tocompute the apex

Reverse Engineering

Toroidal - spherical regionestimate a localaxis of revolution

if largest eigenvalue(almost) zero ->sphere

otherwise torus orsurface of revolution

Reverse Engineering

Apex and axis filtering

Reverse Engineering

Surface fittinggiven a point set and a hypothesis - find the best least squares surfacesimple analytic surfaces - f(s,p) = 0s: parameter vector, p: 3D pointminimise Euclidean distances - true geometric fittingalgebraic fitting - minimise f(s,pi )2 approximate geometric fit - f / | f | faithful geometric distances (Pratt 1987, Lukcs et al., 1998): unit derivative on the surfacesequential least squaresbased on normal vector estimationsseries of linear stepsreasonably accurate, computationally efficient

Reverse Engineering

Constrained fitting needed for various engineering purposes fitting smooth profile curves for linear extrusions and surfaces of revolutionrefitting elements of smooth composite regions for B-rep model buildinggood initial surface parameters from segmentationset of constraintsedge curves - explicitly computed beautify the modelresolve topological inconsistenciesrounded values, perpendicular faces, concentric axis

Reverse Engineering

Constrained fitting

Reverse Engineering

Constrained profilesTranslational profileRotational profile

Reverse Engineering

Constrained fitting problemprimary surfaces: s Sparameter set: apoint sets: p Psindividual weight: s

k constraint equations: {ci}find a, which minimizes f while c=0c(a) = 0Constraints: 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 independentpreferred solution: sequential constraint satisfaction constraints sorted by priorityc(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 examplecenter o, radius r, point pEuclidean distance function: |p - o| - rfaithful approximation:

terms are now separated

alternative parameters with a constraint:

Reverse Engineering

Equations for constrained fitting of circlescircles (lines) - in Pratts form (1987)

tangency constraints

Reverse Engineering

Using auxiliary objects1a1b2a2b

Reverse Engineering

Simple part reconstruction

Reverse Engineering

Final CAD (B-rep) modelwith blends without blends

Reverse Engineering

Reconstruction of free-form shapesFunctional decomposition:

primary surfaces + featuresP0P3P4P5P6P7P8S1P10P1P2S2ST(S1,S2)Ignore area

Reverse Engineering

Reconstruction of free-form shapes

Surfacestructure

Reverse Engineering

Reconstruction of free-form shapes

Curvatureplot

Reverse Engineering

Advanced Surface Fitting (BMW model)

Reverse Engineering

Free form surface fittingFunctional:Initialization: data point parametersknot-distributionsmoothing weight ()F minimizationParametercorrectionKnot-insertionSmoothing weight opt.

Reconstructing free-form features (vrrb blend)Global surface fittingFunctional decomposition- stable regions- constrained fitting

Reverse Engineering

Reconstructing free-form features(free-form step)Gl

Recommended