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