Haptic applications are increasingly being developed by users who may have little or no knowledge of robotics or control. These users wish to represent complex graphical models, containing large numbers of polygonal surfaces. It is also important that little or no additional work be required to convert graphical user data to a form that is suitable for haptic display. These users also require that haptic feedback work robustly and degrade gracefully as the complexity of the virtual world is increased.
To meet these requirements, we are developing a new haptic interface library "HL" for the Phantom. With an Application Programmers Interface (API) almost identical to that of OpenGL, haptic environments can quickly and efficiently be incorporated into graphics applications. The library uses a multi-level control system to effectively simulate contact with virtual environments, while guaranteeing that the behavior of the haptic device is stable even if the simulated model is too complex to be simulated accurately.
To allow complex models to be simulated fast collision detection between the proxy and the virtual environment is essential. In our implementation a hierarchy of bounding spheres is automatically constructed when objects are introduced. This hierarchy can be quickly traversed to prune objects that are too far from the proxy to effect its movement. Only nearby obstacles need to be checked fully to see if they lie in the path of the proxy. The use of hierarchical bounding volumes reduces the computation costs enough to allow complex environments to be simulated.