# n - Haptics and Virtual Reality Laboratory at POSTECH

Τεχνίτη Νοημοσύνη και Ρομποτική

14 Νοε 2013 (πριν από 4 χρόνια και 8 μήνες)

107 εμφανίσεις

Topography
Compensation Algorithm

For
Mesh Representation

HVR Lab Workshop

2010

8

04

Presenter :
Sunghoon

Yim
, HVR, POSTECH

Haptics and Virtual Reality Laboratory, POSTECH

Contents

Introduction

Motivation

Force constancy

Basic TCA and its limitations

TCA for Mesh Structure

Issues for TCA

Mesh representation

Rendering algorithm

Uniform stiffness preservation

Conclusion and Future work

2

Haptics and Virtual Reality Laboratory, POSTECH

3

Motivation

Multi
-
Modal Data Perceptualization

Scanning Probe Microscope

Surface Topography and Stiffness

Incorrect perception of surface topography
observed when the surface topography and stiffness
vary simultaneously

Simultaneous Rendering of Topography and Stiffness

Trace of penalty based algorithm

Haptics and Virtual Reality Laboratory, POSTECH

4

Force Constancy

Actual Height Difference

1
2
1
2
1
1

where
k
k
f
h
h
h
p
p
p
p
d
d
z
z
z

A user maintains a constant penetration force
when s/he strokes virtual surfaces in order to
perceive surface topography [Choi, ACM TAP 2005].

Haptics and Virtual Reality Laboratory, POSTECH

5

Topography Compensation
Algorithm

The basic idea of TCA is to cancel out the height
distortion in every haptic update interval.

We can estimate the height distortion using force
constancy theorem

Overview

Haptics and Virtual Reality Laboratory, POSTECH

Limitation of Topography
Compensation Algorithm

Height compensation term of TCA

The algorithm is based on the force
constancy.

When the directions and magnitude of user’s
applied force are arbitrary changed, TCA operates
abnormally.

TCA only works with an implicit surface.

6

)
1
(
)
(
if
)
1
(
1
)
(
1
)
1
(
)
1
(
)
(
if
0
)
(
n
k
n
k
n
k
n
k
n
f
n
k
n
k
n
h
z
c
Haptics and Virtual Reality Laboratory, POSTECH

TCA for Mesh Structure

Polygon mesh is a typical data structure for
representing surface in computer graphics,
modeling, and haptics.

“TCA Mesh” can handle popular mesh
models.

Main operation of TCA Mesh:

Find a CSCP for given HIP and a mesh object.

CSCP : a compensated surface contact point, an
adjusted surface contact point for topography
compensation.

Calculate a rendering force using the CSCP
(instead SCP), HIP, and current stiffness.

7

Haptics and Virtual Reality Laboratory, POSTECH

Issues in Developing TCA for
Mesh Structure

Integrate stiffness properties to mesh
structure.

Develop new TCA to work with existing
haptic rendering algorithm for mesh
structure.

Extend TCA to handle arbitrary user applied
force

8

Haptics and Virtual Reality Laboratory, POSTECH

Mesh Representation

A mesh is represented by a pair (
K
,
V
)

K

is a simplicial complex representing the
connectivity of the vertices/edges/faces.

V

= {
v
1
, ... ,

v
m
} is

a set of m vertex positions
defining the shape of mesh in
R
3

We added haptic properties to the mesh. The mesh
M

is represented by a tuple ((
K
,
V
),
P
).

P = (
p
1
, ... ,

p
m
) is a tuple of m vectors storing
the vertex normal and stiffness,
p
n

= [
n
n
T

,
k
n
T
]
T

Each
p
i
is one
-
to
-
one mapping to the
v
i

9

Haptics and Virtual Reality Laboratory, POSTECH

Mesh Representation (cont’d)

If mesh is not self
-
intersecting, every point
on the face (edge and vertex) can be
represented using a barycentric coordinate

Given a point
p
i

on the surface, we can get
normal vector
n
(
p
i
) and stiffness
k
(
p
i
) using
barycentric interpolation.

10

Haptics and Virtual Reality Laboratory, POSTECH

Rendering Algorithm Overview

Goal of given rendering loop
n

:

Find a CSCP
q
’(
n
) for given HIP
p
(
n
) and mesh
object
M
.

Calculate a rendering force using CSCP (instead
SCP
q
(
n
) ), HIP
p
(
n
), and current stiffness
k
(n).

Important points :

11

the probe
-
tip position

of a haptic interface

an avatar of the HIP constrained

on a surface for force rendering

the compensated surface

contact point

Haptics and Virtual Reality Laboratory, POSTECH

Find SCP in Typical Haptic
Rendering Algorithm

Calculation process are determined by a
collision state.

Tap, when HIP hits the

surface.

To find SCP, we require

collision detection
.

Collision point is chosen as a

seed point. The rendering

algorithm searches SCP.

Stroke

We choose previous SCP

as a seed point

12

Haptics and Virtual Reality Laboratory, POSTECH

Initial Condition of TCA

collision : collision flag for algorithm

collision <= false

p
(
0
) : initial HIP

c
(
n
) : accumulated compensation vector

c
(
0
) <=
0

q
(
n
), SCP :
q
(
0
) <=
p
(0)

q
’(
n
) : CSCP :
q
’(
0
) <=
p
(
0
)

k(
n
) : current stiffness : k(
0
) <= undefined

13

Haptics and Virtual Reality Laboratory, POSTECH

Find CSCP in TCA

Tap, when HIP hits the surface

TCA requires collision detection between a
“compensated surface” and a trajectory of HIP.

We must define the “compensated surface”

CSCP is a local closest point between
“compensated surface” and HIP.

Stroke

When stiffness is changes, we can calculate a
compensation vector to fix shape distortion.

CSCP is computed from the compensation vector
and a tracking history during stroke.

14

Haptics and Virtual Reality Laboratory, POSTECH

Compensated Surface

Original surface mesh :

M

= ((
K
,
V

),
P

)

Compensated surface of index
n
:

M
c
(
n
)

= ((
K
,
V
c
(
n
)),
P
),

V
c
(
n
) = {
v
1
+
c
(
n
), ... ,

v
m
+
c
(
n
)}

c
(
n
) : accumulated compensation vector,

tracking history of shape compensation

15

Haptics and Virtual Reality Laboratory, POSTECH

Calculate CSCP for Tap

1.
If collision = false, the algorithm find a
collision point between the compensated
surface
M
c
(
n
)

and trajectory of HIP
p
(
n
)
-
p
(
n
-
1
)

2.
If the collision point is exist, the algorithm
assigns collision <= true, and sets the
collision point as an initial point on the
M
c
(
n
).

3.
The algorithm searches the local closest
point on
M
c
(
n
) between HIP and
M
c
(
n
).

16

Haptics and Virtual Reality Laboratory, POSTECH

Calculated CSCP for Stroke

Given
p
(
n
) is given, the algorithm can
calculate SCP
q
(
n
) and stiffness k(
n
).

Then CSCP
q
’(
n
) =
q
(
n
) +
c
(
n
)

Compensation vector :

d
(
n
) =
0

if
k
(
n
) =
k
(
n
-
1)

f
e
(
n
) ( 1 /
k
(
n
)
-

1/
k
(
n
-
1) )
otherwise

Accumulated compensation vector :

c
(
n
) =
d
(
n
) +
a

d
(
n
)

|
c
(
n
-
1)| / |
d
(
n
)|

a

=
sgn
(
c
(
n
-
1)

d
(
n
) )

17

Haptics and Virtual Reality Laboratory, POSTECH

Uniform Stiffness Preservation

When the algorithm maintains uniform
stiffness locally, the shape distortion is
prevented.

We do not need a user applied force value to
calculate compensation term

18

Haptics and Virtual Reality Laboratory, POSTECH

Uniform Stiffness Preservation 2

Compensation vector

d
(n)

= k
(
n
-
1)(
q

im
(
n
)
-
p
(
n
)) (1/
k
(
n
)
-
1/
k
(
n
-
1))

=
f
e
(
n
) ( 1/
k
(
n
)
-
1/
k
(
n
-
1)

)

19

Haptics and Virtual Reality Laboratory, POSTECH

Force Calculation and Post
-
hoc
Collision Detection

Post
-
hoc collision detection

if (
q
’(
n
)

p
(
n
) )

n
(
n
) > 0 then

collision <= true

otherwise

collision <= false

Rendering force

f
(
n
) = k(
n
) (
q
’(
n
)

p
(
n
) ) if collision = true

0 otherwise

20

Haptics and Virtual Reality Laboratory, POSTECH

Conclusion and Future work

We designed and prepared an evaluation
study for TCA Mesh

We expect that
TCA Mesh shows
robust
performance in delivering shape of non
-
uniform stiffness mesh object.

21