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
Comments 0
Log in to post a comment