SlideShare une entreprise Scribd logo
1  sur  51
Télécharger pour lire hors ligne
HAND GESTURE CONTROLLED ROBOTIC CAR
A project work report submitted
to
MANIPAL UNIVERSITY DUBAI
For Partial Fulfillment of the Requirement for the
Award of the Degree
of
BACHELOR OF ENGINEERING
in
MECHATRONICS ENGINEERING
by
MOHAMMED ZAMAN BAYEZID 1118011
NIKHIL GANDHI 1118023
Under the Guidance of
Dr. ROMA RAINA
Asst. Professor - Selection Grade
School of Engineering& IT
SCHOOL OF ENGINEERING & IT
MANIPAL UNIVERSITY, DUBAI
DUBAI INTERNATIONAL ACADEMIC CITY
P.O.BOX : 345050, U.A.E
2015
MANIPAL UNIVERSITY
DUBAI
BACHELORS IN MECHATRONICS ENGINEERING
SCHOOL OF ENGINEERING & IT
CERTIFICATE
This is to certify that the project work titled “HAND GESTURE CONTROLLED
ROBOTIC CAR”
” is a bonafied work of
MOHAMMED ZAMAN BAYEZID 1118011
NIKHIL GANDHI 1118023
Carried out in partial fulfillment of the requirements for awarding the degree of Bachelor of
Engineering in Mechatronics Engineering discipline in MANIPAL University DUBAI
during the academic year 2014-2015.
Chairperson
Project Guide School of Engineering & IT
Examiners:
1. …………………………. ………………………………..
2. ………………………….. ………………………………..
( Name ) ( Signature with date )
AKNOWLEDGEMENT
We take this opportunity to express our sincere gratitude to the people who have been helpful in
the successful completion of our final year project. We would like to show our greatest
appreciation to the highly qualified professors and lab in-charges of Manipal University Dubai.
We are highly indebted to them for the tremendous support and help during the completion of
our project.
Firstly we are grateful to Dr. S. K. PANDEY (Chairperson school of Engineering and IT)for
providing us with an opportunity to do our project and utilize the required resources and for
supporting us in all possible way.
We would like to thank our project guide Dr. ROMA RAINA the for her guidance and constant
encouragement without whom this project wouldn’t have been a success.
We would also like to present our immense gratitude to Mr. MOHAMMED MUNIB who
dedicated his valuable time with us for solving the difficulties in completion of our project.
Our special thanks to all those people who directly or indirectly helped and guided us to
complete our project.
i
DEDICATION
This project is dedicated to our parents who have supported us all the way since the beginning of
our studies.
Also this project is dedicated to all our professors who have been a great source of knowledge,
motivation and inspiration.
Finally, this report is dedicated to all our friends and those had faith in us for the completion of
this project,
And also for our fellow juniors who are fresh minds in this university.
Thank you
ii
ABSTRACT
Now a days in this fast growing industrial or non-industrial age everyone needs speed in
manufacturing to cope up with the customer requirements or another purposes the robot play
important role. The basic objective of our presentation is to develop a versatile concept among
business students. Robots can be used in number of application by changing the program of
controller and the structure is designed in such a way that it is carry to lift light loads but also lift
medium loads. Hand gesture controlled robot (HGCBot) that uses the motion of human hand
wearing a control glove, an opening and closing of each individual finger of the human hand is
been recorded as gestures and be further used by the gesture controlled robot to perform pre-
defined operation. 3D printing technology is used to build and design the HGCBot body Parts.
Ardiuno Uno r3 board is programmed and been used to record hand gesture and control HGCBot
communication between gesture recording gloves and HGCBot is wireless via Xbee S2 using
Xbee shield to interface with arduino board. The servomotor and axel mechanism is used to steer
HGCBot.
During the course of this project, different types of hand gesture control robots have come into
picture. This included controlling a remote control car using accelerometer, using Bluetooth and
using gyroscope to automatically balance the car.
With the help of this project the team has acquired decent knowledge on how to make a robot
with aruino, how to control it wirelessly and how there is always another idea to modify the
robot if the first one didn’t work out properly.
iii
LIST OF TABLES
Table No. Title Page
4.1 Arduino UNO Specification 8
5.1 Specification SG90 15
7.1 Xbee Command Specification 23
76.2 Xbee Command Description 24
iv
LIST OF FIGURES
Fig. Title Page
1.1 Basic block diagram 2
1.2 Overview Block Diagram 2
3.1 Flex Sensor 5
3.2 Flex Sensor Variable Resistance 6
3.3(a) Flex Sensor Circuit 7
3.3(b) Voltage divider circuit 7
4.1 Arduino UNO R3 9
4.2 Arduino UNO Schematic 13
5.1 Servo Motor SG90 14
5.2 Parts of Servo motor 16
5.3(a) Circuit diagram of the servomotor 11 16
5.3(b) Angle positioning depends on the length of the pulse 17
6.1 Glove 19
7.1 Xbee Shield Schematic 21
8.1 Xbee 25
8.2 Xbee Communication 26
8.3 System Data Flow Diagram in a UART‐interfaced environment 27
8.4 UART data packet 0x1F (decimal number ʺ31ʺ) as transmitted through the RF module 27
8.5 Internal Data Flow Diagram 29
8.6 Syntax For Sending AT commands 30
8.7 X‐CTU User Interface (PC Settings, Range Test, Terminal and Modem Configuration tabs 31
9.1 Flex Sensor Circuit 32
9.2 Glove Design 33
9.3 Power Connections to the motors 34
8.4(a) Steering Axel Design 36
8.4(b) Front End Axel mount Design 36
8.4(c) Body Assembly 36
8.5 HGCBot 37
v
ABBREVIATIONS
HGCbot Hand gesture controlled robot
AC Alternating Current
DC Direct Current
EEPROM Electrically Erasable Programmable Read Only
Memory
IDE Integrated Drive Electronics
I/O Input /Output
LED Light Emitting Diode
MISO Master in Slave Out
MOSI Master Out Slave In
PROM Programmable Read Only Memory
PCB Printed Circuit Board
PWM Pulse Width Modulation
REF Reference
RC Radio Controlled
RX Receiver
SCK Serial Clock
SPI Serial Peripheral Interface
SS Slave Select
TTL Transistor To Transistor Logic
TX Transmitter
UART Universal Asynchronous Receiver/Transmitter
USB Universal Serial Bus
VIN Input Voltage
VOUT Output Voltage
vi
CONTENTS
ACKNOWLEDGEMENT.................................................................................... i
DEDICATION...................................................................................................... ii
ABSTRACT......................................................................................................... iii
LIST OF TABLES................................................................................................ iv
LIST OF FIGURES.............................................................................................. v
ABBREVIATIONS.............................................................................................. vi
NO. CHAPTERS PG
1 INTRODUCTION................................................................................ 1
1.1 BACKGROUND............................................................................ 1
1.2 OBJECTIVE.................................................................................... 1
1.3 BASIC BLOCK DIAGRAM.......................................................... 2
1.4 SUBPROJECT................................................................................ 2
1.4.1 OVERVEIW OF THE ENTIRE PROJECT................................. 3
2 LITERATURE...................................................................................... 4
3 FLEX SENSOR..................................................................................... 5
3.1 INTRODUCTION........................................................................... 5
3.2 HOW IT WORKS........................................................................... 5
3.3 FLEX SENSOR CIRCUIT............................................................. 7
3.4 FEATURES..................................................................................... 8
3.5 POSSIBLE USES............................................................................ 8
3.6 APPLICATIONS............................................................................ 8
4 ARDUINO............................................................................................ 9
4.1 Introduction..................................................................................... 9
4.2 OVERVIEW.................................................................................... 9
4.3 SPECIFICATION........................................................................... 10
4.4 POWER........................................................................................... 10
4.5 MEMORY....................................................................................... 11
4.6 INPUT AND OUTPUT................................................................... 11
4.7 COMMUNICATION...................................................................... 12
4.8 USB OVER CURRENT PROTECTION........................................ 12
4.9 PHYSICAL CHARACTERISTICS................................................ 12
6 THE GLOVE........................................................................................ 19
6.1 HISTORY....................................................................................... 19
6.2 WHY USE A GLOVE DEVICE.................................................... 19
6.3 WHAT DO GLOVE DEVICES MEASURE................................. 20
6.4 WORKING PRINCIPLE OF GLOVE............................................ 20
7 XBEE SHIELD..................................................................................... 21
7.1 OVERVIEW.................................................................................... 21
7.2 SCHEMATIC.................................................................................. 21
7.3 JUMPER SETTINGS...................................................................... 22
7.4 ADDRESSING................................................................................ 22
7.5 CONFIGURATION........................................................................ 23
8 XBEE SERIES 2................................................................................... 25
8.1 KEY FEATURES........................................................................... 25
8.2 RF MODULE OPERATIONS........................................................ 26
8.3 MODES OF OPERATIONS........................................................... 29
8.4 SLEEP MODE................................................................................ 31
8.5 XCTU SOFTWARE....................................................................... 31
9 DESIGN DETAIL................................................................................. 32
9.1. DESIGN METHOD....................................................................... 32
9.2 CIRCUIT OF PROJECT................................................................. 33
9.3 PROGRAM FLOWCHART........................................................... 34
9.4 DESIGNING THE BODY USING 3D PRINTER......................... 36
9.5 FINAL OUTPUT............................................................................ 37
9.6 USAGE OF HGCBOT.................................................................... 37
9.7 THE ADVANTAGES OF HGCBOT............................................. 38
10 CONCLUSION AND FUTURE SCOPE............................................. 39
10.1 CONCLUSION............................................................................. 39
10.2 FUTIRE OF HGCBOT................................................................. 39
11 REFERENCES..................................................................................... 41
5 SERVO MOTOR.................................................................................. 14
5.1 INTRODUCTION........................................................................... 14
5.2 INSIDE THE SERVO MOTOR..................................................... 15
5.3 HOW SERVO WORKS.................................................................. 16
5.4 ADVANTAGES AND DISADVANTAGES OF SERVO............
MOTOR
17
5.5 APPLICATIONS............................................................................ 18
CHAPTER 1
INTRODUCTION
Human gestures are undoubtedly natural. They may often prove more efficient and powerful as
compared to various other modes of interaction. The gestures are communicative, meaningful
body motions- i.e. physical movement of the fingers, hands, arms, head, face, or body with the
objective to convey information or interact with the environment. In our work gesture
recognition has been proposed to understand the action of a hand.
To increase the use of robots where conditions are not certain such as firefighting or rescue
operation we can make robots which follows the instruction of human operator and perform the
task, in this way decisions are taken according to the working condition by the operator and task
is performed by the robots. Thus we can use these robots to perform those tasks that may be
harmful for human beings.
1.1 BACKGROUND
The word robot was derived from Czech word Robota which means “a forced labor”. Thus the
robot technology is advancing rapidly. Now a day’s the most commonly used robots in industry
is robotic hand or a robotic manipulator. Robotic hand is basically kinematics chain of rigid links
interconnected by movable joints. The hand is also called end effector. The end effecter may be a
tool or a gripper or any other device to do the work. The end effector is similar to the human
hand with or without fingers.
1.2 OBJECTIVE
The main objective of this project is to design AVR microcontroller based HGCBot controlled
wirelessly by hand gesture. The goal of the project is to design a useful and fully functional real-
world system that efficiently translates the hand gesture into the movement of the 3D printed
HGCBot. This could be also further enhanced in various applications such as robotics,
automation systems, etc. in this project design the robot moves, forward, backward, left, right
1
and stops based on the gesture of the user. The steering of HGCBot is done by using servo
motors.
Key terms: Glove, Flex sensor, microcontroller, Wireless controlling and servo motor.
1.3 BASIC BLOCK DIAGRAM
The user wears a glove with flex sensor the gesture made by the user is sensed by flex sensor and
is given at the microcontroller. This occurs at the transmitter end. The microcontroller processes
these signals and encodes it. These signals are wirelessly transmitted to the receiver end. At the
receiver end, the received signal is decoded in the required form and makes the motors run. The
basic block diagram of the project as shown below fig :( 1.1).
Figure 1.1: Block Diagram
1.4 SUBPROJECT
The block diagram in figure (1.2) presents an overview of the entire project.
Figure 1.2: Overview Block Diagram
Flex sensor
Microcontroller -
Tx
Xbee s2 Wireless
communication
Microcontroller -
Rx
Servo motor &
DC Motors
FLEX
SENSOR 1
FLEX
SENSOR 2
FLEX
SENSOR 3
FLEX
SENSOR 4
ARDUINO BOARDS
INTERFACE WITH THE
GLOVE AND THE
HGCBOT USING XBEE
MODULE.
MOTOR
MOTOR
SERVO
MOTOR
G
L
O
V
E
S
2
1.4.1 OVERVEIW OF THE ENTIRE PROJECT
The project is divided into five major subprojects as follows:
Glove Design
The design and implementation of a sensor-based glove system that can be worn by the
user and comfortably provide stable and accurate control of the robotic hand.
Servo Motor Data Signal Circuits
These circuits take input from the glove sensors and generate appropriate motor control
signals based on those inputs.
Wireless Communication
The HGCBot and gesture device are wirelessly interfaced via Xbee S2 Module in AT
mode.
Sensor Feedback System
Flex sensors are used to provide feedback to the user on alignment, position,
and collision detection.
Arduino Programming
The Arduino uno r3 takes input from the sensor feedback system and generates an
appropriate control signals for automated control of the HGCBot.
3
CHAPTER 2
LITERATURE
[1] Gesture controlled robot through image processing-
This research was referred by the team for making the HGCBOT, a brief information
about this research is, in this research the hand was supposed to be placed at a specific
position in front of camera so that the camera calibrates the hand gestures, but the
calculation for making the robot were complicated and there were a lot of drawback, eg
the hand should always be at a specific distance, sensing the signal on the robot.
In this research the system contains of a webcam which captures the gesture movement,
then it is fed to the hand palm detection software, the commands are detected with this
software through which specific signals are generated, next these signals are sent to the
arduino with the help of Xbee. Then the motors are controlled with the help of L293D
motor driver. The HGCBot is upgraded version of the robot from the research, which
uses sensor embedded gloves to recognize the gestures of your hand.
[2] Accelerometer based gesture recognition robot-
In this system, two dimensional hand gestures are sent via an input device to the
computer's memory and appear on the computer monitor. These symbolic gestures are
identified as editing commands through geometric modeling techniques. Gestures are
represented by a view-based approach, and stored patterns are matched to perceived
gestures using dynamic time warping. View-based vision approaches also permit a wide
range of gestural inputs when compared to the mouse and stylus input devices.
In the HGCBot we overcame the additional component such as accelerometer for the
which required twisting of wrist to sense the motion in order for it to be triggered, HT12E
12 pin encoder, HT12D 12 pin decoder and LCD.
4
CHAPTER 3
FLEX SENSOR
3.1 INTRODUCTION
A simple flex sensor is 2.2" in length. As the sensor is bent, the resistance across the sensor
increases. Flex sensors are sensors that change in resistance depending on the amount of the bend
on the sensor. They are often used in gloves to sense finger movement. Flex sensors are simple
in construction.
The flex sensor shown in fig :2.1 is the unidirectional. Flex sensor is a unique component that
changes resistance when flexed. Flex sensor is bent in one direction the resistance gradually
increases.
3.2. HOW IT WORKS
Flex sensors are analogue resistors, they works as variable analogue voltage divider. Inside the
flex sensors are carbon resistive elements within a thin flexible substrate. More carbon means
less resistance, when the substrate is bent the sensor produces a resistance output relative to the
bent radius. The higher the resistance value yielding smaller radius.
Figure 3.1: Flex Sensor
5
Working of Flex sensor
The nominal resistance at 0 degree is 10kΩ, at the bent of 45 degree the resistance will be
increased. At 90 degrees will give 30-40 K ohms. The Bend Sensor lists resistance of 30-250 K
ohms and if the flex sensor is further bent the resistance will be further increased.
The flex sensor operating temperature is -45F to 125F. The Flex point Bend Sensor is somewhat
different from the simple flex sensors. It has a much bigger range of resistance.
Working of Flex sensor
The nominal resistance at 0 degree is 10kΩ, at the bent of 45 degree the resistance will be
increased. At 90 degrees will give 30-40 K ohms as shown below fig. The Bend Sensor lists
resistance of 30-250 K ohms and if the flex sensor is further bent the resistance will be further
increased.
The flex sensor operating temperature is -45F to 125F. The Flex point Bend Sensor is somewhat
different from the simple flex sensors. It has a much bigger range of resistance.
Figure 3.2: FLEX SENSOR VARIABLE RESISTANCE
6
3.3. FLEX SENSOR CIRCUIT
𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 = 𝑣𝑣𝑖𝑖𝑖𝑖(
𝑅𝑅1
𝑅𝑅1 + 𝑅𝑅2
)
PURPOSE OF VOLTAGE DIVIDER IN FLEX SENSOR
The flex sensor changes its resistance when flexed so we can measure that change using one
of the Arduino’s analogue pins. But to do that we need a fixed resistor (not changing) that
we can use for that comparison (We are using a 10K resistor). This is called a voltage
divider and divides the 5V between the flex sensor and the resistor.
Figure 3.3(a): FLEX SENSOR CIRCUIT
Figure 3.2(b): Voltage divider circuit
7
3.4. FEATURES
1. Angle displacement measurement.
2. Bends and flexes physically with motion device.
3. Helps to provide more accurate data.
3.5. POSSIBLE USES
1. Robotics
2. Gaming (Virtual Motion)
3. Medical devices
4. Computer peripherals
5. Musical instrument.
3.6 APPLICATIONS
Flex sensors may be used in robotics to determine joint movement or placement. They may also
be used like whiskers for wall detection. The sensors we are making are also pressure sensitive
so they can also be used as bumper switches for wall detection or pressure switches on robotic
grippers. For bio-metrics, the sensor can be placed on a moving joint of athletic equipment to
provide an electrical indication of movement or placement. A few of the sensors can be
incorporated onto a glove to make virtual reality glove.
8
CHAP4TER 4
ARDUINO
4.1 Introduction
The only Uno is the latest version after the duemilanove, with an improved USB interface chip.
Like the Duemilanove , it not only has an expended shield header with a 3.3V reference and a
RESET pin(which solves the problem of how to get to the RESET pin in shield) and a 500𝑚𝑚𝑚𝑚
fuse to protect your computer’s USB port, but also an automatic circuit to select USB or DC
power without a jumper. The Uno is pin and code compatible with the duemilanove, diecimilla
and older Arduino’s your entire shield, libraries, code will still work. The new R3 (3rdrevision)
of the UNO has a few minor updates, with an upgrade to the USB interface chip and additional
breakouts for the i2c pins and an I/ORef pin.
4.2 OVERVIEW
Arduino is an open source electronics prototyping platform based on flexible, easy to use
hardware and software. It’s intended for artist, designers, hobbyists, and anyone interested in
creating interactive object or environment as shown in fig:(4.1).
The Arduino can sense the environment by receiving input from a variety of sensor and can
affect its surroundings by controlling lights, motors, and other actuators. The microcontroller on
the board is programmed using the Arduino UNO programming language (based on wiring) and
Figure 4.1: Arduino UNO R3
9
the Arduino development environment (based on processing). Arduino projects can be stand-
alone or they can communicate with software running on a computer.
4.3. Specification
Table 4.1: Arduino Specification
Arduin UNO R3
Microcontroller ATmega328
Operating Voltage 5V
InputVoltage
(recommended)
7-12V
Input Voltage (limits) 6-20V
Digital I/O Pins 14 (of which 6 provide PWM output)
Analog Input Pins 6
DC Current per I/O Pin 40Ma
DC Current for 3.3V Pin 50mA
Flash Memory
32 KB (ATmega328) of which 0.5 KB used by
bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Clock Speed 16 MHz
4.4 POWER
The Arduino Uno can be powered via the USB connection or with an external power supply. The
power source is selected automatically.
10
External (non-USB) power can come either from an AC-to-DC adapter battery. The adapter can
be connected by plugging a 2.1mm center-positive plug into the board's power jack. Leads from
a battery can be inserted in the Ground and VIN pin headers of the power connector.
4.5 MEMORY
The ATmega328 has 32 KB (with 0.5 KB used for the boot loader). It also has 2 KB of SRAM
and 1 KB of EEPROM (which can be read and written with the EEPROM library).
4.6 INPUT AND OUTPUT
Each of the 14 digital pins on the Uno can be used as an input or output, using pin mode(), digital
Write, and digital Read () functions. They operate at 5 volts. Each pin can provide or receive a
maximum of 40mA and has an internal pull-up resistor (disconnected by default) of 20-50 ohms.
In addition, some pins have specialized functions:
Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data. These pins
are connected to the corresponding pins of the ATmega8U2 USB-to-TTL Serial chip.
External Interrupts: 2 and 3. These pins can be configured to trigger an interrupt on a low
value, a rising or falling edge, or a change in value. See the attach Interrupt () function for details
.
PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analog Write() function.
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). These pins support SPI communication using
the SPI library.
LED: 13. There is a built-in LED connected to digital pin 13. When the pin is HIGH value, the
LED is on, when the pin is LOW, it's off.
The Uno has 6 analog inputs, labeled A0 through A5, each of which provide 10 bits of resolution
(i.e. 1024 different values). By default they measure from ground to 5 volts, though is it possible
to change the upper end of their range using the AREF pin and the analog Reference () function.
Additionally, some pins have specialized functionality.
11
AREF. Reference voltage for the analog inputs. Used with ref ().Reset Bring this line LOW to
reset the microcontroller. Typically used to add a reset button to shield which block the one on
the board.
4.7 COMMUNICATION
The Arduino Uno has a number of facilities for communicating with a computer, another
Arduino, or other microcontrollers. The ATmega328 provides UART TTL (5V) serial
communication, which is available on digital pins 0 (RX) and 1 (TX).
An ATmega16U2 on the board channels this serial communication over USB and appears as a
virtual com port to software on the computer. The '16U2 firmware uses the standard USB COM
drivers, and no external driver is needed. However, on Windows, a .inf file is required. The
Arduino software includes a serial monitor which allows simple textual data to be sent to and
from the Arduino board. The RX and TX LEDs on the board will flash when data is being
transmitted via the USB-to-serial chip and USB connection to the computer (but not for serial
communication on pins 0 and 1).A Software Serial library allows for serial communication on
any of the Uno's digital pins.The ATmega328 also supports I2C (TWI) and SPI communication.
The Arduino software includes a Wire library to simplify use of the I2C bus.
4.8 USB OVER CURRENT PROTECTION
The Arduino Uno has a resettable poly-fuse that protects your computer's USB ports from shorts
and over current. Although most computers provide their own internal protection, the fuse
provides an extra layer of protection. If more than 500mA is applied to the USB port, the fuse
will automatically break the connection until the short or overload is removed.
4.9 PHYSICAL CHARACTERISTICS
The maximum length and width of the Uno PCB are 2.7 and 2.1 inches respectively, with the
USB connector and power jack extending beyond the former dimension. Four screw holes allow
12
the board to be attached to a surface or case. Note that the distance between digital pins 7 and 8
is 160mil (0.16"), not an even multiple of the 100mil spacing of the other pins.
Figure4.2: Arduino Schematic
13
CHAPTER 5
SERVO MOTOR
5.1 INTRODUCTION
Servo refers to an error sensing feedback control which is used to correct the performance of a
system. A servo motor consists of three major parts: a motor, control board, and potentiometer
(variable resistor) connected to output shaft. The motor utilizes a set of gears to rotate the
potentiometer and the output shaft at the same time. The potentiometer, which controls the angle
of the servo motor, allows the control circuitry to monitor the current angle of the servo motor.
The motor, through a series of gears, turns the output shaft and the potentiometer simultaneously.
The potentiometer is fed into the servo control circuit and when the control circuit detects that
the position is correct, it stops the servo motor. If the control circuit detects that the angle is not
correct, it will turn the servo motor in the right direction until the angle is correct. Servo or RC
Servo Motors are DC motors equipped with a servo mechanism for precise control of angular
position. The RC servo motors usually have a rotation limit from 90° to 180°. But servos do not
rotate continually. Their rotation is restricted in between the fixed angles. Servo motors is shown
in fig :( 4.1).
Figure 5.1: Servo Motor SG 90
14
Servo motor
Servo motors have been around for a long time and are utilized in many applications. Tiny and
lightweight with high output power. Servo can rotate approximately 180 degrees(90 in each
direction), and works just like the standard kinds but smaller. You can use any servo code,
hardware or library to control these servos. Good for beginners who want to make stuff move
without building a motor controller with feedback & gear box, especially since it will fit in small
places. It comes with a 3 horns (arms) and hardware. Servo motors are used in industrial
applications. Servos are extremely useful in robotics and automation. Servo motors are used
across various automation fields specifically where the motor must be able to operate at a range
of speeds without overheating, operate at zero speed while being able to retain its load in a set
position, as well as operate at low speeds. The aerospace industry makes use of servo motors in
their hydraulic systems to contain system hydraulic fluid. The servo motor is relatively small in
size, yet very powerful.
Table 5.1: Specification SG90
4.2 INSIDE THE SERVO MOTOR
To fully understand how the servo works, you need to take a look under the hood. Inside there is
a pretty simple set-up a small DC motor, potentiometer and a control circuit. The motor is
attached by gears to the control wheel. As the motor rotates, the potentiometer's resistance
changes, so the control circuit can precisely regulate how much movement there is and in which
direction it is. When the shaft of the motor is at the desired position, power supplied to the motor
is stopped. If not, the motor is turned in the appropriate direction. The desired position is sent via
electrical pulses through the signal wire. The motor's speed is proportional to the difference
SERVO MOTOR SG 90 SPECIFICATIONS
Weight 9 g
Dimension 22.2 x 11.8 x 31 mm approx.
Stall torque 1.8 kgf·cm
Operating speed 0.1 s/60 degree
Operating voltage 4.8 V (~5V)
Dead band width 10 µs
Temperature range 0 ºC – 55 ºC
15
between its actual position and desired position. So if the motor is near the desired position, it
will turn slowly, otherwise it will turn fast. This is called proportional control. The internal
construction of servo is shown in fig :(4.2).
5.3 HOW SERVO WORKS
Fig:(4.3 a ) shows the circuit diagram of the servomotor built out of five resistors and a
capacitor, aided by a transistor and Fig:(4.b b) shows the angle positioning. The power and
control are given as input to this circuit.
Figure 5.2: Parts of Servo Motor
Figure 3.3(a): Circuit diagram of the servomotor
16
5.4 ADVANTAGES AND DISADVANTAGES OF SERVO MOTOR
There are so many advantages and disadvantages, some of them are mentioned below.
• High speed and high torque is needed
• Servo motors also maintain their torque rating at high speed, up to 90% of the rated
torque is available from a servo at high speed.
• Servo motors are quite, available in AC and DC drive, and do not vibrate or suffer from
resonance issues.
• Servo motors usually have a small size.
• Servo motors have a large angular force (torque) comparing to their size.
• Servo motors operate in a closed loop, and therefore are very accurate.
• Servo motors are electrically efficient.
• Servo motors are capable of delivering more power than stepper.
• Servo motors are also much more expensive than stepper motor.
• Servo motors often require gear boxes, especially for lower speed operation.
• The requirement for a gearbox and position encoder make servo motor designs more
mechanically complex and increase the maintenance requirements for the system.
Figure 5.3(b) :Angle positioning depends on the length of the pulse
17
5.5 APPLICATIONS
Servos are extremely useful in robotics and automation. Servo motors are used across various
automation fields specifically where the motor must be able to operate at a range of speeds
without overheating, operate at zero speed while being able to retain its load in a set position, as
well as operate at low speeds. Robots utilize servo motors because of their smooth commutation
and accurate positioning. The aerospace industry makes use of servo motors in their hydraulic
systems to contain system hydraulic fluid. The servo motor is relatively small in size, yet very
powerful. The Servos are used for precision positioning. They are used in robotic arms and legs,
sensor scanners and in RC toys like RC helicopter, airplanes and cars. Servo motors are small,
have built-in control circuitry and have good power for their size.
18
CHAPTER 6
THE GLOVE
6.1 HISTORY
First glove like device (cloth) onto which numerous touches bend and inertial sensors were sewn.
Measured flexure, hand orientation and wrist-position, and hand tactile sensors are at fingertips.
Orientation of hand tracked by video camera required clear line of sight observation for the glove
to function. Finger flex sensors, tactile sensor at the fingertips, orientation sensing and wrist
positioning sensors, position of sensors were changeable.
6.2 WHY USE A GLOVE DEVICE
Traditional data input device have a limited range of the amount of data they can input at a given
time because they are limited to one, two or three degrees of freedom. Degrees of freedom are
measure of the number of position of which the device can be read as inputting a different data
values.
Gloves offer for superior data input potential since they provide multiple degrees of freedom for
each finger and the hand as a whole. By taking orientation of fingers and relative position of
hand, glove devices can track an enormous variety of gestures each of which corresponds to a
different type of data entry. This gives the glove remarkably rich expressive power, which can be
used in the inputting of extremely complicated data.
Figure 6.1: Glove
19
6.3 WHAT DO GLOVE DEVICES MEASURE
Measure finger flexure and hand orientation, to a greater are lesser extent. Each type of glove
measure either four or five fingers (the pinky finger is sometimes excluded) for the degree of
flexure, measurement range from the fingers being extended straight in the line with the palm, to
being curled up against the palm as in making a first.Glove can track hand orientation by
measuring roll, pitch and yaw or position of the hand as a whole.
6.4 WORKING PRINCIPLE OF GLOVE
All data glove devices track the orientation of the hand and fingers using either fiber optics,
ultrasonic, magnetic, electrical resistance or some combination of these methods. However any
glove device feed data about hand and finger positions to a tracker, a piece of equipment that
process the data so that it can be understood by the computer. The computer then matches the
orientation to a file of gestures and fires an event corresponding to the matching gestures.
20
CHAPTER 7
XBEE SHIELD
7.1 OVERVIEW
The Xbee shield allows an Arduino board to communicate wirelessly using Zigbee. The module
can communicate up to 100 feet indoors or 300 feet outdoors (with line-of-sight). It can be used
as a serial/usb replacement or you can put it into a command mode and configure it for a variety
of broadcast and mesh networking options. The shields breaks out each of the Xbee's pins to a
through-hole solder pad. It also provides female pin headers for use of digital pins 2 to 7 and the
analog inputs, which are covered by the shield (digital pins 8 to 13 are not obstructed by the
shield, so you can use the headers on the board itself).
7.2 SCHEMATIC
Figure7.1: XBEE Shield Schematic
21
7.3 Jumper Settings
The Xbee shield has two jumpers (the small removable plastic sleeves that each fit onto two of
the three pins labeled Xbee/USB). These determine how the Xbee's serial communication
connects to the serial communication between the microcontroller (ATmega8 or ATmega168)
and FTDI USB-to-serial chip on the Arduino board.
With the jumpers in the Xbee position (i.e. on the two pins towards the interior of the board), the
DOUT pin of the Xbee module is connected to the RX pin of the microcontroller; and DIN is
connected to TX. Note that the RX and TX pins of the microcontroller are still connected to the
TX and RX pins (respectively) of the FTDI chip - data sent from the microcontroller will be
transmitted to the computer via USB as well as being sent wirelessly by the Xbee module. The
microcontroller, however, will only be able to receive data from the Xbee module, not over USB
from the computer.
With the jumpers in the USB position (i.e. on the two pins nearest the edge of the board), the
DOUT pin the Xbee module is connected to the RX pin of the FTDI chip, and DIN on the Xbee
module is connected to the TX pin of the FTDI chip. This means that the Xbee module can
communicate directly with the computer - however, this only works if the microcontroller has
been removed from the Arduino board. If the microcontroller is left in the Arduino board, it will
be able to talk to the computer normally via USB, but neither the computer nor the
microcontroller will be able to talk to the Xbee module.
7.4 Addressing
There are multiple parameters that need to be configured correctly for two modules to talk to
each other (although with the default settings, all modules should be able to talk to each other).
They need to be on the same network, as set by the ID parameter (see "Configuration" below for
more details on the parameters). The modules need to be on the same channel, as set by
the CH parameter. Finally, a module's destination address (DH and DL parameters) determine
which modules on its network and channel will receive the data it transmits. This can happen in a
few ways:
If a module's DH is 0 and its DL is less than 0xFFFF (i.e. 16 bits), data transmitted by that
module will be received by any module whose 16-bit address MY parameter equals DL.
22
If DH is 0 and DL equals 0xFFFF, the module's transmissions will be received by all modules.
If DH is non-zero or DL is greater than 0xFFFF, the transmission will only be received by the
module whose serial number equals the transmitting module's destination address (i.e.
whose SH equals the transmitting module's DH and whose SL equals its DL).
Again, this address matching will only happen between modules on the same network and
channel. If two modules are on different networks or channels, they can't communicate
regardless of their addresses.
7.5 CONFIGURATION
Here are some of the more useful parameters for configuring your Xbee module. Make sure to
prepend AT to the parameter name when sending a command to the module (e.g. to read
the ID parameter, you should send the command ATID).
Table 7.1: Xbee Command Specification
Command Description Valid Values Default Value
ID The network ID of the Xbee module. 0 - 0xFFFF 3332
CH The channel of the Xbee module. 0x0B - 0x1A 0X0C
SH and SL The serial number of the Xbee module
(SH gives the high 32 bits, SL the low
32 bits). Read-only.
0 - 0xFFFFFFFF
(for
both SH and SL)
different for each
module
MY The 16-bit address of the module. 0 - 0xFFFF 0
DH and DL The destination address for wireless
communication (DH is the high 32
bits, DL the low 32).
0 - 0xFFFFFFFF
(for
both DH and DL)
0 (for
both DH and DL)
BD The baud rate used for serial
communication with the Arduino board
or computer.
0 (1200 bps)
1 (2400 bps)
2 (4800 bps)
3 (9600 bps)
4 (19200 bps)
5 (38400 bps)
6 (57600 bps)
7 (115200 bps)
3 (9600 baud)
23
Note: although the valid and default values in the table above are written with a prefix of "0x" (to
indicate that they are hexadecimal numbers), the module will not include the "0x" when
reporting the value of a parameter, and you should omit it when setting values.
Here are a couple more useful commands for configuring the Xbee module (you'll need to
prepend AT to these too).
Table 7.2: Command description
Command Description
RE Restore factory default settings (note that like
parameter changes, this is not permanent unless
followed by the WRcommand).
WR Write newly configured parameter values to
non-volatile (long-term) storage. Otherwise,
they will only last until the module loses power.
CN Exit command mode now. (If you don't send
any commands to the module for a few seconds,
command mode will timeout and exit even
without a CN command.)
24
CHAPTER 8
XBee Series 2
The XBee Series 2 OEM RF Modules were engineered to operate within the ZigBee protocol
and support the unique needs of low-cost, low-power wireless sensor networks. The modules
require minimal power and provide reliable delivery of data between remote devices.
The modules operate within the ISM 2.4 GHz frequency band.
8.1 Key Features
High Performance, Low Cost
• Indoor/Urban: up to 133’ (40 m)
• Outdoor line-of-sight: up to 400’ (120 m)
• Outdoor line-of-sight: up to 400’ (120 m)
• Receiver Sensitivity: -95 dBm RF Data Rate: 250,000 bps
High Performance, Low Cost
• Indoor/Urban: up to 133’ (40 m)
• Outdoor line-of-sight: up to 400’ (120 m)
• Outdoor line-of-sight: up to 400’ (120 m)
• Receiver Sensitivity: -95 dBm RF Data Rate: 250,000 bps
Figure 8.1: XBEE
25
Advanced Networking & Security
• Retries and Acknowledgements
• DSSS (Direct Sequence Spread Spectrum) Each direct sequence channel has over
65,000 unique network addresses available.
• Point-to-point,point-to-multipoint and peer-to-peer topologies supported.
• Self-routing, self-healing and fault-tolerant mesh networking.
Easy-to-Use
• No configuration necessary for out-of box RF communications
• AT and API Command Modes for configuring module parameters
• Small form factor Extensive command set Free X-CTU Software (Testing and
configuration software)
8.2 RF Module Operation
o Serial Communications
The XBee Series 2 OEM RF Modules interface to a host device through a logic-
level asynchronous serial port. Through its serial port, the module can
Figure 8.2: Xbee Communication
26
communicate with any logic and voltage compatible UART; or through a level
translator to any serial
UART Data Flow
Devices that have a UART interface can connect directly to the pins of the RF
module as shown in the figure below.
 Serial Data
• Data enters the module UART through the DIN (pin 3) as an asynchronous serial signal.
The signal should idle high when no data is being transmitted.
• Each data byte consists of a start bit (low), 8 data bits (least significant bit first) and a stop
bit (high). The following figure illustrates the serial bit pattern of data passing through the
module.
• The module UART performs tasks, such as timing and parity checking, that are needed for
data communications. Serial communications depend on the two UARTs to be configured
with compatible settings (baud rate, parity, start bits, stop bits, data bits).
Figure 8.3: System Data Flow Diagram in a UART‐interfaced environment
Figure 8.4: UART data packet 0x1F (decimal number ʺ31ʺ) as
transmitted through the RF module
27
 Serial Buffers
• The XBee Series 2 modules maintain small buffers to collect received serial and RF data.
The serial receive buffer collects incoming serial characters and holds them until they can
be processed. The serial transmit buffer collects data that is received via the RF link that
will be transmitted out the UART.
 Serial Receive Buffers
• When serial data enters the RF module through the DIN Pin (3 pin), the data is stored in the
serial receive buffer until it can be processed.
o Hardware Flow Control (CTS)
When serial receive buffer is 17 bytes away from being full, by default, the module de-
asserts CTS (high) to signal the host device to stop sending data. CTS is re-asserted after
the serial buffer has 34 bytes of memory available. If the module is receiving a
continuous stream of RF data, any serial data that arrives on the DIN pin is placed in the
serial receive buffer. The data in the serial receive buffer will be transmitted over-the-air
when the module is no longer receiving RF data in the network. When data is ready to be
transmitted, the module may need to discover a Network Address and/or a Route in order
to reach the destination node. Discovery overhead may delay packet transmission. When
RF data is received, the data is moved into the serial transmit buffer and is sent out the
serial port. If the serial transmit buffer becomes full enough such that all data in a received
RF packet won’t fit in the serial transmit buffer, the entire RF data packet is dropped.
o Hardware Flow control (RTS)
If RTS is enabled flow control, data will not be sent out the serial transmit buffer as long
as RTS (pin-16) is de-asserteed. If the RF data rate is set higher than the interface data rate
of the module, the module could receive data faster than it can send the data to the host. If
the host does not allow the module to transmit data out from the serial transmit buffer
because of being held off by hardware flow control.
28
Figure 8.5: Internal Data Flow Diagram
8.3 Modes of Operation
o Idle Mode
 When not receiving or transmitting data, the RF module is in Idle Mode. During Idle
Mode, the RF module is also checking for valid RF data. The module shifts into the
other modes of operation under the following conditions:
 Transmit Mode (Serial data in the serial receive buffer is ready to be packetized)
 Receive Mode (Valid RF data is received through the antenna)
 Sleep Mode (End Devices only)
 Command Mode (Command Mode Sequence is issued)
o AT Command Mode
To Enter AT Command Mode:
 Send the 3-character command sequence “+++” and observe guard times before and
after the command characters.
 Default AT Command Mode Sequence (for transition to Command Mode):
 No characters sent for one second [GT (Guard Times) parameter = 0x3E8]
 Input three plus characters (“+++”) within one second [CC (Command Sequence
Character) parameter = 0x2B.]
 No characters sent for one second [GT (Guard Times) parameter = 0x3E8]
29
 All of the parameter values in the sequence can be modified to reflect user
preferences.
NOTE: Failure to enter AT Command Mode is most commonly due to baud rate mismatch.
Ensure the ‘Baud’ setting on the “PC Settings” tab matches the interface data rate of the RF
module. By default, the BD parameter = 3 (9600 bps).
To Send AT Commands:
Send AT commands and parameters using the syntax shown below.
To read a parameter value stored in the RF module’s register, omit the parameter field. The
preceding example would change the RF module Destination Address (Low) to “0x1F”. To
store the new value to non-volatile (long term) memory, subsequently send the WR (Write)
command.
For modified parameter values to persist in the module’s registry after a reset, changes must
be saved to non-volatile memory using the WR (Write) Command. Otherwise, parameters are
restored to previously saved values after the module is reset.
System Response.
When a command is sent to the module, the module will parse and execute the command.
Upon successful execution of a command, the module returns an “OK” message. If execution
of a command results in an error, the module returns an “ERROR” message.
To Exit AT Command Mode:
Send the ATCN (Exit Command Mode) command (followed by a carriage return). [OR]
If no valid AT Commands are received within the time specified by CT (Command Mode
Timeout) Command, the RF module automatically returns to Idle Mode.
Figure 8.6: Syntax for sending AT Commands
30
8.4 Sleep Mode
Sleep modes are supported on end devices only. Router and coordinator devices participate in
routing data packets and are intended to be mains powered. End devices must be joined to a
parent (router or coordinator) before they can participate on a ZigBee network. The parent
device does not track when an end device is awake or asleep. Instead, the end device must
inform the parent when it is able to receive data. The parent must be able to buffer incoming
data packets destined for the end device until the end device can awake and receive the data.
When an end device is able to receive data, it sends a poll command to the parent. When the
parent router or coordinator receives the poll command, it will transmit any buffered data
packets for the end device. Routers and coordinators are capable of buffering one broadcast
transmission for sleeping end device children. The SM, ST, SP, and SN commands are used to
configure sleep mode operation.
8.5 CTU Software
CTU is a software program used to interface with and configure RF Modules. The software
application is organized into the following four tabs:
• PC Settings tab - Setup PC serial ports for interfacing with an RF module
• Range Test tab - Test the RF module's range and monitor packets sent and received
• Terminal tab - Set and read RF module parameters using AT Commands
• Modem Configuration tab - Set and read RF module parameters
Figure 8.7: X‐CTU User Interface (PC Settings, Range Test, Terminal and Modem Configuration tabs
31
CHAPTER 9
DESIGN DETAIL
9.1. DESIGN METHOD
The basic components of the glove are the hand itself, the Xbees S2 module, the Arduino, the
glove and the flex sensors. The glove is mounted with flex sensors variable resistors that change
their value when bent they’re attached to one side of voltage divider with resistor of a constant
value on the other side. The Arduino reads the voltage change when the sensors are bent, and
triggers the servo motor and DC motor to move a proportional amount.
9.1.1 Making flex sensor circuit
Circuit design
The flex sensors require a circuit in order for them to be compatible with Arduino. It's a voltage
divider: the flex sensors are variable resistors, and when paired with resistors of a static value,
change in resistance (in this case bending the sensor) can be sensed through the change in
voltage between the resistors. This can be measured by the Arduino through its analog inputs.
The schematic is attached (red is positive voltage, black is negative, and blue goes to the
Figure 9.1: Flex sensor circuit
32
Arduino). The resistors in the photo are 10KΩ. I color-coded the wires I used in the same way as
the schematic, so you can see more easily in figure (8.1).
The main GND wire is connected to all the individual GND wires from the sensors gets plugged
into the Arduino’s GND. The +5V from wire, and each black wire gets plugged into a separate
analog input pin.
9.1.2 SEW THE GLOVE
9.2 CIRCUIT OF PROJECT
In our project we have used 5V for Arduino - Tx and same current used from Arduino - Tx to
flex sensors. For Servo Motors we used extra Power from battery then we used circuit to connect
Sensors and Motors to Arduino. Circuit is designed in a very compact manner, so that no or less
wires are used and shown with 100% portability.
First of all we connected 5V from regulating IC LM7308 and passed it through resistor of 10k
and then attached analog Signal Sender wire on one side connected to flex sensor and on other
Figure 8.2: Glove Design
33
side ground. In similar way, all 4 sensors are connected to Arduino. Analogue Reading is
attached from pins A1 - A4 with each of 4 sensors.
Servo Motor is then attached to power and ground through battery and Digital signal wire is
connected to digital pin 9 of Arduino - Rx.
DC motor is used for forward and reverse moment of HGCBot controlled with H-bridge IC
L293D connected to Pins 3&4 of the Arduino - Rx.
Xbee S2 modules is used with Xbee shield to interface Arduino - Tx and Arduino - Rx.
Flex Sensors send analog input to Arduino - Tx then Xbee S2 modules is used to send signal
from Arduino - Rx to Arduino -Tx which converts them to digital reading and sends these
readings to digital pins which make Servo Motor and DC motor via H-bride to move as per the
gesture performed.
9.3 Program Flowchart
Figure 8.3: Power connections to the motors
34
START
Initialize the XBEE S2 Module,
Set Router - AT mode,
Initialize Variable: char Input.
Read Input from the
GLOVES, Store
value to Input’
Compare the Input Value with the
Predefined case value: case-i,
case-ii, case-iii…
Send case return to XBEE S2
Send the Return
value to XBEE
Coordinator
Break the case!!
Clear char Input = 0,
Check for new Input…
Initialize the XBEE S2 Module,
Set Coordinator - AT mode
Initialize Variable: char Input.
Receive the value
from XBEE
Coordinator
Compare the Received Input
reading with the Predefined cases.
case-i, case-ii, case-iii…
Perform the relative
operation!!
Break the case!!
Check for new Input…
Store value to ‘Input’
Hand
Gesture
35
9.4 DESIGNING THE BODY USING 3D PRINTER
The body of the HGCBOT was designed using 3-D software’s solid work and inventors.
It was really tricky to design a body for the BOT because it was hard to figure out what the servo
motor can help us in the robot. Second tricky part was mounting the module on the car.
Calculations were needed to make the 3-D printed car strong enough to carry the weight of the
module.
Figure 9.4:(a) Steering Axel Design
Figure 9.4:(b) Front End Axel Mount Design
Figure 9.4(c): Body Assembly
36
Even after the assembly, the car body had to balance the weight of the car.
9.5 FINAL OUTPUT
9.6 USAGE OF HGCBOT
HGCBOT can be used in various places such as industry, military and hospitals.
As we see today all the industries are developing and growing at a very fast rate, what are project
can do u is help grow with the industry, regardless of which industry it is.
The HGCBOT a delivery robot which can help reduce the cost of transportation within a factory.
Growing need for goods increases the need for production of goods and for this on time delivery
in the same factory is required so that the product can continuously move forward towards its
final body or design.
A HGCBOT can do is it can revolutionize the way in-factory transport works. The HGCBOT
will act as an engine of the train, all the goods or parts can be attached to the HGCBOT, now a
person can control the delivery of the good by his own hands and can go off route to deliver also
(since AGVs cannot do that).
Figure 9.5: HGCBot
37
This robot has no desired path, which every direction the user wants to take it, it will go that
way.
The HGCBOT uses the motion of human hand wearing a control glove, an opening and closing
of each individual finger of the human hand is been recorded as gestures and be further used by
the gesture controlled robot to perform pre-defined operation.
The HGCBOT can be used in military and hospitals in future.
9.7 THE ADVANTAGES OF HGCBOT
The HGCBOT is:
• Easy to control-
• Cost efficient
• User friendly
• Long range
• Speed control
• Energy efficient
• Simple design
38
CHAPTER 10
CONCLUSION AND FUTURE SCOPE
10.1 CONCLUSION
Hand gesture control is a developing technology in 21st
century. The HGC is being developed
and used in various technologies to make day to day life easy. This technology is being used in
various fields and still in R&D.
HGCBOT is one of the examples of what can be achieved with the help of HGC and how it can
be useful for both industrial as well as household use. The HGCBOT can be used on various
platforms to reduce cost and make work simpler and fun. The main objective of HGCBOT is to
help industries, military and hospitals grow and make transportation of commodities simpler as
well as removing any human casualties.
The vision of the HGCBOT team was to help others grow. So we developed a prototype to show
how actually this technology will work and what are its advantages in the life of other fields
irrespective to what it is.
The main advantage of this project is our HGCBOT provides other individuals a base prototype
which they can modify and make new and field specific applications. This bot is a ground for all
the new inventions in hand gesture controlled moving applications.
10.2 FUTURE OF HGCBOT
This robot has a bright future in all the 3 fields mentioned before namely industries, military and
hospitals.
In future the robot can be used on war sights for the delivery of food, arms, etc, but the best part
is it will be controlled by human being so chances of error are less.
This robot can be used in hospitals for various purposes, like delivery of medicines on time to the
patients, while the nurse is sitting in her cabin.
Attaching a wireless camera to this HGCBOT can make it useful in additional field such as
spying, enhanced remote control for industry delivery systems.
39
In the future with the help of mapping technology and addition of few more sensors this robot
can do wonders.
It provides fresh individuals a platform and an idea of how hand gesture control works, new
individuals can modify the existing HGCBOT and make it into any fields oriented robot. This
bot is the ground of all the other motion control through hand gesture in the future, it can be
made into a forklift, a delivery machine, automated wheel chair, automatic parking system,
automatic grenade throwing machine, etc.
40
REFRENCES
1. www.sparkfun.com
2. www.slideshare.com
3. www.ciruictsathome.com
4. www.instructable.com
5. www.engineergaurage.com
6. www.servocity.com
7. www.hitec.com
8. www.microchips.com
9. www.wikipedia.com
10. www.definition.com
11. www.answer.com
12. www.google.com
13. www.societyofrobot.com
14. www.arduino.cc
15. www.buildtronics.com
[1] Harish Kumar Kaura, Vipul Honrao, Sayali Patil, Pravish Shetty
"Gesture Controlled Robot using Image Processing". (IJARAI) International Journal of
Advanced Research in Artificial Intelligence. Vol. 2, No. 5, 2013
[2] Prashant Sahu, Shubhank Mishra, Vaibhav Mishra, Electronics & communication
Engineeing, RGTU Bhopal - "Accelerometer based gesture recognition robot". Control
Theory and Informatics. ISSN 2224-5774 (Paper) ISSN 2225-0492 (Online) Vol.4, No.1,
2014
41

Contenu connexe

Tendances

Gesture Control Robot using Arduino
Gesture Control Robot using ArduinoGesture Control Robot using Arduino
Gesture Control Robot using Arduinoijtsrd
 
Wireless gesture Controlled Robot
Wireless gesture Controlled RobotWireless gesture Controlled Robot
Wireless gesture Controlled RobotVIBEK MAURYA
 
Accelerometer controlled robot
Accelerometer controlled robotAccelerometer controlled robot
Accelerometer controlled robotMohit Keshav
 
Hand movement controlled robotic vehicle
Hand movement controlled robotic vehicleHand movement controlled robotic vehicle
Hand movement controlled robotic vehicleMayank sankhla
 
Hand Gesture controlled Robotic Arm | Android | Arduino
Hand Gesture controlled Robotic Arm  | Android | ArduinoHand Gesture controlled Robotic Arm  | Android | Arduino
Hand Gesture controlled Robotic Arm | Android | ArduinoParvez Hafeez
 
MOBILE CONTROLLED ROBOTIC ARM USING ARDUINO AND HC-06
MOBILE CONTROLLED ROBOTIC ARM USING ARDUINO AND HC-06MOBILE CONTROLLED ROBOTIC ARM USING ARDUINO AND HC-06
MOBILE CONTROLLED ROBOTIC ARM USING ARDUINO AND HC-06Eklavya Sharma
 
Gesture Controlled Robot
Gesture Controlled RobotGesture Controlled Robot
Gesture Controlled RobotSujit Singh
 
Gesture controlling of Robots
Gesture controlling of Robots Gesture controlling of Robots
Gesture controlling of Robots Jibin Poulose
 
Gesture control robot
Gesture control robotGesture control robot
Gesture control robotSujit Singh
 
accelerometer based gesture controlled robotic arm
accelerometer based gesture controlled robotic arm accelerometer based gesture controlled robotic arm
accelerometer based gesture controlled robotic arm Padmakar Mangrule
 
GESTURE BASED WIRELESS SHADOW ROBOT !
GESTURE BASED WIRELESS SHADOW ROBOT !GESTURE BASED WIRELESS SHADOW ROBOT !
GESTURE BASED WIRELESS SHADOW ROBOT !Sharif Raihan Kabir
 
Gesture controled robot
Gesture controled robotGesture controled robot
Gesture controled robotRinil N
 
Android Operated Wireless Robot Using 8051 MCU
Android Operated Wireless Robot Using 8051 MCUAndroid Operated Wireless Robot Using 8051 MCU
Android Operated Wireless Robot Using 8051 MCUKamal Pradhan
 
Hand gesture controlled robot
Hand gesture controlled robotHand gesture controlled robot
Hand gesture controlled robotManav Chauhan
 
Wireless gesture controlled robot
Wireless gesture controlled robotWireless gesture controlled robot
Wireless gesture controlled robotVIBEK MAURYA
 

Tendances (20)

Gesture Control Robot using Arduino
Gesture Control Robot using ArduinoGesture Control Robot using Arduino
Gesture Control Robot using Arduino
 
Wireless gesture Controlled Robot
Wireless gesture Controlled RobotWireless gesture Controlled Robot
Wireless gesture Controlled Robot
 
Gesture Control Car
Gesture Control CarGesture Control Car
Gesture Control Car
 
Accelerometer controlled robot
Accelerometer controlled robotAccelerometer controlled robot
Accelerometer controlled robot
 
Hand movement controlled robotic vehicle
Hand movement controlled robotic vehicleHand movement controlled robotic vehicle
Hand movement controlled robotic vehicle
 
Hand Gesture controlled Robotic Arm | Android | Arduino
Hand Gesture controlled Robotic Arm  | Android | ArduinoHand Gesture controlled Robotic Arm  | Android | Arduino
Hand Gesture controlled Robotic Arm | Android | Arduino
 
MOBILE CONTROLLED ROBOTIC ARM USING ARDUINO AND HC-06
MOBILE CONTROLLED ROBOTIC ARM USING ARDUINO AND HC-06MOBILE CONTROLLED ROBOTIC ARM USING ARDUINO AND HC-06
MOBILE CONTROLLED ROBOTIC ARM USING ARDUINO AND HC-06
 
Gesture Controlled Robot
Gesture Controlled RobotGesture Controlled Robot
Gesture Controlled Robot
 
Gesture controlling of Robots
Gesture controlling of Robots Gesture controlling of Robots
Gesture controlling of Robots
 
Gesture control robot
Gesture control robotGesture control robot
Gesture control robot
 
accelerometer based gesture controlled robotic arm
accelerometer based gesture controlled robotic arm accelerometer based gesture controlled robotic arm
accelerometer based gesture controlled robotic arm
 
GESTURE BASED WIRELESS SHADOW ROBOT !
GESTURE BASED WIRELESS SHADOW ROBOT !GESTURE BASED WIRELESS SHADOW ROBOT !
GESTURE BASED WIRELESS SHADOW ROBOT !
 
Gesture control bot
Gesture control botGesture control bot
Gesture control bot
 
presentation
presentationpresentation
presentation
 
Gesture controled robot
Gesture controled robotGesture controled robot
Gesture controled robot
 
Hand Gesture Controlled Robot
Hand Gesture Controlled RobotHand Gesture Controlled Robot
Hand Gesture Controlled Robot
 
Loken
LokenLoken
Loken
 
Android Operated Wireless Robot Using 8051 MCU
Android Operated Wireless Robot Using 8051 MCUAndroid Operated Wireless Robot Using 8051 MCU
Android Operated Wireless Robot Using 8051 MCU
 
Hand gesture controlled robot
Hand gesture controlled robotHand gesture controlled robot
Hand gesture controlled robot
 
Wireless gesture controlled robot
Wireless gesture controlled robotWireless gesture controlled robot
Wireless gesture controlled robot
 

Similaire à Binder1

B.tech Final Year Project report format.pptx
B.tech Final Year Project report format.pptxB.tech Final Year Project report format.pptx
B.tech Final Year Project report format.pptxADTCollection
 
Bluetooth Controlled Garbage Collection Robot Arm
Bluetooth Controlled Garbage Collection Robot ArmBluetooth Controlled Garbage Collection Robot Arm
Bluetooth Controlled Garbage Collection Robot ArmIRJET Journal
 
BLUETOOTH CONTROLLED ROBOCAR
BLUETOOTH CONTROLLED ROBOCARBLUETOOTH CONTROLLED ROBOCAR
BLUETOOTH CONTROLLED ROBOCARPulkit Singhal
 
3-G CUM 2-G OPERATED UNMANNED GROUND VEHICLE
3-G CUM 2-G OPERATED UNMANNED GROUND VEHICLE3-G CUM 2-G OPERATED UNMANNED GROUND VEHICLE
3-G CUM 2-G OPERATED UNMANNED GROUND VEHICLESANDEEP GHOSH
 
(Updated) Dept. of ME PPT Template.pptx
(Updated) Dept. of ME PPT Template.pptx(Updated) Dept. of ME PPT Template.pptx
(Updated) Dept. of ME PPT Template.pptxRakibulHassan77
 
Auto Metro Train to Shuttle Between Stations
Auto Metro Train to Shuttle Between StationsAuto Metro Train to Shuttle Between Stations
Auto Metro Train to Shuttle Between StationsMadhav Reddy Chintapalli
 
Floor cleaning robot report vatsal shah_ec_7th sem
Floor cleaning robot report vatsal shah_ec_7th semFloor cleaning robot report vatsal shah_ec_7th sem
Floor cleaning robot report vatsal shah_ec_7th semVatsal N Shah
 
Maneuvering Robotic Vehicle based on Motion Sensor Feedback
Maneuvering Robotic Vehicle based on Motion Sensor FeedbackManeuvering Robotic Vehicle based on Motion Sensor Feedback
Maneuvering Robotic Vehicle based on Motion Sensor FeedbackIshanMalpotra
 
K_WAWA_209319969_FINAL_REPORT
K_WAWA_209319969_FINAL_REPORTK_WAWA_209319969_FINAL_REPORT
K_WAWA_209319969_FINAL_REPORTkonso wawa
 
GroupEReportasdflakjsldkfjal;sdjkfka .pdf
GroupEReportasdflakjsldkfjal;sdjkfka .pdfGroupEReportasdflakjsldkfjal;sdjkfka .pdf
GroupEReportasdflakjsldkfjal;sdjkfka .pdfAKASHSEN67
 
Tomasz Chanusiak_AnalogDeltaBot_poster_A1
Tomasz Chanusiak_AnalogDeltaBot_poster_A1Tomasz Chanusiak_AnalogDeltaBot_poster_A1
Tomasz Chanusiak_AnalogDeltaBot_poster_A1Tomasz Chanusiak
 
Automatic Spraying and Painting Robo
Automatic Spraying and Painting RoboAutomatic Spraying and Painting Robo
Automatic Spraying and Painting RoboIRJET Journal
 
PCB layout using CNC machine
PCB layout using CNC machinePCB layout using CNC machine
PCB layout using CNC machineVenkatkumar78
 
ROBOT ARM WITH SMARTPHONE CONTROL
ROBOT ARM WITH SMARTPHONE CONTROLROBOT ARM WITH SMARTPHONE CONTROL
ROBOT ARM WITH SMARTPHONE CONTROLIRJET Journal
 
extra%20BATCH11_REVIEW%20FINAL%20_11_ppt.pptx
extra%20BATCH11_REVIEW%20FINAL%20_11_ppt.pptxextra%20BATCH11_REVIEW%20FINAL%20_11_ppt.pptx
extra%20BATCH11_REVIEW%20FINAL%20_11_ppt.pptxRakeshJvr
 
CNC machine using PCB layout with wireless communication
CNC machine using PCB layout with wireless communicationCNC machine using PCB layout with wireless communication
CNC machine using PCB layout with wireless communicationVenkatkumar78
 
final project presentation.pptx
final project presentation.pptxfinal project presentation.pptx
final project presentation.pptxPoornimak52
 
IRJET- Multi-Featured Android Controlled Smart Car
IRJET- Multi-Featured Android Controlled Smart CarIRJET- Multi-Featured Android Controlled Smart Car
IRJET- Multi-Featured Android Controlled Smart CarIRJET Journal
 
IRJET- Multi-Featured Android Controlled Smart Car
IRJET- Multi-Featured Android Controlled Smart CarIRJET- Multi-Featured Android Controlled Smart Car
IRJET- Multi-Featured Android Controlled Smart CarIRJET Journal
 

Similaire à Binder1 (20)

B.tech Final Year Project report format.pptx
B.tech Final Year Project report format.pptxB.tech Final Year Project report format.pptx
B.tech Final Year Project report format.pptx
 
Bluetooth Controlled Garbage Collection Robot Arm
Bluetooth Controlled Garbage Collection Robot ArmBluetooth Controlled Garbage Collection Robot Arm
Bluetooth Controlled Garbage Collection Robot Arm
 
BLUETOOTH CONTROLLED ROBOCAR
BLUETOOTH CONTROLLED ROBOCARBLUETOOTH CONTROLLED ROBOCAR
BLUETOOTH CONTROLLED ROBOCAR
 
3-G CUM 2-G OPERATED UNMANNED GROUND VEHICLE
3-G CUM 2-G OPERATED UNMANNED GROUND VEHICLE3-G CUM 2-G OPERATED UNMANNED GROUND VEHICLE
3-G CUM 2-G OPERATED UNMANNED GROUND VEHICLE
 
(Updated) Dept. of ME PPT Template.pptx
(Updated) Dept. of ME PPT Template.pptx(Updated) Dept. of ME PPT Template.pptx
(Updated) Dept. of ME PPT Template.pptx
 
Auto Metro Train to Shuttle Between Stations
Auto Metro Train to Shuttle Between StationsAuto Metro Train to Shuttle Between Stations
Auto Metro Train to Shuttle Between Stations
 
Floor cleaning robot report vatsal shah_ec_7th sem
Floor cleaning robot report vatsal shah_ec_7th semFloor cleaning robot report vatsal shah_ec_7th sem
Floor cleaning robot report vatsal shah_ec_7th sem
 
Maneuvering Robotic Vehicle based on Motion Sensor Feedback
Maneuvering Robotic Vehicle based on Motion Sensor FeedbackManeuvering Robotic Vehicle based on Motion Sensor Feedback
Maneuvering Robotic Vehicle based on Motion Sensor Feedback
 
K_WAWA_209319969_FINAL_REPORT
K_WAWA_209319969_FINAL_REPORTK_WAWA_209319969_FINAL_REPORT
K_WAWA_209319969_FINAL_REPORT
 
Robot arm ppt
Robot arm pptRobot arm ppt
Robot arm ppt
 
GroupEReportasdflakjsldkfjal;sdjkfka .pdf
GroupEReportasdflakjsldkfjal;sdjkfka .pdfGroupEReportasdflakjsldkfjal;sdjkfka .pdf
GroupEReportasdflakjsldkfjal;sdjkfka .pdf
 
Tomasz Chanusiak_AnalogDeltaBot_poster_A1
Tomasz Chanusiak_AnalogDeltaBot_poster_A1Tomasz Chanusiak_AnalogDeltaBot_poster_A1
Tomasz Chanusiak_AnalogDeltaBot_poster_A1
 
Automatic Spraying and Painting Robo
Automatic Spraying and Painting RoboAutomatic Spraying and Painting Robo
Automatic Spraying and Painting Robo
 
PCB layout using CNC machine
PCB layout using CNC machinePCB layout using CNC machine
PCB layout using CNC machine
 
ROBOT ARM WITH SMARTPHONE CONTROL
ROBOT ARM WITH SMARTPHONE CONTROLROBOT ARM WITH SMARTPHONE CONTROL
ROBOT ARM WITH SMARTPHONE CONTROL
 
extra%20BATCH11_REVIEW%20FINAL%20_11_ppt.pptx
extra%20BATCH11_REVIEW%20FINAL%20_11_ppt.pptxextra%20BATCH11_REVIEW%20FINAL%20_11_ppt.pptx
extra%20BATCH11_REVIEW%20FINAL%20_11_ppt.pptx
 
CNC machine using PCB layout with wireless communication
CNC machine using PCB layout with wireless communicationCNC machine using PCB layout with wireless communication
CNC machine using PCB layout with wireless communication
 
final project presentation.pptx
final project presentation.pptxfinal project presentation.pptx
final project presentation.pptx
 
IRJET- Multi-Featured Android Controlled Smart Car
IRJET- Multi-Featured Android Controlled Smart CarIRJET- Multi-Featured Android Controlled Smart Car
IRJET- Multi-Featured Android Controlled Smart Car
 
IRJET- Multi-Featured Android Controlled Smart Car
IRJET- Multi-Featured Android Controlled Smart CarIRJET- Multi-Featured Android Controlled Smart Car
IRJET- Multi-Featured Android Controlled Smart Car
 

Binder1

  • 1. HAND GESTURE CONTROLLED ROBOTIC CAR A project work report submitted to MANIPAL UNIVERSITY DUBAI For Partial Fulfillment of the Requirement for the Award of the Degree of BACHELOR OF ENGINEERING in MECHATRONICS ENGINEERING by MOHAMMED ZAMAN BAYEZID 1118011 NIKHIL GANDHI 1118023 Under the Guidance of Dr. ROMA RAINA Asst. Professor - Selection Grade School of Engineering& IT SCHOOL OF ENGINEERING & IT MANIPAL UNIVERSITY, DUBAI DUBAI INTERNATIONAL ACADEMIC CITY P.O.BOX : 345050, U.A.E 2015
  • 2. MANIPAL UNIVERSITY DUBAI BACHELORS IN MECHATRONICS ENGINEERING SCHOOL OF ENGINEERING & IT CERTIFICATE This is to certify that the project work titled “HAND GESTURE CONTROLLED ROBOTIC CAR” ” is a bonafied work of MOHAMMED ZAMAN BAYEZID 1118011 NIKHIL GANDHI 1118023 Carried out in partial fulfillment of the requirements for awarding the degree of Bachelor of Engineering in Mechatronics Engineering discipline in MANIPAL University DUBAI during the academic year 2014-2015. Chairperson Project Guide School of Engineering & IT Examiners: 1. …………………………. ……………………………….. 2. ………………………….. ……………………………….. ( Name ) ( Signature with date )
  • 3. AKNOWLEDGEMENT We take this opportunity to express our sincere gratitude to the people who have been helpful in the successful completion of our final year project. We would like to show our greatest appreciation to the highly qualified professors and lab in-charges of Manipal University Dubai. We are highly indebted to them for the tremendous support and help during the completion of our project. Firstly we are grateful to Dr. S. K. PANDEY (Chairperson school of Engineering and IT)for providing us with an opportunity to do our project and utilize the required resources and for supporting us in all possible way. We would like to thank our project guide Dr. ROMA RAINA the for her guidance and constant encouragement without whom this project wouldn’t have been a success. We would also like to present our immense gratitude to Mr. MOHAMMED MUNIB who dedicated his valuable time with us for solving the difficulties in completion of our project. Our special thanks to all those people who directly or indirectly helped and guided us to complete our project. i
  • 4. DEDICATION This project is dedicated to our parents who have supported us all the way since the beginning of our studies. Also this project is dedicated to all our professors who have been a great source of knowledge, motivation and inspiration. Finally, this report is dedicated to all our friends and those had faith in us for the completion of this project, And also for our fellow juniors who are fresh minds in this university. Thank you ii
  • 5. ABSTRACT Now a days in this fast growing industrial or non-industrial age everyone needs speed in manufacturing to cope up with the customer requirements or another purposes the robot play important role. The basic objective of our presentation is to develop a versatile concept among business students. Robots can be used in number of application by changing the program of controller and the structure is designed in such a way that it is carry to lift light loads but also lift medium loads. Hand gesture controlled robot (HGCBot) that uses the motion of human hand wearing a control glove, an opening and closing of each individual finger of the human hand is been recorded as gestures and be further used by the gesture controlled robot to perform pre- defined operation. 3D printing technology is used to build and design the HGCBot body Parts. Ardiuno Uno r3 board is programmed and been used to record hand gesture and control HGCBot communication between gesture recording gloves and HGCBot is wireless via Xbee S2 using Xbee shield to interface with arduino board. The servomotor and axel mechanism is used to steer HGCBot. During the course of this project, different types of hand gesture control robots have come into picture. This included controlling a remote control car using accelerometer, using Bluetooth and using gyroscope to automatically balance the car. With the help of this project the team has acquired decent knowledge on how to make a robot with aruino, how to control it wirelessly and how there is always another idea to modify the robot if the first one didn’t work out properly. iii
  • 6. LIST OF TABLES Table No. Title Page 4.1 Arduino UNO Specification 8 5.1 Specification SG90 15 7.1 Xbee Command Specification 23 76.2 Xbee Command Description 24 iv
  • 7. LIST OF FIGURES Fig. Title Page 1.1 Basic block diagram 2 1.2 Overview Block Diagram 2 3.1 Flex Sensor 5 3.2 Flex Sensor Variable Resistance 6 3.3(a) Flex Sensor Circuit 7 3.3(b) Voltage divider circuit 7 4.1 Arduino UNO R3 9 4.2 Arduino UNO Schematic 13 5.1 Servo Motor SG90 14 5.2 Parts of Servo motor 16 5.3(a) Circuit diagram of the servomotor 11 16 5.3(b) Angle positioning depends on the length of the pulse 17 6.1 Glove 19 7.1 Xbee Shield Schematic 21 8.1 Xbee 25 8.2 Xbee Communication 26 8.3 System Data Flow Diagram in a UART‐interfaced environment 27 8.4 UART data packet 0x1F (decimal number ʺ31ʺ) as transmitted through the RF module 27 8.5 Internal Data Flow Diagram 29 8.6 Syntax For Sending AT commands 30 8.7 X‐CTU User Interface (PC Settings, Range Test, Terminal and Modem Configuration tabs 31 9.1 Flex Sensor Circuit 32 9.2 Glove Design 33 9.3 Power Connections to the motors 34 8.4(a) Steering Axel Design 36 8.4(b) Front End Axel mount Design 36 8.4(c) Body Assembly 36 8.5 HGCBot 37 v
  • 8. ABBREVIATIONS HGCbot Hand gesture controlled robot AC Alternating Current DC Direct Current EEPROM Electrically Erasable Programmable Read Only Memory IDE Integrated Drive Electronics I/O Input /Output LED Light Emitting Diode MISO Master in Slave Out MOSI Master Out Slave In PROM Programmable Read Only Memory PCB Printed Circuit Board PWM Pulse Width Modulation REF Reference RC Radio Controlled RX Receiver SCK Serial Clock SPI Serial Peripheral Interface SS Slave Select TTL Transistor To Transistor Logic TX Transmitter UART Universal Asynchronous Receiver/Transmitter USB Universal Serial Bus VIN Input Voltage VOUT Output Voltage vi
  • 9. CONTENTS ACKNOWLEDGEMENT.................................................................................... i DEDICATION...................................................................................................... ii ABSTRACT......................................................................................................... iii LIST OF TABLES................................................................................................ iv LIST OF FIGURES.............................................................................................. v ABBREVIATIONS.............................................................................................. vi NO. CHAPTERS PG 1 INTRODUCTION................................................................................ 1 1.1 BACKGROUND............................................................................ 1 1.2 OBJECTIVE.................................................................................... 1 1.3 BASIC BLOCK DIAGRAM.......................................................... 2 1.4 SUBPROJECT................................................................................ 2 1.4.1 OVERVEIW OF THE ENTIRE PROJECT................................. 3 2 LITERATURE...................................................................................... 4 3 FLEX SENSOR..................................................................................... 5 3.1 INTRODUCTION........................................................................... 5 3.2 HOW IT WORKS........................................................................... 5 3.3 FLEX SENSOR CIRCUIT............................................................. 7 3.4 FEATURES..................................................................................... 8 3.5 POSSIBLE USES............................................................................ 8 3.6 APPLICATIONS............................................................................ 8 4 ARDUINO............................................................................................ 9 4.1 Introduction..................................................................................... 9 4.2 OVERVIEW.................................................................................... 9 4.3 SPECIFICATION........................................................................... 10 4.4 POWER........................................................................................... 10 4.5 MEMORY....................................................................................... 11 4.6 INPUT AND OUTPUT................................................................... 11 4.7 COMMUNICATION...................................................................... 12 4.8 USB OVER CURRENT PROTECTION........................................ 12 4.9 PHYSICAL CHARACTERISTICS................................................ 12
  • 10. 6 THE GLOVE........................................................................................ 19 6.1 HISTORY....................................................................................... 19 6.2 WHY USE A GLOVE DEVICE.................................................... 19 6.3 WHAT DO GLOVE DEVICES MEASURE................................. 20 6.4 WORKING PRINCIPLE OF GLOVE............................................ 20 7 XBEE SHIELD..................................................................................... 21 7.1 OVERVIEW.................................................................................... 21 7.2 SCHEMATIC.................................................................................. 21 7.3 JUMPER SETTINGS...................................................................... 22 7.4 ADDRESSING................................................................................ 22 7.5 CONFIGURATION........................................................................ 23 8 XBEE SERIES 2................................................................................... 25 8.1 KEY FEATURES........................................................................... 25 8.2 RF MODULE OPERATIONS........................................................ 26 8.3 MODES OF OPERATIONS........................................................... 29 8.4 SLEEP MODE................................................................................ 31 8.5 XCTU SOFTWARE....................................................................... 31 9 DESIGN DETAIL................................................................................. 32 9.1. DESIGN METHOD....................................................................... 32 9.2 CIRCUIT OF PROJECT................................................................. 33 9.3 PROGRAM FLOWCHART........................................................... 34 9.4 DESIGNING THE BODY USING 3D PRINTER......................... 36 9.5 FINAL OUTPUT............................................................................ 37 9.6 USAGE OF HGCBOT.................................................................... 37 9.7 THE ADVANTAGES OF HGCBOT............................................. 38 10 CONCLUSION AND FUTURE SCOPE............................................. 39 10.1 CONCLUSION............................................................................. 39 10.2 FUTIRE OF HGCBOT................................................................. 39 11 REFERENCES..................................................................................... 41 5 SERVO MOTOR.................................................................................. 14 5.1 INTRODUCTION........................................................................... 14 5.2 INSIDE THE SERVO MOTOR..................................................... 15 5.3 HOW SERVO WORKS.................................................................. 16 5.4 ADVANTAGES AND DISADVANTAGES OF SERVO............ MOTOR 17 5.5 APPLICATIONS............................................................................ 18
  • 11. CHAPTER 1 INTRODUCTION Human gestures are undoubtedly natural. They may often prove more efficient and powerful as compared to various other modes of interaction. The gestures are communicative, meaningful body motions- i.e. physical movement of the fingers, hands, arms, head, face, or body with the objective to convey information or interact with the environment. In our work gesture recognition has been proposed to understand the action of a hand. To increase the use of robots where conditions are not certain such as firefighting or rescue operation we can make robots which follows the instruction of human operator and perform the task, in this way decisions are taken according to the working condition by the operator and task is performed by the robots. Thus we can use these robots to perform those tasks that may be harmful for human beings. 1.1 BACKGROUND The word robot was derived from Czech word Robota which means “a forced labor”. Thus the robot technology is advancing rapidly. Now a day’s the most commonly used robots in industry is robotic hand or a robotic manipulator. Robotic hand is basically kinematics chain of rigid links interconnected by movable joints. The hand is also called end effector. The end effecter may be a tool or a gripper or any other device to do the work. The end effector is similar to the human hand with or without fingers. 1.2 OBJECTIVE The main objective of this project is to design AVR microcontroller based HGCBot controlled wirelessly by hand gesture. The goal of the project is to design a useful and fully functional real- world system that efficiently translates the hand gesture into the movement of the 3D printed HGCBot. This could be also further enhanced in various applications such as robotics, automation systems, etc. in this project design the robot moves, forward, backward, left, right 1
  • 12. and stops based on the gesture of the user. The steering of HGCBot is done by using servo motors. Key terms: Glove, Flex sensor, microcontroller, Wireless controlling and servo motor. 1.3 BASIC BLOCK DIAGRAM The user wears a glove with flex sensor the gesture made by the user is sensed by flex sensor and is given at the microcontroller. This occurs at the transmitter end. The microcontroller processes these signals and encodes it. These signals are wirelessly transmitted to the receiver end. At the receiver end, the received signal is decoded in the required form and makes the motors run. The basic block diagram of the project as shown below fig :( 1.1). Figure 1.1: Block Diagram 1.4 SUBPROJECT The block diagram in figure (1.2) presents an overview of the entire project. Figure 1.2: Overview Block Diagram Flex sensor Microcontroller - Tx Xbee s2 Wireless communication Microcontroller - Rx Servo motor & DC Motors FLEX SENSOR 1 FLEX SENSOR 2 FLEX SENSOR 3 FLEX SENSOR 4 ARDUINO BOARDS INTERFACE WITH THE GLOVE AND THE HGCBOT USING XBEE MODULE. MOTOR MOTOR SERVO MOTOR G L O V E S 2
  • 13. 1.4.1 OVERVEIW OF THE ENTIRE PROJECT The project is divided into five major subprojects as follows: Glove Design The design and implementation of a sensor-based glove system that can be worn by the user and comfortably provide stable and accurate control of the robotic hand. Servo Motor Data Signal Circuits These circuits take input from the glove sensors and generate appropriate motor control signals based on those inputs. Wireless Communication The HGCBot and gesture device are wirelessly interfaced via Xbee S2 Module in AT mode. Sensor Feedback System Flex sensors are used to provide feedback to the user on alignment, position, and collision detection. Arduino Programming The Arduino uno r3 takes input from the sensor feedback system and generates an appropriate control signals for automated control of the HGCBot. 3
  • 14. CHAPTER 2 LITERATURE [1] Gesture controlled robot through image processing- This research was referred by the team for making the HGCBOT, a brief information about this research is, in this research the hand was supposed to be placed at a specific position in front of camera so that the camera calibrates the hand gestures, but the calculation for making the robot were complicated and there were a lot of drawback, eg the hand should always be at a specific distance, sensing the signal on the robot. In this research the system contains of a webcam which captures the gesture movement, then it is fed to the hand palm detection software, the commands are detected with this software through which specific signals are generated, next these signals are sent to the arduino with the help of Xbee. Then the motors are controlled with the help of L293D motor driver. The HGCBot is upgraded version of the robot from the research, which uses sensor embedded gloves to recognize the gestures of your hand. [2] Accelerometer based gesture recognition robot- In this system, two dimensional hand gestures are sent via an input device to the computer's memory and appear on the computer monitor. These symbolic gestures are identified as editing commands through geometric modeling techniques. Gestures are represented by a view-based approach, and stored patterns are matched to perceived gestures using dynamic time warping. View-based vision approaches also permit a wide range of gestural inputs when compared to the mouse and stylus input devices. In the HGCBot we overcame the additional component such as accelerometer for the which required twisting of wrist to sense the motion in order for it to be triggered, HT12E 12 pin encoder, HT12D 12 pin decoder and LCD. 4
  • 15. CHAPTER 3 FLEX SENSOR 3.1 INTRODUCTION A simple flex sensor is 2.2" in length. As the sensor is bent, the resistance across the sensor increases. Flex sensors are sensors that change in resistance depending on the amount of the bend on the sensor. They are often used in gloves to sense finger movement. Flex sensors are simple in construction. The flex sensor shown in fig :2.1 is the unidirectional. Flex sensor is a unique component that changes resistance when flexed. Flex sensor is bent in one direction the resistance gradually increases. 3.2. HOW IT WORKS Flex sensors are analogue resistors, they works as variable analogue voltage divider. Inside the flex sensors are carbon resistive elements within a thin flexible substrate. More carbon means less resistance, when the substrate is bent the sensor produces a resistance output relative to the bent radius. The higher the resistance value yielding smaller radius. Figure 3.1: Flex Sensor 5
  • 16. Working of Flex sensor The nominal resistance at 0 degree is 10kΩ, at the bent of 45 degree the resistance will be increased. At 90 degrees will give 30-40 K ohms. The Bend Sensor lists resistance of 30-250 K ohms and if the flex sensor is further bent the resistance will be further increased. The flex sensor operating temperature is -45F to 125F. The Flex point Bend Sensor is somewhat different from the simple flex sensors. It has a much bigger range of resistance. Working of Flex sensor The nominal resistance at 0 degree is 10kΩ, at the bent of 45 degree the resistance will be increased. At 90 degrees will give 30-40 K ohms as shown below fig. The Bend Sensor lists resistance of 30-250 K ohms and if the flex sensor is further bent the resistance will be further increased. The flex sensor operating temperature is -45F to 125F. The Flex point Bend Sensor is somewhat different from the simple flex sensors. It has a much bigger range of resistance. Figure 3.2: FLEX SENSOR VARIABLE RESISTANCE 6
  • 17. 3.3. FLEX SENSOR CIRCUIT 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 = 𝑣𝑣𝑖𝑖𝑖𝑖( 𝑅𝑅1 𝑅𝑅1 + 𝑅𝑅2 ) PURPOSE OF VOLTAGE DIVIDER IN FLEX SENSOR The flex sensor changes its resistance when flexed so we can measure that change using one of the Arduino’s analogue pins. But to do that we need a fixed resistor (not changing) that we can use for that comparison (We are using a 10K resistor). This is called a voltage divider and divides the 5V between the flex sensor and the resistor. Figure 3.3(a): FLEX SENSOR CIRCUIT Figure 3.2(b): Voltage divider circuit 7
  • 18. 3.4. FEATURES 1. Angle displacement measurement. 2. Bends and flexes physically with motion device. 3. Helps to provide more accurate data. 3.5. POSSIBLE USES 1. Robotics 2. Gaming (Virtual Motion) 3. Medical devices 4. Computer peripherals 5. Musical instrument. 3.6 APPLICATIONS Flex sensors may be used in robotics to determine joint movement or placement. They may also be used like whiskers for wall detection. The sensors we are making are also pressure sensitive so they can also be used as bumper switches for wall detection or pressure switches on robotic grippers. For bio-metrics, the sensor can be placed on a moving joint of athletic equipment to provide an electrical indication of movement or placement. A few of the sensors can be incorporated onto a glove to make virtual reality glove. 8
  • 19. CHAP4TER 4 ARDUINO 4.1 Introduction The only Uno is the latest version after the duemilanove, with an improved USB interface chip. Like the Duemilanove , it not only has an expended shield header with a 3.3V reference and a RESET pin(which solves the problem of how to get to the RESET pin in shield) and a 500𝑚𝑚𝑚𝑚 fuse to protect your computer’s USB port, but also an automatic circuit to select USB or DC power without a jumper. The Uno is pin and code compatible with the duemilanove, diecimilla and older Arduino’s your entire shield, libraries, code will still work. The new R3 (3rdrevision) of the UNO has a few minor updates, with an upgrade to the USB interface chip and additional breakouts for the i2c pins and an I/ORef pin. 4.2 OVERVIEW Arduino is an open source electronics prototyping platform based on flexible, easy to use hardware and software. It’s intended for artist, designers, hobbyists, and anyone interested in creating interactive object or environment as shown in fig:(4.1). The Arduino can sense the environment by receiving input from a variety of sensor and can affect its surroundings by controlling lights, motors, and other actuators. The microcontroller on the board is programmed using the Arduino UNO programming language (based on wiring) and Figure 4.1: Arduino UNO R3 9
  • 20. the Arduino development environment (based on processing). Arduino projects can be stand- alone or they can communicate with software running on a computer. 4.3. Specification Table 4.1: Arduino Specification Arduin UNO R3 Microcontroller ATmega328 Operating Voltage 5V InputVoltage (recommended) 7-12V Input Voltage (limits) 6-20V Digital I/O Pins 14 (of which 6 provide PWM output) Analog Input Pins 6 DC Current per I/O Pin 40Ma DC Current for 3.3V Pin 50mA Flash Memory 32 KB (ATmega328) of which 0.5 KB used by bootloader SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) Clock Speed 16 MHz 4.4 POWER The Arduino Uno can be powered via the USB connection or with an external power supply. The power source is selected automatically. 10
  • 21. External (non-USB) power can come either from an AC-to-DC adapter battery. The adapter can be connected by plugging a 2.1mm center-positive plug into the board's power jack. Leads from a battery can be inserted in the Ground and VIN pin headers of the power connector. 4.5 MEMORY The ATmega328 has 32 KB (with 0.5 KB used for the boot loader). It also has 2 KB of SRAM and 1 KB of EEPROM (which can be read and written with the EEPROM library). 4.6 INPUT AND OUTPUT Each of the 14 digital pins on the Uno can be used as an input or output, using pin mode(), digital Write, and digital Read () functions. They operate at 5 volts. Each pin can provide or receive a maximum of 40mA and has an internal pull-up resistor (disconnected by default) of 20-50 ohms. In addition, some pins have specialized functions: Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data. These pins are connected to the corresponding pins of the ATmega8U2 USB-to-TTL Serial chip. External Interrupts: 2 and 3. These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value. See the attach Interrupt () function for details . PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analog Write() function. SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). These pins support SPI communication using the SPI library. LED: 13. There is a built-in LED connected to digital pin 13. When the pin is HIGH value, the LED is on, when the pin is LOW, it's off. The Uno has 6 analog inputs, labeled A0 through A5, each of which provide 10 bits of resolution (i.e. 1024 different values). By default they measure from ground to 5 volts, though is it possible to change the upper end of their range using the AREF pin and the analog Reference () function. Additionally, some pins have specialized functionality. 11
  • 22. AREF. Reference voltage for the analog inputs. Used with ref ().Reset Bring this line LOW to reset the microcontroller. Typically used to add a reset button to shield which block the one on the board. 4.7 COMMUNICATION The Arduino Uno has a number of facilities for communicating with a computer, another Arduino, or other microcontrollers. The ATmega328 provides UART TTL (5V) serial communication, which is available on digital pins 0 (RX) and 1 (TX). An ATmega16U2 on the board channels this serial communication over USB and appears as a virtual com port to software on the computer. The '16U2 firmware uses the standard USB COM drivers, and no external driver is needed. However, on Windows, a .inf file is required. The Arduino software includes a serial monitor which allows simple textual data to be sent to and from the Arduino board. The RX and TX LEDs on the board will flash when data is being transmitted via the USB-to-serial chip and USB connection to the computer (but not for serial communication on pins 0 and 1).A Software Serial library allows for serial communication on any of the Uno's digital pins.The ATmega328 also supports I2C (TWI) and SPI communication. The Arduino software includes a Wire library to simplify use of the I2C bus. 4.8 USB OVER CURRENT PROTECTION The Arduino Uno has a resettable poly-fuse that protects your computer's USB ports from shorts and over current. Although most computers provide their own internal protection, the fuse provides an extra layer of protection. If more than 500mA is applied to the USB port, the fuse will automatically break the connection until the short or overload is removed. 4.9 PHYSICAL CHARACTERISTICS The maximum length and width of the Uno PCB are 2.7 and 2.1 inches respectively, with the USB connector and power jack extending beyond the former dimension. Four screw holes allow 12
  • 23. the board to be attached to a surface or case. Note that the distance between digital pins 7 and 8 is 160mil (0.16"), not an even multiple of the 100mil spacing of the other pins. Figure4.2: Arduino Schematic 13
  • 24. CHAPTER 5 SERVO MOTOR 5.1 INTRODUCTION Servo refers to an error sensing feedback control which is used to correct the performance of a system. A servo motor consists of three major parts: a motor, control board, and potentiometer (variable resistor) connected to output shaft. The motor utilizes a set of gears to rotate the potentiometer and the output shaft at the same time. The potentiometer, which controls the angle of the servo motor, allows the control circuitry to monitor the current angle of the servo motor. The motor, through a series of gears, turns the output shaft and the potentiometer simultaneously. The potentiometer is fed into the servo control circuit and when the control circuit detects that the position is correct, it stops the servo motor. If the control circuit detects that the angle is not correct, it will turn the servo motor in the right direction until the angle is correct. Servo or RC Servo Motors are DC motors equipped with a servo mechanism for precise control of angular position. The RC servo motors usually have a rotation limit from 90° to 180°. But servos do not rotate continually. Their rotation is restricted in between the fixed angles. Servo motors is shown in fig :( 4.1). Figure 5.1: Servo Motor SG 90 14
  • 25. Servo motor Servo motors have been around for a long time and are utilized in many applications. Tiny and lightweight with high output power. Servo can rotate approximately 180 degrees(90 in each direction), and works just like the standard kinds but smaller. You can use any servo code, hardware or library to control these servos. Good for beginners who want to make stuff move without building a motor controller with feedback & gear box, especially since it will fit in small places. It comes with a 3 horns (arms) and hardware. Servo motors are used in industrial applications. Servos are extremely useful in robotics and automation. Servo motors are used across various automation fields specifically where the motor must be able to operate at a range of speeds without overheating, operate at zero speed while being able to retain its load in a set position, as well as operate at low speeds. The aerospace industry makes use of servo motors in their hydraulic systems to contain system hydraulic fluid. The servo motor is relatively small in size, yet very powerful. Table 5.1: Specification SG90 4.2 INSIDE THE SERVO MOTOR To fully understand how the servo works, you need to take a look under the hood. Inside there is a pretty simple set-up a small DC motor, potentiometer and a control circuit. The motor is attached by gears to the control wheel. As the motor rotates, the potentiometer's resistance changes, so the control circuit can precisely regulate how much movement there is and in which direction it is. When the shaft of the motor is at the desired position, power supplied to the motor is stopped. If not, the motor is turned in the appropriate direction. The desired position is sent via electrical pulses through the signal wire. The motor's speed is proportional to the difference SERVO MOTOR SG 90 SPECIFICATIONS Weight 9 g Dimension 22.2 x 11.8 x 31 mm approx. Stall torque 1.8 kgf·cm Operating speed 0.1 s/60 degree Operating voltage 4.8 V (~5V) Dead band width 10 µs Temperature range 0 ºC – 55 ºC 15
  • 26. between its actual position and desired position. So if the motor is near the desired position, it will turn slowly, otherwise it will turn fast. This is called proportional control. The internal construction of servo is shown in fig :(4.2). 5.3 HOW SERVO WORKS Fig:(4.3 a ) shows the circuit diagram of the servomotor built out of five resistors and a capacitor, aided by a transistor and Fig:(4.b b) shows the angle positioning. The power and control are given as input to this circuit. Figure 5.2: Parts of Servo Motor Figure 3.3(a): Circuit diagram of the servomotor 16
  • 27. 5.4 ADVANTAGES AND DISADVANTAGES OF SERVO MOTOR There are so many advantages and disadvantages, some of them are mentioned below. • High speed and high torque is needed • Servo motors also maintain their torque rating at high speed, up to 90% of the rated torque is available from a servo at high speed. • Servo motors are quite, available in AC and DC drive, and do not vibrate or suffer from resonance issues. • Servo motors usually have a small size. • Servo motors have a large angular force (torque) comparing to their size. • Servo motors operate in a closed loop, and therefore are very accurate. • Servo motors are electrically efficient. • Servo motors are capable of delivering more power than stepper. • Servo motors are also much more expensive than stepper motor. • Servo motors often require gear boxes, especially for lower speed operation. • The requirement for a gearbox and position encoder make servo motor designs more mechanically complex and increase the maintenance requirements for the system. Figure 5.3(b) :Angle positioning depends on the length of the pulse 17
  • 28. 5.5 APPLICATIONS Servos are extremely useful in robotics and automation. Servo motors are used across various automation fields specifically where the motor must be able to operate at a range of speeds without overheating, operate at zero speed while being able to retain its load in a set position, as well as operate at low speeds. Robots utilize servo motors because of their smooth commutation and accurate positioning. The aerospace industry makes use of servo motors in their hydraulic systems to contain system hydraulic fluid. The servo motor is relatively small in size, yet very powerful. The Servos are used for precision positioning. They are used in robotic arms and legs, sensor scanners and in RC toys like RC helicopter, airplanes and cars. Servo motors are small, have built-in control circuitry and have good power for their size. 18
  • 29. CHAPTER 6 THE GLOVE 6.1 HISTORY First glove like device (cloth) onto which numerous touches bend and inertial sensors were sewn. Measured flexure, hand orientation and wrist-position, and hand tactile sensors are at fingertips. Orientation of hand tracked by video camera required clear line of sight observation for the glove to function. Finger flex sensors, tactile sensor at the fingertips, orientation sensing and wrist positioning sensors, position of sensors were changeable. 6.2 WHY USE A GLOVE DEVICE Traditional data input device have a limited range of the amount of data they can input at a given time because they are limited to one, two or three degrees of freedom. Degrees of freedom are measure of the number of position of which the device can be read as inputting a different data values. Gloves offer for superior data input potential since they provide multiple degrees of freedom for each finger and the hand as a whole. By taking orientation of fingers and relative position of hand, glove devices can track an enormous variety of gestures each of which corresponds to a different type of data entry. This gives the glove remarkably rich expressive power, which can be used in the inputting of extremely complicated data. Figure 6.1: Glove 19
  • 30. 6.3 WHAT DO GLOVE DEVICES MEASURE Measure finger flexure and hand orientation, to a greater are lesser extent. Each type of glove measure either four or five fingers (the pinky finger is sometimes excluded) for the degree of flexure, measurement range from the fingers being extended straight in the line with the palm, to being curled up against the palm as in making a first.Glove can track hand orientation by measuring roll, pitch and yaw or position of the hand as a whole. 6.4 WORKING PRINCIPLE OF GLOVE All data glove devices track the orientation of the hand and fingers using either fiber optics, ultrasonic, magnetic, electrical resistance or some combination of these methods. However any glove device feed data about hand and finger positions to a tracker, a piece of equipment that process the data so that it can be understood by the computer. The computer then matches the orientation to a file of gestures and fires an event corresponding to the matching gestures. 20
  • 31. CHAPTER 7 XBEE SHIELD 7.1 OVERVIEW The Xbee shield allows an Arduino board to communicate wirelessly using Zigbee. The module can communicate up to 100 feet indoors or 300 feet outdoors (with line-of-sight). It can be used as a serial/usb replacement or you can put it into a command mode and configure it for a variety of broadcast and mesh networking options. The shields breaks out each of the Xbee's pins to a through-hole solder pad. It also provides female pin headers for use of digital pins 2 to 7 and the analog inputs, which are covered by the shield (digital pins 8 to 13 are not obstructed by the shield, so you can use the headers on the board itself). 7.2 SCHEMATIC Figure7.1: XBEE Shield Schematic 21
  • 32. 7.3 Jumper Settings The Xbee shield has two jumpers (the small removable plastic sleeves that each fit onto two of the three pins labeled Xbee/USB). These determine how the Xbee's serial communication connects to the serial communication between the microcontroller (ATmega8 or ATmega168) and FTDI USB-to-serial chip on the Arduino board. With the jumpers in the Xbee position (i.e. on the two pins towards the interior of the board), the DOUT pin of the Xbee module is connected to the RX pin of the microcontroller; and DIN is connected to TX. Note that the RX and TX pins of the microcontroller are still connected to the TX and RX pins (respectively) of the FTDI chip - data sent from the microcontroller will be transmitted to the computer via USB as well as being sent wirelessly by the Xbee module. The microcontroller, however, will only be able to receive data from the Xbee module, not over USB from the computer. With the jumpers in the USB position (i.e. on the two pins nearest the edge of the board), the DOUT pin the Xbee module is connected to the RX pin of the FTDI chip, and DIN on the Xbee module is connected to the TX pin of the FTDI chip. This means that the Xbee module can communicate directly with the computer - however, this only works if the microcontroller has been removed from the Arduino board. If the microcontroller is left in the Arduino board, it will be able to talk to the computer normally via USB, but neither the computer nor the microcontroller will be able to talk to the Xbee module. 7.4 Addressing There are multiple parameters that need to be configured correctly for two modules to talk to each other (although with the default settings, all modules should be able to talk to each other). They need to be on the same network, as set by the ID parameter (see "Configuration" below for more details on the parameters). The modules need to be on the same channel, as set by the CH parameter. Finally, a module's destination address (DH and DL parameters) determine which modules on its network and channel will receive the data it transmits. This can happen in a few ways: If a module's DH is 0 and its DL is less than 0xFFFF (i.e. 16 bits), data transmitted by that module will be received by any module whose 16-bit address MY parameter equals DL. 22
  • 33. If DH is 0 and DL equals 0xFFFF, the module's transmissions will be received by all modules. If DH is non-zero or DL is greater than 0xFFFF, the transmission will only be received by the module whose serial number equals the transmitting module's destination address (i.e. whose SH equals the transmitting module's DH and whose SL equals its DL). Again, this address matching will only happen between modules on the same network and channel. If two modules are on different networks or channels, they can't communicate regardless of their addresses. 7.5 CONFIGURATION Here are some of the more useful parameters for configuring your Xbee module. Make sure to prepend AT to the parameter name when sending a command to the module (e.g. to read the ID parameter, you should send the command ATID). Table 7.1: Xbee Command Specification Command Description Valid Values Default Value ID The network ID of the Xbee module. 0 - 0xFFFF 3332 CH The channel of the Xbee module. 0x0B - 0x1A 0X0C SH and SL The serial number of the Xbee module (SH gives the high 32 bits, SL the low 32 bits). Read-only. 0 - 0xFFFFFFFF (for both SH and SL) different for each module MY The 16-bit address of the module. 0 - 0xFFFF 0 DH and DL The destination address for wireless communication (DH is the high 32 bits, DL the low 32). 0 - 0xFFFFFFFF (for both DH and DL) 0 (for both DH and DL) BD The baud rate used for serial communication with the Arduino board or computer. 0 (1200 bps) 1 (2400 bps) 2 (4800 bps) 3 (9600 bps) 4 (19200 bps) 5 (38400 bps) 6 (57600 bps) 7 (115200 bps) 3 (9600 baud) 23
  • 34. Note: although the valid and default values in the table above are written with a prefix of "0x" (to indicate that they are hexadecimal numbers), the module will not include the "0x" when reporting the value of a parameter, and you should omit it when setting values. Here are a couple more useful commands for configuring the Xbee module (you'll need to prepend AT to these too). Table 7.2: Command description Command Description RE Restore factory default settings (note that like parameter changes, this is not permanent unless followed by the WRcommand). WR Write newly configured parameter values to non-volatile (long-term) storage. Otherwise, they will only last until the module loses power. CN Exit command mode now. (If you don't send any commands to the module for a few seconds, command mode will timeout and exit even without a CN command.) 24
  • 35. CHAPTER 8 XBee Series 2 The XBee Series 2 OEM RF Modules were engineered to operate within the ZigBee protocol and support the unique needs of low-cost, low-power wireless sensor networks. The modules require minimal power and provide reliable delivery of data between remote devices. The modules operate within the ISM 2.4 GHz frequency band. 8.1 Key Features High Performance, Low Cost • Indoor/Urban: up to 133’ (40 m) • Outdoor line-of-sight: up to 400’ (120 m) • Outdoor line-of-sight: up to 400’ (120 m) • Receiver Sensitivity: -95 dBm RF Data Rate: 250,000 bps High Performance, Low Cost • Indoor/Urban: up to 133’ (40 m) • Outdoor line-of-sight: up to 400’ (120 m) • Outdoor line-of-sight: up to 400’ (120 m) • Receiver Sensitivity: -95 dBm RF Data Rate: 250,000 bps Figure 8.1: XBEE 25
  • 36. Advanced Networking & Security • Retries and Acknowledgements • DSSS (Direct Sequence Spread Spectrum) Each direct sequence channel has over 65,000 unique network addresses available. • Point-to-point,point-to-multipoint and peer-to-peer topologies supported. • Self-routing, self-healing and fault-tolerant mesh networking. Easy-to-Use • No configuration necessary for out-of box RF communications • AT and API Command Modes for configuring module parameters • Small form factor Extensive command set Free X-CTU Software (Testing and configuration software) 8.2 RF Module Operation o Serial Communications The XBee Series 2 OEM RF Modules interface to a host device through a logic- level asynchronous serial port. Through its serial port, the module can Figure 8.2: Xbee Communication 26
  • 37. communicate with any logic and voltage compatible UART; or through a level translator to any serial UART Data Flow Devices that have a UART interface can connect directly to the pins of the RF module as shown in the figure below.  Serial Data • Data enters the module UART through the DIN (pin 3) as an asynchronous serial signal. The signal should idle high when no data is being transmitted. • Each data byte consists of a start bit (low), 8 data bits (least significant bit first) and a stop bit (high). The following figure illustrates the serial bit pattern of data passing through the module. • The module UART performs tasks, such as timing and parity checking, that are needed for data communications. Serial communications depend on the two UARTs to be configured with compatible settings (baud rate, parity, start bits, stop bits, data bits). Figure 8.3: System Data Flow Diagram in a UART‐interfaced environment Figure 8.4: UART data packet 0x1F (decimal number ʺ31ʺ) as transmitted through the RF module 27
  • 38.  Serial Buffers • The XBee Series 2 modules maintain small buffers to collect received serial and RF data. The serial receive buffer collects incoming serial characters and holds them until they can be processed. The serial transmit buffer collects data that is received via the RF link that will be transmitted out the UART.  Serial Receive Buffers • When serial data enters the RF module through the DIN Pin (3 pin), the data is stored in the serial receive buffer until it can be processed. o Hardware Flow Control (CTS) When serial receive buffer is 17 bytes away from being full, by default, the module de- asserts CTS (high) to signal the host device to stop sending data. CTS is re-asserted after the serial buffer has 34 bytes of memory available. If the module is receiving a continuous stream of RF data, any serial data that arrives on the DIN pin is placed in the serial receive buffer. The data in the serial receive buffer will be transmitted over-the-air when the module is no longer receiving RF data in the network. When data is ready to be transmitted, the module may need to discover a Network Address and/or a Route in order to reach the destination node. Discovery overhead may delay packet transmission. When RF data is received, the data is moved into the serial transmit buffer and is sent out the serial port. If the serial transmit buffer becomes full enough such that all data in a received RF packet won’t fit in the serial transmit buffer, the entire RF data packet is dropped. o Hardware Flow control (RTS) If RTS is enabled flow control, data will not be sent out the serial transmit buffer as long as RTS (pin-16) is de-asserteed. If the RF data rate is set higher than the interface data rate of the module, the module could receive data faster than it can send the data to the host. If the host does not allow the module to transmit data out from the serial transmit buffer because of being held off by hardware flow control. 28
  • 39. Figure 8.5: Internal Data Flow Diagram 8.3 Modes of Operation o Idle Mode  When not receiving or transmitting data, the RF module is in Idle Mode. During Idle Mode, the RF module is also checking for valid RF data. The module shifts into the other modes of operation under the following conditions:  Transmit Mode (Serial data in the serial receive buffer is ready to be packetized)  Receive Mode (Valid RF data is received through the antenna)  Sleep Mode (End Devices only)  Command Mode (Command Mode Sequence is issued) o AT Command Mode To Enter AT Command Mode:  Send the 3-character command sequence “+++” and observe guard times before and after the command characters.  Default AT Command Mode Sequence (for transition to Command Mode):  No characters sent for one second [GT (Guard Times) parameter = 0x3E8]  Input three plus characters (“+++”) within one second [CC (Command Sequence Character) parameter = 0x2B.]  No characters sent for one second [GT (Guard Times) parameter = 0x3E8] 29
  • 40.  All of the parameter values in the sequence can be modified to reflect user preferences. NOTE: Failure to enter AT Command Mode is most commonly due to baud rate mismatch. Ensure the ‘Baud’ setting on the “PC Settings” tab matches the interface data rate of the RF module. By default, the BD parameter = 3 (9600 bps). To Send AT Commands: Send AT commands and parameters using the syntax shown below. To read a parameter value stored in the RF module’s register, omit the parameter field. The preceding example would change the RF module Destination Address (Low) to “0x1F”. To store the new value to non-volatile (long term) memory, subsequently send the WR (Write) command. For modified parameter values to persist in the module’s registry after a reset, changes must be saved to non-volatile memory using the WR (Write) Command. Otherwise, parameters are restored to previously saved values after the module is reset. System Response. When a command is sent to the module, the module will parse and execute the command. Upon successful execution of a command, the module returns an “OK” message. If execution of a command results in an error, the module returns an “ERROR” message. To Exit AT Command Mode: Send the ATCN (Exit Command Mode) command (followed by a carriage return). [OR] If no valid AT Commands are received within the time specified by CT (Command Mode Timeout) Command, the RF module automatically returns to Idle Mode. Figure 8.6: Syntax for sending AT Commands 30
  • 41. 8.4 Sleep Mode Sleep modes are supported on end devices only. Router and coordinator devices participate in routing data packets and are intended to be mains powered. End devices must be joined to a parent (router or coordinator) before they can participate on a ZigBee network. The parent device does not track when an end device is awake or asleep. Instead, the end device must inform the parent when it is able to receive data. The parent must be able to buffer incoming data packets destined for the end device until the end device can awake and receive the data. When an end device is able to receive data, it sends a poll command to the parent. When the parent router or coordinator receives the poll command, it will transmit any buffered data packets for the end device. Routers and coordinators are capable of buffering one broadcast transmission for sleeping end device children. The SM, ST, SP, and SN commands are used to configure sleep mode operation. 8.5 CTU Software CTU is a software program used to interface with and configure RF Modules. The software application is organized into the following four tabs: • PC Settings tab - Setup PC serial ports for interfacing with an RF module • Range Test tab - Test the RF module's range and monitor packets sent and received • Terminal tab - Set and read RF module parameters using AT Commands • Modem Configuration tab - Set and read RF module parameters Figure 8.7: X‐CTU User Interface (PC Settings, Range Test, Terminal and Modem Configuration tabs 31
  • 42. CHAPTER 9 DESIGN DETAIL 9.1. DESIGN METHOD The basic components of the glove are the hand itself, the Xbees S2 module, the Arduino, the glove and the flex sensors. The glove is mounted with flex sensors variable resistors that change their value when bent they’re attached to one side of voltage divider with resistor of a constant value on the other side. The Arduino reads the voltage change when the sensors are bent, and triggers the servo motor and DC motor to move a proportional amount. 9.1.1 Making flex sensor circuit Circuit design The flex sensors require a circuit in order for them to be compatible with Arduino. It's a voltage divider: the flex sensors are variable resistors, and when paired with resistors of a static value, change in resistance (in this case bending the sensor) can be sensed through the change in voltage between the resistors. This can be measured by the Arduino through its analog inputs. The schematic is attached (red is positive voltage, black is negative, and blue goes to the Figure 9.1: Flex sensor circuit 32
  • 43. Arduino). The resistors in the photo are 10KΩ. I color-coded the wires I used in the same way as the schematic, so you can see more easily in figure (8.1). The main GND wire is connected to all the individual GND wires from the sensors gets plugged into the Arduino’s GND. The +5V from wire, and each black wire gets plugged into a separate analog input pin. 9.1.2 SEW THE GLOVE 9.2 CIRCUIT OF PROJECT In our project we have used 5V for Arduino - Tx and same current used from Arduino - Tx to flex sensors. For Servo Motors we used extra Power from battery then we used circuit to connect Sensors and Motors to Arduino. Circuit is designed in a very compact manner, so that no or less wires are used and shown with 100% portability. First of all we connected 5V from regulating IC LM7308 and passed it through resistor of 10k and then attached analog Signal Sender wire on one side connected to flex sensor and on other Figure 8.2: Glove Design 33
  • 44. side ground. In similar way, all 4 sensors are connected to Arduino. Analogue Reading is attached from pins A1 - A4 with each of 4 sensors. Servo Motor is then attached to power and ground through battery and Digital signal wire is connected to digital pin 9 of Arduino - Rx. DC motor is used for forward and reverse moment of HGCBot controlled with H-bridge IC L293D connected to Pins 3&4 of the Arduino - Rx. Xbee S2 modules is used with Xbee shield to interface Arduino - Tx and Arduino - Rx. Flex Sensors send analog input to Arduino - Tx then Xbee S2 modules is used to send signal from Arduino - Rx to Arduino -Tx which converts them to digital reading and sends these readings to digital pins which make Servo Motor and DC motor via H-bride to move as per the gesture performed. 9.3 Program Flowchart Figure 8.3: Power connections to the motors 34
  • 45. START Initialize the XBEE S2 Module, Set Router - AT mode, Initialize Variable: char Input. Read Input from the GLOVES, Store value to Input’ Compare the Input Value with the Predefined case value: case-i, case-ii, case-iii… Send case return to XBEE S2 Send the Return value to XBEE Coordinator Break the case!! Clear char Input = 0, Check for new Input… Initialize the XBEE S2 Module, Set Coordinator - AT mode Initialize Variable: char Input. Receive the value from XBEE Coordinator Compare the Received Input reading with the Predefined cases. case-i, case-ii, case-iii… Perform the relative operation!! Break the case!! Check for new Input… Store value to ‘Input’ Hand Gesture 35
  • 46. 9.4 DESIGNING THE BODY USING 3D PRINTER The body of the HGCBOT was designed using 3-D software’s solid work and inventors. It was really tricky to design a body for the BOT because it was hard to figure out what the servo motor can help us in the robot. Second tricky part was mounting the module on the car. Calculations were needed to make the 3-D printed car strong enough to carry the weight of the module. Figure 9.4:(a) Steering Axel Design Figure 9.4:(b) Front End Axel Mount Design Figure 9.4(c): Body Assembly 36
  • 47. Even after the assembly, the car body had to balance the weight of the car. 9.5 FINAL OUTPUT 9.6 USAGE OF HGCBOT HGCBOT can be used in various places such as industry, military and hospitals. As we see today all the industries are developing and growing at a very fast rate, what are project can do u is help grow with the industry, regardless of which industry it is. The HGCBOT a delivery robot which can help reduce the cost of transportation within a factory. Growing need for goods increases the need for production of goods and for this on time delivery in the same factory is required so that the product can continuously move forward towards its final body or design. A HGCBOT can do is it can revolutionize the way in-factory transport works. The HGCBOT will act as an engine of the train, all the goods or parts can be attached to the HGCBOT, now a person can control the delivery of the good by his own hands and can go off route to deliver also (since AGVs cannot do that). Figure 9.5: HGCBot 37
  • 48. This robot has no desired path, which every direction the user wants to take it, it will go that way. The HGCBOT uses the motion of human hand wearing a control glove, an opening and closing of each individual finger of the human hand is been recorded as gestures and be further used by the gesture controlled robot to perform pre-defined operation. The HGCBOT can be used in military and hospitals in future. 9.7 THE ADVANTAGES OF HGCBOT The HGCBOT is: • Easy to control- • Cost efficient • User friendly • Long range • Speed control • Energy efficient • Simple design 38
  • 49. CHAPTER 10 CONCLUSION AND FUTURE SCOPE 10.1 CONCLUSION Hand gesture control is a developing technology in 21st century. The HGC is being developed and used in various technologies to make day to day life easy. This technology is being used in various fields and still in R&D. HGCBOT is one of the examples of what can be achieved with the help of HGC and how it can be useful for both industrial as well as household use. The HGCBOT can be used on various platforms to reduce cost and make work simpler and fun. The main objective of HGCBOT is to help industries, military and hospitals grow and make transportation of commodities simpler as well as removing any human casualties. The vision of the HGCBOT team was to help others grow. So we developed a prototype to show how actually this technology will work and what are its advantages in the life of other fields irrespective to what it is. The main advantage of this project is our HGCBOT provides other individuals a base prototype which they can modify and make new and field specific applications. This bot is a ground for all the new inventions in hand gesture controlled moving applications. 10.2 FUTURE OF HGCBOT This robot has a bright future in all the 3 fields mentioned before namely industries, military and hospitals. In future the robot can be used on war sights for the delivery of food, arms, etc, but the best part is it will be controlled by human being so chances of error are less. This robot can be used in hospitals for various purposes, like delivery of medicines on time to the patients, while the nurse is sitting in her cabin. Attaching a wireless camera to this HGCBOT can make it useful in additional field such as spying, enhanced remote control for industry delivery systems. 39
  • 50. In the future with the help of mapping technology and addition of few more sensors this robot can do wonders. It provides fresh individuals a platform and an idea of how hand gesture control works, new individuals can modify the existing HGCBOT and make it into any fields oriented robot. This bot is the ground of all the other motion control through hand gesture in the future, it can be made into a forklift, a delivery machine, automated wheel chair, automatic parking system, automatic grenade throwing machine, etc. 40
  • 51. REFRENCES 1. www.sparkfun.com 2. www.slideshare.com 3. www.ciruictsathome.com 4. www.instructable.com 5. www.engineergaurage.com 6. www.servocity.com 7. www.hitec.com 8. www.microchips.com 9. www.wikipedia.com 10. www.definition.com 11. www.answer.com 12. www.google.com 13. www.societyofrobot.com 14. www.arduino.cc 15. www.buildtronics.com [1] Harish Kumar Kaura, Vipul Honrao, Sayali Patil, Pravish Shetty "Gesture Controlled Robot using Image Processing". (IJARAI) International Journal of Advanced Research in Artificial Intelligence. Vol. 2, No. 5, 2013 [2] Prashant Sahu, Shubhank Mishra, Vaibhav Mishra, Electronics & communication Engineeing, RGTU Bhopal - "Accelerometer based gesture recognition robot". Control Theory and Informatics. ISSN 2224-5774 (Paper) ISSN 2225-0492 (Online) Vol.4, No.1, 2014 41