gesture controlled car_project report

35
IT311.01 Ashika Pokiya-12IT083 CHAPTER 1 INTRODUCTION Recently, strong efforts have been carried out to develop intelligent and natural interfaces between users and computer based systems based on human gestures. Gestures provide an intuitive interface to both human and computer. Thus, such gesture-based interfaces can not only substitute the common interface devices, but can also be exploited to extend their functionality. 1.1 ROBOT A robot is usually an electro-mechanical machine that can perform tasks automatically. Some robots require some degree of guidance, which may be done using a remote control or with a computer interface. Robots can be autonomous, semi-autonomous or remotely controlled. Robots have evolved so much and are capable of mimicking humans that they seem to have a mind of their own. 1.2 HUMAN MACHINE INTERACTION An important aspect of a successful robotic system is the Human-Machine interaction. In the early years the only way to communicate with a robot was to program which required extensive hard work. With the development in science and robotics, gesture based recognition came into life. Gestures originate from any bodily motion or state but commonly originate from the face or 3

Upload: ashikapokiya12345

Post on 15-Apr-2017

353 views

Category:

Career


3 download

TRANSCRIPT

Page 1: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

CHAPTER 1

INTRODUCTION

Recently, strong efforts have been carried out to develop intelligent and natural interfaces

between users and computer based systems based on human gestures. Gestures provide an

intuitive interface to both human and computer. Thus, such gesture-based interfaces can not only

substitute the common interface devices, but can also be exploited to extend their functionality.

1.1 ROBOT

A robot is usually an electro-mechanical machine that can perform tasks automatically.

Some robots require some degree of guidance, which may be done using a remote control or with

a computer interface. Robots can be autonomous, semi-autonomous or remotely controlled.

Robots have evolved so much and are capable of mimicking humans that they seem to have a

mind of their own.

1.2 HUMAN MACHINE INTERACTION

An important aspect of a successful robotic system is the Human-Machine interaction. In the

early years the only way to communicate with a robot was to program which required extensive

hard work. With the development in science and robotics, gesture based recognition came into

life. Gestures originate from any bodily motion or state but commonly originate from the face or

hand. Gesture recognition can be considered as a way for computer to understand human body

language. This has minimized the need for text interfaces and GUIs (Graphical User Interface).

1.3 GESTURE

A gesture is an action that has to be seen by someone else and has to convey some piece of

information. Gesture is usually considered as a movement of part of the body, esp. a hand or the

head, to express an idea or meaning.

3

Page 2: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

1.4 MOTIVATION FOR PROJECT

Our motivation to work on this project came from a disabled person who was driving his wheel

chair by hand with quite a lot of difficulty. So we wanted to make a device which would help

such people drive their chairs without even having the need to touch the wheels of their chairs.

1.5 OBJECTIVE OF PROJECT

Our objective is to make this device simple as well as cheap so that it could be mass produced

and can be used for a number of purposes

4

Page 3: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

CHAPTER 2

GESTURE CONTROLLED ROBOT

2.1 GESTURE CONTROLLED ROBOT

Gesture recognition technologies are much younger in the world of today. At this time

there is much active research in the field and little in the way of publicly available

implementations. Several approaches have been developed for sensing gestures and controlling

robots. Glove based technique is a well-known means of recognizing hand gestures. It utilizes a

sensor attached to a glove that directly measures hand movements.

A Gesture Controlled robot is a kind of robot which can be controlled by hand gestures

and not the old fashioned way by using buttons. The user just needs to wear a small transmitting

device on his hand which includes a sensor which is an accelerometer in our case. Movement of

the hand in a specific direction will transmit a command to the robot which will then move in a

specific direction. The transmitting device includes a Comparator IC for assigning proper levels

to the input voltages from the accelerometer and an Encoder IC which is used to encode the four

bit data and then it will be transmitted by an RF Transmitter module.

At the receiving end an RF Receiver module will receive the encoded data and decode it

by using a decoder IC. This data is then processed by a microcontroller and passed onto a motor

driver to rotate the motors in a special configuration to make the robot move in the same

direction as that of the hand.

5

Page 4: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

2.2APPLICATIONS

1) Through the use of gesture recognition, remote control with the wave of a hand of

variousdevices is possible.

2) Gesture controlling is very helpful for handicapped and physically disabled people

toachieve certain tasks, such as driving a vehicle.

3) Gestures can be used to control interactions for entertainment purposes such as gaming

tomake the game player's experience more interactive or immersive.

6

Page 5: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

CHAPTER 3

LITERATURE REVIEW

Our gesture controlled robot works on the principle of accelerometer which records hand

movements and sends that data to the comparator which assigns proper voltage levels to the

recorded movements. That information is then transferred to encoder which makes it ready for

RF transmission. On the receiving end, the information is received wirelessly via RF, decoded

and then passed onto the microcontroller which takes various decisions based on the received

information. These decisions are passed to the motor driver IC which triggers the motors in

different configurations to make the robot move in a specific direction. The following block

diagram helps to understand the working of the robot:

(A)TRANSMITTER

(B) RECEIVER

Figure 3-1 Block Diagram of the wireless gesture controlled robot

ACCELRO METER ADXL335

433MHz RECEIVER MODULE

MOTOR DRIVER L293D

MICRO CONTROLLER ATMEGA328

433MHz TRANSMITTER MODULE

DECODER HT12D

ENCODER HT12E

7

Page 6: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

We divided our task into two parts to make the task easy and simple and to avoid complexity and

make it error free. The first is the transmitting section which includes the following components:

1) Accelerometer

2) Atmega328(MCU)

3) Encoder IC

4) RF Transmitter Module

The second is the receiving end which comprises of following main components:

1) RF Receiver Module

2) Decoder IC

3) Motor Driver IC

4) DC Geared Motors

3.1ACCELEROMETER (ADXL335)

An Accelerometer is an electromechanical device that measures acceleration forces. These

forces may be static, like the constant force of gravity pulling at your feet, or they could be

dynamic – caused by moving or vibrating the accelerometer. It is a kind of sensor which record

acceleration and gives an analog data while moving in X,Y,Z direction or may be X,Y direction

only depending on the type of the sensor.

Figure 3-2 ADXL335 Accelerometer

8

Page 7: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

Table 3-1 Pin description for Accelerometer

3.2Arduino Uno

Arduino is an open-source computer hardware and software company, project and user

community that designs and manufactures kits for building digital devices and interactive objects

that can sense and control the physical world.

Figure 3-3Arduino UNO

9

Page 8: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

3.2.1 Arduino Software

The Arduino integrated development environment (IDE) is a cross-platform application written in Java, and derives from the IDE for the Processing programming language and the Wiring projects. It is designed to introduce programming to artists and other newcomers unfamiliar with software development. It includes a code editor with features such as syntax highlighting, brace matching, and automatic indentation, and is also capable of compiling and uploading programs to the board with a single click. A program or code written for Arduino is called a “sketch”

Arduino programs are written in C or C++. The Arduino IDE comes with a software library called "Wiring" from the original Wiring project, which makes many common input/output operations much easier. Users only need define two functions to make an executable cyclic executive program:

setup() : a function run once at the start of a program that can initialize settings loop() : a function called repeatedly until the board powers off

3.3 ATmega328

ATmega328 is a single-chip micro controller from Atmel and belongs to the mega AVR

series. The Atmel 8-bit AVR RISC based microcontroller combines 32kB ISP flash memory

with read while write capabilities, 1kB EEPROM, 2kB SRAM, 23 general-purpose I/O lines, 32

general-purpose working register, three flexible timers/counters with compare modes, internal

and external interrupts, serial programmable USART, a byte oriented 2-wire serial interface, SPI

serial port, 10 bit A/D converter, programmable watch-dog timer with an internal oscillator and

five software-selectable power-saving modes.

10

Page 9: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

The device operates between 1.8 and 5.5 volts. It achieves throughputs approaching one

MIPS per MHz. An alternative to ATmega328 is ATmega328p.

Figure 3-4 ATmega328 micro-controller

3.3 ENCODER IC (HT12E)

PT2262 is a remote control encoder paired with PT2272 utilizing CMOS technology. It

encodes data and address pins into serial coded waveform suitable for RF or IR modulation.

PT2262 has a maximum of 12 bits of tri-state address pins providing up to 312 address codes;

thereby, drastically reducing any code collision and unauthorized code scanning possibilities.

11

Page 10: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

The pin description is shown below. It has 4 input while 1 output pin. The address pins can also

be utilized as data pins.

Figure 3-5 HT12E IC

Table 3-3 Pin description for HT12E

12

Page 11: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

3.4 RF MODULE (Rx/Tx)

Radio frequency (RF) is a rate of oscillation in the range of about 3 KHz to 300 GHz,

which corresponds to the frequency of radio waves, and the alternating currents which carry

radio signals.

Although radio frequency is a rate of oscillation, the term "radio frequency" or its

abbreviation "RF" are also used as a synonym for radio – i.e. to describe the use of wireless

communication, as opposed to communication via electric wires

The RF module is working on the frequency of 433 MHz and has a range of 100-200

meters.

Figure 3-5 RF Transmitter

Table 3-3 Pin description for RF Tx

13

Page 12: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

Figure 3-6 RF Receiver

Table 4-1 Pin description for RF Rx

3.5 DECODER IC (HT12D)

PT2272 is a remote control decoder paired with PT2262 utilizing CMOS Technology. It

has 12 bits of tri-state address pins providing a maximum of 312 address codes; thereby,

drastically reducing any code collision and unauthorized code scanning possibilities. The input

data is decoded when no error or unmatched codes are found. It has 1 input while 4 output pins.

The address pins can also be utilized as data pins.

14

Page 13: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

Figure 3-7 HT12E IC

Table 4-2 Pin description for HT12E

15

Page 14: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

3.6 MOTOR DRIVER IC (L293D)

It is also known as H-Bridge or Actuator IC. Actuators are those devices which actually

gives the movement to do a task like that of a motor. In the real world there are different types of

motors available which work on different voltages. So we need a motor driver for running them

through the controller.

The output from the microcontroller is a low current signal. The motor driver amplifies

that current which can control and drive a motor. In most cases, a transistor can act as a switch

and perform this task which drives the motor in a single direction.

Figure 3-10 L293D IC

Turning a motor ON and OFF requires only one switch to control a single motor in a

single direction. We can reverse the direction of the motor by simply reversing its polarity. This

can be achieved by using four switches that are arranged in an intelligent manner such that the

circuit not only drives the motor, but also controls its direction. Out of many, one of the most

common and clever design is a H-bridge circuit where transistors are arranged in a shape that

resembles the English alphabet "H".

16

Page 15: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

Figure 3-11 H-Bridge

As seen in the image, the circuit has four switches A, B, C and D. Turning these switches

ON and OFF can drive a motor in different ways.

When switches A and D are on, motor rotates clockwise.

When B and C are on, the motor rotates anti-clockwise.

When A and B are on, the motor will stop.

Turning off all the switches gives the motor a free wheel drive.

Turning on A& C at the same time or B & D at the same time shorts the entire circuit. So,

never try to do it.

17

Page 16: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

3.7 DC MOTORS

A machine that converts DC power into mechanical power is known as a DC motor. Its

operation is based on the principle that when a current carrying conductor is placed in a magnetic

field, the conductor experiences a mechanical force.

DC motors have a revolving armature winding but non-revolving armature magnetic

field and a stationary field winding or permanent magnet. Different connections of the field and

armature winding provide different speed/torque regulation features. The speed of a DC motor

can be controlled by changing the voltage applied to the armature or by changing the field

current.

Figure 3-12 DC Motor

18

Page 17: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

CHEPTER 4

IMPLEMENTATION

The accelerometer records the hand movements in the X and Y directions only and

outputs constant analog voltage levels. These voltages are fed to the comparator IC which

compares it with the references voltages that we have set via variable resistors attached to the IC.

The levels that we have set are 1.7V and 1.4V.every voltage generated by the accelerometer is

compares with these and an analog 1 or 0 signal is given out by the comparator IC.

This analog signal is the input to the encoder IC. The input to the encoder is parallel

while the output is a serial coded waveform which is suitable for RF transmission. A push button

is attached to pin 14 of this IC which is the transmission enable(TE)pin. The coded data will be

passed onto the RF module only when the button is pressed. This button makes sure no data is

transmitted unless we want to.

The RF transmitter modulates the input signal using amplitude shift

keying(ASK)modulation.It is the form of modulation that represents digital data as variations in

amplitude of a carrier wave.

The following figure shows the modulated output of the RF module:

19

Page 18: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

Fig 4-2 ASK Modulation

The RF modules works on the frequency of 315MHz. It means that the carrier frequency

of the RF module is 315MHz. The RF module enables the user to control the robot wirelessly

and with ease.

The schematic of transmitting end can be seen below:

20

Page 19: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

Fig 4-3 Transmitting Circuit

This transmitted signal is received by the RF receiver,demodulated and then passed onto

the decoder IC.The decoder IC decodes the coded waveform and the original data bits are

recoverd. The input is a serial coded modulated waveform while the output is parallel. The pin

17 of the decoder IC is the valid transmission (VT) pin.A led can be connected to this pin which

will indicate the status of the transmission.In the case of a successful transmission,the led will

blink.

The parallel data from the encoer is fed to the port lot the microcontroller.This data is in

the form of bits. The microcontroller reads these bits and takes decision on the basis of

21

Page 20: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

thesebits.What the microcontroller does is,it compares the input bits with the coded bits which

are burnt into the program memory of the microcontroller and outputs on the basis of these

bits.port 2 of the microcontroller is used as the output port.output bits from this port are

forwarded to the motor driver IC which drives the motors in a special configuration based on the

hand movements.

Fig 4-4 Receiving Circuit

22

Page 21: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

4.1 SIMULATION

We performed a simulation of our project in PROTEUS and the code was written in C

language using KEIL MICROVISION. We wrote a code for the microcontroller to run DC

motors usingthe H-Bridge IC (L293D). In the simulation we sent the relevant data to the

Microcontroller(AT89C51) through switches. The Microcontroller processed the data and sent

the information tothe Actuator IC (L293D). The Actuator IC upon receiving information showed

response bydriving the DC motors. The simulation schematic is as follow:

Figure 4-1 FYP-1 Simulation

23

Page 22: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

CHAPTER 5

CONCLUSION, LIMITATIONS AND FUTURE WORK

5.1 CONCLUSION

We achieved our objective without any hurdles i.e. the control of a robot using gestures. Therobot

is showing proper responses whenever we move our hand. Different Hand gestures tomake the robot

move in specific directions are as follow:

Fig 5-1 Move Backward

Fig 5-2 Move forward

Fig 5-3 Move Right

24

Page 23: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

Fig 5-4 Move Left

The robot only moves when the accelerometer is moved in a specific direction. The

validmovements are as follows:

DIRECTION ACCELEROMETER ORIENTATION

Forward +y

Backward -y

Right +x

Left -x

Stop Rest

5.2 LIMITATIONS AND FUTURE WORK

The on-board batteries occupy a lot of space and are also quite heavy. We can either usesome

alternate power source for the batteries or replace the current DC Motors with oneswhich require

less power.

Secondly, as we are using RF for wireless transmission, the range is quite limited; nearly50-80m.

This problem can be solved by utilizing a GSM module for wirelesstransmission. The GSM

infrastructure is installed almost all over the world. GSM will notonly provide wireless

connectivity but also quite a large range.

Thirdly, an on-board camera can be installed for monitoring the robot from farawayplaces. All we

need is a wireless camera which will broadcast and a receiver modulewhich will provide live

streaming.

25

Page 24: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

CHAPTER 6

FEASIBILITY OF THE PROJECT

During the development of the project we researched the feasibility in different fields, especiallysoftware

and hardware. The feasibility study is shown below.

6.1 SOFTWARE

We targeted to choose a language that is easy to understand and program. So we chose

assemblylanguage for our project. Assembly language is the basic language of microcontrollers.

Althoughits not user friendly in terms of programming but still one can learn it quickly.

6.2 HARDWARE

We chose accelerometer as the sensing device because it records even the minute movements.We

could also have completed our project using Arduino but chose microcontroller insteadbecause its cost is

low and is easily available everywhere. There are a number of dc gearedmotors available but the ones we

chose are capable of supporting loads up to 6kgs.

26

Page 25: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

ARDUINO CODE

void setup()

{

pinMode(A0,INPUT);

pinMode(A1,INPUT);

// pinMode(A2,INPUT);

Serial.begin(9600);

pinMode(13,OUTPUT);

pinMode(10,OUTPUT);

pinMode(11,OUTPUT);

pinMode(12,OUTPUT);

}

void loop()

{

int X= analogRead(A0);

int Y=analogRead(A1);

//int Z=analogRead(A2);

Serial.print("X=");

Serial.println(X);

Serial.print("Y=");

Serial.println(Y);

Serial.println(" ");

//Serial.print("Z=");

//Serial.println(Z);

delay(1000);

27

Page 26: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

if((X>343 && X <418) && (Y>320 && Y<340)) // for backward movement

{

digitalWrite(13,LOW);

digitalWrite(12,HIGH);

digitalWrite(11,HIGH);

digitalWrite(10,LOW);

}

else

{

if((X>330 && X<345) && (Y>330 && Y<402)) // for left turn

{

digitalWrite(13,LOW);

digitalWrite(12,LOW);

digitalWrite(11,LOW);

digitalWrite(10,HIGH);

}

else

{

if((X>260 && X<350) && (Y>330 && Y<348)) // for forward

{

digitalWrite(13,HIGH);

digitalWrite(12,LOW);

digitalWrite(11,LOW);

digitalWrite(10,HIGH);

}

else

28

Page 27: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

{

if((X>322 && X<368) && (Y>262 && Y<338)) //for right turn

{

digitalWrite(13,HIGH);

digitalWrite(12,LOW);

digitalWrite(11,LOW);

digitalWrite(10,LOW);

}

else

{

digitalWrite(13,LOW);

digitalWrite(12,LOW);

digitalWrite(11,LOW);

digitalWrite(10,LOW);

}

}

}

}

}

29

Page 28: Gesture Controlled Car_Project report

IT311.01 Ashika Pokiya-12IT083

REFERENCES

[1] “Gesture Controlled Robot PPT”

<http://seminarprojects.com/s/hand-gesture-controlled-robot-ppt>

[2] “Gesture Controlled Tank Toy User Guide”

<http://www.slideshare.net/neeraj18290/wireless-gesture-controlled-tank-toy-transmitter>

[3] “Embedded Systems Guide (2002)”

<http://www.webstatschecker.com/stats/keyword/a_hand_gesture_based_control_interface_for_a

_car_robot>

[4] “Robotic Gesture Recognition (1997)” by JochenTriesch and Christoph Von Der Malsburg

<http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.37.5427>

[5] “Real-Time Robotic Hand Control Using Hand Gestures” by JagdishLalRaheja, Radhey

Shyam, G. ArunRajsekhar and P. Bhanu Prasad

[6] “Hand Gesture Controlled Robot” by Bhosale Prasad S., BunageYogesh B. and Shinde

Swapnil V.

[7]< http://www.robotplatform.com/howto/L293/motor_driver_1.html>

[8]< http://en.wikipedia.org/wiki/Gesture_interface>

[9]< http://www.wisegeek.com/what-is-a-gear-motor.html

[10]<http://www.scribd.com/doc/98400320/InTech-Real-Time-Robotic-Hand-Control-Using-

Hand-Gestures>

[11]< http://en.wikipedia.org/wiki/DC_motor>

[12]<http://electronics.stackexchange.com/questions/18447/what-is-back-emf-counterelectromotive-

force>

30