pick and place arm movement control by android

Upload: nagaraju

Post on 07-Jan-2016

37 views

Category:

Documents


5 download

DESCRIPTION

“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.

TRANSCRIPT

A Term Paper Report on

Pick And Place Arm and Robot Movement Control By Using AndroidThesis 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 ProfessorSubmitted by

R.N.Sudheer S.Sainath

Y.Sudheer 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

Professor

Department of ECE

Department of ECE

Bapatla Engineering College

Bapatla Engineering College

Bapatla

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 i

List of Figuresii

Abstract iii

1.Introduction

1.1.Robotics1

1.1.1 History of Robots2

1.1.2 Robot Architecture4

1.1.3 Components of Robot4

1.2 Android7

2.Literature Review

Introduction

2.1 Hardware 10

2.1.1.Arduino10

2.1.2 Gripper12

2.1.3 Stepper Motors15

2.1.4 R.F.Jammer18

2.1.5. Bluetooth Module20

2.2 Software

2.2.1.Android Application Development28

2.2.2.Arduino Environment 29

3. Robot and Application Design

Introduction36

3.1 Robot Design 37

3.1.2 Robot Movement Design37

3.1.3 Arm Movement Design39

3.1.4 Equipment of R.F.Jammer Module 44

3.2 Application Design for Robot

3.2.1 Arduino Programming for Stepper motor45

3.2.2 Development of .apk file47

Conclusions and Future Scope

4.1 Conclusions51

4.2 Future Scope52

References53

List of Figures

Fig No.Name Of FigurePage No

1.1Components of Robot3

1.2Power source5

1.3Actuators5

1.4Android Architecture7

2.1Android uno board11

2.2Gripper15

2.3Stepper motor15

2.4Working of motor17

2.5RF Jammer18

2.6Eclipse28

2.7Language Preferences of Android36

3.1Robot movement37

3.2Movement control39

3.3Arm movement40

3.4Pic and place operation40

3.5Algorithm of robot43

3.6Arduino UNO to RF Jammer44

3.7Frequency response of Jammer44

3.8Arduino UNO to Stepper Motor46

3.9Installing of Android SDK47

3.10Creating a project in android48

3.11Adding information in Eclipse48

3.12Android Emulator50

List of Tables

Table No.Name Of TablePage No

1.1History of Robots2

2.1Arduino uno specifications11

2.2 Bluetooth Distance Range22

2.3Bluetooth Data Rates22

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.

Chapter 1Introduction

1.1 ROBOTICSRobot 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 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:DateSignificanceRobot NameInventor

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

HYPERLINK "http://en.wikipedia.org/wiki/Philo_of_Byzantium" \hsibius, Phi

HYPERLINK \hlo of

HYPERLINK "http://en.wikipedia.org/wiki/Philo_of_Byzantium" \h Byzantium, Heron of Alexandria, and others

1206Created early humanoid automata, programmable automaton bandRobot band, hand-washing automaton

, automated moving peacocksAl-Jazari

1495Designs for a humanoid robotMechanical knightLeonardo da Vinci

1738Mechanical duck that was able to eat, flap its wings, and excreteDigesting DuckJacques de

Vaucanson

1898Nikola Tesla demonstrates first radio- controlled vessel.TeleautomationNikola Tesla

1921First fictional automatons called "robots" appear in the play R.U.R.Rossum's

Universal RobotsKarel Capek

1930sHumanoid robot exhibited at the 1939 and

1940 World's FairsElektraWestinghouse

HYPERLINK "http://en.wikipedia.org/wiki/Westinghouse_Electric_(1886)" \h Electric

HYPERLINK "http://en.wikipedia.org/wiki/Westinghouse_Electric_(1886)" \h Corporation

1948Simple robots exhibiting biological behaviorsElsie and ElmerWilliam GreyWalter

1956First commercial robot, from the Unimation company founded by Geor

HYPERLINK \hge

HYPERLINK "http://en.wikipedia.org/wiki/George_Devol" \h Devol and Joseph Engelberger, based on Devol's patentsUnimateGeorge Devol

1961First installed industrial robot.UnimateGeorge Devol

1963First palletizing robotPalletizerFuji Yusoki Kogyo

1973First industrial robot with six electromechanically driven axesFamulusKUKA RobotGroup

1975Programmable universal manipulation arm, a Unimation productPUMAVictor Scheinman

TABLE 1.1 HISTORY OF ROBOTS

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. STRUCTUREThe 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.

2. POWER SOURCEAt 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 F

HYPERLINK \husion

HYPERLINK "http://en.wikipedia.org/w/index.php?title=Nuclear_Fusion_reactors&action=edit&redlink=1" \h reactors) Fig 1.2 Power Source3. 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 ActuatorsCurrent 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. VISIONComputer 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 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 qua

HYPERLINK \hntum

HYPERLINK "http://en.wikipedia.org/wiki/Quantum_mechanics" \h mechanics to provide a complete understanding of the image formation process.

6. MANIPULATIONRobots 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.

1Mechanical 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.

2Vacuum 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.

1.2ANDROID1.2.1 Architecture of Android:

Fig 1.4 ANDROID ArchitectureAndroid 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.

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.

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 2 Literature Review

2.1 Hardware2.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. Fig 2.1 Arduino Uno BoardTECHNICAL SPECIFICATION:

MicrocontrollerATmega328P

Operating Voltage5V

Input Voltage (recommended)7-12V

Input Voltage (limit)6-20V

Digital I/O Pins14 (of which 6 provide PWM output)

PWM Digital I/O Pins6

Analog Input Pins6

DC Current per I/O Pin20 ma

DC Current for 3.3V Pin50 mA

Flash Memory32 KB (ATmega328P)of which 0.5 KB used by boot loader

SRAM2 KB (ATmega328P)

EEPROM1 KB (ATmega328P)

Clock Speed16 MHz

Length68.6 mm

Width53.4 mm

Weight25 g

Table 2.1 Technical Specification of Arduino Power:

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 center-positive 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 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:

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.Gripper2.1.3 Stepper Motor:

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 StatorAround 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.

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.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:

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.RF Transmitter :

Working voltage: 3V - 12V fo max. power use 12VWorking current: max Less than 40mA max , and min 9mAResonance mode: (SAW)Modulation mode: ASKWorking frequency: Eve 315MHz Or 433MHzTransmission 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.5VWorking current:5.5mA maxWorking method: OOK/ASKWorking frequency: 315MHz-433.92MHzBandwidth: 2MHzSensitivity: excel 100dBm (50)Transmitting velocity: 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.

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.

BoardSelect 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

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.

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

3.Robot and Application Design

3.1 Robot Design

Introduction: In this modern environment everybody uses smart phones which are a part of their day-

to-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. 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.

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 directional wheels they can translate in a total of 8 directions.

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.

3.1.3 Arm Movement

Fig 3.3 Arm Movement

The term robot comes from the Czech wordrobota, 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 therobotic arm. A typical robotic arm is made up of seven metal segments, joined by six joints. The computer controls the robot by rotating individualstep motorsconnected 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.

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 sixdegrees 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 anend effectorfrom 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-inpressure sensorsthat 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.

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.

Algorithm for Designing Arm:

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" .

Fig 3.6 Arduino Uno connected to RF Jammer Fig 3.7 Frequency Response of Jammer3.2 Application Development for Robot3.2.1 Programming Arduino for RobotStepper 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:optionalthe 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 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 Sketch3.2.2Development of .apk file

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.

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 Android4. 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.

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.

Fig 3.12 Android Emulator Chapter 4Conclusions and Future Scope4.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.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.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," inAdvanced Robotics and its Social Impacts (ARSO), 2012 IEEE Workshop on, vol., no., pp.7-12, 21-23 May 20122. van Delden, S.; Whigham, A., "A bluetooth-based architecture for android communication with an articulated robot," inCollaboration Technologies and Systems (CTS), 2012 International Conference on, vol., no., pp.104-108, 21-25 May 20123. Sbnchez, A.J.; Martinez, J.M., "Robot-arm pick and place behavior programming system using visual perception," inPattern 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

EMBED Visio.Drawing.6

_1192085743.vsd

_1192083335.vsd