Académique Documents
Professionnel Documents
Culture Documents
Submitted by
R.N.Sudheer
Y.Sudheer
S.Sainath
U.Naga Raju
CERTIFICATE
entitled
of
R.N.Sudheer
(Y12AEC538),
S.Sainath(Y12AEC555),
Guide:
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.3 Actuators
11
2.2 Gripper
15
15
17
2.5 RF Jammer
18
2.6 Eclipse
28
36
37
39
40
40
43
44
44
46
47
48
48
50
List of Tables
Table No.
Name Of Table
Page No
11
2.2
22
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.
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
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
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
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)
3. ACTUATION
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:
PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID
PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID
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
11
BAPATLA ENGINEERING COLLEGE,BAPATLA
PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID
Microcontroller
ATmega328P
Operating Voltage
5V
7-12V
6-20V
Table
2.1
PWM Digital I/O Pins
20 ma
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
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
15
BAPATLA ENGINEERING COLLEGE,BAPATLA
PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID
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.
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).
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:
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.
Enhanced Data Rate for both 3Mbps and 2Mbps modulation modes
21
PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID
Provide a full speed of Bluetooth connection with Scatternet and Piconet Support
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
~100 meters
~10 meters
Class 3 1 mW (0 dBm)
~1 meter
Version
Version 1.2
Data Rate
1 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.
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 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 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
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.
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.
PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID
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.
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.
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
36
BAPATLA ENGINEERING COLLEGE,BAPATLA
PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID
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
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
PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID
40
BAPATLA ENGINEERING COLLEGE,BAPATLA
PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID
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
43
BAPATLA ENGINEERING COLLEGE,BAPATLA
PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID
PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID
PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID
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
PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID
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.
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.
PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID
50
BAPATLA ENGINEERING COLLEGE,BAPATLA
PICK AND PLACE ARM AND ROBOT MOVEMENT CONTROL USING ANDROID
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
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.
54
BAPATLA ENGINEERING COLLEGE,BAPATLA