Vous êtes sur la page 1sur 61

A Term Paper Report on

Pick And Place Arm and Robot Movement Control


By Using Android

Thesis submitted in partial fulfillment of


the requirement for the award of the degree of

Bachelor of Technology (B.Tech)


in

Electronics and Communication Engineering


Under the guidance of
Sri K.Sambasiva Rao
Associate Professor

Submitted by

R.N.Sudheer
Y.Sudheer

S.Sainath
U.Naga Raju

Department of Electronics and Communication


Engineering

Bapatla Engineering College


(Autonomous)
(Affiliated to Acharya Nagarjuna University)

BAPATLA-522 101, A.P, INDIA

Department of Electronics and Communication


Engineering

Bapatla Engineering College


(Autonomous)
(Affiliated to Acharya Nagarjuna University)

CERTIFICATE

This is to certify that the project

entitled

Pick And Place

Arm and Robot Movement Control By Using Android is the bonafide


work

of

R.N.Sudheer

(Y12AEC538),

S.Sainath(Y12AEC555),

Y.Sudheer(Y12AEC581),U.Naga Raju(Y12AEC), submitted in partial fulfillment of


the requirements for the award of the degree of Bachelor of Technology (B.Tech) in
Electronics and Communication Engineering

(ECE) by Acharya Nagarjuna

University during the academic year 2015-2016.

Guide:

Head of the Department:

Sri K.Sambasiva Rao

Dr. B. Chandra Mohan

Associate Professor
Department of ECE
Bapatla Engineering College
Bapatla

Professor
Department of ECE
Bapatla Engineering College
Bapatla

Acknowledgements
It is with the immense pleasure and heartfelt gratitude, I express my sincere thanks to
K.Sambasiva Rao sir, Associate Professor for his useful suggestions, continuous
guidance, and moral support for the progress of my work .
we would feel great to thank our beloved DR. B.Chandra Mohan sir,Head of the
Department ,Electronics& Communication Engineering,Bapatla Engineering College,
for Providing us amenities to complete this Project Work

R.N.Sudheer
S.Sainath
Y.Sudheer
U. Naga Raju

Contents
List of Tables
List of Figures
Abstract
1.Introduction
1.1.Robotics
1.1.1 History of Robots
1.1.2 Robot Architecture
1.1.3 Components of Robot
1.2 Android
2.Literature Review
Introduction
2.1 Hardware
2.1.1.Arduino
2.1.2 Gripper
2.1.3 Stepper Motors
2.1.4 R.F.Jammer
2.1.5. Bluetooth Module
2.2 Software
2.2.1.Android Application Development
2.2.2.Arduino Environment
3. Robot and Application Design
Introduction
3.1 Robot Design
3.1.2 Robot Movement Design
3.1.3 Arm Movement Design
3.1.4 Equipment of R.F.Jammer Module
3.2 Application Design for Robot
3.2.1 Arduino Programming for Stepper motor
3.2.2 Development of .apk file
Conclusions and Future Scope
4.1 Conclusions
4.2 Future Scope
References

i
ii
iii

1
2
4
4
7

10
10
12
15
18
20
28
29
36
37
37
39
44
45
47
51
52
53

List of Figures
Fig No. Name Of Figure

Page No

1.1 Components of Robot

1.2 Power source

1.3 Actuators

1.4 Android Architecture

2.1 Android uno board

11

2.2 Gripper

15

2.3 Stepper motor

15

2.4 Working of motor

17

2.5 RF Jammer

18

2.6 Eclipse

28

2.7 Language Preferences of Android

36

3.1 Robot movement

37

3.2 Movement control

39

3.3 Arm movement

40

3.4 Pic and place operation

40

3.5 Algorithm of robot

43

3.6 Arduino UNO to RF Jammer

44

3.7 Frequency response of Jammer

44

3.8 Arduino UNO to Stepper Motor

46

3.9 Installing of Android SDK

47

3.10 Creating a project in android

48

3.11 Adding information in Eclipse

48

3.12 Android Emulator

50

List of Tables
Table No.

Name Of Table

Page No

1.1 History of Robots

2.1 Arduino uno specifications

11

2.2

22

Bluetooth Distance Range

2.3 Bluetooth Data Rates

22

Abstract
This term paper titled PICK AND PLACE ARM AND ROBOT
CONTROL USING ANDROID combines the knowledge of electronics
and programming. The objective of this project is to design and build a
compact, usable and cheaper pick and place robot for educational purpose
using Arduino as the control system to control all the activities. Android
application is used as an interface to control the pick and place,
movements of bot. A camera is placed on the robot for surveillance and
guiding the operator.

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

Chapter 1

Introduction
1.1 ROBOTICS
Robot is an integral part in automating the flexible manufacturing system that is
greatly in demand these days .Robotics is the branch of engineering science &
Technology related to robots, and their design, manufacture, application, and
structural disposition. Robotics is related to electronics, mechanics, and software.
Robotics research today is focused on developing systems that exhibit modularity,
flexibility, redundancy, fault-tolerance, a general and extensible software environment
and seamless connectivity to other machines, some researchers focus on completely
automating a manufacturing process or a task, by providing sensor based intelligence
to the robot arm, while others try to solidify the analytical foundations on which many
of the basic concepts in robotics are built.
In this highly developing society time and man power are critical constrains for
completion of task in large scales. The automation is playing important role to save
human efforts in most of the regular and frequently carried works. One of the major
and most commonly performed works is picking and placing of jobs from source to
destination.
Present day industry is increasingly turning towards computer-based automation
mainly due to the need for increased productivity and delivery of end products with
uniform quality. The inflexibility and generally high cost of hard-automation systems,
which have been used for automated manufacturing tasks in the past, have led to a
broad based interest in the use of robots capable of performing a variety of
manufacturing functions in a flexible environment and at lower costs. The use of
Industrial Robots characterizes some of contemporary trends in automation of the
manufacturing process. However, present day industrial robots also exhibit a
monolithic mechanical structure and closed-system software architecture. They are
concentrated on simple repetitive tasks, which tend not to require high precision.
The pick and place robot is a microcontroller based mechatronic system that detects
the object, picks that object from source location and places at desired location. In
1
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

military applications this robot is used for Bomb Defusal. In this paper we emphasize
an methodology for building an robot which monitors the warfield and at ultimately
defuse the bomb.

1.1.1 History of Robots:


Date

Significance
Descriptions of more than 100 machines
First
and automata, including a fire engine, a
century
wind organ, a coin-operated machine, and
A.D. and
a steam-powered engine, in Pneumatica
earlier
and Automata by Heron of Alexandria

1206

1495
1738
1898
1921
1930s
1948

1956
1961
1963

Created early humanoid automata,


programmable automaton band

Robot Name

Inventor
Ctesibius, Philo of
Byzantium, Heron
of Alexandria, and
others

Robot band,
hand-washing
automaton

Al-Jazari

, automated
moving peacocks
Mechanical
Designs for a humanoid robot
Leonardo da Vinci
knight
Mechanical duck that was able to eat, flap
Jacques de
Digesting Duck
its wings, and excrete
Vaucanson
Nikola Tesla demonstrates first radioTeleautomation Nikola Tesla
controlled vessel.
First fictional automatons called "robots" Rossum's
Karel Capek
appear in the play R.U.R.
Universal Robots
Westinghouse
Humanoid robot exhibited at the 1939 and
Electric
Elektra
1940 World's Fairs
Corporation
Simple robots exhibiting biological
William Grey
Elsie and Elmer
behaviors
Walter
First commercial robot, from the
Unimation company founded by George
Unimate
George Devol
Devol and Joseph Engelberger, based on
Devol's patents
First installed industrial robot.
Unimate
George Devol
First palletizing robot
Palletizer
Fuji Yusoki Kogyo

2
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

1973
1975

First industrial robot with six


electromechanically driven axes
Programmable universal manipulation
arm, a Unimation product

Famulus

KUKA Robot
Group

PUMA

Victor Scheinman

TABLE 1.1
HISTORY OF
ROBOTS

3
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

1.1.2 Robot Architecture:


Automation as a technology is concerned with the use of mechanical, electrical,
electronic and computer-based control systems to replace human beings with machines,
not only for physical work but also for the intelligent information processing. Industrial
automation, which started in the eighteenth century as fixed automation has transformed
into flexible and programmable automation in the last 15 or 20 years. Computer
numerically controlled machine tools, transfer and assembly lines are some examples in
this category.
1.1.3 Components Of Robot:-

Fig 1.1 Components of Robot


1. STRUCTURE
The structure of a robot is usually mostly mechanical and can be called a
kinematic chain. The chain is formed of links, actuators, and joints which can allow one
or more degrees of freedom. Most contemporary robots use open serial chains in which
each link connects the one before to the one after it. These robots are called serial
robots and often resemble the human arm. Robots used as manipulators have an end
effector mounted on the last link. This end effector can be anything from a welding
device to a mechanical hand used to manipulate the environment.

4
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

2.

POWER SOURCE

At present mostly (lead-acid) batteries are used, but potential power sources could be:
Pneumatic (compressed gases)
Hydraulics (compressed liquids
Flywheel energy storage
Organic garbage (through anaerobic digestion)
Still untested energy sources (e.g. Nuclear
Fusion reactors)

Fig 1.2 Power Source

3. ACTUATION

Actuators are like the "muscles" of a robot, the


parts which convert stored energy into movement. By
far the most popular actuators are electric motors
that spin a wheel or gear, and linear actuators that
control industrial robots in factors. But there are
some recent advances in alternative types of
actuators, powered by electricity, chemicals, or
compressed air.
4. TOUCH

Fig 1.3 Actuators

Current robotic and prosthetic hands receive far less tactile information than the human
hand. Recent research has developed a tactile sensor array that mimics the mechanical
properties and touch receptors of human fingertips. The sensor array is constructed as a
rigid core surrounded by conductive fluid contained by an elastomeric skin. Electrodes are
mounted on the surface of the rigid core and are connected to an impedance-measuring
device within the core. When the artificial skin touches an object the fluid path around the
electrodes is deformed, producing impedance changes that map the forces received from
theobject.
5. VISION
Computer vision is the science and technology of machines that see. As a scientific
discipline, computer vision is concerned with the theory behind artificial systems that

5
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

extract information from images. The image data can take many forms, such as video
sequences and views from cameras.
In most practical computer vision applications, the computers are pre-programmed
to solve a particular task, but methods based on learning are now becoming increasingly
common.
Computer vision systems rely on image sensors which detect electromagnetic radiation
which is typically in the form of either visible light or infra-red light. The sensors
are designed using solid-state physics. The process by which light propagates and reflects
off surfaces is explained using optics. Sophisticated image sensors even require quantum
mechanics to provide a complete understanding of the image formation process.
6.

MANIPULATION

Robots which must work in the real world require some way to manipulate objects;
pick up, modify, destroy, or otherwise have an effect. Thus the 'hands' of a robot are often
referred to as end effectors, while the arm is referred to as a manipulator. Most robot arms
have replaceable effectors, each allowing them to perform some small range of tasks.
Some have a fixed manipulator which cannot be replaced, while a few have one very
general purpose manipulator, for example a humanoid hand.
1

Mechanical Grippers: One of the most common effectors is the gripper. In its
simplest manifestation it consists of just two fingers which can open and close to
pick up and let go of a range of small objects. Fingers can for example be made of a
chain with a metal wire run trough it.

Vacuum Grippers: Pick and place robots for electronic components and for
large objects like car windscreens, will often use very simple vacuum grippers. These
are very simple astrictive devices, but can hold very large loads provided the
pretension surface is smooth enough to ensure suction.

6
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

1.2ANDROID
1.2.1 Architecture of Android:

Fig 1.4 ANDROID Architecture


Android OS architecture is divided into 4 layers :
1. Linux Kernel layer
2. Libraries & Android Runtime
3. Application framework 4
4. Applications

1.2.2 Linux Kernel layer:


This is the heart of the Android OS. This layer contains all the low level device drivers for
the various hardware components of an Android device. It provides the following
functionalities in the Android system:-Hardware Abstraction ,Memory Management
Programs ,Security Settings ,Power Management Software
Other Hardware Drivers (Drivers are programs that control hardware devices.):- Support for
Shared Libraries, Network stack.
7
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

1.2.3 Libraries & Android Runtime:


Libraries:
Libraries carry a set of instructions to guide the device in handling different
types of data. This layer contains all the code that provides the main features of an Android
OS. For example, the SQLite library provides database support so that an application can use
it for data storage. The WebKit library provides functionalities for web browsing.
Surface Manager: It is used for compositing window manager with off-screen buffering.
Off-screen buffering means you can not directly draw into the screen, but your drawings go
to the off-screen buffer. There it is combined with other drawings and form the final screen
the user will see. This off screen buffer is the reason behind the transparency of windows.
SQLite:SQLite is the database engine used in android for data storage purposes
WebKit: It is the browser engine used to display HTML content
OpenGL: Used to render 2D or 3D graphics content to the screen
SGL (Scalable Graphics Library): 2D Graphics
Open GL|ES: 3D Library
Media Framework: Supports playbacks and recording of various audio, video and picture
formats.
Free Type: Font Rendering
libc :System C libraries
Open SSL (Secure Socket Layer ): A cryptographic protocol for providing secure
communication over the internet. ( ex: internet banking)
Android Runtime:
At the same layer as the libraries, the Android runtime provides a set of core libraries that
enable developers to write Android apps using the Java programming language. The Android
runtime also includes the Dalvik virtual machine, which enables every Android application to
run in its own process, with its own instance of the Dalvik virtual machine (Android
applications are compiled into the Dalvik executables). Dalvik is a specialized virtual
machine designed specifically for Android and optimized for battery-powered mobile devices
with limited memory and CPU.

1.2.4.Application framework layer:


Exposes the various capabilities of the Android OS to application developers so that they can
make use of them in their applications.
Our applications directly interact with these blocks of the Android architecture. These
programs manage the basic functions of phone like resource management, voice call
management etc.
8
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

Important blocks in this layer are:


Activity Manager: Manages the activity life cycle of applications. To understand the Activity
component in Android
Content Providers: Manage the data sharing between applications.
Telephony Manager: Manages all voice calls. We use telephony manager if we want to
access voice calls in our application.
Location Manager: Location management, using GPS or cell tower
Resource Manager: Manage the various types of resources we use in our Application.

1.2.5.Applications Layer:
At this top layer, you will find applications that ship with the Android device (such as Phone,
Contacts, Browser, etc.), as well as applications that you download and install from the
Android Market. Any applications that you write are located at this layer.

Example

applications are:
1.SMS client app 2.Dialer 3.Web browser 4. Contact manager 5.Google Maps 6. Gallery

9
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

2 Literature Review
2.1 Hardware
2.1.1 ARDUINO:
The Arduino Uno is a microcontroller board based on the ATmega328. It has 14 digital
input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz
crystal oscillator, a USB connection, a power jack, an ICSP header, and a reset button. It
contains everything needed to support the microcontroller; simply connect it to a computer
with a USB cable or power it with a AC-to-DC adapter or battery to get started. The Uno
differs from all preceding boards in that it does not use the FTDI USB-to-serial driver chip.
Instead, it features the Atmega8U2 programmed as a USB-to-serial converter.
"Uno" means one in Italian and is named to mark the upcoming release of Arduino 1.0. The
Uno and version 1.0 will be the reference versions of Arduno, moving forward. The Uno is
the latest in a series of USB Arduino boards, and the reference model for the Arduino
platform; for a comparison with previous versions.

10
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

Fig 2.1 Arduino Uno Board


TECHNICAL SPECIFICATION:

11
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

Microcontroller

ATmega328P

Operating Voltage

5V

Input Voltage (recommended)

7-12V

Input Voltage (limit)

6-20V

Digital I/O Pins

14 (of which 6 provide PWM output)

Table

2.1
PWM Digital I/O Pins

Analog Input Pins

DC Current per I/O Pin

20 ma

DC Current for 3.3V Pin

50 mA

Flash Memory

32 KB (ATmega328P)
of which 0.5 KB used by boot loader

SRAM

2 KB (ATmega328P)

EEPROM

1 KB (ATmega328P)

Clock Speed

16 MHz

Length

68.6 mm

Width

53.4 mm

Weight

25 g

Technical Specification of Arduino


Power:
12
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

The Arduino Uno can be powered using a USB connection or with an external power supply.
The power source is selected automatically. External(non-USB) power can come either from
AC-to-DC adapter or battery. The adapter can be connected by plugging a 2.1mm centerpositive plug into the boards power jack. Leads from a battery can be inserted in the Gnd and
Vin pin headers of the POWER connector. The board can operate on an external supply of 6
to 20 volts. If supplied with less than 7V the board may be unstable, if using more than 12V,
the voltage regulator may overheat and damage the board.
The power pins are as follows:
VIN:
The input voltage to the Arduino board when it's using an external power source (as opposed
to 5 volts from the USB connection or other regulated power source). You can supply voltage
through this pin, or, if supplying voltage via the power jack, access it through this pin.
5V:
The regulated power supply used to power the microcontroller and other components on the
board. This can come either from VIN via an on-board regulator, or be supplied by USB or
another regulated 5V supply.
3V3:
A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50 mA.
GND: Ground pins.
The Atmega328 has 32 KB of flash memory for storing code (of which 0.5 KB is used for the
bootloader); It has also 2 KB of SRAM and 1 KB of EEPROM (which can be read and
written with the EEPROM library.
Input And Output:
Each of the 14 digital pins on the Uno can be used as an input or output, using pinMode(),
digitalWrite(), and digitalRead() functions.

2.1.2 Grippers
A gripper is a device which enables the holding of an object to be manipulated. The easier
way to describe a gripper is to think of the human hand. Just like a hand, a gripper enables
holding, tightening, handling and releasing of an object. A gripper is just one component of
an automated system. A gripper can be attached to a robot or it can be part of a fixed
automation system. Many styles and sizes of grippers exist so that the correct model can be
13
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

selected

for

the

application.

OperatingPrincipal:
Compressed air is supplied to the cylinder of the gripper body forcing the piston up and
down, which through a mechanical linkage, forces the gripper jaws open and closed. There
are 3 primary motions of the gripper jaws; parallel, angular and toggle. These operating
principals refer to the motion of the gripper jaws in relation to the gripper body.
Parallel Gripper:
The gripper jaws move in a parallel motion in relation to the gripper body. Used in a majority
of applications, parallel grippers are typically more accurate than other style grippers.

Angular Gripper:
The gripper jaws are opened and closed around a central pivot point, moving in a sweeping or
arcing motion. Angular grippers are often used when limited space is available or when the
jaws need to move up and out of the way. Toggle Gripper The pivot point jaw movement acts
as an over-center toggle lock, providing a high grip force to weight ratio. This mechanism
will remain locked even if air pressure is lost.
Differences Between A 2-Jaw And 3-Jaw Gripper:
2-Jaw Gripper:
The most popular style of gripper, all 2 Jaw grippers (angular, parallel and toggle) provide 2
mounting locations for the fingers that come in contact with the part to be grasped. The jaws
move in a synchronous motion opening and closing toward the central axis of the gripper
body
3-Jaw Gripper:
A more specialized style of gripper, all 3 Jaw grippers (parallel and toggle) provide 3
mounting locations for the fingers that come in contact with the part to be grasped. The jaws
move in a synchronous motion opening and closing toward the central axis of the gripper
body. 3 Jaws provide more contact with the part to be grasped and more accurate centering
than 2 jaw models.
Internal Vs External Gripping:

14
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

Grippers are used in two different holding options, External and Internal. The option used is
determined by the geometry of the part to be grasped, the process to be performed,
orientation of the parts to be grasped and the physical space available.
External: External gripping is the most common way to hold parts. The closing force of the
gripper is used to hold the part.
Internal: Internal gripping is used when the part geometry will allow and when the process to
be performed need access to the outside surface of the part grasped. The opening force of the
gripper is used to hold the part.
TOOLING/FINGER DESIGN CONSIDERATIONS:
Custom gripper tooling/fingers are needed for each application. Fingers are used to actually
make contact with the part to be grasped. Careful consideration when designing these fingers
can greatly reduced the size and grip force of the gripper needed for the application. The
encompassing or retention finger shape is preferred because it increases stability and also
reduces the necessary grip force. However, the additional jaw travel required to encompass or
retain the part must be taken into consideration.

Figure 2.2.Gripper

2.1.3 Stepper Motor:

15
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

Fig 2.3 Stepper Motor


Custom gripper tooling stepper motor is an electromechanical device which converts
electrical pulses into discrete mechanical movements. The shaft or spindle of a stepper motor
rotates in discrete step increments when electrical command pulses are applied to it in the
proper sequence. The motors rotation has several direct relationships to these applied input to
these applied input pluses. The sequence of the applied pulses is directly related to the
direction related to the frequency of the input pulses and the length of rotation is directly
related to the number of input pulses applied.
2.1.3.1 The rotor:
The rotor itself is made from two discs, a little like gears, one of which is a magnetic north
pole and the other is a south pole .When we put the two discs back to back, we get north and
south pole teeth alternating around the edge. If you find that hard to picture, imagine your left
hand is a magnetic north pole and is colored red, while your right hand is a magnetic south
pole and colored blue. If you put one hand on top of the other so the fingers of one hand
alternate with the fingers of the other, then look down, you'll see alternating north and south
pole "teeth" (the fingers) around the edge. That's effectively what we have in the rotor of a
stepper motor.
2.1.3.2 The Stator
16
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

Around the edge of the rotor, we have the stator: in this example, four electromagnets that
can be switched on and off individually. Generally the electromagnets in a stepper
motor work in pairs, with each opposing pair of magnets switching on together to
make a north pole at the same time, followed by the magnets at right angles, which
also work together. I prefer to draw it a slightly different way, which I think is
simpler and easier to understand. Exactly what switches on when depends on how
many rotor teeth (steps) there are and how many electromagnet coils surround them:
the geometry and alignment of a stepper motor has to be just right to make the rotor
turn.

Fig 2.4 Working of Motor


The right electromagnet is energized and becomes a north pole (red) and the left
electromagnet becomes a south pole (blue). This pulls the rotor around by one step so a
blue tooth on the rotor snaps toward the right electromagnet and a red tooth snaps toward
the left electromagnet.
1. Now the bottom electromagnet becomes a north pole, the top magnet becomes a south

pole, and the two horizontal magnets are switched off. Again, the teeth of the rotor are
pulled around by one step.
17
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

2. The vertical magnets are now switched off and the horizontal magnets are switched on

again, but with the opposite polarity (pattern of magnetism) that they had before. The
teeth of the rotor advance by one more step.
3. Finally, the vertical magnets are switched on again, in the opposite polarity to before,

and the horizontal magnets are switched off. The rotor mores around one more step.
The whole cycle then repeats.

18
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

2.1.4 RF Jammer:
The Bomb Jammer or IED(Improved Explosive Device) Jammer can neutralize / prevent
deadly criminal acts such as radio controlled Car Bombs, roadside bombs, ambush by remote
IED attacks, assassinations, and remote controlled terrorist events.
A Radio Frequency (RF) Jammer is a device used to disrupt or prevent communication via a
broadcasted RF signal.
RF Jammer can be directional i.e., focus energy where the user intends to jam, directing RF
Jamming signals on areas of concern.
The effective range of a jammer is dependent upon the strength of its power source and the
immediate physical environment (hills or walls which may block the jamming signal).

Fig 2.5 RF Jammer


Lower powered jammers have a call-block range of about 30 feet while higher power units
can create a cellular signal-free zone about the size of a football field.
Jamming:
Through the transmission of a high power signal on the same frequency of a cell phone, the
jamming device creates a competing signal that collides with, and, in effect, cancels out the
cellular signal. Cell phones, which are designed to increase power in the case of low levels of
interference, react to this interference.
Jammer components:
The components which can be located in every jammer include:

19
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

Antenna:
The antenna transmits the jammers interrupting signal. Certain jammers contain an internal
antenna while others have external antennas which give the user a longer range to broadcast
the signal and more control over frequency tuning.
Voltage-controlled oscillator:
The oscillator is responsible for generating the competing radio signal.
Tuning circuit:
In those units the enable user-specified frequency tuning, the tuning circuit controls the
broadcast frequency of the circuit by sending a specific voltage to the oscillator.
Noise generator:
The noise generator, which is part of the tuning circuit, actually creates randomized electric
output within a specific frequency range which is used to disrupt a IED network signal.
RF amplification (gain stage):
This amplifier controls the level of power to the tuning circuit. It is responsible for boosting
the power as necessary to jam signals.
Power Supply:
Smaller jamming devices may use batteries while larger and more power-intensive devices
can be plugged into a standard outlet or connected through the electrical system of a vehicle
RF jammers are used:

Mainly used to disrupt the communications of criminals and terrorists.


In drug raids, jammers can be used to prevent outside communication.
RF jammers to prevent the use of cell-phone activated bombs in subways, airports,
and the routes of presidential motorcades.
20

BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

RF Transmitter :
Working voltage: 3V - 12V fo max. power use 12V
Working current: max Less than 40mA max , and min 9mA
Resonance mode: (SAW)
Modulation mode: ASK
Working frequency: Eve 315MHz Or 433MHz
Transmission power: 25mW (315MHz at 12V)
Frequency error: +150kHz (max)
Velocity : less than 10Kbps
So this module will transmit up to 90m in open area .

RF Receiver :
Working voltage: 5.0VDC +0.5V
Working current:5.5mA max
Working method: OOK/ASK
Working frequency: 315MHz-433.92MHz
Bandwidth: 2MHz
Sensitivity: excel 100dBm (50)
Transmitting velocity: <9.6Kbps (at 315MHz and -95dBm)
the use of an optional antenna will increase the effectiveness of your wireless
communication.

2.1.5 Bluetooth Module:


A Bluetooth module is used for interfacing the Arduino Robot with the Android Smartphone
wirelessly. Here we are using Bluetooth Module 2.0.
Specifications of Bluetooth Module 2.0:

This is a fully qualified Bluetooth version of V2.0+EDR

Enhanced Data Rate for both 3Mbps and 2Mbps modulation modes
21

BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

Easy to use and a 3.3 V is required for its working

Provide a full speed of Bluetooth connection with Scatternet and Piconet Support

UART,USB, PCM interface

Low power operation

Motor Driver:
For controlling the electrical motors used in the Arduino Robot, a motor driver IC L293D Push-Pull Four Channel Driver IC- is used.
Stepper motors:
The DC motors are used for the movement of the Arduino Robot according to the input given
by the user.
Bluetooth is a wireless protocol utilizing short-range communications technology facilitating
data transmission over short distances from fixed and/or mobile devices, creating wireless
personal area networks (PANs). The intent behind the development of Bluetooth was the
creation of a single digital wireless protocol, capable of connecting multiple devices and
overcoming issues arising from synchronization of these devices. Bluetooth uses a very
robust radio technology called frequency hopping spread spectrum. It chops up the data being
sent and transmits chunks of it on up to 75 different frequencies. In its basic mode, the
modulation is Gaussian frequency shift keying (GFSK). It can achieve a gross data rate of 1
Mb/s. Bluetooth provides a way to connect and exchange information between devices such
as mobile phones, telephones, laptops, personal computers, printers, GPS receivers, digital
cameras, and video game consoles over a secure, globally unlicensed Industrial, Scientific,
and Medical (ISM) 2.4 GHz short-range radio frequency bandwidth. The Bluetooth
specifications are developed and licensed by the Bluetooth Special Interest Group (SIG). The
Bluetooth SIG consists of companies in the areas of telecommunication, computing,
networking, and consumer electronics.
Bluetooth is a standard and communications protocol primarily designed for low power
consumption, with a short range (power-class-dependent: 1 meter, 10 meters, 100 meters)
based on low-cost transceiver microchips in each device. Bluetooth enables these devices to
communicate with each other when they are in range. The devices use a radio
communications system, so they do not have to be in line of sight of each other, and can even
be in other rooms, as long as the received transmission is powerful enough. Bluetooth device

22
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

class indicates the type of device and the supported services of which the information is
transmitted during the discovery process.

Class

Maximum Permitted Power


Range
mW(dBm)
(approximate)

Class 1 100 mW (20 dBm)

~100 meters

Class 2 2.5 mW (4 dBm)

~10 meters

Class 3 1 mW (0 dBm)

~1 meter

Table 2.2 Bluetooth Distance Range


In most cases the effective range of class 2 devices is extended if they connect to a class 1
transceiver, compared to pure class 2 network. This is accomplished by the higher sensitivity
and transmission power of Class 1 devices.

Version

Version 1.2

Data Rate

1 Mbit/s

Version 2.0 + EDR 3 Mbit/s

WiMedia Alliance
53 - 480 Mbit/s
(proposed)
Table 2.3 Bluetooth Data Range
Bluetooth devices:
Bluetooth exists in many products, such as telephones, printers, modems and headsets. The
technology is useful when transferring information between two or more devices that are near
each other in low-bandwidth situations. Bluetooth is commonly used to transfer sound data

23
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

with telephones (i.e. with a Bluetooth headset) or byte data with hand-held computers
(transferring files).
Bluetooth protocols simplify the discovery and setup of services between devices. Bluetooth
devices can advertise all of the services they provide. This makes using services easier
because more of the security, network address and permission configuration can be
automated than with many other network types.
Operating system support:
Apple has supported Bluetooth since Mac OS X v10.2 which was released in 2002. For
Microsoft platforms, Windows XP Service Pack 2 and later releases have native support for
Bluetooth. Linux has two popular Bluetooth stacks, BlueZ and Affix. The BlueZ stack is
included with most Linux kernels and it was originally developed by Qualcomm. The Affix
stack was developed by Nokia. FreeBSD features Bluetooth support since its 5.0 release.
NetBSD features Bluetooth support since its 4.0 release. Its Bluetooth stack has been ported
to OpenBSD as well.
Mobile Phone requirements
A mobile phone that is Bluetooth enabled is able to pair with many devices. To ensure the
broadest support of feature functionality together with legacy device support. The OMTP
forum has recently published a recommendations paper, entitled "Bluetooth Local
Connectivity", see external links below to download this paper.
This publication recommends two classes, Basic and Advanced, with requirements that cover
imaging, printing, stereo audio and in car usage.
High-speed Bluetooth:
On 28 March 2006, the Bluetooth Special Interest Group announced its selection of the
WiMedia Alliance Multi-Band Orthogonal Frequency Division Multiplexing (MB-OFDM)
version of UWB for integration with current Bluetooth wireless technology.
UWB integration will create a version of Bluetooth wireless technology with a highspeed/high-data-rate option. This new version of Bluetooth technology will meet the high24
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

speed demands of synchronizing and transferring large amounts of data, as well as enabling
high-quality video and audio applications for portable devices, multi-media projectors and
television sets, and wireless VOIP.
At the same time, Bluetooth technology will continue catering to the needs of very low power
applications such as mouse, keyboards, and mono headsets, enabling devices to select the
most appropriate physical radio for the application requirements, thereby offering the best of
both worlds.
Communication and connection:
A master Bluetooth device can communicate with up to seven devices. This network group of
up to eight devices is called a piconet.
A piconet is an ad-hoc computer network, using Bluetooth technology protocols to allow one
master device to interconnect with up to seven active devices. Up to 255 further devices can
be inactive, or parked, which the master device can bring into active status at any time.
At any given time, data can be transferred between the master and one other device, however,
the devices can switch roles and the slave can become the master at any time. The master
switches rapidly from one device to another in a round-robin fashion. (Simultaneous
transmission from the master to multiple other devices is possible, but not used much.)
Bluetooth specification allows connecting two or more piconets together to form a scatternet,
with some devices acting as a bridge by simultaneously playing the master role and the slave
role in one piconet.
Many USB Bluetooth adapters are available, some of which also include an IrDA adapter.
Older (pre-2003) Bluetooth adapters, however, have limited services, offering only the
Bluetooth Enumerator and a less-powerful Bluetooth Radio incarnation. Such devices can
link computers with Bluetooth, but they do not offer much in the way of services that modern
adapters do.
Setting up connections:
Any Bluetooth device will transmit the following information on demand:

25
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

Device name.

Device class.

List of services.

Technical information, for example, device features, manufacturer, Bluetooth


specification used, clock offset.

Any device may perform an inquiry to find other devices to connect to, and any device can be
configured to respond to such inquiries. However, if the device trying to connect knows the
address of the device, it always responds to direct connection requests and transmits the
information shown in the list above if requested. Use of device services may require pairing
or acceptance by its owner, but the connection itself can be initiated by any device and held
until it goes out of range. Some devices can be connected to only one device at a time, and
connecting to them prevents them from connecting to other devices and appearing in
inquiries until they disconnect from the other device.
Every device has a unique 48-bit address. However these addresses are generally not shown
in inquiries. Instead, friendly Bluetooth names are used, which can be set by the user. This
name appears when another user scans for devices and in lists of paired devices.
Most phones have the Bluetooth name set to the manufacturer and model of the phone by
default. Most phones and laptops show only the Bluetooth names and special programs that
are required to get additional information about remote devices. This can be confusing as, for
example, there could be several phones in range named T610.

Pairing:
Pairs of devices may establish a trusted relationship by learning (by user input) a shared
secret known as a passkey. A device that wants to communicate only with a trusted device
can cryptographically authenticate the identity of the other device. Trusted devices may also
encrypt the data that they exchange over the airwaves so that no one can listen in. The
encryption can, however, be turned off, and passkeys are stored on the device file system, not
on the Bluetooth chip itself. Since the Bluetooth address is permanent, a pairing is preserved,
even if the Bluetooth name is changed. Pairs can be deleted at any time by either device.
Devices generally require pairing or prompt the owner before they allow a remote device to

26
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

use any or most of their services. Some devices, such as mobile phones, usually accept
OBEX business cards and notes without any pairing or prompts.
Certain printers and access points allow any device to use its services by default, much like
unsecured Wi-Fi networks. Pairing algorithms are sometimes manufacturer-specific for
transmitters and receivers used in applications such as music and entertainment.
Bluetooth 2.1 has an optional "touch-to-pair" feature based on NFC. By simply bringing two
devices into close range (around 10cm), pairing can securely take place without entering a
passkey or manual configuration.

Air interface:
The protocol operates in the license-free ISM band at 2.4-2.4835 GHz. To avoid interfering
with other protocols that use the 2.45 GHz band, the Bluetooth protocol divides the band into
79 channels (each 1 MHz wide) and changes channels up to 1600 times per second.
Implementations with versions 1.1 and 1.2 reach speeds of 723.1 kbit/s. Version 2.0
implementations feature Bluetooth Enhanced Data Rate (EDR) and reach 2.1 Mbit/s.
Technically, version 2.0 devices have a higher power consumption, but the three times faster
rate reduces the transmission times, effectively reducing power consumption to half that of
1.x devices (assuming equal traffic load).

List of applications:

Wireless control of and communication between a mobile phone and a hands-free


headset. This was one of the earliest applications to become popular.

Wireless networking between PCs in a confined space and where little bandwidth is
required.

Wireless communications with PC input and output devices, the most common being the
mouse, keyboard and printer.

Transfer of files between devices with OBEX.

Transfer of contact details, calendar appointments, and reminders between devices with
OBEX.

27
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

Replacement of traditional wired serial communications in test equipment, GPS receivers,


medical equipment, bar code scanners, and traffic control devices.

For controls where infrared was traditionally used.

Sending small advertisements from Bluetooth enabled advertising hoardings to other,


discoverable, Bluetooth devices.

Two seventh-generation game consoles, Nintendo's Wii and Sony's PlayStation 3 use
Bluetooth for their respective wireless controllers.

Dial-up internet access on personal computer or PDA using a data-capable mobile phone
as a modem.

28
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

2.2 Software
2.2.1Android Development environment
Eclipse
In computer programming, Eclipse is an integrated development environment (IDE). It
contains a base workspace and an extensible plug-in system for customizing the environment.
Written mostly in Java, Eclipse can be used to develop applications.
Eclipse is used to develop applications in other programming languages: Ada, ABAP, C, C+
+, COBOL, Fortran, Haskell, JavaScript, Lasso, Lua, Natural, Perl, PHP, Prolog, Python.
Android Development Tools (ADT) is a plugin for the Eclipse IDE that is designed to give
you a powerful, integrated environment in which to build Android applications.
ADT extends the capabilities of Eclipse to let you quickly set up new Android projects, create
an application UI, add packages based on the Android Framework API(Application program
interface), debug your applications using the Android SDK tools, and even export signed (or
unsigned) .apk files in order to distribute your application.
Developing in Eclipse with ADT is highly recommended and is the fastest way to get started.
With the guided project setup it provides, as well as tools integration, custom XML editors,
and debug output pane, ADT gives you an incredible boost in developing Android
applications.

Fig 2.6 Eclipse


2.2.2 Arduino Environment
29
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

Programming of Ardiuno:
The Arduino Integrated Development Environment - or Arduino Software (IDE) - contains a
text editor for writing code, a message area, a text console, a toolbar with buttons for
common functions and a series of menus. It connects to the Arduino and Genuino hardware to
upload programs and communicate with them.
Writing Sketches:
Programs written using Arduino Software (IDE) are called sketches. These sketches are
written in the text editor and are saved with the file extension .ino. The editor has features for
cutting/pasting and for searching/replacing text. The message area gives feedback while
saving and exporting and also displays errors. The console displays text output by the
Arduino Software (IDE), including complete error messages and other information. The
bottom righthand corner of the window displays the configured board and serial port. The
toolbar buttons allow you to verify and upload programs, create, open, and save sketches, and
open the serial monitor.
Note: Versions of the Arduino Software (IDE) prior to 1.0 saved sketches with the
extension .pde. It is possible to open these files with version 1.0, you will be prompted to
save the sketch with the .ino extension on save.

Verify
Checks your code for errors compiling it.
Upload
Compiles your code and uploads it to the configured board.
Note: If you are using an external programmer with your board, you can hold down the
"shift" key on your computer when using this icon. The text will change to "Upload
using Programmer"
New
Creates a new sketch.
Open
Presents a menu of all the sketches in your sketchbook. Clicking one will open it within
the current window overwriting its content.
Note: due to a bug in Java, this menu doesn't scroll; if you need to open a sketch late in
the list, use the File | Sketchbook menu instead.
30
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

Save
Saves your sketch.
Serial Monitor
Opens the serial monitor.

Additional commands are found within the five menus: File, Edit, Sketch, Tools, Help. The
menus are context sensitive, which means only those items relevant to the work currently
being carried out are available.
File

New
Creates a new instance of the editor, with the bare minimum structure of a sketch
already in place.
Open
Allows to load a sketch file browsing through the computer drives and folders.
Open Recent
Provides a short list of the most recent sketches, ready to be opened.
Sketchbook
Shows the current sketches within the sketchbook folder structure; clicking on any
name opens the corresponding sketch in a new editor instance.
Examples
Any example provided by the Arduino Software (IDE) or library shows up in this
menu item. All the examples are structured in a tree that allows easy access by topic
or library.
Close
Closes the instance of the Arduino Software from which it is clicked.
Save
Saves the sketch with the current name. If the file hasn't been named before, a name
will be provided in a "Save as.." window.
Save as...
Allows to save the current sketch with a different name.
Page Setup
It shows the Page Setup window for printing.
Print
Sends the current sketch to the printer according to the settings defined in Page Setup.
Preferences
Opens the Preferences window where some settings of the IDE may be customized, as
the language of the IDE interface.
Quit
Closes all IDE windows. The same sketches open when Quit was chosen will be
automatically reopened the next time you start the IDE.

Edit

31
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

Undo/Redo
Goes back of one or more steps you did while editing; when you go back, you may go
forward with Redo.
Cut
Removes the selected text from the editor and places it into the clipboard.
Copy
Duplicates the selected text in the editor and places it into the clipboard.
Copy for Forum
Copies the code of your sketch to the clipboard in a form suitable for posting to the
forum, complete with syntax coloring.
Copy as HTML
Copies the code of your sketch to the clipboard as HTML, suitable for embedding in
web pages.
Paste
Puts the contents of the clipboard at the cursor position, in the editor.
Select All
Selects and highlights the whole content of the editor.
Comment/Uncomment
Puts or removes the // comment marker at the beginning of each selected line.
Increase/Decrease Indent
Adds or subtracts a space at the beginning of each selected line, moving the text one
space on the right or eliminating a space at the beginning.
Find
Opens the Find and Replace window where you can specify text to search inside the
current sketch according to several options.
Find Next
Highlights the next occurrence - if any - of the string specified as the search item in
the Find window, relative to the cursor position.
Find Previous
Highlights the previous occurrence - if any - of the string specified as the search item
in the Find window relative to the cursor position.

Sketch

Verify/Compile
Checks your sketch for errors compiling it; it will report memory usage for code and
variables in the console area.

Upload
Compiles and loads the binary file onto the configured board through the configured
Port.

Upload Using Programmer:


This will overwrite the bootloader on the board; you will need to use Tools > Burn
Bootloader to restore it and be able to Upload to USB serial port again. However, it
allows you to use the full capacity of the Flash memory for your sketch.
32

BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

Export Compiled Binary:


Saves a .hex file that may be kept as archive or sent to the board using other tools.

Show Sketch Folder :


Opens the current sketch folder.

Include Library:
Adds a library to your sketch by inserting #include statements at the start of your
code. For more details, see libraries below. Additionally, from this menu item you can
access the Library Manager and import new libraries from .zip files.

Add File...:
Adds a source file to the sketch (it will be copied from its current location). The new
file appears in a new tab in the sketch window. Files can be removed from the sketch
using the tab menu accessible clicking on the small triangle icon below the serial
monitor one on the right side o the toolbar.

Tools

Auto Format
This formats your code nicely: i.e. indents it so that opening and closing curly braces
line up, and that the statements inside curly braces are indented more.

Archive Sketch
Archives a copy of the current sketch in .zip format. The archive is placed in the same
directory as the sketch.

Fix Encoding & Reload


Fixes possible discrepancies between the editor char map encoding and other
operating systems char maps.

Serial Monitor
Opens the serial monitor window and initiates the exchange of data with any
connected board on the currently selected Port. This usually resets the board, if the
board supports Reset over serial port opening.

33
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

Board
Select the board that you're using.

Port
This menu contains all the serial devices (real or virtual) on your machine. It should
automatically refresh every time you open the top-level tools menu.

Programmer
For selecting a harware programmer when programming a board or chip and not using
the onboard USB-serial connection. Normally you won't need this, but if you're
burning a boot-loader to a new microcontroller, you will use this.

Burn Bootloader
The items in this menu allow you to burn a boot loader onto the microcontroller on an
Arduino board. This is not required for normal use of an Arduino or Genuino board
but is useful if you purchase a new ATmega microcontroller (which normally come
without a bootloader). Ensure that you've selected the correct board from the Boards
menu before burning the bootloader on the target board.

Help
Here you find easy access to a number of documents that come with the Arduino Software
(IDE). You have access to Getting Started, Reference, this guide to the IDE and other
documents locally, without an internet connection. The documents are a local copy of the
online ones and may link back to our online website.

Find in Reference
This is the only interactive function of the Help menu: it directly selects the relevant
page in the local copy of the Reference for the function or command under the cursor.

Sketchbook
The Arduino Software (IDE) uses the concept of a sketchbook: a standard place to store your
programs (or sketches). The sketches in your sketchbook can be opened from the File >
Sketchbook menu or from the Open button on the toolbar. The first time you run the
Arduino software, it will automatically create a directory for your sketchbook. You can view
or change the location of the sketchbook location from with the Preferences dialog.
Beginning with version 1.0, files are saved with a .ino file extension. Previous versions
use the .pde extension. You may still open .pde named files in version 1.0 and later, the
software will automatically rename the extension to .ino.

Tabs, Multiple Files, and Compilation

34
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

Allows you to manage sketches with more than one file (each of which appears in its own
tab). These can be normal Arduino code files (no visible extension), C files (.c extension), C+
+ files (.cpp), or header files (.h).

Uploading
Before uploading your sketch, you need to select the correct items from the Tools > Board
and Tools > Port menus. The boards are described below. On the Mac, the serial port is
probably something like /dev/tty.usbmodem241 (for an Uno or Mega2560 or Leonardo) or
/dev/tty.usbserial-1B1 (for a Duemilanove or earlier USB board), or
/dev/tty.USA19QW1b1P1.1 (for a serial board connected with a Keyspan USB-to-Serial
adapter). On Windows, it's probably or COM2 (for a serial board) or COM4, COM5, COM7,
or higher (for a USB board) - to find out, you look for USB serial device in the ports section
of the Windows Device Manager. On Linux, it should be /dev/ttyACMx , /dev/ttyUSBx or
similar. Once you've selected the correct serial port and board, press the upload button in the
toolbar or select the Upload item from the File menu. Current Arduino boards will reset
automatically and begin the upload. With older boards (pre-Diecimila) that lack auto-reset,
you'll need to press the reset button on the board just before starting the upload. On most
boards, you'll see the RX and TX LEDs blink as the sketch is uploaded. The Arduino
Software (IDE) will display a message when the upload is complete, or show an error.
When you upload a sketch, you're using the Arduino bootloader, a small program that has
been loaded on to the microcontroller on your board. It allows you to upload code without
using any additional hardware. The bootloader is active for a few seconds when the board
resets; then it starts whichever sketch was most recently uploaded to the microcontroller. The
bootloader will blink the on-board (pin 13) LED when it starts (i.e. when the board resets).
Libraries
Libraries provide extra functionality for use in sketches, e.g. working with hardware or
manipulating data. To use a library in a sketch, select it from the Sketch > Import Library
menu. This will insert one or more #include statements at the top of the sketch and compile
the library with your sketch. Because libraries are uploaded to the board with your sketch,
they increase the amount of space it takes up. If a sketch no longer needs a library, simply
delete its #include statements from the top of your code.
There is a list of libraries in the reference. Some libraries are included with the Arduino
software. Others can be downloaded from a variety of sources or through the Library
Manager. Starting with version 1.0.5 of the IDE, you do can import a library from a zip file
and use it in an open sketch.
Third-Party Hardware
Support for third-party hardware can be added to the hardware directory of your sketchbook
directory. Platforms installed there may include board definitions (which appear in the board
menu), core libraries, bootloaders, and programmer definitions. To install, create the
hardware directory, then unzip the third-party platform into its own sub-directory. (Don't use
"arduino" as the sub-directory name or you'll override the built-in Arduino platform.) To
uninstall, simply delete its directory.
35
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

Serial Monitor
Displays serial data being sent from the Arduino or Genuino board (USB or serial board). To
send data to the board, enter text and click on the "send" button or press enter. Choose the
baud rate from the drop-down that matches the rate passed to Serial.begin in your sketch.
Note that on Windows, Mac or Linux, the Arduino or Genuino board will reset (rerun your
sketch execution to the beginning) when you connect with the serial monitor.
You can also talk to the board from Processing, Flash, MaxMSP, etc .
Preferences
Some preferences can be set in the preferences dialog (found under the Arduino menu on the
Mac, or File on Windows and Linux). The rest can be found in the preferences file, whose
location is shown in the preference dialog.
Language Support

Fig 2.7 Language Preference of Arduino

36
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

3.Robot and Application Design


3.1 Robot Design
Introduction:
In this modern environment everybody uses smart phones which are a part of their dayto-day life. They use all their daily uses like newspaper reading, social networking,
home automation control, vehicle security, health maintenance etc in the form of
applications which can be easily installed in their hand held smart phones. This project
approached pick and place arm and robot controlled using android smart phones.
Hence a dedicated application is created to control an embedded robotic hardware.
Embedded hardware is developed on Arduino and to be controlled by an Android
platform smart phone. Arduino is to receive the AT commands from the smart phone
and takes the ease of use.
3.1.Robot Design

3.1.2 Robot Movement Design:


The purpose of the robot control program is to have the freedom to translate the robot in any
direction, and rotate to given angles. Because the robot has omni directional wheels and
almost has a radial symmetric body, few rotational adjustments need to be programmed.
37
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

Instead a creative method of coordinating the four omni directional wheels should be
implemented with appropriate considerations for a kicking mechanism on the front of the
robot.

Input
Robot Data (x, y,
theta)

Destination (x, y)

Processes
Assume
Unblocked
Path to
Location

Output

Calculate Angle to
Destination

Translate to
Destination

Check if Theta is in
Angle Range

Kick

Package
Data for
Transmission

Decompose
Movements into
Motor Commands
Transmit
Commands to
Robots

Fig 3.1 Operations during Robot Movement


Interface:
After processing the image a location for the robot should be available in x,y coordinates.
Additionally, using rudimentary strategy functions, the behavior part of the program should
give a vague idea of where the robot needs to be relocated to. Using these two parameters as
input, the movement is merely a straight line path to the destination. Basic movement
algorithms assume strategy is responsible for collision avoidance and for the destination for
each robot.
Following the main programs evaluation for movement, the instructions need to be translated
into simple motor commands and sent out to the robots using some sort of communication
parser.
Abstraction:
Each robot is assumed to be a member an array. With this in mind, every robot has an array of
4 motors. An individual motor can be decomposed into a single data structure of forward and
reverse (binary), and it is the collection of these states multiplied across the 4 motors that
gives the robot more degrees of freedom. By manipulating the data in the structure, the motor
arrays can be output as packages and the unique combination of direction and speed for each
motor can dictate the robots movements. Additionally, because the robots have omni

38
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

directional

wheels

they

can

translate

in

total

of

directions.

Robots
Robot (0)

Robot (1)

Robot (n)

Motors
Motor (0)

Motor (1)

Motor (2)

Motor (3)

Control (0)

Kicker

Control (1)

Direction
(Forward / Reverse)

Direction
(Forward / Reverse)

Speed

Speed

Movement
Translate

Rotate

FWD

REV

LEF

RIG

LEF

FWD-RIG

FWD-LEF

REV-RIG

REV-LEF

RIG

Fig 3.2 Movement Controlling Structure


Implementation
The easiest method of programming the translations is to manually set each to a function.
However, this method is rather useless in a program with 8 distinct functions. Instead I
propose elementary vector decomposition for movement. If each motor pair is assigned a
direction based on its location on the robot, then by using the two pairs as the x and y
component of the vector, the resultant can be drawn to the given destination.
39
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

3.1.3 Arm Movement

Fig 3.3 Arm Movement


The term robot comes from the Czech word robota, generally translated as "forced labor."
This describes the majority of robots fairly well. Most robots in the world are designed for
heavy, repetitive manufacturing work. They handle tasks that are difficult, dangerous or
boring to human beings.
The most common manufacturing robot is the robotic arm. A typical robotic arm is made up
of seven metal segments, joined by six joints. The computer controls the robot by rotating
individual step motors connected to each joint (some larger arms use hydraulics or
pneumatics). Unlike ordinary motors, step motors move in exact increments This allows the
computer to move the arm very precisely, repeating exactly the same movement over and
over again. The robot uses motion sensors to make sure it moves just the right amount.

40
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

Fig 3.4 Pick and Place Operation


An industrial robot with six joints closely resembles a human arm -- it has the equivalent of a
shoulder, an elbow and a wrist. Typically, the shoulder is mounted to a stationary base
structure rather than to a movable body. This type of robot has six degrees of freedom,
meaning it can pivot in six different ways. A human arm, by comparison, has seven degrees
of freedom.
Your arm's job is to move your hand from place to place. Similarly, the robotic arm's job is to
move an end effector from place to place. You can outfit robotic arms with all sorts of end
effectors, which are suited to a particular application. One common end effector is a
simplified version of the hand, which can grasp and carry different objects. Robotic hands
often have built-in pressure sensors that tell the computer how hard the robot is gripping a
particular object. This keeps the robot from dropping or breaking whatever it's carrying.
Other end effectors include blowtorches, drills and spray painters.
Industrial robots are designed to do exactly the same thing, in a controlled environment, over
and over again. For example, a robot might twist the caps onto peanut butter jars coming
down an assembly line. To teach a robot how to do its job, the programmer guides the arm
through the motions using a handheld controller. The robot stores the exact sequence of
movements in its memory, and does it again and again every time a new unit comes down the
assembly line.

41
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

Most industrial robots work in auto assembly lines, putting cars together. Robots can do a lot
of this work more efficiently than human beings because they are so precise. They always
drill in the exactly the same place, and they always tighten bolts with the same amount of
force, no matter how many hours they've been working. Manufacturing robots are also very
important in the computer industry. It takes an incredibly precise hand to put together a tiny
microchip.
Degree Of Freedom:
The number of DOF that a manipulator possesses is the number of independent position
variables that would have to be specified in order to locate all parts of the mechanism; it
refers to the number of different ways in which a robot arm can move in the particular
direction.
In the case of typical industrial robots, because a manipulator is usually an open kinematic
chain, and because each joint position is usually defined with a single variable, the number of
joints equals the number of degrees of freedom.
We can use the arm to get the idea of degrees of freedom. Keeping the arm straight, moving it
from shoulder, we can move in three ways. Up-and-down movement is called pitch.
Movement to the right and left is called yaw. By rotating the whole arm as screwdriver is
called roll. The shoulder has three degrees of freedom. They are pitch, yaw and roll.
Moving the arm from the elbow only, holding the shoulder in same position constantly. The
elbow joint has the equivalent of pitch in shoulder joint, thus the elbow has one degree of
freedom. Now moving the wrist straight and motion less, we can bend the wrist and up and
down, side to side and it can also twist a little. The lower arm has the same three degrees of
freedom. Thus the robot has totally seven degrees of freedom. Three degrees of freedom are
sufficient to bring the end of a robot arm to any point within its workspace, or work envelope
in three dimensions.

42
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

Algorithm for Designing Arm:

43
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

Fig 3.5 Algorithm of Robot

3.4 Equipment of RF Jammer:


1. Connect the module in the following manner Vcc pin connects to Arduino 5V GND to
Arduino GND and DATA to Arduino Pin 12
2.The button connects to Arduino pin 2 and needs to be earthed
3. The antenna needs to be soldered onto the module. The antenna is 35cm long and soldered
into an antenna slot in the transmitter module.
4. The antenna is to be straight if possible.
The transmitter can be powered by any voltage(Vcc) between 1.5V and 12V. The higher the
voltage , the stronger the RF signal becomes. Just make sure not to exceed 12V because if
you do the transmitter will break, which is bad. The data that the microcontroller will be
sending will go into the pin labeled "Data In" .
44
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

Fig 3.6 Arduino Uno connected to RF Jammer

Fig 3.7 Frequency Response of Jammer


45
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

3.2 Application Development for Robot


3.2.1 Programming Arduino for Robot
Stepper Library
Functions:
Stepper(steps, pin1, pin2)
Stepper(steps, pin1, pin2, pin3, pin4)
Description:
This function creates a new instance of the Stepper class that represents a particular stepper
motor attached to your Arduino board. Use it at the top of your sketch, above setup() and
loop(). The number of parameters depends on how you've wired your motor - either using
two or four pins of the Arduino board.
Parameters:
steps: the number of steps in one revolution of your motor. If your motor gives the number of
degrees per step, divide that number into 360 to get the number of steps (e.g. 360 / 3.6 gives
100 steps). (int)
pin1, pin2: two pins that are attached to the motor (int)
pin3, pin4: optional the last two pins attached to the motor, if it's connected to four pins (int)
Returns: A new instance of the Stepper motor class.
Example: Stepper myStepper = Stepper(100, 5, 6);
setSpeed(rpms)
Description:
Sets the motor speed in rotations per minute (RPMs). This function doesn't make the motor
turn, just sets the speed at which it will when you call step().
Parameters:
rpms: the speed at which the motor should turn in rotations per minute - a positive number
(long)
Returns: None
step(steps)
Description
Turns the motor a specific number of steps, at a speed determined by the most recent call to
setSpeed(). This function is blocking; that is, it will wait until the motor has finished moving
to pass control to the next line in your sketch. For example, if you set the speed to, say, 1

46
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

RPM and called step(100) on a 100-step motor, this function would take a full minute to run.
For better control, keep the speed high and only go a few steps with each call to step().
Parameters:
steps: the number of steps to turn the motor - positive to turn one direction, negative to turn
the other (int)
Returns: None

fig 3.8 Arduino to stepper motor Sketch


3.2.2Development of .apk file
47
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

Downloading and Installing the Android SDK


Theres no cost to download or use the API, and Google doesnt require your

application to

pass a review to distribute your nished programs on the Google Play Store. Although the
Google Play Store requires a small one-time fee to publish applications, if you chose not to
distribute via the Google Play Store, you can do so at no cost. You can download the latest
version of the SDK starter package for your chosen development platform from the Android
development home page at http://developer.android.com/sdk/index.html.
To get started, simply check the boxes corresponding to the newest framework SDK and the
latest version of the tools, compatibility/support library, documentation, and sample code.

Fig 3.9 Installing Android SDK

3.6.2 Developing with Eclipse:


Eclipse is a particularly popular open-source IDE for Java development. Its available for
download for each of the development platforms supported by Android (Windows, Mac OS,
and Linux) from the Eclipse foundation (www.eclipse.org/downloads).

3.6.3 Creating a New Android Project:


To create a new Android project using the Android New Project Wizard, do the following:
1. Select File New Project.
2. Select the Android Project application type from the Android folder, and click

Next.

48
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

3. In the wizard that appears, enter the details for your new project, the Project Name is the
name of your project le. You can also select the location your project should be saved.

Fig 3.10 Creating a Project in Android


4. Select the build target for your application. The build target is the version of the Android
framework SDK that you plan to develop with. In addition to the open sourced Android SDK
libraries available as part of each platform release, Google offers a set of proprietary APIs
that offer additional libraries (such as Maps). If you want to use these Google-speci c APIs,
you must select the Google APIs package corresponding to the platform release you want to
target.
5. The Application Name is the friendly name for your application; the Package Name
species its Java package; the Create Activity option lets you specify the name of a class that
will be your initial Activity; and setting the Minimum SDK lets you specify the minimum
version of the SDK that your application will run on.

Fig 3.11 Adding information in Eclipse


6. When youve entered the details, click Finish. If you selected Create Activity, the ADT
plug-in will create a new project that includes a class that extends Activity. Rather than being
completely empty, the default template implements Hello World. Before modifying the
project, take this opportunity to con gure launch con gurations for running and debugging.
49
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

3.6.4 Creating an Android Virtual Device


AVDs are used to simulate the hardware and software con gurations of different Android
devices, allowing you test your applications on a variety of hardware platforms. There are no
prebuilt AVDs in the Android SDK, so without a physical device, you need to create at least
one before you can run and debug your applications. 1. Select Window AVD Manager (or
select the AVD Manager icon on the Eclipse toolbar).
2. Select the New... button. The resulting Create new Android Virtual Device (AVD) dialog
allows you to congure a name, a target build of Android, an SD card capacity, and device
skin.
3. Create a new AVD called My_AVD that targets Android 4.0.3, includes a 16MB SD
Card, and uses the Galaxy Nexus skin. Click Create AVD and your new AVD will be created
and ready to use.

3.6.5 Running and Debugging Your Android Application:


Youve created your rst project and created the run and debug con gurations for it. Before
making any changes, test your installation and con gurations by running and debugging the
Hello World project. From the Run menu, select Run or Debug to launch the most recently
selected con guration, or select Run Con gurations or Debug Con gurations to select
a specic con guration. If youre using the ADT plug-in, running or debugging your
application does the following: Compiles the current project and converts it to an Android
executable (.dex) Packages the executable and your projects resources into an Android
package (.apk) Starts the virtual device (if youve targeted one and its not already
running) Installs your application onto the target device Starts your application
If youre debugging, the Eclipse debugger will then be attached, allowing you to set
breakpoints and debug your code.

50
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

Fig 3.12 Android Emulator

51
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

Chapter 4
Conclusions and Future Scope
4.1 Conclusion
This project gives working of Robot using Android technology for Pick and place operations
Implementation of jammer to block RF communication in warfield and have capability to
transmit live video. Our project mostly useful for defense operations like bomb diffusion.
Even though bomb is detected it is not easy to defuse by staying nearby. Our project is very
useful in such that it can defuse the bomb by staying at safe distance. This system can further
be developed by enhancing the performance and by adding more features.

52
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

4.2 Future Scope


There are many unsolved problems and fundamental challenges for robotics. At very high
level manipulation and physical interaction with the real world is difficult.
The robot movement can be controlled even if it is out of sight by using Video Stream and
Camera Robot. After few modifications of pick and place mechanism we can improve the
robot for bomb diffusion purpose hence without putting human life in danger we can fight
against terrorism. Our robots can handle dangerous chemicals in chemical lab or in nuclear
reactor labs. With modifications this robot can help physically challenged people.

53
BAPATLA ENGINEERING COLLEGE,BAPATLA

PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID

References:
1. Yoshimi, T.; Iwata, N.; Mizukawa, M.; Ando, Y., "Picking up operation of thin objects by
robot arm with two-fingered parallel soft gripper," in Advanced Robotics and its Social
Impacts (ARSO), 2012 IEEE Workshop on , vol., no., pp.7-12, 21-23 May 2012
2. van Delden, S.; Whigham, A., "A bluetooth-based architecture for android communication
with an articulated robot," in Collaboration Technologies and Systems (CTS), 2012
International Conference on , vol., no., pp.104-108, 21-25 May 2012
3. Sbnchez, A.J.; Martinez, J.M., "Robot-arm pick and place behavior programming system
using visual perception," in Pattern Recognition, 2000. Proceedings. 15th International
Conference on , vol.4, no., pp.507-510 vol.4, 2000
4.Professional Android 4 Application Development by Reto Meier Published by John
Wiley & Sons, Inc.

5. Arduino - ArduinoBoardUno -https://www.arduino.cc/en/Main/arduinoBoardUno

54
BAPATLA ENGINEERING COLLEGE,BAPATLA

Vous aimerez peut-être aussi