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 … Mri 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) Mri fi (pi 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