HAPCO: REAL TIME SIMULATION OF INTERACTION

BETWEEN DEFORMABLE OBJECTS WITH HAPTIC

FEEDBACK FOR SOLVING FRICTION MULTIPLE CONTACTS

Nadjet Talbi, Pierre Joli

Laboratory IBISC, Evry Val d’Essonne university, 40 rue de Pelvoux, 91020 Evry, France

Zhi-Qiang Feng

Laboratory LME, Evry Val d’EssonneUniversity, 40 Rue de Pelvoux, 91020 Evry, France

Abderrahmane Kheddar

Laboratory JRL, AIST Tsukuba Central 2, Umezono 1-1-1, Tsukuba 305-8568, Japan

Keywords: Friction Contact, Interactive Simulation, Haptic rendering, Uzawa technic, Bi-potential Method.

Abstract: This paper deals principally with the comparison of two efficient algorithms to solve multi-contact problems

with friction between two deformable bodies. These two algorithms are based on the bi-potential

formulation of the contact laws, offering the control of the solution at each contact point through an unique

mathematical operator of projection as well as a better force feedback stability of the friction contact force.

For reasons of modular programming, a method to decouple the contact solver from the displacement

solver is presented. A Haptic Contact simulator called “HapCo” has been developed as a prototype to test

contact algorithms between two deformable objects in the context of interactive simulation with a haptic

device.

1 INTRODUCTION

During the last twenty years, technologies related to

medical areas have enormously improved; one of

them is medical interactive simulators. The interest

of interactive simulators based on advanced virtual

and augmented reality techniques comes mainly

from the surgeon’s needs in terms of advanced

teaching and training tools. Virtual Reality has been

developed for many years in this context to reduce

learning problems. The interactive simulation

associated with multimodal rendering (haptic, visual,

touch …) provides medical operators the possibility

to learn faster and easier. Surgical simulators are

currently being developed at many research centers

and companies (Gibson et al., 1997), (Cotin et al.,

2000) , (Zhuang, 2000) to create environments to

help train physicians in the use of new surgical

instruments and techniques in minimally invasive

surgery. In this type of application, the numerical

context is soft body simulation based on physical

models. Because surgical instruments are typically

long slender structures, the contact points are limited

to one point (point-based rendering) or some points

along a segment (ray-based rendering) but never on

a surface (surface-based rendering). However it

could be interesting to consider for example the

shape of a new surgical tool to test its efficiency in

surgical tasks such as pulling, clamping, gripping

and cutting soft tissue. Multiple contact points could

be considered in that case between a rigid body (the

tool) and the deformable object (the tissue). But in

all complex simulated surgical tasks, we have to

consider the organ-organ interaction through a

surfaced distribution of contact points between two

deformable bodies. In such a medical context of

simulation, there is an ongoing quest for faster

algorithms to solve multiple contact forces while

controlling the numerical stability of the solution.

A real time simulation relies on three optimized

55

Talbi N., Joli P., Feng Z. and Kheddar A. (2008).

HAPCO: REAL TIME SIMULATION OF INTERACTION BETWEEN DEFORMABLE OBJECTS WITH HAPTIC FEEDBACK FOR SOLVING FRICTION

MULTIPLE CONTACTS.

In Proceedings of the Third International Conference on Computer Graphics Theory and Applications, pages 55-61

DOI: 10.5220/0001095900550061

Copyright

c

SciTePress

numerical “black boxes”, the first one to detect the

potential contact points (collision detector), the

second one to solve the nodal displacements of the

discrete objects (displacement solver) and the third

one to solve the multiple friction contact forces

(contact solver). This paper concerns only

descriptions about the contact solver. Interested

readers may refer to (Teschner et al., 2004), (Lin,

1998) for a review of collision detectors and to

(Erleben et al., 2005), (Gibson, 1997) about physics-

based displacement solvers.

In the next section, we present a Haptic

Contact simulator called “HapCo” developed in our

laboratory as a prototype to test contact algorithms

between two deformable objects in the context of

interactive simulation with a haptic device. The

important concept of the flexibility method is

presented in which there is a separation between the

computation of the contact forces and the

computation of the nodal displacements.

The third section presents the formulation and

the resolution of friction contact problems and it is

focus on two efficient algorithms for the contact

solver, called respectively “local Uzawa” and

“global Uzawa”. They are both based on a

bipotential formulation introduced by De Saxcé and

Feng (De Saxce, 1991), (Feng, 1995). This

formulation has the advantage to control the solution

of the friction contact force. Finally we report and

discuss the experimental results followed by some

perspectives of future works.

2 DESCRPTION OF THE

“HAPCO” SIMULATOR

The Haptic Contact “HapCo” simulator is a

prototype developed in our laboratory to test contact

algorithms between two deformable bodies in the

context of interactive simulation with a haptic

device. These two bodies are parallelepiped (see

figure 5), The red one can be clamped at its

extremities and the green one can be manipulated in

translation by the operator through a PHANTOM

Desktop haptic interface (Sensable).

In the HapCo simulator, we use a linear elastic

modelling of the bodies based on the Finite Element

Method (FEM). We consider only quasi-static

analysis because of very small inertial forces in

medical applications. The linear elastic modeling is

not really justified because it is only accurate for

small deformations which is not the case of soft

tissues (hyperelastic deformations). We have chosen

the linear modeling only for reasons of simplicity

and computational efficiency. It is important to

announce that our friction contact solver is suitable

either for the non linear modeling or any other

deformation modeling since it is based on the

principle of flexibility (Francavilla, 1975) which

allows to decouple the numerical task of the

displacement solver from the numerical task of the

friction contact force solver.

Figure 1: Data flow chart of the HapCo simulator.

The figure 1 describes the functional diagram

of the interactive simulation in “HapCo”. When a

collision is detected between the green body and the

red one (see figure 5), the displacement solver

computes the relative free displacement between

the potential pairs of contact points. Then the contact

solver gives the local contact forces r in order to

avoid any interpenetration (Signorini condition) and

to satisfy Coulomb laws (stick/slip phenomena).

Finally the displacement solver computes all

the nodal positions of the two bodies by

considering the contact forces as external (or given

forces). The haptic rendering force is then computed

from the given contact forces and sent back to the

operator.

So this feedback force takes into account the

stiffnness of the two bodies and the friction contact

laws (Signorini and Coulomb) of all contact points

distributed on the contact surface. The next step of

the simulation process is reinitialised from the new

increment of rigid displacement given by the

operator through the haptic device. The sample

frequency of the elapsed time must be superior to 25

Hz to have an accurate visual rendering and superior

to 300 Hz to have an accurate haptic force rendering.

view). The main objective of HapCo is to test

different algorithms to solve multi friction contact

problem in order to determinate witch one gives the

best stable force feedback in real-time.

GRAPP 2008 - International Conference on Computer Graphics Theory and Applications

56

3 ALGORITHMIC PRINCIPLE

We propose to follow an incremental mixed

formulation (displacement and contact force) of the

equilibrium equations and to solve separately the

contact force by successive local projections of these

equations in the local reference frames at contact

points. This method is called the flexibility method

because it consists of establishing a flexibility matrix

(Francavilla, 1975) or a Delassus operator (Duriez,

2005).

In order to calculate the friction contact forces,

the contact laws (Signorini and Coulomb) are

formulated from an augmented Lagrangian

formulation (bi-potential formulation) and computed

by an Uzawa technique which leads to an iterative

predictor/corrector process. The bipotential method

proposed by De Saxcé and Feng (Feng, 2003),

(Feng, 1995) provides a powerful tool to model

dissipative constitutive laws such as Coulomb

friction laws. The figure 2 describes the basic

principle of this method. Interested readers can find

more details in (De Saxcé, 1991 and Wriggers,

2002).

Figure 2: Principle Algorithm.

3.1 Incremental Formulation of

Equilibrium Equations

The following equation governs the quasi static

nonlinear problems involving contact between finite

element bodies:

F

int

+ F

ext

+ R =0

where F

int

is the vector of internal nodal forces,

F

ext

denotes the vector of external nodal forces and

R, the vector of nodal contact forces.

This equation is strongly nonlinear with respect

to the nodal displacements U, because of finite

strains and large displacements. The incremental

formulation consists of writing a linear relation of

the internal forces relative to U. A Newton-Raphson

iterative resolution is carried out as follows:

⎧

⎪

⎨

⎪

⎩

ii i

Tintext

i+1 i

K ∆U=F +F +R

U=U+∆U

where i is the iteration number at which the

equations are computed.

i

T

K is the tangent stiffness

matrix and ∆U is the correction vector of the nodal

displacements. Taking the derivative of F

int

with

respect to U gives the tangent stiffness matrix:

int

∂

=−

∂

T

F

K

U

It is noted that the incremental formulation of

the equilibrium equations can not be solved directly

since ∆U and R are both unknown. The key idea is

to determine first R in a reduced system which only

concerns the contact nodes. Then ∆U can be

computed in the whole structure, using contact

reactions as external forces. In the following section,

we describe how to determine the contact forces.

3.2 Friction Contact Formulation

Figure 3: Local coordinate frame at the contact point

α

.

The unilateral contact law in the case of

deformable objects is characterized by a linear

relationship between the constraint displacement

α

u

and the contact force

α

r, for each pair of contact

points

α

= (1..m) as shown in figure 3. This relation

can be written as:

ααβ α α

αα

+Wr+uu=u

where W

αα

and

α

u

represent respectively the

local flexibility matrix (3x3dimension) and the free

displacement at the contact point α (i.e. when all the

contact forces are zero).

αβ

u is the displacement at

the contact point α induced by the contact forces

occurring at contact points α≠β.

α

u,

αβ

u and

α

r are

defined relative to the local coordinate frame

positioned at the contact point

α

. The flexibility

matrix depends on the local stiffness of each object

in contact and the free displacement depends on the

internal forces and the external forces applied to

Ω

1

Ω

2

P

α

P’

α

n

t

1

t

2

u

n

HAPCO: REAL TIME SIMULATION OF INTERACTION BETWEEN DEFORMABLE OBJECTS WITH HAPTIC

FEEDBACK FOR SOLVING FRICTION MULTIPLE CONTACTS

57

each object in contact.

This equation represents a system of 3 scalar

equations where the local unknowns are

α

u and

α

r

(6 scalar unknowns). To describe the local behavior

of each contact point

α

additive constraints are

necessary.

The unilateral contact law is characterized by a

geometric condition of non-penetration, a static

condition of no-adhesion and a mechanical

complementary condition. These three conditions

are known as Signorini conditions expressed, for

each contact point

α

, in terms of the normal signed

constrained displacement

α

u

n

=

α

u.n and the normal

signed contact force

α

r

n

=

α

r.n by:

Signor( , ) 0, 0 and ( ) 0

nn n n nn

ur u r ur

αα α α αα

⇔≥ ≥ =

The classical Coulomb friction rule is defined by:

Coul( , ) If 0 then

else

tt t t n

t

t

t

r

α

αα αα

α

α

α

µ

µ

⇔= ≤

=−

ur u r

u

r

u

Where

µ

is the coefficient of friction and

α

u

t

(resp.

α

r

t

) is the tangential part of

α

u (resp.

α

r).

The complete contact laws (Signorini condition

+ Coulomb friction laws) can be defined by the three

contact states as follows:

•

0and 0

nn

ur

αα

>=

(Separating)

•

0

and int ( )

t

t

K

α

α

α

µ

⎧

=

⎪

⎨

⎪

∈

⎩

u

r

(Contact with sticking)

•

0

and bd ( )

with

t

t

t

tn

t

K

r

α

αα

µ

α

αα

α

µ

⎧

⎪

≠

⎪

⎪

⎪

∈

⎨

⎪

⎪

=−

⎪

⎪

⎩

u

r

u

r

u

(Contact with sliding)

Where

K

α

µ

is the so-called Coulomb cone at

the contact point

α

and represents the set of

admissible forces defined by:

{

}

3

tel que 0 et 0

ntn

KRr r

αα α α α

µ

µ

=∈ ≥ − ≤rr

The terms

int( )K

α

µ

and

b

d ( )K

α

µ

are respectively

the interior and the surface of the Coulomb cone.

The contact laws give no explicit relation between

α

r

t

and

α

u

t

in case of contact with sticking and in

case of no contact.

Based on the augmented lagrangian method

used to solve contact problems (Alart, 1991 and

Simo, 1992), De Saxcé and Feng have proposed to

use the bi-potential formulation to write the

complete contact laws by the following projection

operator:

*

**

*

Proj ( )

with

K

t

µ

αα

αα α

αα α

ρ

µ

=

=−

=+

rr

rr u

uu un

Where

α

r

*

is the so-called augmented contact force

at the contact point

α

.

Proj

K

µ

is the projection

operator on the Coulomb cone.

ρ

is an arbitrary

positive parameter. The three possible contact states

are illustrated in figure 4.

Figure 4: Coulomb cone projection and contact states.

Within the bi-potential framework, the

projection operation can be explicitly defined by:

** **

***

**

*

**

2

*

Proj ( ) = si Sticking

Proj ( ) = 0 si No Contact

Proj ( ) = liding

1

Ktn

Ktn

tn

t

K

t

r

r

r

S

µ

µ

µ

αα α

αα

α

α

αα

α

µ

µ

µ

µ

µ

≤

≤−

⎛⎞⎛⎞

−

⎜⎟⎜⎟

−−

⎜⎟⎜⎟

+

⎜⎟⎜⎟

⎝⎠⎝⎠

rr r

rr

r

r

rr n

r

3.3 Friction Contact Resolution

From the above equations and by considering m

contact points, we have to solve successively m local

systems (

α

=1, m) described as:

*

0

Proj ( ) 0

K

µ

αααβα

αα

αα

⎧

−

−−=

⎪

⎨

−=

⎪

⎩

uW r u u

rr

These m local systems are implicitly dependent

GRAPP 2008 - International Conference on Computer Graphics Theory and Applications

58

because of

αβ

u which has the following expression:

1,m

αβ β

αβ

β

αβ

=

≠

=

∑

uWr

Where each W

αβ

can be considered as an

influence matrix between two contact points

α

and

β

. To solve these local systems, we propose the two

following approaches:

3.3.1 Local Uzawa Approach

The non linear iterative Gauss Seidel algorithm

consists of solving successively the m local systems

at each iteration k:

(1) (1) (1)

(1) (1)*

(1) (1) ()

1, 1 1,

0

Proj ( ) 0

kkk

kk

K

kk k

m

µ

αααβα

αα

αα

αβ β β

αβ αβ

βα βα

+++

++

++

=− =+

⎧

−−−=

⎪

⎨

−=

⎪

⎩

=+

∑∑

uWr uu

rr

uWr Wr

Until we obtain the numerical convergence defined

by:

( 1) () () 1() ()

1

( ,...., )

kk kkmk

rr

ε

+

−< =rr r

where

ε

1

is the numerical tolerance of the global

contact force which can be related to the precision of

the haptic device. The initial value is

(0)

0=r .

Now we have to solve for each local system the

unknowns

(1)k

α

+

u

and

(1)k

α

+

r

. The numerical

solution can be carried out by means of the Uzawa

algorithm which leads thus to an iterative process:

(1)()

*( 1)( 1) ( 1)( ) ( 1)( )

(1)(1) *(1)(1)

(1)(1) (1)(1) (1)

()

Proj ( )

kj

kj kj kj

t

kj kj

K

kj kj k

µ

αααα

αα

αααβα

αα

ρµ

+

++ + +

++ ++

++ ++ +

=− +

=

=++

rruun

rr

uWr uu

The numerical convergence is given by:

( 1)( 1) ( 1)( )

2

kj kj

αα

ε

ρ

++ +

−

<

rr

ε

2

is a second numerical tolerance which can be

related to the desired visual rendering or to the

physical interpenetration tolerance which can be

estimated from characteristic lengths of the objects

in contact. The initial values are

(1)(0)

0

k

α

+

=

r and

(1)(0) (1)kk

α

αβ α

++

=+

uuu.

We call this approach the “local Uzawa”.

Indeed, the two presented iterative processes

compute all the contact forces with two levels of

control. One is local to each contact point and based

on visual rendering and the other is global and based

on the haptic rendering.

3.3.2 Global Uzawa Approach

Another way is to have a control only on the haptic

rendering by considering only one predictor

corrector step in the Uzawa algorithm:

• Predictor step:

()

*( 1) ( 1) ( )

()

k

kk k

t

αα αα

ρµ

++

=− +rr uun

• Corrector step

(1) *(1)

Proj ( )

kk

K

µ

αα

++

=rr

• Back up the new constrained displacement

(1) (1) (1)kkk

α

ααβ α

αα

+++

=++

uWr u u

We call this approach the “global Uzawa”.

Many examples have been successfully treated

(Feng, 1995 and 2003) with the global Uzawa

approach but only in a standard simulation process

(non interactive). In these examples the numerical

convergence is given by:

(1) ()

3

(1)

kk

k

ε

+

+

−

<

rr

r

In computational mechanics,

ε

3

is just a very

small parameter (relative error) related only to a

desire of a high numerical precision.

3.3.3 Comparison and Results

To compare the local and global Uzawa approaches,

we consider the following benchmark:

Figure 5: Numerical benchmark 1.

The highlighted points on the upper surface of

5 P

20 P

7 P

4 P

1 P

HAPCO: REAL TIME SIMULATION OF INTERACTION BETWEEN DEFORMABLE OBJECTS WITH HAPTIC

FEEDBACK FOR SOLVING FRICTION MULTIPLE CONTACTS

59

the green object move along 5 series of rigid

displacements as described in figure 5. Every unit

displacement P is equal to 0.1cm. The red object is

clamped on its extremities at the highlighted nodal

points (see figure 6). The green object and the red

one have respectively 80 000 and 3000 as Young

modulus. Both objects have the same Poisson ratio

equal to 0,3. The dimensions of the clamped elastic

solid are L=10, W=2, H=2 (cm). Initially, the two

objects are not deformed and are in contact (no

interpenetration). The computer used is a Pentium 4

with 1.75 Ghz and 1.5 Go of RAM.

Simulation results are shown in figures 7 and 8.

In the second numerical benchmark, the red object is

fixed from only the left extremity. That makes this

benchmark less stiff than the previous one,

numerical results are shown in figure 9. For both

algorithms (local and global Uzawa), we choose to

control only the physical interpenetration tolerance,

then all the numerical convergence thresholds

1

ε

,

2

ε

and

3

ε

are defined by:

(1) ()

1

() 0,3

kk

ii

Uzawa Error Min i m

W

αα

ρ

ρ

+

−

<==

rr

ρ

is equivalent to a stiffness and must be inferior to

the smallest local stiffness at the contact points.

The figures 6, 7, and 8 are divided in 5 phases

according to the 5 rigid displacements series. We

note that the iteration numbers k in the local Uzawa

resolution are lower than the iteration numbers k

obtained for the Gauss-Seidel resolution in the five

simulation phases.

Figure 6: Friction coefficient = 0.3.

This result has been observed several times (as

shown in figure 7), for different values of the

friction coefficient (from 0.0 to 0.6) and for different

values of the Uzawa error. We observe from the

graph 8 that the Uzawa error has an important role

on the convergence time for the two resolution

techniques. Indeed, if the resolution precision

increases, then, the CPU time increases as well. This

result has been observed with many friction

coefficients. We can also note that local Uzawa

solver has a tendency to be faster than the global

Uzawa one. Figure 9 points out instabilities with the

global Uzawa solver.

Figure 7: Friction coefficient = 0.3.

Figure 8: Friction coefficient= 0.6, Uzawa Error =1e-4.

4 CONCLUSIONS

The HapCo simulator represents our first

contribution to bridge two domains, the

computational mechanics and the haptic rendering in

the context of Virtual Reality. This real time

simulator with haptic feedback force includes elastic

deformable objects, collision detection between

interacting bodies, friction contact force

computation and displacement solver based on the

Finite Element Method.

We have successfully tested the local and

global Uzawa algorithm described above with the bi-

potential approach. The results obtained seem to

indicate that the local Uzawa solver is faster and

GRAPP 2008 - International Conference on Computer Graphics Theory and Applications

60

more stable than the global Uzawa solver.

By changing the friction coefficient we can feel

the slip/stick contact force. Many people have tested

the HapCo simulator and have been surprised by the

quality of the haptic rendering.

We need more numerical tests to conclude

about the computational efficiency of the two

algorithms. Indeed, if the application works very

well when the moving object comes into contact

with the very soft parts of the clamped object, we

find some numerical instabilities when the contact

occurs with the stiff parts (near the fixed nodal

points). These difficulties have two origins. The first

one is when the operator does not handle firmly the

haptic device and can be surprised by the increase in

rigidity while he is moving towards rigid part. The

second one is due to excessive free displacement

α

u

when the contact occurs. The greater this quantity is,

the greater the number of iterations is and so the real

time constraint is no longer satisfied. To overcome

this difficulty, the operator has to move gently when

he comes into contact with the stiff parts. To help

the operator we suggest zooming around the contact

area in order to augment the control of his gesture by

a better visual feedback.

We are working to optimize and to accelerate

the simulation algorithm by considering closer the

sparseness of the matrices and vector manipulated

during the process. This is in order to consider non

linear elasticity modeling and large multi-contact

problems: childbirth simulation for example.

REFERENCES

De Saxcé, G., Feng Z.Q., 1998. “The bipotential method: a

constructive approach to design the complete contact

law with friction and improved numerical algorithms”.

Mathematical and Computer Modeling, special issue,

« Recent Advances in Contact Mechanics », 28(4–8),

225-245

.

Alart, P., Curnier, A., 1991. “A mixed formulation for

frictional contact problems prone to Newton like

solution methods”.

Comp. Meth. Appl. Mech. Engng.,

92, 353-375

.

Simo, J.C., Laursen, T.A., 1992. “An augmented

Lagrangian treatment of contact problems involving

friction”.

Computers & Structures, 42, 97-116.

De Saxce, G., Feng, Z.Q., 1991. “New inequality and

functional for contact with friction”: The implicit

standard material approach.

Mech. Struct. & Mach.,

19, 301-325

.

Feng, Z.Q., 1995. “2D or 3D frictional contact algorithms

and applications in a large deformation context”.

Comm. Numer. Meth. Engng., 11, 409-416.

Feng, Z.Q., Peyraut, F., Labed, N., 2003. “Solution of

large deformation contact problems with friction

between Blatz-Ko hyperelastic bodies”.

Int. J. Engng.

Science, 41, 2213-2225

.

Duriez, C., Dubois, F., Kheddar, A., Andriot, C., 2005.

“Realistic haptic rendering of interacting deformable

objects in virtual”.

IEEE trans. on visualization and

computer Graphics

.

Wriggers, P., 2002. “Computational contact mechanics”.

John Wiley & Sons.

Gibson, S.F.F., Mirtich, B., 1997. "A survey of

deformable modeling in computer graphics”.

Tech.

Report No. TR-97-19, Mitsubishi Electric Research

Lab, Cambridge, MA

.

Cotin, S., Delinggette, H., Ayache, N., 2000. "A hybrid

elastic model allowing real-time cutting, deformations,

and force feedback for surgery training and

simulation".

Visual Computer, vol. 16, no. 7, pp. 437-

452

.

Basdogan, G., De, S., Kim, J., Muniyandi, M., Kim, H.,

Srinivasan, M.A., 2004. "Haptics in minimally

invasive surgical simulation and training”.

IEE

Computer Society, Haptic Rendering-Beyond Visual

Computing, pp 56-64.

Zhuang, Y., Canny, J., 2000. “Haptic interaction with

global deformations”.

IEEE ICRA, San Francisco,

(pp20, 21, 88)

.

Francavilla, A., Zienkiewicz, O.C., 1975. “A note on

numerical computation of elastic contact problems”.

Int. Num. Meth. Eng. 9, 913-924.

Teschner, M., Kimmerle, S., Heidelberg, B., Zachmann,

G., Raghupathi, L., Fuhrmann, A.,. Cani, P, Faure, F.,

Magnenat-Thalmann, N., Strasser, W., Volino P.,

2004. Detection for deformable objects. Eurographics,

STAR (State of The Art Report), pp. 119-135..

Lin, M. C., Gottschalk, S., 1998. Collision Detection

between Geometric Models: A survey. Proc. of IMA

Conference on Mathematics of surfaces, pp. 37-56.

Erleben, K., Sporring, J., Henriksen, K., and Dohlmann,

H., 2005. Physics-Based Animation, Charles River

Media, Inc..

Gibson, S. F., Mirtich, B., 1997, A survey of deformable

modeling in computer graphics. Tech. Report No. TR-

97-19, Mitsubishi Electric Research Lab, Cambridge,

MA.

HAPCO: REAL TIME SIMULATION OF INTERACTION BETWEEN DEFORMABLE OBJECTS WITH HAPTIC

FEEDBACK FOR SOLVING FRICTION MULTIPLE CONTACTS

61