62
COLLISION DETECTION AND RESPONSE AND HAPTIC INTERACTION IN VIRTUAL ENVIRONMENT SIMULATIONS WITH DEFORMABLE OBJECTS by PAUL D. JACOBS Submitted in partial fulfillment of the requirements for the degree of Master of Science Thesis Advisor: Dr. M. Cenk C ¸ avu¸ so˘ glu Department of Electrical Engineering and Computer Science CASE WESTERN RESERVE UNIVERSITY May, 2006

COLLISION DETECTION AND RESPONSE AND HAPTIC ...engr.case.edu/cavusoglu_cenk/papers/PaulJacobsMS2006.pdfCollision Detection and Response and Haptic Interaction in Virtual Environment

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

  • COLLISION DETECTION AND RESPONSE AND

    HAPTIC INTERACTION IN VIRTUAL ENVIRONMENT

    SIMULATIONS WITH DEFORMABLE OBJECTS

    by

    PAUL D. JACOBS

    Submitted in partial fulfillment of the requirements

    for the degree of Master of Science

    Thesis Advisor:

    Dr. M. Cenk Çavuşoğlu

    Department of Electrical Engineering and Computer Science

    CASE WESTERN RESERVE UNIVERSITY

    May, 2006

  • Contents

    List of Tables iii

    List of Figures v

    Abbreviations vi

    Abstract vii

    1 Introduction 1

    1.1 Thesis Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    1.2 Thesis Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    2 Background and Related Literature 3

    2.1 Haptic Devices and Surgical Simulation . . . . . . . . . . . . . . . . . 3

    2.2 Deformable Surface Models . . . . . . . . . . . . . . . . . . . . . . . 6

    2.3 Multi-Rate Simulation in Haptic Interaction . . . . . . . . . . . . . . 8

    3 Methods 10

    3.1 Multi-Rate Simulation Algorithm Outline . . . . . . . . . . . . . . . . 10

    3.2 Local Model Construction . . . . . . . . . . . . . . . . . . . . . . . . 13

    i

  • 3.2.1 Two Dimensional Case - Sample Construction of the Local Lin-

    ear Approximation Model . . . . . . . . . . . . . . . . . . . . 17

    3.3 Collision Detection and Response in Multi-Rate Simulation . . . . . . 21

    3.3.1 1D Example of Hybrid Collision Resolution . . . . . . . . . . 22

    3.3.2 Hybrid Collision Resolution in 3D MSD models . . . . . . . . 25

    3.4 Mesh Deformation in Collision Response . . . . . . . . . . . . . . . . 28

    3.5 Determination of Constraint Forces . . . . . . . . . . . . . . . . . . . 28

    3.5.1 Sticking Constraint . . . . . . . . . . . . . . . . . . . . . . . . 30

    3.5.2 Sliding Constraint . . . . . . . . . . . . . . . . . . . . . . . . . 32

    3.5.3 Frictional Sliding Contact Constraint . . . . . . . . . . . . . . 34

    3.6 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    4 Results 38

    4.1 Comparison of Local and Global Model Simulations . . . . . . . . . . 40

    4.2 Pure Slipping Constraint Results . . . . . . . . . . . . . . . . . . . . 42

    4.3 Pure Sticking Constraint Results . . . . . . . . . . . . . . . . . . . . 45

    4.4 Stick-Slip Frictional Sliding Friction Results . . . . . . . . . . . . . . 47

    5 Discussion 49

    5.1 Extensions to Literature . . . . . . . . . . . . . . . . . . . . . . . . . 49

    5.2 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    5.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    5.4 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

    Bibliography 52

    ii

  • List of Tables

    4.1 Parameters used in MSD model simulation . . . . . . . . . . . . . . . 39

    iii

  • List of Figures

    2.1 The PHANTOM Premium 1.5 Haptic Interface [18]. . . . . . 4

    2.2 The da Vinci robotic surgical system [17]. . . . . . . . . . . . . 5

    2.3 2D Mass-Spring-Damper Model . . . . . . . . . . . . . . . . . . 6

    3.1 Haptic Simulation Block Diagram . . . . . . . . . . . . . . . . . 11

    3.2 Haptic Simulation Block Diagram, Previous Work . . . . . . . 12

    3.3 Local Model Order Reduction . . . . . . . . . . . . . . . . . . . 16

    3.4 Four node fully connected 2-D mass-spring-damper model . . 17

    3.5 1-D Example of hybrid collision resolution model . . . . . . . 23

    3.6 One dimensional hybrid collision resolution model flowchart 24

    3.7 Three dimensional hybrid collision resolution model flowchart 27

    3.8 Triangle displacement in sticking and sliding mode. Diagram

    a. shows the position of the instrument at the beginning

    and end of a time step. Diagram b. illustrates the sliding

    displacement. Diagram c. illustrates the sticking displacement. 29

    3.9 Baryocentric Co-ordinates . . . . . . . . . . . . . . . . . . . . . . 29

    4.1 Haptic simulation screenshot . . . . . . . . . . . . . . . . . . . . 38

    4.2 Screenshot showing contact between the instrument and the

    deformable object . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    iv

  • 4.3 Multi-rate simulation results. Dotted line is global model

    running at 1000 Hz. Dashed line is global model running at

    30 Hz. Solid line is local model running at 1000 Hz. . . . . . 41

    4.4 Multi-rate simulation results, y-position of test node vs time.

    Solid line is global model running at 30 Hz, dashed line is

    local model running at 1000 Hz. . . . . . . . . . . . . . . . . . . 43

    4.5 Pure Slipping constant contact results. . . . . . . . . . . . . . . 44

    4.6 Pure Slipping dragging contact results. . . . . . . . . . . . . . . 45

    4.7 Pure Sticking contact results. Solid line is magnitude of nor-

    mal force, dotted line is magnitude of tangential force. . . . . 46

    4.8 Hybrid stick-slip dragging results, co-efficient of friction 1.0.

    Solid line is magnitude of force normal, dotted line is magni-

    tude of tangential force. . . . . . . . . . . . . . . . . . . . . . . . 47

    v

  • Abbreviations

    MSD - Mass-Spring-Damper

    FEM - Finite Element Model

    HCI - Human-Computer Interface

    DOF - Degree of Freedom

    vi

  • Collision Detection and Response and Haptic Interaction in Virtual

    Environment Simulations With Deformable Objects

    Abstract

    by

    PAUL D. JACOBS

    An increasingly common new modality in human-computer interaction is haptic in-

    terfacing, especially in the field of medical simulation. The order-of-magnitude dif-

    ference in update rates between graphical deformable object simulations and haptic

    interfaces can be bridged using local low-order approximations. However, providing

    force feedback using local models complicates collision detection and response with

    the virtual tool, since the user interacts with lower-order proxies rather than the full

    simulated objects, and instability can result. A novel approach focusing on rolling

    contact with stick-slip friction is presented where all collision detection and response

    with the virtual tool is performed at the local level at the haptic time-scale, utilizing

    linearized low-order local models that approximate the behavior of the full model for

    the short time steps and small deformations involved.

    vii

  • Chapter 1

    Introduction

    The value of haptic interaction in surgical simulation has led to a great deal of research

    interest into the challenges involved in providing haptic force-feedback in virtual en-

    vironment simulations with deformable surfaces. The key obstacle to overcome in

    haptic interaction is the difference in update rates of the virtual environment simula-

    tion, which is typically linked to the graphical update rate of between 10 and 60 Hz,

    and the update rate of the haptic interface, which must be on the order of 1 KHz in

    order to be convincing to the operator. One method of bridging this gulf is through

    multi-rate simulation, where the virtual environment in its full complexity is simula-

    tion at the visual update rate, while a simpler simulation, often encompassing only

    parts of the environment local to the virtual instrument, is run in parallel at the hap-

    tic update rate and periodically re-synchronized with the full model. The purpose

    of this project is to explore multi-rate simulation techniques involving performing

    collision response using a stick-slip friction model in the haptic-rate simulation.

    1

  • 1.1 Thesis Contributions

    First, a novel method of constructing local approximation models of mass-spring-

    damper networks was developed for use in multi-rate simulation. Second, a collision

    response algorithm capable of providing stick-slip frictional interaction was developed.

    Finally, these methods were used to implement a virtual environment simulation using

    the PHANTOM(TM) 1.5 Haptic Interface.

    1.2 Thesis Outline

    Background information and existing research on surgical simulation, haptic inter-

    faces, and deformable surface models are presented in the chapter on Background

    and Related Literature (ch. 2). The Methods chapter (ch. 3) describes the algo-

    rithms developed in this work and the implementation of the simulation. Findings

    are reported in the Results chapter (ch. 4) and extensions to literature, limitations

    of the study, and future research directions are described in the Discussion chapter

    (ch. 5).

    2

  • Chapter 2

    Background and Related Literature

    This section will discuss information regarding haptic devices, multi-rate simulation

    techniques, and commonly used deformable surface models.

    2.1 Haptic Devices and Surgical Simulation

    Although the term ‘haptics’ refers to any human-computer interface (HCI) device that

    provides force feedback, including “rumble-packs” common to consumer video game

    controllers and actuated yokes and steering wheels for driving and flying simulations,

    the type of haptic interface focused on here are multi-link rigid armatures capable

    of three-dimensional force feedback and possessing at least three degrees of freedom.

    This type of haptic armature significantly predates surgical simulation; the first haptic

    devices were electrically actuated teleoperators built in the 1950s at the Argonne

    National Laboratory to handle radioactive materials. Haptic interaction was added

    to the teleoperators in order to handle glassware without crushing it, which proved

    to be an extremely challenging task without force feedback.

    The specific haptic device considered here is the PHANTOM Premium 1.5 Haptic

    3

  • Figure 2.1: The PHANTOM Premium 1.5 Haptic Interface [18].

    Interface developed by Sensable Technologies shown in Figure 2.1[18]. The PHAN-

    TOM interface is commonly used in virtual environments haptic simulations due to

    it’s relatively large workspace and low inertia and friction. The frequency response

    of the PHANTOM has a large resonance at 125 Hz which denotes the highest fre-

    quency signal that can accurately be represented by the PHANTOM due to mechan-

    ical damping and limitations of the electronics. This response is considered sufficient

    for surgical simulation applications [3].

    The advent of minimally invasive surgery ushered in a new role for haptics both

    in surgical simulation and surgical robotics. While surgical simulation of traditional

    surgery is still an open research problem, training simulation systems have been devel-

    oped that take advantage of the more limited types of interaction present in minimally

    invasive surgeries, where the surgeon interacts with the patient only through a series

    4

  • Figure 2.2: The da Vinci robotic surgical system [17].

    of long instruments inserted through small incisions. This often makes laparoscopic

    surgeries more difficult to perform, especially since they require a skill set distinct

    from that required by open surgical methods. At the same time, the fact that the sur-

    geon interacts with the patient through a highly constrained and specialized interface

    with limited degrees of freedom is a boon for surgical simulation, since these factors

    greatly simplify the task of providing haptic interaction. The difficulty, unfamiliarity,

    and relative rarity of some of these surgeries also make them attractive prospects for

    a training simulator. For these reasons, existing surgical haptic simulations focus on

    endoscopic surgical techniques using interfaces that closely mimic endoscopic-specific

    surgical tools. Numerous research groups have constructed simulators for tasks such

    as laparoscopic cholecystectomy, colon endoscopy, arthroscopy, bronchoscopy, spinal

    biopsy, hysteroscopy, and radiosurgery, among others. [19] [13] [15] [2]. Haptic teleop-

    erators have also been developed as part of robotic surgical systems. In systems like

    the da Vinci Surgical System [17], complex robotic instruments capable of dexterous

    5

  • manipulation are inserted through narrow incisions and operated remotely with a

    haptic device. The use of a force-reflecting teleoperator in the actual surgery makes

    this type of procedure an excellent candidate for future work in surgical simulation.

    Relatively few researchers have investigated the extremely challenging open re-

    search problem of simulating more traditional types of surgery in which the surgeon

    interacts directly with the patient through hand-held as opposed to fixed surgical in-

    struments. Morris describes a temporal bone surgery simulator, but the interaction is

    focused on bone drilling, which utilizes rigid-body interaction and avoids deformable

    surfaces [14]. A simulator for curvilinear capsulorhexis cataract surgery has been built

    by Webster et. al., but uses a very specific model not suitable for modeling general

    soft body structures [20]. Work has also been done on developing haptic techniques

    for simulating needle insertion procedures [7] [8].

    2.2 Deformable Surface Models

    Figure 2.3: 2D Mass-Spring-Damper ModelSpring-damper pairs are represented by damped springs.

    6

  • Several different types of deformable surface model have been suggested for use in

    haptic interaction. Lumped mass-spring-damper (MSD) models represent deformable

    objects with layers of masses connected by spring-damper pairs or damped springs.

    MSD models are a common choice for surgical simulation for their ease and simplicity

    in modeling and for their low computational requirements [10]. A significant drawback

    to the mass-spring-damper approach is the difficulty in modeling a volumetric object

    using mass-spring elements. Although the appearance of volume can be obtained

    through the use of cross-springs binding the mass elements into a three-dimensional

    grid, there is no clear procedure to match the properties of a real substance to the

    spring and damper parameters in the model. The main alternative to MSD systems

    are finite-element models (FEM), which provide a continuum model that is strongly

    physically based. However, FEM models incur larger computational costs [11]. These

    concerns lead many FEM implementations to include off-line computation, which

    limits their use in interactive haptic simulations.

    Other volumetric methods have been suggested to capture the realism of FEM

    techniques with lower computational requirements. Kim and Srinivasan have devel-

    oped a method involving dynamically subdividing a volumetric element into a col-

    lection of randomly ‘sprinkled’ spherical volume elements referred to as the method

    of finite spheres [10]. Mendoza, Sundaraj, and Laughier have suggested the “Long

    Element Model” in which a body is broken down into columns of incompressible fluid

    governed by Pascal’s Principle [11]. Although these models have been found to be

    useful in haptic simulation, the discussion here is limited to the more widely used

    mass-spring-damper and FEM models.

    7

  • 2.3 Multi-Rate Simulation in Haptic Interaction

    A major difficulty in providing high-fidelity force feedback is the extremely demanding

    update rate requirements of haptic feedback. The human sense of touch is remarkably

    sensitive, and can distinguish between changes in force into the range of hundreds of

    Hz. It is generally accepted that the update rate of the haptic interface must be

    five to seven times higher than the highest frequency event that is to be simulated.

    Therefore, in order to render events in the 100 to 200 Hz range matching the capa-

    bilities of the PHANTOM and similar haptic interfaces, 1 KHz is widely considered

    the minimum update rate for realistic haptic feedback [6]. Real-time virtual envi-

    ronment simulations, on the other hand, are tailored towards visual update rates,

    and typically run between 10 - 60Hz, and it is infeasible to significantly increase the

    update rate of the physical simulation due to computational limitations. Overcoming

    this orders-of-magnitude difference in update rate has been the focus of the bulk of

    haptic research. As of the late 1990’s, the typical practice was to low-pass filter the

    generated force to the bandwidth of the model update rate [19]. This was found to

    not be an adequate solution, as this effectively reduced the haptic update rate to the

    visual update rate.

    Several methods have been proposed to solve this problem through multi-rate

    simulation. Multi-rate simulation techniques aim to divide a virtual environment

    simulation into two parallel simulations, one running at the visual update rate, the

    other at the haptic update rate. The visual update rate simulation models the vir-

    tual environment in its full complexity, and provides visual feedback to the user, while

    the haptic update rate simulation uses a simpler and more computationally tractable

    model to provide only force feedback. Commonly, the visual update rate simulation

    models the entire virtual environment, while the haptic rate simulation models only

    8

  • an area local to the point of haptic interaction. Cavusoglu and Tendick used a local

    linearization of mass-spring-damper models, and showed that the spacial dependence

    of the state variables of each node of the linearized system is primarily on nearby

    nodes, and therefore a local model consisting of only a few layers surounding the con-

    tact point can be used to provide satisfactory haptic interaction [5]. Multi-resolution

    methods with coarser meshes used for the entire model and more detailed meshes

    for areas of local interest have also been used successfully in multi-rate simulation.

    [1][21][9].

    9

  • Chapter 3

    Methods

    In order to test novel approaches to multi-rate simulation and collision response in

    haptic virtual environments, a haptic implementation was built using a 3 DOF manip-

    ulator using mass-spring-damper as the modeling technique for deformable surfaces.

    The twin focuses of this chapter are a low-order linearization technique for building

    local approximation models for MSD deformable surfaces, and a collision response

    system that incorporates ideas from traditional constraint and penalty-based contact

    resolution algorithms.

    3.1 Multi-Rate Simulation Algorithm Outline

    The core of the approach to multi-rate simulation in this work is to divide the neces-

    sary computational tasks into those that must be performed at the servo-loop update

    rate of the haptic interface and those that can be performed at the same rate as the

    overall simulation. The methods presented here were initially developed in [5] and

    [2]. Like other multi-rate methods, the algorithm is divided into two basic blocks,

    as shown in Figure 3.1. The ‘global’ simulation incorporates the entire virtual envi-

    10

  • ronment and runs at the visual update rate in the order of magnitude of 10 Hz. A

    ‘local’ simulation runs at or near the haptic server loop update rate, and simulates

    the behavior of a subset of the global model.

    GlobalSimulation

    LocalSimulation

    Haptic Device

    10 Hz 1,000 Hz

    geometry

    force model

    geometry

    force

    instrumentposition

    Figure 3.1: Haptic Simulation Block Diagram

    After each global update is generated at 100 ms intervals corresponding to the

    10 Hz update rate, a local linear approximation model is generated and passed to a

    second simulation, running either in a separate process or thread in single-computer

    operation, or running on a second computer in networked operation. This second

    simulation uses the local linear approximation model to provide force output to the

    user and then sends the state of the local model and haptic instrument back to the

    global model, which incorporates this information back into the global model, and

    then re-computes a new linear approximation for the next cycle.

    This approach differs significantly from previous work in that the flow of informa-

    tion back from the local to the global model includes geometric information. Typi-

    cally, haptic simulations follow the outline of Figure 3.2. The flow of information from

    the local model to the global model is very simple and consists only of position and

    velocity information from the haptic instrument. Either contact-resolving collision

    response is done only on the global model, or else collision response is performed in

    11

  • GlobalSimulation

    LocalSimulation

    Haptic Device

    10 Hz 1,000 Hz

    force model

    instrumentposition

    force

    instrumentposition

    Figure 3.2: Haptic Simulation Block Diagram, Previous Work

    parallel on both global and local simulations but any deformations made to the local

    model are discarded every time a new local model is constructed.

    This type of algorithm has several drawbacks. First, it restricts the rate that input

    from the haptic instrument to the virtual environment to the global simulation update

    rate. At first glance, this may not seem to be an important constraint; voluntary

    motion of humans in tasks such as handwriting tops out at a motion frequency of

    about 6 Hz, and a study of hand motions of eye surgeons has indicated that a motion

    frequency of 2 Hz accounts for most voluntary motion [16]. However, in the case of

    stick-slip frictional contact, an instrument skipping across a rough surface would be

    restricted from changing mode of contact faster than the visual update rate. Second,

    it introduces latency between haptic input and changes in the global model that may

    result in a haptically apparent discontinuity. Since the altered local model that results

    from interaction with the haptic instrument is discarded at the end of the haptic time

    step and replaced with a new local model that is computed based solely on the new

    position of the haptic instrument, the new model may have a large discontinuity in

    force output. While it is possible to interpolate between force values generated at the

    end of one global time-step with the initial forces generated by the next local model,

    12

  • if the discontinuity is large and the global time step is long, then the force output

    may seem to be ‘muddy’ or delayed.

    The alternative method presented here is built on the hypothesis that these draw-

    backs can be avoided by including model geometry in the feedback from the local to

    the global model. Therefore, any changes to the local model that have been made

    at the haptic update rate are incorporated back into the global model, under the

    assumption that if collision detection and resolution techniques are performed at the

    haptic rate on a model local to the point of haptic interaction, then a higher-fidelity

    haptic experience can be provided. The challenging case of stick-slip frictional contact

    is used as a testbed for this algorithm. This approach has several requirements; first,

    the local model must accurately simulate the behavior of the global model, at least for

    the short time intervals and small deformations involved. Second, the collision and

    detection response algorithm needs to operate effectively with the highly demanding

    1 ms time-step.

    3.2 Local Model Construction

    At each global time-step, a local linearized approximation model of the deformable

    surface is constructed and sent to the local model simulation for simulating the dy-

    namic behavior at the haptic update rate. In this work, mass-spring-damper network

    are used as the global model, but a similar treatment is possible using finite element

    models but not presented here. This method is an extension of the method developed

    by Cavusoglu in work originally presented in [2].

    The model used for deformable objects under consideration here is a network of n

    masses connected by damped springs which is being deformed by a virtual instrument

    at a single contact point on the outer surface of the mesh. The outer surface of the

    13

  • mesh is composed of an array of triangular polygons which are constructed using

    the mass nodes as vertices. The behavior of the system is governed by a non-linear

    differential equation of the form

    d

    dt

    XẊ

    = Ẋ

    M−1f(X, Ẋ)

    (3.1)where X and Ẋ are respectively the state vectors containing the positions and veloc-

    ities of each node, f(X, Ẋ) is a function that maps the state vectors to a vector of

    forces on each node, and M−1 is a 3n× 3n matrix of the form

    M−1 =

    1m1

    1m1

    1m1

    0

    . . .

    0

    1mn

    1mn

    1mn

    (3.2)

    where mi is the mass of the node with index i. The computational requirements

    of this relatively simple deformable model prevent it from being simulated at the

    haptic update rate. For the relatively small 15x4x15 node networks used for testing,

    update rates of about 120 Hz were achievable. Therefore, at each global time step, a

    14

  • linearized discrete model is constructed by taking the tangent behavior of the system:

    d

    dt

    XẊ

    M−1

    f0 + F ∆X

    ∆Ẋ

    (3.3)

    where

    f0 = f(X0, Ẋ0)

    ∆X = X −X0

    ∆Ẋ = Ẋ − Ẋ0

    F =

    [∂f

    ∂X

    ∂f

    ∂Ẋ

    ]∣∣∣∣X=X0

    Ẋ=Ẋ0

    (3.4)

    The linearization process does not reduce the order of the model, and so a re-

    duction of the model to components spacially close to the virtual instrument contact

    point is needed to reduce the computational complexity so as to arrive at a model

    that can be simulated at the haptic update rate. The method used here to construct

    a low order approximation follows the method of Cavusoglu and Tendick that in-

    cludes in the low order approximation the closest node on the surface of the mesh

    to the contact point and the immediately adjacent nodes, as well as all the springs

    and dampers connected to any of these nodes [5]. The springs and dampers connect-

    ing these nodes to the rest of the deformable model are replaced with springs and

    dampers with the same parameters connected to a stationary and immovable ‘wall’

    with the justification that the high frequency response of the model depends mostly

    15

  • on contributions from the nodes that are immediate neighbors, and only secondarily

    on the rest of the mass-spring-damper network, and so for the high-frequency de-

    pendent haptic interaction, the remainder of the nodes can be considered stationary

    during each haptic time step.

    Figure 3.3: Local Model Order Reduction

    At each time step of the virtual environment simulation, a local linearization is

    constructed from the global deformable object simulation and used to provide haptic

    feedback in between the updates of the global simulation. The agreement of the local

    simulation with the results provided by the global simulation are naturally imperfect.

    However, the haptic feedback is qualitatively similar enough to be convincing to the

    16

  • user, and can both be computed from the local model rapidly at every global update

    cycle and also simulated at the haptic update rate.

    3.2.1 Two Dimensional Case - Sample Construction of the

    Local Linear Approximation Model

    x x

    x x

    1 2

    3 4

    Figure 3.4: Four node fully connected 2-D mass-spring-damper model

    Consider the two dimensional model shown in Figure 3.4 consisting of four nodes

    fully connected by damped springs represented by spring and damper pairs. We wish

    to linearize each spring and damper. Let p = [p1, p2] and q = [q1, q2] be the location

    of a pair of nodes np and nq in the network. For a spring with natural length L0 and

    spring constant k connecting nodes ns and nt, the force on node np is given by

    fs = k

    [(‖q − p‖ − L0)

    (q − p)‖q − p‖

    ]= k

    [(q − p)− L0

    q − p‖q − p‖

    ](3.5)

    17

  • We wish to find a linearized equation for fs in the form

    fs ≈ fs0 +[

    ∂fs∂p

    ∂fs∂q

    ] ∆p∆q

    (3.6)Define

    Apqi = −∂fsi∂pi

    = k

    [1− L0

    ‖q − p‖‖q − p‖2 − (qi − pi)2

    ‖q − p‖2

    ]

    Bpqi,j = −∂fsi∂pj

    = k

    [L0

    ‖q − p‖(qi − pi)(qj − pj)

    ‖q − p‖2

    ], i 6= j

    (3.7)

    Kp,q =

    Apq1 Bpq1,2Bpq2,1 A

    pq2

    (3.8)Then, define

    K =

    [Kp,q −Kp,q

    ](3.9)

    so that the action of the spring is linearized by

    fs ≈ fs0 + K

    ∆p∆q

    (3.10)The construction of the linearization of each damper is similar. Let w = [w1, w2]

    and v = [v1, v2] be the velocities of the nodes np and nq. For a damper with damping

    constant b, the force fd on node np due to the damper is given by

    fd = b

    [(w − v)T (q − p)

    ‖q − p‖

    ](q − p)‖q − p‖

    (3.11)

    We wish to find a linearized equation for fd in the form

    18

  • fd ≈ fd0 +[

    ∂fd∂p

    ∂fd∂q

    ] ∆p∆q

    + [ ∂fd∂w

    ∂fd∂v

    ] ∆w∆v

    (3.12)Define

    Cpqi = b

    [(wi − vi)

    qi − pi‖q − p‖2

    + ((w − v)T (q − p))‖q − p‖2 + 2(qi − pi)2

    ‖q − p‖4

    ]Dpqi,j = b

    [(wj − vj)

    qi − pi‖q − p‖2

    + ((w − v)T (q − p))2(qi − pi)(qj − pj)‖q − p‖4

    ]Epqi = b

    (qi − pi)2

    ‖q − p‖2

    F pqi,j = b(qi − pi)2

    ‖q − p‖2(3.13)

    V p,q =

    Cpq1 Dpq1,2Dpq2,1 C

    pq2

    Bp,q =

    Epq1 F pq1,2F pq2,1 E

    pq2

    (3.14)Then, define

    V =

    [V p,q −V p,q

    ](3.15)

    B =

    [Bp,q −Bp,q

    ](3.16)

    so that the action of the spring-damper pair is linearized by

    19

  • ftotal ≈ fs0 + fd0 + (K + V )

    ∆p∆q

    + B ∆w

    ∆v

    (3.17)The linearization of all the springs and dampers in the network of figure 3.4 would be

    f ≈ f0 + P∆X + B∆Ẋ = fo + F

    ∆X∆Ẋ

    (3.18)with

    F =

    [P B

    ](3.19)

    with P and B being n× n matrices of the forms

    P =

    −K1,2−K1,3−K1,4

    −V 1,2−V 1,3−V 1,4K1,2+V 1,2 K1,3+V 1,3 K1,4+V 1,4

    K2,1+V 2,1−K2,1−K2,3−K2,4

    −V 2,1−V 2,3−V 2,4K2,3+V 2,3 K2,4+V 2,4

    K3,1+V 3,1 K3,2+V 3,2−K3,1−K3,2−K3,4

    −V 3,1−V 3,2−V 3,4K3,4+V 3,4

    K4,1+V 4,1 K4,2+V 4,2 K4,3+V 4,3−K4,1−K4,2−K4,3

    −V 4,1−V 4,2−V 4,3

    (3.20)

    20

  • B =

    −B1,2−B1,3−B1,4 B1,2 B1,3 B1,4

    B2,1 −B2,1−B2,3−B2,4 B2,3 B2,4

    B3,1 B3,2 −B3,1−B3,2−B3,4 B3,4

    B4,1 B4,2 B4,3 −B4,1−B4,2−B4,3

    (3.21)

    3.3 Collision Detection and Response in Multi-

    Rate Simulation

    The method explored here incorporates a novel local collision detection algorithm

    in which the local simulation performs collision detection and response ‘in-between’

    frames of the global model. The rationale behind performing collision detection and

    response at the local level is two-fold. First, it allows for a more realistic high-

    frequency interaction. In particular, intermittent contact, like dragging an instrument

    across a rough surface, may be negatively affected by latency from the global model.

    In a networked environment in particular, the local side must continue to provide

    high fidelity interaction during unexpected delays. Maintaining geometric information

    sufficient to perform collision response can alleviate these issues. Secondly, for simple

    models, the response of the local model may be superior to the computed response

    of the global model, as the local model has more detailed information about the

    trajectory of the instrument during the global model time period.

    Two common paradigms are used for collision response algorithms; constraint-

    based and penalty-based collision response. Constraint-based methods, sometimes

    referred to as geometrically-based methods, resolve the collision by enforcing con-

    straints that prevent the model from entering an invalid state. For example, in a

    21

  • simple simulation of ball rolling across a surface, a constraint-based method might

    apply the constraint that the ball’s position in the y direction must remain above the

    level of the surface. Constraint-based methods have the disadvantage that they do

    not directly calculate contact forces, which is necessary for haptic feedback. Penalty

    force based methods operate by connecting virtual springs to interpenetrating objects

    that pull them apart. Penalty force methods require little computation and compute

    a contact force suitable for haptic interaction, but have several important limitations.

    Penalty force methods have difficulty taking friction into account, have trouble with

    very rigid objects, and are typically hard to generalize to multi-point contact between

    objects [12].

    For this simulation, a hybrid approach is used for haptic instrument-deformable

    surface collisions that applies a geometric deformation to the deformable object di-

    rectly, as in constraint-based methods, and then computes a ‘constraint force’ neces-

    sary to overcome the internal forces of the deformable surface model that oppose the

    deformation. This constraint force is applied to the nodes of the mesh, and is also

    used to compute a contact force that is applied to the haptic interface, much as a

    ‘penalty’ force would be.

    The development of the hybrid method is presented in two stages. First, a one

    dimensional example algorithm is presented to demonstrate the rationale behind the

    hybrid technique, and then in the next section, the full hybrid algorithm is described.

    3.3.1 1D Example of Hybrid Collision Resolution

    The collision response algorithm is a hybrid approach that applies a geometric con-

    straint, and then computes constraint forces necessary to maintain that constraint.

    First, the simulation is advanced by one time step, and the system is checked for

    22

  • instrument

    object surface internal spring

    fixed `wall’

    X∆ X∆f

    f

    instrument

    object

    A. B.

    C. D.

    Figure 3.5: 1-D Example of hybrid collision resolution model

    collisions. If a collision is occurring between the instrument and the deformable sur-

    face, the simulation is reversed in time to the collision time, and a deformation is

    computed from this state that will result in no collision occurring. Then, constraint

    forces are determined that will prevent the system from entering an illegal state when

    the remainder of the time-step is re-incremented. The constraint forces are then used

    to generate a contact force to apply to the haptic instrument. To illustrate this pro-

    cess on a simplified one dimensional model, consider figure 3.5-A. A single mass is

    connected to a fixed ‘wall’ by a linear spring with constant k, and can be depressed

    by an instrument in one dimension. If the instrument is pushed into the surface,

    the situation in figure 3.5-B. occurs. To resolve this collision, first a geometric defor-

    mation is applied to the model to resolve the collision, as in figure 3.5-C. Then, the

    constraint force is determined that will prevent the collision from re-occurring when

    the time step is computed; in this model, the constraint force is equal to the spring

    force

    23

  • fc = k∆X (3.22)

    In the one-dimensional model, this constraint force is also used as the contact

    force, so finstrument = fc is applied to the haptic instrument as feedback to the user,

    as in figure 3.5-D. The time step is then advanced again. Figure 3.6 shows a flowchart

    diagram of the logic behind this collision response algorithm.

    Computecontact force and

    apply to instrument

    Check for collisionbetween mesh

    and instrumentduring last time step

    no collisionfound

    collision found

    Advance model to time t+1

    Read positionof Instrument

    from haptic device

    Reverse state of model to time

    of collision

    Apply Deformation

    to Mesh

    Computeconstraint force

    on Mesh

    Advance model to time t+1, applying

    constraint force

    Go to next time step

    Figure 3.6: One dimensional hybrid collision resolution model flowchart

    It is assumed that the system is modeling the behavior of a soft deformable surface

    with mass evenly distributed throughout the region between the node ‘surface’ on the

    ‘wall.’ Therefore, inertial effects resulting from directly changing the position of the

    node is considered to be of negligible magnitude compared to the force generated by

    the spring, and are ignored.

    24

  • 3.3.2 Hybrid Collision Resolution in 3D MSD models

    The collision response algorithm uses the same basic strategy as the 1-D example

    case presented in figure 3.6, with the addition of a more complex stick-slip friction

    model. In this frictional model, there are three possible modes of interaction between

    the haptic instrument and the deformable surface model:

    1. Pure Sticking - the tip of the instrument drags the contact point of the mesh

    along with it, as if the mesh has a very high coefficient of friction,

    2. Pure Sliding - the tip of the instrument pushes down on the mesh, but exerts

    no force tangential to the mesh surface, as if the mesh were frictionless,

    3. Frictional Sliding - the tip of the instrument applies both a normal and a tan-

    gential force on the surface, but the initial contact point does not remain un-

    derneath the instrument tip throughout the contact.

    In the hybrid collision response algorithm, the collision is resolved geometrically

    before constraint forces are applied. However, unlike the 1-D algorithm, in which

    there is only one strategy to deform the model and resolve the collision, each one of

    these modes of interaction has associated with it a different geometric deformation

    and method of determining constraint forces. For objects with extremely low surface

    friction, the Pure Sliding mode is used, while for objects with extremely high surface

    friction or very ‘sticky’ surfaces, Pure Sticking is used.

    Objects that have intermediate values of friction are handled by trying the Pure

    Sticking mode first, and evaluating how consistent the resulting constraint forces are

    with the stick-slip frictional model. If the Pure Sticking behavior is rejected by the

    heuristic, a hybrid mode referred to as Frictional Sliding is used to resolve the collision.

    As an example, when the Pure Sticking constraint is determined, a large contact force

    25

  • would be required to counteract the action of the springs and drag the mesh along

    with the instrument at the point of contact. If the frictional force caused by moving

    the instrument along the mesh surface could result in this contact force, it is deemed

    to be realistic by the heuristic, and the results of this mode are retained and other

    modes are not considered. Otherwise, Frictional Sliding is evaluated instead.

    In combined Pure Sticking/Frictional Sliding collision response, Pure Sticking is

    evaluated first using this basic procedure; first, the mesh is deformed so as to resolve

    a collision between a node and a triangle of the deformable surface mesh. Then,

    constraint forces for each node of this triangle are determined that will prevent the

    system from re-entering an interpenetrating state during this time step are computed.

    These constraint forces are the forces necessary to counteract the springs of the mesh

    and maintain the mode of interaction. The contact force is then set to be the sum of

    the three node constraint forces. This contact force is then broken down into forces

    normal (N) and tangential (T ) to the mesh surface. The maximal frictional force

    consistent with the friction model is calculated as

    Ffr = µN (3.23)

    If the force T is greater than Ffr, then the evaluation heuristic rejects the case as

    inconsistent with the friction model, and therefore unrealistic to use to resolve the

    interaction, and the given mode of interaction is rejected. The Frictional Sliding case

    is then computed using a similar procedure and is used instead.

    After the correct mode of interaction has been determined, the mesh is backed up

    to the time of collision and the constraint force is applied to the nodes of the triangle.

    When the simulation is advanced again to the end of the time step, the constraint

    force enforces the mode of interaction.

    26

  • Check for collisionbetween mesh

    and instrumentduring last time step

    no collisionfound

    collision found

    Advance model to time t+∆t

    Read positionof Instrument

    from haptic device

    Reverse state of model to time

    of collision

    Advance model to time t+∆t, applying

    constraint force

    Go to next time step

    if friction = 0

    Apply Pure Sliding Deformation

    to Mesh

    Compute Pure Slidingconstraint force

    on Mesh. Computecontact force and

    apply toinstrument

    if friction > 0Apply Pure Sticking

    Deformationto Mesh

    Compute Pure Stickingconstraint andcontact forces

    Evaluate Pure StickingConstraint using

    friction modelheuristic

    Compute Frictional Sliding constraint force

    Compute contactforce and applyto instrument

    rejectPure

    Sticking

    acceptPure

    Sticking Apply contact force to instrument

    Figure 3.7: Three dimensional hybrid collision resolution model flowchart

    27

  • 3.4 Mesh Deformation in Collision Response

    During collision detection, after the intersection point is determined and the model

    is iterated to the collision time, a deformation must be applied to the mesh in order

    to resolve the collision and prevent interpenetration from occurring. Each mode

    of interaction in the collision response algorithm has a corresponding deformation,

    illustrated in figure 3.8. In sliding contact, the triangle is pushed down in the normal

    direction by an amount equal to the interpenetration distance, as shown in figure

    3.8-b. In sticking contact, the triangle is instead pushed in the direction of the

    instrument’s motion, so it is displaced in both the normal and tangential directions

    relative to the triangle surface, as illustrated in figure 3.8-c. The frictional motion

    case is handled in the same manner as sticking motion.

    3.5 Determination of Constraint Forces

    During collision resolution, after the deformation of the mesh, a constraint process

    is used to determine the contact force. Separate constraints are used in the pure

    sticking and pure sliding cases. In order to identify particular points on the surface of

    a deformable triangle, baryocentric co-ordinates are used. Baryocentric co-ordinates

    are a concept borrowed from FEM techniques. A given point P on a triangle is

    identified by the areas of the sub-triangles formed by extending lines from the node

    vertices to the interior point. Normalized baryocentric co-ordinates are used such

    that the position of an interior point P on the triangle with vertices x1, x2, and x3

    can be expressed as

    p = αx1 + βx2 + γx3 (3.24)

    28

  • a. b.

    c.

    Figure 3.8: Triangle displacement in sticking and sliding mode. Diagrama. shows the position of the instrument at the beginning and end of atime step. Diagram b. illustrates the sliding displacement. Diagram c.illustrates the sticking displacement.

    x

    x

    x1

    2

    3

    p

    A3A2

    A1

    α =

    A = A1 A2 A3+ +

    A1A

    β = A2A

    γ = A3A

    Figure 3.9: Baryocentric Co-ordinates

    29

  • such that α + β + γ = 1.

    3.5.1 Sticking Constraint

    The sticking mode of interaction assumes that the instrument makes contact with the

    mesh at a contact point with baryocentric co-ordinate p and that at the end of the

    haptic time step, the instrument is still in contact with a point of the triangle with

    the same baryocentric co-ordinate relative to the new positions of the nodes of the

    triangle. This constraint can be expressed relative to p as

    ṗ = p̈ = 0 (3.25)

    Let the 9×9 matrix T11 be an orthogonal basis in baryocentric co-ordinates given

    by

    T11 =

    αI3×3 βI3×3 γI3×3

    ......

    ...

    ......

    ...

    (3.26)where I3×3 is the 3×3 identity matrix, and the empty entries of T11 are generated

    using the Gram-Shmidt method. Define T to be a 3m × 3m transformation matrix

    from the canonical object frame into baryocentric co-ordinates relative to the contact

    triangle where m is the number of nodes in the model. We assume without loss of

    generality that the contact triangle has nodes x1, x2, and x3. Then, T is given by

    T =

    T11 00 I

    (3.27)

    30

  • and

    T

    x1...

    xn

    =

    p

    ...

    ...

    (3.28)In order to enforce the constraint ṗ = p̈ = 0, define the P operator to be

    P ≡ T−1

    03×3 00 I

    T (3.29)When computing the discrete equations of motion to advance the simulation to the

    beginning of the next time step, the equations of motion

    ẋnew = ẋold + M−1f(x, ẋ)∆t

    xnew = xold + ẋnew∆t (3.30)

    become

    ẋnew = P (ẋold + M−1f(x, ẋ)∆t)

    xnew = xold + ẋnew∆t (3.31)

    The force on the instrument due to the collision is assumed to be the sum of the

    force on each node of the triangle required to maintain the constraint. Define the P̃

    operator to be

    P̃ ≡ T T

    I3×3 00 0

    T−T (3.32)

    31

  • The force on the instrument is then given by

    fc1

    fc2

    fc3...

    ...

    = P̃ f(x, ẋ)

    finstrument = fc1 + fc2 + fc3 (3.33)

    3.5.2 Sliding Constraint

    The sliding mode of interaction assumes that the instrument makes contact with the

    mesh as a contact point with baryocentric co-ordinate p, and at the end of the haptic

    time step, the contact point has moved only in a plane tangential to the triangle. This

    ensures that the mesh surface can move tangentially to the instrument, but cannot

    inter-penetrate it at the end of the time step. This is a weaker constraint than the

    sticking case. The constraint can be expressed relative to p and the triangle normal

    n as

    ṗ · n = 0

    p̈ · n = 0 (3.34)

    Define U0 to be a 3×3 orthogonal matrix of the form

    32

  • U0 =

    nT

    · · · · · · · · ·

    · · · · · · · · ·

    (3.35)where the empty entries are generated using the Gram-Shmidt method. Define

    U11 =

    U0 0 0

    0 I3×3 0

    0 0 I3×3

    (3.36)Let U be an 3m×3m transformation matrix from the canonical object frame into

    baryocentric co-ordinates relative to the contact triangle, where m is the number of

    nodes in the model. We assume without loss of generality that the contact triangle

    has nodes x1, x2, and x3. Then, U is given by

    U =

    U11T11 00 I

    (3.37)where T11 is as defined above in the description of sticking contact. In order to enforce

    the constraint ṗ · n = p̈ · n = 0, define the Q operator to be

    Q ≡ UT

    01×1 00 I

    U−T (3.38)When computing the discrete equations of motion to advance the simulation to

    the beginning of the next time step, the equations of motion become

    ẋnew = Q(ẋold + M−1f(x, ẋ)∆t)

    33

  • xnew = xold + ẋnew∆t (3.39)

    The force on the instrument due to the collision is assumed to be the sum of the

    force on each node of the triangle required to maintain the constraint. Define the Q̃

    operator to be

    Q̃ ≡ U−1

    11×1 00 0

    U (3.40)The force on the instrument is then given by

    fc1

    fc2

    fc3...

    ...

    = Q̃f(x, ẋ)

    finstrument = fc1 + fc2 + fc3 (3.41)

    3.5.3 Frictional Sliding Contact Constraint

    The frictional contact constraint is the same as the sticking contact constraint, except

    that the constraint forces are divided into forces normal, FN , and tangential, FT , to

    the triangle surface. The forces tangential to the node surface are bounded by µFN ,

    the surface coefficient of friction, and then are applied as before. Since the sticking

    mesh deformation is used for frictional sliding, during frictional sliding, the instrument

    pushes the mesh surface, but the mesh can still slide around under the instrument

    tip, since the frictional force is insufficient to cause pure sticking. Once again, we

    34

  • assume without loss of generality that the contact triangle has nodes x1, x2, and x3.

    The force on the nodes is then given by

    f1

    f2

    f3...

    ...

    = f(x, ẋ)

    f̃1

    f̃2

    f̃3...

    ...

    = P̃ f(x, ẋ) (3.42)

    using the definitions presented above in the Pure Sticking section. For each force fi,

    let fni and fti be the components of fi in the normal and tangential directions relative

    to the triangle normal n. Then let the constraint forces f̂i be given by

    f̂i = fni + µ‖fni‖fti‖fti‖

    (3.43)

    Then, the node forces for the frictional sliding case, F , is given by

    F =

    f1 − f̂1

    f2 − f̂2

    f3 − f̂3

    f4

    f5...

    ...

    (3.44)

    The equations of motion for the frictional sliding case are then

    ẋnew = Q(ẋold + M−1F∆t)

    35

  • xnew = xold + ẋnew∆t (3.45)

    To determine the instrument force, first let finstrument be defined as

    fc1

    fc2

    fc3...

    ...

    = P̃ f(x, ẋ)

    finstrument = fc1 + fc2 + fc3 (3.46)

    as in the pure sticking case. Let finstrumentn and finstrumenttbe the normal and tan-

    gential components of that force relative to the triangle normal. Then, the instrument

    force for the frictional sliding case is

    f̂instrument = finstrumentn + µ‖finstrumentn‖finstrumentt‖finstrumentt‖

    (3.47)

    3.6 Implementation

    The collision response algorithm described above was implemented in a virtual en-

    vironment simulation of a deformable object using multi-rate techniques. The test

    objects were regular grids of lumped mass-spring-damper elements with sizes ranging

    from 5×4×5 to 10×10×10, and the local-low-order model was generated from the

    node on the object surface closest to the virtual instrument and the immediately

    adjacent nodes in a 4×3×4 neighborhood. The full non-linear global simulation was

    updated at 30 Hz, while the local simulation was run at 1 KHz.

    36

  • The simulation was implemented in C++ using OpenGL as the graphics library.

    The global simulation was run on a IBM PC running Windows XP, and the haptic

    simulation was run on an IBM PC running the QNX real-time operating system.

    The global simulation PC used dual Pentium Xeon(TM) processers running at 2.8

    GHz. The local simulation PC used a Pentium 4(TM) processor running at 2.4 GHz.

    A PHANTOM(TM) version 1.5 manipulator was used as the haptic interface. The

    two computers were connected by an 100 Mbs ethernet network running a custom

    network protocol implemented on top of UDP. The computers were connected through

    a dedicated ethernet switch to eliminate the possibility of interference from other

    traffic on the network.

    37

  • Chapter 4

    Results

    Figure 4.1: Haptic simulation screenshot

    A simulation implementing these methods was successfully implemented. Figure

    4.1 is a screenshot of the implementation. The red cursor marking the location of

    the haptic instrument is visible above the gray surface of the MSD model network.

    The red box surrounds the area of the mesh that is used to generate the local model.

    38

  • Figure 4.2: Screenshot showing contact between the instrument and thedeformable object

    Figure 4.2 shows interaction between the network and the instrument. The first

    section addresses the performance of the multi-rate simulation technique with the

    mass-spring-damper model. The next two sections examines performance claims of

    Pure Sticking and Pure Sliding modes of the algorithm, and the final section presents

    results for full stick-slip friction algorithm.

    Table 4.1: Parameters used in MSD model simulationK, spring constant 10.0 N/mm

    Node spacing 1 cmNode mass 500 mg

    Damping factor 1.5 N·s/mmGlobal time step 100 msHaptic time step 1 ms

    39

  • 4.1 Comparison of Local and Global Model Simu-

    lations

    The basic properties and performance of the multi-rate simulation technique were

    tested using with instrument motion specified programmatically, rather than using

    the haptic device for input, so that the input could be kept constant between test runs

    in order to establish the difference in performance between the global and local model

    simulations. Three test cases were constructed, each using the same pre-determined

    instrument motion, in which a single node was pulled 2 cm above the surface of the

    mesh, and then released. The force exerted on the instrument as the surfaces deforms

    and presses against it was then computed.

    The first test case uses the global model simulation only, updated at 30 Hz as

    specified in the multi-rate algorithm, but does not run the local model simulation.

    The second test case also uses the global model simulation only, but updates it at

    1000 Hz. This is not possible in real time, but this test case provides a base line

    for comparison of the behavior of the simulation. Finally, the last test case uses the

    multi-rate simulation technique described above, in which the global model runs at

    30 Hz, and the local model running at 1000 Hz is used to generate output ‘between’

    global updates. The force output during the same part of the trial run is presented

    in figure 4.3.

    The global model running at 1000 Hz provides the most accurate output; the force

    follows a smooth sinusoidal curve consistent with the mass-spring-damper model.

    The global model running at 30 Hz exhibits the same approximate behavior, but the

    force output shows a stair-step pattern due to the lower update rate. This method

    results in a large discontinuity after every global update. The multi-rate simulation

    follows the tangent behavior of the system between each global update. While there

    40

  • 2.4

    2.45

    2.5

    2.55

    2.6

    1.2 1.3 1.4 1.5 1.6 1.7 1.8

    Time, seconds

    Forc

    e, N

    Figure 4.3: Multi-rate simulation results. Dotted line is global model run-ning at 1000 Hz. Dashed line is global model running at 30 Hz. Solid lineis local model running at 1000 Hz.

    is a discontinuity as each global update is received and a new tangent behavior is

    calculated, the magnitude of the jump is much lower than the height of the stair-step

    discontinuity from the global model-only test case.

    A second set of tests was performed to determine the effect of local model reduction

    on the simulation. Since in the multi-rate simulation, part of the surface local to the

    instrument tip is being simulated using the local model simulation while the rest is

    being simulated using the global model simulation, tests were performed to establish

    if this division resulted in inaccuracies in the model behavior. In these tests, the

    41

  • instrument was held immobile over a section of the global model, so that a patch of

    the surface under the instrument tip was simulated using the local model. The surface

    was then deformed programmatically by pulling the node under the instrument tip

    upwards and then releasing it, so that a wave-like motion spread through the model.

    The instrument was held at a sufficient distance to ensure that it never touched the

    surface during the trial. The test was then repeated with the instrument moved

    away from the surface, so that no local model was used, and the entire simulation

    was performed using the global model. The position of the deformed node along the

    y-axis was then compared between the two tests, as presented in Figure 4.4.

    The behavior of the multi-rate simulation was found to show a high degree of

    agreement with the global model only simulation, with primarily a delay of one global

    time step differentiating the two.

    4.2 Pure Slipping Constraint Results

    The Pure Slipping constraint was tested in several ways. First, in a single-axis contact

    test, the instrument was constrained to move only in one dimension, perpendicular

    to the mesh surface. The instrument was then pushed down 1.0 cm into the mesh

    and held at that depth. The magnitude of the force output during the contact is

    presented in Figure 4.5, and shows that the force response to the instrument initially

    oscillates before settling to a steady-state value.

    In a second test, the instrument was moved to one edge of the mesh, and dragged

    over the surface. Figure 4.6 shows the magnitude of the force on the instrument

    normal to the mesh surface. The magnitude of the tangential force response is zero

    throughout the experiment. When the instrument is pushed into the surface, con-

    tact forces are generated in the normal direction but not in the tangential direction,

    42

  • 2.4

    2.5

    2.6

    2.7

    2.8

    2.9

    3

    3.1

    3.2

    3.3

    0 0.5 1 1.5 2 2.5 3 3.5 4

    time, seconds

    y - p

    ositi

    on o

    f nod

    e ab

    ove

    orig

    in, c

    m

    Comparison of local and global model behavior

    Figure 4.4: Multi-rate simulation results, y-position of test node vs time.Solid line is global model running at 30 Hz, dashed line is local modelrunning at 1000 Hz.

    43

  • 0

    1

    2

    3

    4

    5

    6

    4.5 9.5 14.5 19.5 24.5 29.5time, seconds

    forc

    e, N

    Figure 4.5: Pure Slipping constant contact results.

    44

  • consistent with a zero-friction model.

    Sliding Contact

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    32 34 36 38 40 42time, seconds

    forc

    e, N

    Figure 4.6: Pure Slipping dragging contact results.

    4.3 Pure Sticking Constraint Results

    The dragging contact experiment was also repeated to test pure sticking contact to

    simulate a ‘sticky’ high co-efficient of friction surface. A tangential as well as a normal

    force was observed, with a tangential force often larger than the normal, as the motion

    of the instrument is mostly in the tangential direction.

    45

  • Sticking Contact

    0

    2

    4

    6

    8

    10

    12

    14

    10 10.5 11 11.5 12 12.5 13 13.5 14time, seconds

    forc

    e, N

    Figure 4.7: Pure Sticking contact results. Solid line is magnitude of normalforce, dotted line is magnitude of tangential force.

    46

  • 4.4 Stick-Slip Frictional Sliding Friction Results

    Stick-Slip Hybrid Algorithm

    0

    0.5

    1

    1.5

    2

    2.5

    3

    3.5

    4

    60 61 62 63 64 65

    Forc

    e, N

    time, seconds

    Figure 4.8: Hybrid stick-slip dragging results, co-efficient of friction 1.0.Solid line is magnitude of force normal, dotted line is magnitude of tan-gential force.

    In this section, the full stick-slip frictional contact algorithm was tested. The

    algorithm was allowed to switch between pure sticking and frictional sliding, and the

    dragging contact experiment presented in the Pure Sticking constraint results above

    was repeated. The test was performed with a co-efficient µ of friction of 1.0, with

    results as shown in Figure 4.8. The tangential force is then bounded by the normal

    force, since FT ≤ µFN . Therefore, when the force generated by the sticking constraint

    rises above the normal force, the algorithm switches from pure sticking to frictional

    47

  • sliding, leading to a decrease in force. A typical transition event can be seen at t =

    61.8 Before the transition, the mesh is being dragged under the instrument tip by

    the sticking constraint. As the mesh is deformed, the force required to maintain the

    constraint increases, leading to an increase in both the normal and tangential force.

    In the pure sticking results presented above, the tangential force increases above µ

    times the normal force, since the dragging motion is mostly in the tangential direction.

    However, in the hybrid model, instead the algorithm transitions and the tangential

    force decreases.

    48

  • Chapter 5

    Discussion

    5.1 Extensions to Literature

    The main findings from this work extend the literature in two ways. First, the new

    linearization method for Mass-Spring-Damper models is an improvement over existing

    methods of building local approximations. Second, the stick-slip collision response

    offer a new direction in contact resolution in haptic environments.

    The linearization method was found to produce high quality force output at the

    haptic update rate. In addition, it was established experimentally that the lineariza-

    tion could be constructed and simulated both within the time constraints of the global

    and haptic update rates and also with a high degree of accuracy.

    Several important insights can be gained from the local hybrid collision resolution

    algorithm. While the algorithm successfully generated reasonable contact forces, two

    major caveats apply. First, the resolution of the mesh was relatively low, and so

    triangulation was fairly coarse. As the instrument is dragged over the mesh, the facets

    of the mesh are very haptically apparent. The periodic large discontinuities present

    in both the pure sticking and hybrid algorithm dragging experiments were largely

    49

  • the result of the instrument moving over a triangle boundary. Second, the method

    requires that the high-frequency behavior of the model be dependent primarily on

    local states. In the case of a non-homogenous material, this assumption could be

    violated, resulting in discontinities and unrealistic force output.

    5.2 Limitations

    Several limitations qualify the results of this study. First, haptic virtual environments

    with deformable surfaces remain rare, and detailed results from an alternative imple-

    mentation from another research group with which to compare these results were

    not available. This is compounded by the fact that MSD models are not physically

    based, meaning that there is no straightforward method of determining MSD mesh

    parameters from physical substances, like human tissue. Therefore, evaluation of the

    algorithm remains largely qualitative. Second, the effects of highly non-homogenous

    materials, which could potentially break the assumption that local effects are domi-

    nant, have not yet been explored.

    5.3 Conclusion

    A novel method of generating linear approximations of MSD models was designed,

    implemented, and successfully tested. A haptic update rate contact-resolution algo-

    rithm was also test that provided a satisfactory haptic experience.

    50

  • 5.4 Future Work

    The limitations found in testing of the implementation of this project suggest several

    fruitful avenues for future work. The coarse granularity of the mesh was found to

    cause discontinuities and loss of contact as the instrument rolls over triangle bound-

    aries. Multi-resolution methods that dynamically re-triangulate the mesh are one

    possibility to overcome these issues. In addition, it may also be possible to extend

    the algorithm along lines inspired by the industry-standard Phong shading algorithm

    by interpolating the triangle normals across the face of each triangle, so that a contin-

    uous normal can be defined across multiple triangles. This may result in a smoother

    force feedback when traveling over triangle boundaries, since the direction of the force

    output would change continuously.

    Additional work to establish a unified framework with which to compare results

    from haptic simulations would strengthen the results of this and many other studies

    by allowing quantitative comparisons of the haptic experience. Work has already

    begun to adapt methods from this study to the GiPSi simulation framework, an

    open source simulation framework for surgical simulation with haptic feedback [4]. It

    would also extend the results of this study to make the deformable model strongly

    physically based. The linearization method described for MSD could be adapted

    for use with FEM models, which accurately model physical materials. In addition,

    unpublished work by Cavusoglu and Natsupakpong aims to develop a method of

    generating MSD mesh parameters from physical measurements, which would also

    allow direct comparison of the haptic experience to actual manipulation.

    51

  • Bibliography

    [1] O. R. Astley and V. Hayward. Multirate haptic simulation achieved by couplingfinite element meshes through norton equivalents. In Proceedings of the IEEEInternational Conference on Robotics and Automation (ICRA’98), pages 989–994, May 1998.

    [2] M. C. Çavuşoğlu. Telesurgery and Surgical Simulation: Design, Modeling, andEvaluation of Haptic Interfaces to Real and Virtual Surgical Environments. PhDthesis, University of California, Berkeley, August 2000.

    [3] M. C. Çavuşoğlu, D. Feygin, and F. Tendick. A critical study of the mechanicaland electrical properties of the PHANToMTM haptic interface and improvementsfor high performance control. Presence, 11(6):555–568, December 2002.

    [4] M. C. Çavuşoğlu, T. Goktekin, and F. Tendick. GiPSi: A framework foropen source/open architecture software development for organ level surgicalsimulation. Submitted to the IEEE Transactions on Information Technology inBiomedicine, 2005. (Under Review).

    [5] M. C. Çavuşoğlu and F. Tendick. Multirate simulation for high fidelity hapticinteraction with deformable objects in virtual environments. In Proceedings ofthe IEEE International Conference on Robotics and Automation (ICRA 2000),pages 2458–2465, April 2000.

    [6] S. Choi and H.Z. Tan. Discrimination of virtual haptic textures rendered withdifferent update rates. In Proceedings of the First Joint Eurohaptics Conferenceand Symposium on Haptic Interfaces for Virtual Environment and TeleoperatorSystems, pages 114–119, March 2004.

    [7] S.P. DiMiao and S.E. Salcudean. Needle insertion modeling and simulation.IEEE Transactions on Robotics and Automation, 19(5):864–875, October 2003.

    [8] R. J. Webster III, N. J. Cowan, G. S. Chirikjian, and A. M. Okamura. Non-holonomic modeling of needle steering. In Proceedings of the 9th InternationalSymposium on Experimental Robotics, 2004. (In press).

    52

  • [9] D. James and D. K. Pai. Multiresolution green’s function methods for interactivesimulation with force feedback. In ACM Transactions on Graphics, pages 47–82,2003.

    [10] J. Kim, S. De, and M.A. Srinivasan. Computationally efficient techniques forreal time surgical simulation with force feedback. In Proceedings of the 10thSymp. on Haptic Interfaces For Virtual Environment and Teleoperator Systems(HAPTICS’02), pages 51–57, 2002.

    [11] J. Kim, S. De, and M.A. Srinivasan. A fast method to simulate virtual de-formable objects with force feedback. In 7th International Conference on Con-trol, Automation, Robotics, and Vision (ICARCV 2002), pages 413–418, 2002.

    [12] C. Lennerz, E. Schoemer, and T. Warken. A framework for collision detectionand response. In Proceedings of the 11th European Simulations Symposium, pages309–314, 1999.

    [13] K. Montgomery, L.R. Hienrichs, C. Bruyns, S. Wildermuth, C. Hasser,S. Ozenne, and D. Bailey. Surgical simulator for hysteroscopy: a case studyof visualization in surgical training. In Proceedings of Visualization 2001 (VIS’01), pages 449–587, October 2001.

    [14] D. Morris, C. Sewell, N. Blevins, F. Barbagli, and K. Salisbury. A collaborativevirtual environment for the simulation of temporal bone surgery. In Proceed-ings of Int’l Confereance on Medical Imaging Computing and Compter AssistedInternvetion (MICCAI), pages 319–327, 2004.

    [15] I. Olofsson, K. Lundin, M. Cooper, P. Kjall, and A. Ynnerman. A haptic in-terface for dose planning in stereo-tactic radiosurgery. In Eighth InternationalConference on Information Visualization (IV 2004), pages 200–205, July 2004.

    [16] C. Riviere, R.S. Rader, and P.K. Khosla. Characteristics of hand motion of eyesurgeons. In Proceedings of the 19th Annual Conference of the IEEE Engineeringin Medicine and Biology Society, 1997.

    [17] Intuitive Surgical. da vinci surgical system. http://www.intuitivesurgical.com/products/davinci_surgicalsystem/index.aspx, May 2006.

    [18] Sensable Technologies. Phantom 1.5 product datasheet, May 2006.

    [19] F. Tendick, M. Downes, T. Goktekin, M. C. Çavuşoğlu, D. Feygin, X. Wu,R. Eyal, M. Hegarty, and L. W. Way. A virtual environment testbed for traininglaparoscopic surgical skills. Presence, 9(3):236–255, June 2000.

    [20] R. Webster, J. Sassanni, R. Shenk, and G. Zoppetti. Simulating the continuouscurvilinear capsulorhexis procedure during cataract surgery. In Proceedings ofthe 15th IASTED International Conference, 2004.

    53

  • [21] J. Zhang, S. Payandeh, and John Dill. Haptic subdivision: an approach to defin-ing level-of-detail in haptic rendering. In Proceedings of the 10th Symp. on HapticInterfaces For Virtual Environment and Teleoperator Systems (HAPTICS’02),pages 201–208, 2002.

    54