A Control Approach For Real Time Human Grasp ... - jeremie le garrec

Flexion. EIL. Index distal. Extension. EDC. Index and Major phalanxes Extension. ML. Major proximal ..... first one is the addition of a reflex loop that will increase.
265KB taille 4 téléchargements 210 vues
A Control Approach For Real Time Human Grasp Simulation with Deformable Fingertips M. Rougeron, J. Le Garrec, A. Micaelli

F.B. Ouezdou

CEA LIST Route du Panorama 92265 Fontenay aux Roses, France

LISVersailles University of Versailles 10-12 Av. de l’Europe 78140 Velizy, France

Abstract— This paper presents a control approach for human grasp simulation in a real-time context. We consider a 12-dof hand grasping quasi-rigid objects, either for fine manipulation or perturbation rejection. The objective is to translate and rotate the object with respect to non-sliding conditions. In order to improve the visual realism and the stability of the simulation, we use a locally deformable model on fingertips with friction. The resolution of contact forces is used for controlling the system with a set of 23 muscles. This paper presents also a new technique for solving the grasping force optimization problem, allowing real time simulation. This work is part of a virtual human project and combines robotic control experiments and theoretical laws of deformations in a global simulation.

I. I NTRODUCTION Deformation of human fingers is a key factor in stable manipulation, as they conform to the rigid or deformable object’s shape. Moreover humans use pressure information acting on fingertips for controlling grasping. Robotic hands generally use rigid fingers, which leads to difficulties to obtain stable grasping. To overcome this problem, grasp analysis uses a large variety of contact descriptions. Compliant contacts with friction on a larger area than one point have more robustness to perturbations in the contact space [1], [2], [3]. Accordingly, we define the objective of our work: the elaboration of stable control laws to translate and rotate an object with respect to non-sliding conditions taking into account realistic deformations of fingertips in real time. For controlling motorized hands in robotics, Albu-Sch¨affer [4] and Biagiotti [5] use impedance controller, Yin [6] and Xiao [7] adopt an hybrid position/force control and Chiaverini [8] develops a parallel control structure. In this paper, we present a control scheme based on an inverse model. Since the elaboration of an efficient control architecture requires solving an optimization problem involving grasp map computation [9], [10], we present here a new technique for solving this problem under real-time constraints. To this end, we use Linear Complementary Problem (LCP) algorithms [11] for computing efficient grasping forces. For modeling fingertips and grasped objects with complex geometry obtained from laser scan, we build surfaces on points clouds [12]. The quasi-rigid formulation introduced by Pauly [13] is chosen as physical model. Quasi-rigid objects undergo small deformations on their surface, while the overall shape stay intact. This motivates their use for modeling fingertips,

contrarily to traditional models for global deformation like Finite Element Methods with high computational charge. The dynamic simulation of the object is driven by a rigid model combined with a multi-scale local deformation model. This allows us to solve efficiently the contact problem for objects of complex shape with a better stability in time critical simulation. The contact space is formulated as a Complementary Problem and solved with a Gauss-Seidel algorithm [14]. This paper first considers the dynamics of the system, with a special focus on a new method for solving the grasping forces problem. Then, we detail the solution scheme for compliant contacts. In the last section, some simulation results are presented and discussed. II. S YSTEM DYNAMICS A. Short Description The system is a virtual hand composed of 3 fingers: thumb, index and major. Each one has rigid phalanxes and a deformable fingertip on the distal phalanx. A set of 4 articulations gives 4 degrees of freedom for each finger: three flexions/extensions and an abduction/adduction at the basis of the proximal phalanx (except for the thumb where the abduction is realized at the basis of the metacarpal). The hand is commanded by a set of 23 muscles. They are inserted at different levels of phalanxes, their contraction causes the motion of fingers. In our simulation, the hand grasps a rigid object. Whatever its geometry, we must resolve compliant contacts with the hand. For simplicity, we assume that only fingertips can grasp the object. Its motion is determined by contact forces and external wrenches like gravity. B. Global Architecture We adopt this architecture (see figure 1): •







The main target is a 6 × 1 desired vector of position and orientation of the grasped object : [xd0 θ0d ]T . A PID controller transforms the position/orientation error ǫo to a desired wrench W d . A LCP algorithm optimizes the value of desired contact forces fcd that would give such a dynamic to the object. From the force error ǫfc , a control block computes the desired generalized motor torques τ d .

Fig. 1.



Global architecture

From the desired generalized motor torques, a second LCP algorithm computes muscular forces fm , such as the command of the system.

C. Problem Formulation 1) Muscles system: In figure 2, we list the 23 muscles, detailing the role of each one and their insertion points. According to anatomic considerations, muscles are attached to bones in one, two, or three insertion points. We can link the set of muscle forces with the set of equivalent articular torques in a linear way [15]: τ = Hfm

(1)

where τ is the 12 × 1 vector of generalized joint torques, H is a 12 × 23 matrix, homogeneous with lengths, dealing with leverage between the insertion point of the muscle and the joint position, fm is the 23 × 1 vector of muscle forces. Each element of matrix H may be computed easily. If muscle j implies a movement in joint i, then :   → → → (2) Hij = Oi Mj × Dj · Ti

Muscles OP APL FPB EPB FPL EPL AP APB IL PI DI FDSI EIB FDPI EIL EDC ML PM DM FDSM EMB FDPM EML

Insertions Thumb metacarpal Thumb metacarpal Thumb proximal Thumb proximal Thumb distal Thumb distal Thumb proximal and distal Thumb proximal and distal Index proximal Index proximal Index proximal Index medial Index medial Index distal Index distal Index and Major phalanxes Major proximal Major proximal Major proximal Major medial Major medial Major distal Major distal Fig. 2.

Hand muscle system.

Fig. 3.

Computation of Hij

Function Adduction Abduction Flexion Extension Flexion Extension Adduction Abduction Flexion Abduction Adduction Flexion Extension Flexion Extension Extension Flexion Abduction Adduction Flexion Extension Flexion Extension

where Oi is the joint position, Ti the rotation axis, Mj is the insertion point of the muscle (attachment of the tendon on the bone), Dj the unitary direction of the force (see figure 3, example for an extensor in the index middle phalanx). 2) First Order Dynamics: Due to the slowness of the movement and the small mass of fingers, inertia terms have low influence. Thus, we neglect second order terms in the motion equation of a finger i: bq˙i + gi (qi ) = τi − JiT (qi )fci

(3)

where b is the viscosity (assumed identical for all joints), qi is the 4×1 vector of joint configuration, gi (qi ) is the 4×1 vector of gravity terms, τi is the 4 × 1 vector of externally applied generalized torques, Ji (qi ) is the 3 × 4 jacobian matrix of the finger, and fci is the 3 × 1 vector of contact forces applied to the grasped object by finger i. We use (1) for relying torques τi with the set of muscle forces. For the grasped objet dynamics, we still omit the second order terms because of the slowness of the movement:  Pn bt x˙ o = Fext + Pi=1 fci (4) n bo q˙o = Mext + i=1 OCi × fci where bt is the translation damping factor, xo is the 3 × 1 position vector of the object centroid O, bo is the rotational viscosity of the object, qo is the 3 × 1 vector of its angular configuration, Ci the position of the contact of the ith finger

with the object, fci is the 3×1 vector of contact forces between the ith finger and the object, n is the number of contacts and Wext = [Fext Mext ]T is the external wrench. Let us call D = [bt x˙ o bo q˙o ]T the dynamic wrench of the object. Equation (4) can be rewritten: D = Wext + Gfc

(5)

where G is the 6×3n so-called matrix ”Grasp Map” [16], and fc is the 3n vector of contact forces. The form of the grasp

map is the following:  I3 G= v1 

0 vi =  OCi (3) −OCi (2)

D. Grasp Map Problem ··· ···

I3 vn

−OCi (3) 0 OCi (1)



∈ ℜ6×3n

(6)

 OCi (2) −OCi (1)  ∈ ℜ3×3 0

(7)

In the simulation, the main objective is to control the object configuration. Thus, we need to compute contact forces that will guarantee a desired dynamic wrench Dd to the object. Let us denote W d = Dd − Wext , the objective is to find a desired contact force fcd , solving the following problem: W d = Gfcd

(8)

A stable grasp prevents fingers from sliding at each contact. That is why each force direction must be contained in a friction linearized cone, parameterized by a coefficient µ. For the finger i, decomposing the force fci with the normal component fci,n and two tangential components fci,u and fci,v (see figure 4), five inequalities must be satisfied:  i,u  fc ≤ µfci,n , fci,u ≥ −µfci,n , f i,v ≤ µfci,n , fci,v ≥ −µfci,n , (9)  ci,n fc ≥ 0

A local frame (ni , ui , vi) is built at the contact point (see figure 4) and with : Ai = [µnTi − uTi , µnTi + uTi , µnTi − viT , µnTi + viT , nTi ]T (10) then non-sliding inequalities are equivalent to: Ai fci

≥ 05×1

(11)

Finally, generalizing to the entire hand, we get the friction condition (5n inequalities): Afc ≥ 0

(12)

A is a 5n × 3n matrix. No-sliding condition, illustrated by a friction pyramid is an approximation for computing desired contact forces. In section 3, we will work out a more elaborated model contact. friction pyramid f

Fingertip

f

fu

Grasped Object

J=

n X 1 T λi fci,n fc fc − 2 i=1

(13)

The first term deals with the minimization of the force amplitudes and the second one improves stability and stiffness by increasing the normal component fci,n . λi are weightening parameters that give more or less importance to one of each term. Due to the assumption that all fingers have the same influence on the grasp, we take λi = λ, ∀i = 1 . . . n. Hence using the 3n × 1 vector c = −λ[nT1 . . . nTn ]T , the final criteria can be written as: 1 J = fcT fc + cT fc (14) 2 Consequently, the choice is given to get either contact forces with low amplitudes but close to the frontiers of the linearized cone (that means near to sliding and instability) or contact forces with greater amplitudes but near to the normal directions. Finally, the whole optimization problem can be stated as: min J(fc ), Gfc = W d , Afc ≥ 0

(15)

2) Optimization techniques: Problem (15) contains 6 equalities and 5n inequalities. Using Lagrangian multipliers [11]: 1 T f fc + cT fc + φT (Gfc − W d ) − γ T Afc (16) 2 c δL = 0, and the construction of the From the equation δf c 3n projector of ℜ , π = I − GT (GGT )−1 G, we obtain this relation: πfc + πc − πAT γ = 0 (17) L=

Equation (17) can be combined by the grasp equality for obtaining the system :       −πc π πAT γ= (18) fc − G 0 Wd

n fn

The resolution of equation (8) is related to the number of contacts. A two-fingered grasp builds a 6x6 system with only one solution but the condition (12) will not be necessary satisfied. The redundancy and the feasibility of the problem increase with the number of contacts. We can take advantage of the redundancy for optimizing a criteria. Here, we use a LCP (Linear Complementary Problem [11]) for minimizing the criteria with respect to inequality constraints. 1) Optimization Problem: In a similar way to [10], the chosen criteria chosen is quadratic:

u

fv v Fingertip

Fig. 4. Left: non-sliding conditions by friction pyramid. Right: decomposition of contact forces in normal and tangential directions.

Finally, multiplying the system by : [π GT (GGT )−1 ] and using that π 2 = π, we find the equivalence between the optimization problem and the LCP (q, M ):   h − Mz = q h, z ≥ 0 (19)  hT z = 0 with M = AπAT and q = −Aπc + AπGT (GGT )−1 W d .

As the problem is quadratic, it ensures the existence of the optimum.M is a 5n × 5n, symetric and positive matrix. q is a 5n × 1 vector. We compute the solution fcopt = A∗ h with the pseudo-inverse of matrix A seen in equation (12). LCP can be solved by different methods: forward algorithms (Lemke, Dantzig) or iteratives ones (Gauss-Seidel). In our simulator, we chose a Lemke algorithm for solving (19). Results are computed in less than 40µs on a simple desktop PC (Intel Pentium IV, 2.2GHz, 1 Go RAM). The use of a LCP for solving such an optimization problem gives efficient results, without constraint of initialization. If the problem has no solution, the algorithm will warn immediately that the problem is not feasible, without divergence and loss of time. E. Control scheme The control block is based on an inverse model technique [8]. The objective is to estimate the behavior of the system and to guess how moving the fingertips for getting a desired evolution of the contact force. In section 3, we will work out an elaborated contact model. But for the control scheme, as the objective is only to compute a desired torque τ d , we use a simple one:  n fc = Kn ǫn + νn ǫ˙n (20) fct = Kt ǫt + νt ǫ˙t where ǫn (respectively ǫt ) is the normal (respectively tangential) penetration, Kn , Kt , νn and νt are visco-elastic coefficients of the contact, and fcn (respectively fct ) is the normal (respectively tangential) force applied to the object. From the error ǫfc = fcd − fc , we split normal and tangential components ǫfcn and ǫfct before applying two model filters: un =

1 1 ǫf n , ut = ǫf t Kn + νn s c Kt + νt s c

(21)

un and ut behave as position errors of fingertips. We compute the 4 × 1 desired vector of motor torques using the pseudoinverse of the jacobian matrix of each finger: τ d = KJ T (JJ T )−1 (un + ut )

(22)

III. R ESOLUTION OF THE C OMPLIANT C ONTACT WITH F RICTION A. Overview of Our Approach In last section, we used approximations of the contact model for simplifying the computation of some parameters. Here, we work out the model implemented in the simulator. The goal is to determine the contact surface between the fingertips and the grasped object and to compute the force and the deformation acting on this surface. The overview of this method can be summarized in five points: • The Free Motion will integrate the movement of the system (fingers and grasped object) taking into account muscle forces, external wrenches (like gravity), but not contact forces. • The Collision Detection algorithm gives contact normals and geometric configurations of the contact space. • We use a LCP formulation to solve the contact forces with friction such that the displacement of control points will deform the surfaces. • An algorithm close to the Gauss Seidel method converges toward a solution. • Contact forces are integrated in the Constrained Motion. Bodies are modeled by an unstructured set of points. Using this representation seems to be the most adapted geometric modelling for fingertips exactly conform to the object in the contact area. B. Collision Detection We use a bounding volume (BV) hierarchy for collision detection. It is a very efficient data structure for time critical application [17]. We choose to implement a binary tree with sphere as BV. The update of this hierarchy is done by hybrid strategy [18] because of objects deformations. Each node stores a sample of points underneath, which yields different levels of detail of the surface. Leaf nodes must achieve a hole-free coverage of the surface, to avoid missed collisions. First, the computation of forces can be done at a coarser level before using interpolation for propagating them to the next level. This accelerates computation time. The traversal of hierarchies is inspired by [17]. We compute an approximating signed distance between points with an implicit function [19]. C. Linear Complementarity Formulation

F. Muscle resolution The control scheme gives a desired motor torque τ d , the objective is to compute muscle forces fm . We take advantage of the redundancy of the system (23 muscles for 12 degrees of freedom) for minimizing a criteria (the amplitude of muscular forces for example), with respect of the equality constraint presented in (1), adding linear an inequality constraint (muscular forces must be positive). Thus, the optimization problem is:

Given the set of active points {(p, q) |p ∈ SA , q ∈ SB } on the surface of two objects A and B, we must find the contact forces acting on this points such that the displacement will deform the surfaces not to interpenetrate (figure 5). p

p n

q

T min J(fm ) = fm fm , Hfm = τ d , f m ≥ 0

u(p) u(q) q

(23)

For optimizing the problem, we use the same method as for grasp map problem, see section 2.D.

Left: active points (p, q) obtained with collision detection. Right: displacements (up ,uq ) to obtain zero gap.

Fig. 5.

This problem is solved using the method introduced by [14]. We choose an arbitrary direction for the contact normal n: fp = −fq = f n n We define the gap : δpn = (p − q)·n. Points in contact space are chosen in a set determined by the collision detection with δpn < δǫ and δǫ > 0. The positive threshold δǫ permits to introduce in contact space the neighborhood area of contact, which could penetrate during the step of contact resolution. To solve contact forces, we use a linear complementarity problem LCP formulation [13], [14]. For each potential contact point, we can write: 0 ≤ f n ⊥δ n ≥ 0

(24)

This is called the Signorini’s problem. For linearizing it, the contact space is frozen during the current time step, called the free motion. With the collision detection detailed above, we can compute the value of each gap, denoted δ nf ree , and the contact normal without contact forces. Deformation displacements up and uq are defined between the free motion and the constrained motion, after solving Signorini’s problem and the integration of contact forces: δpn = (up − uq ) · n + δpnf ree

(25)

D. Contact Resolution

S

up =

PN

i=0

PN

θ(kp − pci k)upci

i=0

θ(kp − pci k)

(27)

where θ(x) is a gaussian weighted function. We can equivalently interpolate the unknown contact force at pc , with the force f n obtained in the contact space. By stacking relations (25), (26) and (27) for each contact on the Si for a   surface couple of objects, we can write matrices H Si such that: X   T H Si C Si H Si )fpn + δpnf ree δpn = ( |

i

{z W

(28)

}

W is named Delassus operator [14]. To simulate friction, Coulomb’s law describes the behaviour in tangent contact space: δpt = 0 ⇒ kf t k < µ kf n k δt (29) δpt 6= 0 ⇒ kf t k = −µ kf n k δpt k pk Then we linearize the system along two tangential directions, f t1 and f t2 :  n      nf ree  Wnn (Wnt )(1×2) f n δ δ = + tf ree (30) δt ft (Wtn )(2×1) [Wtt ](2×2) δ We use a Gauss-Seidel like algorithm to solve Signorini’s and Coulomb’s laws with a guaranteed convergence [14]. As the quasi-rigid approach [13] splits the global motion from a local linear relative displacement, we can sum up these two models in compliance within the contact space. The equation (28) can be rewritten as

Object 1 1

pc0 · · · pcN by:

pc

S0

δp = [Wrigid + Wdef orm ] fp + δpf ree

pc Object 0

Fig. 6. Control points pc on the interpenetrating surfaces S 0 and S 1 , chosen as centers of lead nodes in the BV hierarchy.

(31)

2) Deformable Model: A displacement upci of a control point pci induced by a force fcj acting at pcj is given by

upci = φj ( pci − pcj )fcj (32)

φ is a function of influence. In our simulation: 1) Quasi Rigid Model: We use the approach of quasi-rigid model introduced by [13], which splits the global motion, driven by a rigid model, from a local relative displacement driven by a linear deformable model. The deformation of the e = f where K e is surface points can be linearized to Ku analogous to a stiffness and depends on the intrinsic properties of the object. The deformation is simulated by adding a e −1 on N control points pc · · · pc on the compliance C = (K) N 0 surface chosen as the center of the leaf nodes in the BV hierarchy (figure 6). A linear relation links the constrained control node displacements upc = [upc0 · · · upcN ]T and contact forces fpc = [fpc0 · · · fpcN ]T : upc = [Cpc ] fpc + ufpcree

(26)

ufpcree is analogous to δpnf ree in (25). The displacement of the contact point p is interpolated from all controlled points

φj (x) = gauss(x)Ccj

(33)

where Ccj is the compliance at point pcj and gauss(x) a gaussian. Since we assume linear elasticity, the total displacement at pci is the superposition of contribution of all neighboring points. Using an implicit Euler scheme, the compliance include stiffness (K) and damping effects (D) such as D −1 ) . Then we can compute Wdef orm using Cci = (K + ∆T the equation (28). 3) Rigid Model: We use the quasi-static generalized form for the rigid model [20]: b(q, q) ˙ q˙ = Γext + Γcontact

(34)

where q is the articular configuration, b the viscosity (chosen constant), Γext the resultant of external forces and Γcontact the contact forces. [20] introduced a methodology to map the rigid motion space into the contact space, using a jacobian Jc .

We can now express the motion of the gaps in the contact space due to a rigid motion:   (35) δ˙p = Jc b−1 JcT fp + δ˙pf ree

Finally, we obtain the rigid form of the Delassus operator integrated with an implicit Euler method: "   # −1 b T Wrigid = Jc Jc (36) ∆t

The desired object’s motion is an horizontal translation. On figure 9, the blue curve shows the horizontal displacement, the red curve the vertical one. The grasp is successful and the object reaches its desired position. Figure 10 sums up the evolution of contact forces for one finger (red curve for the normal component, blue curve for the tangential one). Dotted curves correspond to the required forces computed by the LCP.

This model allows for a stable real time simulation with an arbitrary choice of time step. IV. S IMULATION RESULTS We tested our simulation with the grasping of a box by three fingers. All computations were performed on a simple desktop PC (Intel Pentium IV, 2.2GHz, 1 Go RAM). The box is composed by 36K sampled points and 4800 control points and each fingertip is composed by 2400 sampled points and 320 control points (figures 7 and 8). Total contact computation including collision detection, filling Dellassus operator, Gauss Seidel algorithm resolution, control points deformation and surface displacement interpolation takes 20ms for 60 instantaneous contact points, 10ms for 30 points and 6ms for 15 points.

Fig. 7.

Vertical and horizontal displacements of the object for reaching the target (dashdot lines). Fig. 9.

Real-time simulation with three controlled fingers grasping

a box.

Normal (red) and tangential (blue) contact forces for index finger. Dashdot lines represent desired contact forces computed by the LCP. Fig. 10.

V. C ONCLUSION

Fig. 8.

Deformations of fingertips on the box.

We presented a control approach for human grasp simulation in a real-time context. We described a new technique solving the grasping force optimization problem and the articularmuscular passage using a LCP with a Lemke algorithm. The control is realized with an inverse model and fingertips apply forces with friction on an object after solving the compliant contact. The simulator we developed runs in real time and this approach has been validated with a three-fingered grasp.

Our simulator may be improved by several extensions. The first one is the addition of a reflex loop that will increase the robustness to external perturbations. The second one is a study of the stiffness of the grasp: at the contact level for regulating the tightening of the object, and at the muscular level for regulating the contraction of the set of muscles. Work for complex tasks, like insertion of the peg in the hole, is in progress. This will be particularly important for testing other control schemes. A human-like behavior is a key of the simulation. Comparisons tests are in progress for linking the control schemes with the behavior of the human muscular system during grasping tasks. R EFERENCES [1] M. Ciocarlie, A. Miller and P. Allen, Grasp Analysis using deformable fingers. In IEEE International Conference on Intelligent Robots and Systems, Aug. 2005. [2] A. Ghafoor, J.S. Dai and J. Duffy, Stiffness Modeling of the Soft-Finger Contact in Robotic Grasping. In Journal of Mechanical Design, 126, 4, pp. 646-656, July 2004. [3] C. H. Xiong, M. Y. Wang, Y. Tang, and Y. L. Xiong, Compliant grasping with passive forces. In Journal of Robotic Systems, 22(5), pp. 271-285, May 2005. [4] A. Albu-Sch¨affer and G. Hirzinger, Cartesian Impedance Control Techniques for Torque Controlled Light-Weight Robots. In IEEE International Conference on Robotics and Automation, pp. 657-663 May 2002. [5] L. Biagiotti, H. Liu, G. Hirzinger and C. Melchiorri, Cartesian Impedance Control for Dexterous Manipulation. In IEEE International Conference on Robotics and Automation, pp. 3270-3275, Oct. 2003. [6] Y. Yin, Z. Luo, M. Svinin and S. Hosoe, Hybrid Control of Multifingered Robot Hand for Dexterous Manipulation. In IEEE International Conference on Systems, Man and Cybernetics, pp. 3639-3644, 2003. [7] D. Xiao, B. Ghosh, N. Xi and T.J. Tarn, Sensor-Based Hybrid Position/Force Control of a Robot Manipulator in an Uncalibrated Environment. In IEEE Transactions on Control Systems Technology, 8, 4, pp. 635-645, 2000. [8] S. Chiaverini, B. Siciliano and L. Villani, Parallel Force/Position Control With Stiffness Adaptation. In IEEE International Conference on Robotics and Automation, pp. 1136-1141, 1997. [9] J.j Xu, G.F. Liu, X. Wang and Z.X. Li, A Study On Geometric Algorithms for Real-time Grasping Force Optimization. In IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 3441-3446, Oct. 2003. [10] J.P. Saut, C. Rmond, V. Perdereau and M. Drouin, Online Computation of Grasping Forces in Multi-fingered Hands. In IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 2918-2923, 2005. [11] K.G. Murty, Linear Complementarity, Linear and Nonlinear Programming. In IEEE Transactions on Robotics and Automation, 16, 6, pp. 663674 1988. [12] A. Adamson and M. Alexa, Approximating and intersecting surfaces from points. In Proceedings of Eurographics Symposium on Geometry Processing SPG 03, pp. 230-239, June 2003. [13] M. Pauly, D. Pai and L. Guibas, Quasi-Rigid Objects in Contact. ACM Siggraph/Eurographics Symposium on Computer Animation 2004. [14] C. Duriez, F. Dubois, A. Kheddar and C. Andriot, A multi-threaded approach for deformable/rigid contacts with haptic feedback. HapticSymposium in IEEE Virtual Reality conference, Chicago, USA 2004. [15] J. Chalfoun, R. Younes, M. Renault and F.B. Ouezdou, Forces, activation and displacement prediction during free movement in the hand and forearm. Journal of Robotic Systems, 22(11), pp. 653-660, 2005. [16] G. Liu and Z. Li, Real-time Grasping Force Optimization for multifingered Manipulation. IEEE/ASME Transactions on Mechatronics, 9(1), pp. 65-77, 2004. [17] J. Klein and G. Zachmann, Point Cloud Collision Detection. In Computer Graphics Forum (Proceedings of Eurographics 2004), 23, 3, Grenoble, France, pp. 567-576, Sep. 2004. [18] T. Larsson and T. Akenine-MllerCollision, Detection for Continuously Deforming Bodies. Eurographics 2001, Short Presentations, p 325-333, Sep. 2001.

[19] R. Keiser, M. M¨uller, B. Heidelberger, M. Teschner and M. Gross, Contact Handling for Deformable Point-Based Objects. Proceedings of Vision, Modeling, Visualization VMV’04, Stanford, CA, pp. 339-346, Nov. 2004. [20] D. Ruspini and O. Khatib, Collision/Contact Models for the Dynamic Simulation of Complex Environments. IEEE/RSJ IROS’97, Sept. 1997.