Algorithms and Data Structures for Haptic Rendering: Curve Constraints, Distance Maps, and Data Logging

In this paper, we describe three novel data processing techniques used for haptic rendering and simulation: We present an approach to constraining a haptic device to travel along a discretely-sampled curve. We present an approach to generating distance maps from surface meshes using axis-aligned bounding box (AABB) trees. Our method exploits spatial coherence among neighboring points. We present a data structure that allows thread-safe, lock-free streaming of data from a high-priority haptic rendering thread to a lower-priority data-logging thread. We provide performance metrics and example applications for each of these techniques. C++-style pseudocode is provided wherever possible and is used as the basis for presenting our approaches. Links to actual implementations are also provided for each section.

[1]  Robert L. Williams,et al.  IMPLEMENTATION AND EVALUATION OF A HAPTIC PLAYBACK SYSTEM , 2004 .

[2]  Frank Tendick,et al.  Haptic guidance: experimental evaluation of a haptic training method for a perceptual motor skill , 2002, Proceedings 10th Symposium on Haptic Interfaces for Virtual Environment and Teleoperator Systems. HAPTICS 2002.

[3]  Jon Louis Bentley,et al.  Multidimensional binary search trees used for associative searching , 1975, CACM.

[4]  John Kenneth Salisbury,et al.  Haptic Feedback Enhances Force Skill Learning , 2007, Second Joint EuroHaptics Conference and Symposium on Haptic Interfaces for Virtual Environment and Teleoperator Systems (WHC'07).

[5]  N Thrane,et al.  A Comparison of Acceleration structures for GPU Assisted Ray Tracing , 2005 .

[6]  Dinesh Manocha,et al.  Topology preserving surface extraction using adaptive subdivision , 2004, SGP '04.

[7]  Gaurav S. Sukhatme,et al.  A haptic-rendering technique based on hybrid surface representation , 2004, IEEE Computer Graphics and Applications.

[8]  Ming C. Lin,et al.  Fast penetration depth estimation for elastic bodies using deformed distance fields , 2001, Proceedings 2001 IEEE/RSJ International Conference on Intelligent Robots and Systems. Expanding the Societal Role of Robotics in the the Next Millennium (Cat. No.01CH37180).

[9]  Dinesh Manocha,et al.  I-COLLIDE: an interactive and exact collision detection system for large-scale environments , 1995, I3D '95.

[10]  François Conti,et al.  CHAI: An Open-Source Library for the Rapid Development of Haptic Scenes , 2005 .

[11]  Dinesh Manocha,et al.  DiFi: Fast 3D Distance Field Computation Using Graphics Hardware , 2004, Comput. Graph. Forum.

[12]  Thomas H. Massie,et al.  The PHANToM Haptic Interface: A Device for Probing Virtual Objects , 1994 .

[13]  D. Meiron,et al.  Efficient algorithms for solving static hamilton-jacobi equations , 2003 .

[14]  Dirk Bartz,et al.  Haptic Navigation in Volumetric Datasets , 2000 .

[15]  J A Sethian,et al.  A fast marching level set method for monotonically advancing fronts. , 1996, Proceedings of the National Academy of Sciences of the United States of America.

[16]  David H. Eberly,et al.  Geometric Tools for Computer Graphics , 2002 .

[17]  Allison M. Okamura,et al.  Haptic Virtual Fixtures for Robot-Assisted Manipulation , 2005, ISRR.

[18]  J. Donoghue,et al.  Decoding Movement Intent From Human Premotor Cortex Neurons for Neural Prosthetic Applications , 2006, Journal of clinical neurophysiology : official publication of the American Electroencephalographic Society.

[19]  Boeing Phantom,et al.  Voxel-Based 6-DOF Haptic Rendering Improvements , 2006 .

[20]  Dan Morris,et al.  An interactive simulation environment for craniofacial surgical procedures. , 2005, Studies in health technology and informatics.

[21]  Vincent Hayward,et al.  A Haptic Interface for Editing Space Trajectories , 2004 .

[22]  Sunil Arya,et al.  ANN: library for approximate nearest neighbor searching , 1998 .

[23]  Daniel Morris TG 2 : A software package for behavioral neurophysiology and closed-loop spike train decoding , 2006 .