n - Haptics and Virtual Reality Laboratory at POSTECH

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

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

91 εμφανίσεις

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