You are on page 1of 139

APRIL 2017

OSMANIA UNIVERSITY, HYDERABAD

“Robotic Arm Using C++”


A report in the partial fulfillment of the requirements for the degree

Of
BACHELOR OF ENGINEERING
By
Mohammed Saifuddin 160313739007
Alauddin 160313739014
Syed Hammad Rasheed Quadri 160313739015

Under the guidance of

Mr. Kamel Mohammed Ali Khan Siddiqui


(Assistant Professor)

Department of Electronic and Instrumentation Engineering

Deccan College of Engineering and Technology


Darussalam, Hyderabad-01

1
CERTIFICATE
This is to certify that the dissertation work, “Robotic Arm
Using C++” is work done by

Mohammed Saifuddin 160313739007


Alauddin 160313739014
Syed Hammad Rasheed Quadri 160313739015

Submitted in partial fulfillment for the award of ‘BACHELOR OF


ENGINEERING (B.E)’in Electronics and Instrumentation
Engineering from Deccan College of Engineering and Technology
Affiliated to Osmania University, Hyderabad.

Mr. Kamel Alikhan Siddiqui Mr. Gulam Amer


(Assistant professsor) (Head of the department)
(Internal Guide)

(External Examiner)

2
ACKNOWLEGEMENT

We are beholden to Mr. Kamel Ali Khan Siddiqui, Associate Professor, EIE,
Deccan College of Engineering and Technology, Osmania University, our
guide for assisting us in exigent task. His perpetual supervision and vital
suggestions during the perplexing stages of the project has made this
arduous task, an accomplishment. Without the aid and motivation this
would not have been attainable.
We also want to convey our gratitude to our project coordinator Mr. GULAM
AMER, H.O.D., EIE, Deccan College of Engineering and Technology,
Osmania University, whose support and recommendations have assisted us
at this project.
We will continue our thanks to both Teaching Faculty & the Non-
Teaching Faculty for their help as they provisioned us for all the
necessities for this project.
We are thankful to Our Friends for their aspiring guidance, invaluably
constructive criticism and friendly advice during the project work. We are
sincerely grateful to them for sharing their truthful and illuminating views
on a number of issues related to the project.
We would like to thank ALMIGHTY ALLAH and Our Parents for their love,
care and support which we would not have been able to complete the
project.

Mohammed Saifuddin
Alauddin
Syed Hammad Rasheed Quadri

3
ABSTRACT

Mankind has always strived to give life like qualities to its artifacts in an
attempt to find substitutes for himself to carry out his orders and also to
work in a hostile environment. The popular concept of a robot is of a
machine that looks and works like a human being.

The industry is moving from current state of automation to Robotization, to


increase productivity and to deliver uniform quality. The industrial robots of
today may not look the least bit like a human being although all the
research is directed to provide more and more anthropomorphic and
humanlike features and super-human capabilities in these.

One type of robot commonly used in industry is a robotic manipulator or


simply a robotic arm. It is an open or closed kinematic chain of rigid links
interconnected by movable joints. In some configurations, links can be
considered to correspond to human anatomy as waist, upper arm and
forearm with joint at shoulder and elbow. At end of arm a wrist joint
connects an end effector which may be a tool and its fixture or a gripper or
any other device to work.

Here how a pick and place robot can be designed for a workstation where
loading and packing of lead batteries is been presented. All the various
problems and obstructions for the loading process has been deeply analyzed
and been taken into consideration while designing the pick and place robot.

4
INDEX

S.NO TOPICS NAME PAGE NO.

1. CHAPTER 1…………………………..…INTRODUCTION 9

2. CHAPTER 2………………………….…LITERATURE SURVEY 11


2.1 HISTORY OF ROBOTS 11
2.2 LAW OF ROBOTICS 12

3. CHAPTER 3……………………………..METHODOLOGY 15
3.1 WHAT IS AND WHAT NOT IS A ROBOT? 15
3.2 COMPONENTS OF ROBOT 24
3.3 FACTORS TO BE CONSIDERED 34
3.3.1 CONTROLS 34
3.3.2 AUTONOMY LEVELS 35
3.3.3 BASIC METHODS OF PROGRAMMING 36
ROBOTS 36
3.3.3A TEACH METHOD 38
3.3.3B LEAD THROUGH 38
3.3.3C OFF-LINE PROGRAMMING 38
3.3.3D PROGRAMMING USING ROBOT LOADER 42
VIA UART CONNECTOR 43
3.3.4 STARTING THE ROBOT 55
3.3.5 PROGRAMMING LANGUAGES 62
3.4 KAREL 63
3.4.1 VISUAL LANGUAGE 64
3.4.2 SCRIPTING LANGUAGE 64
3.4.3 PARALLEL LANGUAGE 65
3.4.4 MATLABS 66
3.4.5 C LANGUAGE 67
3.4.6 C++ LANGUAGE 67
3.4.7 VISUAL BASIC .NET 72
3.5 SFETY REQUIREMENTS 74
3.6 SELECTION OF PRODUCT 75
3.7 DESIGNING OF WORK SPACE 75
3.8 DEGREE OF FREEDOM 78
3.9 SELECTION OF PARTS 78
3.10 COMPLETION OF MODEL 78
3.11 PROGRAMMING 85
3.12 INTERFACING WITH THE COMPUTER

5
4. CHAPTER 4…………………………………………. SCOPE 86
4.1 INDUSTRIAL ROBOTS 86
4.2 MOBILE ROBOTS 93
4.3 AGRICULTURE ROBOTS. 97
4.4 TYPES OF ROBOTS AS PER APPLICATIONS 100
4.5 SERVICE ROBOTS 106
4.6 TYPES OF ROBOTS BY LOCOMOTION & 108
KINEMATICS 115
4.6.1 CARTESIAN ROBOT/GANTRY ROBOT 115
4.6.2 CYLINDRICAL ROBOT 116
4.6.3 SPHERICAL/POLAR ROBOT 116
4.6.4 SCARA ROBOT 117
4.6.5 ARTICULATED ROBOT 117
4.6.6 PARALLEL ROBOT

5. CHAPTER 5………………………..…..SELECTION OF TASK 121


5.1 TASKS 121
5.1.1 ROBOT PICK AND PLACE 121
5.1.2 HANDLING OF FLEXIBLE PACKAGES 123
5.1.3 CARTOONING MACHINES 123
5.1.4 ROTARY CARTONERS 124
5.1.5 PALLETIZING AND DEPALLETIZING 125
5.1.6 AUTOMATED PICK & PLACE ROBOTS 125
5.1.7 SEAL MACHINES 125
5.1.8 BAG OPENING 125
5.2 SELECTION OF TASK 126
5.3 WHY PICK & PLACE ROBOTS 126
5.4 DEFINIG WORK STATION 127

6. CHAPTER 6……………………………………LIMITATIONS 128

7. CHAPTER 7……………………………………CONCLUSION 133

CHAPTER 8 ………………………………..…REFERENCES 134

6
LIST OF FIGURES & TABLES

FIGURES
1.1 KEY COMPONENTS OF ROBOTS.

1.2 CIRCUIT DIAGRAM OF ROBOTIC ARM

1.3 ACTUATORS.

1.4 SENSORS.

1.5 GRIPPER

1.6 BLOCK DIAGRAM OF PROCESSOR

1.7 PIN DIAGRAM OF ATMEGA64

2.1 INDUSTRIAL ROBOT.

2.1 AGRICULTURAL ROBOT.

2.2 TELE-ROBOT.

2.3 MOBILE ROBOT.

2.4 SPACE.

2.5 ROLLING ROBOTS.

2.6 SNAKE ROBOTS.

2.7 CLIMBING ROBOT.

2.8 ROBOTIC FISH.

7
3.1 PICK & PLACE ROBOT.

3.2 FLEXIBLE PACKAGING.

3.3 CARTOONIG PROCESS.

3.4 ROTARY CARTOONING.

3.5 PALLETIZING & DEPALLETIZING.

3.6 PICK AND PLACE ROBOT.

3.7 SEALING ROBOTS.

4.1 GRAPHICAL INTERFACE OF MATLAB WORKSPACE.

5.1WORK SPACE LAYOUT.

5.2DEGREE OF FREEDOM.

6.1 INTERFACING OF ROBOT WITH COMPUTER,

8
CHAPTER 1
INTRODUCTION

9
INTRODUCTION

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.

10
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. For detection of object, infrared sensors are used which
detect presence of object as the transmitter to receiver path for infrared
sensor is interrupted by placed object.

11
CHAPTER 2
LITERATURE SURVEY

12
Etymology

The word robotics was derived from the word robot, which was introduced to
the public by Czech writer Karel Capek in his play R.U.R. (Rossum's
Universal Robots), which was published in 1920. The word robot comes
from the Slavic word robota, which means labour. The play begins in a
factory that makes artificial people called robots, creatures who can be
mistaken for humans – very similar to the modern ideas of androids. Karel
Capek himself did not coin the word. He wrote a short letter in reference to
an etymology in the Oxford English Dictionary in which he named his
brother Josef Čapek as its actual originator.

According to the Oxford English Dictionary, the word robotics was first used
in print by Isaac Asimov, in his science fiction short story "Liar!", published
in May 1941 in Astounding Science Fiction. Asimov was unaware that he
was coining the term; since the science and technology of electrical devices
is electronics, he assumed robotics already referred to the science and
technology of robots. In some of Asimov's other works, he states that the
first use of the word robotics was in his short story Runaround (Astounding
Science Fiction, March 1942). However, the original publication of "Liar!"
predates that of "Runaround" by ten months, so the former is generally cited
as the word's origin.

2.1 HISTORY OF ROBOTS

Robot is a word that is both a coinage by an individual person and a


borrowing. It has been in English since 1923 when the Czech writer Karel
Capek's play R.U.R. was translated into English and presented in London
and New York. R.U.R., published in 1921, is an abbreviation of Rossum's
Universal Robots, robot itself comes from Czech robota, "servitude, forced
labor," from rab, "slave." The Slavic root behind robota is orb-, from the
Indo-European root orbh, referring to separation from one's group or
passing out of one sphere of ownership into another. Czech robota is also
similar to another German derivative of this root, namely Arbeit, "work”.

13
Arbeit may be descended from a word that meant "slave labor," and later
generalized to just "labor."

2.2 LAW OF ROBOTICS

Isaac Asimov conceived the robots as humanoids, devoid of feelings, and


used them in a number of stories. His robots were well-designed, fail-safe
machines, whose brains were programmed by human beings. Anticipating
the dangers and havoc such a device could cause, he postulated rules for
their ethical conduct. Robots were required to perform according to three
principles known as “Three laws of Robotics”’ which are as valid for real
robots as they were for Asimov’s robots and they are:

14
1. A robot should not injure a human being or, through inaction,
allow a human to be harmed.

2. A robot must obey orders given by humans except when


thatconflicts with the First Law.

3. A robot must protect its own existence unless that conflicts with the
First or Second law.

These are very general laws and apply even to other machines and
appliances. They are always taken care of in any robot design.

A robot may not harm a human being.

This modification is motivated by a practical difficulty as robots have to


work alongside human beings who are exposed to low doses of radiation.
Because their positronic brains are highly sensitive to gamma rays the
robots are rendered inoperable by doses reasonably safe for humans. The
robots are being destroyed attempting to rescue the humans who are in no
actual danger but "might forget to leave" the irradiated area within the
exposure time limit. Removing the First Law's "inaction" clause solves this
problem but creates the possibility of an even greater one: a robot could
initiate an action that would harm a human (dropping a heavy weight and
failing to catch it is the example given in the text), knowing that it was
capable of preventing the harm and then decide not to do so.

Gaia is a planet with collective intelligence in the Foundation which adopts


a law similar to the First Law, and the Zeroth Law, as its philosophy

Asimov once added a "Zeroth Law"—so named to continue the pattern where
lower-numbered laws supersede the higher-numbered laws—stating that a
robot must not harm humanity. The robotic character R. Daneel Olivaw was
the first to give the Zeroth Law a name in the novel Robots and
Empire; however, the character Susan Calvin articulates the concept in the
short story "The Evitable Conflict".

15
In the final scenes of the novel Robots and Empire, R. Giskard Reventlov is
the first robot to act according to the Zeroth Law. Giskard is telepathic, like
the robot Herbie in the short story "Liar!", and tries to apply the Zeroth Law
through his understanding of a more subtle concept of "harm" than most
robots can grasp. However, unlike Herbie, Giskard grasps the philosophical
concept of the Zeroth Law allowing him to harm individual human beings if
he can do so in service to the abstract concept of humanity. The Zeroth Law
is never programmed into Giskard's brain but instead is a rule he attempts
to comprehend through pure metacognition. Though he fails – it ultimately
destroys his positronic brain as he is not certain whether his choice will
turn out to be for the ultimate good of humanity or not – he gives his
successor R. Daneel Olivaw his telepathic abilities. Over the course of many
thousands of years Daneel adapts himself to be able to fully obey the Zeroth
Law.

16
CHAPTER 3

METHODOLOGY

17
3.1 WHAT IS AND WHAT IS NOT A ROBOT?

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.

1FIG 1.1 KEY COMPONENTS OF A ROBOT.

18
Figure 2 : PCB

Figure 3 : Servo Motor

Figure 3 Keyboard

19
Figure 4 Finger A

Figure 5 Finger B

Figure 6 Program Adaptor

Figure 7 Program Lead

Figure 8 Keyboard Lead

20
Figure 9 Servo Extension Lead

Figure 10 Robot Arm Base(Heat Sink)

Main Mechanical Parts Construction:

Figure 11 Bottom Plate

21
Figure 12 Arm

Figure 13 Finger with Torque Clutch

22
Figure 14 Circuit Diagram of Robotic Arm

23
Specifications:
- ATMEGA64 processor
- Various available I/Os [Inputs/Outputs]
- I2C Bus
- Torque clutch
- 6 Servos (4 Pcs. S06NF and 2 Pcs. S05NF)
- 100% metal
- Arm length: 390 mm
- Height: 460 mm
- Base diameter: 210 mm
- Power supply: 9 -14V/3-4A

Powerful Atmel ATMEGA64 8-Bit Microcontroller


◊ Speed 16 MIPS (=16 Million Instructions per Second) at 16MHz clock
frequency
◊ Memory: 64KB Flash ROM, 4KB SRAM, 2KB EEPROM
◊ Freely programmable in C (using WinAVR / avr-gcc)

24
● Flexible expansion system, based on the I²C-Bus
◊ Only two signals required (TWI -> “Two Wire Interface”)
◊ Transfer speed up to 400kBit/s
◊ Master->Slave architecture
◊ Up to 127 Slaves may be connected to the bus simultaneously
◊ Very popular bus-system. The market provides a lot of standard ICs,
sensors and other components, which may often be connected directly.

● Mounting possibilities for wireless modules


◊ RP6v2 WIFI
◊ ARX-BT3 Bluetooth
◊ ARX-WRL [APC-220]

● USB PC Interface for program uploads from PC to microcontroller


◊ Wired connection for maximum transfer speed. Program upload will
usually run at 500kBaud, filling the total free memory space (30KB, 2KB
are reserved for the Bootloader) within seconds.
◊ The interface may be used for programming all available expansion
modules for the robot arm with AVR Microcontrollers
(RP6v2-WIFI module).
◊ It may be used for communication between the robot and expansion
modules. For example you can use this for debugging purposes by
transferring measurement data, text messages and other data
to the PC.
◊ The interface driver provides a virtual comport (VCP) for all popular
operating systems including Windows 2K/XP/Vista and Linux.
The VCP can be used in standard terminal programs and customized
software.

25
On the robot arm mainboard are a few LEDs, here follows a short
explanation:
The yellow LED “main _pwr” shows if there is an external voltage and if the
robot is switched on.
If the Red Led “Servo_Pwr” only burns when the DC/DC convertor for the
servo power is switched on by the microprocessor. This is controlled by the
software.There are four blue status Leds “SL1-4” which are controlled
directly by the microprocessor.
We can use these Leds for our own program applications.
Common people are easily influenced by science fiction and thus imagine
a robot as a humanoid that can walk, see, hear, speak, and do the desired
work. But the scientific interpretation of science fiction scenario
propounds a robot as an automatic machine that is able to interact with
and modify the environment in which it operates. Therefore, it is
essentialto define what constitutes a robot. Different definitions from
diverse sources are available for a robot.

26
3.2 COMPONENTS OF ROBOT:-

1. STRUCTURE

The structure of a robot is usually mostly mechanical and can be called a


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

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 Fusionreactors)

3. ACTUATION

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

27
FIG 1.2 ACTUATORS

4. TOUCH

Current robotic and prosthetic hands receive far less tactile information
than the human hand. Recent researchhas 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 the object.

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

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

Electric motors
Electric motor
The vast majority of robots use electric motors, often brushed and brushless
DC motors in portable robots or AC motors in industrial robots
and CNC machines. These motors are often preferred in systems with lighter
loads, and where the predominant form of motion is rotational.

Linear actuators
Main article: Linear actuator
Various types of linear actuators move in and out instead of by spinning,
and often have quicker direction changes, particularly when very large forces
are needed such as with industrial robotics. They are typically powered by
compressed and oxidized air (pneumatic actuator) or an oil (hydraulic
actuator).

Series elastic actuators


A flexure is designed as part of the motor actuator, to improve safety and
provide robust force control, energy efficiency, shock absorption (mechanical
filtering) while reducing excessive wear on the transmission and other
mechanical components. The resultant lower reflected inertia can improve
safety when a robot is interacting with humans or during collisions. It has
been used in various robots, particularly advanced manufacturing robots
and walking humanoid robots.

29
Air muscles
Pneumatic artificial muscles, also known as air muscles, are special tubes
that expand (typically up to 40%) when air is forced inside them. They are
used in some robot applications.

Muscle wire
Muscle wire, also known as shape memory alloy, Nitinol or Flexinol wire, is a
material which contracts (under 5%) when electricity is applied. They have
been used for some small robot applications.

Electroactive polymers
EAPs or EPAMs are a new plastic material that can contract substantially
(up to 380% activation strain) from electricity, and have been used in facial
muscles and arms of humanoid robots, and to enable new robots to
float, fly, swim or walk.

Piezo motors
Piezoelectric motor
Recent alternatives to DC motors are piezo motors or ultrasonic motors.
These work on a fundamentally different principle, whereby tiny piezo
ceramic elements, vibrating many thousands of times per second, cause
linear or rotary motion. There are different mechanisms of operation; one
type uses the vibration of the piezo elements to step the motor in a circle or
a straight line. Another type uses the piezo elements to cause a nut to
vibrate or to drive a screw. The advantages of these motors
are nanometer resolution, speed, and available force for their size. These
motors are already available commercially, and being used on some robots.

Elastic nanotubes

Elastic nanotubes are a promising artificial muscle technology in early-stage


experimental development. The absence of defects in carbon
nanotubes enables these filaments to deform elastically by several percent,
The absence of defects in carbon nanotubes enables these filaments to

30
deform elastically by several percent, with energy storage levels of perhaps
10 J/cm3 for metal nanotubes. Human biceps could be replaced with an
8 mm diameter wire of this material. Such compact "muscle" might allow
future robots to outrun and out jump humans.

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

2.Vacuum Grippers: Pick and place robots for electronic components and
for largeobjects 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.

31
BLOCK DIAGRAM OF ATmega644PA MICROCONTROLLER

Fig. 4.2.1. Block Diagram of ATmega644PA Microcontroller

The Atmel® ATmega644PA is a low-power CMOS 8-bit microcontroller based


on the AVR enhanced RISC architecture. By executing powerful instructions
in a single clock cycle, the ATmega644PA achieves throughputs close to
1MIPS per MHz. This empowers system designer to optimize the device for
power consumption versus processing speed. The Atmel AVR core combines
a rich instruction set with 32 general purpose working registers. All the 32
registers are directly connected to the Arithmetic Logic Unit (ALU), allowing
two independent registers to be accessed in a single instruction executed in
one clock cycle. The resulting architecture is more code efficient while
achieving throughputs up to ten times faster than conventional CISC
microcontrollers. The ATmega644PA provides the following features:
64Kbytes of In-System Programmable Flash with Read-While-Write
capabilities, 2Kbytes EEPROM, 4Kbytes SRAM, 32 general purpose I/O
lines, 32 general purpose working registers, Real Time Counter (RTC), three

32
flexible Timer/Counters with compare modes and PWM, two serial
programmable USARTs , one byte-oriented 2-wire Serial Interface (I2C), a 8-
channel 10-bit ADC with optional differential input stage with
programmable gain, a programmable Watchdog Timer with internal
Oscillator, an SPI serial port, IEEE std. 1149.1 compliant JTAG test
interface, also used for accessing the On-chip Debug system and
programming and six software selectable power saving modes. The Idle
mode stops the CPU while allowing the SRAM, Timer/Counters, SPI port,
and interrupt system to continue functioning. The Power-down mode saves
the register contents but freezes the Oscillator, disabling all other chip
functions until the next interrupt or hardware reset. In Power-save mode,
the asynchronous timer continues to run, allowing the user to maintain a
timer base while the rest of the device is sleeping. The ADC Noise Reduction
mode stops the CPU and all I/O modules except asynchronous timer and
ADC to minimize switching noise during ADC conversions. In Standby
mode, the crystal/resonator oscillator is running while the rest of the device
is sleeping. This allows very fast start-up combined with low power
consumption. In Extended Standby mode, both the main oscillator and the
asynchronous timer continue to run. Atmel offers the QTouch library for
embedding capacitive touch buttons, sliders and wheels functionality into
AVR microcontrollers. The patented charge-transfer signal acquisition offers
robust sensing and includes fully debounced reporting of touch keys and
includes Adjacent Key Suppression (AKS™) technology for unambiguous
detection of key events. The easy-to-use QTouch Suite tool chain allows you
to explore, develop and debug your own touch applications. The device is
manufactured using Atmel’s high density non-volatile memory technology.
The On-chip ISP Flash allows the program memory to beL reprogrammed In-
System through an SPI serial interface, by a conventional nonvolatile
memory programmer, or by an On-chip Boot program running on the AVR
core. The Boot program can use any interface to download the application
program in the Application Flash memory. Software in the Boot Flash
section will continue to run while the Application Flash section is updated,
providing true Read-While-Write operation. By combining an 8-bit RISC CPU
with In-System Self-Programmable Flash on a monolithic chip, the Atmel
ATmega644PA is a powerful microcontroller that provides a highly flexible

33
and cost effective solution to many embedded control applications. The
ATmega644PA is supported with a full suite of program and system
development tools including: C Compilers, Macro Assemblers, Program
Debugger/Simulators, In-Circuit Emulators, and Evaluation kits.

PIN CONFIGURATIONS

Fig. 4.2.2. Pin Diagram of ATmega644PA Microcontroller

4.2.3 PIN DESCRIPTIONS

VCC
Digital supply voltage.

GND
Ground.

34
Port A (PA [7:0])

This port serves as analog inputs to the Analog-to-digital Converter. Atmel


ATmega644PA [DATASHEET] Atmel-42717C-
ATmega644PA_Datasheet_Complete-10/2016 14.This is an 8-bit, bi-
directional I/O port with internal pull-up resistors, individually selectable
for each bit. The output buffers have symmetrical drive characteristics, with
both high sink and source capability. As inputs, the port pins that are
externally pulled low will source current if pull-up resistors are activated.
Port pins are tri-stated when a reset condition becomes active, even if the
clock is not running.

Port B (PB [7:0])

This is an 8-bit, bi-directional I/O port with internal pull-up resistors,


individually selectable for each bit. The output buffers have symmetrical
drive characteristics, with both high sink and source capability. As inputs,
the port pins that are externally pulled low will source current if pull-up
resistors are activated. Port pins are tri-stated when a reset condition
becomes active, even if the clock is not running. This port also serves the
functions of various special features.

Port C (PC [7:0])

This is an 8-bit, bi-directional I/O port with internal pull-up resistors,


individually selectable for each bit. The output buffers have symmetrical
drive characteristics, with both high sink and source capability. As inputs,
the port pins that are externally pulled low will source current if pull-up
resistors are activated. Port pins are tri-stated when a reset condition
becomes active, even if the clock is not running. This port also serves the
functions of the JTAG interface, along with special features.

35
Port D (PD [7:0])

This is an 8-bit, bi-directional I/O port with internal pull-up resistors,


individually selectable for each bit. The output buffers have symmetrical
drive characteristics, with both high sink and source capability. As inputs,
the port pins that are externally pulled low will source current if pull-up
resistors are activated. Port pins are tri-stated when a reset condition
becomes active, even if the clock is not running. This port also serves the
functions of various special features.

RESET

Reset input. A low level on this pin for longer than the minimum pulse
length will generate a reset, even if the clock is not running. Shorter pulses
are not guaranteed to generate a reset.

XTAL1
Input to the inverting Oscillator amplifier and input to the internal clock
operating circuit.

XTAL2
Output from the inverting Oscillator amplifier.

AVCC

AVCC is the supply voltage pin for Port A and the Analog-to-digital
Converter. It should be externally connected to VCC, even if the ADC is not
used. If the ADC is used, it should be connected to VCC through a low-pass
filter.

AREF
This is the analog reference pin for the Analog-to-digital Converter.

36
3.3 FACTORS TO BE CONSIDERED

The various factors to be considered while designing of pick and place


robots are been discussed as follows. The factors are all important while
designing procedure of the robot.

3.3.1 CONTROLS

The mechanical structure of a robot must be controlled to perform tasks.


The control of a robot involves three distinct phases - perception,
processing, and action. Sensors give information about the environment or
the robot itself (e.g. the position of its joints or its end effector). This
information is then processed to calculate the appropriate signals to the
actuators (motors) which move the mechanical.

37
The processing phase can range in complexity. At a reactive level, it
may translate raw sensor information directly into actuator commands.
Sensor fusion may first be used to estimate parameters of interest (e.g. the
position of the robot's gripper) from noisy sensor data. An immediate task
(such as moving the gripper in a certain direction) is inferred from these
estimates. Techniques from control theory convert the task into commands
that drive the actuators.

At longer time scales or with more sophisticated tasks, the robot may
need to build and reason with a "cognitive" model. Cognitive models try to
represent the robot, the world, and how they interact. Pattern recognition
and computer vision can be used to track objects. Mapping techniques can
be used to build maps of the world. Finally, motion planning and other
artificial intelligence techniques may be used to figure out how to act. For
example, a planner may figure out how to achieve a task without hitting
obstacles, falling over, etc.

3.3.2 AUTONOMY LEVELS

Control systems may also have varying levels of autonomy.

1. Direct interaction is used for hap tic or tale-operated devices, and the
human has nearly complete control over the robot's motion.

2. Operator-assist modes have the operator commanding medium-to-


high-level tasks, with the robot automatically figuring out how to
achieve them.

3. An autonomous robot may go for extended periods of time without


human interaction. Higher levels of autonomy do not necessarily
require more complex cognitive capabilities. For example, robots in
assembly plants are completely autonomous, but operate in a fixed
pattern.

38
Another classification takes into account the interaction between
human control and the machine motions.

1. Teleportation: - A human controls each movement; each machine


actuator change isspecified by the operator.

2. Supervisory: - A human specifies general moves or position


changes and themachine decides specific movements of its
actuators.

3. Task-level autonomy: - The operator specifies only the task and


the robot managesitself to complete it.

4. Full autonomy: - The machine will create and complete all its tasks
without humaninteraction.

3.3.3 BASIC METHODS OF PROGRAMMING ROBOTS

There are three basic methods for programming Industrial robots but
currently over 90% are programmed using the teach method.

3.3.3A Teach Method

The logic for the program can be generated either using a menu based
system or simply using a text editor but the main characteristic of this
method is the means by which the Robot is taught the positional data. A
teach pendant with Controls to drive the robot in a number of different co-
ordinate systems is used to manually drive the robot to the desired
locations. These locations are then stored with names that can be used
within the robot program. The co-ordinate systems available on a standard
jointed arm robot are:-

39
 Joint Co-ordinates
The robot joints are driven independently in either direction.

 Global Co-ordinates
The tool centre point of the robot can be driven along the
X, Y or Z axes of the Robots global axis system. Rotations of the
tool around these axes can also be performed

• Tool Co-ordinates
Similar to the global co-ordinate system but the axes of this
one are attached to the tool centre point of the robot and therefore move
with it. This system is especially useful when the tool is near to the work
piece.

• Work piece Co-ordinates


With many robots it is possible to set up a co-ordinate system
at any point within the working area. These can be especially useful
where small adjustments to the program are required as it is easier
to make them along a major axis of the co-ordinate system than
along a general line. The effect of this is similar to moving the
position and orientation of the global co-ordinate system.

3.3.3B LEAD THROUGH

This system of programming was initially popular but has now almost
disappeared. It is still however used by many paint spraying robots. The
robot is programmed by being physically moved through the task by an
operator. This is exceedingly difficult where large robots are being used and
sometimes a smaller version of the robot is used for this purpose. Any
hesitations or inaccuracies that are introduced into the program cannot be
edited out easily without reprogramming the whole task. The robot
controller simply records the joint positions at a fixed time interval and then
plays this back.

40
3.3.3C OFF-LINE PROGRAMMING

Similar to the way in which CAD systems are being used to generate
NC programs for milling machines it is also possible to program robots from
CAD data. The CAD models of the components are used along with models
of the robots being used and the fixturing required. The program structure
is built up in much the same way as for teach programming but intelligent
tools are available which allow the CAD data to be used to generate
sequences of location and process information. At present there are only a
few companies using this Technology as it is still in its infancy but its use is
increasing each year. The benefits of this form of programming are:-

• Reduced down time for programming.


• Programming tools make programming easier.
• Enables concurrent engineering and reduces product lead time.

3.3.3D Programming using Robot Loader via UART Connector

The FT232R is the latest device to be added to FTDI’s range of USB UART
interface Integrated Circuit Devices. The FT232R is a USB to serial UART
interface with optional clock generator output, and the new FTDIChip-ID™
security dongle feature. In addition, asynchronous and synchronous bit
bang interface modes are available. USB to serial designs using the FT232R
have been further simplified by fully integrating the external EEPROM, clock
circuit and USB resistors onto the device.

41
Functional Block Descriptions

3.3V LDO Regulator


The 3.3V LDO Regulator generates the 3.3V reference voltage for driving the
USB transceiver cell output buffers. It requires an external decoupling
capacitor to be attached to the 3V3OUT regulator output pin. It also
provides 3.3V power to the 1.5kΩ internal pull up resistor on USBDP. The
main function of this block is to power the USB Transceiver and the Reset
Generator Cells rather than to power external logic. However, external
circuitry requiring a 3.3V nominal supply at a current of around than 50mA
could also draw its power from the 3V3OUT pin, if required.

USB Transceiver
The USB Transceiver Cell provides the USB 1.1 / USB 2.0 full-speed
physical interface to the USB cable. The output drivers provide 3.3V level
slew rate control signalling, whilst a differential receiver and two single
ended receivers provide USB data in, SEO and USB Reset condition
detection. This Cell also incorporates internal USB series resistors on the
USB data lines, and a 1.5kΩ pull up resistor on USBDP.

42
USB DPLL - The USB DPLL cell locks on to the incoming NRZI USB data
and provides separate recovered clock and data signals to the SIE block.

Internal 12MHz Oscillator - The Internal 12MHz Oscillator cell generates a


12MHz reference clock input to the x4 Clock multiplier. The 12MHz
Oscillator is also used as the reference clock for the SIE, USB Protocol
Engine and UART FIFO controller blocks

Clock Multiplier / Divider - The Clock Multiplier / Divider takes the


12MHz input from the Oscillator Cell and generates the 48MHz, 24MHz,
12MHz, and 6MHz reference clock signals. The 48Mz clock reference is used
for the USB DPLL and the Baud Rate Generator blocks. ClockMultiplier
/DividerUARTFIFO

Serial Interface Engine (SIE) - The Serial Interface Engine (SIE) block
performs the Parallel to Serial and Serial to Parallel conversion of the USB
data. In accordance to the USB 2.0 specification, it performs bit stuffing /
un-stuffing and CRC5 / CRC16 generation / checking on the USB data
stream.

USB Protocol Engine - The USB Protocol Engine manages the data stream
from the device USB control endpoint. It handles the low level USB protocol
(Chapter 9) requests generated by the USB host controller and the
commands for controlling the functional parameters of the UART.

FIFO TX Buffer (128 bytes) - Data from the USB data out endpoint is
stored in the FIFO TX buffer and removed from the buffer to the UART
transmit register under control of the UART FIFO controller.

FIFO RX Buffer (256 bytes) - Data from the UART receive register is stored
in the FIFO RX buffer prior to being removed by the SIE on a USB request
for data from the device data in endpoint.

43
UART FIFO Controller - The UART FIFO controller handles the transfer of
data between the FIFO RX and TX buffers and the UART transmit and
receive registers.
UART Controller with Programmable Signal Inversion and High

Drive - Together with the UART FIFO Controller the UART Controller
handles the transfer of data between the FIFO RX and FIFO TX buffers and
the UART transmit and receive registers. It performs asynchronous 7 / 8 bit
Parallel to Serial and Serial to Parallel conversion of the data on the RS232
(RS422 and RS485) interface. Control signals supported by UART mode
include RTS, CTS, DSR , DTR, DCD and RI. The UART Controller also
provides a transmitter enable control signal pin option (TXDEN) to assist
with interfacing to RS485 transceivers. RTS / CTS, DSR / DTR and X-On /
X-Off handshaking options are also supported. Handshaking, where
required, is handled in hardware to ensure fast response times. The UART
also supports the RS232 BREAK setting and detection conditions. A new
feature, programmable in the internal EEPROM allows the UART signals to
each be individually inverted. Another new EEPROM programmable feature
allows a high signal drive strength to be enabled on the UART interface and
CBUS pins.

Baud Rate Generator - The Baud Rate Generator provides a x16 clock
input to the UART Controller from the 48MHz reference clock and consists
of a 14 bit prescaler and 3 register bits which provide fine tuning of the
baud rate (used to divide by a number plus a fraction or “sub-integer”). This
determines the Baud Rate of the UART, which is programmable from 183
baud to 3 million baud.
The FT232R supports all standard baud rates and non-standard baud rates
from 300 Baud up to 3 Megabaud. Achievable non-standard baud rates are
calculated as follows -
Baud Rate = 3000000 / (n + x)
where n can be any integer between 2 and 16,384 ( = 214 ) and x can be a
sub-integer of the value 0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, or 0.875.

44
When n = 1, x = 0, i.e. baud rate divisors with values between 1 and 2 are
not possible.
This gives achievable baud rates in the range 183.1 baud to 3,000,000
baud. When a non-standard baud rate is required simply pass the required
baud rate value to the driver as normal, and the FTDI driver will calculate
the required divisor, and set the baud rate. See FTDI application note
AN232B-05 for more details.

RESET Generator - The integrated Reset Generator Cell provides a reliable


power-on reset to the device internal circuitry on power up. A RESET# input
pin is provided to allow other devices to reset the FT232R. RESET# can be
tied to VCCIO or left unconnected, unless it is a requirement to reset the
device from external logic or an external reset generator I.C.

Internal EEPROM - The internal EEPROM in the FT232R can be used to


store USB Vendor ID (VID), Product ID (PID), device serial number, product
description string, and various other USB configuration descriptors. The
internal EEPROM is also used to configure the CBUS pin functions. The
device is supplied with the internal EEPROM settings preprogrammed

45
3.3.4 Starting the Robot
Starting the Robot
1. First check all mechanical assembly and electronic of the
robot arm.
2. Connect the power 12V (18 V = absolute max.).
3. Switch the robot on with the main On/Off switch.

Voltage supply

Power adaptor
There are 2 options to power the robot. The easiest solution is to
connect the included power adaptor with an output voltage of 12V/3Amps
to the DC input. This way, the voltage is connected to the INPUT of
the voltage regulator.

46
Batteries
The second solution is to connect a battery to the battery terminal(9-14V). If
the voltage drops below < 6.7 V, a warning is displayed.
As soon as the Robot Arm is connected to a power supply, the servosmove
slightly and the yellow LED (Power LED) lights up.

47
So, the start was not that and it looks as if the job is but the really
challenging work has only begun...

Software Installation
Let’s do the software installation now. A properly installed software is of
paramountimportance for all following chapters.
As you need administrator rights, you have to log into your system as an
administrator.

The user must have basic knowledge of Windows or Linux based computers
and be familiar with current programs such as file managers, web browsers,
text editors, file compression software (WinZip, WinRAR, unzip and
others)and eventually Linux shell etc. If your computer knowledge is very
limited, youshould learn more about systems before you start using the
Robot Arm. Thismanual is not intended as an introduction to computers
which would go muchfarther. It is only aimed at the Robot Arm, its
programming and the specificsoftware required.
We will start with the installation of WinAVR.
WinAVR is a collection of many usefuland necessary programs for the
software development for AVR micro controllersin C language. In addition to
the GCC for AVR (designated by the term “AVR-GCC”,WinAVR includes the
convenient source texteditor “Programmers Notepad 2” that we will also use
for the program developmentof the Robot Arm.

RobotLoader
The RobotLoader has been developed to easily load new programs and all
extension modules onto the Robot ArmRobotLoader.exe file that you can
start with a double-click.

Just unpack them directly into a directory at your convenience on the hard
disk. It is recommended to unpack the example programs into a folder on a

48
data partition. Or in the “My files” folder in a sub-folder “Robot
Arm\Examples\"or else under Linux into the Home directory. It’s entirely up
to you.

Connection of the USB interface – Windows


Linux users can skip to the next section!
There are several options to install the USB interface, the easiest
being the installation of the driver BEFORE the first connection
of the hardware.
For 32 and 64 Bit Windows 7, XP, Vista, Server 2003 and
2000 systems:
USB_DRIVER\Win2k_XP\CDM20600.exe
For old Win98SE/Me systems, such a handy program does
unfortunately not exist. You need to install an older driver manually
After connecting the equipment.
Just execute the installation program. There will just be a short note
That the driver has been installed and that’s all.
Now you can connect the USB interface to the PC. PLEASE DO NOT
CONNECT TO THE ROBOT YET. Just connect to the PC via the USB
lead. Please touch the PCB of the USB interface only at the edges or
at the USB plug or at the plastic shell of the programming plug (see
safety instructions on static discharges). Please avoid touching any
of the components on the PCB, soldering points or contacts of the
IDE connector unless absolutely necessary in order to prevent static
discharges.
The previously installed driver will be used automatically for the
device without any help from your side. Under Windows XP/2k small
speech bubbles appear at the bottom above the task bar. The last
message should be “The device has been successfully installed and is ready
for use.!
If you have connected the USB interface before the
installation (or use Win98/Me) – it doesn’t matter so much.
Windows will ask you for a driver. This installation method is also

49
possible. The driver is also in unpacked format on the CD.
If you are in this situation, a dialogue appears (under Windows) to
install the new driver. You have to indicate the path to the system
where it can find the driver. Under Windows 2k/XP you need to
select first the manual installation and not to look for a web service.
On our CD the driver is in the above mentioned directories.
So, just indicate the directory for your Windows version and eventually
A few other files that the system doesn’t find automatically
(they are all in the directories mentioned below) ...
Under Windows XP and later versions there is often a message that
the FTDI drivers are not signed/verified by Microsoft (normally not
here as the FTDI drivers are signed). This is irrelevant and can be
confirmed without any problem.
Operation
For 32 and 64 Bit Windows 7, XP, Vista, Server 2003 and
2000 systems:
USB_DRIVER\Win2k_XP\CDM20600.exe
For older Windows 98SE/Me systems:
USB_DRIVER\Win98SE_ME\FTDI_D2XX\
After the installation of the driver a re-start of the computer may be
necessary
with older versions like Win98SE. PLEASE NOTE: Under Win98/Me only
one of the two drivers is working: Either Virtual Comport or the D2XX driver
from FTDI! Unfortunately there is no driver that offers both functions.
Normally
there is no virtual comport available as the RobotLoader under Windows
uses as a standard the D2XX drivers (you can change this - please contact
our support team).
Check the Connection of the Device
To check if the device has been correctly installed you can use the
device manager as an alternative to the RobotLoader under Windows
XP, 2003 and 2000: Right click on My Computer --> Properties

50
--> Hardware --> Device manager
OR alternatively: Start --> Settings --> Control panel --> Performance
And Maintenance --> System --> Hardware --> Device
manager and check there in the tree view under “Connections (COM
and LPT)” if you find a “USB-Serial Port (COMX)” - the X replacing
the port number, or look under “USB serial bus controller“ for a
“USB Serial Converter“. Driver must be 10/22/09 and 2.6.0.0

Testing the USB Interface and starting the


RobotLoader
The next step is a test of the program upload via the USB interface.
Connect the USB interface to the PC (always connect the PC first)
and the other end of the 10-pin ribbon cable to the “PROG/UART”
connector on the Robot Arm. (Robot Arm MUST BE SWITCHED OFF)
The 10-pin ribbon cable is mechanically protected against polarity
inversion. As long as it is not forced, it can’t be connected the wrong
way round.

Then start the RobotLoader.Depending on which language you have


selected, the menus might have a bit differentnames. The screen shots show
theEnglish version. Via the menu item
“Options->Preferences“ you can select under
“Language /Sprache“the required language
(English or German) and then click on OK.
Open a port – Windows

51
Select the USB port. As long as no other
USB->Serial Adaptor with FTDI controller
is connected to the PC, you will see only
one single entry that you have to select.
If more ports exist, you can identify the port via the name “Robot
USB Interface“ (or "FT232R USB UART"). Behind the port name the
programmed serial number is displayed.
If no ports are displayed, you can refresh the port list via the menu
item “RobotLoader-->Refresh Portlist

SELFTEST
The yellow voltage LED lights up when the Robot Arm is switched on.
The status LED blinks when a HEX file is uploaded.
If this worked, you can execute a small selftest program to test the
functioning of all robot systems. Please click on the button “Add” on
the bottom of the Robot Loader window and select the file
RobotArmExamples
[R680], "Example_11_Selftest\RobotArm_Selftest.hex“
in the example directory. This file contains the selftest program in
hexadecimal format - that’s why this kind of program file is called
“hex file”. The file just selected appears afterwards in the list. This
way you can add other hex files from your own programs and from
the examples programs (see screen shot where some hex files have
already been added). The Robot Loader is able to manage several
categories of hex files.
This allows you to sort the files in a clear way e.g. if several programmable

52
extension modules are mounted on the robot or different program
versions are used. The list is automatically saved at the end of the
program. Of course only the paths to the hex files are saved, not the
hex files themselves. If you work on a program, you just need to add
and select the hex file once. Then you can load the new program into
the microcontroller after every re-compiling of the program. (you can
also use the key combination [CTRL+D] or [CTRL+Y], to start the
program directly after the transfer). The path names are of course totally
different under the various operating systems. Nevertheless the
RobotLoader suits both, Windows and Linux, without any changes, as
there is a separate list for Windows and Linux.

Please select the “RobotArm_Selftest.hex“ file in the list and click on


the Upload! button on the top right just below the progress bar.
The program will now be transferred into the MEGA64 processor on
the Robot Arm. This should not take more than a few seconds (max.
5 seconds for the selftest program).
Switch to the tab (at the bottom of the window) “Terminal“ Alternatively
you can also switch to terminal via the menu item “View”.

Now you can execute the selftest and the calibration of the Robot
Arm. Press the switch Start/Stop Reset on the Robot Arm to start
the program. Later you can do this alternatively via the RobotLoader
menu --> Start or the key combination [CTRL]+[S]. However this

53
time you can test if the switch works properly.
If an error occurs in the selftest, switch the robot off immediately
and start searching for the mistake

Calibration
Start the calibration program to calibrate the robot.
To this end, please click on the button “Add” at the bottom of the
RobotLoader window and select the file RobotArmExamples [MINI],
"Example_11_Selftest\RobotArm_Selftest.hex“ in the example
directory.This file contains the selftest program in hexadecimal format. The
just selected file will appear subsequently in the list.

Bring all servomotors into centralposition so that the Robot Arm


looks like.The servomotors 2-6 areapproximately in a centralposition and
the gripper (servo 1)is almost closed or opened(depends on version).
Once the calibration (C - Calibrate) is completed, the robot canexecute the
following selftest. The result of the calibration is saved inATMEGA.

54
Calibration position

55
Keyboard Test

The set is supplied with a keyboard that can be connected to the Robot Arm.
It is a good option for simple demonstrations and allows us to practice the
control of a robot arm via a keyboard. The keyboard is fitted with 6 control
keys and 4 special keys for later extensions. If we want to test the Robot
Arm via the keyboard, we need to transfer the appropriate hex program into
the robot’s microprocessor. Please click on the button “Add” on the bottom
of the RobotLoader window and select the file RobotArmExamples,
“RobotArm_Key_ Board.hex“ in the example directory. Select the file
"RobotArm_Key_Board.hex“ in the list and press subsequently the “Upload!“
button on the top right side below the progress bar.

56
5. Select the new interface

6.Enable the checkbox “Connect”

6. Enable the checkbox “servo power”

8. Move the slider to control the servos.


If an error occured during the establishment of the connection, following
window appears. The connections must be established again (repeat steps 2-
6 and check the interface).

3.3.5 PROGRAMMING LANGUAGES

Programming the Robot Arm


Now we are gradually coming to the programming of the robot.
Setting up the source text editor
First of all, we need to set up a little development environment. The so-
called “source text” (also called “sourcecode”) for our C program must be fed
into our computer one way or the other. To this end, we will definitely not
use programs like OpenOffice or Word. As this might not be obvious for
everybody, we stress it here explicitly. They are ideally suited to write
manuals like this one, but they are totally inappropriate for programming

57
purposes. Source text is pure text without any formatting. The compiler is
not interested in font size and color...
For a human being, it is of course much clearer if some keywords or kinds
of text are automatically highlighted by colors. These functions and some
more are contained in Programmers Notepad 2 (abbeviated hereafter by
“PN2”) that is the source text editor that we will use (ATTENTION: Under
Linux you need to use another editor that offers about the same functions
as PN2. Usually, several editors are pre-installed. (e.g. kate, gedit, exmacs or
similiar)). In addition to the highlighting of keywords and others (called
“syntax highlighting”) it offers also a rudimentary project management. This
allows you to organize several source text files in projects and to display in a
list all files related to a project. Moreover you can easily retrieve programs
like the AVR-GCC in PN2 and get the programs conveniently compiled via a
menu item. Normally the AVR-GCC is a pure command line program
without graphic interface.
Open and compile an example project

58
On the left hand side are shown all example projects, on the right hand side
the source text editor (with the mentioned syntax highlighting) and at the
bottom the tools output (in this case the output of the compiler). You can
convert many other things in PN2 and it offers many useful features.

Open and compile an example project


Now all example projects are conveniently at hand if you want to refer to
them at the beginning or look for functions in the Robot Arm Library etc.
Open the first example program on top of the list (“01_Leds“ and select file
“01_Leds“) that appears on the left edge of the program window. Just double
click on “01_Leds.c“ A source text editor is displayed in a window inside the
program. An output area should appear on the bottom of the program
window of PN2. If not, you have to enable this area via the “View” menu -->
“Enable output” OR if the area is too small, increase the size by pulling the
edges with the mouse (the mouse cursor changes into a double arrow at the
upper edge of the grey area marked “output” at the bottom of the program
window...). You can take a quick look at the program that you just opened
with the source text editor but you don’t need to understand right now what
is happening exactly. However as a first info: The green text are comments
that are not part of the actual program. They are only used for
description/documentation purposes. Let’s test now if everything runs
properly and open the example projects: Select in the “File“ menu the item
“Open Project(s)“. A normal file section dialogue appears. Search the folder
“Robot Arm_Examples [R700]\“ in the folder into which you have saved the
example programs. Open the “Robot ArmExamples.ppg“ file. This is a
project group for PN2 that uploads all example programs as well as the
Robot Arm Library into

59
We will explan this in detail a bit further down (there is also a version of this
program WITHOUT comments so that you can see how short the program is
in fact. The comments inflate it a lot but are necessary for the
understanding. The uncommented version is also useful to copy the code in
your own programs). PN2 retrieves now the above mentioned “make_all.bat“
batch file. This will on its turn retrieve the program “make“. More info about
“make“ will follow later. The example program will now be compiled. The
generated hex file contains the program in the translated format for the
microcontroller and can be uploaded and executed later. The compilation
process generates a lot of temporary files (suffixes like “.o, .lss, .map, .sym,
.elf, .dep“). Just ignore them. The newly set up tool “make clean” will erase
them all. Only the hex file is of interest for us. By the way, the function
“make clean” will not erase this file.

60
After the activation of the menu item MAKE ALL, the following output
should display (below in a considerably shortened version. Some lines may
look of course a bit different):
> “make.exe” all
-------- begin --------
avr-gcc (WinAVR 20100110) 4.3.3.
Size before:
AVR Memory Usage
----------------
Device: atmega64
Program: 3074 bytes (4.7% Full)
(.text + .data + .bootloader)
Data: 68 bytes (1.7% Full)
(.data + .bss + .noinit)
EEPROM: 14 bytes (0.7% Full)
(.eeprom)
Compiling C: Robot Arm_Leds.c
avr-gcc -c -mmcu=atmega64 -I.
-gdwarf-2 -DF_CPU=16000000UL -Os -funsigned-char -funsigned-bitfields -
fpackstruct
-fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=./Robot Arm_Leds.lst -std=gnu99 -MMD -
MP -MF
.dep/Robot Arm_Leds.o.d Robot Arm_Leds.c -o Caterpillar_Leds.o
Linking: Robot Arm_Leds.elf
avr-gcc -mmcu=atmega16 -I. -gdwarf-2 -DF_CPU=16000000UL -Os -
funsigned-char -funsignedbitfields
Creating load file for Flash: Robot Arm_Leds.hex
Creating load file for EEPROM: Robot Arm_Leds.eep
avr-objcopy -j .eeprom --set-section-flags=.eeprom=”alloc,load” \
--change-section-lma .eeprom=0 --no-change-warnings -O ihex Robot
Arm_Leds.elf
Robot Arm_Leds.eep || exit 0

61
Size after:
AVR Memory Usage
----------------
Device: atmega64
Program: 3074 bytes (4.7% Full)
(.text + .data + .bootloader)
Data: 68 bytes (1.7% Full)
(.data + .bss + .noinit)
EEPROM: 14 bytes (0.7% Full)
(.eeprom)
-------- end -------->
Process Exit Code: 0
> Time Taken: 00:04
The “Process Exit Code: 0“ at the end is most important. It means that no
error occurred during compilation. If another code appears there, the
sourcecode contains an error that must be corrected before it will work. In
this case, the compiler will output various error messages that give some
more information. Please note however that the “Process Exit Code: 0“ is not
a guarantee of a fully error-free program! The compiler will not find flawed
thinking in your program and it can’t prevent the robot from running into a
wall ;-)

IMPORTANT: You might find warnings and other messages further above.
These are often very helpful and always indicate important problems! That’s
why these always need to be solved. PN2 highlights warnings and errors by
colours to make the identification easier. Even the line number is indicated
that the compiler is criticizing. If you click on the coloured error message,
PN2 skips in the relevant editor directly to the faulty line.
The indication at the end “AVR Memory Usage“ is also very useful.
----------------
Size after:
AVR Memory Usage
----------------

62
Device: atmega64
Program: 3074 bytes (4.7% Full)
(.text + .data + .bootloader)
Data: 68 bytes (1.7% Full)
(.data + .bss + .noinit)

This means for the Atmega64 processor that our program has a size of 3074
bytes and that 68 bytes of RAM are reserved for static variables (you have to
add to this the dynamic ranges for heap and stack but this would go too
far... just keep always at least a few hundred bytes of memory free). We
dispose in total of 64kb (65536 bytes) of Flash ROM and 2kb (2028 bytes) of
RAM. On the 64kb, 2k are occupied by the bootloader - so we can only use
62kb. Make always sure that the program fits into the available memory
space. (The RobotLoader doesn’t transfer the program if it is too big)

This means that the example programs above leave 60414 bytes of free
space. The relatively short example program Example_01_Leds.c is only so
big because the Robot ArmBaseLibrary is included􀀑So, don’t worry, there is
enough space for your programs and so small programs usually don’t need
so much memory space. The function library on its own needs several kb of
Flash memory but makes your job much easier and therefore your own
programs will generally be quite small compared to the Robot
ArmBaseLibrary. The just compiled program can now be uploaded via the
RobotLoader into the robot. To do that, you have to add the newly generated
hex file into the list in the RobotLoader via the button “Add”, select it and
click on the “Upload” button exactly as you did for the selftest program.
After that you can switch back to the terminal and look at the output of the
program. Of course you need to launch the execution of the program. The
easiest way to do it in the terminal is to press the key combination
[􀀑􀀑􀀑􀀑]+[S] on the keyboard or to use the menu (or just to send an “s” - after
a reset you have to wait a little bit though until the message “[READY]” is
displayed in the terminal!). The key combination [􀀑􀀑􀀑􀀑]+ [Y] is also very
convenient as the currently selected program is uploaded into the Robot
Arm and immediately started. This avoids to click on the “Flash Loader” tab

63
in the terminal or to use the menu. The example program is very simple
and is only composed of a small LED running light and some text output.

3.4 KAREL

Karel is an educational programming language, created by Richard E.


Pattis in his book “Karel the Robot: A Gentle Introduction to the Art of
Programming”. This language was first used in courses at Stanford
University. The language is named after Karel Capek,

Principles

A program in Karel is used to control a simple robot that lives in an


environment consisting of a grid of streets and avenues. Karel understands
five basic instructions:

1. move (Karel moves by one square in the direction he is facing),

2. turn left (Karel turns 90 ° left),

3. put beeper (Karel puts a beeper on the square he is standing at),

4. pick beeper (Karel lifts a beeper off the square he is standing at),

5. Turnoff (Karel switches himself off, the program ends).

3.4.1 VISUAL LANGUAGE

The software system for the Lego Mindstorms NXT robots is worthy of
mention. It is based on and written by Labview. The approach is to start
with the program rather than the data. The program is constructed by
dragging icons into the program area and adding or inserting into the

64
sequence. For each icon you then specify the parameters (data). For example
for the motor drive icon you specify which motors and by how much they
move. When the program is written it is downloaded into the Lego NXT
'brick' (microcontroller) for test.

3.4.2 SCRIPTING LANGUAGE

A scripting language is a high-level programming language that is


used to control the software application, and is interpreted in real-time, or
"translated on the fly", instead of being compiled in advance. A scripting
language may be a general-purpose programming language or it may be
limited to specific functions used to augment the running of an application
or system program. Some scripting languages, such as RoboLogix, have data
objects residing in registers, and the program flow represents the list of
instructions, or instruction set, that is used to program the robot.

3.4.3 PARALLEL LANGUAGE

Another interesting approach is worthy of mention. All robotic


applications need parallelism and event-based programming. Parallelism is
where the robot does two or more things at the same time. This requires
appropriate hardware and software. Most programming languages rely on
threads or complex abstraction classes to handle parallelism and the
complexity that comes with it, like concurrent access to shared resources.
URBI provides a higher level of abstraction by integrating parallelism and
events in the core of the language semantics.

65
3.4.4 MATLABS

The name MATLAB stands for MATrix LABoratory. MATLAB was


written originally to provide easy access to matrix software developed by the
LINPACK (linear system package) and EISPACK (Eigen system package)
projects.

MATLAB is a high-performance language for technical computing. It


integrates computation, visualization, and programming environment.
Furthermore, MATLAB is amodern programming language environment: it
has sophisticated data structures, contains built-in editing and debugging
tools, and supports object-oriented programming. These factors make
MATLAB an excellent tool for teaching and research.

GRAPHICAL INTERFACE TO MATLAB WORKSPACE.

66
MATLAB has many advantages compared to conventional computer
languages (e.g.

C, FORTRAN) for solving technical problems. MATLAB is an interactive


system whose basic data element is an array that does not require
dimensioning.

It has powerful built-in routines that enable a very wide variety of


computations. Italso have easy to use graphics commands that make the
visualization of results immediately available. Specific applications are
collected in packages referred to as toolbox. There are toolboxes for signal
processing, symbolic computation, control theory, simulation, optimization,
and several other fields of applied science and engineering.

3.4.5 C LANGUAGE

As a programming language, C is rather like Pascal or Fortran. Values


are stored in variables. Programs are structured by defining and calling
functions. Program flow is controlled using loops, if statements and function
calls. Input and output can be directed to the terminal or to files. Related
data can be stored together in arrays or structures. Of the three languages,
C allows the most precise control of input and output. C is also rather more
terse than FORTRAN or Pascal. This can result in short efficient programs,
where the programmer has made wise use of C's range of powerful
operators.

3.4.6 C++ LANGUAGE

C++ is also the language from which both Java and C# are derived.
Simply stated, to be a professional programmer implies competency in C++.
It is the gateway to all of modern programming. The purpose of this module
is to introduce C++, including its history, its design philosophy, and several
of its most important features. By far, the hardest thing about learning a

67
programming language is the fact that no element exists in isolation.
Instead, the components of the language work together. This
interrelatedness makes it difficult to discuss one aspect of C++ without
involving others. To help overcome this problem, this module provides a
brief overview of several C++ features, including the general form of a C++
program, some basic control statements, and operators. It does not go into
too many details, but rather concentrates on the general concepts common
to any C++ program.

3.4.7 VISUAL BASIC .NET

Visual Basic 2008 is a development tool that you can use to build
software applications that perform useful work and look great within a
variety of settings. Using Visual Basic 2008, you can create applications for
the Windows operating system, the Web, hand-held devices, and a host of
other environments and settings. The most important advantage of Visual
Basic is that it has been designed to increase productivity in your daily
development work especially if you need to use information in databases or
create solutions for the Internet but an important additional benefit t is that
once you become comfortable with the development environment in
Microsoft Visual Studio 2008, you can use the same tools to write programs
for Microsoft Visual C++ 2008, Microsoft Visual C# 2008, Microsoft Visual
Web Developer 2008, and other third-party tools and compilers.

Programmer and Loader


To load a HEX Robot Arm program from the PC onto the Robot Arm,
we will use the USB programming adaptor and our RobotLoader
software.
The loose USB port adaptor transmitter/receiver (transceiver)
included in the package must be connected on one side to a USB
port of the computer and on the other side to the Prog/UART port of
the Robot Arm PCB.
The program upload into the Robot Arm erases automatically the previously
existing program.

68
RobotLoader
As said, the RobotLoader has been developed to upload easily new
programs into the Robot Arm and onto all our robots (provided that
they contain a compatible bootloader).

69
There are a few very usefull additional functions integrated like a simple
terminal program

70
RACS(Robot Arm Control Software):
Robot Arm Control Software is the easiest way to program and control the
robot arm. Programming via tha RACS requires Robot Loader and the USB
Programming adaptor. Using the Robot Loader Software we need to upload
the RACS.Hex file into the flash memory of the Robot Arm Processor.

The Robot Arm can be controlled very easily via the RACS software. A link is
established between the programming/control lead and then the motors of
the Robot Arm react to the slider positions set via the mouse. The current
positions can be saved, changed and erased in the list box in the lower part
of the user interface. This generates a list containing the individual positions
that can be saved as a file on the computer by clicking on the button “Save”.
This step list can be uploaded any time.

71
RACS Wireless:
With the RACS software and the ARL WRL (APC 220) set, we can control the
robot arm wirelessly.

-Connect the RP6v2 Programmer and the APC-220 to the PC.


-Connect the other APC to the PCB of the Robotic Arm.
-Upload the Wireless Racs Hex data into the Robotic Arm using the Robot
Loader into the Flash memory of the Processor.
Select the correct COM port in the RACS software
Push the start button on the Robot Arm PCB.
Enable-Wireless-Connect and Servo Power.
Now we can control the Robot Arm Wirelessly

72
Android-Program
The ARX-BT3 set enables you to control the Robitc Arm by Bluetooth or an
Android Application.
Connection:
-Connect the Bluetooth Module to the PCB of the Robotic Arm.
-Upload the Android Hex data into the Robot Arm processor.
-Upload the Android Apk data into your smartphone or tablet.

3.5 SAFETY REQUIREMENTS

The various safety requirements which were considered while


designing the robot are decided as follows:

1. The Robot should not be programmed such that it should damage the
Battery while holding it in its gripper.

2. Correct holding position should be set as if it not set then while


movement of the Robot it may drop the Lead Batteries which can arise
a Hazardous situation in the industry.
3. The Robot should be interfaced properly with the sensors been placed
near the Belt conveyor so as to know when the belt conveyor is to be
stopped or to be started to move the batteries ahead.
4. Load carrying capacity should be maintained as it should be always
more than the default load which is to be shifted.

73
3.6 SELECTION OF PRODUCT

From the number of products available we selected the Battery


of automobiles for been used in our project. We had number of
options for the selection of product, as per our requirement the
Battery was matching the conditions. The other products which we
considered were as follows:-

BEARING:- Due to radial cross section of the bearing, it would


be little bit difficultfor the Robot Gripper to hold the bearing in
it and transport from one place to another holding it. So we
rejected this product.
BAGS OF IRON ORE: - The fines bagging system was pre-
decided but due to theweight limit we switched over the other
products.

CELL PHONE PACKING: - As due to the light and sensitive


parts of the Cellphones we also skipped it as there are chances
of causing damage to the Cell phones while holding in the
grippers of the Robots.

BOTTLE PACKING: - The radial shape of the bottles was not


able to grip inside thegrippers of the robots. Though pick and
place robots are used in bottle packing industries but they are
been designed very precisely and are costly so as the grippers
are to be such that it can hold the bottles and move towards
the decided target.

74
3.7 DESIGNING OF WORKSPACE

The designing of work space have been done by keeping following


points in mind:-

1. It should utilize Minimum time for doing the job.


2. No obstructions should be there in between the workspace
envelope.
3. Idle time should be reduced as much as possible.
4. Efficient and safe transportation of the Batteries should be
under gone.

The design of work space includes a Belt conveyor which brings the
charged batteries from the plant and it is been transferred to the
Packing centre Using the Robotic arm. There is moment of 90
degrees; the robot picks a packed Battery from the packed centre
after placing the unpacked Battery. Then the robots proceed towards
the Box packing centre where it unloads the Battery and further
moves towards the Belt conveyor to repeat the same procedure.

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

75
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 Degree Of Freedom.

FIG 5.2 Degree Of Freedom

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

77
3.9 SELECTION OF PARTS

Various components of appropriate specifications should be selected


so as to complete the fabrication and assembly of the Robot. If the
selection is not done properly then the proper working of the robot
cannot be obtained. It includes the parts like selection of actuators,
motors, sensors etc. Thus the selection procedure of various components
is also an important issue for the project work.

3.10 COMPLETION OF MODEL

Future work is to fabricate and manufacture the complete body


structure of the robot, then the assembly of all the manufactured parts are
to be done so that the required load is lifted and been transported to the
targeted place.

3.11 PROGRAMMING

Programming of the Pick and place Robot is to be done using a


suitable Programming Language. The Robot is to been interfaced with the
computer by the programmed software, which will guide the robot to do its
job for which it is been programmed. There are numbers of various
programming languages available now a days in the market, so the
appropriate programming language is to be selected for the programming
purpose and the programming is to be done.

Due to the highly proprietary nature of robot software, most manufacturers


of robot hardware also provide their own software. While this is not unusual
in other automated control systems, the lack of standardization of
programming methods for robots does pose certain challenges. For example,
there are over 30 different manufacturers of industrial robots, so there are
also 30 different robot programming languages required. Fortunately, there

78
are enough similarities between the different robots that it is possible to gain
a broad-based understanding of robot programming without having to learn
each manufacturer's proprietary language.[1]

By using a Post processor and Off-line programming (robotics) software it is


possible to handle brand-specific robot programming language from a
universal programming language, such as Python (programming language).[2]

Some examples of published robot programming languages are shown


below.

Task in plain English:

Move to P1 (a general safe position)


Move to P2 (an approach to P3)
Move to P3 (a position to pick the object)
Close gripper
Move to P4 (an approach to P5)
Move to P5 (a position to place the object)
Open gripper
Move to P1 and finish

VAL was one of the first robot ‘languages’ and was used
in Unimate robots.[3] Variants of VAL have been used by other
manufacturers including Adept Technology. Stäubli currently use VAL3.

Example program:

PROGRAM PICKPLACE
1. MOVE P1
2. MOVE P2
3. MOVE P3
4. CLOSEI 0.00
5. MOVE P4
6. MOVE P5
7. OPENI 0.00
8. MOVE P1

79
.END

Example of Stäubli VAL3 program:

begin
movej(p1,tGripper,mNomSpeed)
movej(appro(p3,trAppro),tGripper,mNomSpeed)
movel(p3,tGripper,mNomSpeed)
close(tGripper)
movej(appro(p5,trAppro),tGripper,mNomSpeed)
movel(p5,tGripper,mNomSpeed)
open(tGripper)
movej(p1,tGripper,mNomSpeed)
end

trAppro is cartesian transformation variable. If we use in with appro


command, we do not need to teach P2 and P4 point, but we dynamically
transform an approach to position of pick and place for trajectory
generation.

Epson RC+ (example for a vacuum pickup)

Function PickPlace
Jump P1
Jump P2
Jump P3
On vacuum
Wait .1
Jump P4
Jump P5
Off vacuum
Wait .1
Jump P1
Fend

80
ROBOFORTH (a language based on FORTH).

: PICKPLACE
P1
P3 GRIP WITHDRAW
P5 UNGRIP WITHDRAW
P1
;

(With Roboforth you can specify approach positions for places so you do not
need P2 and P4.)

Clearly the robot should not continue the next move until the gripper is
completely closed. Confirmation or allowed time is implicit in the above
examples of CLOSEI and GRIP whereas the On vacuum command requires a
time delay to ensure satisfactory suction.

Other robot programming languages

Visual programming language


The LEGO Mindstorms EV3 programming language is a simple language for
its users to interact with. It is a graphical user interface (GUI) written
with LabVIEW. The approach is to start with the program rather than the
data. The program is constructed by dragging icons into the program area
and adding or inserting into the sequence. For each icon you then specify
the parameters (data). For example, for the motor drive icon you specify
which motors and by how much they move. When the program is written it
is downloaded into the Lego NXT 'brick' (microcontroller) for test.

Scripting languages
A scripting language is a high-level programming language that is used to
control the software application, and is interpreted in real-time, or
"translated on the fly", instead of being compiled in advance. A scripting
language may be a general-purpose programming language or it may be
limited to specific functions used to augment the running of an application
or system program. Some scripting languages, such as RoboLogix, have data

81
objects residing in registers, and the program flow represents the list of
instructions, or instruction set, that is used to program the robot.

Programming languages in industrial robotics[4]

Robot brand Language name

ABB RAPID

Comau PDL2

Fanuc Karel

Kawasaki AS

Kuka KRL

Stäubli VAL3

Yaskawa Inform

Programming languages are generally designed for building data


structures and algorithms from scratch, while scripting languages are
intended more for connecting, or “gluing”, components and instructions
together. Consequently, the scripting language instruction set is usually a
streamlined list of program commands that are used to simplify the
programming process and provide rapid application development.

Parallel languages
Another interesting approach is worthy of mention. All robotic applications
need parallelism and event-based programming. Parallelism is where the
robot does two or more things at the same time. This requires appropriate
hardware and software. Most programming languages rely on threads or
complex abstraction classes to handle parallelism and the complexity that
comes with it, like concurrent access to shared resources. URBI provides a
higher level of abstraction by integrating parallelism and events in the core
of the language semantics.

82
whenever(face.visible)

headPan.val += camera.xfov * face.x

&

headTilt.val += camera.yfov * face.y

The above code will move the headPan and headTilt motors in parallel to

make the robot head follow the human face visible on the video taken by its
camera whenever a face is seen by the robot.

Robot application software

Regardless which language is used, the end result of robot software is to


create robotic applications that help or entertain people. Applications
include command-and-control and tasking software. Command-and-control
software includes robot control GUIs for tele-operated robots, point-n-click
command software for autonomous robots, and scheduling software for
mobile robots in factories. Tasking software includes simple drag-n-drop
interfaces for setting up delivery routes, security patrols and visitor tours; it
also includes custom programs written to deploy specific applications.
General purpose robot application software is deployed on widely distributed
robotic platforms.

Safety considerations
Programming errors represent a serious safety consideration, particularly in
large industrial robots. The power and size of industrial robots mean they
are capable of inflicting severe injury if programmed incorrectly or used in
an unsafe manner. Due to the mass and high-speeds of industrial robots, it
is always unsafe for a human to remain in the work area of the robot during
automatic operation. The system can begin motion at unexpected times and
a human will be unable to react quickly enough in many situations, even if
prepared to do so. Thus, even if the software is free of programming errors,
great care must be taken to make an industrial robot safe for human

83
workers or human interaction, such as loading or unloading parts, clearing
a part jam, or performing maintenance. The ANSI/RIA R15.06-1999
American National Standard for Industrial Robots and Robot Systems -
Safety Requirements (revision of ANSI/RIA R15.06-1992) book from the
Robotic Industries Association is the accepted standard on robot safety. This
includes guidelines for both the design of industrial robots, and the
implementation or integration and use of industrial robots on the factory
floor. Numerous safety concepts such as safety controllers, maximum speed
during a teach mode, and use of physical barriers are covered.

BLOCK DIAGRAM OF INTERFACING OF ROBOT WITH COMPUTER

3.12 INTERFACING WITH THE COMPUTER

84
In the industrial design field of human-machine interaction, the user
interface is where interaction between humans and machines occurs. The
goal of interaction between a human and a machine at the user interface is
effective operation and control of the machine, and feedback from the
machine which aids the operator in making operational decisions.

A user interface is the system by which people (users) interact with a


machine. The user interface includes hardware (physical) and software
(logical) components. User interfaces exist for various systems, and provide a
means of:

• Input, allowing the users to manipulate a system,


• Output, allowing the system to indicate the effects of the users'
manipulation

After completion of the model of the pick and place robot and selection of
programming language both should be interfaced.the interfacing of robot
and computer using the software is the most important thing in the project.
It should be interfaced using trial and error method, and then final
movement should be set using the software’s. The movement of robot should
be precisely managed causing no harm to the operator, and also the
batteries which are to be moved from one station to another.

85
CHAPTER 4

SCOPE

86
SCOPE

Industrial robots are found in a variety of locations including the


automobile and manufacturing industries. Robots cut and shape
fabricated parts, assemble machinery and inspect manufactured parts.
Some types of jobs robots do: load bricks, die cast, drill, fasten, forge,
make glass, grind, heat treat, load/unload machines, machine parts,
handle parts, measure, monitor radiation, run nuts, sort parts, clean
parts, profile objects, perform quality control, rivet, sand blast, change
tools and weld.

Outside the manufacturing world robots perform other important jobs.


They can be found in hazardous duty service, CAD/CAM design and
prototyping, maintenance jobs, fighting fires, medical applications
military warfare and on the farm.

Now a days, robots do a lot of different tasks in many fields.


And this number of jobs entrusted to robots is growing steadily.
The best way to divide the robots is by their applications.

4.1 INDUSTRIAL ROBOTS

History of industrial robotics

The earliest known industrial robot, conforming to the ISO definition was
completed by "Bill" Griffith P. Taylor in 1937 and published in Meccano
Magazine, March 1938. The crane-like device was built almost entirely
using Meccano parts, and powered by a single electric motor. Five axes of
movement were possible, including grab and grab rotation. Automation
was achieved using punched paper tape to energise solenoids, which
would facilitate the movement of the crane's control levers.
The robot could stack wooden blocks in pre-programmed patterns. The
number of motor revolutions required for each desired movement was
first plotted on graph paper. This information was then transferred to the

87
paper tape, which was also driven by the robot's single motor. Chris
Shute built a complete replica of the robot in 1997.

George Devol applied for the first robotics patents in 1954 (granted in
1961). The first company to produce a robot was Unimation, founded by
Devol and Joseph F. Engelberger in 1956. Unimation robots were also
called programmable transfer machines since their main use at first was
to transfer objects from one point to another, less than a dozen feet or so
apart. They used hydraulic actuators and were programmed
in joint coordinates, i.e. the angles of the various joints were stored
during a teaching phase and replayed in operation. They were accurate to
within 1/10,000 of an inch (note: although accuracy is not an appropriate
measure for robots, usually evaluated in terms of repeatability - see later).
Unimation later licensed their technology to Kawasaki Heavy
Industries and GKN, manufacturing Unimates in Japan and England
respectively. For some time Unimation's only competitor was Cincinnati
Milacron Inc. of Ohio. This changed radically in the late 1970s when
several big Japanese conglomerates began producing similar industrial
robots.

In 1969 Victor Scheinman at Stanford University invented the Stanford


arm, an all-electric, 6-axis articulated robot designed to permit an arm
solution. This allowed it accurately to follow arbitrary paths in space and
widened the potential use of the robot to more sophisticated applications
such as assembly and welding. Scheinman then designed a second arm
for the MIT AI Lab, called the "MIT arm." Scheinman, after receiving a
fellowship from Unimation to develop his designs, sold those designs to
Unimation who further developed them with support from General
Motors and later marketed it as the Programmable Universal Machine for
Assembly (PUMA).

Industrial robotics took off quite quickly in Europe, with both ABB

88
Robotics and KUKA Robotics bringing robots to the market in 1973. ABB
Robotics (formerly ASEA) introduced IRB 6, among the world's
first commercially available all electric micro-processor controlled robot.
The first two IRB 6 robots were sold to Magnusson in Sweden for grinding
and polishing pipe bends and were installed in production in January
1974. Also in 1973 KUKA Robotics built its first robot, known
as FAMULUS, also one of the first articulated robots to have six
electromechanically driven axes.

Interest in robotics increased in the late 1970s and many US companies


entered the field, including large firms like General Electric, and General
Motors (which formed joint venture FANUC Robotics with FANUC LTD of
Japan). U.S. startup companies included Automatix and Adept
Technology, Inc. At the height of the robot boom in 1984, Unimation was
acquired by Westinghouse Electric Corporation for 107 million U.S.
dollars. Westinghouse sold Unimation to Stäubli Faverges
SCA of France in 1988, which is still making articulated robots for
general industrial and cleanroom applications and even bought the
robotic division of Bosch in late 2004.

Only a few non-Japanese companies ultimately managed to survive in


this market, the major ones being: Adept Technology, Stäubli-Unimation,
the Swedish-Swiss company ABB Asea Brown Boveri,
the German company KUKA Robotics and the Italian company Comau.

fvfvg fvfs bf db df bd b db df bd fb dd b dfb df d bdf

Controlling movement
For a given robot the only parameters necessary to completely locate the
end effector (gripper, welding torch, etc.) of the robot are the angles of

89
each of the joints or displacements of the linear axes (or combinations of
the two for robot formats such as SCARA). However, there are many
different ways to define the points. The most common and most
convenient way of defining a point is to specify a Cartesian coordinate for
it, i.e. the position of the 'end effector' in mm in the X, Y and Z directions
relative to the robot's origin. In addition, depending on the types of joints
a particular robot may have, the orientation of the end effector in yaw,
pitch, and roll and the location of the tool point relative to the robot's
faceplate must also be specified. For a jointed arm these coordinates
must be converted to joint angles by the robot controller and such
conversions are known as Cartesian Transformations which may need to
be performed iteratively or recursively for a multiple axis robot. The
mathematics of the relationship between joint angles and actual spatial
coordinates is called kinematics. See robot control

Positioning by Cartesian coordinates may be done by entering the


coordinates into the system or by using a teach pendant which moves the
robot in X-Y-Z directions. It is much easier for a human operator to
visualize motions up/down, left/right, etc. than to move each joint one at
a time. When the desired position is reached it is then defined in some
way particular to the robot software in use

Motion control – for some applications, such as simple pick-and-place


assembly, the robot need merely return repeatably to a limited number of
pre-taught positions. For more sophisticated applications, such as
welding and finishing (spray painting), motion must be continuously
controlled to follow a path in space, with controlled orientation and
velocity.
Power source – some robots use electric motors, others
use hydraulic actuators. The former are faster, the latter are stronger and
advantageous in applications such as spray painting, where a spark
could set off an explosion; however, low internal air-pressurisation of the
arm can prevent ingress of flammable vapours as well as other
contaminants.

90
Drive – some robots connect electric motors to the joints via gears; others
connect the motor to the joint directly (direct drive). Using gears results in
measurable 'backlash' which is free movement in an axis. Smaller robot
arms frequently employ high speed, low torque DC motors, which
generally require high gearing ratios; this has the disadvantage of
backlash. In such cases the harmonic drive is often used.
Compliance - this is a measure of the amount in angle or distance that a
robot axis will move when a force is applied to it. Because of compliance
when a robot goes to a position carrying its maximum payload it will be at
a position slightly lower than when it is carrying no payload. Compliance
can also be responsible for overshoot when carrying high payloads in
which case acceleration would need to be reduced.
Robot programming and interfaces

Offline programming by ROBCAD

A typical well-used teach pendant with optional mouseThe setup


or programming of motions and sequences for an industrial robot is typically
taught by linking the robot controller to a laptop, desktop computer or (internal
or Internet) network.
A robot and a collection of machines or peripherals is referred to as
a workcell, or cell. A typical cell might contain a parts feeder, a molding

91
machine and a robot. The various machines are 'integrated' and
controlled by a single computer or PLC. How the robot interacts with
other machines in the cell must be programmed, both with regard to their
positions in the cell and synchronizing with them.

Software:

The computer is installed with corresponding interface software.The use


of a computer reatlysimplifies the programming process.
Specialized robot software is run either in the robot controller or in the
computer or both depending on the system design.

There are two basic entities that need to be taught (or programmed):
positional data and procedure. For example, in a task to move a screw
from a feeder to a hole the positions of the feeder and the hole must first
be taught or programmed. Secondly the procedure to get the screw from
the feeder to the hole must be programmed along with any I/O involved,
for example a signal to indicate when the screw is in the feeder ready to
be picked up. The purpose of the robot software is to facilitate both these
programming tasks.

Teaching the robot positions may be achieved a number of ways:

Positional commands The robot can be directed to the required position


using a GUI or text based commands in which the required X-Y-Z
position may be specified and edited.

Teach pendant: Robot positions can be taught via a teach pendant. This
is a handheld control and programming unit. The common features of
such units are the ability to manually send the robot to a desired
position, or "inch" or "jog" to adjust a position. They also have a means to
change the speed since a low speed is usually required for careful
positioning, or while test-running through a new or modified routine. A
large emergency stop button is usually included as well. Typically once
the robot has been programmed there is no more use for the teach
pendant.

Lead-by-the-nose: this is a technique offered by many robot


manufacturers. In this method, one user holds the robot's manipulator,

92
while another person enters a command which de-energizes the robot
causing it to go into limp. The user then moves the robot by hand to the
required positions and/or along a required path while the software logs
these positions into memory. The program can later run the robot to
these positions or along the taught path. This technique is popular for
tasks such as paint spraying.

Offline programming is where the entire cell, the robot and all the
machines or instruments in the workspace are mapped graphically. The
robot can then be moved on screen and the process simulated. A robotics
simulator is used to create embedded applications for a robot, without
depending on the physical operation of the robot arm and end effector.
The advantages of robotics simulation is that it saves time in the design of
robotics applications. It can also increase the level of safety associated
with robotic equipment since various "what if" scenarios can be tried and
tested before the system is activated. Robot simulation software provides
a platform to teach, test, run, and debug programs that have been written
in a variety of programming languages.

RoboLogix Robotics Simulator.


Robot simulation tools allow for robotics programs to be conveniently
written and debugged off-line with the final version of the program tested
on an actual robot. The ability to preview the behavior of a robotic system
in a virtual world allows for a variety of mechanisms, devices,
configurations and controllers to be tried and tested before being applied
to a "real world" system. Robotics simulators have the ability to provide
real-time computing of the simulated motion of an industrial robot using
both geometric modeling and kinematics modeling.

Others In addition, machine operators often use user interface devices,


typically touchscreen units, which serve as the operator control panel.

93
The operator can switch from program to program, make adjustments
within a program and also operate a host of peripheral devices that may
be integrated within the same robotic system. These include end effectors,
feeders that supply components to the robot, conveyor belts, emergency
stop controls, machine vision systems, safety interlock systems, bar
code printers and an almost infinite array of other industrial devices
which are accessed and controlled via the operator control panel.

The teach pendant or PC is usually disconnected after programming and


the robot then runs on the program that has been installed in
its controller. However a computer is often used to 'supervise' the robot
and any peripherals, or to provide additional storage for access to
numerous complex paths and routines.

4.2 MOBILE ROBOTS:


A mobile robot is an automatic machine that is capable of locomotion.

A spying robot is an example of a mobile robot capable of movement in a


given environment.
Mobile robots have the capability to move around in their environment
and are not fixed to one physical location. Mobile robots can be
"autonomous" (AMR - autonomous mobile robot) which means they are
capable of navigating an uncontrolled environment without the need for
physical or electro-mechanical guidance devices. Alternatively, mobile
robots can rely on guidance devices that allow them to travel a pre-
defined navigation route in relatively controlled space (AGV - autonomous
guided vehicle). By contrast, industrial robots are usually more-or-less
stationary, consisting of a jointed arm (multi-linked manipulator)

94
and gripper assembly (or end effector), attached to a fixed surface.

Mobile robots have become more commonplace in commercial and


industrial settings. Hospitals have been using autonomous mobile robots
to move materials for many years. Warehouses have installed mobile
robotic systems to efficiently move materials from stocking shelves to
order fulfillment zones. Mobile robots are also a major focus of current
research and almost every major university has one or more labs that
focus on mobile robot research. Mobile robots are also found in
industrial, military and security settings. Domestic robots are consumer
products, including entertainment robots and those that perform certain
household tasks such as vacuuming or gardening.

The components of a mobile robot are a controller, control software,


sensors and actuators. The controller is generally a microprocessor,
embedded microcontroller or a personal computer (PC). Mobile control
software can be either assembly level language or high-level languages
such as C, C++, Pascal, Fortran or special real-time software. The sensors
used are dependent upon the requirements of the robot. The
requirements could be dead reckoning, tactile and proximity sensing,
triangulation ranging, collision avoidance, position location and other
specific applications.

Classification
Mobile robots may be classified by:

 The environment in which they travel:


Land or home robots are usually referred to as Unmanned Ground
Vehicles (UGVs). They are most commonly wheeled or tracked, but also
include legged robots with two or more legs (humanoid, or resembling
animals or insects).
 Delivery & Transportation robots can move materials and supplies
through a work environment
 Aerial robots are usually referred to as Unmanned Aerial
Vehicles (UAVs)
 Underwater robots are usually called autonomous underwater

95
vehicles (AUVs)
 Polar robots, designed to navigate icy, crevasse filled environments
 The device they use to move, mainly:
 Legged robot : human-like legs (i.e. an android) or animal-like legs.
 Wheeled robot.
 Tracks.

Mobile robot navigation


There are many types of mobile robot navigation:
Manual remote or tele-op

A manually teleoperated robot is totally under control of a driver with a


joystick or other control device. The device may be plugged directly into
the robot, may be a wireless joystick, or may be an accessory to a wireless
computer or other controller. A tele-op'd robot is typically used to keep
the operator out of harm's way. Examples of manual remote robots
include Robotics Design's ANATROLLER ARI-100 and ARI-50, Foster-
Miller's Talon, iRobot's PackBot, and KumoTek's MK-705 Roosterbot.

Guarded tele-op

A guarded tele-op robot has the ability to sense and avoid obstacles but
will otherwise navigate as driven, like a robot under manual tele-op. Few
if any mobile robots offer only guarded tele-op. (See Sliding Autonomy
below.)

Line-following Car
Some of the earliest Automated Guided Vehicles (AGVs) were line
following mobile robots. They might follow a visual line painted or
embedded in the floor or ceiling or an electrical wire in the floor. Most of
these robots operated a simple "keep the line in the center sensor"
algorithm. They could not circumnavigate obstacles; they just stopped
and waited when something blocked their path. Many examples of such
vehicles are still sold, by Transbotics, FMC, Egemin, HK Systems and
many other companies. These types of robots are still widely popular in
well known Robotic societies as a first step towards learning nooks and

96
corners of robotics.

Autonomously randomized robot


Autonomous robots with random motion basically bounce off walls,
whether those walls are sensed

Autonomously guided robot

Robot developers use ready-made autonomous bases and software to


design robot applications quickly. Shells shaped like people or cartoon
characters may cover the base to disguise it. Courtesy of MobileRobots
Inc
An autonomously guided robot knows at least some information about
where it is and how to reach various goals and or waypoints along the
way. "Localization" or knowledge of its current location, is calculated by
one or more means, using sensors such motor encoders,
vision, Stereopsis, lasers and global positioning systems. Positioning
systems often use triangulation, relative position and/or Monte-
Carlo/Markov localization to determine the location and orientation of the
platform, from which it can plan a path to its next waypoint or goal. It can
gather sensor readings that are time- and location-stamped. Such robots
are often part of the wireless enterprise network, interfaced with other
sensing and control systems in the building. For instance,
the PatrolBot security robot responds to alarms, operates elevators and
notifies the command center when an incident arises. Other
autonomously guided robots include the SpeciMinder and the TUG
delivery robots for the hospital. In 2013, autonomous robots capable of

97
finding sunlight and water for potted plants were created by
artist Elizabeth Demaray in collaboration with engineer Dr. Qingze Zou,
biologist Dr. Simeon Kotchomi, and computer scientist Dr. Ahmed
Elgammal.

4.3 AGRICULTURE ROBOTS:

Agriculturalrobots or agbot isa robot deployed for agricultural purposes.


The main area of application of robots in agriculture today is at
the harvesting stage. A possible emerging application of robots
or drones is for weed control.
General

Fruit picking robots, driverless tractor / sprayer, and sheep


shearing robots are designed to replace human labor. In most cases, a lot
of factors have to be considered (e.g., the size and color of the fruit to be
picked) before the commencement of a task. Robots can be used for
other horticultural tasks such as pruning, weeding, spraying and
monitoring. Robots can also be used in livestock applications (livestock
robotics) such as automatic milking, washing and castrating. Robots like
these have many benefits for the agricultural industry, including a higher
quality of fresh produce, lower production costs, and a smaller need for
manual labor. They can also be used to automate manual tasks, such as
weed or bracken spraying, where the use of tractors and other manned
vehicles is too dangerous for the operators.

Designs

The mechanical design consists of an end effector, manipulator, and


gripper. Several factors must be considered in the design of
the manipulator, including the task, economic efficiency, and required
motions. The end effector influences the market value of the fruit and
the gripper's design is based on the crop that is being harvested.

98
End effectors
An end effector in an agricultural robot is the device found at the end of
the robotic arm, used for various agricultural operations. Several different
kinds of end effectors have been developed. In an agricultural operation
involving grapes in Japan, end effectors are used for harvesting, berry-
thinning, spraying, and bagging. Each was designed according to the
nature of the task and the shape and size of the target fruit. For instance,
the end effectors used for harvesting were designed to grasp, cut, and
push the bunches of grapes.

Berry thinning is another operation performed on the grapes, and is used


to enhance the market value of the grapes, increase the grapes' size, and
facilitate the bunching process. For berry thinning, an end effector
consists of an upper, middle, and lower part. The upper part has two
plates and a rubber that can open and close. The two plates compress the
grapes to cut off the rachis branches and extract the bunch of grapes.
The middle part contains a plate of needles, a compression spring, and
another plate which has holes spread across its surface. When the two
plates compress, the needles punch holes through the grapes. Next, the
lower part has a cutting device which can cut the bunch to standardize
its length.

For spraying, the end effector consists of a spray nozzle that is attached
to a manipulator. In practice, producers want to ensure that the chemical
liquid is evenly distributed across the bunch. Thus, the design allows for
an even distribution of the chemical by making the nozzle to move at a
constant speed while keeping distance from the target.

The final step in grape production is the bagging process. The bagging
end effector is designed with a bag feeder and two mechanical fingers. In
the bagging process, the bag feeder is composed of slits which
continuously supply bags to the fingers in an up and down motion. While
the bag is being fed to the fingers, two leaf springs that are located on the
upper end of the bag hold the bag open. The bags are produced to contain
the grapes in bunches. Once the bagging process is complete, the fingers

99
open and release the bag. This shuts the leaf springs, which seals the bag
and prevents it from opening again.

Gripper
The gripper is a grasping device that is used for harvesting the target
crop. Design of the gripper is based on simplicity, low cost, and
effectiveness. Thus, the design usually consists of two mechanical fingers
that are able to move in synchrony when performing their task. Specifics
of the design depend on the task that is being performed. For example, in
a procedure that required plants to be cut for harvesting, the gripper was
equipped with a sharp blade.

Manipulator
The manipulator allows the gripper and end effector to navigate through
their environment. The manipulator consists of four-bar parallel links
that maintain the gripper's position and height. The manipulator also can
utilize one, two, or three pneumatic
actuators. Pneumatic actuators are motors which
produce linear and rotary motion by converting compressed
air into energy. The pneumatic actuator is the most effective actuator for
agricultural robots because of its high power-weight ratio. The most cost
efficient design for the manipulator is the single actuator configuration,
yet this is the least flexible option.

Applications

Robots have many fields of application in agriculture. Some examples and


prototypes of robots include the Merlin Robot Milker, Rosphere, Harvest
Automation, Orange Harvester, lettuce bot, and weeder. One case of a
large scale use of robots in farming is the milk bot. It is widespread
among British dairy farms because of its efficiency and nonrequirement to
move. According to David Gardner (chief executive of the Royal
Agricultural Society of England), a robot can complete a complicated task
if its repetitive and the robot is allowed to sit in a single place.
Furthermore, robots that work on repetitive tasks (e.g. milking) fulfill

100
their role to a consistent and particular standard.

Another field of application is horticulture. One horticultural application


is the development of RV 100 by Harvest Automation Inc. RV 100 is
designed to transport potted plants in a greenhouse or outdoor setting.
The functions of RV100 in handling and organizing potted plants include
spacing capabilities, collection, and consolidation. The benefits of using
RV100 for this task include high placement
accuracy, autonomous outdoor and indoor function, and
reduced production costs.

101
4.4 TYPES OF ROBOTS AS PER APPLICATIONS

TELEROBOTS: Telerobotics is the area of robotics concerned with the


control of semi-autonomous robots from a distance, chiefly using Wireless
network (like Wi-Fi, Bluetooth, the Deep Space Network, and similar) or
tethered connections. It is a combination of two major
subfields, teleoperation and telepresence.
Teleoperation

Teleoperation indicates operation of a machine at a distance. It is similar in


meaning to the phrase "remote control" but is usually encountered in
research, academic and technical environments. It is most commonly
associated with robotics and mobile robots but can be applied to a whole
range of circumstances in which a device or machine is operated by a person
from a distance.

Teleoperation is the most standard term, used both in research and


technical communities, for referring to operation at a distance. This is
opposed to "telepresence", a less standard term, which might refer to a
whole range of existence or interaction that include a remote connotation.

A telemanipulator (or teleoperator) is a device that is controlled remotely


by a human operator. If such a device has the ability to perform
autonomous work, it is called a telerobot. If the device is completely
autonomous, it is called a robot. In simple cases the controlling operator's
command actions correspond directly to actions in the device controlled, as
for example in a radio controlled model aircraft or a tethered deep
submergence vehicle. Where communications delays make direct control
impractical (such as a remote planetary rover), or it is desired to reduce
operator workload (as in a remotely controlled spy or attack aircraft), the
device will not be controlled directly, instead being commanded to follow a
specified path. At increasing levels of sophistication the device may operate
somewhat independently in matters such as obstacle avoidance, also
commonly employed in planetary rovers.

102
Devices designed to allow the operator to control a robot at a distance are
sometimes called telecheric robotics.

Two major components of telerobotics and telepresence are the visual and
control applications. A remote camera provides a visual representation of the
view from the robot. Placing the robotic camera in a perspective that allows
intuitive control is a recent technique that although based in Science Fiction
(Robert A. Heinlein's Waldo 1942) has not been fruitful as the speed,
resolution and bandwidth have only recently been adequate to the task of
being able to control the robot camera in a meaningful way. Using a head
mounted display, the control of the camera can be facilitated by tracking the
head as shown in the figure below.

This only works if the user feels comfortable with the latency of the system,
the lag in the response to movements, the visual representation. Any issues
such as, inadequate resolution, latency of the video image, lag in the
mechanical and computer processing of the movement and response, and
optical distortion due to camera lens and head mounted display lenses, can
cause the user 'simulator sickness' that is exacerbated by the lack of
vestibular stimulation with visual representation of motion.

Mismatch between the users motions such as registration errors, lag in


movement response due to overfiltering, inadequate resolution for small
movements, and slow speed can contribute to these problems.

The same technology can control the robot, but then the eye–hand
coordination issues become even more pervasive through the system, and
user tension or frustration can make the system difficult to use.

Ironically, the tendency to build robots has been to minimize the degrees of
freedom because that reduces the control problems. Recent improvements in
computers has shifted the emphasis to more degrees of freedom, allowing
robotic devices that seem more intelligent and more human in their motions.
This also allows more direct teleoperation as the user can control the robot
with their own motions.

Interfaces

A telerobotic interface can be as simple as a common MMK (monitor-mouse-


keyboard) interface. While this is not immersive, it is inexpensive.

103
Telerobotics driven by internet connections are often of this type. A valuable
modification to MMK is a joystick, which provides a more intuitive
navigation scheme for planar robot movement.

Dedicated telepresence setups utilize a head mounted display with either


single or dual eye display, and an ergonomically matched interface with
joystick and related button, slider, trigger controls.

Future interfaces will merge fully immersive virtual reality interfaces and
port real-time video instead of computer-generated images. Another example
would be to use an omnidirectional treadmill with an immersive display
system so that the robot is driven by the person walking or running.
Additional modifications may include merged data displays such as Infrared
thermal imaging, real-time threat assessment, or device schematics.

Applications

Space

NASA HERRO (Human Exploration using Real-time Robotic Operations)


telerobotic exploration concept

104
With the exception of the Apollo program most space exploration has been
conducted with telerobotic space probes. Most space-based astronomy, for
example, has been conducted with telerobotic telescopes. The
Russian Lunokhod-1 mission, for example, put a remotely driven rover on
the moon, which was driven in real time (with a 2.5-second lightspeed time
delay) by human operators on the ground. Robotic planetary exploration
programs use spacecraft that are programmed by humans at ground
stations, essentially achieving a long-time-delay form of telerobotic
operation. Recent noteworthy examples include the Mars exploration
rovers (MER) and the Curiosity rover. In the case of the MER mission, the
spacecraft and the rover operated on stored programs, with the rover drivers
on the ground programming each day's operation. The International Space
Station (ISS) uses a two-armed telemanipulator called Dextre. More recently,
a humanoid robot Robonauthas been added to the space station for
telerobotic experiments.

NASA has proposed use of highly capable telerobotic systems for future
planetary exploration using human exploration from orbit. In a concept
for Mars Exploration proposed by Landis, a precursor mission to Mars could
be done in which the human vehicle brings a crew to Mars, but remains in
orbit rather than landing on the surface, while a highly capable remote robot
is operated in real time on the surface.Such a system would go beyond the
simple long time delay robotics and move to a regime of virtual telepresence
on the planet. One study of this concept, the Human Exploration using
Real-time Robotic Operations (HERRO) concept, suggested that such a
mission could be used to explore a wide variety of planetary destinations.

Telepresence and videoconferencing

105
iRobot Ava 500, an autonomous roaming telepresence robot.
The prevalence of high quality video conferencing using mobile devices,
tablets and portable computers has enabled a drastic growth in telepresence
robots to help give a better sense of remote physical presence for
communication and collaboration in the office, home, school, etc. when one
cannot be there in person. The robot avatar can move or look around at the
command of the remote person.

There have been two primary approaches that both utilize videoconferencing
on a display 1) desktop telepresence robots - typically mount a phone or
tablet on a motorized desktop stand to enable the remote person to look
around a remote environment by panning and tilting the display or 2)
drivable telepresence robots - typically contain a display (integrated or
separate phone or tablet) mounted on a roaming base. Some examples of
desktop telepresence robots include Kubi by Revolve Robotics, Galileo by
Motrr, and Swivl. Some examples of roaming telepresence robots include
Beam by Suitable Technologies, Double by Double Robotics, RP-Vita
by iRobot and InTouch Health, Anybots, Vgo, TeleMe by Mantarobot, and
Romo by Romotive. More modern roaming telepresence robots may include
an ability to operate autonomously. The robots can map out the space and
be able to avoid obstacles while driving themselves between rooms and their
docking stations.

For over 20 years, telepresence robots, also sometimes referred to as remote-


presence devices have been a vision of the tech industry. Until recently,
engineers did not have the processors, the miniature microphones, cameras
and sensors, or the cheap, fast broadband necessary to support them. But
in the last five years, a number of companies have been introducing
functional devices. As the value of skilled labor rises, these companies are
beginning to see a way to eliminate the barrier of geography between
offices. Traditional videoconferencing systems and telepresence rooms
generally offer Pan / Tilt / Zoom cameras with far end control. The ability for
the remote user to turn the device’s head and look around naturally during
a meeting is often seen as the strongest feature of a telepresence robot. For
this reason, the developers have emerged in the new category of desktop
telepresence robots that concentrate on this strongest feature to create a

106
much lower cost robot. The desktop telepresence robots, also called head
and neck Robots allow users to look around during a meeting and are small
enough to be carried from location to location, eliminating the need for
remote navigation.

Marine applications
Marine remotely operated vehicles (ROVs) are widely used to work in water
too deep or too dangerous for divers. They repair offshore oil platforms and
attach cables to sunken ships to hoist them. They are usually attached by a
tether to a control center on a surface ship. The wreck of the Titanic was
explored by an ROV, as well as by a crew-operated vessel.

Telemedicine

Medical robot
Additionally, a lot of telerobotic research is being done in the field of medical
devices, and minimally invasive surgical systems. With a robotic
surgery system, a surgeon can work inside the body through tiny holes just
big enough for the manipulator, with no need to open up the chest cavity to
allow hands inside.

Other applications
Remote manipulators are used to handle radioactive materials.

Telerobotics has been used in installation art pieces; Telegarden is an


example of a project where a robot was operated by users through the Web.

4.5 SERVICE ROBOTS: Service robots assist human beings, typically by


performing a job that is dirty, dull, distant, dangerous or repetitive,
including household chores. They typically are autonomous and/or
operated by a built-in control system, with manual override options. The
term "service robot" does not have a strict technical definition.
The International Federation of Robotics (IFR) has proposed a tentative
definition: "A service robot is a robot which operates semi- or fully
autonomously to perform services useful to the well-being of humans and
equipment, excluding manufacturing operations.

107
Types

The possible applications of robots to assist in human chores is widespread.


At present there are a few main categories that these robots fall into.

Industrial
Industrial service robots can be used to carry out simple tasks, such as
examining welding, as well as more complex, harsh-environment tasks, such
as aiding in the dismantling of nuclear power stations. Industrial
robots have been defined by the International Federation of Robotics as "an
automatically controlled, reprogrammable, multipurpose manipulator
programmable in three or more axes, which may be either fixed in place or
mobile for use in industrial automation applications".

Domestic Robot

The Roomba vacuum cleaner is one of the most popular domestic service
robots.
Domestic robots perform tasks that humans regularly perform in non-
industrial environments, like people's homes such as for cleaning floors,
mowing the lawn and pool maintenance. People with disabilities, as well as
people who are older, may soon be able to use service robots to help them
live independently. It is also possible to use robots as assistants or butlers.

Scientific
Robotic systems perform many functions such as repetitive tasks performed
in research. These range from the multiple repetitive tasks made by gene
samplers and sequencers, to systems which can almost replace the scientist
in designing and running experiments, analyzing data and even forming
hypotheses. The ADAM at the University of Aberystwyth in Wales can
"[make] logical assumptions based on information programmed into it about

108
yeast metabolism and the way proteins and genes work in other species. It
then set about proving that its predictions were correct."[5]

Autonomous scientific robots perform tasks which humans would find


difficult or impossible, from the deep sea to outer space. The Woods
Hole Sentry can descend to 4,500 metres and allows a higher payload as it
does not need a support ship or the oxygen and other facilities demanded
by human piloted vessels. Robots in space include the Mars rovers which
could carry out sampling and photography in the harsh environment of the
atmosphere on Mars.

4.6 TYPES OF ROBOTS BY LOCOMOTION & KINEMATICS

As you can understand, robot's application alone does not provide


enough information when talking about a specific robot. For example an
industrial robot - usually, when talking about industrial robots we think of
stationary robots in a work cell that do a specific task.

Rolling robots

Segway in the Robot museum in Nagoya


For simplicity, most mobile robots have four wheels or a number
of continuous tracks. Some researchers have tried to create more complex
wheeled robots with only one or two wheels. These can have certain
advantages such as greater efficiency and reduced parts, as well as allowing

109
a robot to navigate in confined places that a four-wheeled robot would not be
able to.

Two-wheeled balancing robots


Balancing robots generally use a gyroscope to detect how much a robot is
falling and then drive the wheels proportionally in the same direction, to
counterbalance the fall at hundreds of times per second, based on the
dynamics of an inverted pendulum. Many different balancing robots have
been designed. While the Segway is not commonly thought of as a robot, it
can be thought of as a component of a robot, when used as such Segway
refer to them as RMP (Robotic Mobility Platform). An example of this use has
been as NASA's Robonaut that has been mounted on a Segway.

One-wheeled balancing robots


Main article: Self-balancing unicycle
A one-wheeled balancing robot is an extension of a two-wheeled balancing
robot so that it can move in any 2D direction using a round ball as its only
wheel. Several one-wheeled balancing robots have been designed recently,
such as Carnegie Mellon University's "Ballbot" that is the approximate
height and width of a person, and Tohoku Gakuin University's
"BallIP". Because of the long, thin shape and ability to maneuver in tight
spaces, they have the potential to function better than other robots in
environments with people.

Spherical orb robots


Main article: Spherical robot
Several attempts have been made in robots that are completely inside a
spherical ball, either by spinning a weight inside the ball, or by rotating the
outer shells of the sphere. These have also been referred to as an orb bot or
a ball bot.

Six-wheeled robots
Using six wheels instead of four wheels can give better traction or grip in
outdoor terrain such as on rocky dirt or grass.Tracked robots

110
TALON military robots used by the United States Army
Tank tracks provide even more traction than a six-wheeled robot. Tracked
wheels behave as if they were made of hundreds of wheels, therefore are very
common for outdoor and military robots, where the robot must drive on very
rough terrain. However, they are difficult to use indoors such as on carpets
and smooth floors. Examples include NASA's Urban Robot "Urbie".

Walking applied to robots


Walking is a difficult and dynamic problem to solve. Several robots have
been made which can walk reliably on two legs, however, none have yet been
made which are as robust as a human. There has been much study on
human inspired walking, such as AMBER lab which was established in 2008
by the Mechanical Engineering Department at Texas A&M University. Many
other robots have been built that walk on more than two legs, due to these
robots being significantly easier to construct. Walking robots can be used for
uneven terrains, which would provide better mobility and energy efficiency
than other locomotion methods. Hybrids too have been proposed in movies
such as I, Robot, where they walk on two legs and switch to four (arms+legs)
when going to a sprint. Typically, robots on two legs can walk well on flat
floors and can occasionally walk up stairs. None can walk over rocky,
uneven terrain. Some of the methods which have been tried are:

ZMP technique

Zero moment point


The zero moment point (ZMP) is the algorithm used by robots such
as Honda's ASIMO. The robot's onboard computer tries to keep the
total inertial forces (the combination of Earth's gravity and
the acceleration and deceleration of walking), exactly opposed by the
floor reaction force (the force of the floor pushing back on the robot's foot).

111
In this way, the two forces cancel out, leaving no moment (force causing the
robot to rotate and fall over).However, this is not exactly how a human
walks, and the difference is obvious to human observers, some of whom
have pointed out that ASIMO walks as if it needs the lavatory. ASIMO's
walking algorithm is not static, and some dynamic balancing is used (see
below). However, it still requires a smooth surface to walk on.

Hopping
Several robots, built in the 1980s by Marc Raibert at the MIT Leg
Laboratory, successfully demonstrated very dynamic walking. Initially, a
robot with only one leg, and a very small foot could stay upright simply
by hopping. The movement is the same as that of a person on a pogo stick.
As the robot falls to one side, it would jump slightly in that direction, in
order to catch itself. Soon, the algorithm was generalised to two and four
legs. A bipedal robot was demonstrated running and even
performing somersaults. A quadruped was also demonstrated which
could trot, run, pace, and bound. For a full list of these robots, see the MIT
Leg Lab Robots page.

Dynamic balancing (controlled falling)


A more advanced way for a robot to walk is by using a dynamic balancing
algorithm, which is potentially more robust than the Zero Moment Point
technique, as it constantly monitors the robot's motion, and places the feet
in order to maintain stability. This technique was recently demonstrated
by Anybots' Dexter Robot, which is so stable, it can even jump. Another
example is the TU Delft Flame.

Passive dynamics
Perhaps the most promising approach utilizes passive dynamics where
the momentum of swinging limbs is used for greater efficiency. It has been
shown that totally unpowered humanoid mechanisms can walk down a
gentle slope, using only gravity to propel themselves. Using this technique, a
robot need only supply a small amount of motor power to walk along a flat
surface or a little more to walk up a hill. This technique promises to make

112
walking robots at least ten times more efficient than ZMP walkers, like
ASIMO.

Other methods of locomotion


Flying

Two robot snakes. Left one has 64 motors (with 2 degrees of freedom per
segment), the right one 10.
A modern passenger airliner is essentially a flying robot, with two humans
to manage it. The autopilot can control the plane for each stage of the
journey, including takeoff, normal flight, and even landing. Other flying
robots are uninhabited and are known as unmanned aerial vehicles (UAVs).
They can be smaller and lighter without a human pilot on board, and fly into
dangerous territory for military surveillance missions. Some can even fire on
targets under command. UAVs are also being developed which can fire on
targets automatically, without the need for a command from a human. Other
flying robots include cruise missiles, the Entomopter, and the Epson micro
helicopter robot. Robots such as the Air Penguin, Air Ray, and Air Jelly have
lighter-than-air bodies, propelled by paddles, and guided by sonar.

Snaking
Several snake robots have been successfully developed. Mimicking the way
real snakes move, these robots can navigate very confined spaces, meaning
they may one day be used to search for people trapped in collapsed
buildings.The Japanese ACM-R5 snake robot can even navigate both on
land and in water.

Skating
A small number of skating robots have been developed, one of which is a
multi-mode walking and skating device. It has four legs, with unpowered

113
wheels, which can either step or roll. Another robot, Plen, can use a
miniature skateboard or roller-skates, and skate across a desktop.

Capuchin, a climbing robot


Climbing
Several different approaches have been used to develop robots that have the
ability to climb vertical surfaces. One approach mimics the movements of a
human climber on a wall with protrusions; adjusting the center of mass and
moving each limb in turn to gain leverage. An example of this is
Capuchin, built by Dr. Ruixiang Zhang at Stanford University, California.
Another approach uses the specialized toe pad method of wall-
climbing geckoes, which can run on smooth surfaces such as vertical glass.
Examples of this approach include Wallbot and
Stickybot. China's Technology Daily reported on November 15, 2008, that
Dr. Li Hiu Yeung and his research group of New Concept Aircraft (Zhuhai)
Co., Ltd. had successfully developed a bionic gecko robot named "Speedy
Freelander". According to Dr. Li, the gecko robot could rapidly climb up and
down a variety of building walls, navigate through ground and wall fissures,
and walk upside-down on the ceiling. It was also able to adapt to the
surfaces of smooth glass, rough, sticky or dusty walls as well as various
types of metallic materials. It could also identify and circumvent obstacles
automatically. Its flexibility and speed were comparable to a natural gecko. A
third approach is to mimic the motion of a snake climbing a pole.

114
Swimming (Piscine)
It is calculated that when swimming some fish can achieve
a propulsive efficiency greater than 90%. Furthermore, they can accelerate
and maneuver far better than any man-made boat or submarine, and
produce less noise and water disturbance. Therefore, many researchers
studying underwater robots would like to copy this type of
locomotion. Notable examples are the Essex University Computer
Science Robotic Fish G9, and the Robot Tuna built by the Institute of Field
Robotics, to analyze and mathematically model thunniform motion. The
Aqua Penguin, designed and built by Festo of Germany, copies the
streamlined shape and propulsion by front "flippers" of penguins. Festo have
also built the Aqua Ray and Aqua Jelly, which emulate the locomotion of
manta ray, and jellyfish, respectively.

Robotic Fish: iSplash-II


In 2014 iSplash-II was developed by PhD student Richard James Clapham
and Prof. Huosheng Hu at Essex University. It was the first robotic fish
capable of outperforming real carangiform fish in terms of average maximum
velocity (measured in body lengths/ second) and endurance, the duration
that top speed is maintained. This build attained swimming speeds of
11.6BL/s (i.e. 3.7 m/s). The first build, iSplash-I (2014) was the first robotic
platform to apply a full-body length carangiform swimming motion which
was found to increase swimming speed by 27% over the traditional approach
of a posterior confined waveform.

115
Sailing

The autonomous sailboat robot Vaimos


Sailboat robots have also been developed in order to make measurements at
the surface of the ocean. A typical sailboat robot is Vaimos built by
IFREMER and ENSTA-Bretagne. Since the propulsion of sailboat robots uses
the wind, the energy of the batteries is only used for the computer, for the
communication and for the actuators (to tune the rudder and the sail). If the
robot is equipped with solar panels, the robot could theoretically navigate
forever. The two main competitions of sailboat robots are WRSC, which
takes place every year in Europe, and Sailboat.

4.6.1 Cartesian robot /Gantry robot:


Usedfor pick and place work, application of sealant,assembly operations,
handling machine tools and arc welding. It's a robot whose arm has three
prismatic joints, whose axes are coincident with a Cartesian coordinator.
A cartesian coordinate robot (also called linear robot) is an industrial
robot whose three principal axis of control are linear (i.e. they move in a
straight line rather than rotate) and are at right angles to each other.The
three sliding joints correspond to moving the wrist up-down,in-out,back-
forth. Among other advantages, this mechanical arrangement simplifies
the Robot control arm solution. Cartesian coordinate robots with the
horizontal member supported at both ends are sometimes called Gantry
robots; mechanically, they resemble gantry cranes, although the latter are
not generally robots. Gantry robots are often quite large.

A popular application for this type of robot is a computer numerical control


machine (CNC machine) and 3D printing. The simplest application is used in

116
milling and drawing machines where a pen or router translates across an x-
y plane while a tool is raised and lowered onto a surface to create a precise
design. Pick and place machines and plotters are also based on the principal
of the cartesian coordinate robot.

4.6.2 Cylindrical robot:

Usedfor assembly operations, handling at machine tools, spotwelding, and


handling at die-casting machines. It's a robot whose axes form a cylindrical
coordinate system.
4.6.3 Spherical/Polar robot:

Usedfor handling at machine tools, spot welding, die-casting,fettling


machines, gas welding and arc welding. It's a robot whose axes form a polar
coordinate system.
4.6.4 SCARA robot:

Usedfor pick and place work, application of sealant, assemblyoperations and


handling machine tools. It's a robot which has two parallel rotary joints to
provide compliance in a plane.

The SCARA acronym stands for Selective Compliance Assembly Robot


Arm or Selective Compliance Articulated Robot Arm.

In 1981, Sankyo Seiki, Pentel and NEC presented a completely new concept
for assembly robots. The robot was developed under the guidance of Hiroshi
Makino, a professor at the University of Yamanashi. The robot was called
Selective Compliance Assembly Robot Arm, SCARA. Its arm was rigid in the
Z-axis and pliable in the XY-axes, which allowed it to adapt to holes in the
XY-axes.

By virtue of the SCARA's parallel-axis joint layout, the arm is slightly


compliant in the X-Y direction but rigid in the 'Z' direction, hence the term:
Selective Compliant. This is advantageous for many types of assembly
operations, i.e., inserting a round pin in a round hole without binding.

117
The second attribute of the SCARA is the jointed two-link arm layout similar
to our human arms, hence the often-used term, Articulated. This feature
allows the arm to extend into confined areas and then retract or"fold up" out
of the way. This is advantageous for transferring parts from one cell to
another or for loading/ unloading process stations that are enclosed.

SCARAs are generally faster and cleaner than comparable Cartesian


robot systems. Their single pedestal mount requires a small footprint and
provides an easy, unhindered form of mounting. On the other hand, SCARAs
can be more expensive than comparable Cartesian systems and the
controlling software requires inverse kinematics for linear
interpolated moves. This software typically comes with the SCARA though
and is usually transparent to the end-user.

Most SCARA robots are based on serial architectures, which means that the
first motor should carry all other motors. There also exists a so-called
double-arm SCARA robot architecture, in which two of the motors are fixed
at the base. The first such robot was commercialized by Mitsubishi Electric.
Another example of a dual-arm SCARA robot is Mecademic's DexTAR
educational robot.

4.6.5 Articulated robot:

When people speak of industrial robots today, they are usually talking about
articulated robots. These are the robots that are most commonly in use in
factories worldwide. There are many different companies that produce
articulated robots, including FANUC, Motoman, KUKA and ABB
robotics companies.Used for assembly operations, die-casting, fettling
machines, gaswelding, arc welding and spray painting. It's a robot whose
arm has at least three rotary joints.

118
Articulated robotic systems usually have four to six axes, but they can have
up to 10. These robots have more degrees of freedom than any other robots
on the market, which gives the manufacturer more versatility and makes
them more appealing. An articulated robot can be used for dozens of
different welding, material handling, dispensing and material
removal applications

4.6.6 Parallel robot:


Oneuse is a mobile platform handling cockpit flight simulators. It's arobot
whose arms have concurrent prismatic or rotary joints.

A parallel manipulator is a mechanical system that uses several computer-


controlled serial chains to support a single platform, or end-effector.
Perhaps, the best known parallel manipulator is formed from six linear
actuators that support a movable base for devices such as flight simulators.
This device is called a Stewart platform or the Gough-Stewart platform in
recognition of the engineers who first designed and used them.[1]

Also known as parallel robots, or generalized Stewart platforms (in


the Stewart platform, the actuators are paired together on both the basis
and the platform), these systems are articulated robots that use similar
mechanisms for the movement of either the robot on its base, or one or
more manipulator arms. Their 'parallel' distinction, as opposed to a serial
manipulator, is that the end effector (or 'hand') of this linkage (or 'arm') is
connected to its base by a number of (usually three or six) separate and
independent linkages working in parallel. 'Parallel' is used here in
the computer science sense, rather than the geometrical; these linkages act
together, but it is not implied that they are aligned as parallel lines;
here parallel means that the position of the end point of each linkage is
independent of the position of the other linkages.

Design features

A parallel manipulator is designed so that each chain is usually short,


simple and can thus be rigid against unwanted movement, compared to a

119
serial manipulator. Errors in one chain's positioning are averaged in
conjunction with the others, rather than being cumulative. Each actuator
must still move within its own degree of freedom, as for a serial robot;
however in the parallel robot the off-axis flexibility of a joint is also
constrained by the effect of the other chains. It is this closed-loop stiffness
that makes the overall parallel manipulator stiff relative to its components,
unlike the serial chain that becomes progressively less rigid with more
components.

This mutual stiffening also permits simple construction: Stewart


platform hexapods chains use prismatic joint linear actuators between any-
axis universal ball joints. The ball joints are passive: simply free to move,
without actuators or brakes; their position is constrained solely by the other
chains. Delta robots have base-mounted rotary actuators that move a light,
stiff, parallelogram arm. The effector is mounted between the tips of three of
these arms and again, it may be mounted with simple ball-
joints. Static representation of a parallel robot is often akin to that of a pin-
jointed truss: the links and their actuators feel only tension or compression,
without any bending or torque, which again reduces the effects of any
flexibility to off-axis forces.

A further advantage of the parallel manipulator is that the heavy actuators


may often be centrally mounted on a single base platform, the movement of
the arm taking place through struts and joints alone. This reduction in mass
along the arm permits a lighter arm construction, thus lighter actuators and
faster movements. This centralisation of mass also reduces the robot's
overall moment of inertia, which may be an advantage for a mobile
or walking robot.

All these features result in manipulators with a wide range of motion


capability. As their speed of action is often constrained by their rigidity
rather than sheer power, they can be fast-acting, in comparison to serial
manipulators.

Applications

Major industrial applications of these devices are:

 flight simulators

120
 automobile simulators
 in work processes
 photonics / optical fiber alignment[4]
They also become more popular:

 in high speed, high-accuracy positioning with limited workspace, such as


in assembly of PCBs
 as micro manipulators mounted on the end effector of larger but
slower serial manipulators
 as high speed/high-precision milling machines
Parallel robots are usually more limited in the workspace; for instance, they
generally cannot reach around obstacles. The calculations involved in
performing a desired manipulation (forward kinematics) are also usually
more difficult and can lead to multiple solutions.

Two examples of popular parallel robots are the Stewart platform and
the Delta robot.

Anthropomorphism

Anthropomorphism is the attribution of human traits, emotions, and


intentions to non-human entities[1] and is considered to be an innate
tendency of human psychology.

Name

Anthropomorphism derives from its verb form anthropomorphize, itself


derived from the Greek ánthrōpos (ἄνθρωπος, lit. "human")
and morphē (μορφή, "form"). It is first attested in 1753, originally in
reference to the heresy of applying a human form to the Christian God.

Personification is the related attribution of human form and characteristics


to abstract concepts such as nations, emotions and natural
forces like seasons and the weather.

Both have ancient roots as storytelling and artistic devices, and most
cultures have traditional fables with anthropomorphized animals as
characters. People have also routinely attributed human emotions and
behavioural traits to wild as well as domestic animals.

121
CHAPTER 5

SELECTION OF TASK

122
5.1 TASKS
The various tasks which a pick and place robot can perform are as follows:-
5.1.1 Robot pick-and-place
The use of robots for placing products in cartons and transfer of cartons
and products between different stations in the packaging lines is very
common in all industries. High speed pick-and-place robots for placing
small items like candy and cookies in packages are often combined with a
visual observation system for identifying products.
Pick-and-place applications comprise both primary handling—putting
individual pieces of product into a tray or carton—and case packing.
Advances in materials of construction, controlling software and hardware,
vision systems and other aspects have made robots, of various types, an
increasinglyviable option for pick-and-place.
The type of robot most appropriate for a given pick-and-place application
depends on the speed required, the size of the payload and other factors.
For most applications, only one type of robot will be appropriate. But there
are many borderline applications where more than one type could be used,
and the end user (or his/her system integrator) must prioritize the factors.

One of the most significant developments in pick-and-place robotics has


been improvements in servo motor design. Today’s servo motors pack more
power into smaller sizes,maintaining or increasing output
and payloadcapacity.

Another development is refinements to motion control software and


hardware. Motion control is the essence of robotics. It’s needed to find
objects, to guide the robot arm in picking them up and releasing them, and
to coordinate with equipment upstream and down.

In the past, operating a robot would have required integration between the
robot’s motion controller and the programmable logic controllers (PLCs)
that coordinate the robot’s actions with the rest of the line. But the trend
has been to combine those functions, as much as possible, into common

123
controllers. This eliminates software coding that would otherwise have
been required to coordinate the separate controllers.
Several kinds of robots can be used for upstream pick-and-place:

• Delta-style robots that operate from overhead with three or four long, thin
arms that meet at the effector head;
• SCARA (selective compliant articulated robot arm) models, which are
fixed-base robots with three vertical-axis (horizontal-motion) rotary arms;
and

• Multi-axis articulated robots, which can have up to six axes, with joints
that can rotate in any direction.
Choosing among these three kinds of robots depends largely on speed and
payload size. (The payload includes the weight of both the product or
package and the end-of-arm tooling needed to grip it.) Generally speaking,
delta-style robots go twice as fast as SCARA robots, which in turn go twice
as fast as six-axis articulated robots. Conversely, six-axis robots can
handle the heaviest payloads, followed by SCARA robots and delta-style
models.

As with most aspects of packaging, end users want pick-and-place to run


as fast as possible. But some applications have practical limitations.
Fragile products like baked goods have to be handled gently.

Other applications have complex pattern requirements. When objects are


being deposited in single layers at a time, especially when they’re relatively
light, a delta robot arm can work fast.But in case packing or other
applications that require extra precision, delta robots may not have the
versatility to put the primary packages where they need to go Articulated
robots can work better in such applications, because they can rotate what
they’re holding and also because they can pick up entire layers of primary
packages and drop them into cases Pick-and-place applications are fertile
ground for robotic equipment.

124
Pick-and-place applications are fertile ground for robotic equipment. As
technology and other developments make such equipment increasingly
viable, end users who pick the right machines will find themselves in a
good place.

5.1.2 Handling of flexible packages

Flexible packaging material is the generic term for soft packages made of
film, foil or paper sheeting. Popular forms are stand-up pouches, bags,
sachets and envelopes. These packages are often formed, filled and sealed
in a vertical or horizontal form-fill-seal machine. The package is then finally
put into a case by top loading.

5.1.3 Cartooning machines

Cartooning machines erect boxes from flat sheets of corrugated material.


The erected boxes are then filled with products or individual cartons and
are then prepared for the palletizing process. As with most packaging
machines, vacuum cups, vacuum pumps and other pneumatic components
are an essential part of the cartooning.

125
5.1.4 Rotary cartoners

Rotary cartoner is one of the most popular types of cartooning machines.


These machines use a series of vacuum bars equipped with suction cups
that move in a continuous rotary motion. Rotary cartoners utilize a "pick-
and-carry" motion to move cartons.

FIG 5.1 PICK & PLACE ROBOT

FIG 5.2 FLEXIBLE PACKAGING

FIG 5.3 CARTONING PROCESS

FIG 5.4 ROTARY CARTONING

126
5.1.5 PALLETIZING AND DEPALLETIZING

Palletizing is the process of placing packages on a pallet alternatively


removing them from a pallet (depalletizing). Palletizing machines use
vacuum pumps, suction cups and other pneumatic components. These
machines typically pick up multiple boxes at a time and place them on a
stack (or remove them from a stack).

5.1.6 AUTOMATED PICK & PLACE ROBOTS

The use of specialized machines for high speed pick-and-place of small


items with suction cups is very common in the electronics and consumer
industries. This application is typically characterized by short cycle times,
high acceleration forces and large variations on the parts to be handled.

5.1.7 SEAL MACHINES

During the pouch/bag forming phase vacuum is often applied to transport


belts that help provide a grip on both sides of the pouch/bag material. The
vacuum belt moves the pouch material from a web roll into position to
receive the product from the filler. Holes in the belt allow vacuum to hold
the pouch while the belt is rotating and the pouch is been removed.

5.1.8 BAG OPENING

Vacuum and suction cups are used to pick and open paper and plastic
bags. Suction cups with stiffer bellows and a soft sealing lip are preferred
in these quite often high-speed applications.

127
5.2 SELECTION OF TASK

From the various tasks which can be done using the pick and place
robots we have particularly meshed the two process of picking &
placing along with pallezting process.

We have decided to pick an Automobile Battery (Dimensions


45x45x65mm. Weight 250 grams) from the conveyor.

Then placing it at the packing center, also picking a packed battery


from the packing station and moving towards the Box-packing center.

Placing of Battery at Box-packing center and again movement to the


conveyor to pick an unpacked battery.

So both the picking & placing along with the packing procedure can
be accompanied using this pick and place robot.

5.3 WHY PICK & PLACE ROBOTS

We have selected the pick and place robots for this particular process due to
the following reasons:-

Using of Human labour for the loading and unloading of the Batteries
and also for packing purpose will consume more time.

Even though Number of laborers is required more, the loading and


unloading time should include allowances if laborers are considered.

Moreover the work can be done easily using a single pick and place
robot, which is used for both loading and unloading and pallezting
purpose.

128
5.4 DEFINING WORK STATION

The work station for this operation of pick & place and pallezting is been
designed in such a way that:-

The unpacked battery coming from the belt conveyor is been sensed by a
sensor and the moment of the conveyor is been controlled by the sensor.

As one by one the battery comes, the Robot picks one battery and moves
towards the packing station, keeps the battery on the conveyor there.

Then picks the Packed Battery from there and moves towards the Box-
packing center and places the Battery for Box-packaging.

129
• Advantages

Accuracy and Pick and Place Robots:

Robots are outfitted with wide reaches and slim arms, steady
repeatability and precise tooling - all of which allows them to be
extremely accurate. This high precision capability makes them a good
match for pick and place applications.

1.Flexible Pick and Place:

One of the main advantages of robotics is flexibility. Pick and place


robots are easily programmable. They are able to accommodate
multiple changes in product shape and type. In addition, robots provide
a high level of movement flexibility.

2. Increase Consistency with Pick and Place:

Pick and place robot systems have the ability to improve product
quality and cycle time. Robotic movements are regulated, so the results
are always the same. Quality is improved because of this regularity.
Furthermore, this consistency allows the processes to take place.

3.Robots are Space-Efficient:

Because they are designed with compact bases, pick and place robots
are ideal if you are looking to conserve floor space. Robots can be
programmed to move within strict work envelope limits - leading to
even better use of space.

130
4.Robots Maximize Safety:

Pick and place applications can be physically demanding. They are labor-
intensive, repetitive, and monotonous. Depending on the weight and size of
a part, moving it from one place to another can be very demanding work.
Pick and place robots are unaffected by the stresses of the application. They
are able to work without taking breaks or making mistakes.

5.Save with Pick and Place Robots:

Incorporating pick and place robots can effectively cut your costs. Robotic
precision and reliability allow for less wasted material and more efficient use
of time. Plus, the initial investment in robots is quickly recouped - making
pick and place robots an extremely cost-effective solution.

131
Chapter 6

LIMITATIONS

132
 The Disadvantages of Industrial Robots:

1. Expense:

The initial investment to integrated automated robotics into


your business is

Significant, especially when business owners are limiting their


purchases to new robotic equipment. The cost of robotic
automation should be calculated in light of a business' greater
financial budget. Regular maintenance needs can have a
financial toll as well.

2. ROI:

Incorporating industrial robots does not guarantee results.


Without planning, companies can have difficulty achieving their
goals.

3. Expertise:

Employees will require training program and interact with the


new robotic equipment. This normally takes time and financial
output.

4. Safety:

Robots may protect workers from some hazards, but in the meantime,
their very presence can create other safety problems. These new dangers
must be taken into consideration.

133
Robot By Application

1. Material handling

2. packaging

3. Wrapping

4. As a welder/ curterand many more applications.

134
Estimation

Sr
no Name Nos Rate Total

1. Base plate 1 200 200

2. Aluminum angels 25mm 5mtr 150 750

3. Aluminum flat 25mm 3mtr 150 450

4. Gear motors 4 500 2000

5. Worm gear 4 100 400

6. Wire 10mtr 50 500

7. Switch for motor 4 50 200

8. Power supply / battery 1 800 800

9. Hardware material 1 800 800

6100

135
CHAPTER 7
CONCLUSION

136
Conclusion:

This is the most efficient way to implement Robotic Arm in the Industry for
Pick and Place operations and a detailed description is provided on how to
assemble , interface, install and program the Robotic Arm and how it can be
used for other applications aswell.
The paper provides information in detail of how the Robotic Arm can be
designed and Programmed. The next step forward is how to make
autonomous Robots who can make decisions on their own without human
intervention or assistance. It can be achieved by enhancing the robot by
adding more sensors and more intelligent processors and controllers, artificial
intelligence. Efficient programming is necessary to make sure the robotic arm
performs the actions precisely without errors. The paper also shows how we
can use the Robotic Arm with a wired keyboard, wirelessly with a Bluetooth
connection.

This work has been published in the SMJ journal (Science and Math Journal)

This paper has increased our interests in robotics and autonomous design,
knowledge which will serve useful throughout our professional careers. We
feel that this form of thinking and engineering will be prevalent in the modern
world and beyond as new applications.

137
CHAPTER 8
REFERENCES

138
References:

RK Mittal and IJ Nagarath “Robotics and Control” BITS Pilani, 2003

Ratheesh Rajan “Foundation Studies for an Alternate Approach to Motion


Planning of Dynamic Systems” M.S.E., the University of Texas at Austin,
2001

Richard E. Pattis. Karel the Robot: A Gentle Introduction to the Art of


Programming. John Wiley & Sons, 1981. ISBN 0-471-59725-2.

The MathWorks Inc. MATLAB 7.0 (R14SP2). The MathWorks Inc., 2005.

Nam Sun Wang, Department of Chemical & Bimolecular Engineering,


University ofMaryland
www.robotis.com

www.asmedl.org/robotics

www.wikipedia.org/wiki/Robotics

http://www.robologix.com

www.seattlerobotics.org/encoder/aug97/basics.html

139

You might also like