Title: Special Topics in Computer Science Computational Modeling for SnakeBased Robots ComputerAided Design
1Special Topics in Computer ScienceComputational
Modeling for Snake-Based RobotsComputer-Aided
Design Crash CourseWeek 1, Lecture 2
- William Regli
- Geometric and Intelligent Computing Laboratory
- Department of Computer Science
- Drexel University
- http//gicl.cs.drexel.edu
2Building Multidisciplinary Model
- Class Goal create multidisciplinary engineering
models - Challenge Learn enough about each discipline to
create integrated models! - Today The role of 3D models and CAD
3Computer Aided Design A Brief History
- In The Beginning1963Ivan SutherlandsSketchpad
- Modified oscilloscope for drawing
- The original CAD system
Courtesy Marc Levoy _at_ Stanford U
4History of the 3D graphics industry
- 1960s
- Line drawings, hidden lines, parametric surfaces
(B-splines) - Automated drafting machining for car,
airplane, and ships manufacturers - 1970s
- Mainframes, Vector tubes (HP)
- Software Solids, (CSG), Ray Tracing, Z-buffer
for hidden lines - 1980s
- Graphics workstations (50K-1M) Frame buffers,
rasterizers , GL, Phigs - VR CAVEs and head-mounted displays
- CAD/CAM GIS CATIA, SDRC, PTC
- Sun, HP, IBM, SGI, ES, DEC
- 1990s
- PCs (2K) Graphics boards, OpenGL, Java3D
- CADVideogamesAnimations AutoCAD, SolidWorks,
Alias-Wavefront - Intel, many board vendors
- 2000s
- Laptops, PDAs, Cell Phones Parallel graphic
chips - Everything will be graphics, 3D, animated,
interactive - Nvidia, Sony, Nokia
5Buzzword Deconfliction
- Computer Aided Geometric Design (CAGD)
Curves/surfaces - Solid Modeling Representations and Algorithms
for solids - Computational Geometry Provably efficient
algorithms - Computer-Aided Design (CAD) Automation of Shape
Design - Computer-Aided Manufacturing (CAM) NC Machining
- Finite Element Meshing (FEM) Construction and
simulation - Animation Capture, Design, Simulation of shape
behavior - Visualization Graphical interpretations of
(large) nD datasets - Rendering Making (realistic) pictures of 3D
geometric shapes - Image-Based Rendering (IBR) Mix images and
geometry - Computer Vision Reconstruction of 3D models from
images - Reverse Engineering Fitting surfaces to scanned
3D points - Virtual Reality (VR) Immersion in interactive
environments - Augmented Reality (AR) Track and mark-up what
you see
6What is CAD?
- Primary authoring tool for the geometry and
topology data associated with a product (plan,
train, auto, building, etc) - CAD software is central to Product Lifecycle
Management and is often integrated with
manufacturing, analysis, simulation and other
engineering and business functions
7Different Aspects of CAD
82D Graphics
- RasterPixels
- X11 bitmap, XBM
- X11 pixmap, XPM
- GIF
- TIFF
- PNG
- JPG
- Lossy, jaggies when transforming, good for photos.
- VectorDrawing instructions
- Postscript
- CGM
- Fig
- DWG
- Non-lossy, smooth when scaling, good for line art
and diagrams.
9Representing 3D Objects
- Approximate
- Facet / Mesh
- Just surfaces
- Voxel
- Volume info
- Exact
- Wireframe
- Parametric Surface
- Solid Model
- CSG
- BRep
- Implicit Solid Modeling
10Representing 3D Objects
- Exact
- Precise model of object topology
- Mathematically represent all geometry
- Approximate
- A discretization of the 3D object
- Use simple primitives to model topology and
geometry
11Negatives when Representing 3D Objects
- Exact
- Complex data structures
- Expensive algorithms
- Wide variety of formats, each with subtle nuances
- Hard to acquire data
- Translation required for rendering
- Approximate
- Lossy
- Data structure sizes can get HUGE, if you want
good fidelity - Easy to break (i.e. cracks can appear)
- Not good for certain applications
- Lots of interpolation and guess work
12Positives when Representing 3D Objects
- Exact
- Precision
- Simulation, modeling, etc
- Lots of modeling environments
- Physical properties
- Many applications (tool path generation, motion,
etc.) - Compact
- Approximate
- Easy to implement
- Easy to acquire
- 3D scanner, CT
- Easy to render
- Direct mapping to the graphics pipeline
- Lots of algorithms
13Two Major Types to Care About(for this class)
- Mesh-based representations
- Solid Models
- As generated from CAD or modeling systems
143D Mesh File Formats
- Some common formats
- STL
- SMF
- OpenInventor
- VRML
15Minimal
- Vertex Face
- No colors, normals, or texture
- Primarily used to demonstrate geometry algorithms
16Full-Featured
- Colors / Transparency
- Vertex-Face Normals (optional, can be
computed) - Scene Graph
- Lights
- Textures
- Views and Navigation
17Subdivision Surfaces
- Coarse Mesh Subdivision Rule
- Define smooth surface as limit of sequence of
algorithmic refinements - Modify topology interpolate neighboring
vertices - Used in graphics, animation and digital arts
applications
18Simple Mesh Format (SMF)
- Michael Garland http//graphics.cs.uiuc.edu/garla
nd/ - Triangle data
- Vertex indices begin at 1
19Stereolithography (STL)
- Triangle data Face Normal
- The de-facto standard for rapid prototyping
20How STL Works
21Open Inventor
- Developed by SGI
- Predecessor to VRML
- Scene Graph
22Virtual Reality Modeling Language (VRML)
- SGML Based
- Scene-Graph
- Full Featured
23Issues with 3D mesh formats
- Easy to acquire
- Easy to render
- Harder to model with
- Error prone
- split faces, holes, gaps, etc
24Scanned Data
From Exact Representation
Single Scan
360 Scan
25How to scan (1)
26How to scan (2)
27Issues with Scanning
- Error and noise
- Time consuming
- Lots of human editing required to create clean
models - Models can be very large
- Much larger than original BRep
28Solid Models
293D solid model representations
- Implicit models
- Super/quadrics
- Blobbies
- Swept objects
- Boundary representations
- Spatial enumerations
- Distance fields
- Quadtrees/octrees
- Stochastic models
303D solid model representations
- Implicit models
- Super/quadrics
- Blobbies
- Swept objects
- Boundary representations
- Spatial enumerations
- Distance fields
- Quadtrees/octrees
- Stochastic models
31Boundary Representation Solid Modeling
- The de facto standard for CAD since 1987
- BReps integrated into CAGD surfaces analytic
surfaces boolean modeling - Models are defined by their boundaries
- Topological and geometric integrity constraints
are enforced for the boundaries - Faces meet at shared edges, vertices are shared,
etc.
32Solids and Solid Modeling
- Solid modeling introduces a mathematical theory
of solid shape - Domain of objects
- Set of operations on the domain of objects
- Representation that is
- Unambiguous
- Accurate
- Unique
- Compact
- Efficient
33Solid Objects and Operations
- Solids are point sets
- Boundary and interior
- Point sets can be operated on with boolean
algebra (union, intersect, etc)
Foley/VanDam, 1990/1994
34Solid Object Definitions
- Boundary points
- Points where distance to the object and the
objects complement is zero - Interior points
- All the other points in the object
- Closure
- Union of interior points and boundary points
35Lets Start SimplePolyhedral Solid Modeling
- Definition
- Solid bounded by polygons whose edges are each a
member of an even number of polygons - A 2-manifold edges members of 2 polygons
36BRep Data Structure
- Vertex structure
- X,Y,Z point
- Pointers to n coincident edges
- Edge structure
- 2 pointers to end-point vertices
- 2 pointers to adjacent faces
- Pointer to next edge
- Pointer to previous edge
- Face structure
- Pointers to m edges
37BRep Data Structures
- Winged-Edge Data Structure (Weiler)
- Vertex
- n edges
- Edge
- 2 vertices
- 2 faces
- Face
- m edges
Pics/Math courtesy of Dave Mount _at_ UMD-CP
38State of the Art BRep Solid Modeling
- but much more than polyhedra
- Two main (commercial) alternatives
- All NURBS, all the time
- Pro/E, SDRC,
- Analytic surfaces parametric surfaces NURBS
. all stitched together at edges - Parasolid, ACIS,
39Issues in Boundary Representation Solid Modeling
- Very complex data structures
- NURBS-based winged-edges, etc
- Complex algorithms
- manipulation, booleans, collision detection
- Robustness
- Integrity
- Translation
- Features
- Constraints and Parametrics
40Other Issues in Boundary Representation Solid
Modeling
Foley/VanDam, 1990/1994
41Issues with 3D Set Operations
- Ops on 3D objects can create non-3D objects or
objects with non-uniform dimensions - Objects need to be Regularized
- Take the closure of the interior
Input set Closure
Interior Regularized
Foley/VanDam, 1990/1994
42Regularized Boolean Operations
- 3D Example
- Two solids A and B
- Intersection leaves a dangling wall
- A 2D portion hanging off a 3D object
- Closure of interior gives a uniform 3D result
Pics/Math courtesy of Dave Mount _at_ UMD-CP
43Boolean Operations
- Other Examples
- (c) ordinary intersection
- (d) regularized intersection
- AB - objects on the same side
- CD objects on different sides
Foley/VanDam, 1990/1994
44Boolean Operations
Foley/VanDam, 1990/1994
45Constructive Solid Geometry (CSG)
- A tree structure combining primitives via
regularized boolean operations - Primitives can be solids or half spaces
46A Sequence of Boolean Operations
- Boolean operations
- Rigid transformations
Pics/Math courtesy of Dave Mount _at_ UMD-CP
47The Induced CSG Tree
Pics/Math courtesy of Dave Mount _at_ UMD-CP
48The Induced CSG Tree
- Can also be represented as a directed acyclic
graph (DAG)
Pics/Math courtesy of Dave Mount _at_ UMD-CP
49Issues with Constructive Solid Geometry
- Non-uniqueness
- Choice of primitives
- How to handle more complex modeling?
- Sculpted surfaces? Deformable objects?
50Issues with Constructive Solid Geometry
- Non-Uniqueness
- There is more than one way to model the same
artifact - Hard to tell if A and B are identical
51Issues with CSG
- Minor changes in primitive objects greatly affect
outcomes - Shift up top solid face
Foley/VanDam, 1990/1994
52Uses of CSG Constructive Solid Geometry
- Found (basically) in every CAD system
- Elegant, conceptually and algorithmically
appealing - Good for
- Rendering, ray tracing, simulation
- BRL CAD
53CAD Feature-Based Design
- CSG is the basic machinery behind CAD features
- Features are
- Local modifications to object geom/topo with
engineering significance - Often are additive or subtractive mods to shape
- Hole, pocket, etc
54Parametric Modeling in CAD
- Feature relationships
- Constraints
Foley/VanDam, 1990/1994
55CAD Formats
56Common CAD Formats
- Standards
- STEP (ISO 103033)
- IGES
- Industry
- Solid Model (mostly just geom/topo)
- ACIS .sat, Parasolid .xmt, OpenCascade
- CAD Model
- Vendor specific
57CAD Vendor Formats
- Pro/ENGINEER
- .prt (part) and .asm (assembly)
- UG/SDRC
- .mf1 (model file), .arc (archive), .xmt (transmit
file) - AutoCAD
- DXF, DWG
- Bentley
- DGN
- Etc etc
58CAD Vendor Format Comments
- Some systems do not produce solids by default
- i.e. AutoCAD AEC models, while 3D, are not solids
- Formats are complex
- Translation is difficult
- Going from
- System 1 Native file ? STEP (neutral file) ?
System 2 Native file creates data loss and can
introduce error
59A brief history
- IGES V1.0 was released in 1981, the current
version V5.3 was released in 1996 - Geometry-based standard
- Non-unique definition for many entities
- Many IGES flavoring tools for repair
- STEP v1.0 was released in 1994
- Product-based
- Have not heard about step flavoring tools
- An issue in both IGES and STEP different CAD
systems have different tolerance, therefore a
trim surface may become untrimmed after
translation. - A very popular application of IGES/STEP is not
data translation, it is long term data retention.
60IGES STEP history
STEP AP203 E2
2010
Full interoperability?
ParametricsNeed construction history, GDT
IGES v5.3
2000
STEP AP203
A very successful application of IGES/STEP is
long term data retention.
1990
IGES v.1
Many commercial direct translators
CAD system tolerance issues
Multiple definitions for the same entity. Many
IGES flavoring tools
1980
61Getting CAD Model for Legos
62CAD Systems
- Drexel is site licensed for MicroStation
- https//software.drexel.edu
- Other tools available at GICL and MEM
- I-DEAS
- Pro/E
- SolidWorks
- AutoCAD
63Spatial Occupancy Enumerations
64Spatial Occupancy Enumeration
- Brute force
- A grid
- Pixels
- Picture elements
- Voxels
- Volume elements
- Quadtrees
- 2D representation
- Octrees
- 3D representation
- Extension of quadtrees
65Brute Force Spatial Occupancy Enumeration
- Impose a 2D/3D grid
- Like graph paper or sugar cubes
- Identify occupied cells
- Problems
- High fidelity requires many cells
- Modified
- Partial occupancy
Foley/VanDam, 1990/1994
66Quadtree
- Hierarchically represent spatial occupancy
- Tree with four regions
- NE, NW, SE, SW
- dark if occupied
Foley/VanDam, 1990/1994
67Octree
- 8 octants 3D space
- Left, Right, Up, Down, Front, Back
Foley/VanDam, 1990/1994
68Applications for Spatial Occupancy Enumeration
- Many different applications
- GIS
- Medical
- Engineering Simulation
- Volume Rendering
- Video Gaming
- Approximating real-world data
- .
69Issues with Spatial Occupancy Enumeration
- Approximate
- Kind of like faceting a surface, discretizing 3D
space - Operationally, the combinatorics (as opposed to
the numerics) can be challenging - Not as good for applications wanting exact
computation (e.g. tool path programming)
70END
71MBD or Model Based Definition
- 3D model is the sole data authority
- No more 2D drawings
- The 3D model should contain everything needed
from design to manufacturing, in particular, GDT
(Geometry Dimensions and Tolerance). - Therefore we need GDT in data translation
- STEP 203 E2 implementation will help
72MBD Model Based Definition
- Boeing is transitioning rapidly to a model based
environment. - Data Delivery to supplier must be formatted
robustly and efficiently and in a standard open
format. - Data must be purposed to the downstream
activity to protect IP and KBE. - Relational design chains must be preserved for
interoperability. - Attribute and Meta data must be passed in a
Xlation and purposed. - New materials will bring new requirements for
data exchange.
73The Design Cycle
PROCESS
Process drives out requirements
Tools accomplish the process
INNOVATION!
TOOLS
REQs
Requirements are accommodated by data structure
DATA FORMAT
Data format enables the tool
74Feature-based translation
- Users expect translated model to be modifiable
at the receiving site - Feature-based translation or construction
history or STEP AP203 E2 - Feature-reconstruction bypasses CAD system
tolerance issues, however, it brings in another
set of problems - There are many incompatible features between CAD
systems - There are many construction methods for the same
feature on the same CAD system (e.g.hole) - Different CAD system employs different
algorithms to computer intersection curves,
therefore, we need translation validation.
75CAD Data Translation Validation
- Users have been asking for it since Day 1.
- What to validate? Do you care about these
changes? - geometry or shape
- topology one sphere becomes two semi-spheres
- entity count
- math exact representation of a circle by a
NURBS spline - mass property
- color changes
- layer changes
- Challenges
- Need to recognize that this is a new field
- How to communicate changes to a general user in
a general language? - Need a tool developed for this purpose
76Factors influence the quality of data translation
- Design standards
- Design methodology
- Design quality control
- Release process with a model quality check
77Design processes influence data translation needs
- paper drawing no need for data translation
- 2D CAD drawing dxf or IGES
- 3D CAD design IGES or STEP
- 3D CAD solid design - STEP
- PLM Product Lifecycle Management
- Data management is the center of the universe
- Designers must go to PDM to get appropriate CAD
models - CAD is one of many tools within PLM
- CAD data translation must go with PDM
- (CAD model data maturity level BOM
relational designetc)
78CAD Data Translation Challenges
- CAD systems were design for CAD, not data
translation - Data translation is a step-child of a CAD system
- Do CAD vendors care about data translation?
- No, this is a step-child.
- Yes, make sure it does not work well to export
my data. - STEP AP203 E2 implementation How to get all
major CAD vendors involved?
79What we do not want to translate
- Company intellectual property embedded in CAD
models - KBE (Knowledge Based Engineering) data
- Specific math formulas to create curves and
surfaces - Third party application software data -
engineering notes - in-house developed macros
- This is not a problem with current IGES, STEP or
other direct translators. However, we are
concerned with data exchange with suppliers in
native CAD files such as CATIA V5 via a PDM
system.
80How does Boeing perform data translation?
- Point solution Xlators tailored for specific
native formats are utilized at Boeing - Healthy use of iges and STEP for exchange of
data. - Validation shares equal priority with Xlation
- Boeing has adopted a common native toolset from
Dassault Systems as a go forward strategy. - ProcessgtRequirementsgtDataStructuregtTool,----
Paradigm - Single source master definition, vaulted data,
distributed and repurposed for the target
downstream activity. - Highly reusable data sets.
81Introduction
- Past STEP expectations not met, what has
accomplished, weak areas, work arounds, etc. - Present New standards evolving, current
capabilities, limitations, work arounds, etc. - Future Full relational design expectations,
dreams,
82Surface Models
- Basic idea
- Represent a model as a set of faces/patches
- Limitations
- Topological integrity how do faces line up?
which way is inside/ outside? - Used in many CAD applications
- Why? They are fine for drafting and rendering,
not as good for creating true physical models
83Implicit Solid Modeling
- Computer Algebra meets CAD
- Idea
- Represents solid as the set of points where an
implicit global function takes on certain value - F(x,y,z) lt val
- Primitive solids are combined using CSG
- Composition operations are implemented by
functionals which provide an implicit function
for the resulting solid
From M.Ganter, D. Storti, G. Turkiyyah _at_ UW
84Quadratic Surfaces
- Sphere
- Ellipsoid
- Torus
- General form
85Superellipsoid Surfaces
- Generalization of ellipsoid
- Control parameters s1 and s2
- If s1 s2 1 then regular ellipsoid
- Has an implicit and parametric form!
86CSG with Superquadrics
87CSG with Superellipsoids
88End