Tutorial?

Background

Haptic feedback has been used in human robot interaction to provide the signals intended for the proprioceptors of the operator, i.e., force and position. Such Specially dexterous manipulation of objects using hands or tools, depends heavily on the tactile feedback. For example, while cutting an apple using knife, stirring soup with a spoon etc; a feedback force is experience by the user than depends on the physical properties of both tool and the target object.

In this tutorial, we shall simulate the feedback generated from the real world interaction with several objects.


This tutorial is based on the work done by Mickael Nicolaccini, an intern at Inamura laboratory. If you questions after reading this page: Please feel free to email at:: {jain@nii.ac.jp, m.nicolaccini@gmail.com}


Introduction

The Phantom Omni device is used for this work. According to its website:

"Each Geomagic haptic device accurately measures the 3D spatial position (along the x, y and z axes) and the orientation (pitch, roll and yaw) of its handheld stylus. The devices use motors to create the forces that push back on the user’s hand to simulate touch and interaction with virtual objects."

This device allows accurate capture of the movement and inclination of a pen shaped tool. This pen shaped tool is linked to an articulated arm which can generate feedback force using motors, thus the interaction is not only one sided but bi-directional. The person can influence the environment and the environment can react to it.

The Haptic device: phantom Omni

The Phantom has 6 joints (see figure 1 and 2), with each joint capturing the degree of the inclination. Joints numbers 1 to 3 are equipped with 3 resistance motors, one by axis (x, y, z) so the device can apply feedback in space.

haptick1.jpg

Figure1: Phantom Omni, where the pen shape tools is plugged. Source: Google

hapticl2.png

Figure2: Inclination joints of Phantom Omni. Joints 4 to 6 are used to capture the inclination the device. Source: Google

Requirements

Selection of PC

WRITE DOWN SPECS

1394 interface.

IEEE 1394 called Firewire is a high speed I/O (made by Apple in 1995). In my Lenovo PC, the firewire is embedded in the PC itself. But if you have a separate board then depending on the PCI card type, you are required to install the device drivers.

Installing of a Development Environment

VC++ 2008 and 2010, both can be used. Please download appropriate service libraries from here. If you have not implemented any SIGService so far and would like to understand its implementation via some simpler example, please follow this tutorial.

Download: (PHANTOM Device Drivers PDD) driver and library (OpenHaptics Toolkit)

Development of interaction of objects using Phantom Omni inside SIGVerse.

Usage of OpenHaptic Micro API

openhaptic.png

Figure 3: The levels of abstraction of the OpenHaptic Micro API. Source: Geomagic website.

OpenHaptic is divided into several layers. For this project HDAPI (low level) and the HLAPI (high level) is combined. HLAPI allows, among other things, to select a feedback force type and their intensity. The highest layer QuickHaptics combines graphical rendering and feedback force management, whereas we only need feedback force management since graphical rendering is already provided by SIGViewer. That is why this layer is not used.

Scheme of SIGService for Phantom Omni

scheme.png

Figure 4: The Scheme of the communication between the phantom Omni and the controller. Source: Mickael's internship report.

The service works as a bridge between SIGViewer and the Phantom Omni, merging the SIGService framework and the OpenHaptic API.

Role of SIGService for Phantom Omni

SIGService enables communication with a controller using sockets. The role of the service is to capture movement, the inclination and state of buttons of the phantom Omni. Then data is sent as a string to the controller (yellow part on figure 4).

The structure of the data consists of 3 floats for the position, 4 floats for the inclination and 1 integer for the buttons’ state.

When a collision or the end of a collision is detected, the controller sends the needed information (loaded from the entity collided) like feedback force type and their intensity to the Haptic service (green part on figure 4).

Haptic environment simulation sample experiment.

The knife is controlled by the the pen-shaped tool of the haptic device. The apple and the table are example items used to create feedback force. The apple is squishy and simulates the cutting of a fruit. The table has a hard spring effect that allows for modeling the sticking of the knife into the wooden furniture.

SIGService Source code for the sample experiment

SIGController Source code for sample experiment

The World file.

Installation of SIGServer

Installation of SIGViewer

Simple Model

Creating a model

Counter: 9456, today: 1, yesterday: 4

Front page   New List of pages Search Recent changes   Help   RSS of recent changes