Local model of interaction for haptic manipulation of rigid virtual worlds

THE INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH, VOL. , NO. ,
1
Local model of interaction for haptic manipulation
of rigid virtual worlds
Daniela Constantinescu, Septimiu E. Salcudean, Elizabeth A. Croft
Abstract— This paper proposes a local model of rigid body
interaction that provides users with convincing kinesthetic feedback while they manipulate a virtual tool within a rigid multibody
virtual world. The virtual tool can be a rigid object or a linkage.
The local model can interface a haptic device to any virtual
environment simulation that provides the contact position, the
contact normal direction, and the penetration depth of the virtual
tool into the virtual world at the virtual tool contacts. The
local model includes a proxy of the virtual tool that embeds
an approximation of its geometry and of its dynamics, and
that eliminates force discontinuities at model updates via proxy
deformation. In addition, the model includes active and predicted
virtual tool contacts. Predicted contacts are used to maintain
force continuity and to better constrain users to tight virtual
spaces. Experiments performed within a planar virtual world
demonstrate that, compared to prior local models of rigid body
interaction, the proposed model enables users to feel stiffer
contacts and improves users’ perception of free space in locally
cluttered virtual environments.
Index Terms— haptic feedback, local model of rigid body
interaction, dynamic proxy, rigid multibody virtual environment.
I. I NTRODUCTION
For more than a decade, virtual reality applications have interested various prospective users, from engineers who would
feel forces acting on virtual prototypes to doctors who would
learn brain surgery on computer models rather than on animal
or human patients. Due to the wealth of potential advantages
of virtual force interactions, much research has focused on
the development of control [1], [2], and simulation [3], [4],
[5], [6], [7], [8], [9] algorithms for haptic manipulation of
rigid virtual worlds. However, few applications are presently
in use [6], [8] and consumer grade haptics still elude us.
A prerequisite for the more common use of haptics is a
method that allows the coupling of a haptic device to an
arbitrary virtual environment and provides stable and realistic
forces to users. Such a method is challenging to develop
Manuscript received September 16, 2004; revised April.
Regular paper
Corresponding author: D. Constantinescu is with the Department of
Mechanical Engineering, University of Victoria, Canada. Mailing address:
University of Victoria, Department of Mechanical Engineering, Engineering
Office Wing, Room 548, 3800 Finnerty Road, Victoria, B.C., Canada V8W
2Y2. Fax: (250)721-6051. Email: [email protected].
S. E. Salcudean is with the Robotics and Control Laboratory, University
of British Columbia, Canada. Mailing address: Department of Electrical and
Computer Engineering, 2356 Main Mall, UBC, Vancouver, B.C., Canada V6T
1Z4. Fax: (604) 822-5949. Email: [email protected].
E. A. Croft is with the Industrial Automation Laboratory, University
of British Columbia, Canada. Mailing address: Department of Mechanical
Engineering, 2054-2324 Main Mall, UBC, Vancouver, B.C., Canada V6T 1Z4.
Fax: (604) 822-2403. Email: [email protected].
because it must reconcile conflicting requirements from our
sense of touch, the device controller, and the simulation. To
perceive virtual objects as realistic representations of real
objects, our sense of touch requires forces that suitably approximate physical phenomena and are provided at frequencies of
the order of hundreds of Hz. To create an adequate perception
of rigidity and to maintain the stability of the interaction,
the device controller requires setpoints for the force control
loop at fixed frequencies of the same order of magnitude.
However, typical interactive, physically based, rigid multibody
simulations provide forces at variable rates of the order of tens
of Hz [10]. To address the need for physically motivated forces
at fixed high frequencies, two approaches have been pursued.
In a first approach, researchers have improved the real
time performance of the virtual environment via new collision
detection algorithms [7], [8], [9]. Those algorithms alleviate
the collision detection bottleneck characteristic of simulations
of complex virtual worlds. Simulations that employ such
algorithms achieve haptic performance for complex contact
geometries, but the stability of the interaction is not guaranteed [7]. Furthermore, force feedback within such fast virtual
worlds is still not possible if the haptics server differs from
the virtual environment simulation server. This could occur, for
example, when the haptic device is connected to the simulation
engine through the internet.
In another approach, researchers have decoupled the force
control loop from the virtual environment simulation. The
decoupling relieves the haptic rate demand on the simulation,
thus enabling users to manipulate virtual worlds of increased
complexity. In addition, the haptics and the simulation engines
may be different. However, users perceive realistic interactions
only if the forces provided to the control loop during one
simulation step suitably approximate the forces acting on the
virtual object that they manipulate in the virtual environment
(hereafter called the virtual tool). Therefore, the decoupling
of the force control loop from the simulation requires a local
model of the interaction. This local model must run at the
fixed haptic rate and must include virtual world features that
are salient to the interaction over one simulation step.
The earliest local model has been proposed for point interaction within virtual environments [11]. That model comprises
the position and the outward normal of the active contact.
Hence, it is a geometric local model of the virtual world that
shifts the computational delay of the simulation from delay in
updating forces to delay in updating the local geometry. As a
result of faster force computations, users feel stiffer contacts.
However, force discontinuities arise at model updates due to
geometry discontinuities, such as large changes in the contact
THE INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH, VOL. , NO. ,
position or the contact normal. Force discontinuities introduce
perceptual artifacts and may destabilize the interaction. In
prior research, force discontinuities at model updates have
been diminished: (i) by allowing the active contact to move
in the local model with velocity equal to its velocity in the
virtual environment at the moment of the update [10]; (ii) by
updating the local contact position progressively, through
linear interpolation between the old and the new positions
reported by the simulation [12]; and (iii) by alleviating geometry discontinuities via local models that comprise both
active and predicted geometry [13], [14]. Existing local models
with predicted geometry consider only point interaction with
the virtual environment. Furthermore, they compute expected
contacts with the virtual object touched by the user based on
information about the connectivity of the geometric features
(i.e., faces, edges, and vertices) of this object. Thus, the
model in [13] comprises all object faces neighboring the active
contact, while the model in [14] includes all object faces
within the user’s reach over the next simulation step (selected
using the user’s hand velocity in addition to connectivity
information). However, existing simulations embed information about the connectivity of the geometric features of the
virtual objects in various data structures. Local models using
prediction algorithms that require such information impose
restrictions on the virtual environments that they can interface
to the haptic device.
A local model of rigid body interaction (called intermediate
representation) has been proposed in [15]. It includes all
active contacts of the virtual tool. Because instability arises
when the virtual tool is tightly constrained by the virtual
environment (for example, during peg-in-hole manipulations),
the intermediate representation has been used to restrict only
the translation of the haptic device. Device rotation has been
constrained to the virtual tool rotation through a virtual coupler [1], [2] (i.e., a proportional derivative - PD - controller
that acts like a rotational spring-damper between them).
To meet the need of haptic devices for physically motivated
forces provided at high fixed frequencies, this work proposes
to decouple the force control loop from the simulation. As
demonstrated via experiments in Section V, it develops the
first reported local model of rigid body interaction that can be
used to constrain both the translation and the rotation of the
haptic device during user manipulations of rigid virtual tools
within multibody virtual worlds. Four features distinguish the
proposed model from existing models:
The model selects local geometry without requiring information about the connectivity of the geometric features
of the virtual objects to be available in the virtual environment. Therefore, it can interface a haptic device to
an interactive simulation regardless of the algorithms and
the data structures employed to generate the virtual world.
This is shown in Section V via interfacing a haptic device
to a multibody simulation generated using a commercial
physics engine through the proposed model.
The model includes a dynamic representation of the virtual tool (hereafter called dynamic proxy). The dynamic
proxy allows physically-motivated virtual tool interactions to be computed locally regardless of whether users
2
manipulate rigid objects or linkages. Moreover, it enables
the haptic controller to transmit wrenches (i.e., forces and
torques) between the device and the dynamic proxy and to
coordinate body positions (i.e., position and orientation)
between them. The experiments in Section V-C show that,
compared to directly coupling an impedance device to an
admittance simulation [15], this controller renders stiffer
contacts to users.
The model maintains force continuity at model updates
via local proxy deformation. Proxy deformation converts
local geometry discontinuities caused by the virtual environment delay into discontinuities in proxy geometry. At
the same time, it maintains the continuity of the proxy
motion and of the penetration of the local contacts. As
illustrated via simulations in Sections III-B and III-C
and via experiment in Section V-A, proxy deformation
eliminates force spikes at model updates and, thus, enables stable haptic interaction within virtual environments
with interactive performance (environments with average
frequencies of Hz are considered in this work).
The model incorporates expected contacts between the
virtual tool and objects not adjacent to it. Expected
contacts are included in the local model via virtual environment geometry within distance from the virtual tool
(hereafter called -active geometry). As the simulation
in Section III-C and the experiments in Section V-B
show, -active geometry improves users’ perception of
tight virtual spaces when users operate the virtual tool
through small clearances.
The proposed local model is presented in the following
sections, starting with a synopsis of haptic interaction within
rigid virtual worlds using this model in Section II. The local
geometry is presented in Section III. The local dynamics,
including the local contact model that they are based on, are
overviewed in Section IV. Experimental results obtained by
interfacing a planar haptic device to a virtual environment
through the proposed local model of interaction are discussed
in Section V. A discussion of the advantages and limitations
of the proposed local model and of directions for future work
concludes the paper in Section VI.
50
II. S YNOPSIS
OF HAPTIC MANIPULATION OF RIGID
VIRTUAL TOOLS USING THE LOCAL MODEL OF
INTERACTION
Haptic manipulation of rigid virtual tools through the local
model of interaction proposed in this paper is schematically
depicted in Figure 1. As shown in this figure, the interaction
between the virtual tool and the virtual world is approximated
in the local model through the interaction between the virtual tool and neighboring virtual objects. The quality of the
approximation is maintained by updating the local model at
each step of the simulation. The virtual interactions are applied
to users through a controller that coordinates both wrenches
and body positions between the haptic device and the local
model of interaction.
Figure 1 shows that the present local model comprises
active and -active constraints imposed on the motion of
THE INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH, VOL. , NO. ,
Virtual
tool
Simulated
hand
Dynamic
proxy
Active
geometry
User’s
hand
e-active
geometry
wrenches
update Microcontroller
Haptic
Host local geometry
proxy state
motions
device
VE
Local
model
@
@
tens of Hz
hundreds of Hz
Fig. 1. Communication between the virtual environment (VE), the local model
of interaction, and the haptic device.
the virtual tool by the virtual environment, as well as a
dynamic proxy of the virtual tool. The -active constraints
represent virtual environment geometry within distance from
the virtual tool. They add contact prediction capabilities to
the local model without requiring the virtual environment to
implement particular data structures (like kinetic data structures [16], [17], [18] or velocity-aligned discrete oriented
polytopes [19]) and algorithms (like those proposed in [20],
[21], [22], [23], [24]). By taking advantage of motion coherence and of geometric locality, such dynamic collision detection data structures and algorithms significantly improve the
simulation performance while guaranteeing that no collisions
are missed. Therefore, many simulation packages implement
some dynamic collision detection. However, the present local
model aims to interface a haptic device to any commercially
avaialable simulation engine. Therefore, it predicts virtual tool
contacts using -active geometry. As described in Section IIIC, -active geometry imposes no restrictions on the simulation.
The dynamic proxy differs from proxies used in prior
haptics research [3], [25] in two ways: (i) it provides a representation of the virtual tool rather than of the haptic device;
and (ii) it approximates the geometry and the dynamics of the
virtual tool rather than only the position of its centre of mass
(COM). These differences arise from the dissimilar purposes
served by earlier proxies (in the haptic simulation) and by
the dynamic proxy (in the present local model of interaction).
Earlier proxies encode the position of the user in the simulation
that is closest to the haptic device and is compatible with the
geometry of the rigid virtual objects. Those proxies accomplish
two goals: (i) they prevent users from tunneling through thin
virtual walls when the haptic device moves past such walls
in a single simulation step; and (ii) they identify a unique
penetration distance and a unique direction of user penetration
into the virtual environment regardless of the contact geometry,
thus enabling users to perceive constant environment stiffness.
During rigid body interaction within rigid multibody virtual
worlds, the geometry of the contact configuration and the
mass distribution of the virtual tool influence the realism of
the wrenches applied to users. Therefore, the dynamic proxy
is designed to provide suitable approximations both of the
geometry of the virtual tool contacts (described in Section IIIB) and of the virtual tool dynamics (described in Section IV),
3
and, thus, to enable the proposed local model to compute
convincing virtual interactions.
A further benefit of the dynamic proxy is that it allows the
four channel teleoperation controller developed in [26] to be
used for coordinating both wrenches and body positions between the local model of interaction and the haptic device. This
controller feeds the user-applied wrench through to the proxy
and the proxy interactions back to the user’s hand via its two
force coordination channels. Its position coordination channels
act as one translational and one rotational spring-damper pairs
between the proxy and the device. Compared to the virtual
coupler [27], [2] (which coordinates only positions between
the haptic device and the virtual environment), the four channel
controller applies to users wrenches representing collisions
and dry friction and, thus, increases the realism of the virtual
interaction. Compared to the direct coupling of the haptic
device to the virtual environment [15] (which only applies
the hand wrenches to the proxy and the virtual interactions
to the user’s hand), the teleoperation controller adds damping
through its position coordination channels. The experiments
in Section V demonstrate that this additional damping allows
stiffer contacts to be rendered to users. Hence, the dynamic
proxy facilitates the use of a haptic controller that improves
the compromise between transparency and stability during user
manipulations of rigid virtual tools within multibody virtual
worlds.
III. L OCAL GEOMETRY
The physically-motivated forces required for a convincing
haptic experience arise at the contacts between the virtual tool
and other virtual objects, collectively referred to as the virtual
environment. Hence, the representation of contact and the
geometry of the virtual world are important for realistic force
feedback. Complete geometry is desirable for accurate computation of interactions, since it allows all contact transitions of
the virtual tool to be resolved locally. Nevertheless, complete
geometry cannot be used in the local model due to the
complexity and the variability across simulation packages of
both the data structures and the collision detection algorithms
associated with the complete geometry.
Partial virtual environment geometry may result in perceptual artifacts or unstable interaction due to undesirable
force discontinuities at model updates. The selection of salient
geometry to be used in the local model, and the choice
of a method for transitioning between the old and the new
local models, are critical for a stable and convincing virtual
kinesthetic experience. The techniques employed for selecting appropriate local geometry and for transitioning between
successive local models are presented in the following section.
A. Active geometry
Virtual environment geometry in direct contact with the
virtual tool at simulation updates, called active geometry,
is of primary importance for realistic user manipulations of
multibody virtual worlds. Therefore, the active geometry is
initially chosen to approximate the virtual environment in the
proposed local model of interaction.
THE INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH, VOL. , NO. ,
4
To enable the coupling of a haptic device to an arbitrary
virtual world, the active geometry is restricted to information
generally available in physically-based virtual environments.
Typical simulation packages represent rigid bodies as collections of convex polyhedra [8] and compute basic (vertex-face
and edge-edge) contacts [28] between pairs of these polyhedra.
Furthermore, to solve the forward dynamics of the virtual
world, they approximate rigid body contact via a finite number
of basic contacts1 [29], [30]. For each basic contact, they
provide a contact point
, a contact normal direction ,
c p;V E
n
c p
direction of the local constraint , and the local contact point
(see Figure 2(d)). The position of the local constraint
is the position of the face point closest to the vertex
when the virtual tool is in vertex-face contact with the virtual
environment (Figure 2(a)); it is the position of the vertex
when the virtual tool is in face-vertex contact with the virtual
environment (Figure 2(b)); and, it is the position of the point
on the environment edge that is closest to the virtual tool edge
when the virtual tool is in edge-edge contact with the virtual
environment (Figure 2(c)). The normal direction of the local
constraint is the contact normal direction supplied by the
simulation. Furthermore, the local contact point is the vertex
itself when the virtual tool is in vertex-face contact with the
n
p
1 For example, typical simulation packages represent a face-face contact via
several vertex-face contacts, an edge-face contact via two vertex-face contacts,
and a vertex-edge contact via two vertex-face contacts [29].
c
~COM
c =c
~p ~p,VE n
p
~
Virtual environment
(a) Virtual tool in vertex-face
contact with the virtual environment.
c
~COM
Virtual tool
n
c
~p
p
~
cCOM
n ~
c
~p
Virtual tool
s
s
n
and a penetration depth. The penetration depth is equal and
opposite to the separation distance s between the polyhedra
features involved in the basic contact; i.e., it is positive when
the virtual tool and the virtual environment overlap. The active
geometry consists of all basic contacts of the virtual tool with
the virtual environment.
Note that the active geometry provides a discrete approximation of the contact geometry of the virtual tool. This approximation suitably embeds the motion constraints imposed
on the virtual tool by the virtual environment at all but the
contacts with indeterminate contact normals, for example at
vertex-edge contacts. At such contacts, the contact normal
reported by the simulation may change frequently and abruptly
due to the finite precision of the computations and the lack of
memory of existing collision detection algorithms for multibody environments. For example, vertex-edge contacts may be
reported as vertex-face contacts with either face neighboring
the edge. To alleviate the perceptual artifacts due to contacts
with indeterminate normals, the local model of interaction uses
the -active geometry, as described in Section III-C.
In the local model of interaction, the active geometry
is encapsulated in the local proxy contacts. A local proxy
contact is defined through the identifiers of the two contacting
objects and its geometric, kinematic, and dynamic properties.
Typically, the identifiers of the contacting objects are the
addresses of their data structures in the simulation. The geometric properties of a local proxy contact embed the geometric
information provided by typical simulation packages for each
basic contact of the virtual tool (see Figure 2). These properties
, the normal
consist of: the position of the local constraint
p
c p
Virtual tool
p=c
~ ~p,VE
Virtual environment
(b) Virtual tool in face-vertex
contact with the virtual environment.
c
~COM
Proxy
n
s
c
~p
s
p
~
Virtual environment
(c) Virtual tool in edge-edge
contact with the virtual environment.
Local constraint
(d) Local contact.
Fig. 2. Geometric information provided by typical simulation packages for
each basic contact of the virtual tool (Figures 2(a), 2(b), and 2(c)) and its
representation in the local model of interaction (Figure 2(d)).
virtual environment (Figure 2(a)); it is the face point closest
to the vertex when the virtual tool is in face-vertex contact
with the virtual environment (Figure 2(b)); and, it is the point
on the virtual tool edge closest to the environment edge when
the virtual tool is in edge-edge contact with the virtual environment (Figure 2(c)). Note that, constraints are considered to
extend infinitely in the local model. Moreover, a proxy-centric
view is adopted in describing the active geometry: constraint
normals are directed from the virtual environment to the virtual
tool and the contact point is taken on the proxy.
Both the position of the local constraint
and its normal
c p
n
direction are provided in world coordinates by the virtual
environment simulation. This is similar to the intermediate
representation of virtual environment geometry used in [15]
and is a direct extension to rigid body interaction of the
intermediate representation in [11]. The local contact point
is computed in proxy coordinates by the local model of
interaction:
p
p = R c p + sn c COM
.
(1)
THE INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH, VOL. , NO. ,
5
R
c
In Equation (1), is the rotation from the world to the proxy
coordinates and
COM is the position of the centre of mass
(COM) of the proxy.
The kinematic properties of a local proxy contact are
provided by the local constraint velocity vconstr , which is the
projection along the constraint normal of the velocity of the
:
virtual environment point in contact with the virtual tool
n
vconstr
vc
p
= n vc .
p
T
= nT c COM + R 1p c p
n2
Virtual tool
Virtual
environment
(2)
The local constraint velocity is used to predict the constraint
position at the next simulation update, thus diminishing local
geometry discontinuities at model updates. The dynamic properties of a local proxy contact consist of the contact stiffness
klc , the contact damping blc , the coefficient of restitution e,
and the coefficients of static and kinetic friction, s and k ,
respectively. In the proposed local model of interaction, all
local contacts represent contacts between rigid bodies and have
the same stiffness and damping. Furthermore, nonincreasing
kinetic energy of the proxy during collisions is ensured by
assuming that all local contacts have the same coefficient of
restitution (as explained in Section IV).
The local proxy contacts are the only geometry that the local
model is aware of. Hence, only partial virtual environment
geometry is available locally. This is illustrated in Figure 3,
where the local representation of an example virtual world
geometry is depicted. Partial geometry makes the proposed
approach compatible with simulation packages regardless of
the data structures that they use for representing the virtual
objects. Moreover, it simplifies local collision detection, which
becomes an iteration through all local contacts in order to
compute separation distances according to:
s
Local constraints
.
(3)
In Equation (3), s is the separation between the proxy and
1 is the
the local constraint at the contact of interest and
rotation from proxy to world coordinates. In other words, local
collision detection only checks whether a contact reported by
the virtual environment is made or broken between updates.
Transitions of the proxy to contact states involving other
features of the virtual tool and the virtual environment than
those reported by the simulation are not possible between
updates. This is a direct consequence of the fact that no
geometric connectivity information is used in the local model.
R
The active geometry shifts the computational delay of the
simulation from delay in computing interaction forces to delay
in updating the local geometry. As a result of faster force
computations, the users’ haptic experience is improved in two
ways: (i) they can manipulate much stiffer objects, due to
the high control rate that can be achieved; and (ii), they can
feel physical phenomena that rely on fast force transitions,
such as collisions and stick-slip friction. However, at model
updates, undesirable discontinuities may arise in the locally
computed forces that may destabilize the interaction. Two
techniques are proposed to avoid such discontinuities: local
(a) Example contact geometry in
the virtual environment simulation.
c
~p2
n1
c
~p1
(b) Local representation of the
virtual environment geometry
shown in Figure 3(a).
Fig. 3. Partial virtual environment geometry available in the proposed local
model of interaction.
proxy deformation and prediction of the local constraints.
As described in the following Sections III-B and III-C, local
proxy deformation smoothes interaction forces at simulation
updates via maintaining the penetration of the local contacts
continuous, while constraint prediction alleviates the effect of
the computational delay of the virtual environment simulation
via sending constraints to the local model before they become
active.
B. Local proxy deformation
An update of the local model may result in: (i) new local
contacts with significant penetration (this may happen when
the user quickly moves the virtual tool into a constraint); and
(ii) existing local contacts with significant discontinuities in
the penetration (this may happen when the virtual environment is generated using a penalty-based simulation, because
the proxy interactions are approximations of the virtual tool
interactions and the proxy penetration into the local constraints
may differ from the virtual tool penetration into the virtual
environment). Discontinuities in the local contact penetration
lead to discontinuities in the setpoint of the force control
loop and may produce unacceptable force spikes or may
destabilize the interaction. In the present local model, this
difficulty is addressed by maintaining the penetration of the
local contacts continuous through proxy deformation. When
the virtual environment sends a new contact to the local model,
the proxy is deformed such that it only touches the new
constraint, i.e., the new local contact point is computed by
(see Figure 4):
p = R c p c COM
.
(4)
When the virtual environment sends an existing contact to the
local model, the local contact point is re-computed by:
p = R c p + sn c COM
.
(5)
The proxy is expanded back towards the actual geometry of
the virtual tool whenever a local contact is lost.
To maintain continuous penetration of the local contacts,
proxy deformation introduces suitable adjustments in proxy
THE INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH, VOL. , NO. ,
Deformed
proxy
Actual
proxy
x [m]
cp,1
~
5
p2
~
p1
~
Fig. 4. Local deformation of the proxy due to violation of new constraints.
1/ms2
Local model
fh
y
x
−5
(b) Dynamic model of the task.
Fig. 5. One dimensional peg-in-hole task used to illustrate the influence of
local proxy deformation on the stability of the interaction in Figure 6, and used
to illustrate the influence of local geometry on user’s perception of locally
cluttered virtual environments in Figure 9.
geometry (see Figure 4). Adjusted (deformed) proxy geometry
eliminates force discontinuities at model updates and maintains continuity of proxy motion. Hence, it alleviates the destabilizing effect of the virtual environment delay. This advantage
of the proxy deformation technique is illustrated through a
simulated one degree of freedom peg-in-hole manipulation. In
the simulation, the user shakes a kg peg against the exactly
N (see
fitting hole walls by applying a force fh
sin 210
Figure 5(a)). The simulation delay is ms and the stiffness
and damping of the local contacts are Kcontact
N/m
and Bcontact
N/(m/s), respectively. For simplicity, the
local model is directly coupled to the haptic device (i.e., the
environment forces are directly applied to the user’s hand),
as depicted in Figure 5(b). Moreover, the origin of the x-axis
corresponds to the middle of the virtual hole. The trajectory
of the user’s hand is plotted in Figure 6(a) for the case when
contact penetration may be discontinuous at model updates,
and in Figure 6(b) for the case when contact penetration
continuity is maintained via proxy deformation. Note that local
penetration discontinuities destabilize the example interaction,
while proxy deformation maintains the interaction stable.
Proxy deformation allows the user to drift relative to the virtual environment. This drift is noticeable during fast motions in
locally cluttered virtual environments, when significant proxy
deformation may occur in order to maintain the continuity
of the penetration of the local contacts (see the simulation
example in Section III-C). Therefore, the haptically perceived
free space may be much larger than the free space perceived
visually. To alleviate this problem, -active geometry is used
in the local model of interaction.
1
20
= 15
0
−5
0.5
t [s]
(a) Local model with active geometry (no proxy deformation).
1
0
0.5
t [s]
1
(b) Local model with active geometry and proxy deformation.
Fig. 6. Position of the user’s hand during the simulated one dimensional pegin-hole task depicted in Figure 5 for haptic interaction via a local model with
penetration discontinuities at model updates (Figure 6(a)) and via a local
model with proxy defromation (Figure 6(b)).
e-Ts
Virtual environment
(a) Virtual task.
5
0
0
fh + -f
env
Hand position
Hand position
c
~p,2
x [mm]
c
~COM
6
=5
= 10000
C. -active geometry
To diminish drift and allow realistic haptic rendering of
small clearances (in virtual environments where rigid constraints are enforced exactly) and of tight constraints (in
penalty-based virtual worlds), the local model is augmented
by including constraints within distance from the virtual
tool. These constraints are computed in the virtual environment
simulation via performing collision detection between the
virtual environment and an -active virtual tool. If the virtual
tool is convex, the -active virtual tool is obtained by sweeping
a sphere of radius over the volume of the virtual tool, as
described in [31] and depicted in Figure 7(a). If the virtual
tool has concave surfaces, then typical simulation packages
represent it as a collection of convex polyhedra [7], [8] and the
-active virtual tool is obtained by sweeping a sphere of radius
over the volume of each component polyhedron, as illustrated
in Figure 7(b). Furthermore, the contacts computed by the simulation are clustered as proposed in [8] before sending them
to the local model of interaction. Contact clustering maintains
the stability of the haptic interaction in concave configurations,
where the simulation may compute a large number of contacts
whose combined stiffness may exceed the stiffness that the
haptic device can stably render to users [32]. An example
contact configuration involving a concave -active virtual tool
and the corresponding contacts computed by the simulation
are depicted in Figures 7(b) and 7(c), respectively (for clarity,
only the contact normals are shown in Figure 7(c)). Its local
model representation is shown in Figure 7(d).
-active geometry reduces drift by adding prediction capabilities to the proposed model: constraints are sent to the local
model before they become active. Moreover, the approach is
simple to implement and general enough to be applicable
to any virtual environment. In addition to diminishing drift,
the -active virtual tool selects a unique constraint normal at
degenerate contacts, as illustrated in Figure 8 for a vertexvertex contact of the virtual tool with the virtual environment.
Effectively, the -active virtual tool provides a method for
interpolating the constraint normal at degenerate constacts
and, thus, alleviates the singularity in the constraint normal
THE INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH, VOL. , NO. ,
one degree of freedom peg-in-hole manipulation depicted in
e-active constraint
e
e-active constraint Figure 5(a). The local constraints, the trajectory of the user’s
e
hand, and the environment forces acting on the virtual peg
(b) Fat concave virtual tool in
the simulation.
c e-active local constraint
~p2
n2
n1 n3
c
~p3
e-active
virtual tool
Virtual
environment
0
Right constraint
1
,
(6)
for new local contacts and existing local contacts with separation sp obeying sp < s < or < s , according
to Equation (5) for existing local contacts with separation sp
obeying s < sp < , and according to Equation (4) for
existing local contacts with separation sp obeying s <
< sp . In Equation (6), s is the separation between the
-active virtual tool and the virtual environment as reported
by the simulation.
The ability of the -active geometry to improve user’s
perception of a tightly constrained virtual tool generated using
a penalty-based simulation is illustrated through the simulated
0
0
0
0
5
0
0
−5
1 t [s] 2
3
0
(c) Position of the user’s hand
in the local model with active
geometry.
3
Environment force
Environment force
20
10
10
0
env
f
−10
0
−10
−20
0
1 t [s] 2
(d) Position of the user’s
hand in the local model with
-active geometry.
20
[N]
) n c COM
Hand position
5
Constraint
normal direction
3
(b) Local constraints in the local
model with -active geometry.
−5
computation at degenerate contacts.
At simulation updates, -active geometry is included in the
local model by computing the local contact position according
to:
1 t [s] 2
0
Hand position
0
0
3
(a) Local constraints in the local
model with active geometry.
(d) -active local constraints
representing
the
contact
geometry in Figure 7(b).
Fig. 8. The -active virtual tool eliminates the singularity in the constraint
normal computation at a vertex-vertex contact between the virtual tool and
the virtual environment by selecting a unique constraint normal direction.
p = R c p + (s
1 t [s] 2
0
Fat
virtual tool
Right constraint
1
0
Fig. 7. -active constraints included in the local model through the use of
an -active virtual tool, obtained by sweeping a sphere of radius over the
volume of each convex polyhedron composing the virtual tool.
Virtual tool
0
c
~p1
(c) Unclustered contacts in the
simulation representing the contact geometry in Figure 7(b).
Left constraint
1
[N]
n4
Virtual
tool
Left constraint
1
env
e
5
f
(a) Fat convex virtual tool in the
simulation.
e-active
virtual tool
x [mm]
Virtual
tool
e-active
virtual tool
are plotted in Figures 9(a), 9(c), and 9(e), respectively, for
the case when active geometry is included in the local model.
They are plotted in Figures 9(b), 9(d), and 9(f), respectively,
for the case when -active geometry within mm of the virtual
tool is sent to the local model.
x [mm]
Virtual
tool
7
−20
1 t [s] 2
(e) Environment force in the local model with active geometry.
3
0
1 t [s]
2
(f)
Environment
in the local model
-active geometry.
3
force
with
Fig. 9. Simulation results for the one dimensional peg-in-hole task depicted
in Figure 5 for a local model with active geometry (Figures 9(a), 9(c), and
9(e)), and for a local model with -active geometry within 5mm of the virtual
tool (Figures 9(b), 9(d), and 9(f)).
Note that the virtual peg exactly fits the virtual hole.
Therefore, in the virtual environment, the peg is in contact with
both hole walls when its centre of mass is at the origin. The
peg penetrates the right virtual wall when the coordinate of its
THE INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH, VOL. , NO. ,
centre of mass is positive, and it penetrates the left wall when
the coordinate of its centre of mass is negative. Figures 9(a)
and 9(c) show that, due to virtual environment delay, the active
constraints arrive late to the local model, when the penetration between the virtual tool and the virtual environment is
significant (several mm in this example). Figure 9(e) shows
that local proxy deformation ensures force continuity at model
updates and, thus, the stability of the interaction. However,
user’s perception of the virtual hole is inadequate. Note in
Figure 9(e) that environment forces act on the virtual peg
intermittently. In other words, the user feels the virtual hole
only occasionally despite the fact that the hole exactly fits the
peg. Hence, active geometry is not sufficient for realistic haptic
rendering of tight constraints in penalty-based simulations.
Figures 9(b), 9(d), and 9(f) demonstrate that
-active geometry within mm of the virtual tool enables
users to realistically perceive the virtual hole. Figure 9(b)
shows that constraints representing both virtual walls are sent
to the local model throughout the interaction. This is because
both constraints are always withing a mm neighborhood
of the virtual peg. Therefore, environment forces act on the
virtual peg continuously and the user feels that the peg is
constrained by a tight hole. Note that user’s deviation from
the nominal position in Figure 9(d) is due only to the limited
stiffness of the virtual walls. Hence, -active geometry within
mm of the virtual tool eliminates the effect of the virtual
environment delay on the user’s perception of the virtual
interaction.
5
5
5
IV. L OCAL
DYNAMICS
The realism of the kinesthetic feedback applied to users
through the present local model of interaction depends on the
local proxy dynamics in addition to the local geometry. The
local proxy dynamics are designed to achieve two objectives:
(i) to improve the perceived rigidity of the virtual contacts; and
(ii) to allow users to operate both virtual objects and virtual
linkages. The perceived rigidity of the virtual environment
is enhanced by incorporating the impulse-augmented penalty
simulation approach proposed in [33] in the local model of
interaction. In this approach, contacts are perfectly rigid when
they arise and have limited stiffness afterwards [33]. Therefore,
users perceive large, impulsive forces upon contact and penalty
and friction forces during contact. The impulsive forces improve the perceived rigidity [34], [35] and the stability [33]
of the virtual contacts. In the local model of interaction,
the impulse-augmented penalty approach is incorporated via
the model of proxy contact described in Section IV-A and
the impulsive and penalty interaction forces are computed as
detailed in Section IV-B. Haptic manipulation of linkages is
enabled by defining the virtual tool to be the entire articulated
structure when the user holds one of its links (see Figure 1),
as described in Section IV-B.
A. The proxy contact model
The proxy contact model is defined based on the contact
model of one local contact. In turn, this model incorporates
predicted geometry in the impulse-augmented penalty model
8
Impending contact
st>0
Colliding contact
st<0 & vn,t<0
& st-1>0
Separating contact
st<0 & vn,t>0
Penetrating contact
st<0 & vn<0
& st-1<0
Fig. 10. The states of one local contact. t denotes the time step.
of contact [33]. In particular, the local contact model has four
states (see Figure 10): impending contact, colliding contact,
penetrating contact, and separating contact. At the t-th time
step of the local model, a local contact is said to be an
impending contact if it has positive separation distance st > .
A local contact is said to be a colliding contact if it has
nonpositive separation distance st , nonpositive normal
contact velocity vn;t (i.e., nonpositive relative velocity
of the proxy with respect to the constraint along the local
constraint normal), and was an impending contact at the
previous time step st 1 > . A local contact is said to be
a penetrating contact if it has nonpositive separation distance
st , nonpositive normal contact velocity vn;t , and was
not an impending contact at the previous time step st 1 .
Lastly, a local contact is said to be a separating contact if it
has nonpositive separation distance st and positive normal
contact velocity vn;t > . Note that the impending contact
state accounts for predicted geometry.
The proxy contact model has three states: free motion,
colliding contact, and resting contact. The proxy is said to
be in free motion if all local contacts are impending contacts.
The proxy is said to be in colliding contact if at least one
local contact is a colliding contact. Finally, the proxy is said
to be in resting contact if it is neither in free motion nor in
colliding contact. This proxy contact model is employed to
impose local geometry on the dynamic proxy according to the
approach in [33]. The following section briefly overviews the
proxy dynamics, with emphasis on the additional assumptions
introduced in the local model of interaction.
0
0
0
0
0
0
0
0
0
B. The proxy dynamics
Linkage manipulation is allowed by defining the virtual tool
to be the entire linkage when the user holds one of its links, as
illustrated in Figure 1. By this definition, motion constraints
imposed on users by the linkage topology are encapsulated
in the local proxy dynamics and nearby contacts of all links
must be sent to the local model. Bilateral constraints are
automatically satisfied by computing the proxy dynamics in
configuration space; i.e., the bilateral constraints are embedded
in the coordinate representation. If the virtual tool is a rigid
object, then its Cartesian space dynamics are its configuration
space dynamics.
In this approach, only contact and user applied wrenches
need to be included in the local proxy dynamics. Therefore,
if a virtual tool with d degrees of freedom and c contacts is
considered, the proxy dynamics during free motion and resting
THE INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH, VOL. , NO. ,
9
f1
f2
=
Fig. 11. One self-contact of the virtual tool is represented as two contacts in
the local proxy dynamics, i.e., one contact on each contacting link.
contact are computed by:
D (q) q + G (q) =
=0
c
X
i=1
JTi (q) fi + JTh (q) Fh,
(7)
D (q)
G (q)
during free motion. In Equation (7),
with c
dd
is the proxy’s configuration-space inertia matrix,
d1
are the gravitational terms, i
d3 is the proxy’s Jacobian
computed at the i-th contact, i31 is the contact force at the
i-th contact, hd6
is the proxy’s Jacobian computed at
the user’s hand (the hand Jacobian), h61 is the user-applied
wrench, and d1 , d1 , and d1 are the configuration space
position, velocity, and acceleration of the proxy, respectively.
Furthermore, a contact between two links of the virtual tool,
called a self-contact, is represented once on each link involved
in the contact (see Figure 11). Note that, similar to work
in [36], [37], Coriolis and centripetal effects are neglected2. In
subsequent derivations, the dependence on the instantaneous
proxy state of all terms is implied.
During resting contact, the proxy contact model described
in Section IV-A enforces rigid constraints only approximately,
through penalizing constraint violation. Therefore, the contact
forces i have a component along the local constraint normal,
that models the limited rigidity of the local contact, and a
component orthogonal to the local constraint normal, that
models dry friction3. Hence, Equation (7) is solved for proxy
acceleration and the proxy state is advanced using a fixed
step integrator compatible with the requirements of the haptic
control loop. Furthermore, the constraints imposed on the
proxy by the local geometry are represented to the user through
the dynamically consistent inverse of the proxy Jacobian
computed at the user’s hand [40], yh :
J (q)
q q_
J (q)
f
F
q
f
J
Fenv = Jyh
c
X
i=1
JTi f i.
(8)
When new proxy contacts arise, i.e., at least one local
contact is a colliding contact, the proxy is in colliding contact. Then, constraints are exactly enforced through impulses
applied at all colliding and penetrating local contacts. Note
that impulses must be applied at colliding and penetrating
local contacts in order to enforce the rigidity of all proxy
contacts during a proxy collision. In the present local model
of interaction, these impulses are computed by applying the
multiple collision resolution algorithm proposed in [33] to a
2 Typically,
single proxy. The algorithm in [33] uses three assumptions to
ensure nonincreasing kinetic energy of the virtual environment
during collisions: (i) that collisions are frictionless; (ii) that
all local contacts have the same coefficient of restitution e1
:::
ec
e; and (iii) that Newton’s restitution hypothesis
applies at all colliding and penetrating local contacts:
users do not manipulate virtual linkages using high speeds.
Therefore, neglecting the Coriolis and centripetal effects is likely to not
introduce large errors.
3 Dry friction can be implemented using any friction model that employs
only local contact information, such as the models proposed in [38] or [39].
=
=
= evn0 .
(9)
In Equation (9), the indices 0 and 1 are used for pre-collision
and post-collision quantities, respectively, and e 2 [0; 1] is
the coefficient of restitution. e = 1 corresponds to perfectly
elastic collisions, during which the proxy loses no energy.
e = 0 corresponds to perfectly plastic collisions, whereby the
vn1
proxy does not separate from the constraints at the end of the
collision state.
To ensure non-increasing kinetic energy of the proxy during
collisions, one additional assumption is used in the proposed
local model of interaction: that the proxy collides with static
local constraints. Although this assumption precludes the
transfer of energy from the virtual environment to the user
upon contact, it permits the virtual world to transfer energy to
the user during contact. Hence, it allows contact interaction
between the proxy and moving virtual environments while
ensuring that local collision resolution does not affect the
coupled stabilty of the haptic interaction [41]. This assumption
is enforced by taking the local constraint velocity to be
T ,
momentarily zero during proxy collisions, i.e., vn
is the proxy Jacobian at the point where vn is
where
computed.
Using the four assumptions together with the first order
proxy dynamics, obtained through time integration of Equation (7):
= n Jq_
J
Dq_ = Dq_0 +
m
X
i=1
J
T
i
Z t
t0
fi dt = Dq_0 + JcT p,
(10)
the configuration-space impulse is computed by [33]:
p = (1 + e) JcD 1 JcT y Jcq_ 0 .
(11)
In Equation (10), m is the number of colliding and penetrating local contacts (out of the c colliding, penetrating, and
non-penetrating local contacts). In Equation (11),
T
T
T
T
y
Jc
1 1 : : : i i : : : m m , the sign denotes matrix
= Jn
Jn
J n
p=
Rt
T
Rt
is the
pseudo-inversion, and
t0 f1 dt t0 fm dt
vector of frictionless collision impulses. Note that collisions
are modeled as instantaneous events (i.e., t ! t0 ). As a result,
the hand and gravitational forces contribute no impulses to the
first order dynamics of the system.
The frictionless collision impulses are rendered to users as
an impulsive wrench that, over one haptic step t, changes the
momentum of the proxy by the same amount as the collision
impulses:
T
Fenv = Jc tp .
(12)
The impulsive wrench enhances the perceived rigidity of the
virtual contacts [34], [35]. In essence, it generates large hand
accelerations without requiring increased contact stiffness and
THE INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH, VOL. , NO. ,
Rigid enclosure
10
the adaptive damping associated with the user manipulation of
the device represents a worst-case scenario for stability [42]. In
the experiments, the stiffness and damping of the local contacts
N/m and blc
N= m/s , respectively. These
are klc
values represent the maximum contact impedance for which
the interaction is stable in the intermediate representation (i.e.,
the virtual tool can be inserted in the tight-fitting hole at the
bottom of the virtual world and remains stable upon being left
there). Furthermore, collisions are considered perfectly plastic,
i.e., e
. Interaction with virtual environments with other
coefficients of restitution can be implemented via a different
e value and was demonstrated elsewhere [43].
= 4000
y
x
Virtual tool
= 30 ( )
=0
Fig. 12. The testbed virtual world used for the experimental validation of the
local model of interaction (coordinates shown are the world coordinates).
damping. Depending on the coefficient of restitution, the impulsive wrench may also eliminate the bouncing upon contact,
as demonstrated in Section V.
V. E XPERIMENTS
In this section, the performance of the proposed local
model of interaction is compared to the performance of
the intermediate representation proposed in [15] through experiments performed by coupling a planar haptic device to
a testbed virtual environment simulated using VortexT M ,
a physics engine developed by CMLabs Simulations Inc.
(www.criticalmasslabs.com). In the implementation, the local
model and the device control run at 512Hz on the haptics
server, a 700MHz Pentium III personal computer running
VxWorksT M . A 2.4GHz Pentium IV personal computer running Windows2000 displays the virtual environment at rates
ranging from 30Hz to 60Hz. The two computers communicate
via a UDP socket, with the local model acting as the server
and the virtual environment being the client. The local model
polls the socket for new data at the beginning of each control
step. When new data is available, the local model updates its
state and acknowledges the receipt of the packet by sending
back the proxy state. The virtual environment sends packets
asynchronously, each time it has completed a simulation step.
The initial configuration of the testbed virtual environment is
shown in Figure 12.
Three experiments are performed. The first two experiments
investigate the realism of haptic rendering of static contact
and the user’s perception of tight virtual spaces, respectively.
The third experiment demonstrates that much larger contact
stiffness can be rendered to users via the local model than via
the intermediate representation. In all experiments, the virtual
tool is initially at rest. Since users are not able to apply the
exact same wrenches during successive trials, the performance
of the proposed local model of interaction cannot be compared
to the performance of the intermediate representation through
experiments involving manipulations performed by humans.
To enable such comparison, the experiments use controlled
user-applied wrenches. The same initial conditions and the
same “user” are ensured during one experiment through replacing the user’s hand by controlled wrenches. Since the
haptic device is an impedance-type interface, elimination of
A. Haptic rendering of static contact
The first experiment investigates the haptic rendering of
static contact via the proposed local model of interaction. In
the experiemnt, the user’s hand is represented by a wrench
N : N Nm T that pushes the virtual tool in Figure 12 towards the bottom-most horizontal wall of the rigid
enclosure (located at yCOM
mm), as schematically
depicted in Figure 13. The applied wrench is limited by the
virtual environment performance (i.e., the virtual tool pops
through the wall for larger hand forces). The experimental
device trajectories are plotted in Figure 14. They are obtained
by interfacing the haptic device to the virtual world through:
(i) the intermediate representation (“IR”); (ii) the proposed
local model including active geometry (“LM0 ”); and (iii) the
proposed local model including predicted geometry within
mm from the virtual tool (“LM5 ”).
F = (0 0 5 0 )
= 124
5
fh
Virtual tool
Fig. 13. Schematic of the experiment investigating the haptic rendering of
static contact. Initial virtual tool position is shown in black. Later positions are
shown in shades of grey (the lightest shade indicates the latest configuration).
The trajectories in Figure 14(a) show the users’ motion
toward the virtual wall and the users’ bounce once they
hit the wall. Note that users perceive the virtual wall at
various locations when the intermediate representation, the
local model with active geometry, and the local model with
-active geometry within mm of the virtual tool interface
the device to the virtual world. In particular, users feel the
mm in the local model with
virtual wall at yCOM
-active geometry, at yCOM
mm in the local model
with active geometry, and at yCOM
mm in the in-
5
= 118
= 78
= 84
THE INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH, VOL. , NO. ,
Device position
140
LM 5
wall in the simulation
120
yCOM [mm]
LM 0
wall in LM5
IR
100
wall in IR
wall in LM0
80
0
t [s]
1
2
3
(a) Due to -active geometry, users perceive the virtual wall much closer
to its position in the virtual environment (yCOM = 124mm). They
perceive the wall at yCOM = 118mm in the LM5 , at yCOM = 78mm
in the LM0 , and at yCOM = 84mm in the IR.
11
The experiment also illustrates the role of proxy deformation in alleviating perceptual artifacts caused by discontinuities
at simulation updates. Note in Figure 14(b) that the device
settles upon the wall in the local model with active and
-active geometry, and enters a limit cycle in the intermediate
representation. The limit cycle is due to penetration discontinuities at updates. In the experiment, these discontinuities
are too small to destabilize the interaction. However, they are
sufficiently large to cause the device to rotate and loose one
contact with the wall. As a result, one constraint arrives late to
the intermediate representation. Its discontinuous penetration
produces opposite device rotation and a new loss of contact,
and, thus, perpetuates the rotational bouncing of the device. In
the local model, proxy deformation maintains the penetration
of the local contacts continuous, thereby allowing the wall
damping to quickly bring the device to rest.
B. Haptic rendering of tight virtual spaces
Device rotation
−84
The
second experiment demonstrates the role of
geometry in improving users’ perception of tight
virtual spaces. In this experiment, the controlled interaction
represents a peg-in-hole manipulation. The user rotates the
rectangular virtual tool shown in Figure 12 by o and inserts
it into the hole at the bottom of the rigid enclosure that exactly
fits the peg. The user then releases the peg and their hand is
sin N N N/m T , i.e.,
replaced by the wrench h
the peg is shaken horizontally by a sinusoidally varying force,
as schematically represented in Figure 15. The experimental
device trajectories are shown in Figure 16. They are obtained
by interfacing the haptic device to the virtual environment
through: (i) the intermediate representation (“IR”); (ii) the
local model with active geometry (“LM0 ”); and (iii) the local
model with -active geometry within mm of the virtual tool
(“LM5 ”). These trajectories illustrate that, depending on the
technique employed to haptically render the virtual hole, the
device travels different distances along the x direction at
different locations along the y direction in the virtual world.
-active
IR
−86
90
o
θ[ ]
−88 LM 5
F = (1 (5 ) 0 0
−90
−92
LM 0
−94
0
1
t [s]
2
3
(b) Proxy deformation allows the device to settle upon the wall in the
LM5 and LM0 . Penetration discontinuities cause a limit cycle in the
IR.
Fig. 14. Experimental device trajectories obtained when the virtual tool is
pushed with a constant force towards the bottom-most horizontal wall. The
intermediate representation (IR), the local model with active geometry (LM0 ),
and the local model with -active geometry within 5mm from the virtual
tool (LM5 ) interface the device to the simulation. The contact stiffness is
klc = 4000N/m, which is the maximum value for stable interaction in the
IR, LM0 , and LM5 .
)
5
Virtual tool
fh
termediate representation4. Hence, users perceive the virtual
wall closest to its position in the virtual environment when
-active geometry is included in the local model of interaction.
The experiment demonstrates that -active geometry diminishes the difference between the position of the constraint in
the virtual environment and its position as perceived by users.
While such difference depends on the user-applied forces and
on the virtual world configuration, the experiment illustrates
that -active geometry within a relatively small neighborhood
of the virtual tool ( mm in this experiment) can significantly
reduce it (by approximately : cm in this case).
5
35
4 Note that users perceive the wall at different locations in the intermediate
representation and in the local model with active geometry because the
dissimilar controllers apply different forces on their hand. Before hitting
the wall, users move freely in the intermediate representation, and they are
position coordinated with the proxy in the local model.
Fig. 15. Schematic of the experiment investigating the haptic rendering of tight
virtual spaces. Initial virtual tool position is shown in black. Later positions are
shown in shades of grey (the lightest shade indicates the latest configuration).
Local geometry and local proxy deformation explain the
differences in the three trajectories. Thus, the constraints
(representing both the lateral and the bottom walls of the
virtual hole) arrive late in the intermediate representation
and in the local model with active geometry. The same
constraints arrive before becoming active in the local model
with -active geometry. Therefore, the intermediate representation and the local model with active constraints render only
approximations of the hole geometry, while the local model
with -active constraints renders the exact hole geometry
THE INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH, VOL. , NO. ,
Device trajectory
ycom [mm]
105 IR
LM 5
95 LM
0
85
xcom
24 [mm]
20
28
LM 0
IR
θ [o]
−170
−175
−180
LM 5
5
t [s]
10
15
(b) The delayed updating of the active constraints causes larger device
rotation in the IR and in the LM0 than in the LM5 .
Fig. 16. Device trajectories obtained when the virtual tool is inserted in
the tight-fitting bottom hole of the rigid enclosure in Figure 12 and pushed
horizontally with a sinusoidally varying force (as shown in Figure 15). The
intermediate representation (IR), the local model including active geometry
(LM0 ), and the local model including -active geometry within 5mm from the
virtual tool (LM5 ) interface the device to the simulation. The contact stiffness
is klc = 4000N/m, which is the maximum value for stable interaction in the
IR, LM0 , and LM5 . Note that the device is better constrained to the virtual
hole in the LM5 then in the IR and in the LM0 .
throughout the interaction. Approximate (i.e., partial) geometry accounts for the larger rotation and horizontal motion of the
device in the IR and the LM0 trajectories in Figure 16. Partial
geometry together with discontinuities in the intermediate
representation and together with proxy deformation in the local
model explain the variances along the y axis in the device
trajectories. In the intermediate representation, late constraints
result in force discontinuities which cause the device to bounce
off the bottom wall5 . In the local model with active geometry,
proxy deformation maintains force continuity despite the late
arrival of the active geometry. Therefore, the device settles on
the local constraints. However, the local constraints incompletely represent the virtual hole, i.e., they exist in the local
5 Note
C. The effect of the dynamic proxy on contact stiffness
To demonstrate the effect of the dynamic proxy on the
achievable contact stiffness, the peg-in-hole experiment (Figure 15) is repeated taking the stiffness and damping of the
N/m and blc
N(m/s),
local contacts equal to klc
respectively. Moreover, the controlled wrench applied on the
device is
sin N N N/m T . The contact stiffness
employed in this experiment is almost four times larger than
the contact stiffness used in the previous experiments. Since
the stiffness value used in the previous experiments is the
maximum value for which the interaction is stable in the
intermediate representation, only the local model connects
the device to the virtual world in this experiment. Hence,
the local model provides the first approximation of rigid
body interaction that stably constrains both the translation and
the rotation of the haptic device during operation in tightly
constrained virtual tool configurations6.
The experimental device trajectories obtained using the
local model with active (“LM0 ”) and with -active geometry
(“LM5 ”) are plotted in Figure 17. These trajectories demonstrate that much higher contact stiffness (four times higher for
the testbed virtual environment shown in Figure 12) can stably
be rendered to users via the proposed local model than via the
intermediate representation. This is the result of the damping
introduced via the position coordination channels of the haptic
controller [26]. In turn, position coordination is enabled by the
proxy dynamics.
The experimental trajectories in Figure 17 also validate the
positive effect of -active geometry on user’s perception of
tight clearances. Note that the device travels approximately
cm more along both the x and the y axes and rotates more
around the horizontal orientation of the virtual peg when
the local model incorporates active geometry than when it
incorporates -active geometry within mm of the virtual tool.
However, due to overshoot, the device penetrates into the
constraints more than mm and the neighborhood selected for
geometry prediction is not sufficient to eliminate the impact
of the virtual environment delay on the interaction represented
by the LM5 trajectory. This impact is represented by the larger
device motion along the x axis than permitted by the contact
stiffness.
= 15000
F = (3 (5 ) 0 0 )
Device rotation
−160
−185
0
model sporadically. The proxy deforms along the y axis and
the device drifts along this direction. In the local model with
-active geometry, the proxy is constrained by the exact virtual
environment geometry and the motion of the device is only
due to the limited stiffness of the virtual hole. The results
in Figure 16 validate that users perceive tight virtual spaces
more realistically via the local model with -active geometry
then via the local model with active geometry or via the
intermediate representation. Note that users drift from the
virtual hole by several mm along each direction and by up
to o about the vertical axis when incomplete hole geometry
is rendered to them during the interaction.
20
(a) The delayed updating of the active constraints causes larger horizontal device motion in the IR and in the LM0 than in the LM5 . Bouncing
due to discontinuous penetration in the IR and proxy deformation in
the LM0 change the vertical device position compared to the LM5 .
−165
12
that the bounces off the vertical walls counteract each other.
= 100
2
5
5
6 Such configurations have been reported to be unstable in the prior
intermediate representation of rigid body interaction [15].
THE INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH, VOL. , NO. ,
Device trajectory
95
90
y
com
[mm]
100 LM5
85
LM 0
80
15
xcom
25 [mm]
35
(a) Despite the large contact stiffness, the translation of the device is
stable regardless of whether active or -active geometry is used in the
local model. Moreover, -active geometry tighter constrains the position
of the device to the position of the virtual tool.
Device rotation
−150
LM 0
−160
θ [o]
−170
−180
−190
0
LM 5
5
t [s] 10
15
(b) Despite the large contact stiffness, the rotation of the device is stable
regardless of whether active or -active geometry is used in the local
model. Moreover, -active geometry tighter constrains the rotation of
the device to the rotation of the virtual tool.
Fig. 17. Device trajectories obtained when the virtual tool is inserted in the
tight-fitting bottom hole of the rigid enclosure in Figure 12 and pushed
horizontally with a sinusoidally varying force (as depicted in Figure 15).
The contact siffness klc = 15000N/m is four times larger then in previous
experiments and the interaction is unstable in the intermediate representation.
Only the local model with active geometry (LM0 ) and with -active geometry
within 5mm from the virtual tool (LM5 ) interface the device to the simulation.
VI. C ONCLUSIONS
The local model of rigid body interaction proposed in this
work comprises partial virtual environment geometry and an
approximate representation of the virtual tool dynamics called
the dynamic proxy. The model selects the local geometry
in a topology-independent manner. Therefore, it allows a
haptic device to be coupled to any simulation with interactive
performance, regardless of the algorithms and of the data
structures used to generate the virtual world. At simulation
updates, the local model alleviates perceptual artifacts and
avoids instability due to model discontinuities via proxy deformation and via -active geometry (i.e., virtual environment
geometry within distance from the virtual tool). Between
simulation updates, the dynamic proxy allows physicallybased virtual tool interactions to be computed locally regard-
13
less of whether users manipulate a virtual object or a virtual
linkage. A second advantage of the dynamic proxy is that
it enables the haptic controller to coordinate both wrenches
and body positions between the haptic device and the proxy.
Hence, it facilitates the use of a controller that enhances
the realism of the interaction compared both to the virtual
coupler [1], [2] and to the direct coupling approach [15].
Compared to the virtual coupler, this controller enables users
to feel physical phenomena represented through fast force
transitions, such as collisions and friction. Compared to direct
coupling, the controller introduces additional damping via
the position coordination channels and, thus, allows stiffer
contacts to be rendered to users. Experiments performed using
a planar virtual world interfaced to the haptic device through
the proposed local model of interaction illustrate that users
more realistically perceive tight virtual spaces and that they
can manipulate stiffer objects. These experiments also show
that, unlike the intermediate representation [15], the local
model stably constrains both the translation and the rotation of
the device. They report the first local approximation of rigid
body interaction that can fully interface a haptic device to a
multibody simulation with interactive performance.
The proposed local model does not guarantee the stability of
the interactions for arbitrary virtual environment geometries.
Moreover, its performance degrades during fast user motions.
Future work will focus on computing physically-motivated
forces that represent guaranteed limited stiffness and on enhancing the local geometry based on predicting user motion.
R EFERENCES
[1] J. Colgate, M. Stanley, and J. Brown, “Issues in the Haptic Display of
Tool Use,” in Proc. IEEE/RSJ International Conference on Intelligent
Robots and Systems, Pittsburgh, PA, 1995, pp. 140–145.
[2] R. Adams and B. Hannaford, “Stable Haptic Interaction with Virtual
Environments,” IEEE Transactions on Robotics and Automation, vol. 15,
no. 3, pp. 465–474, June 1999.
[3] C. Zilles and J. Salisbury, “A Constraint-based God Object Method for
Haptic Display,” in Proc. IEEE/RSJ International Conference on Intelligent Robots and Systems, Human Robot Interaction, and Cooperative
Robots, Chicago, IL, 1995, pp. 146–151.
[4] J. Brown and J. Colgate, “Passive Implementation of Multibody Simulations for Haptic Display,” in Proc. ASME International Mechanical
Engineering Congress and Exhibition, Dallas, TX, 1997, pp. 85–92.
[5] B. Chang and J. Colgate, “Real-Time Impulse-Based Simulation of
Rigid Body Systems for Haptic Display,” in Proc. ASME International
Mechanical Engineering Congress and Exhibition, Dallas, Texas, 1997,
pp. 1–8.
[6] D. Ruspini, K. Koralov, and O. Khatib, “The Haptic Display of Complex
Graphical Environments,” in Proc. SIGGRAPH, Los Angeles, CA, 1997,
pp. 345–352.
[7] A. Gregory, A. Mascarenhas, S. Ehmann, M. Lin, and D. Manocha, “Six
Degree-of-Freedom Haptic Display of Polygonal Models,” in Proc. IEEE
Visualization, 2000, pp. 139–146.
[8] Y. Kim, M. Otaduy, M. Lin, and D. Manocha, “Six-Degree-of Freedom
Haptic Display Using Incremental and Localized Contact Computations,” Presence: Teleoperators and Virtual Environments, vol. 12, no. 3,
pp. 277–295, June 2003.
[9] D. Johnson and P. Willemsen, “Six Degree-of-Freedom Haptic Rendering of Complex Polygonal Models,” in Proc. 11th International Symposium on Haptic Interfaces for Virtual Environment and Teleoperator
Systems, Los Angeles, Ca, 2003, pp. 229–235.
[10] S. Vedula and D. Baraff, “Force feedback in interactive dynamic
simulation,” in Proc. First PHANTOM Users Group Workshop, 1996,
pp. 54–57.
[11] Y. Adachi, T. Kumano, and K. Ogino, “Intermediate Representation for
Stiff Virtual Objects,” in Proc. IEEE Virtual Reality Annual International
Symposium, Research Triangle Park, NC, 1995, pp. 203–210.
THE INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH, VOL. , NO. ,
[12] W. Mark, S. Randolph, M. Finch, J. Van Verth, and R. Taylor II, “Adding
Force Feedback to Graphics Systems: Issues and Solutions,” in Haptic
Virtual Reality for Blind Computer Users, Assistive Technologies, 1998,
pp. 92–99.
[13] C. Mendoza and C. Laugier, “Realistic Haptic Rendering for Highly
Deformable Virtual Objects,” in Proc IEEE Virtual Reality, 2001, pp.
264–270.
[14] J. Park and G. Niemeyer, “Haptic Rendering with Predictive Representation of Local Geometry,” in Proc. 12th Interantional Symposium
on Haptic Interfaces for Virtual Environment and Teleoperator Systems,
Chicago, IL, 2004, pp. 331–338.
[15] P. Berkelman, R. Hollis, and D. Baraff, “Interaction with a Realtime
Dynamic Environment Simulation using a Magnetic Levitation Haptic
Interface Device,” in Proc. International Conference on Robotics and
Automation, Detroit, Michigan, 1999, pp. 3261–3266.
[16] J. Basch, J. Erickson, L. Guibas, J. Herschberger, and L. Zhang, “Kinetic
Collision Detection between Two Simple Polygons,” in Proc. 10th ACMSIAM Symposium on Discrete Algorithms, 1999, pp. 102–111.
[17] J. Erickson, L. Guibas, J. Stolfi, and L. Zhang, “Separation Sensitive
Collision Detection for Convex Objects,” in Proc. 10th ACM-SIAM
Symposium on Discrete Algorithms, 1999, pp. 327–336.
[18] D. Kirkpatrick, J. Snoeyink, and B. Speckman, “Kinetic Collision
Detection Simple Polygons,” International Journal of Computational
Geometry and Applications, vol. 12, pp. 3–27, 2002.
[19] D. Corming and O. Staadt, “Velocity-Aligned Discrete Oriented Polytopes for Dynamic Collision Detection,” University of California, Davis,
CA, Tech. Rep. TCSE-2005-25, September 2004.
[20] J. Canny, “Collision Detection for Moving Polyhedra,” IEEE Transactions on Patern Analysis and Machine Intelligence, vol. 8, pp. 200–209,
1986.
[21] S. Cameron, “Collision Detection by Four-Dimensional Intersection
Testing,” in Proc. IEEE International Conference on Robotics and
Automation, 1990, pp. 291–302.
[22] B. Herzen, A. Barr, and H. Zatz, “Geometric Collisions for Time
Dependent Parametric Surfaces,” Computer Graphics, vol. 24, pp. 39–
48, 1990.
[23] P. Hubbard, “Collision Detection for Interactive Graphics Applications,”
IEEE Transactions on Visualization and Computer Graphics, vol. 1,
no. 3, pp. 218–230, September 1995.
[24] D. Redon, A. Kheddar, and S. Coquillart, “An Algebraic Solution to
the Problem of Collision Detection for Rigid Polyhedral Objects,” in
Proc. IEEE International Conference on Robotics and Automation, San
Francisco, CA, 2000.
[25] D. Ruspini, K. Koralov, and O. Khatib, “Haptic Interaction in Virtual
Environments,” in Proc. IEEE/RSJ International Conference on Intelligent Robots and Systems: IROS’97, Genoble, France, 1997.
[26] M. Sirouspour, S. DiMaio, S. Salcudean, P. Abolmaesumi, and C. Jones,
“Haptic Interface Control – Design Issues and Experiments with a
Planar Device,” in Proc. IEEE International Conference on Robotics
and Automation, San Francisco, Ca, 2000, pp. 789–794.
[27] J. Brown and J. Colgate, “Physics-based Approach to Haptic Display,”
in Proc. Topical Workshop on Virtual Reality, International Symposium
on Measurement and Control in Robotics, vol. 1, Houston, TX, 1994,
pp. 101–106.
[28] J. Canny, The Complexity of Robot Motion Planning.
MIT Press,
Cambridge, MA, 1987.
[29] D. Baraff, “Curved Surfaces and Coherence for Non-Penetrating Rigid
Body Simulation,” ACM Computer Graphics, vol. 24, no. 4, pp. 19–28,
1990.
[30] ——, “Rigid body simulation,” in An Introduction to Physically Based
Modelling, Course Notes. ACM SIGGRAPH, 1995, pp. 1–68.
[31] E. Larsen, S. Gottschalk, M. Lin, and D. Manocha, “Fast Proximity
Queries with Swept Sphere Volumes,” University of North Carolina,
Chapel Hill, NC, Tech. Rep. TR99-018, 1999.
[32] J. Brown, “A Theoretical and Experimental Investigation into the Factors
Affecting the Z-width of a Haptic Display,” Master’s thesis, Nothwestern
University, 1998.
[33] D. Constantinescu, S. Salcudean, and E. Croft, “Haptic Rendering of
Rigid Contacts using Impulsive and Penalty Forces,” IEEE Transactions
on Robotics, vol. 21, no. 3, pp. 309–323, June 2005.
[34] L. Rosenberg and B. Adelstein, “Perceptual Decomposition of Virtual
Haptic Surfaces,” in Proc. IEEE Symposium on Research Frontiers in
Virtual Reality, San Jose, CA, 1993, pp. 46–53.
[35] D. Lawrence, L. Pao, A. Dougherty, M. Salada, and Y. Pavlou, “RateHardness: A New Performance Metric for Haptic Interfaces,” IEEE
Transactions on Robotics and Automation, vol. 16, no. 4, pp. 357–371,
2000.
14
[36] D. Ruspini and O. Khatib, “Dynamic Models for Haptic Rendering
Systems,” in Advances in Robot Kinematics: ARK98, Strobl/Salzburg,
Austria, 1998, pp. 523–532.
[37] ——, “Haptic Display for Human Interaction with Virtual Dynamic
Environments,” Journal of Robotic Systems, vol. 18, no. 2, pp. 769–
783, 2001.
[38] A. Nahvi, J. Hollerbach, R. Freier, and D. Nelson, “Display of Friction
in Virtual Environments based on Human Finger Pad Characteristics,”
in Proc. ASME Dynamics Systems and Control Division, vol. DSC-64,
1998, pp. 179–184.
[39] V. Hayward and B. Armstrong, “A new computational model of friction
applied to haptic rendering,” in Experimental Robotics VI. Lecture Notes
in Control and Information Sciences, P. Corke and J. Trevelyan, Eds.
Springer: New-York, 2000, vol. LNCS 250, pp. 404–412.
[40] O. Khatib, “Inertial Properties in Robotic Manipulation: An ObjectLevel Framework,” International Journal of Robotics Research, vol. 13,
no. 1, pp. 19–36, 1995.
[41] J. Colgate, “Coupled Stability of Multiport Systems - Theory and
Experiments,” Transactions of the ASME, Journal of Dynamic Systems,
Measurement, and Control, vol. 116, no. 3, pp. 419–428, 1994.
[42] B. Hannaford and R. Anderson, “Experimental and Simulation Studies
of Hard Contact Force Reflecting Teleoperation,” in Proc. IEEE International Conference on Robotics and Automation, Scottsdale, AZ, May
1988, pp. 24–29.
[43] D. Constantinescu, S. Salcudean, and E. Croft, “Impulsive Forces
for Haptic Rendering of Rigid Contacts,” in Proc. 35th International
Symposium on Robotics, Paris, France, 2004, pp. 1–6.