Enhancements of the Voxmap-PointShell Algorithm

Providing the user with touch or haptic feedback is crucial in activities performed in virtual worlds, such as assembly or maintenance simulations, and skill training. McNeely et al. introduced in 1999 the Voxmap-PointShellTM (VPS) Algorithm, an appealing haptic rendering algorithm that generates collision and force response with 1 kHz refresh rate even with geometrically complex environments. The VPS algorithm works with two types of data-structures to achieve this high frequency: voxmaps (discretized objects using voxels, equivalent to pixels in 3D), and pointshells (point-clouds representing the surface of the moving objects). This diploma thesis introduces enhancements on a modified VPS algorithm that was reimplemented at DLR. First, the development (using Matlab and C++) of new algorithms that generate these data-structures is explained. The voxmap generator is based on the Separating Axis Theorem, whereas a nonlinear analytical optimization method is applied to compute pointshells. Experiments show both quality and generation speed improvements compared to the previous algorithms. The quality is essential for the VPS algorithm, as the collision and force computation depend on the accuracy of its data-structures. Second, a sphere-point hierarchization implemented to the pointshell is introduced, in order to work at high sampling rates with high resolution. Results of generation tests performed to artificial objects and real models provided by Volkswagen are included to verify the suitability of the new algorithms.