X3D with Haptics
We are using H3DAPI, a library that extends X3D with haptic support by adding new elements that implement haptic functions. It should be as if you are writing an X3D scene as normal but adding extra elements in some places to make use of the haptics device.
One significant difference in working with H3DAPI is that by default the scenes are typically very small - almost everything is less than one unit in size.
Some of the later exercises use python scripts to perform calculations. In general these are provided for you so don't worry if you don't know python.
By completing this lab you should have:
Experience in using a haptics device
An appreciation of the application for haptics devices
Improved X3D knowledge
You should have gained experience with the H3DAPI and be able to:
Implement a SmoothSurface on geometric shapes in X3D scenes
Implement a FrictionalSurface on geometric shapes in X3D scenes
Implement a MagneticSurface on geometric shapes in X3D scenes
Implement a DepthMapSurface on geometric shapes in X3D scenes
Implement a ForceField effect in X3D scenes
Implement a MagneticGeometryEffect in X3D scenes
Implement a SpringEffect in X3D scenes
Implement a ViscosityEffect in X3D scenes
Implement a PositionFunctionEffect in X3D scenes
Implement a TimeFunctionEffect in X3D scenes
Use Python scripts to perform calculations for scenes in X3D
The following terms are used throughout these exercises:
Stylus: The pen-like end effector on the omni arm.
Proxy: The visual representation of the stylus in the scene
Element: A node in an XML file, such as
Attribute: A particular field belonging to an element, such as the radius in
A reference of useful H3D elements and their attributes can be found here
1.
To remove the stylus from the inkwell, lift it from below and then pull it out. Do not pull it straight out.
Test the Phantom Omni is working properly by running the "Phantom Test" utility (Start > Programs > SenseAble > Phantom Test). If you move the stylus around and the movement is reflected in the display of the utility, it is working correctly.
The following pages have exercises designed to help you understand what effects are possible in H3D and how to implement them. All example files can be found here, you should copy them to your own workspace.
Surfaces Exercises - the surfaces that can be simulated on geometric shapes in scenes.
Force Effects Exercise - the effects that can be applied to the stylus.
Advanced Exercises - making use of haptics
You are encouraged to try at least 2-3 (or more if you're interested) exercises in the surfaces and force effects sections to get an understanding of how they work and then move on the more complicated exercises.