1 Six Degree-of-Freedom Haptic Rendering Using Voxel Sampling W.A.McNeelyK.D.PuterbaughJ.J.Troy The Boeing Company Proc. of ACM SIGGRAPH 1999, pages 401–408, Presented by: Jernej Barbic Graphics Lab Carnegie Mellon University Note: most images are taken from the SIGGRAPH 1999 paper. source:
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 improve simulation 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 space 1 = interior 2 = surface 3 = proximity =
9 Merge multiple static objects into one structure 0 = free space 1 = interior 2 = surface 3 = proximity =
10 Point Shell and Voxmap together At every cycle: Determine environment forces: probe each point against the volumetric 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 virtual coupling 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