Accelerometer Based 3D Virtual Glove for Robot Using ARM

Intuitive Control of an Industrial Robot Using Accelerometer-based 3D Virtual Glove

by Miss. Savita Shivadas Tandle*, Prof. R. D. Patil,

- Published in Journal of Advances in Science and Technology, E-ISSN: 2230-9659

Volume 12, Issue No. 25, Dec 2016, Pages 223 - 230 (8)

Published by: Ignited Minds Journals


ABSTRACT

Most of industrial robots are still programmed using the typical teaching process, through the use of the robot teach pendant. In this paper is proposed an accelerometer-based system to control an industrial robot using two low-cost and small 3-axis wireless accelerometers. These accelerometers are attached to the human arms, capturing its behavior (gestures and postures). An Artificial Neural Network (ANN) trained with a back-propagation algorithm was used to recognize arm gestures and postures, which then will be used as input in the control of the robot. The aim is that the robot starts the movement almost at the same time as the user starts to perform a gesture or posture (low response time). The results show that the system allows the control of an industrial robot in an intuitive way. However, the achieved recognition rate of gestures and postures (92%) should be improved in future, keeping the compromise with the system response time (160 milliseconds). Finally, the results of some tests performed with an industrial robot are presented and discussed.

KEYWORD

accelerometer-based, 3D Virtual Glove, robot, ARM, industrial robot, teaching process, robot teach pendant, accelerometers, Artificial Neural Network (ANN), back-propagation algorithm, arm gestures, postures, response time, recognition rate, tests

I. INTRODUCTION

In recent years, robotics is a current emerging technology in the field of science. A number of universities in the world are developing new things in this field. Robotics is the new booming field, which will be of great use to society in the coming years. Though robots can be a replacement to humans, they still need to be controlled by humans itself. Robots can be wired or wireless, both having a controller device. Both have pros and cons associated with them. Beyond controlling the robotic system through physical devices, recent method of gesture control has become very popular. The main purpose of using gestures is that it provides a more natural way of controlling and provides a rich and intuitive form of interaction with the robotic system. These days many types of wireless robots are being developed and are put to varied applications and uses. Human hand gestures are natural and with the help of wireless Communication, it is easier to interact with the robot in a friendly way. The robot moves depending on the gesture made by your hand and from a distance. The objective of this paper is to build a wireless gesture control robot using Arduino, accelerometer, RF transmitter and receiver module. The Arduino Uno microcontroller reads the analog output values i.e., xaxis and y-axis values of the accelerometer and converts that analog value to respective digital value. The digital values are processed by the Arduino Uno microcontroller and according to the tilt of the accelerometer sensor mounted on hand, it sends the commands to the RF transmitter which is received by the transmitter and is processed at the receiver end which drives the motor to a particular direction. The robot moves forward, backward, right and left when we tilt our palm to forward, backward, right and left respectively. The robot stops when it is parallel to the ground.

II. LITERATURE REVIEW

The paper[7][8] focuses on the development of the robotic Arm by using Flex Sensor, ZigBee and 3 Servo motor connected to the Arduino Uno which is controlled by processing software and a computer mouse. These robotic Arm are cheap and easily available which makes it free from unnecessary wire connection, reducing its complexity. But still there is a requirement of adding new ideas and functionality. The central goal of the paper[6] is to implement a system through which the user can give commands to wireless Robot using gesture. Here, the user control or navigate the robot by using gesture of palm. The command signals are generated from these gesture using image processing and signals are passed to the robot to navigate it in the specified direction. The paper[4] explain about the implementation and design of gesture controlled robot by using Flex Sensor, Ultra sonic Sensor, Electronic compass and accelerometer connected to

2

Glove Wirelessly via Bluetooth. The Robot is developed by using the input section consisting of sensor, LCD, Display and a Bluetooth Device and the output section which is consisting of NXT Microcontroller, Motor and Camera. The programming is developed in MATLAB.

III. SCOPE:

The 3D model approach can use volumetric or skeletal models, or even a combination of the two. Volumetric approaches have been heavily used in computer animation industry and for computer vision purposes. The models are generally created of complicated 3D surfaces, like NURBS or polygon meshes. One of the simplest interpolation function is linear, which performs an average shape from point sets, point variability parameters and external deformators. These template-based models are mostly used for hand-tracking, but could also be of use for simple gesture classification.

IV. METHODOLOGY:

  • Here the method includes Accelerometer based Body gesture.
  • The accelerometer is MMA 7660 which works on I2C protocol. The X, Y and Z co-ordinates are read by microcontroller and stored in microcontroller RAM.
  • Then the microcontroller compares the current X, Y and Z co-ordinates with the co-ordinates stored in the database. If the co-ordinates match then the gesture is recognized and the Robot is moved in 3D environment.
  • By measuring the amount of static acceleration due to gravity, we can find out the angle. the device is tilted at with respect to the earth.
  • By sensing the amount of dynamic acceleration, we can analyze the way the device is moving

The whole project is divided into two sections one is transmitter section and other is receiver section. The circuit diagram and the transmitter prototype is shown in figure 2, and figure 3 respectively, and the transmitter section consists of one Arduino Uno, one 3-axis accelerometer and one RF transmitter module. The circuit diagram of receiver module and the receiver prototype is shown in figure 4 and figure 5 respectively. The receiver section consists of one RF receiver module, one motor driver IC, two PMDC motor, two wheels. Here,two separate 5 volt power supply is applied to both the sections. Finally, the converts the analog value to respective digital value. The digital values are processed by the Arduino Uno and send to the RF transmitter which is received by the Receiver and is processed at the receiver end which drives the motor to a particular direction. The robot moves forward, backward, right and left when there is tilt in the palm of user in forward, backward, right and left respectively directions as shown in figure 1.

V. DESIGN AND WORKING

Ms. Savita Shivadas Tandle1*, Prof. R. D. Patil2 2

HARDWARE

A. MICROPROCESSOR LPC 2138

  • 16/32-bit ARM7TDMI-S microcontroller in a tiny LQFP64 or HVQFN package.
  • 8/16/32 kB of on-chip static RAM and 32/64/128/256/512 kB of on-chip flash program memory.
  • 128-bit wide interface/accelerator enables high-speed 60 MHz operation.
  • In-System Programming/In-Application Programming (ISP/IAP) via on-chip bootloader software.
  • Single flash sector or full chip erase in 400 ms and programming of 256 B in 1 ms.
  • Embedded ICE RT and Embedded Trace interfaces offer real-time debugging with the On-chip Real Monitor software and high-speed tracing of instruction execution.
  • 8-channel 10-bit ADCs provide a total of up to 16 analog inputs, with conversion times as low as 2.44 ms per channel.
  • Single 10-bit DAC provides variable analog output.
  • Two 32-bit timers/external event counters (with four capture and four compare channels each), PWM unit (six outputs) and watchdog.

power and dedicated 32 kHz clock input.

  • Multiple serial interfaces including two UARTs (16C550), two Fast I2C-bus (400 kbit/s), SPI and SSP with buffering and variable data length capabilities.
  • On-chip integrated oscillator operates with external crystal in range of 1 MHz to 30 MHz and with external oscillator up to 50 MHz.
  • Power saving modes include Idle and Power-down.
  • CPU operating voltage range of 3.0 V to 3.6 V (3.3 V ± 10 %) with 5 V tolerant I/O pads.

B. LCD :

Lampex,16*2, Backlit facility, 100mamp consumption

RS 232 PROTOCOL -

Is Used For Serial Communication In Between Mcs-51 To Pc.In the Project The Rf Module Is Connected To The µc Via Rs--232. Baud Rate: 9600 Bps, Timer Mode 1 Auto reload Mode

C. TEMP SENSOR:

LM35

Calibrated directly in degree centigrade Linear +10.0mV/degree centigrade scale factor 0.5 degree centigrade accuracy Low cost due to wafer level trimming

D. SOFTWARE

EMBEDDED C IN KEIL

V. CIRCUIT DIAGRAM DESCRIPTION

A. RESET and CRYSTAL DESIGN

RESET CIRCUIT:

Reset is used for putting the microcontroller into a 'known' condition. That practically means that microcontroller can behave rather inaccurately under certain undesirable conditions. In order to continue its proper functioning it has to be reset, meaning all

2

the way we want it to, but can also be used when trying out a device as an interrupt in program execution, or to get a microcontroller ready when loading a program. In order to prevent from bringing a logical zero RESET pin accidentally, RESET has to be connected via resistor to the positive supply pole AND a capacitor from RESET to the ground. Resistor should be between 5 and 10K and the capacitor can be in between 1µf tp 10 µf. This kind of resistor capacitor combination, gives the RC time delay for the µc to reset properly.

FIG 1

As shown in the above circuit we are connecting an RC circuit to the RESET (pin 57) of µC .The ARM µC has an active low reset, therefore we connect an RC circuit. As shown the capacitor is initially at 0v.It charges via the supply through a 10 kohm resistance in series, therefore the reset time of our circuit is: R*C = 10kohm * 0.1 µf = 1 msec Recommended time of reset = 1 µsec Here the RC time can vary from 10 µsec to 1 msec.

B. CRYSTAL DESIGN-

CRYSTAL CIRCUIT:

Pins OSC1 & OSC2 are provided for connecting a resonant network to form oscillator. Typically a quartz crystal and capacitors are employed. The crystal frequency is the basic internal clock frequency of the microcontroller. The manufacturers make available PIC designs that can run at specified maximum & minimum frequencies, typically 1 Mhz to 32 Mhz.

1) IG 2

Here we are connecting twp ceramic capacitors which are basically used for filtering. In other words to give a The basic rule for placing the crystal on the board is that it should be as close to the µC as possible to avoid any interference in the clock.

2) RS 232 :

RS 232 ic is a driver IC to convert the µC TTL logic(0-5) to the RS 232 logic (+-9v).Many device today work on RS 232 logic such as PC, GSM modem , GPS etc. . .so in order to communicate with such devices we have to bring the logic levels to the 232 logic (+/-9v). Here as we can see the RS 232 chip has 2 pairs of TTL and 232 logic viz, pair 1 : Pin 7,8,9,10 of RS 232 Pair 2 : pin 11,12,13,14 of RS 232 We can use any one pair in our project either 7,8,9,10 pair or 11,12,13,14 pair. if we require 2 serial ports then Depending on the requirement of the project we may have to use both the pair in the same project . The µC works on TTL logic (0-5 v).So to convert the TTL logic to 232 logic we use the 4 capacitors connected to the RS232 IC. These capacitors are

Ms. Savita Shivadas Tandle1*, Prof. R. D. Patil2 2

to the +/- 9 v swing required by the 232 IC.

3) Dual Charge-Pump Voltage Converter:

The MAX220–MAX249 have two internal charge-pumps that convert +5V to ±10V (unloaded) for RS-232 driver operation. The first converter uses capacitor C1 to double the +5V input to +10V on C3 at the V+ output. The second converter uses capacitor C2 to invert +10V to -10V on C4 at the V- output.

4) Power Supply:

5) 5 V Power Supply:

The basic step in the designing of any system is to design the power supply required for that system. The steps involved in the designing of the power supply are as follows, 1) Determine the total current that the system sinks from the supply. 2) Determine the voltage rating required for the different components.

The bridge rectifier and capacitor i/p filter produce an unregulated DC voltage which is applied at the I/P of 7805.As the minimum dropout voltage is 2v for IC 7805, the voltage applied at the input terminal should be at least 7 volts. C1 (1000 µf / 65v)is the filter capacitor and C2 and C3 (0.1 pf) is to be connected across the regulator to improve the transient response of the regulator. Assuming the drop out voltage to be 2 volts, the minimum DV voltage across the capacitor C1 should be equal to 7volts (at least).

6) Power supply design of the Project:

The average voltage at the output of a bridge rectifier capacitor filter combination is given by Vin(DC) = Vm – Idc / 4 f C1 Where , Vm=√2 Vs and Vs = rms secondary voltage Assuming Idc to be equal to max. load current, say 100mA C = 1000 Gf / 65v , f=50hHz 19 = Vm – 0.1 / 4*50*1000*10¯6

2

Vm=19.5 volts Hence the RMS secondary Voltage Vrms = vm / √2

= 19.5 / √2 =19,5 / 1.4421

=13.5 volts So we can select a 15v secondary Voltage In this system most of the components used require 5 V as operating voltage such as micro controller, MAX 232, MCT2E etc. The total current, which our circuit sinks from the power supply, is not more than 100 mA. We have used Regulator IC 7805 that gives output voltage of 5V.The minimum input voltage required for the 7805 is near about 7 v. Therefore we have used the transformer with the voltage rating 230v-10v and current rating 500 mA. The output of the transformer is 12 V AC. This Ac voltage is converted into 12 V DC by Bridge rectifier circuit.

The reasons for choosing the bridge rectifier are

a) The TUF is increased to 0.812 as compared the full wave rectifier. b) The PIV across each diode is the peak voltage across the load =Vm, not 2Vm as in the two diode rectifier Output of the bridge rectifier is not pure DC and contains some AC some AC ripples in it. To remove these ripples we have used capacitive filter, which smoothens the rippled output that we apply to 7805 regulators IC that gives 5V DC. We preferred to choose capacitor filters since it is cost effective, readily available and not too bulky.

a) V DESIGN-

Assuming R2=470 ohms and I adj =0 then, Vout= 3.3v = 1.25v (1+R2/450) 3.3v/1.25v= (450+R2)/450 2.64* 0.45 Kohm = 0.45kohm+R2 1.18 – 0.45kohm=R2 R2=738 ohms Nearest calue of resistance is 750 ohms Therefore with R1=450 ohms and R2=750 ohms we get an o/p of 3.3v

b) MICROCONTROLLER INTERFACE TO ANALOG SENSORS:

Here as we can see we are connecting the two analog parameters to the analog pins of ARM µC.(AD0.2, AD0.3).The µC has an inbuilt 10 bit ADC which digitizes the analog data and converts it into digital format .Once the data is available in the digital format the µC can process the data as required by the user program.

c) ARM INTERFACE TO XBEE MODULE:

Ms. Savita Shivadas Tandle1*, Prof. R. D. Patil2 2

can directly connect the µC txd pin to the XBEE rxd pin and the µC rxd pin to the XBEE txd pin. The modules require minimal power and provide reliable delivery of critical data between device. The Module operate with in the 2.4 GHz frequency band and are pin for pin compatible with each other.

d) ARM DC MOTOR INTERFACE

Here in our project we are using a 12v DC motor which is Bipolar, which means that the DC motor can rotate both the sides .For this we are using a DC motor driver IC L293D.This driver IC can drive 2 DC motors.In our project we are connecting only 1 DC motor so we are connecting only the 1st pair of the DC motor.(in1 and in2 of L293D).The DC motor will be connected at OUT1 and OUT2 of L293D respectively.

e) FREEWHEELING DIODES:

Here we are interfacing a 8 diodes at the o/p side of DC motor. Here whenever the DC motor changes the polarity back EMF is generated which can damage the DC motor. So the freewheeling diodes ground the extra energy through ground .Whenever the Back EMF is generated which is freewheeled to ground which keeps the DC motor safe.

VI. COMPARISONS WITH EXISTING SYSTEM

The major advantage of this system over other systems is that it provides real time palm gesture recognition, leading to an effective and natural way of controlling robots. Additional advantage-- many existing system have used Bluetooth wireless control which is replaced by RF modules in this paper, and due to which the range has been enhanced.

CONCLUSION

In this paper, an automated robot has been developed which works according to your hand gesture. The robot moves wirelessly according to palm gesture. Due to the growing demand for natural Human Machine Interfaces and robot intuitive programming platforms, a industrial robot. Utilizing arm gestures and postures was proposed. Two 3-axis accelerometers were culled to be the input contrivances of this system, capturing the human arms comportments. When compared with other mundane input contrivances, especially the edify pendant, this approach utilizing accelerometers is more intuitive and facile to work; besides offering the possibility to control a robot by wireless betokens. Utilizing this system, a non expert robot programmer can control a robot expeditiously and in a natural way. The low price and short set-up time are other advantages of the system. Nevertheless, the reliability of the system is a paramount constraint to consider.

REFERENCES:

Gallotti, P. Raposo, A. Soares, L. “v-Glove-A 3D virtual touch interface” Symposium on Virtual Reality IEEE, pp.242-251,2011. Pedro Neto, J. Norberto Pires, A. Paulo Moreira, “Accelerometer-Based Control of an Industrial Robotic Arm” on Robot and Human Interactive Communication, pp.1192-1197, 2009. IEEE Ruize Xu,Shengli Zhou Li, W.J. “MEMS Accelerometer Based Nonspecific-User Hand Gesture Recognition” Sensors Journal IEEE,vol.12, no.5,pp.1166-1173,2011 P. Kumar, J.Verma, S.Prasad, “Hand Data Glove: A Wearable Real-Time Device for Human-Computer Interaction”, Vol. 43, pp.15-26, 2012 Fengjun Guo; Shijie Chen. "Gesture Recognition Techniques in Handwriting Recognition Application", Frontiers in Handwriting Recognition, pp. 142-147,2010. Xinyu Coll., Xinyu, China ; “Design of the Smart Vehicle Control System Based on ARM and µC/OS-II” .Computer Science and Electronics Engineering,vol.2,pp.443-445,2012 Mingliang Liang,Xinqiang Wang “The design of intelligent robot based on embedded system”,pp.23-28, 2011 Juan, Guifang Q., Jun Zhang, Ying Zhang and Guangming S. “Hand Motion-Based Remote Control Interface with Vibrotactile Feedback for Home Robots” vol.10,pp.1-10,2013 T. Shiratori and J. K. Hodgins, “Accelerometer-based user interfaces for the control of a physically

2

S. Sayeed, N. S. Kamel and R. Besar, “Virtual Reality Based Dynamic Signature Verification Using Data glove”, in International Conference on Intelligent and Advanced Systems, IEEE, (2007), pp. 1260-1264. V. A. Prisacariu and I. Reid, “Robust 3d hand tracking for human computer interaction”, IEEE Intl Conf on Automatic Face & Gesture Recognition and Workshops, pp. 368-375, 2011 S. Kim, G. Park, S. Yim, S. Choi and S. Choi, “Gesture-Recognizing hand-held interface with vibrotactile feedback for 3d interaction”, IEEE Trans Consum Electron, vol. 55, no. 3, pp. 1169-1177, 2009.

Corresponding Author Ms. Savita Shivadas Tandle*

M.E. Scholar, Department of Electronics Engineering PVPIT, Budhgaon, Sangli, Shivaji University, Maharashtra, India

E-Mail – sstandle2126@gmail.com