LEDAS Solutions for Mechanical System Modelingand Related Problems
Egor Ermolin (LEDAS)
10 April 2008SBRAS/ Intel GeometrySeminar 22 | | 4242
Agenda
LEDAS CompanyLEDAS Phoenix and Related Projects:– History
Mechanical simulation engine– Functionality– Architecture: Dynamic Engine, Collision Detection, Collision
ResolutionImpulse-based Collision ResolutionGeometry:– Calculation of Dynamic Properties– Effective Collision Detection– Narrowing broad phase
DemosKey FeaturesDevelopment Perspective
10 April 2008SBRAS/ Intel GeometrySeminar 33 | | 4242
LEDAS Company
PositioningMissionCompetenceCustomersIsicad-2008
10 April 2008SBRAS/ Intel GeometrySeminar 44 | | 4242
Positioning of LEDAS
LEDAS Ltd. is an independent software development company founded in 1999 in Novosibirsk, RussiaUsing proprietary mathematical technologies, LEDAS provides computational components and services for software development companies in the fields of PLM (including CAD, CAM, CAE, PDM) and ERPThe company also provides services for manufacturers:– Custom application development, integration & localization– Creation of 3D models using different CAD systems– Consulting, reselling, trainings
Information on LEDAS is available at www.ledas.com
10 April 2008SBRAS/ Intel GeometrySeminar 55 | | 4242
Mission
We at LEDAS perceive our mission as the automation of key industrial processes – design, simulation and planning– These are areas where system users
require a set of intelligent functions in order to accelerate product development and planning of related processes and resources
LEDAS does not develop end-user nor enterprise software, but it collaborates actively with both CAD/CAM/CAE/PDM software development companies andmanufacturing enterprises by offering them– Computational software components– Software development & 3D modeling– Consulting, reselling, training– Places where they can meet together
CAD/CAM/CAE/PDM development company
Manufacturing enterprise
LEDAS
Developm
ent
Marketing
Deploym
ent
Custom
ization
10 April 2008SBRAS/ Intel GeometrySeminar 66 | | 4242
LEDAS Competence
Mathematics & Computer Science– Numerical analysis– Constraint satisfaction– Computational
geometry– Scheduling algorithms
Software Development– Development Processes– Quality Assurance– Available platforms– Programming skills– Software tools
CAD/CAM/CAE/PDM skills– Creation of 3D models– Custom application
development– Translation & localization– Certified training– Reselling– Consulting
Publishing & Conferencing– Web sites– Books– Conferences
10 April 2008SBRAS/ Intel GeometrySeminar 77 | | 4242
LEDAS Customers
Dassault Systèmes (France)– Development of core computational components for CATIA V5 products– Software localization for Russian market– Total cost of development projects is about 80 person-years since 1999
Sukhoi Civil Aircrafts (Russia), AVTOVAZ (Russia), and others– Consulting & training on CATIA/CAA solutions– Custom software development (add-on applications for CATIA and NX) in the
field of computational geometry, data translation and CAD application integration
Proficiency (Israel), ADEM Technologies (Russia), AWV (Switzerland), Tecnos (Italy), Evo.Solutions (Japan), and others– Licensees of LEDAS Geometric Solver (LGS) software components– Cooperation on integration of LGS into different CAD applications: sketcher,
assembly design, data translationExigen (USA), CTRUE (Israel), and others– Development of advanced software packages based on LEDAS competence
in optimization algorithms, resource scheduling, and computational geometry
VirtualCAD (Canada)– Creation of libraries of parametric 3D models and web-catalogues of CAD
partsPurdue Unviversity (USA), Novosibirsk Technical University (Russia)– Education & research
10 April 2008SBRAS/ Intel GeometrySeminar 88 | | 4242
Isicad-2008
Third international multi-vendor PLM forum– June 4-6, Novosibirsk, Russia
About 500 attendees representing large, medium and small manufacturing enterprisesMore than 30 CAD, CAM, CAE, PDM solution providers– Autodesk, Siemens PLM, PTC and
Dassault are traditional participants– All leading Russian CAD/PLM R&D
companiesLeading Russian mass mediaMulti-format– Invited talks– Plenary session talks– Technical section talks– Company’s seminar– Round table and press conference– Rich social program
More information at http://isicad.ru/2008
10 April 2008SBRAS/ Intel GeometrySeminar 99 | | 4242
We are here
LEDAS CompanyLEDAS Phoenix and Related Projects:– History
Mechanical simulation engine– Functionality– Architecture: Dynamic Engine, Collision Detection,
Collision ResolutionImpulse-based Collision ResolutionGeometry:– Calculation of Dynamic Properties– Effective Collision Detection– Narrowing broad phase
DemosKey FeaturesDevelopment Perspective
10 April 2008SBRAS/ Intel GeometrySeminar 1010 | | 4242
The Phoenix Project
The LEDAS Phoenix Project is oriented to a creation of competitive mechanical simulation engine with broad spectrum of applications
2003
2D prototype was implemented. Segments and circular arcs were usedfor a geometrical representation. Gravity, springs, user-defined forces,sliding friction.Collision detection and resolution.
2004
A full-scale 3D engine is under development. Simple 3D Collision detection.Scalable architecture
2005 3D Collision Detection is implemented
2007Convex Hull 3D and Minimal Bounding Box algorithms are implemented
10 April 2008SBRAS/ Intel GeometrySeminar 1111 | | 4242
A Mechanical Simulation Engine
Modeling of 2D/3D rigid bodies motion according to physical lawsModeling of forces with different nature– Gravity– Springs– Dynamically acting user-defined forces
Collision detection and resolution– Avoiding interpenetration
Motion modeling under geometrical constraints– Assembly constraints
10 April 2008SBRAS/ Intel GeometrySeminar 1212 | | 4242
Architecture
Application
Collision Resolution
DynamicEngine
Collision Detection
Rigid bodies data
Getting/updating coordinates and velocities
Getting a geometrical data
Getting a physical data
Updating velocities
Passing list of colliding bodies
Passing list of moved bodies
Getting list of colliding bodies
10 April 2008SBRAS/ Intel GeometrySeminar 1313 | | 4242
Dynamic Engine
Manages Collision Detection and Collision Resolution modules
Models motion of rigid bodies with account of external forces• Gravity• Springs• Dynamically acting user-defined forces
i
ni
ni
nni
ni
nn
FrJt
MFtvv
11
1
/
Uses simple explicit difference scheme
10 April 2008SBRAS/ Intel GeometrySeminar 1414 | | 4242
Collision Resolution is aimed to correct rigid bodies velocities in order to avoid interpenetrationsKnown approaches
Collision Resolution
• Penalty method
• Constraints based techniques for contact resolution
• Impulse-based methods
Chosen approach
10 April 2008SBRAS/ Intel GeometrySeminar 1515 | | 4242
Basic assumptions– Collision time is infinitely small– Collision forces are infinitely large– Increments of impulses are finite
There are two phases of collision– Compression phase– Restitution phase
Total impulse obtained by a body during collision takes into account both phases:
Impulse-based approachInitial assumptions
Cp where is a coefficient of restitution, and impulse obtained during compression phase
CT pep )1( 10 e
10 April 2008SBRAS/ Intel GeometrySeminar 1616 | | 4242
Some definitions
Relative velocity at the point is calculated from first body to second: 12 vvvrel
Normal at collision point is taken from first body
Case scalar product :< 0 interpenetration point= 0 contact point> 0 leaving point
1nvrel
10 April 2008SBRAS/ Intel GeometrySeminar 1717 | | 4242
Approach Overview
Consider contact points with negative normal relative velocities, such that bodies are penetrating
mPP1
Assume that force acts in contact pointtpnF iii /iP
Express velocities of the bodies after a compression phase via unknown compression impulses
Consider contact points with negative normal relative velocities, such that bodies are penetrating
mPP1
Assume that force acts in contact pointtpnF iii /iP
With known expressions for velocities express relative normal velocities of the bodies in the contact point
10 April 2008SBRAS/ Intel GeometrySeminar 1818 | | 4242
Impulse-based approachLinear system
Condition of vanishing of the relative normal velocities at the end of the compression phase leads to the following linear mxm system of equations
bpA
We can obtain compression impulses via SVD-method and full impulses passed between bodies due to collision in i-th point is
iiT pep )1(,
ipiTp ,
After determination of the impulses we can compute new velocities of the bodies
10 April 2008SBRAS/ Intel GeometrySeminar 1919 | | 4242
Impulse-based approachIterative scheme
With known new velocities we should check other contact points for which initially no penetration occurredIf there are points in which the bodies are penetrating we repeat impulses computation for these new set of pointsAs practice showed this iterations are converged for e≤1
10 April 2008SBRAS/ Intel GeometrySeminar 2020 | | 4242
Joints Handling
This approach can be used for a modeling of jointsJoint is modeled via three (or two for 2D) collision points with e=0 considered on each time stepOn each time step relative velocities of the bodies in the joint point coincide
Impulses corrections have to be calculated from a condition of coordinates coincidence not velocities
10 April 2008SBRAS/ Intel GeometrySeminar 2121 | | 4242
We are here
LEDAS CompanyLEDAS Phoenix and Related Projects:– History
Mechanical simulation engine– Functionality and applications– Architecture: Dynamic Engine, Collision Detection, Collision
ResolutionImpulse-based Collision ResolutionGeometry:– Calculation of Dynamic Properties– Effective Collision Detection– Narrowing broad phase
DemosKey FeaturesDevelopment Perspective
10 April 2008SBRAS/ Intel GeometrySeminar 2222 | | 4242
From Dynamic to Geometry: Calculation Of Dynamic
Properties
Given a manifold 3D triangular mesh, we can compute mass and inertia tensor properties of encapsulated volume
Mirtich in 1996 proposed to use divergence and Green’s theorems to reduce complex 3D integral to line integrals:
10 April 2008SBRAS/ Intel GeometrySeminar 2323 | | 4242
Collision Detection
Broad phase: test collision for only for bodies which have bounding primitives intersectingSolution: encapsulate objects by simple shells with inexpensive intersection testOptimization of this phase: don’t check intersection for shells that obviously don’t intersect (rule?)
In 2D prototype implementation we use pair-wise check on broad phase using circles as bounding primitives
10 April 2008SBRAS/ Intel GeometrySeminar 2424 | | 4242
Collision Detection
Narrow phase: pair-wise element check – test each geometry primitive of one body with each another’s
Various space partitions can be applied to reduce number of pairs to check
In 2D prototype implementation we use direct check of all pairs
Detects collisions and returns coordinates of a contact points and normal vectors
It supports line segments and arcs as geometry primitives and uses direct collision detection with rejection of bodies which are situated far apart
10 April 2008SBRAS/ Intel GeometrySeminar 2525 | | 4242
Collision Detection 3D Implementation
Based on OBB-approach (inertia axis) in narrow phase, collision detection library OPCODE 1.3 is used for reference. Current implementation consumes less memory than OPCODE (about 10%), but is 1.7 times slower*. However, performance optimization was not the objectiveBroad phase uses O(n2) pairwise OBB-comparison. This stage can be optimized up-to O(nlogn) comparison (in practice O(n)), but even this is not top of high-performance…
* Data is based on LEDAS collision detection report (in Russian)
10 April 2008SBRAS/ Intel GeometrySeminar 2626 | | 4242
Collision Detection: narrowing broad phase
The problem is that OBB is usually better heuristics of bounding volume than AABB (in terms of volume), but it is not minimal bounding box for body in general case
The advantage is obvious: the less volume BB has, the less number of false narrow phase triggering will happen
AABB OBB Minimal BB
Which pattern better fits the broken window?
10 April 2008SBRAS/ Intel GeometrySeminar 2727 | | 4242
Finding Minimal Boxes: LEDAS Implementations
2D case only requires body to be convex, algorithm is quite straightforward and can be described by “rotating calipers” model3D case also operates on convex mesh and involves Gaussian sphere structure to test configuration. It requires polynomial trigonometric equation solver to find minimum of volume function
10 April 2008SBRAS/ Intel GeometrySeminar 2828 | | 4242
Computational effectiveness of BB
2D 3D
AABB O(n) O(n)
OBB O(n) O(n)
Minimal BBO(n) convex
O(nlogn) generalO(n3)
Minimal 3D BB with heuristics
- O(n2)
Conclusion: minimal BB can be used in applications which allow preprocessing and require maximum performance or have scenes with great number of objects
10 April 2008SBRAS/ Intel GeometrySeminar 2929 | | 4242
We are here
LEDAS CompanyLEDAS Phoenix and Related Projects:– History
Mechanical simulation engine– Functionality and applications– Architecture: Dynamic Engine, Collision Detection, Collision
ResolutionImpulse-based Collision ResolutionGeometry:– Calculation of Dynamic Properties– Effective Collision Detection– Narrowing broad phase
DemosKey FeaturesDevelopment Perspective
10 April 2008SBRAS/ Intel GeometrySeminar 3030 | | 4242
Demos
Unstable stack
10 April 2008SBRAS/ Intel GeometrySeminar 3131 | | 4242
Demos
Domino effect
10 April 2008SBRAS/ Intel GeometrySeminar 3232 | | 4242
Demos
Springs
10 April 2008SBRAS/ Intel GeometrySeminar 3333 | | 4242
Demos
Telescopic mast
10 April 2008SBRAS/ Intel GeometrySeminar 3434 | | 4242
Demos
Door latch
10 April 2008SBRAS/ Intel GeometrySeminar 3535 | | 4242
Demos
Engine
10 April 2008SBRAS/ Intel GeometrySeminar 3636 | | 4242
Demos
Jib
10 April 2008SBRAS/ Intel GeometrySeminar 3737 | | 4242
Demos
3D Collision
10 April 2008SBRAS/ Intel GeometrySeminar 3838 | | 4242
Industrial Application
Integration of Minimal Bound Box solution into CATIA (customer SCAC) is in processAt LEDAS convergence of BB code is performed
10 April 2008SBRAS/ Intel GeometrySeminar 3939 | | 4242
We are here
LEDAS CompanyLEDAS Phoenix and Related Projects:– History
Mechanical simulation engine– Functionality and applications– Architecture: Dynamic Engine, Collision Detection, Collision
ResolutionImpulse-based Collision ResolutionGeometry:– Calculation of Dynamic Properties– Effective Collision Detection– Narrowing broad phase
DemosKey FeaturesDevelopment Perspective
10 April 2008SBRAS/ Intel GeometrySeminar 4040 | | 4242
Key Features of Phoenix Project
Approach doesn’t need decomposition of bodies into convex partsAbsolute elastic (energy-preserving) and inelastic adjustabilityNative support of geometrical constraintsCollision detection in 3D with near-industrial characteristics is readyIf preprocessing allowed, bounding volumes can be very tight
10 April 2008SBRAS/ Intel GeometrySeminar 4141 | | 4242
Implementation Summary
2D dynamic engine with segment-arc geometry, resolves collision, supports springs and jointsComputation of mass and inertia properties for triangular mesh3D dynamic engine based on triangular meshes OBB collision detection3D convex hull module (Preparata’s divide-and-conquer)Module for calculating minimal bounding box for triangle mesh
10 April 2008SBRAS/ Intel GeometrySeminar 4242 | | 4242
Development Perspective
We have advanced results in mechanical modeling and computational geometry related problemsSome of our implementations already have applications, but our solutions have much greater potentialThus we are looking for partner/customer to bring our ideas to life