120 likes | 236 Views
Six Degree-of-Freedom Haptic Rendering Using Voxel Sampling W.A.McNeely K.D.Puterbaugh J.J.Troy The Boeing Company Proc. of ACM SIGGRAPH 1999, pages 401–408, 1999. Presented by: Jernej Barbic Graphics Lab Carnegie Mellon University. Note: most images are taken from the SIGGRAPH 1999 paper.
E N D
Six Degree-of-Freedom Haptic Rendering Using Voxel SamplingW.A.McNeely K.D.Puterbaugh J.J.TroyThe Boeing CompanyProc. of ACM SIGGRAPH 1999, pages 401–408, 1999. Presented by: Jernej Barbic Graphics Lab Carnegie Mellon University Note: most images are taken fromthe SIGGRAPH 1999 paper. source: www.sensable.com
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
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
Virtual coupling Necessary to improvesimulation stability. virtual spring Two independent springs:one for position, one for orientation. Spring rest length is zero.
Representing the manipulated object: Point Shell Point shell = near-uniform collection of points on the surface Number of points = 380
Representing the manipulated object: Point Shell • Each point caches its inward normal • Point shell and normals computed duringpre-process once and for all
Representing static environment: VoxMap • a 3D volumetric data structure
Static environment representation (VoxMap) 0 = free space 1 = interior 2 = surface 3 = proximity =
Merge multiple static objects into one structure 0 = free space 1 = interior 2 = surface 3 = proximity =
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
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
Compress Voxmap into a Voxmap Tree • Reason: • Voxmap data structure is huge • Good: • compresses data • Bad: • slower to lookup than “raw” voxels