Wednesday, May 04, 2005

Terms and Definitions

Callback -- Function that is set to run on the scheduler. These can set responses to user events or query device state. They can be Asynchronous or Synchronous. callbacks-and-scheduler-from-hdapi
Graphics Thread -- see Scheduler
Haptic Device -- Phantom Omni 6 DOF device. Can render force feedback in 3 dimensions. sensable-omni-phantom
Haptic Thread -- see Scheduler
HDAPI --Haptic Device API. This allows low a level interface with the haptic device. see hdapi-vs-hlapi
HLAPI -- Haptic Library API. This builds on top of the HDAPI and allows collision detection based on openGL methods. see hdapi-vs-hlapi
Octree -- Storage technique for representing 3D objects. This is an extension from quadtrees. A cube is divided into 8 equal sized cubes. There are multiple levels each level having 8 children. This storage technique is meant to enhance performace by reducing cells to check. Eg. An array would check each item in the array. An octree is meant to quickly dismiss branches that are unnecessary.
OpenGl -- A graphics programming API allowing 2 and 3 dimensional manipulation. multi-language multi-platform
Scheduler -- This is an infinite loop that responds to events based on callbacks. Events can be from user devices or based on idle time. The scheduler will execute at a set frequency. openGl and the HDAPI use seperate schedulers. OpenGl is around 60 Hz while the Haptic scheduler is at 1000 Hz. callbacks-and-scheduler-from-hdapi
STL file -- STereoLithography. A triangle mesh that forms a shell of a solid object. All faces are listed. Each face has a normal vector and then 3 vectors with 3 coordinates each. see stl-files-and-collision-detection
STL Object -- This represents the desired shape in the virtual environment consisting of openGL triangles. The triangle data is loaded from an STL file. Forces should be rendered to prevent the tool tip to penetrate this shape.
Stock Material -- Real world drilling material. This will be simulated by the Voxel Object
SWIFT -- University of North Carolina's collision detection package. SWIFT
TCP -- Tool Center Point. This is the endpoint of the kinematic chain representing the tooltip of the Haptic device.
TRI file -- a file consisting of faces and vertex points that represent a triangle mesh that forms a shell of a solid object. First all unique vertice positions are listed. Then all triangles are formed by referencing 3 listed vertice positions. see stl-files-and-collision-detection
Voxel -- Volume Pixel, used to represent 3D objects. see voxels-what-to-know
Voxel Object -- The 3D array that surrounds the STL Object and simulates the Stock Material. Each cell has a value associated with it 0 is Empty, 1 is Inner, and 2 is the Body. Cells marked Body are the only cells drawn. The Voxel object starts as a cuboid shell.
Voxel Shell -- All cells of the Voxel Object that have value Body. This simulates the current progress and should mirror the actual milling material.

Programs:

stlViewer: Initial project. First was used to load and display STL objects from a file. Then haptics were added. Voxels were added next. Collision detection and force rendering were explored using this project. This project relies on the HLAPI. This project was converted into prototype. Recently this was extended to use the SWIFT collision detection package.

prototype: working Project. This is the conversion of the project stlViewer to use the HDAPI. This will have custom force rendering and the SWIFT collision detection.

0 Comments:

Post a Comment

<< Home


Counters