Dual Transformation

advertisement
Human interface Section, P&I Lab, Titech
Real-time Rigid Body Simulation
for Haptic Interactions Based on
Contact Volume of Polygonal Objects
Shoichi Hasegawa, Makoto Sato
Tokyo institute of technology
P&I lab human interface section
Human interface Section, P&I Lab, Titech
Haptic interaction
Touch the virtual world
User feels contact force from haptic interface
Virtual
Real
Human interface Section, P&I Lab, Titech
Haptic interaction
Touch the virtual world
User feels contact force from haptic interface
Virtual
Real
The touched object receives force from the user.
The response : Dynamics
Human interface Section, P&I Lab, Titech
Video Darumaw
Human interface Section, P&I Lab, Titech
Contact force
F=mv
N=Iw
v(t+D t)= v(t) + F/mDt
w(t+D t)=w(t) + I-1NDt
Haptic pointer
Contact force for
dynamics simulation
Contact force
to feedback user
Human interface Section, P&I Lab, Titech
Contact model
Normal force
Prevent penetration
Friction force (coulomb’s model)
Normal force
Friction force
|ff | < |m0fn |
Static friction
Prevent sliding motion
Dynamic friction
Proportional to normal force
|ff | = |mfn |
Human interface Section, P&I Lab, Titech
Solving constraints(1)
Analytical method
David Baraff SIGGRAPH `89 …
Mri  fi
(eq. of motion)
i  p
 j )  n ij  0
(p
(normal)
f  n / | f | m / 1  m 2 (friction)
Advantages
Drawbacks
 Object motions are stable.
Wide time steps are affordable.
 Solves constraints accurately.
Completely rigid.
 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.
Human interface Section, P&I Lab, Titech
Solving constraints(2)
Penalty method
.
penetration d,penetrating velocity d
fn  k nd  bn d
Spring Damper
.
slide l,sliding velocity l
ff  k f l  b f l
Spring Damper
Advantages
Drawbacks
 Stability and rigidity requires small
 Very fast for one step. O(n)
time steps.
 Direct connection to haptic interfaces.
(Haptic interfaces also need this.)
 Coulomb’s friction model is easily
 Treatment of large contact area
realized.
makes instability or takes a lot of
 Integration of other models are easy.
computation time.
(e.g. Featherstone’s method)
Human interface Section, P&I Lab, Titech
Problem on large contact area
Where should we put spring-damper model?
?
On the most penetrating point
Human interface Section, P&I Lab, Titech
Problem on large contact area
Where should we put spring-damper model?
?
On vertices
Top view
Human interface Section, P&I Lab, Titech
Problem on large contact area
Where should we put spring-damper model?
?
Many points
Will works well.
But, it will takes much
computation time and memory.
Human interface Section, P&I Lab, Titech
Proposal for the problem
!
Distributed model
Integrate forces from distributed model for each triangle.
Human interface Section, P&I Lab, Titech
Steps
 Finding Contact force:
1. Find contact point and normal.
2. Find the shape of the contact volume.
3. Integrate forces over the contact area.
Human interface Section, P&I Lab, Titech
Contact 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 can’t find closest points, So…
t=t0
t=t1
New closest points
Human interface Section, P&I Lab, Titech
Contact Analysis
Contact part = Intersection of two convexes.
D. E. Muller and F.P.Preparata:
“Finding the intersection of two convex” (1978)
For given two convex and a point in the
intersection.
Find the intersection.
Human interface Section, P&I Lab, Titech
Contact Analysis(2)
Finding the intersection of two convex
Half space representation
Human interface Section, P&I Lab, Titech
Contact Analysis(3)
Finding the intersection of two convex(2)
Half space
representation
Dual transform
Vertex of intersection
Dual transform
Quick hull
Human interface Section, P&I Lab, Titech
Integration of force
 Penalty force
 Dynamic friction force
 Maximum static friction force
Integrate forces from distributed model for each triangle.
Human interface Section, P&I Lab, Titech
Static friction force
Spring-damper model for sliding constraint.
=
Distributed model
=
Two (translation and rotation) models
l

r  θp
Human interface Section, P&I Lab, Titech
Evaluation
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)
Mri  fi
(pi  p j )  n ij  0
f  n / | f | m / 1  m 2
Human interface Section, P&I Lab, Titech
Computation time
60
Proposed simulator
Point based method
Analytical method
Average computation time[ms]
50
3
40
5
30
20
13
10
0
0
5
10
Number of blocks
15
Human interface Section, P&I Lab, Titech
Stability on normal force
A cube on a floor.
Measure angular momentum.
1
Angular momentum [Nms]
Proposed method
Point based penalty method
Analytical method
angular momentum
0
2m3
g=9.8m/s
0.1rad
-1
0
1
time[s]
2
Human interface Section, P&I Lab, Titech
Motion of top
Human interface Section, P&I Lab, Titech
Stick-slip motion
State transition between static and dynamic
friction makes stick-slip motion.
m0=0.265
m =0.160
Cardboard floor
m0=0.265
m =0.160
2.0kg weight
wrapped by paper
2kg
0.0642m/s
spring
400N/m
Friction force
Tension force
friction force
Velocity
0.0642m/s
Spring
400N/m
Human interface Section, P&I Lab, Titech
Result
Real world
Analytical simulator
0.1
0.1
-5
1
Time[s]
Proposed simulator
0
-5
friction force
position of object
0
Force[N]
0
Position[m]
5
Position[m]
Force[N]
5
friction force
position of object
0
0
2
1
Time[s]
Point based simulator
0
2
0.1
0.1
-5
1
Time[s]
0
-5
friction force
position of object
0
Force[N]
Force[N]
0
Position[m]
5
Position[m]
5
friction force
position of object
0
2
0
1
Time[s]
0
2
Human interface Section, P&I Lab, Titech
Demo
Human interface Section, P&I Lab, Titech
Conclusion
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.
Human interface Section, P&I Lab, Titech
Thank you for listening
Source codes, demos, movies...
http://springhead.info
Human interface Section, P&I Lab, Titech
Dual 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 transformation’s dual transformation is original
facet.
Dual Transformation
O
n
O
1
n
Download