12
1 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. source: www.sensable.com

Presented by: Jernej Barbic Graphics Lab Carnegie Mellon University

Embed Size (px)

DESCRIPTION

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, 1999. Presented by: Jernej Barbic Graphics Lab Carnegie Mellon University. Note: most images are taken from the SIGGRAPH 1999 paper. - PowerPoint PPT Presentation

Citation preview

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