1 Six Degree-of-Freedom Haptic Rendering Using Voxel Sampling W.A.McNeelyK.D.PuterbaughJ.J.Troy The...
-
date post
15-Jan-2016 -
Category
Documents
-
view
221 -
download
0
Transcript of 1 Six Degree-of-Freedom Haptic Rendering Using Voxel Sampling W.A.McNeelyK.D.PuterbaughJ.J.Troy The...
1
Six Degree-of-Freedom Haptic Rendering Using Voxel Sampling
W.A.McNeely K.D.Puterbaugh J.J.TroyThe Boeing Company
Proc. of ACM SIGGRAPH 1999, pages 401–408, 1999.
Presented by:
Jernej BarbicGraphics Lab
Carnegie Mellon University
Note: most images are taken fromthe SIGGRAPH 1999 paper. source: www.sensable.com
2
This paper addresses:
6-DOF force-feedback haptic rendering
• Can manipulate a rigid object in a detailed rigid static scene
• The user feels both forces and torques
3
This paper addresses:
6-DOF force-feedback haptic rendering
• Can manipulate a rigid object in a detailed rigid static scene
• The user feels both forces and torques
4
Virtual coupling
virtual spring
Two independent springs:one for position, one for orientation.
Spring rest length is zero.
Necessary to improvesimulation stability.
5
Representing the manipulated object: Point Shell
Number of points = 380
Point shell = near-uniform collection of points on the surface
6
Representing the manipulated object: Point Shell
• Each point caches its inward normal• Point shell and normals computed during
pre-process once and for all
7
Representing static environment: VoxMap
• a 3D volumetric data structure
8
Static environment representation (VoxMap)
0 = free space1 = interior2 = surface3 = proximity
=
9
Merge multiple static objects into one structure
0 = free space1 = interior2 = surface3 = proximity
=
10
Point Shell and Voxmap together
At every cycle: • Determine environment forces:
probe each point against thevolumetric data structure
• Determine the virtual coupling force
• Same for torques
11
Point Shell and Voxmap together
At every cycle:• Sum of forces on dynamic object =
sum of environment forces + + virtual coupling force
• Do one Euler step to update the position of dynamic object
• Send negative virtualcoupling force to user
• Same for torque
12
Compress Voxmap into a Voxmap Tree
Reason:• Voxmap data structure is huge
Good:• compresses data
Bad:• slower to lookup than “raw” voxels