Title: Realtime Rigid Body Simulation for Haptic Interactions Based on Contact Volume of Polygonal Objects
1Real-time Rigid Body Simulationfor Haptic
Interactions Based onContact Volume of Polygonal
Objects
- Shoichi Hasegawa, Makoto Sato
- Tokyo institute of technology
- PI lab human interface section
2Haptic interaction
- Touch the virtual world
- User feels contact force from haptic interface
Virtual
Real
3Haptic interaction
- Touch the virtual world
- User feels contact force from haptic interface
- The touched object receives force from the user.
- The response Dynamics
Virtual
Real
4Video Darumaw
5Contact force
Fmv NIw v(tD t) v(t) F/mDt w(tD t)w(t)
I-1NDt
Haptic pointer
Contact force fordynamics simulation
Contact forceto feedback user
6Contact model
Normal force
- Normal force
- Prevent penetration
- Friction force (coulombs model)
- Static friction
- Prevent sliding motion
- Dynamic friction
- Proportional to normal force
Friction force
ff lt m0fn
ff mfn
7Solving constraints(1)
- Analytical method
- David Baraff SIGGRAPH 89
- Advantages
- Object motions are stable.Wide time steps are
affordable. - Solves constraints accurately.Completely rigid.
- Drawbacks
- Much computation time for one step. O(n3 )
- A virtual coupling is needed to connect a haptic
interface. - Coulomb's friction model comes to NP complete
problem.
8Solving constraints(2)
.
penetration d,penetrating velocity d
Spring
Damper
.
slide l,sliding velocity l
Spring
Damper
- Advantages
- Very fast for one step. O(n)
- Direct connection to haptic interfaces.
- Coulombs friction model is easily realized.
- Integration of other models are easy. (e.g.
Featherstones method)
- Drawbacks
- Stability and rigidity requires small time
steps.(Haptic interfaces also need this.) - Treatment of large contact area makes instability
or takes a lot of computation time.
9Problem on large contact area
- Where should we put spring-damper model?
On the most penetrating point
10Problem on large contact area
- Where should we put spring-damper model?
?
On vertices
Top view
11Problem on large contact area
- Where should we put spring-damper model?
Will works well. But, it will takes
muchcomputation time and memory.
?
Many points
12Proposal for the problem
- Integrate forces from distributed model for each
triangle.
13Steps
- Finding Contact force
- Find contact point and normal.
- Find the shape of the contact volume.
- Integrate forces over the contact area.
14Contact detection
- Gilbert, Johnson, and Keerthi (GJK) algorithm.
- Find closest points of two convex shapes.
- A complex shape can be represented by a set of
convex shapes. - After the contact, GJK cant find closest points,
So
tt0
tt1
New closest points
15Contact Analysis
- Contact part Intersection of two convexes.
- D. E. Muller and F.P.PreparataFinding the
intersection of two convex (1978) - For given two convex and a point in the
intersection. - Find the intersection.
16Contact Analysis(2)
- Finding the intersection of two convex
Half space representation
17Contact Analysis(3)
- Finding the intersection of two convex(2)
Half space representation
Dual transform
Vertex of intersection
Dual transform
Quick hull
18Integration of force
- Penalty force
- Dynamic friction force
- Maximum static friction force
-
Integrate forces from distributed model for each
triangle.
19Static friction force
- Spring-damper model for sliding constraint.
Two (translation and rotation) models
20Evaluation
- Compare three simulators
- Proposed
- Penalty method
- distributed model.
- Point based
- Penalty method
- A model on the most penetrating point.
- Analytic
- Analytical method
- Open Dynamics Engine (Smith R. 2000)
21Computation time
22Stability on normal force
- A cube on a floor.
- Measure angular momentum.
1
Proposed method
Point based penalty method
Analytical method
Angular momentum Nms
0
-1
0
1
2
times
23Motion of top
24 Stick-slip motion
- State transition between static and dynamic
friction makes stick-slip motion.
m00.265 m 0.160
2kg
0.0642m/s
Spring 400N/m
friction force
25Result
Real world
Analytical simulator
0.1
0.1
5
5
ForceN
Positionm
Positionm
ForceN
0
0
-5
-5
0
0
0
1
2
0
1
2
Times
Times
Proposed simulator
Point based simulator
0.1
0.1
5
5
ForceN
Positionm
ForceN
Positionm
0
0
-5
-5
0
0
0
1
2
0
1
2
Times
Times
26Demo
27Conclusion
- Proposed a real-time rigid body simulator for
haptic interaction - Penalty method
- Fast update rate
- Pointed out a problem on a large contact area
- Solved the problem by integrating penalty over
the intersection area - Fast and accurate simulation was achieved.
28Thank you for listening
- Source codes, demos, movies...
-
-
- http//springhead.info
29Dual Transform
- Finding the intersection of two convex(2)
- Dual Transformation
- Dual transformation transform a face into a
vertex and a vertex into a face. - Dual transformations dual transformation is
original facet.