510 likes | 687 Views
Haptic interaction with rigid bodies by SPIDAR. Shoichi Hasegawa Makoto Sato’s group Precision and Intelligence Lab. Tokyo Institute of Technology. Contents. Control of SPIDAR Characteristics of SPIDAR Position measuring, Force displaying Update rate of haptic rendering
E N D
Haptic interaction with rigid bodies by SPIDAR Shoichi Hasegawa Makoto Sato’s group Precision and Intelligence Lab. Tokyo Institute of Technology
Contents • Control of SPIDAR • Characteristics of SPIDAR • Position measuring, Force displaying • Update rate of haptic rendering • Rigid body simulation • Contact force modeling • Haptic rendering for 6DOF • Simulation of articulated body • Demo • For demonstration, please visit our booth.
Hardware of SPIDAR Motor and encoder Present force to user. Measure length of string. SPIDAR
Hardware performance • SPIDAR is the best device in performance • Stiff and light
7DOF 8Strings 3DOF 4Strings 6DOF 8Strings Reconfigurable hardware • Any DOF and arrangements are designable. • Same control algorithm can be used
q1 l1 q2 p1 l2 p2 r qm pm lm p3 l3 q3 Position measurement r : posture vector (x,y,z,qx , qy , qz ) pi :tied point of string on the grip qi :position of a motor li:length of string
Jp# Jr# Position measurement Solve r by iterative method
Displaying force • Simple solution t2 f2 t1 f1 tensions f t3 Directions of strings f3
Displaying force • Discontinuous problem Tension Present the same force and move the pointer. Position
Displaying force • Simple solution • Use smaller tension • Limitation • Finally Quadratic programming problem
λ =0 Displaying force 20 Full presentation area Partial presentation area λ =0.1 Calculated tension [N] 10 λ =0.2 λ =1.0 0 (-0.2,-0.2,-0.2) (0,0,0) (0.2,0.2,0.2) Position of end effecter [m]
6 λ= 0 λ= 0.1 λ= 0.2 4 λ= 0.3 Expanded figure x component of presentation force [N] 2 0 -0.1 0 0.1 0.2 0.3 x coordinate of end effecter [m] Displaying force
Haptic rendering and update rate Virtual World Force display 1 2 3 F=kx • Measure finger position • Collision detection and force calculation • Display the force
Finger position Out of the object In the object time F=kx penetration Stiff objects (large k) make too much force Haptic rendering and update rate • Problem on slow update rate
Finger position Stable contact Out of the object In the object time • Stiff object requires fast update. • It is commonly said that 1kHz or more is needed. Haptic rendering and update rate • Solution by fast update rate
0.2 0.2 0.1 0.1 0 0 -0.2 -0.1 0 0.1 -0.2 -0.1 0 0.1 Effect of fast update • Advantage of stiffness • Display of friction disturbs display of shapes. But, enough stiffness realizes both. Virtual object (gear) Virtual object (gear) 2N/mm, 1kHz 20N/mm, 10kHz Trajectory of the haptic pointer on surfaces with friction (m=0.5)
Haptic interaction • Touch the virtual world • User feels contact force from haptic interface Virtual Real
Haptic 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
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 fordynamics simulation Contact forceto feedback user
Contact model Normal force • Normal force • Prevent penetration • Friction force (coulomb’s model) • Static friction • Prevent sliding motion • Dynamic friction • Proportional to normal force Friction force |ff |< |m0fn | |ff |= |mfn |
(eq. of motion) (normal) (friction) Solving constraints(1) • Analytical method • David Baraff SIGGRAPH `89 … 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. Advantages • Object motions are stable.Wide time steps are affordable. • Solves constraints accurately.Completely rigid.
Solving constraints(2) • Penalty method . penetration d,penetrating velocityd Spring Damper . slide l,sliding velocityl Spring Damper 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. Advantages • Very fast for one step. O(n) • Direct connection to haptic interfaces. • Coulomb’s friction model is easily realized. • Integration of other models are easy. (e.g. Featherstone’s method)
? Problem on large contact area • Where should we put spring-damper model? On the most penetrating point
Problem on large contact area • Where should we put spring-damper model? ? On vertices Top view
Problem on large contact area • Where should we put spring-damper model? Will works well. But, it will takes muchcomputation time and memory. ? Many points
! Distributed model Proposal for the problem • Integrate forces from distributed model for each triangle.
Steps • Finding Contact force: • Find contact point and normal. • Find the shape of the contact volume. • Integrate forces over the contact area.
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
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.
Contact Analysis(2) • Finding the intersection of two convex Half space representation
Contact Analysis(3) • Finding the intersection of two convex(2) Half space representation Dual transform Vertex of intersection Dual transform Quick hull
Integration of force • Penalty force • Dynamic friction force • Maximum static friction force Integrate forces from distributed model for each triangle.
p2 p3 h3 h2 p1 Integration for a triangle p3 Force from spring model: Torque from from spring model:
= Distributed model = Static friction force • Spring-damper model for sliding constraint. Two (translation and rotation) models
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)
60 Proposed simulator 50 Point based method Analytical method 40 30 3 Average computation time[ms] 20 10 0 0 5 10 15 5 Number of blocks 13 Computation time
angular momentum 2m3 g=9.8m/s 0.1rad Stability 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 time[s]
Cardboard floor m0=0.265 m =0.160 2.0kg weightwrapped by paper spring 400N/m Tension force Velocity 0.0642m/s Friction force Stick-slip motion • State transition between static and dynamic friction makes stick-slip motion. m0=0.265 m =0.160 2kg 0.0642m/s Spring 400N/m friction force
friction force friction force friction force friction force position of object position of object position of object position of object Result Real world Analytical simulator 0.1 0.1 5 5 Force[N] Position[m] Position[m] Force[N] 0 0 -5 -5 0 0 0 1 2 0 1 2 Time[s] Time[s] Proposed simulator Point based simulator 0.1 0.1 5 5 Position[m] Position[m] Force[N] Force[N] 0 0 -5 -5 0 0 0 1 2 0 1 2 Time[s] Time[s]
A B The computation time for the Simulation 3 B D A C C 2 Force integration Computation time [ms] 1 Contact volume analysis Contact detection D Simulation iterations Update rate of the simulation • Update rate > 300Hz
Articulated body • Constraints of joints should strictly be kept. • Small errors can be magnified by mechanisms. • To solve generic constraints, we need much computation time. But, • Efficient computation method is affordable under some restriction of structure. • Restriction: Tree structure without ring many rings one ring
3 D C 2 B 1 A Generic method A’s eq of motion: Constraint of 1: B’s・・・・・・・・・・・・・・・・ So, we can write: Many 0,sparse matrix: There can be fast calculation method.
D D 3 3 C C 2 2 B B 1 1 A A Featherstone’s method • Suppose whole rigid bodies are one rigid body. Then find the acceleration. Find the acceleration of A • Suppose two rigid bodies of A and others. • Find the force applied to the joint 1 • Find the acceleration of B • Suppose three rigid bodies of A and B and others.…
3 D C 2 B 1 A Featherstone’s method • Look the method from a viewpoint of the sparse matrix: 1. From the leaves to the root we merge M 2.Find acceleration .
Featherstone’s method 3.Find from the root to the leaves.