Customized Haptic Control For VRML Object
Customized Haptic Control For VRML Object
INTRODUCTION:
The proposed invention is a customized haptic control (electronic circuit) designed specifically
to control VRML object in real-time. The control circuit can be wired or wireless. The proposed
haptic control is a wireless circuit operated via Bluetooth. Wireless circuit will offer more
flexibility for user movement within confined region of its operation. The VRML object chosen
for customized haptic control is Virtual Desktop Lamp having sphere sensors embedded in its
arm and neck as shown in Figure 1. The neck and upper arm are connected by sphere sensor 1.
Sphere sensor gives degree of freedom to rotate neck with 3600. Different neck rotations are
shown in figure 3. Similarly, upper arm and lower arm are connected by sphere sensor 2. The
lower arm in turn is connected to base by sphere sensor 3. Some of the possible arm rotations are
shown in figure 4. The lamp has touch sensors 4 and 5 to switch lamp (ON/OFF). The switching
action is just an illusion with color interpolation as shown in Figure 2. The VRML code of
Virtual Desktop Lamp is presented separately at the end of this text in Appendix A. The
proposed invention gives haptic control for all VRML sensors embedded within an object. The
haptic control enables user to manipulate the object interactively in real time. Once operated, the
user is capable of switching between different VRML sensors with the help of selector switch.
The sphere sensor action is completely mapped with hand glove. The hand glove will be put on
user’s hand. This will enable user to operate VRML sphere sensors just with hand movements.
The different elements of customized haptic control circuit for VRML object have been
explained in the subsequent text. In the absence of proposed customized haptic control for
1|Page
VRML object, the VRML desktop lamp can be manipulated using computer mouse with the help
of VRML browser like BS Contact Player.
(1) Sphere sensor embedded in neck joint; (2) Sphere sensor embedded in upper arm; (3)
Sphere sensor embedded in lower arm (base); (4) Red Switch (Touch Sensor) ON; (5)
Blue Switch (Touch Sensor) OFF
2|Page
Figure 2: Virtual Desktop Lamp (ON/OFF) illusion created using color interpolation
Figure 3: Desktop neck rotated in all 3600 with the help of sphere sensor
3|Page
Figure 4: Desktop Lamp different arm positions
4|Page
The customized haptic control circuit consists of following major elements
REMOTE UNIT: -
The user has freedom to rotate the neck as well as arm of Virtual Desktop Lamp. The neck and
arm movements are provided by X, Y, Z coordinates which change dynamically with neck and
arm positions. These coordinates are held within matrix which can be retrieved from the VRML
code when user’s intension is to establish control over the object. The basic function of remote
unit is to retrieve and control the four parameters like coordinates of X, Y, Z axis and switch
status i.e. ON/OFF. Block diagram of simple remote unit is shown in Figure 5.
The block diagram shows only one X, Y, Z pivot arm corresponding to one VRML sphere
sensor. It is just a simplified representation of complex system. In actual, there are three pivot
arms corresponding to VRML sphere sensors. There should be equal number of X, Y, Z
5|Page
switches corresponding to number of pivots (sphere sensors) used in lamp assembly i.e. number
of sphere sensors and number of switches should match each other. Dedicated switch for each
sphere sensor will increase complexity of circuit. As stated earlier, the virtual desktop lamp has
three VRML sphere sensors. Logically, one vertical X, Y, Z point for lamp head which seems to
be final result of all partial contribution of all X, Y, Z pivots (sphere sensors) and arm position.
Circuit simplification trick can be found in selector switch which will allow user to navigate
through different sphere sensors sequentially.
6|Page
The arrangement of selector switch is as shown in Figure 8. The circuit is equipped with selector
switch. Which when operated, it switches to next pivot i.e. VRML sphere sensor. This eliminates
independent controllers for each VRML sphere sensor thereby making circuit design simple and
easy. This trick has helped to design compact circuit assembly. The circuit is quite small in size
and can be operated by battery. It can be fitted on any small box. The movements of box will be
reflected on Virtual Desktop Lamp. In other words, it can be claimed that box movements are
fully mapped with Virtual Desktop Lamp. The box along with control circuit fitted over hand
glove as shown in figure 6. Once the coordinates are fully mapped with gyroscopic sensor, it is
capable of rotating Virtual Desktop Lamp’s neck and arms in all 3600 with hand movement.
7|Page
The logical sequence of operation can be clearly explained by figure 7. It shows the flow chart
for process controller. Figure 8 shows modified block diagram of remote unit to achieve compact
and simple circuit design. The block diagram shown in Figure 8 indicates that there is selector
switch which is used to select pivot / arm among the available sphere sensors one by one
sequentially. The values (signals) of X, Y, Z, L (ON/OFF) are then sent accordingly.
Further improvement in remote unit was carried out by removing the machine switches for X, Y,
Z values with an Accelerometer Electron Integrated Chip [ADXL SERIES]. This chip gives
three values with respect to spin about an axis. By measuring the amount of acceleration due to
gravity, an accelerometer can figure out the angle it is tilted at, with respect to the earth.
ADXL335 is three axis accelerometer with on board voltage regulator IC and signal conditioned
analog voltage output. The module is made up of ADXL335 from Analog Devices.
8|Page
Figure 9: Block diagram of electronic circuit
To move lamp in all direction, user need either mechanical force which can be generated
manually (hand glove) or electronically via motor which will precisely control processing
elements like microprocessor or microcontroller. For such controlling arrangement, electronic
circuit is designed with main elements shown in Figure 9.
9|Page
Figure 10: Hardware setup of customized haptic control for VRML object
The hardware setup of customized haptic control is as shown in Figure 10. The setup consists of
9-volt battery, 5 Volt regulator, Microcontroller (PIC 16F72/PIC 18F2250), ADXL (335/345)
chip, USB to serial Cord, Bluetooth Module and PC/Laptop.
10 | P a g e
GY-61 ADXL335 3-Axis Accelerometer Module
GY-61 DXL335 3-Axis Accelerometer Module is a three axis accelerometer sensor module
based on ADXL335 integrated circuit. The ADXL335 is a triple axis accelerometer with
extremely low noise and power consumption. The sensor has a full sensing range of +/-3g. It can
measure the static acceleration of gravity in tilt-sensing applications, as well as dynamic
acceleration resulting from motion, shock, or vibration.
There is an on-board 3.3V voltage regulator to power the ADXL335 so power provided should
be between 3.3V and 6V DC. Model: GY-61 Three-axis magnetic field accelerometer module
Compact size, low power supply Used for game systems, mobile devices, etc.
11 | P a g e
Pin Definitions: 1. VCC: 3.3V or 5V 2. X_OUT: Analog Output 3. Y_OUT: Analog Output 4.
Z_OUT: Analog Output 5. GND: Ground
12 | P a g e
The main elements of circuit are
1. Battery/ main supply
2. Power supply
3. Wi-Fi circuit
4. Motor
5. Motor driver
6. Microprocessor/ Microcontroller
7. Switches
8. Lamp
9. Accelerometer assemblers
13 | P a g e
FLOW CHART FOR MICROPROCESSOR / MICROCONTROLLER: -
14 | P a g e
For haptic control, VRML script can be used. This script is annotated to the actual model,
which in turn controlled by plug- down to MATLAB script. For real time haptic control of
VRML model MATLAB script has been used. This script provides access to Bluetooth Module
Figure 12: Block diagram for haptic control of VRML desktop lamp
Figure 12 gives block diagram which clearly gives the idea about the haptic control of VRML
object using customized control. This type of prototype provides testing and verification of data
before building actual complex haptic control on large scale.
15 | P a g e
MICROPROCESSOR / MICROCONTROLLER: -
All activities of circuit board or assembly model structure are completely controlled by
microprocessor or microcontroller. Following sequence of activity will give an overview of
entire controlling activity
Mechanical assembly is X, Y, Z plane robot switch with Motor, Wi-Fi, Mechanical pivot etc.
Lamp assembly consists of Lamp Cap, Lamp Holder and Wiring System. Switches are used for
manual operation (ON/OFF operation) of lamp as usual.
16 | P a g e
Figure 13: 3600 Mechanical (actual) desktop lamp
The construction of actual mechanical desktop lamp is as shown in Figure 13. The lamp has
several ball joints which allows it to rotate in 3600. The mechanical assembly consist base, two
arms and one neck. The base, arms and neck are connected to each other by ball joint which
gives 3600 freedom of rotation. The virtual desktop lamp created using VRML code is exact
replica of this lamp.
17 | P a g e
The proposed invention can be effectively used in construction of full fledge simulator in CAVE
(Computer Aided Virtual Environment).
18 | P a g e
Appendix A
VRML Code for Virtual Desktop Lamp
#VRML V2.0 utf8
Viewpoint {
description "DeskLamp"
position 0 0.1 1
Group {
children [
children [
Shape {
appearance Appearance {
19 | P a g e
}
geometry Cylinder {
height 0.01
radius 0.1
Group {
children [
offset 1 0 0 -3.58
center 0 -0.15 0
rotation 1 0 0 -0.7
translation 0 0.15 0
children [
appearance Appearance {
geometry Cylinder {
height 0.3
radius 0.01
Group {
children [
20 | P a g e
DEF movesecondarm SphereSensor {
offset 1 0 0 -1.25
center 0 -0.15 0
rotation 1 0 0 1.9
translation 0 0.3 0
children [
USE lamparm
Group {
children [
offset 1 0 0 -1.25
center 0 0.075 0
rotation 1 0 0 -1.25
translation 0 0.075 0
children [
Shape {
appearance Appearance {
geometry Cone {
bottom FALSE
bottomRadius 0.12
21 | P a g e
height 0.15
Transform {
translation 0 -0.05 0
children [
Shape {
appearance Appearance {
geometry Sphere {
radius 0.05
cycleInterval 0.5
key [ 0 1 ]
key [ 0 1 ]
22 | P a g e
cycleInterval 0.5
ambientIntensity .8
color 1 1 0
cutOffAngle .785398
direction 0 -1 0.7
on FALSE
radius 20
### Warning: SpotLight node location and radius are affected by translation and scaling of parent-hierarchy
<Transform DEF='lamp' translation='0 0 0' scale='1 1 1' />
Group {
children [
23 | P a g e
DEF button1 Transform {
children [
Shape {
appearance Appearance {
material Material {
diffuseColor 1 0 0
geometry Cylinder {
height 0.03
radius 0.01
url [ "javascript:
function set_light() {
value = true;
"]
24 | P a g e
}
children [
Shape {
appearance Appearance {
material Material {
diffuseColor 0 0 1
geometry Cylinder {
height 0.03
radius 0.01
url [ "javascript:
function set_light() {
value = false;
25 | P a g e
"]
26 | P a g e